【发布时间】:2015-04-15 00:30:34
【问题描述】:
我想重命名所有列,除了一些我想按名称指定的列。这里的问题是列在数据集中的顺序不同,我想要一个通用代码。
#data is a list of the data.tables I want to rename
for (i in 1:length(data)) {
temp <- data[i]
setkeyv(get(temp), c("HDDSN","ENDDATE"))
#trying to create a list of all columns that are NOT named "some name"
orig.names <- which(names(get(temp))!=c("HDDSN","ENDDATE","PHEADNO"))
#I want to rename the columns in the format of "p+tablename+original names"
new.names <- paste(paste("p",substring(temp,5,13), sep=""), get(temp)[orig.names], sep=".")
setnames(get(temp), orig.names, new.names)
}
是 orig.names 对象的创建给我带来了麻烦。
【问题讨论】: