使用R重命名数据框中的列

时间:2019-04-15 09:32:16

标签: r dataframe dplyr multiple-columns rename

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

enter image description here

我有多列,但我只想将'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)
 }

我希望输出数据框具有重命名的列标题,但是会收到如上所示的错误消息。您能告诉我这是什么错误吗?由于机密信息,我无法共享数据。

1 个答案:

答案 0 :(得分:0)

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

重命名R中的数据框列:

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