我有一个名为trainingData的数据框架。在这个数据框架中,我有两个变量,分别称为类型和方法,它们都是类别。
当我尝试运行以下代码时
res<-t.test(trainingData$Type~trainingData$方法,data=trainingData,配对=TRUE(
我收到一个错误,说"分组因子必须正好有两个级别">
我在stackoverflow中发现了类似的问题,但没有什么能给我一个合适的解决方案。
请帮忙!!!
问题是分组变量有两个以上的级别,而t.test要求不能有两个以下的级别。
以下是您的错误复制:
library(tidyverse)
##This will reproduce your error
##Create some fake data
data_test <- tibble(measure = c(rnorm(100,30,5),rnorm(100,15,5)),
group = factor(rep(c("A","B","C"),c(95,95,10))))
table(data_test$group) ##Notice that you have three levels
#Try to run the test
t.test(measure~group, data = data_test, paired = TRUE)
下面是一个运行的例子
##This will not result in a error, because you only have two groups
data_test2 <- tibble(measure = c(rnorm(100,30,5),rnorm(100,15,5)),
group = factor(rep(c("A","B"),c(100,100))))
table(data_test$group) ##Notice that you have the required two levels
t.test(measure~group, data = data_test2,paired = TRUE) ##Test will now run
要点:检查数据中的级别数。如果有两个以上,请重新编码或删除它们。