问题描述
我正在尝试进行t检验,以查看两个df上两列的值是否在统计上不同。
我正在尝试运行一个比较两个df中的“ Duration”列的代码-“ Tokens”和“ Tokens.Single”。两个df在其相应的工期列中具有相同数量的值。
这是我正在尝试的代码:
# T-test for duration.
t.test(Tokens$Duration ~ Tokens.Single$Duration,paired=FALSE,var.equal=TRUE)
这是我收到的错误消息:
Error in t.test.formula(Tokens$Duration ~ Tokens.Single$Duration,paired = FALSE,:
grouping factor must have exactly 2 levels
任何见识都受到赞赏!
解决方法
数据没有峰值,这很难说,但是您在t.test
中使用的语法通常用于按因子变量进行响应。
根据您对数据的描述,最好使用以下语法:
y <- rnorm(50)
x <- rnorm(50)
t.test(x,y)
这将导致x和y数值向量的均值比较,或者在您的情况下:
t.test(Tokens$Duration,Tokens.Single$Duration,paired=FALSE,var.equal=TRUE)
出于完整性考虑,如果您有一个表示运行次数或实验编号的因子变量,则可以使用公式语法,例如
y <- rnorm(50)
z <- rep(c("A","B"),25)
t.test(y ~z)
屈服:
data: y by z
t = -2.0418,df = 47.504,p-value = 0.04675
alternative hypothesis: true difference in means is not equal to 0
95 percent confidence interval:
-1.07859422 -0.00814587
sample estimates:
mean in group A mean in group B
0.1162672 0.6596372