【问题标题】:Paired t.test grouping factor must have exactly 2 levels error配对 t.test 分组因子必须恰好有 2 个级别错误
【发布时间】:2020-08-19 03:04:48
【问题描述】:

我为一个项目创建了一个调查。调查参与者使用李克特量表 0-10 进行回答。这是之前和之后的场景。数据被清理以删除不完整的响应。我还有 1135 个配对响应。数据显示数值。我使用 t.test(Q15_2~Q15_3,paired = TRUE) 来运行我的测试。

t.test.formula(Q15_2 ~ Q15_3,paired = T) 中的错误: 分组因子必须正好有 2 个级别

再次...数据已被审核了十几次。之前和之后的响应是相等的。这确实需要成对的 t 检验,所以我有目的地使用 ~.我可以让它在 excel 中正常工作,但我总是喜欢通过在 Excel 和 R 中运行它们来仔细检查我的答案,以确保它们是正确的。欢迎任何意见!

【问题讨论】:

  • 欢迎来到 SO,琳达!请让这个问题可重现。这包括您尝试过的示例代码(包括列出非基础 R 包以及收到的任何错误/警告)、示例明确数据(例如,dput(head(x))data.frame(x=...,y=...))和预期输出.参考:stackoverflow.com/q/5963269minimal reproducible examplestackoverflow.com/tags/r/info
  • (Q15_2 ~ Q15_3 是公式形式。这意味着 Q15_2 由 Q15-3 分组。如果您正在寻找 Q15_2 和 Q15_3 之间的比较,那么您需要使用“,”因此(Q15_2, Q15_3
  • 不能用公式法做配对t.test。
  • 我确实使用了“,”作为配对,但我收到的结果与我在 Excel 中使用列上的 t.test 或 ttest 收到的结果完全不同。事实上,他们甚至不接近。在 Excel 中,我有两列,双面和成对的。如果“,”是正确的方法,我怎么想出如此不同的答案?
  • 你有没有考虑过 Excel 会出错?

标签: r grouping


【解决方案1】:

我认为你应该使用:

t.test(Q15_2, Q15_3, paired = TRUE) 

用逗号而不是波浪号。如果两个向量的列中都包含数据对,则应用此逗号语法。如果左侧包含两个集合的数据,而右侧向量是具有相应两个处理的因子,则应用带有~ 的公式语法。

例子:

x1 <- c(4.71, 6.66, 5.01, 4.6, 3.98)
x2 <- c(5.42, 7.1, 5.52, 6.05, 6.23)
t.test(x1, x2, paired=TRUE)

    Paired t-test

data:  x1 and x2
t = -3.1096, df = 4, p-value = 0.03589
alternative hypothesis: true difference in means is not equal to 0
95 percent confidence interval:
 -2.029145 -0.114855
sample estimates:
mean of the differences 
                 -1.072 

在 Excel 中使用相同的数据(复制的值、从当地语言翻译成英文的标签):

t-Statistics                       -3.109611652
P(T<=t) one sided                   0.017942691
critical t-value (one sided t-Test) 2.131846786
P(T<=t) two-sided                   0.035885381
critical t-value (two sided t-Test) 2.776445105

我们看到两侧假设的 p 值是相同的。

【讨论】:

  • 我同意逗号与波浪号是正确的。我的问题是 R-Studio 给了我一个答案,而 SPSS 和 Excel 都同意另一个数字。我以前从来没有发生过这种情况,但无法弄清楚“为什么”并让它们匹配……SPSS与Excel一致的事实让我认为我的问题是R Studio,因为我对它不是很有经验.我需要以两种不同的方式执行操作,首先选择了 Excel 和 R-Studio……我最终将其加载到 SPSS 中。我确定我错过了一些简单的东西,但我很想了解下一次我错过了什么。
  • @LindaFeshami 如果您不提供部分数据和导入数据并运行 t.test 的代码,谁能提供帮助?阅读上面的第一条评论并按照要求做。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-06-07
  • 2023-02-24
  • 1970-01-01
  • 1970-01-01
  • 2021-07-24
  • 1970-01-01
相关资源
最近更新 更多