如何解决使用 fct_recode 更改箱线图中的变量名称
我正在尝试使用 fct_recode() 更改变量名称,但出现错误,有人可以建议如何修复吗?
bpdata <- read.table("Box.plot.chemical.txt",sep="\t",header=TRUE)
bpdata[,"SampleType"] <- as.factor(bpdata[,"SampleType"])
bpdata <- cbind(row.names(bpdata),bpdata)
names(bpdata)[1] <- "sample"
data <- melt(bpdata,id = 1:5,variable.name="name")
data$SampleType <- factor (data$SampleType,levels = v_factor_levels)
########################################################
#using forcats::fct_recode()
data<-data %>%
mutate(name = fct_recode(name,"Rice_P" = "Rice_P(mg/kg)","Rice_Mn" = "Rice_Mn(mg/kg)")) #"new value" = "old value"
########################################################
Error;
Warning message:
Problem with `mutate()` input `name`.
ℹ UnkNown levels in `f`: Rice_P(mg/kg),Rice_Mn(mg/kg)
ℹ Input `name` is `fct_recode(name,Rice_P = "Rice_P(mg/kg)",Rice_Mn = "Rice_Mn(mg/kg)")`.
解决方法
这完美地工作。我把旧名字放在第一位,但实际上,恰恰相反。
data<-data %>%
mutate(name = fct_recode(name,`Rice_P(mg/kg)` = "Rice_P",`Rice_Mn(mg/kg)` = "Rice_Mn" )) # `new value` = "old value
非常感谢,
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。