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