Организовать список векторов - PullRequest
0 голосов
/ 07 мая 2018

У меня есть список векторов и еще один вектор. Я хотел бы организовать список векторов в соответствии со значениями другого вектора

a <- c(1, 2)
b <- c(1, 4)
c <- c(1, 1)  
x <- list(a, b, c)  # list of vector
v <- c(3, 2, 5)     # other vector

Здесь я хочу расположить x в соответствии с v. Таким образом, желаемый результат будет:

 2  b
 3  a
 5  c

Ответы [ 2 ]

0 голосов
/ 07 мая 2018

Вот вариант с stack и arrange

library(dplyr)
v %>%
   set_names(letters[1:3]) %>%
   stack %>%
   arrange(values)
#   values ind
#1      2   b
#2      3   a
#3      5   c
0 голосов
/ 07 мая 2018

Список первого порядка x на основе порядка вектора v, а затем связать вектор с именами упорядоченного списка, чтобы сформировать связанный столбец.

Это будет что-то вроде:

cbind(as.data.frame(v), col = names(x))[order(v),]
#  v col
#2 2   b
#1 3   a
#3 5   c

Данные:

a <- c(1, 2)
b <- c(1, 4)
c <- c(1, 1)  
x <- list(a=a, b=b, c=c)  # list of vector
v <- c(3, 2, 5)     # other vector
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...