Заполните новый список в R соответствующие столбцы и имена строк - PullRequest
0 голосов
/ 14 ноября 2018

Это мой код:

mydatamatrix<-matrix(rnorm(30),nrow=10,ncol=26);colnames(mydatamatrix)<-LETTERS[1:26]
pairs<-matrix(LETTERS[1:20],ncol=2);

mylist <- rep(list(vector(mode = "list", 2)),nrow(pairs))

Я хотел бы заполнить свой список mylist значениями столбцов матрицы mydatamatrix, но в соответствии с именами пар.

Например: mylist[[1]] должен иметь значения A и K столбцы mydatamatrix.

И mylist[[1]][1] должно быть A mylist[[1]][2] должно быть K.

Как я могу это сделать?

А также я хотел бы назвать позиции mylist[[k]][j] именами из mydatamatrix столбцов, которые будут заполнять mylist.

Это понятно?

Любая помощь? Спасибо

1 Ответ

0 голосов
/ 14 ноября 2018

Мы можем split 'пары' по строкам и извлекать столбцы набора данных в list

lapply(split(pairs, row(pairs)), function(x) 
        list(mydatamatrix[, x[1]], mydatamatrix[, x[2]]))

Или назначить уже созданный 'mylist' с выводомизвлеченные значения с помощью for loop

for(i in seq_along(mylist)) mylist[[i]] <- list(mydatamatrix[, pairs[i,][1]], 
                       mydatamatrix[, pairs[i, ][2]])
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...