我有一个连续的变量,我想把它变成一个因素。
数据是:
DCA<-c(0.14,0.14,0.16,0.16,0.27,0.27,0.07,0.07,0.41,0.41,0.00,0.00,0.33,0.33,0.11,0.11,0.64,0.64,0.28,0.28,0.02,0.02,0.43,0.43,0.24,0.24,0.08,0.08,0.00,0.00,0.64,0.64,0.07,0.07,0.16,0.16,0.24,0.24,0.26,0.26,0.64,0.64,0.22,0.22,0.03,0.03,0.03,0.03,0.35,0.35,0.35,0.35,0.37,0.37,0.37,0.37,0.22,0.22,0.00,0.00,0.33,0.33,0.19,0.19,0.33,0.33,0.33,0.33,0.02,0.02,0.36,0.36)
我知道您可以使用
快速完成此操作DCA.f<-factor(DCA)
但这会为每个唯一值创建因子。我想指定因子水平,以便水平
0,小于或等于0.10,大于0.10且小于或等于0.20,依此类推,直至大于0.50。
我认为这必须在因子函数的“级别”中指定,但我不知道如何指定上面描述的内容。
答案 0 :(得分:2)
查看cut
:
cut(DCA, c(-Inf, seq(0, .5, .1), Inf))
# [1] (0.1,0.2] (0.1,0.2] (0.1,0.2] (0.1,0.2] (0.2,0.3] (0.2,0.3] (0,0.1]
# [8] (0,0.1] (0.4,0.5] (0.4,0.5] (-Inf,0] (-Inf,0] (0.3,0.4] (0.3,0.4]
# [15] (0.1,0.2] (0.1,0.2] (0.5, Inf] (0.5, Inf] (0.2,0.3] (0.2,0.3] (0,0.1]
# [22] (0,0.1] (0.4,0.5] (0.4,0.5] (0.2,0.3] (0.2,0.3] (0,0.1] (0,0.1]
# [29] (-Inf,0] (-Inf,0] (0.5, Inf] (0.5, Inf] (0,0.1] (0,0.1] (0.1,0.2]
# [36] (0.1,0.2] (0.2,0.3] (0.2,0.3] (0.2,0.3] (0.2,0.3] (0.5, Inf] (0.5, Inf]
# [43] (0.2,0.3] (0.2,0.3] (0,0.1] (0,0.1] (0,0.1] (0,0.1] (0.3,0.4]
# [50] (0.3,0.4] (0.3,0.4] (0.3,0.4] (0.3,0.4] (0.3,0.4] (0.3,0.4] (0.3,0.4]
# [57] (0.2,0.3] (0.2,0.3] (-Inf,0] (-Inf,0] (0.3,0.4] (0.3,0.4] (0.1,0.2]
# [64] (0.1,0.2] (0.3,0.4] (0.3,0.4] (0.3,0.4] (0.3,0.4] (0,0.1] (0,0.1]
# [71] (0.3,0.4] (0.3,0.4]
# 7 Levels: (-Inf,0] (0,0.1] (0.1,0.2] (0.2,0.3] (0.3,0.4] ... (0.5, Inf]
您可能想要自定义第二个参数(“breaks
”)来表示您实际查找的中断,并查看可以传递给cut
的其他一些参数。功能