在 R 中使用重新编码来更改观察名称

问题描述

我第一次尝试使用汽车包装中的“重新编码”。代码看起来很简单,我想将“pm25_rank”的观察重命名为“PM2.5”,但是我不断收到错误消息,说有一个未使用的争论。

任何帮助将不胜感激!

提前致谢。

dat<-c("pm25_rank","pm25_rank","pm25_rank")

test1<-recode(dat,c("PM2.5" = "pm25_rank"))

错误:重新编码错误(dat,pm25_rank = "PM2.5") : 未使用的参数 (pm25_rank = "PM2.5")

解决方法

这会起作用。请注意,您需要 ""''

test1<-recode(dat," 'pm25_rank' = 'PM2.5' ")
,

翻转关联并去掉左侧的字符串格式。

library(dplyr)

recode(dat,pm25_rank = 'PM2.5')

# [1] "PM2.5" "PM2.5" "PM2.5" "PM2.5" "PM2.5" "PM2.5" "PM2.5" "PM2.5" "PM2.5" "PM2.5"
,

带有 sub 的选项

sub("pm(\\d)(\\d)_.*","PM\\1.\\2",dat)
,

您还可以根据文档使用命名向量重新编码:

vec <- setNames(c('PM2.5'),c('pm25_rank'))

dplyr::recode(dat,!!!vec)

如果您的代码中有更容易使用的值键,那么这可能会很方便,这样您就不必手动输入内容。