R 中的 T 检验和 运行 的问题
T test in R and problems with run
当我想在结果控制台中进行 t-test 时给我反馈:
Błąd w poleceniu 'var(x)':对因子 x 调用 var(x) 已失效。
使用 'all(duplicated(x)[-1L])' 之类的东西来测试常量向量。
Dodatkowo: Komunikat ostrzegawczy:
W poleceniu 'mean.default(x)':参数不是数字或逻辑:返回 NA。
这是什么意思?
在R中,有一类数据叫做factor
。
考虑以下两组数据:
set1 <- round(rnorm(10,5,2))
set1
[1] 6 3 4 5 7 3 5 7 5 7
set2 <- round(rnorm(10,10,2))
set2
[1] 11 9 5 11 11 10 9 7 8 9
您可以按如下方式进行 t 检验:
t.test(set1,set2)
Welch Two Sample t-test
data: set1 and set2
t = -4.8347, df = 17.147, p-value = 0.0001515
现在看看如果我们将两个集合都转换为因子会发生什么:
set1 <- as.factor(set1)
set2 <- as.factor(set2)
set1
[1] 6 3 4 5 7 3 5 7 5 7
Levels: 3 4 5 6 7
你可以看到set1
现在已经变成了相同的数字,但是有一个级别的集合。
levels(set1)
[1] "3" "4" "5" "6" "7"
这可以节省大量space长重复字符级别,并有助于在统计分析中明确含义。
但是,当您尝试在因子和数字表示之间进行转换时,可能会发生令人惊讶的事情:
as.integer(set1)
[1] 4 1 2 3 5 1 3 5 3 5
在这种情况下,我们得到了每个元素的因子水平数。
因此,由于意外结果的风险增加,这不起作用:
t.test(set1,set2)
Error in var(x) : Calling var(x) on a factor x is defunct.
当我想在结果控制台中进行 t-test 时给我反馈: Błąd w poleceniu 'var(x)':对因子 x 调用 var(x) 已失效。 使用 'all(duplicated(x)[-1L])' 之类的东西来测试常量向量。 Dodatkowo: Komunikat ostrzegawczy: W poleceniu 'mean.default(x)':参数不是数字或逻辑:返回 NA。
这是什么意思?
在R中,有一类数据叫做factor
。
考虑以下两组数据:
set1 <- round(rnorm(10,5,2))
set1
[1] 6 3 4 5 7 3 5 7 5 7
set2 <- round(rnorm(10,10,2))
set2
[1] 11 9 5 11 11 10 9 7 8 9
您可以按如下方式进行 t 检验:
t.test(set1,set2)
Welch Two Sample t-test
data: set1 and set2
t = -4.8347, df = 17.147, p-value = 0.0001515
现在看看如果我们将两个集合都转换为因子会发生什么:
set1 <- as.factor(set1)
set2 <- as.factor(set2)
set1
[1] 6 3 4 5 7 3 5 7 5 7
Levels: 3 4 5 6 7
你可以看到set1
现在已经变成了相同的数字,但是有一个级别的集合。
levels(set1)
[1] "3" "4" "5" "6" "7"
这可以节省大量space长重复字符级别,并有助于在统计分析中明确含义。
但是,当您尝试在因子和数字表示之间进行转换时,可能会发生令人惊讶的事情:
as.integer(set1)
[1] 4 1 2 3 5 1 3 5 3 5
在这种情况下,我们得到了每个元素的因子水平数。
因此,由于意外结果的风险增加,这不起作用:
t.test(set1,set2)
Error in var(x) : Calling var(x) on a factor x is defunct.