【发布时间】: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_codes和value_codes的列? -
试试
dplyr::rename。 -
这行得通。谢谢@NelsonGon
-
@fmarm - 是的,列存在。上面建议的技巧 dplyr::rename 有效。猜猜另一个包中也有相同的功能
-
colnames(df) <- c("a","b","c")
标签: r dataframe dplyr multiple-columns rename