【发布时间】:2021-04-26 19:58:24
【问题描述】:
我有一个包含 5 个数据帧的列表。现在我想更改每个 data.frame 的最后一列的名称。 而且我不知道 df 中有多少列。
示例数据:
library(tidyverse)
data(mtcars)
df1 <- tail(mtcars)
df2 <- mtcars[1:5, 2:10]
df3 <- mtcars
df4 <- head(mtcars)
list <- list(df1, df2, df3, df4)
一一执行,命令如下:
colnames(list$df1)[length(list$df1)] <- "rank"
在 for 循环中,我认为该命令将是:
for (i in seq_along(list)) {
colnames(i)[length(i)] <- "rank"
}
但在这里我得到了错误:
Error in `colnames<-`(`*tmp*`, value = `*vtmp*`) :
attempt to set 'colnames' on an object with less than two dimensions
知道如何解决这个问题吗?也许通过地图命令? 这里我不知道如何包含 index/length(df) 以将 colnames-command 分配给数据框的最后一列。
感谢您的帮助 :) 凯瑟琳
【问题讨论】: