gpt4 book ai didi

r - 在 R 中生成所有可能的行组合?

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

假设我有两个数据框,学生和老师。

students <- data.frame(name = c("John", "Mary", "Sue", "Mark", "Gordy", "Joey", "Marge", "Sheev", "Lisa"),
height = c(111, 93, 99, 107, 100, 123, 104, 80, 95),
smart = c("no", "no", "yes", "no", "yes", "yes", "no", "yes", "no"))
teachers <- data.frame(name = c("Ben", "Craig", "Mindy"),
height = c(130, 101, 105),
smart = c("yes", "yes", "yes"))

我想生成学生和教师的所有可能组合并保留随附的信息,基本上从数据框“学生”和“教师”创建行的所有组合。这可以通过循环和 cbind 轻松完成,但对于海量数据帧,这需要永远。帮助 R 新手 - 最快的方法是什么?

编辑:如果这不清楚,我希望输出具有以下格式:
rbind(
cbind(students[1, ], teachers[1, ]),
cbind(students[1, ], teachers[2, ])
...
cbind(students[n, ], teachers[n, ]))

最佳答案

您可以将所有数据组合如下:

do.call(cbind.data.frame,Map(expand.grid,teacher=teachers,students=students))

name.teacher name.students height.teacher height.students smart.teacher smart.students
1 Ben John 130 111 yes no
2 Craig John 101 111 yes no
3 Mindy John 105 111 yes no
4 Ben Mary 130 93 yes no
5 Craig Mary 101 93 yes no
6 Mindy Mary 105 93 yes no
: : : : : : :
: : : : : : :

关于r - 在 R 中生成所有可能的行组合?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45497742/

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