【发布时间】:2016-02-22 06:17:11
【问题描述】:
我有一个 data.frame,我为每个 column.name 分配一个变量向量:
dat1 <- data.frame(a=1:5,b=1:5,c=1:5)
我想创建一个新的 data.frame,但不是单独分配每一列,而是一次分配所有列。例如,如果我想全部重命名:
dat.new <- data.frame(paste(names(dat1),'1',sep='') = dat1)
这显然行不通。有没有办法让它工作?
我知道我可以使用names() 重命名,但这实际上看起来很有用的场景是,如果组合多个共享相同 col.names 的数据集(并且我不想简单地 rbind):
dat1 <- data.frame(a=1:5,b=1:5,c=1:5)
dat2 <- data.frame(a=6:10,b=6:10,c=6:10)
dat.new <- data.frame(paste(names(dat1),'1',sep='') = dat1, paste(names(dat1),'2',sep='') = dat2)
【问题讨论】:
-
这是你想要的吗:
data.frame(setNames(dat1, paste0(names(dat1), "1")), setNames(dat2, paste0(names(dat1), "2")))
标签: r dataframe names renaming