有沒有辦法從 t.test 輸出中提取均值和 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.
這是我正在尋找的輸出:
feature mean p-val
col1 0.01 0.95
col2 0.01 0.95
.
.
.
coln
希望這是有道理的!
uj5u.com熱心網友回復:
以 iris 內置資料集為例
t(sapply(iris[, 1:4], function(i){
t.test(i)[c(5,3)]
}))
該sapply()函式通過 iris 的第 1 到 4 列迭代執行該自定義函式 - 該函式對變數執行 t 檢驗并回傳估計值和 p 值。然后通過t()將資料轉置為所需的形狀。如果您愿意,您可以將其存盤為 data.frame,使用data.frame()和 userow.names()將變數名稱放入新列中。
values <- t(sapply(iris[, 1:4], function(i){
t.test(i)[c(5,3)]
}))
values <- data.frame("feature"=row.names(values), values)
row.names(values) <- NULL
values
不過要小心多重測驗...
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/368534.html
標籤:r
上一篇:為什么在實作nsprcomp時使用相同的資料集會得到不同的PC值
下一篇:在R中尋找最近的五邊形數
