gpt4 book ai didi

r - 按多个变量的因子水平汇总统计

转载 作者:行者123 更新时间:2023-12-01 09:53:13 25 4
gpt4 key购买 nike

<分区>

我想生成包含多个变量的每个因子级别的汇总统计数据的数据框。

例如,如果我有以下数据框

Factor <- c("A","A","A","B","B","B")
Variable1 <- c(3,4,5,4,5,3)
Variable2 <- c(7,9,14,16,10,10)
mydf <- data.frame(Factor, Variable1, Variable2)
mydf
Factor Variable1 Variable2
1 A 3 7
2 A 4 9
3 A 5 14
4 B 4 16
5 B 5 10
6 B 3 10

我有以下功能,我想用它来生成我的摘要统计信息:

my.summary <- function(x, na.rm=TRUE){result <- c(n=as.integer(length(x)),
Mean=mean(x, na.rm=TRUE), SD=sd(x, na.rm=TRUE), SeM = SEM(x),
Median=median(x), Min=min(x), Max=max(x))}

要将其应用于 Variable1 的因子水平,我可以这样做:

ddply(mydf, c("Factor"), function(x) my.summary(x$Variable1))
Factor n Mean SD SeM Median Min Max
1 A 3 4 1 0.5773503 4 3 5
2 B 3 4 1 0.5773503 4 3 5

现在我可以对变量 2 做同样的事情:

ddply(mydf, c("Factor"), function(x) my.summary(x$Variable2))

如果我只有 2 个变量,这就足够简单了。但是,如果我有很多变量,这会很痛苦。那么我该如何解决这个问题,以便无需调整代码即可为每个变量/因子级别生成汇总统计数据的数据框?

我尝试过使用 aggregate.data.frame,但使用 my.summary 无效。它使用摘要工作,但会生成一个大数据框。

谢谢

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