我想重命名一堆具有名称功能的数据帧,但不能使用lapply或loop .
我有一组数据帧名称qcew.2007,qcew.2014等...我有名称的矢量我希望所有数据帧都有 . 他们都是一样的 . 矢量是名称colnm:
colnm = c("area_fips" , "own_code", "industry_code", "agglvl_code") # example shortened
# groups has names of all data frames and goes to 2013
group =c("qcew.2007", "qcew.2008", "qcew.2009")
# using lapply
names <- lapply(group, function(d){
n = paste0(d)
names(n) = colnm
})
# using loop does not work either
for (i in seq(group)) {
names(group[[i]]) = colnm
}
这两个选项都不起作用,因为它说我正在比较长度不均匀的向量 . 我一定错过了一些明显的东西 . 谢谢
2 回答
干得好 . 您需要使用
get
,否则您要为group
中的字符向量指定名称:在这里使用
get
获取group
中每个位置中命名的对象,然后使用assign
将修改后的对象(通过更改列名修改)重新分配回该命名对象 .也: