相关疑难解决方法(0)

dplyr :: mutate添加多个值

关于dplyr Github repo已经存在一些问题,至少有一个相关的SO问题,但是没有一个问题完全覆盖了我的问题 - 我想.

这是我的用例:我想计算精确的二项式置信区间

dd <- data.frame(x=c(3,4),n=c(10,11))
get_binCI <- function(x,n) {
    rbind(setNames(c(binom.test(x,n)$conf.int),c("lwr","upr")))
}
with(dd[1,],get_binCI(x,n))
##             lwr       upr
## [1,] 0.06673951 0.6524529
Run Code Online (Sandbox Code Playgroud)

我可以完成这项工作,do()但我想知道是否有一种更具表现力的方式来做到这一点(感觉mutate() 可能有一个.n参数正在讨论总结() ...)

library("dplyr")
dd %>% group_by(x,n) %>%
    do(cbind(.,get_binCI(.$x,.$n)))

## Source: local data frame [2 x 4]
## Groups: x, n
## 
##   x  n        lwr       upr
## 1 3 10 0.06673951 0.6524529
## 2 4 11 0.10926344 0.6920953
Run Code Online (Sandbox Code Playgroud)

r dplyr

29
推荐指数
5
解决办法
1万
查看次数

使用dplyr计算95%-CI的长度

上次我询问如何计算每个测量时间(周)的平均分数,对于多个受访者重复测量的变量(procras).所以我的(简化)长格式数据集看起来像下面的例子(这里有两个学生,5个时间点,没有分组变量):

studentID  week   procras
   1        0     1.4
   1        6     1.2
   1        16    1.6
   1        28    NA
   1        40    3.8
   2        0     1.4
   2        6     1.8
   2        16    2.0
   2        28    2.5
   2        40    2.8
Run Code Online (Sandbox Code Playgroud)

使用dplyr我会得到每个测量场合的平均分数

mean_data <- group_by(DataRlong, week)%>% summarise(procras = mean(procras, na.rm = TRUE))
Run Code Online (Sandbox Code Playgroud)

看起来像这样:

Source: local data frame [5 x 2]
        occ  procras
      (dbl)    (dbl)
    1     0 1.993141
    2     6 2.124020
    3    16 2.251548
    4    28 2.469658
    5    40 2.617903
Run Code Online (Sandbox Code Playgroud)

使用ggplot2,我现在可以绘制随时间的平均变化,并通过轻松调整dplyr的group_data(),我也可以获得每个子组的平均值(例如,男性和女性的每次平均得分).现在我想在mean_data表中添加一个列,其中包括每个场合平均得分95%-CIs的长度.

http://www.cookbook-r.com/Graphs/Plotting_means_and_error_bars_(ggplot2)/解释了如何获取和绘制CI,但这种方法似乎一旦我想为任何子组执行此操作就会出现问题,对吧?那么有没有办法让dplyr在mean_data中自动包含CI(基于组大小等)?之后,将新值作为CI绘制到我希望的图表中应该相当容易.谢谢.

r linechart ggplot2 confidence-interval trend

10
推荐指数
2
解决办法
9140
查看次数

标签 统计

r ×2

confidence-interval ×1

dplyr ×1

ggplot2 ×1

linechart ×1

trend ×1