可以将corr.test用于任何数据帧吗?

时间:2014-04-09 17:46:32

标签: r psych

我试图在mental包中使用corr.test找到数据框(df1)中变量之间的相关性和p值。数据帧中的变量都是整数,没有NA。但是当我运行corr.test(df1)时,总会出现错误消息。

Error in data.frame(lower = lower, r = r[lower.tri(r)], upper = upper,  : 
  arguments imply differing number of rows: 0, 28

我试图在mental包中运行示例(corr.test(sat.act))并且没有错误。 我是R的新手,有人可以告诉我数据帧有什么问题。

> head(df1)
  S1.pre S2.pre S1.post S2.post V1.pre V2.pre V1.post V2.post
1     21     31      25      35      7      1      19       4
2     15     26      21      29     13     11      16      14
3     18     27      23      31      8      2       3       3
4     17     31      18      39     13     11      15      14
5     15     26      16      29     26     15      32      20
6     17     28      16      28      2      4       2       7

> dput(head(df1))
structure(list(S1.pre = c(21L, 15L, 18L, 17L, 15L, 17L), S2.pre = c(31L, 
26L, 27L, 31L, 26L, 28L), S1.post = c(25L, 21L, 23L, 18L, 16L, 
16L), S2.post = c(35L, 29L, 31L, 39L, 29L, 28L), V1.pre = c(7L, 
13L, 8L, 13L, 26L, 2L), V2.pre = c(1L, 11L, 2L, 11L, 15L, 4L), 
V1.post = c(19L, 16L, 3L, 15L, 32L, 2L), V2.post = c(4L, 
14L, 3L, 14L, 20L, 7L)), .Names = c("S1.pre", "S2.pre", "S1.post", 
"S2.post", "V1.pre", "V2.pre", "V1.post", "V2.post"), row.names = c(NA, 
6L), class = "data.frame")

> sapply(df1, class)
S1.pre    S2.pre   S1.post   S2.post    V1.pre    V2.pre   V1.post   V2.post 
"integer" "integer" "integer" "integer" "integer" "integer" "integer" "integer" 

1 个答案:

答案 0 :(得分:1)

我联系了威廉·雷维尔(William Revelle) - 心理治疗方案的作者,这就是他所说的:

标记, 不幸的是,您发现1.4.3中引入了一个错误。 1.4.4将于本周末前往Cran。 在此期间,您可以在http://personality-project.org/r获取修复程序(如果您使用的是Mac,请从其他存储库中选择源代码)或 http://personality-project.org/r/src/contrib如果您使用的是PC,请获取zip文件。 否则,请等到下周。 抱歉,这个问题。 只要您的主题数量不等或数据丢失,它仍然有效。