我想根据此列在我的数据框上创建各种因子列: (实际文件很大,没有排序,值有更多小数)
> df
0.05
0.1
0.15
0.20
0.25
0.30
.
.
.
0.90
0.95
0.99
值介于0.05到0.99之间,我想在0.1和0.05箱中制作一个因子列,也可能是其他列。
我尝试使用ifelse
函数,如下所示:
df$bin1 <- ifelse(df$V1 < 0.1, 1 , ifelse(0.1 <= df$V1 & df$V1 < 0.2,2,ifelse(...))
虽然有效,但是对于我想要使用的其他垃圾箱来说命令很大且非常麻烦。
答案 0 :(得分:0)
一种方法是使用hist()
函数。
像这样:
hist((1:10), breaks=c(0, 2.5, 5.5, 12))
您可以设置自己的断点并对结果进行分类。如果你想在没有绘图的情况下这样做,那么这样的事情应该有效:
df$bin <- hist(df$V1, breaks=c(0, 0.05, 0.1, 0.2, 1), plot = FALSE)