我是R的新手,我一直在面对这个问题。 每当我试图使十分位数或四分位数使用“dplyr”包,我十分位获得合并到更少的组。 像欲10个不同的基团,而我只得到6,4或有时只3. 我知道R期望可以组/合并小十分位数,如果它有较小的数据。 但我想避免这个问题。请帮忙! 谢谢!如何避免在R中自动合并Deciles?
代码:
mydata <- data.frame(col1= c(0,00,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,5,3,12,5,65,23,65984,21,5469,321,6,100,200,300,400,500,600,700,800,900,1000,1100,1200,1300,1400,1500,5233,18000))
DecLocations <- quantile(mydata$col1, probs = c(0.1,0.2,0.3,0.4,0.5,0.6,0.7,0.8,0.9))
mydata$decile <- findInterval(mydata$col1,c(-Inf,DecLocations, Inf))
require(dplyr)
mydata$decile<-factor(mydata$decile)
decile_grp<-group_by(mydata,decile)
decile_summ_test<-summarize(decile_grp, total_cnt=sum(col1))
decile_summ_test<-arrange(decile_summ_test, desc(decile))
View(decile_summ_test)
在这里,我只获得了第6个十分位数,因为[R融合了小十分位数。这是我在这里试图避免的。我希望获得全部10个十进制数,即使它们的数目非常小。
最小的可重复的例子? – CPak
您应该提供一个简单的数据示例来说明您的问题以及您期望的输出内容。请不要在评论中添加代码;相反,用您的代码/示例/更新编辑原始帖子。 – CPak
@CPAK现在完成了! – PerryThePlatipus