gpt4 book ai didi

r - 平均值 (SD) 表

转载 作者:行者123 更新时间:2023-12-03 21:40:23 26 4
gpt4 key购买 nike

我有一个相对较大的数据集,我想打印一个因子组合的均值和标准差表。我希望它们采用这样的格式:

         A            B
test1 2.0 (1.0) 5.0 (2.0)
test2 6.3 (3.1) 2.1 (0.7)

有没有简单的方法来做到这一点?

我得到的最接近的是使用 tables::tabular 函数(最小示例):

# Example data
df = data.frame(
group=c('A', 'A', 'A', 'B', 'B', 'B'),
value=c(1,2,3,6,8,9))

# Print table
library(tables)
tabular(value ~ group * (mean + sd), df)

...输出这个:

       group               
A B
mean sd mean sd
value 2 1 7.667 1.52

但我还没有想出一个巧妙的方法来将这种格式转换为上面的 mean (SD) 格式。注意:这些示例非常少。我将有一个更大的层次结构(目前 4 x (mean+sd) 列和 2 x 3 行)但基本问题是相同的。

最佳答案

library(reshape2)

formatted.table <- dcast(df, 'value' ~ group, fun.aggregate = function(x) {
return(sprintf('%0.1f (%0.1f)', mean(x), sd(x)))
})

# "value" A B
# value 2.0 (1.0) 7.7 (1.5)

类似于 Chris 的回答,但更清晰一些(并且不需要“测试”变量)。

您还可以使用 dplyr 包进行此类聚合。

关于r - 平均值 (SD) 表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38836886/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com