首页 文章

在R中对整洁的数据执行MANOVA

提问于
浏览
1

我试图在整洁的数据框架上执行MANOVA,看起来有点像下面这样 . “id”是指参与者号码 . 自变量是“init_cont”(值为I或K)和“family”(值为C,S或D),为2x3设计 . 列“qnumber”指的是问题参与者回答的数量,每个参与者回答3个问题 . “ Value ”是每个参与者对特定问题的回答 .

id  init_cont  family  qnumber  value
1   I          C       1        3.5
1   I          C       2        2
1   I          C       3        4
2   K          C       1        2
2   K          C       2        5
2   K          C       3        3
3   K          S       1        4.5
3   K          S       2        5
3   K          S       3        3
4   K          D       1        1
4   K          D       2        7.5
4   K          D       3        3

对这些数据执行MANOVA的最佳方法是什么?我对自变量之间的相互作用以及它们如何影响3个问题中每个问题的“ Value ”感兴趣 . 如果它是相关的,我的实际数据集有14个不同的问题 .

我考虑过以下格式重新组织数据,但我不确定如何在R中执行此操作 . 每个新列中“值”之后的数字来自“qnumber” .

id  init_cont  family  value1  value2  value3
1   I          C       3.5     2       4
2   K          C       2       5       3
3   K          S       4.5     5       3
4   K          D       1       7.5     3

1 回答

  • 2

    dplyr::spread 轻松完成问题的第一部分 .

    df %>% spread(qnumber, value)
    #   id init_cont family   1   2 3
    # 1  1         I      C 3.5 2.0 4
    # 2  2         K      C 2.0 5.0 3
    # 3  3         K      S 4.5 5.0 3
    # 4  4         K      D 1.0 7.5 3
    

    这是可重复的数据 .

    t <- 'id  init_cont  family  qnumber  value
    1   I          C       1        3.5
    1   I          C       2        2
    1   I          C       3        4
    2   K          C       1        2
    2   K          C       2        5
    2   K          C       3        3
    3   K          S       1        4.5
    3   K          S       2        5
    3   K          S       3        3
    4   K          D       1        1
    4   K          D       2        7.5
    4   K          D       3        3'
    
    df <- read.table(text = t, header = TRUE)
    

相关问题