0

我的数据集可以参考这里。简而言之,我有一个名为 fit 的列,我需要为其绘制均值和置信区间。

我正在尝试使用 dplyr 函数为我的 ggplot 编写置信区间代码

data.melt$time = factor(data.melt$time, levels=paste("t", seq(0, 10), sep=""))

这是代码

summary_dat = data.melt$time  %>%
              group_by(resource, fertilizer, time) %>%
              summarise(mean_predict=mean(fitted),
                        sd_predict = sd(fitted),
                        n_predict = n(fitted)) %>%

  mutate(se = sd_predict / sqrt(n_predict),
         lower_ci = mean_predict - qt(1 - (0.05 / 2), n_predict - 1) * se_predict,
         upper_ci = mean_predict + qt(1 - (0.05 / 2), n_predict - 1) * se_predict)

但是,R 不允许我将 n_predict 编码为 n(fitted)。我也试过长度(合身)但没有运气。有任何想法吗?

4

1 回答 1

1

n()中的便利函数dplyr仅计算子集中的行数,而不是子集中的列之一的长度。它不需要争论。您想使用n_predict = n()n_predict = length(predict)

于 2017-12-12T13:25:33.493 回答