比方说,我有两个数据框,学生和老师。在R中生成所有可能的行组合?
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, ]))
边注意:'logical'类是专为'yes' /'no'值。见'?逻辑'。 – Frank
有用的功能,但为了我目前的目的,我想把所有内容保存在一个对象中 –
或者使用'data.table'中的'CJ' – akrun