我试着用两个值进行t检验:
1和n.
这样做是可行的:
a <- c(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
8.97, 8.97, 8.97, 8.97, 8.97, 8.97, 8.97, 8.97, 8.97, 8.97, 8.97, 8.97, 8.97, 8.97, 8.97)或
a <- rep(c(1, 8.97), each = 15)以及:
t.test(x = a, mu = 2.33, alternative = "greater")
One Sample t-test
data: a
t = 3.5879, df = 29, p-value = 0.0006046
alternative hypothesis: true mean is greater than 2.33
95 percent confidence interval:
3.727653 Inf
sample estimates:
mean of x
4.985 是的,但是:
variavel <- seq(from = 1, to = 9, by = .01)
df <- data.frame(fix1 = 1, fix2 = 1, fix3 = 1, fix4 = 1, fix5 = 1, fix6 = 1, fix7 = 1, fix8 = 1, fix9 = 1, fix10 = 1, fix11 = 1, fix12 = 1, fix13 = 1, fix14 = 1, fix15 = 1,
ge1 = variavel, ge2 = variavel, ge3 = variavel, ge4 = variavel, ge5 = variavel, ge6 = variavel, ge7 = variavel, ge8 = variavel, ge9 = variavel, ge10 = variavel, ge11 = variavel, ge12 = variavel, ge13 = variavel, ge14 = variavel, ge15 = variavel
)当我去计算每一行的测试并获得p-value时,
apply(X = df, MARGIN = 1, FUN = function(x) {
t.test(x = x, mu = 2.33, alternative = "greater")$p.value
}) 它给了我一个错误:
错误在t.test.default中(x= x,mu = 2.33):数据本质上是恒定的
会发生什么?
发布于 2021-09-27 01:10:07
您的第一行是不变的,因为这是一个错误,所以其余的数据从未被测试过。
table(unlist(df[1,]))
# 1
# 30 你有两个选择:
头(x= df-1,边距= 1,FUN =函数(X){ t.test(x = x,mu = 2.33,alternative =“大”)$p.value})#2 3 4 5 6 7#1 1 1
tryCatch(t.test(x = x,mu = 2.33,alternative =“大”)$p.value,error = function(e) NA_real_})# 1 NA 1 1 1
https://stackoverflow.com/questions/69340141
复制相似问题