问题描述
我有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'))