gpt4 book ai didi

r - 关于使用 plyr 和 ldply

转载 作者:行者123 更新时间:2023-12-04 14:25:39 25 4
gpt4 key购买 nike

我有一个重复出现的问题 - 我很抱歉!

假设我想要根据“id”和“year”列出棒球数据(来自 plyr 包)。根据以下任一方式创建列表之间存在差异:

1. mylist1 <- dlply(baseball, .(id, year), identity)

2. mylist2 <- dlply(baseball, .(id), dlply, .(year), identity)

按照列表的组织方式,但是将列表放回数据框中可以很好地处理“mylist1”。

mydf1 <- ldply(mylist1)

但不适用于“mylist2”

mydf2 <- ldply(mylist2)

给出以下错误信息:

Error in list_to_dataframe(res, attr(.data, "split_label")): Result must be all atomic, or all data frames

我是 R 的新手,这条错误消息对我来说意义不大。

我想根据方法 2 拆分我自己的数据框,因为我需要相当多的数据操作。我的问题是:如何将此列表合并到数据框中? do.call(rbind, do.call(rbind,... 有替代方案吗?

我很感激任何帮助!

最佳答案

我同意@Andrie 的观点,这是一个奇怪的结构。但我认为您这样做有特殊原因。

由于使用 dlply 进行了两次创建 mylist2,因此需要两次调用 ldply 将其重新组合在一起。

mydf2 <- ldply(mylist2, ldply)

这将恢复棒球(模排序)

> class(mydf2)
[1] "data.frame"
> all(dim(mydf2) == dim(baseball))
[1] TRUE

关于r - 关于使用 plyr 和 ldply,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7770545/

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