gpt4 book ai didi

r - 如何从 plyr 输出中进行总结而不是长

转载 作者:行者123 更新时间:2023-12-04 09:37:20 27 4
gpt4 key购买 nike

我喜欢 plyr 将数据帧拆分为多个数据集,然后对每个数据集执行相同操作的能力。最好的部分是当它以整洁紧凑且标记良好的表格的形式向您显示结果时。我喜欢使用 each() 将一堆计算放入一行中。但是,我不明白为什么在 ddply 参数中使用 summarise 函数会破坏输出并使其变得冗长且未标记。看看这里,看看我的意思。你能告诉我我做错了什么吗?我更喜欢使用摘要。

让我们首先设置一个示例数据框。想象一下,您有 60 名参与者参加一项研究。其中20个很有趣,20个很聪明,20个很好。然后每个科目都会得到一个分数。

type<-rep(c("funny","clever", "nice"),20)
score<-rnorm(60)+10
data<-data.frame(type,score)

现在我想要一个表格,显示这 3 类人中每一种的平均分、中分、最低分和最高分

ddply(data,.(type), summarise, each(mean,median,min,max)(score))

上面的行应该给出了一个漂亮的表格(3 行 - 每种类型 1 行,4 列数据)。唉,它给出了一个只有一列数字的长表,没有一个数字被标记。

ddply(data,.(type), function(jjkk) each(mean,median,min,max)(jjkk$score))

上面的行给了我想要的东西。你能解释一下我对 ddply 语法的不理解吗?

最佳答案

拼写出函数,如:

ddply(data,"type", summarise, mean=mean(score),median=median(score),max=max(score),min=min(score))

以您想要的格式生成输出。

我认为你的问题是 each()正在返回一个向量,它 summarize()并没有真正按照您想要的方式处理。

关于r - 如何从 plyr 输出中进行总结而不是长,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5254267/

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