我很难从预先存在的数值变量创建一个新的因子变量。我有一个数字变量 Age 与我的参与者的年龄,但想要创建一个因子变量,将参与者的年龄分为不同的类别。每当我运行我的代码时,我都会收到一个错误:
“错误:缺少参数“no”,没有默认值。”
我尝试了以下代码的不同变体,例如不带引号的新因子级别,使用 : 表示范围等。我的代码如下。
data.frame%>%
mutate(Age = ifelse(Age < 20, "0"),
ifelse(Age >= 20 & Age <= 29, "1"),
ifelse(Age >=30 & Age <= 39, "2"),
ifelse(Age >= 40 & Age <=49, "3"),
ifelse(Age >= 50 & Age <= 59, "4"),
ifelse(Age >= 60 & Age <= 69, "5"),
ifelse(Age >= 70, "6", NA))
cut()
是最简单的方法。
在基础 R 中:
Age <- seq(10,80,by=10)
cut(Age,breaks=c(-Inf,seq(20,70,by=10),Inf),
right=FALSE,
labels=as.character(0:6))
我会留给您随意嵌入mutate()
。
您的代码的问题在于您没有正确嵌套的选择:仔细将此代码段与您的代码进行比较......
Age = ifelse(Age < 20, "0",
ifelse(Age >= 20 & Age <= 29, "1",
ifelse(...,[yes],[no])))
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句