我有我的計算機上的文件夾中> 50個的.csv文件。這些文件都包含相同的列標題/格式。導入很多的.csv文件到一個數據幀,並添加列基於名稱
我有代碼導入所有的.csv文件,並適當地稱爲:
path <- "~/My folder Location/"
files <- list.files(path=path, pattern="*.csv")
for(file in files)
{
perpos <- which(strsplit(file, "")[[1]]==".")
assign(
gsub(" ","",substr(file, 1, perpos-1)),
read.csv(paste(path,file,sep="")))
}
我現在有一個名爲很多的.csv文件,我更喜歡在環境中。但是,現在,我想基礎上,data.frame名字的部分,每部分data.frame中創建兩個列,然後創建一個大的data.frame
例如,如果data.frames之一是:
LeftArm_Beatrice
我希望包括:
LeftArm_Beatrice$BodyPart <- c("LeftArm")
LeftArm_Beatrice$Name <- c("Beatrice")
又如,如果data.frames之一是:
RightLeg_Sally
我希望包括:
RightLeg_Sally$BodyPart <- c("RightLeg")
RightLeg_Sally$Name <- c("Sally")
然後我想將所有這些50+數據幀合併爲一個。如果這些步驟可以包含在我的導入代碼中,那就太棒了。
謝謝!
構建語句作爲一個字符串,然後使用'的eval(語句)'其中stmt是你創建 – johnjps111
字符串是否有任何理由,你需要把這些全球環境中的數據?將它們列入清單會更安全,更易於操作。 –
沒有必要把它們都在全球環境中,我這樣做就是我發現的代碼,讓我拉他們所有的唯一理由。你有一個替代在列表中有他們?謝謝。 – user2716568