【问题标题】:How to rename a specific column of multiple files with a list of names In r?如何用r中的名称列表重命名多个文件的特定列?
【发布时间】:2018-08-20 20:44:11
【问题描述】:

我有一个 .txt 文件的文件夹。我已通过以下命令将文件读入 R 中的列表:

filenames <- list.files("/path/to/folder")
datalist = lapply(filenames, function(x)read.table(x, header=T))

现在我想将每个文件的第 9 列更改为文件名(文件名列表是名称的向量)。

您知道如何使用 lapply() 来做到这一点吗? 谢谢!

【问题讨论】:

    标签: r list


    【解决方案1】:

    您可以通过子集colnames 并像下面的示例中那样插入来按位置更改单个列名称。

    lst <- list(data.frame('a' = c(1,2,3),
                           'b' = c(3,5,6)),
                data.frame('a' = c(1,2,3),
                           'b' = c(3,5,6)),
                data.frame('a' = c(1,2,3),
                           'b' = c(3,5,6)))
    
    lapply(lst, function(item) {
        colnames(item)[2] <- 'cat'   # This would be 9 if you wanted the 9th column
        return(item)
    })
    
    [[1]]
      a cat
    1 1   3
    2 2   5
    3 3   6
    
    [[2]]
      a cat
    1 1   3
    2 2   5
    3 3   6
    
    [[3]]
      a cat
    1 1   3
    2 2   5
    3 3   6
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-04-15
      • 2015-10-23
      • 2011-10-02
      • 2022-07-28
      • 1970-01-01
      • 1970-01-01
      • 2020-12-03
      • 1970-01-01
      相关资源
      最近更新 更多