[英]Specify factor levels for intervals
我有一個連續的變量,我想變成一個因素。
數據是:
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。
我認為這必須在因子函數的“級別”中指定,但我不知道如何指定我在上面描述的內容。
看看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
函數的其他一些參數。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.