【发布时间】:2021-03-14 07:50:57
【问题描述】:
我的数据如下:
DT1 <- structure(list(Province = c(1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2,
2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3), Year = c(2000,
2000, 2000, 2001, 2001, 2001, 2002, 2002, 2002, 2000, 2000, 2000,
2001, 2001, 2001, 2002, 2002, 2002, 2000, 2000, 2000, 2001, 2001,
2001, 2002, 2002, 2002), Municipality = c("Something", "Anything",
"Nothing", "Something", "Anything", "Nothing", "Something", "Anything",
"Nothing", "Something", "Anything", "Nothing", "Something", "Anything",
"Nothing", "Something", "Anything", "Nothing", "Something", "Anything",
"Nothing", "Something", "Anything", "Nothing", "Something", "Anything",
"Nothing"), Values = c(0.59, 0.58, 0.66, 0.53, 0.94, 0.2, 0.86,
0.85, 0.99, 0.59, 0.58, 0.66, 0.53, 0.94, 0.2, 0.86, 0.85, 0.99,
0.59, 0.58, 0.66, 0.53, 0.94, 0.2, 0.86, 0.85, 0.99)), row.names = c(NA,
-27L), class = c("tbl_df", "tbl", "data.frame"))
DT1_list <- DT1%>%
group_split(Province, Year)
我想重命名所有列,使用如下向量:
colnames <- c("newname1","newname2","newname3","newname4")
for (i in DT1_list) {
names(DT1_list)[[i]] <- colnames
}
问题是names(DT1_list)[[i]] 没有给出列名而是NULL。
这样做的正确方法是什么?
编辑:
我注意到我的问题并不能很好地代表我的实际问题(我很抱歉,我没有预见到这个问题)。我的实际问题是我想重命名 4 列中的 3 列:
colnames <- c("newname1","newname2","newname3")
如果我使用提供的答案,第四列将变为NA。有没有办法让其他列保持原样?
【问题讨论】:
标签: r list syntax columnname