我将尝试制作一个频率表,将值分组到有限数量的箱中。
比如说我有以下数据:
X <- c(1,2,3,4,3,9, 20)
我可以制作一个频率表,以便显示所有空单元格,类似于这样:
(factor(X, levels = c(0:max(X))))
不是显示每个可能值的频率,而是我想将大于5的值分组,以便表格上的级别为:0、1、2、3、4、5和>5
。
我该如何做?
首先,您需要转换向量,使其具有唯一的条目,然后您可以在factor()
函数中添加缺失的级别:
X <- c(1,2,3,4,3,9,20)
X <- ifelse(X>5,">5",X)
X <- factor(X,levels=c(0:5,">5"))
X [1] 1 2 3 4 3 >5 >5 级别: 0 1 2 3 4 5 >5
cut
函数,它被设计用来将连续变量分成块。x <- cut(x, c(-Inf, 0:5, Inf), labels=c(0:5, ">5"))