【问题标题】:r rename columns that don't have a certain namer 重命名没有特定名称的列
【发布时间】: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 对象的创建给我带来了麻烦。

【问题讨论】:

    标签: r for-loop rename


    【解决方案1】:

    下面的代码怎么样?它将允许您重命名列,而不必担心它在数据框中的相对位置。您可以考虑在运行迭代重命名 for 循环后运行它。

    names(dataframe)[names(dataframe)=="oldname"] <- "newname"
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-07-28
      • 2021-10-08
      • 2014-04-26
      • 1970-01-01
      • 2017-05-21
      • 2011-03-26
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多