如何通过R中的字符串分配数据框列?

时间:2016-07-27 08:03:47

标签: r string dataframe assign

假设我有三个.csv个文件,格式为:

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))

我该怎么做才能解决这个问题?

2 个答案:

答案 0 :(得分: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])

答案 1 :(得分:0)

你可以使用

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

而不是美元符号