2017-03-17 205 views
0

我必须每个月都运行一次R脚本,它会将一个.csv文件读入数据框并对其执行一些操作。如何创建名称存储在向量中的数据帧

这个数据帧的需要是动态的,例如名称: df_jan一月,df_feb二月等等

我创建了包含所需数据的特征向量框架名称使用粘贴()函数和Sys.Date()函数

我想要t o自动执行此代码,因此我不想在每次运行此脚本时重命名此数据帧

现在,我该如何将.csv读取到此数据框中。 当前我正在将文件加载到一个数据框中 - 'df'并使用assign()函数为其指定所需的名称,是否有更好的方法来完成相同的操作?

感谢

+2

而不是首先在CSV阅读到data.frame,然后使用分配,你可以做到这一切在一个呼叫。即'assign(“df_jan”,read.csv(...))' –

+0

是的,但是这个数据帧不会存在,名称'df_jan'被存储在一个动态创建的向量中,使用Sys.Date并粘贴功能。 我想将.csv文件读取到一个数据框中,该数据框的名称将根据当前月份每个月发生更改 – Vaibhav

+2

不清楚为什么您认为需要更改代码中data.frame的名称。这使得很难提出更好的替代方案(因为你不需要那样做)。 – Roland

回答

1
create.df <- function(path){ 
     assign(paste0("df_", format(Sys.Date(), "%b")), 
       read.csv(path), 
       envir = .GlobalEnv 
       ) 
} 

然后调用create.df与路径的.csv

+1

不要这样做。不要在全局环境中创建几个自动创建的动态命名的data.frames,您应该将它们放在一个列表中。 – Roland

+0

好的,也许我错了。 – utubun

+0

我如何在代码中引用这些数据框,例如,当使用colnames(df)函数指定colname时,我将在参数中传递什么内容? – Vaibhav

相关问题