r,cbind两列,值按指定顺序排列



我有两个列表,一个是性别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

最新更新