【问题标题】:Rename a column in dataframe using R使用 R 重命名数据框中的列
【发布时间】:2019-09-05 06:19:04
【问题描述】:

我想重命名数据框中的列。虽然我在 dplyr 下使用了一个随时可用的简单重命名功能,但我收到如下所示的错误消息。不知道是什么错误。你能帮帮我吗?

我有多个列,但我只想将“operator_codes”重命名为“operator_concept_id”,将“value_codes”重命名为“value_concept_id”。

oper_val_concepts = function(DF){
  DF %>%
    mutate(Symbol = str_extract(.$value,"[^.\\d]*")) -> df_ope
 key <- data.frame(Symbol = c("",">","<","-","****","inv","MOD","seen"),
  operator_codes 
     =c(4172703L,4172704L,4171756L,4172703L,0L,0L,0L,0L),
  value_codes=c(45884084L,45876384L,45881666L,
         45878583L,45884086L,45884086L,45884086L,45884086L)) 
dfm <-merge(x=df_ope,y=key,by="Symbol",all.x = TRUE)
dfm %>%
   rename(operator_concept_id=operator_codes,value_concept_id=value_codes)
   #select (-Symbol)
 }

我希望输出数据框具有重命名的列标题,但我收到如上所示的错误消息。你能告诉我是什么错误吗?我不能分享这些数据,因为它是机密的。

【问题讨论】:

  • 您应用函数的DF 是否包含名为operator_codesvalue_codes 的列?
  • 试试dplyr::rename
  • 这行得通。谢谢@NelsonGon
  • @fmarm - 是的,列存在。上面建议的技巧 dplyr::rename 有效。猜猜另一个包中也有相同的功能
  • colnames(df) &lt;- c("a","b","c")

标签: r dataframe dplyr multiple-columns rename


【解决方案1】:

假设 df 是包含“operator_codes”、“value_codes”作为列的数据框的名称。您可以将这些列名称更改为新名称,如下所示:

重命名 R 中的数据框列:

colnames(df)[colnames(df)=="operator_codes"] <- "operator_concept_id"
colnames(df)[colnames(df)=="value_codes"] <- "value_concept_id"

【讨论】:

猜你喜欢
  • 1970-01-01
  • 2020-04-13
  • 1970-01-01
  • 1970-01-01
  • 2021-04-19
  • 2018-12-21
  • 2021-04-18
  • 2021-10-08
  • 1970-01-01
相关资源
最近更新 更多