list - 使用lapply重命名特定的data.frames列

时间:2016-08-08 10:14:05

标签: r list dataframe rename

我有一个包含10个data.frames的列表,我只需要重命名每个data.frame的一列。要重命名的列是否。 7我认为我可以用lapply来做这个伎俩。

这是我尝试没有成功的地方:

lst <- lapply(lst, function(x) colnames(x)[7] <- 'new_name') 

我认为我非常接近解决方案,但显然我错过了一些东西。 感谢

1 个答案:

答案 0 :(得分:2)

您需要使用{}并返回x

lst <- lapply(lst, function(x) {colnames(x)[7] <- 'new_name'; x}) 

lst <- lapply(lst, function(x) {
  colnames(x)[7] <- 'new_name'
  x      
})

作为可重现的示例,您可以使用

lapply(list(iris, iris), function(x) {colnames(x)[3] <- "test"; x})