2015-05-26 6 views
3

У меня есть 100 числовых векторов с именем sim1 to sim100 в моей рабочей области с одинаковой длиной (18). Я пытаюсь найти способ идентифицировать их и привязать их к созданию кадра данных из 18 строк и 100 столбцов. Я могу легко создать символьный вектор длиной 100, который содержит имена векторов:Идентифицировать и cbind несколько векторов на основе имени вектора

myvector<-ls() 
myvector<-[grep("sim",myvector)] 

..но я застрял на том, как создать список самих объектов, которые я предполагаю, что я мог бы использовать с do.call. Любые предложения, пожалуйста?

+0

Похоже, может быть обманутым: http://stackoverflow.com/questions/13105888/in-r- how-to-easy-comb-many-vectors-in-dataframe – Frank

ответ

2

Вы можете попробовать

do.call(cbind.data.frame, mget(paste0('sim', 1:100))) 

Или, как @Frank упомянуто в комментариях

data.frame(mget(paste0('sim', 1:100))) 
+1

Является ли 'data.frame' таким же, как' cbind.data.frame' здесь, эффективно? На самом деле, я думаю, 'as.data.frame (mget (...))' также работает. – Frank

+0

@Frank Это то же самое, но я начал с 'cbind', а затем был изменен на' cbind.data.frame'. Кроме того, 'data.frame (mget (...))' – akrun

+1

Спасибо за эти ответы. Действительно полезно. –