我有两个列表,一个是性别c('m', 'f', 'f', 'm', 'f')
,另一个是名字c('Peter', 'Peter', 'Anna', 'Anna', 'Peter')
。我想将这两列join
/merge
转换为一个数据帧,其中性值适合于名称(Peter用m,Anna用f(。
如何在R中执行此操作?
谢谢你们的帮助!
unnest
的另一个选项
library(dplyr)
library(tidyr)
tibble(gender, names) %>%
unnest(c(gender, names))
数据
gender <- list(c('m', 'f', 'f', 'm', 'f'))
names <- list(c('Peter', 'Peter', 'Anna', 'Anna', 'Peter'))
假设您有以下两个列表:
gender = list(c('m', 'f', 'f', 'm', 'f'))
names = list(c('Peter', 'Peter', 'Anna', 'Anna', 'Peter'))
一种选择是使用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