2017-03-17 45 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

相關問題