在 R 中编码置信区间时如何使用 dplyr 获取列的长度
How to obtain length of column using dplyr when coding for confidence interval in R
我的数据集可以参考。要点,我有一个名为 fitted 的列,我需要为其绘制均值和置信区间。
我正在尝试使用 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)。我也试过 length(fitted) 但没有运气。有什么想法吗?
dplyr
中的便利函数n()
只计算子集中的行数,而不是子集中某一列的长度。它不需要参数。您想要使用 n_predict = n()
或 n_predict = length(predict)
.
我的数据集可以参考
我正在尝试使用 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)。我也试过 length(fitted) 但没有运气。有什么想法吗?
dplyr
中的便利函数n()
只计算子集中的行数,而不是子集中某一列的长度。它不需要参数。您想要使用 n_predict = n()
或 n_predict = length(predict)
.