首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用apply (按行)返回数据计算t-test本质上是恒定的。

使用apply (按行)返回数据计算t-test本质上是恒定的。
EN

Stack Overflow用户
提问于 2021-09-27 01:01:54
回答 1查看 41关注 0票数 0

我试着用两个值进行t检验:

1n.

这样做是可行的:

代码语言:javascript
复制
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)

代码语言:javascript
复制
a <- rep(c(1, 8.97), each = 15)

以及:

代码语言:javascript
复制
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 

是的,但是:

代码语言:javascript
复制
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时,

代码语言:javascript
复制
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):数据本质上是恒定的

会发生什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-09-27 01:10:07

您的第一行是不变的,因为这是一个错误,所以其余的数据从未被测试过。

代码语言:javascript
复制
table(unlist(df[1,]))
#  1 
# 30 

你有两个选择:

  1. 在计算中省略了第1行:

头(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

  1. 在循环中捕获它:

tryCatch(t.test(x = x,mu = 2.33,alternative =“大”)$p.value,error = function(e) NA_real_})# 1 NA 1 1 1

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69340141

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档