这个问题是对在R中更改数据框列表中所有列名的问题的扩展。
该帖子解决了更改data.frame的所有列名的问题。
但是如何只更改选定数量的列的名称呢?
例子:
我想只更改我的列表中每个数据框的第一列的名称:
该帖子解决了更改data.frame的所有列名的问题。
但是如何只更改选定数量的列的名称呢?
例子:
我想只更改我的列表中每个数据框的第一列的名称:
dat <- data.frame(Foo = 1:5,Bar = 1:5)
lst <- list(dat,dat)
print(lst)
[[1]]
Foo Bar
1 1 1
2 2 2
3 3 3
4 4 4
5 5 5
[[2]]
Foo Bar
1 1 1
2 2 2
3 3 3
4 4 4
5 5 5
(失败) 尝试:
lapply(1:2, function(x) names(lst[[x]])[names(lst[[x]]) == 'Foo'] <- 'New')
lapply(1:2, function(x) names(lst[[x]])[names(lst[[x]]) == 'Foo']) <- rep('New',2)
lapply(1:2, function(x) setNames(lst[[x]][names(lst[[x]]) == 'Foo'],'New'))
Foo
可能在一个数据框的第一列,但在第二个数据框的第二列等等。 - theforestecologist