gpt4 book ai didi

r - 重命名R中因子的一级

转载 作者:行者123 更新时间:2023-12-03 13:56:16 27 4
gpt4 key购买 nike

我试图在R的数据帧A中重命名因子column1的级别df。我当前的方法是:

levels(df[!is.na(df$column1) & df$column1 == 'A',]) <- 'B'

不会引发任何错误或警告,但完全无效。
B尚不存在(通过反复试验,我怀疑这很重要),因此以下(我的第一次尝试)也不起作用
df[!is.na(df$column1) & df$column1 == 'A', 'column1'] <- 'B'

谁能指导我采取正确的方法?

最佳答案

我本来建议

levels(df$column1)[levels(df$column1)=="A"] <- "B"

或使用实用程序函数 plyr::revalue:
library("plyr")
df <- transform(df,
column1=revalue(column1,c("A"="B")))
transform()是一点点不必要的糖;你可以使用 df$column1 <- revalue(df$column1(...))
为了完整起见, car::recode也可以使用,尽管我发现 plyr::revalue有点笨(因为将重新编码指定为带引号的字符串)。
car::recode(df$column1,"'A'='B'")

关于r - 重命名R中因子的一级,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29932558/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com