【发布时间】:2016-01-08 15:37:46
【问题描述】:
我正在尝试根据组将数据集分解为分位数。
我有以下代码,如果我尝试使用 seq(0,1,.5) 进行剪切,它可以正常工作,但是当我更改为 seq(0,1,.2) 时,它会给出:
cut.default 中的错误(x = fwd_quarts$v,breaks = 分位数(fwd_quarts$v, : 'breaks' 不是唯一的
尝试不同的代码,我无法摆脱错误。我该如何调整它,以便当它扩展到更大的数据集时,将创建分位数而不会出现错误?
ddf <- vector(mode="numeric", length=0)
df <- vector(mode="numeric", length=0)
g<-data.frame( g= c(1,1,1,1,2,2,2,2,3,3))
v<-data.frame( v= c(1,4,4,5,NA,2,6,NA,7,8))
df<-cbind(g,v)
df<-df[complete.cases(df), ]
ddf<-ddply(df, "g", function(fwd_quarts){
eps_quartile <- cut(x = fwd_quarts$v, breaks =quantile(fwd_quarts$v, probs = seq(0, 1, 0.5)),na.rm=TRUE, labels = FALSE, include.lowest = TRUE)
cbind(ddf,eps_quartile)
})
df<-cbind(df,fwde_quart=ddf$eps_quartile)
【问题讨论】: