Как мне присоединить переменную Y к каждой переменной X в кадре данных? - PullRequest
0 голосов
/ 11 мая 2019

У меня есть фрейм данных из 200 переменных X и 1 переменной Y. Я хочу отделить каждую переменную X и объединить каждую переменную Y. Например,

X1=rnorm(10, mean=5, as=2)
X2=rnorm(10, mean=5, as=2)
X2=rnorm(10, mean=5, as=2)
yvar=runif(10, 6,9)

И переменные X находятся в кадре данных rand_data

rand_data=cbind(X1,X2,X3)

Я использовал этот код:

for (i in length (p)){ #p is the number of X variables
    s=matrix (0, nrow=10, ncol=2)
    for( j in p[i])
    s= cbind(yvar, rand_data[ ,i]) #rand_data is the matrix containing #all the X variables and yvar is the y variable
    }
}

Я получаю фрейм данных с двумя переменными, и мне нужен список фреймов с двумя переменными в каждом.

1 Ответ

2 голосов
/ 11 мая 2019

Один вариант будет

nm1 <- setdiff(names(df1), "Y")
lapply(nm1, function(x) cbind(df1["Y"], df1[x]))

Другой будет

library(purrr)
library(dplyr)
map(nm1, ~
         df1 %>% 
             select(Y, .x))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...