2015-05-26 20 views
3

我有100個數字向量,命名爲sim1 sim100在我的工作區,所有相同的長度(18)。我試圖找到一種方法來識別它們,並且讓它們創建一個18行和100列的數據框。我可以很容易地創建一個包含了向量的長度名稱100的特徵向量:基於向量名稱識別和cbind多個向量

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

..但我被困在如何創建對象本身的列表,我假設,然後我可以使用do.call。有什麼建議嗎?

+0

相似,也許是欺騙:http://stackoverflow.com/questions/13105888/in-r-如何將多個向量輕鬆地組合成一個數據框 – 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

感謝這些答案。真的很有用。 –