我有一个包含10个data.frames的列表,我只需要重命名每个data.frame的一列。要重命名的列是否。 7我认为我可以用lapply来做这个伎俩。
这是我尝试没有成功的地方:
lst <- lapply(lst, function(x) colnames(x)[7] <- 'new_name')
我认为我非常接近解决方案,但显然我错过了一些东西。 感谢
答案 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})