[英]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.