我有一个.txt文件文件夹。我已经通过以下命令将文件读入R中的列表中:
filenames <- list.files("/path/to/folder")
datalist = lapply(filenames, function(x)read.table(x, header=T))
现在我想将每个文件的第9列更改为文件名(文件名列表是名称的向量)。
您知道如何使用lapply()来做到这一点吗? 谢谢!
答案 0 :(得分:0)
您可以通过设置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