r,绑定两列,按指定顺序排列值 数据

问题描述

我有2个列表,一个带有性别c('m','f','m','f'),另一个带有名称c('Peter','Peter','Anna','Peter')。 我想将两列join / merge插入数据框,其中性别值适合名称(Peter和m,Anna和f)。

如何在R中执行此操作?

感谢大家的帮助!

解决方法

假设您具有以下两个列表:

unlist

一种选择是使用data.frame并将它们组合成data.frame(names = unlist(names),gender = unlist(gender) ) # names gender # 1 Peter m # 2 Peter f # 3 Anna f # 4 Anna m # 5 Peter f

+------------------+
|name startts endts|
| A   02:20  02:23 |
| A   02:23  02:25 |
| A   02:27  02:28 |
| B   02:20  02:23 |
| B   02:23  02:25 |
| B   02:25  02:27 |
| C   02:27  02:28 |
| D   02:27  02:28 |
| D   02:28  02:31 |
| E   02:27  02:28 |
| E   02:29  02:31 |
+------------------+

,

unnest的另一个选项

library(dplyr)
library(tidyr)
tibble(gender,names) %>%
    unnest(c(gender,names))

数据

gender <- list(c('m','f','m','f'))
names <- list(c('Peter','Peter','Anna','Peter'))