簡體   English   中英

R 中 t.test 的均值/pvalue 表

[英]means/pvalue table from t.test in R

有沒有辦法從 t.test output 中提取平均值和 p 值並創建一個包含特征、平均值和 p 值的表? 假設有 10 列通過 t.test,這意味着有 10 個均值和 10 個 p 值。 我怎樣才能創建一個只顯示那些特定項目的表格?

這是一個例子:數據(虹膜):

    a.   b.  c.  d.   e. 
1   5.1 3.5 1.4 0.2 setosa
2   4.9 3.0 1.4 0.2 setosa
3   4.7 3.2 1.3 0.2 setosa
4   4.6 3.1 1.5 0.2 setosa
5   5.0 3.6 1.4 0.2 setosa
6   5.4 3.9 1.7 0.4 setosa

t.test(a)
t.test(b) #...ect we obtain the mean and p-value. 

這是我正在尋找的 output:

feature mean p-val
col1  0.01 0.95
col2  0.01 0.95
.
.
.
coln

希望這是有道理的!

以 iris 內置數據集為例

sapply(iris[, 1:4], function(i){
  t.test(i)[c(5,3)]
})

sapply() function 迭代地執行自定義 function - 它對變量執行 t 檢驗並返回估計值和 p 值 - 通過 iris 的第 1 到 4 列。

不過要注意多次測試...

我們可以做這樣的事情。 這里有一個 3 列 a 分組列的示例數據集。

#example dataset
df <- mtcars %>% 
  mutate(vs = factor(vs)) %>% 
  select(mpg, disp, hp, vs)


means = colMeans(df[sapply(df, is.numeric)])

p.value= sapply(df[,1:3], function(i) t.test(i ~ df$vs)$p.value)


rbind(means, p.value)
                 mpg         disp           hp
means   2.009062e+01 2.307219e+02 1.466875e+02
p.value 1.098368e-04 2.476526e-06 1.819806e-06

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM