繁体   English   中英

r根据条件重新编码字符串变量

[英]r recode a string variable based on a condition

我知道这可能很简单,但是我找不到解决方法。 我想根据另一个变量的条件将一个字符串变量(编码为相同的变量)重新编码,但出现错误。

一个工作示例:

    VAR1<-c("SUC1","SUC2","SUC3","SUC4","SUC5","SUC6","SUC7","SUC8","SUC9","SUC10")
    N<-c(356,415,34,1126,21,232,183,53,19,17)
    df<-data.frame(VAR1,N)
    df$VAR1[df$N<=30] <- "OTRO"

然后我收到警告:

Warning message:
In `[<-.factor`(`*tmp*`, df$N <= 30, value = c(1L, 3L, 4L, 5L, NA,  :
  invalid factor level, NA generated

我知道这不是错误,但是当我查看结果时,VAR1中所有N值小于或等于30的类别都设置为NA

我究竟做错了什么?

另一个错误:如果我从聚合中获取数据,则会遇到相同的错误,可以这样说:

agg1<-aggregate(VAR3~VAR1,df1,NROW)

df<-data.frame(agg1,stringAsFactor=FALSE)

重新编码似乎不起作用

有什么线索吗?

尝试df<-data.frame(VAR1,N, stringsAsFactors=FALSE)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM