【问题标题】:Add prefix to specific columns of a dataframe in R [duplicate]为R中数据框的特定列添加前缀[重复]
【发布时间】:2015-07-09 21:47:46
【问题描述】:

假设你有一个这样的数据框:

df <- data.frame("1" = rep(NA,5), "2" = NA, "3" = NA, "4" = NA, "5" = NA, "6" = NA, "7" = NA, "8" = NA, "9" = NA, "10" = NA)
colnames(df) <- c(0:9)
> df
   0  1  2  3  4  5  6  7  8  9
1 NA NA NA NA NA NA NA NA NA NA
2 NA NA NA NA NA NA NA NA NA NA
3 NA NA NA NA NA NA NA NA NA NA
4 NA NA NA NA NA NA NA NA NA NA
5 NA NA NA NA NA NA NA NA NA NA

并且您想在第 2、3 和 4 列的列标题中添加前缀“d”,以便新的列标题为:

> df
   0 d1 d2 d3  4  5  6  7  8  9
1 NA NA NA NA NA NA NA NA NA NA
2 NA NA NA NA NA NA NA NA NA NA
3 NA NA NA NA NA NA NA NA NA NA
4 NA NA NA NA NA NA NA NA NA NA
5 NA NA NA NA NA NA NA NA NA NA

我尝试了之前回答的question 中关于列标题前缀的代码,但它似乎不起作用(尽管逻辑对我来说很有意义):

colnames(df[,c(2:4)]) <- paste("d", colnames(df[,c(2:4)]), sep = "")

【问题讨论】:

    标签: r dataframe


    【解决方案1】:

    试试

    colnames(df)[2:4] <- paste("d", colnames(df[,c(2:4)]), sep = "")
    

    在首先对df 进行子集化时,您最终不会编辑df 本身的列名 - 而是编辑您正在使用的这个“临时”子集的列名。不过,我相信其他人可以更专业地回答这个问题。

    【讨论】:

    • 很抱歉 7 年后的后续行动,但知道为什么使用变量子集不起作用吗?例如colnames(df)[2:ncols(df)]
    猜你喜欢
    • 2017-03-03
    • 1970-01-01
    • 2021-10-08
    • 2021-07-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-07-04
    相关资源
    最近更新 更多