我使用R中Matrix
包中的bdiag
函數生成對角矩陣,然後將生成的矩陣(稱爲mat
)傳遞給自寫函數,但R無法執行由於以下錯誤:R中的S4對象無法傳遞給Fortran
Error: invalid mode (S4) to pass to Fortran (arg 1)
我檢查isS4(mat)
和它的TRUE
。因此,我想有一種方法可以以某種方式轉換S4對象,以便傳遞給函數。任何建議將不勝感激!
更新:我使用的構造塊對角矩陣以下代碼:
grp.ids <- as.factor(c(rep(1,8), rep(2,4), rep(3,2)))
x <- model.matrix(~grp.ids)
X <- do.call(bdiag, replicate(238, x, simplify=FALSE))
是否有任何其他的方式來獲得,而無需使用bdiag
功能的S3矩陣?謝謝!
請參閱[本] [1]尋求解決方案。 [1]:http://stackoverflow.com/questions/13062164/repeat-a-matrix-many-times-and-get-a-vector-of-matrix-names – alittleboy