R将数字变量转换为因子

时间:2014-11-18 20:39:04

标签: r dataframe r-factor

更新我找到了解决问题的方法,以下代码给出了正确答案

animaldata$myfac <- with(animaldata, recode(Age.Intake, "lo:0=1; 1:hi=2; else=2"))
animaldata$myfac = factor(animaldata$myfac)
levels(animaldata$myfac) <- list(young = 1, adult = 2)
table(animaldata$myfac)

young adult 
  191   282 

此问题与使用剪切

的其他问题不重复

我正在尝试将数值变量转换为基于该变量的条件的因子。但我无法这样做。

## load the librray
library(SDSFoundations) 

## load the datset
animaldata <- AnimalData

# Get age of each gender
table(animaldata$Sex , animaldata$Age.Intake)

运行以上命令会得到以下结果

           0   1   2   3   4   5   6   7   8   9  10  11  12  13  15  17
  Female  84  30  31  17  11  18   3   3   8   5   2   1   2   3   2   0
  Male   107  33  32  21  11  14  10  10   3   3   3   2   1   2   0   1

我想使用以下条件创建一个因子变量年龄 2级

If animaldata$Age.Intake < 1 then young
else adult

我尝试使用cut,但得到了正确的结果

table(cut(animaldata$Age.Intake,breaks = c(0, 1, Inf), labels = c("young", "adult")))

young adult 
   63   219 

更新2 我尝试include.lowest = TRUE,但我的结果仍然不正确。

table(cut(animaldata$Age.Intake,breaks = c(0, 1, Inf), labels = c("young", "adult"),include.lowest = TRUE))

young =254 and adult= 219

0 个答案:

没有答案