上次我询问如何计算每个测量时间(周)的平均分数,对于多个受访者重复测量的变量(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 创建简单的折线图,将数据点连接到受访者组的平均值(也可以用不同的颜色标记它们或区分它们等)我的数据是长格式的,并按如下所示排序(我如果有任何价值,也可以使用宽格式):
ID gender week class motivation
1 male 0 1 100
1 male 6 1 120
1 male 10 1 130
...
2 female 0 1 90
2 female 6 1 NA
2 female 10 1 117
...
3 male 0 2 89
3 male 6 2 112
3 male 10 2 NA
...
Run Code Online (Sandbox Code Playgroud)
基本上,每个受访者总共测量了n次,并且每个人的场合(周)都相同。一些受访者在一次或多次失踪。让我们说动机。性别、阶级和 ID 等变量不会改变,动机会。我尝试使用 ggplot2 获取折线图
## define base for the graphs and store in object 'p'
plot <- ggplot(data = DataRlong, aes(x = week, …Run Code Online (Sandbox Code Playgroud) 我正在尝试自动计算多组列的每行平均得分。例如,一组列可以代表不同尺度的项目。这些列也被系统地命名(scale_itemnumber)。
例如,下面的虚拟数据框包含三个不同比例的项目。(可能会出现未包含每个量表的所有项目的情况,此处表示为缺失的 VAR_3)。
#library(tidyverse)
set.seed(123)
df <- tibble( G_1 = sample(1:5, size = 10000, replace = TRUE),
G_2 = sample(1:5, size = 10000, replace = TRUE),
G_3 = sample(1:5, size = 10000, replace = TRUE),
MOT_1 = sample(1:5, size = 10000, replace = TRUE),
MOT_2 = sample(1:5, size = 10000, replace = TRUE),
MOT_3 = sample(1:5, size = 10000, replace = TRUE),
VAR_1 = sample(1:5, size = 10000, replace = TRUE),
VAR_2 = sample(1:5, size = 10000, replace = TRUE), …Run Code Online (Sandbox Code Playgroud)