【发布时间】:2016-11-27 22:53:03
【问题描述】:
我正在使用simplebootpackage (https://cran.r-project.org/web/packages/simpleboot/index.html) 来获取置信区间。
这是我的功能:
lb_weighted_median_dplyr <- function(x,v) {
set.seed(1234)
b <- one.boot(x, weights = v, FUN = function(x,w) matrixStats::weightedMedian(x, w = v, na.rm = TRUE), R = 100, student = FALSE)
round(perc(b, 0.025), 0)
}
该函数的作用是在我运行时计算置信区间的下限
ddply(wage_by_gender_2015, .(sex,region), summarise, FUN = lb_weighted_median_dplyr(wage, exp_region))
其中wage 是一个数字列,exp_region 是另一个包含权重的数字列。
我没有某些地区的数据,因此函数在某些地区失败并返回
Error in eval(substitute(expr), envir, enclos) : NA in probability vector
如何绕过该错误并获得 NA 作为无数据区域的下限?
同样返回NA in probability vector 的dplyr 等效方法是
grouped <- group_by(wage_by_gender_2015, sex, region)
dplyr::summarise(grouped, FUN = lb_weighted_median_dplyr(wage, exp_region))
此处的相关数据样本:http://users.dcc.uchile.cl/~mvargas/casen/wage_by_gender_2015.RData
【问题讨论】:
-
请使用
dput()提供您的数据 -
你说 dplyr,但是使用 plyr 函数...
-
什么意思?写一个 ASCII 文本
-
ddply来自 plyr -
抱歉,现在修复
标签: r dplyr plyr statistics-bootstrap