根据R中的不同标准创建新因子列

时间:2015-01-23 12:27:30

标签: r dataframe

我想根据此列在我的数据框上创建各种因子列: (实际文件很大,没有排序,值有更多小数)

> 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(...))

虽然有效,但是对于我想要使用的其他垃圾箱来说命令很大且非常麻烦。

1 个答案:

答案 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)