寻找 R 中多个主题变量水平的均值、标准差和标准误差

问题描述 投票:0回答:1

我试图在 32 个主题的九个不同条件下找到均值、标准差和标准差,以便我可以创建一个情节。每个主题都有一个与每个条件级别相关联的频率值。

这就是我的数据的样子

dput(condition_count)
structure(list(subj_no = structure(c(1L, 2L, 3L, 4L, 5L, 6L, 
7L, 8L, 9L, 10L, 11L, 12L, 13L, 14L, 15L, 16L, 17L, 18L, 19L, 
20L, 21L, 22L, 23L, 24L, 25L, 26L, 27L, 28L, 29L, 30L, 31L, 32L, 
1L, 2L, 3L, 4L, 5L, 6L, 7L, 8L, 9L, 10L, 11L, 12L, 13L, 14L, 
15L, 16L, 17L, 18L, 19L, 20L, 21L, 22L, 23L, 24L, 25L, 26L, 27L, 
28L, 29L, 30L, 31L, 32L, 1L, 2L, 3L, 4L, 5L, 6L, 7L, 8L, 9L, 
10L, 11L, 12L, 13L, 14L, 15L, 16L, 17L, 18L, 19L, 20L, 21L, 22L, 
23L, 24L, 25L, 26L, 27L, 28L, 29L, 30L, 31L, 32L, 1L, 2L, 3L, 
4L, 5L, 6L, 7L, 8L, 9L, 10L, 11L, 12L, 13L, 14L, 15L, 16L, 17L, 
18L, 19L, 20L, 21L, 22L, 23L, 24L, 25L, 26L, 27L, 28L, 29L, 30L, 
31L, 32L, 1L, 2L, 3L, 4L, 5L, 6L, 7L, 8L, 9L, 10L, 11L, 12L, 
13L, 14L, 15L, 16L, 17L, 18L, 19L, 20L, 21L, 22L, 23L, 24L, 25L, 
26L, 27L, 28L, 29L, 30L, 31L, 32L, 1L, 2L, 3L, 4L, 5L, 6L, 7L, 
8L, 9L, 10L, 11L, 12L, 13L, 14L, 15L, 16L, 17L, 18L, 19L, 20L, 
21L, 22L, 23L, 25L, 26L, 28L, 29L, 30L, 31L, 32L, 1L, 2L, 3L, 
4L, 5L, 6L, 7L, 8L, 9L, 10L, 11L, 12L, 13L, 14L, 15L, 16L, 17L, 
18L, 19L, 20L, 21L, 22L, 23L, 24L, 25L, 26L, 27L, 28L, 29L, 30L, 
31L, 32L, 1L, 2L, 3L, 4L, 5L, 6L, 7L, 8L, 9L, 10L, 11L, 12L, 
13L, 14L, 15L, 16L, 17L, 18L, 19L, 20L, 21L, 22L, 23L, 24L, 25L, 
26L, 27L, 28L, 29L, 30L, 31L, 32L, 1L, 2L, 3L, 4L, 5L, 6L, 7L, 
8L, 9L, 10L, 11L, 12L, 13L, 14L, 15L, 16L, 17L, 18L, 19L, 20L, 
21L, 22L, 23L, 24L, 25L, 26L, 27L, 28L, 29L, 30L, 31L, 32L), .Label = c("1", 
"2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", 
"14", "15", "16", "17", "18", "19", "20", "21", "22", "23", "24", 
"25", "26", "27", "28", "29", "30", "31", "32"), class = "factor"), 
    condition = c("A - gain", "A - gain", "A - gain", "A - gain", 
    "A - gain", "A - gain", "A - gain", "A - gain", "A - gain", 
    "A - gain", "A - gain", "A - gain", "A - gain", "A - gain", 
    "A - gain", "A - gain", "A - gain", "A - gain", "A - gain", 
    "A - gain", "A - gain", "A - gain", "A - gain", "A - gain", 
    "A - gain", "A - gain", "A - gain", "A - gain", "A - gain", 
    "A - gain", "A - gain", "A - gain", "A - loss", "A - loss", 
    "A - loss", "A - loss", "A - loss", "A - loss", "A - loss", 
    "A - loss", "A - loss", "A - loss", "A - loss", "A - loss", 
    "A - loss", "A - loss", "A - loss", "A - loss", "A - loss", 
    "A - loss", "A - loss", "A - loss", "A - loss", "A - loss", 
    "A - loss", "A - loss", "A - loss", "A - loss", "A - loss", 
    "A - loss", "A - loss", "A - loss", "A - loss", "A - loss", 
    "B - gain", "B - gain", "B - gain", "B - gain", "B - gain", 
    "B - gain", "B - gain", "B - gain", "B - gain", "B - gain", 
    "B - gain", "B - gain", "B - gain", "B - gain", "B - gain", 
    "B - gain", "B - gain", "B - gain", "B - gain", "B - gain", 
    "B - gain", "B - gain", "B - gain", "B - gain", "B - gain", 
    "B - gain", "B - gain", "B - gain", "B - gain", "B - gain", 
    "B - gain", "B - gain", "B - loss", "B - loss", "B - loss", 
    "B - loss", "B - loss", "B - loss", "B - loss", "B - loss", 
    "B - loss", "B - loss", "B - loss", "B - loss", "B - loss", 
    "B - loss", "B - loss", "B - loss", "B - loss", "B - loss", 
    "B - loss", "B - loss", "B - loss", "B - loss", "B - loss", 
    "B - loss", "B - loss", "B - loss", "B - loss", "B - loss", 
    "B - loss", "B - loss", "B - loss", "B - loss", "C - gain", 
    "C - gain", "C - gain", "C - gain", "C - gain", "C - gain", 
    "C - gain", "C - gain", "C - gain", "C - gain", "C - gain", 
    "C - gain", "C - gain", "C - gain", "C - gain", "C - gain", 
    "C - gain", "C - gain", "C - gain", "C - gain", "C - gain", 
    "C - gain", "C - gain", "C - gain", "C - gain", "C - gain", 
    "C - gain", "C - gain", "C - gain", "C - gain", "C - gain", 
    "C - gain", "C - loss", "C - loss", "C - loss", "C - loss", 
    "C - loss", "C - loss", "C - loss", "C - loss", "C - loss", 
    "C - loss", "C - loss", "C - loss", "C - loss", "C - loss", 
    "C - loss", "C - loss", "C - loss", "C - loss", "C - loss", 
    "C - loss", "C - loss", "C - loss", "C - loss", "C - loss", 
    "C - loss", "C - loss", "C - loss", "C - loss", "C - loss", 
    "C - loss", "C - neutral", "C - neutral", "C - neutral", 
    "C - neutral", "C - neutral", "C - neutral", "C - neutral", 
    "C - neutral", "C - neutral", "C - neutral", "C - neutral", 
    "C - neutral", "C - neutral", "C - neutral", "C - neutral", 
    "C - neutral", "C - neutral", "C - neutral", "C - neutral", 
    "C - neutral", "C - neutral", "C - neutral", "C - neutral", 
    "C - neutral", "C - neutral", "C - neutral", "C - neutral", 
    "C - neutral", "C - neutral", "C - neutral", "C - neutral", 
    "C - neutral", "D - gain", "D - gain", "D - gain", "D - gain", 
    "D - gain", "D - gain", "D - gain", "D - gain", "D - gain", 
    "D - gain", "D - gain", "D - gain", "D - gain", "D - gain", 
    "D - gain", "D - gain", "D - gain", "D - gain", "D - gain", 
    "D - gain", "D - gain", "D - gain", "D - gain", "D - gain", 
    "D - gain", "D - gain", "D - gain", "D - gain", "D - gain", 
    "D - gain", "D - gain", "D - gain", "D - loss", "D - loss", 
    "D - loss", "D - loss", "D - loss", "D - loss", "D - loss", 
    "D - loss", "D - loss", "D - loss", "D - loss", "D - loss", 
    "D - loss", "D - loss", "D - loss", "D - loss", "D - loss", 
    "D - loss", "D - loss", "D - loss", "D - loss", "D - loss", 
    "D - loss", "D - loss", "D - loss", "D - loss", "D - loss", 
    "D - loss", "D - loss", "D - loss", "D - loss", "D - loss"
    ), frequency = c(13L, 13L, 18L, 15L, 8L, 8L, 11L, 9L, 8L, 
    10L, 13L, 23L, 13L, 11L, 8L, 12L, 6L, 6L, 11L, 11L, 11L, 
    12L, 7L, 15L, 8L, 9L, 18L, 13L, 11L, 15L, 13L, 13L, 14L, 
    14L, 18L, 17L, 10L, 9L, 10L, 10L, 9L, 10L, 15L, 21L, 13L, 
    10L, 10L, 11L, 6L, 6L, 11L, 11L, 10L, 12L, 7L, 15L, 9L, 10L, 
    18L, 13L, 11L, 16L, 13L, 14L, 21L, 38L, 18L, 34L, 27L, 39L, 
    31L, 14L, 8L, 31L, 23L, 22L, 34L, 15L, 37L, 26L, 16L, 16L, 
    16L, 18L, 20L, 26L, 18L, 43L, 31L, 24L, 28L, 25L, 22L, 28L, 
    26L, 36L, 3L, 4L, 2L, 4L, 3L, 4L, 4L, 2L, 1L, 4L, 3L, 3L, 
    4L, 2L, 4L, 3L, 2L, 2L, 2L, 2L, 3L, 3L, 2L, 4L, 4L, 3L, 3L, 
    3L, 3L, 3L, 3L, 4L, 15L, 11L, 13L, 7L, 15L, 10L, 14L, 12L, 
    16L, 15L, 12L, 10L, 13L, 19L, 11L, 16L, 10L, 10L, 15L, 18L, 
    24L, 15L, 25L, 6L, 18L, 18L, 5L, 13L, 19L, 12L, 12L, 10L, 
    2L, 2L, 2L, 1L, 2L, 1L, 2L, 2L, 2L, 2L, 2L, 1L, 2L, 3L, 2L, 
    2L, 1L, 1L, 2L, 2L, 3L, 2L, 5L, 3L, 3L, 2L, 3L, 2L, 2L, 1L, 
    6L, 5L, 6L, 5L, 6L, 5L, 6L, 6L, 7L, 6L, 5L, 5L, 6L, 9L, 5L, 
    8L, 5L, 5L, 6L, 8L, 9L, 6L, 10L, 5L, 8L, 8L, 5L, 6L, 9L, 
    5L, 6L, 5L, 24L, 12L, 21L, 16L, 26L, 22L, 20L, 41L, 45L, 
    20L, 25L, 14L, 14L, 28L, 21L, 20L, 49L, 49L, 33L, 27L, 18L, 
    22L, 24L, 11L, 18L, 23L, 21L, 23L, 20L, 18L, 23L, 16L, 2L, 
    1L, 2L, 1L, 3L, 2L, 2L, 4L, 4L, 2L, 2L, 1L, 1L, 3L, 2L, 2L, 
    5L, 5L, 4L, 3L, 2L, 2L, 2L, 1L, 1L, 2L, 2L, 2L, 2L, 1L, 2L, 
    1L)), row.names = c(NA, 286L), class = "data.frame")

我尝试使用

ddply(condition_count, .(subj_no, condition), function(x){
  c(mean=mean(x$frequency), sd = sd(x$frequency), 
    se = sd(x$frequency)/sqrt(length(x$frequency)))

但它不会为每个条件产生均值、sd 或 se。

非常感谢您的帮助!

r plyr
1个回答
1
投票
library(dplyr)
condition.count %>% group_by(condition) %>% 
  summarise(mean= mean(frequency), sd=sd(frequency), 
            se = sd(frequency) / sqrt(length(frequency)))
条件 平均 sd se
1 A - 增益 11.6 3.71 0.656
2 A - 损失 12.0 3.53 0.625
3 B - 增益 25.3 8.44 1.49
4 B - 损失 3 0.842 0.149
5 C - 增益 13.7 4.55 0.804
6 C - 损失 2.07 0.828 0.151
7 C - 中性 6.31 1.49 0.263
8 D - 增益 23.9 9.74 1.72
9 D - 损失 2.22 1.13 0.199
© www.soinside.com 2019 - 2024. All rights reserved.