2015-11-27 100 views
0

我分配了一個矩陣與Ĵ不同的名稱:標與分配產生的矩陣()

j <- 2L 
assign(paste0("pca", j,".FAVAR_fcst", sep=""), matrix(ncol=24, nrow=12)) 

這工作很整齊。然後我嘗試訪問矩陣

paste0("pca", j,".FAVAR_fcst", sep="")[,2] 

的一列,出現以下錯誤:

Error in paste0("pca", j, ".FAVAR_fcst", sep = "")[, 2] : incorrect number of dimensions

我試過幾個變化和組合與cat()print()capture.output(),但似乎沒有任何工作。我不知道我必須準確搜索並找不到解決方案。你可以幫我嗎?

+0

約'得到(paste0( 「PCA」,J,什麼 「FAVAR_fcst」 ,sep =「」))[,2]' –

+1

如何閱讀'assign'的幫助頁面,特別是示例的最後部分? –

+0

謝謝你,這會很容易...... – nelakell

回答

1

您可以使用get

get(paste0("pca", j,".FAVAR_fcst", sep="")) # for the matrix 

get(paste0("pca", j,".FAVAR_fcst", sep=""))[,2] # for the column 
# [1] NA NA NA NA NA NA NA NA NA NA NA NA 

的其他解決辦法是結合evalas.symbol

eval(as.symbol(paste0("pca", j,".FAVAR_fcst", sep="")))[,2] 
# [1] NA NA NA NA NA NA NA NA NA NA NA NA 
+2

大多數情況下,另一種解決方案是將矩陣放在列表中! –