Как я могу транспонировать каждый вектор списка, присвоить им уникальный номер и связать их в r? - PullRequest
0 голосов
/ 07 февраля 2019

У меня есть следующий список, и я хотел бы создать data.frame с каждым из списков (их много).Вот пример:

v11 <- c("was_on_the_moon", "safe", "best", "super")
v22 <- c("no", "yes", "three", "four")
dat1 <- data.frame(cbind(v11, v22))
v11 <- c("was_on_the_moon", "safe", "best", "super")
v22 <- c("no", "yes", "three", "four")
dat2 <- data.frame(cbind(v11, v22))
list_first <- list(dat1, dat2)

Результат должен быть следующим:

  was_on_the_moon safe   best super 
1 yes              yes  three  four
2 no              sure  check  four

Ответы [ 2 ]

0 голосов
/ 07 февраля 2019

A tidyverse решение:

map(list_first, ~ setNames(., c("var", "val"))) %>%
  bind_rows(.id = "id") %>%
  spread(var, val)
0 голосов
/ 07 февраля 2019
a <- unlist(myfiles, recursive = FALSE)
names <- a$V1
t(sapply(myfiles, function(x) setNames(x$V11, names)[match(names, x$V22)]))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...