gpt4 book ai didi

r - 为什么函数 rbind.data.frame 在 do.call 中表现不同

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

我有一个关于do.call的问题,很奇怪
1. 我想做什么
我正在尝试将许多数据帧绑定(bind)到一个数据帧中,所有数据帧都在列表 t3 中,您可能会看到下图:
list variable t3
2.方法
2.1 一个作品t4 <- do.call(rbind.data.frame, t3)2.2 不行t4 <- rbind.data.frame(t3)错误信息如下:
error message
3.提问
我认为如果我删除 do.call,rbind.data.frame 的行为会相同,为什么它只在我使用 do.call 时才有效?提前致谢。

最佳答案

函数do.call(FUN, list)旨在接受输入函数FUN连同列表输入 list .它将函数应用于列表中的每个元素,然后聚合结果。

在您的通话中

t4 <- rbind.data.frame(t3)

您正在尝试 rbind一个数据帧的列表,当 rbind.data.frame函数需要单个数据帧而不是 t3作为输入。

您可以使用 rbind.data.frame没有 do.call如果你想。假设列表中只有 5 个元素 t3 ,那么以下应该可以工作:
t4 <- rbind.data.frame(t3[[1]], t3[[2]], t3[[3]], t3[[4]], t3[[5]])

如您所见,这将很快变得乏味(而且不可读)。这是使用 do.call() 的优势.

关于r - 为什么函数 rbind.data.frame 在 do.call 中表现不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31718219/

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