【问题标题】:How to assign data frame column by it's string in R?如何通过它在R中的字符串分配数据框列?
【发布时间】:2016-07-27 08:03:47
【问题描述】:

假设我有三个具有这种格式的 .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))

我能做些什么来解决这个问题?

【问题讨论】:

    标签: r string dataframe assign


    【解决方案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])
    

    【讨论】:

      【解决方案2】:

      你可以使用

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

      而不是美元符号

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2022-12-05
        • 1970-01-01
        • 1970-01-01
        • 2022-01-10
        • 2021-05-30
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多