2016-07-27 48 views
2

比方说,我有三个.csv文件,这种格式:如何通过它在R中的字符串分配数据帧列?

Date  Value_1 Value_2 
2015/01/01 0   9 
2015/01/02 1   1 
2015/01/03 2   7 
2015/01/04 2   8 
2015/01/05 4   6 

我要分配新列。我是想这样的代码:

Str <- c("A","B","C") 

for (i in 1:3){ 
    assign(Str[i], read.csv(paste(Str[i], "_data.csv", sep=""), header="")) 
    assign(paste(Str[i], "$Value_3", sep=""), c(1,2,3,4,5)) 
} 

但这代码只是创建一个新的变量:

assign(paste(Str[i], "$Value_3", sep=""), c(1,2,3,4,5)) 

有什么事要解决这个问题?

回答

1

一种选择是使用fread

library(data.table) 
files <- list.files("path/to/folder", "^[ABC]_data\\.csv$", full.names = TRUE) 
lst <- lapply(files, function(x) fread(x)[, Value_3 := 1:5]) 
0

可以使用的

variable.name[,"Value_3"] <- c(1,2,3,4,5) 

代替美元符号