尝试将一个文件夹中的多个CSV文件导入R。 CSV文件都具有相同的结构,第一行要跳过,第二行是要导入的变量名-在数据开始之后。 我想将所有CSV文件导入一个文件夹,从第一个文件的第二行获取变量名称(然后从以下CSV文件中跳过所有行1 + 2),并另外添加另一列“ ID”, CSV文件的文件名。
目前,我有: (它会跳过所有文件的前两行,并手动设置变量,但我想从第二行自动获取它们)
setwd("c:/datafolder/")
filenames <- Sys.glob("*.csv")
allData <- lapply(filenames, function(.file){
dat<-read.csv(.file, header=F,skip=2)
names(dat)<-c("variablename1",
"variablename2",
"variablename3"
)
dat$id<-as.character(.file)
dat
})
combined_data <- do.call(rbind, allData)
答案 0 :(得分:0)
我会尝试一下:
inputfilename <- "filename"
df <- read.csv(inputfilename, header = F, stringsAsFactors = F, sep = ";")
df
V1 V2 V3
1 bad row bad row bad row
2 Name Age Gender
3 John 12 M
4 Jane 20 F
names(df) <- df[2,]
df <- df[-c(1:2),]
df
Name Age Gender
3 John 12 M
4 Jane 20 F
df$ID <- inputfilename
df <- df[,c(4,1:3)]
df
ID Name Age Gender
3 filename John 12 M
4 filename Jane 20 F
此后,您可以将不同的数据帧合并为1。