2
我有一个大data.frame(DF)这样转换三分位数为二进制:通过使用R(dplyr)
A B C D E
1.2 2.2 3.3 4.4 5.2
4.2 5.3 6.5 7.2 1.5
2 7 3 4 6
1 2 3 4 5
,我想通过R中使用dplyr能够创建列B的三分位数组验证码:
首先
library('dplyr')
ntile(df$B, 3)
于是,我从B列三组:
#group 1
ntile(df$B,3)==1
#group2
ntile(df$B,3)==2
#group3
ntile(df$B,3)==3
现在我想通过加入组1,2来生成二进制变量成为一个组,并且组3成为第二组。 我应用这个代码:
二
#combine group1,2
bin1 <- c((ntile(df$B,3)==1),(ntile(df$B,3)==2))
#creating the second group
bin2 <- (ntile(df$B,3)==3)
我只是想确保,如果我这样做是正确与否(在第一和第二部分)?我想知道是否有其他(更快/更容易)的方法来做到这一点?通过使用(dplyr或R中的任何其它封装)
谢谢BrodieG!这非常有用;我知道切割功能,但我决定专注于dplyr。我比较了cut和ntile的输出,我注意到它们是相似的。 – user3576287 2014-08-28 13:12:12
@ user3576287,请参阅编辑。 – BrodieG 2014-08-28 13:23:04