R Функция отображения по списку столбцов, где каждый столбец l oop по переменным во втором кадре данных - PullRequest
0 голосов
/ 09 января 2020

У меня есть функция, похожая на регрессию, которую я хочу запустить, используя каждый тиббл в списке x, чтобы предопределить каждую переменную в тиббле y (т. Е. Не в списке). Я использую формат:

mapply(FUN, x, y, SIMPLIFY= TRUE)

Однако, если x включает список из двух фрагментов (Tibble1 и Tibble2); и у включают две переменные (V1 и V2); Мне бы хотелось иметь 4 разных выхода, но я получаю только 2.

То есть я хочу, чтобы данные Tibble1 производили два отдельных результата, один для V1 и один для V2, а затем два Tibble2 производят отдельные результаты для V1 и V2. Имеет ли это смысл?

Ответы [ 2 ]

1 голос
/ 09 января 2020

У меня были трудности с получением ответа @ akrun на работу; но, основываясь на комментарии @Onyambu, я наконец решил свою проблему, которая, я надеюсь, может помочь другим:

# Get variable names in list y
variables <- dput(names(y))
# Duplicate variables names in y to as many different objects in list x
variables <- rep(variables, length(x))
# Create dataframe with duplicated variables
y <- y[c(variables)]
# Order columns alphabetically
y <- y[,order(colnames(y))]

output <- mapply(myFUN, x, y, SIMPLIFY=FALSE)
1 голос
/ 09 января 2020

Мы можем использовать map2

library(purrr)
map2(list(Tibble1, Tibble2), list(V1, V2), yourfun)

Или с Map

Map(yourfun, list(Tibble1, Tibble2), list(V1, V2))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...