Преобразовать элементы списка в заданный c вектор - PullRequest
1 голос
/ 16 апреля 2020

Я хотел бы преобразовать элементы списка в какой-то определенный c вектор. В моем примере:

#Create a list
mylist<- list(A=c('a','b','c'),B=c(a='d',b='e',c='f'),
             C=c('g','h','i'), D=c(a='j',b='k',c='l'))
mylist
$A
[1] "a" "b" "c"

$B
  a   b   c 
"d" "e" "f" 

$C
[1] "g" "h" "i"

$D
  a   b   c 
"j" "k" "l" 

, и мне нужно создать указанный c вектор:

myvec<-c(test[[1]],test[[2]],test[[3]],test[[4]])

звучит как простое создание этого вектора, но имеет список из 20К элементов и не является Операционный тип в руке myvec<-c(test[[1]],...,test[[20000]]).

Я безуспешно пытаюсь решить такие проблемы, как:

a<-rep("test[[",4)
b<-1:4
c<-rep("]],",4)
myvector<-as.vector(interaction(a,b,c,sep=""))

Любые советы, пожалуйста?

Ответы [ 2 ]

2 голосов
/ 16 апреля 2020

Другая базовая опция R

myvec_out <- c(as.matrix(as.data.frame(mylist)))

доходность

> myvec_out
 [1] "a" "b" "c" "d" "e" "f" "g" "h" "i" "j" "k" "l"
2 голосов
/ 16 апреля 2020

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

myvec <- unlist(mylist, use.names = FALSE)

Или с do.call c

myvec <- do.call(c, myvec)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...