Hi, It is better to ?dput() your example dataset. temp<- list(structure(c(16.91569, 190.89517, 169.70239, 162.14503, 190.8952, 2573.2651, 1966.6202, 1829.3142, 169.7024, 1966.6202, 2335.3354, 1676.7749, 162.145, 1829.314, 1676.775, 2106.543), .Dim = c(4L, 4L), .Dimnames = list(NULL, NULL)), structure(c(29.27022, 329.11422, 285.28642, 272.5794, 329.1142, 4454.2464, 3189.73, 3072.6324, 285.2864, 3189.73, 3818.7995, 2776.0347, 272.5794, 3072.6324, 2776.0347, 3379.8037), .Dim = c(4L, 4L), .Dimnames = list(NULL, NULL)), structure(c(455.0825, 5496.1986, 4659.3058, 5236.8703, 5496.199, 85142.057, 62349.821, 63831.882, 4659.306, 62349.821, 59095.705, 57275.576, 5236.87, 63831.88, 57275.58, 70368.44), .Dim = c(4L, 4L), .Dimnames = list(NULL, NULL)))
library(Matrix) #I am not using R studio. So, this may or may not help you. A=matrix(0,18,18) A[4:15,4:15] <- bdiag(temp) #Error in A[4:15, 4:15] <- bdiag(temp) : # number of items to replace is not a multiple of replacement length A1<-as(A,"sparseMatrix") A1[4:15,4:15]<- bdiag(temp) A1 18 x 18 sparse Matrix of class "dgCMatrix" [1,] . . . . . . . . . [2,] . . . . . . . . . [3,] . . . . . . . . . [4,] . . . 16.91569 190.8952 169.7024 162.145 . . [5,] . . . 190.89517 2573.2651 1966.6202 1829.314 . . [6,] . . . 169.70239 1966.6202 2335.3354 1676.775 . . [7,] . . . 162.14503 1829.3142 1676.7749 2106.543 . . [8,] . . . . . . . 29.27022 329.1142 [9,] . . . . . . . 329.11422 4454.2464 [10,] . . . . . . . 285.28642 3189.7300 [11,] . . . . . . . 272.57940 3072.6324 [12,] . . . . . . . . . [13,] . . . . . . . . . [14,] . . . . . . . . . [15,] . . . . . . . . . [16,] . . . . . . . . . [17,] . . . . . . . . . [18,] . . . . . . . . . [1,] . . . . . . . . . [2,] . . . . . . . . . [3,] . . . . . . . . . [4,] . . . . . . . . . [5,] . . . . . . . . . [6,] . . . . . . . . . [7,] . . . . . . . . . [8,] 285.2864 272.5794 . . . . . . . [9,] 3189.7300 3072.6324 . . . . . . . [10,] 3818.7995 2776.0347 . . . . . . . [11,] 2776.0347 3379.8037 . . . . . . . [12,] . . 455.0825 5496.199 4659.306 5236.87 . . . [13,] . . 5496.1986 85142.057 62349.821 63831.88 . . . [14,] . . 4659.3058 62349.821 59095.705 57275.58 . . . [15,] . . 5236.8703 63831.882 57275.576 70368.44 . . . [16,] . . . . . . . . . [17,] . . . . . . . . . [18,] . . . . . . . . . A.K. Why the following R code doesn't work in R studio??? temp <- vector("list",3) temp [[1]] [,1] [,2] [,3] [,4] [1,] 16.91569 190.8952 169.7024 162.145 [2,] 190.89517 2573.2651 1966.6202 1829.314 [3,] 169.70239 1966.6202 2335.3354 1676.775 [4,] 162.14503 1829.3142 1676.7749 2106.543 [[2]] [,1] [,2] [,3] [,4] [1,] 29.27022 329.1142 285.2864 272.5794 [2,] 329.11422 4454.2464 3189.7300 3072.6324 [3,] 285.28642 3189.7300 3818.7995 2776.0347 [4,] 272.57940 3072.6324 2776.0347 3379.8037 [[3]] [,1] [,2] [,3] [,4] [1,] 455.0825 5496.199 4659.306 5236.87 [2,] 5496.1986 85142.057 62349.821 63831.88 [3,] 4659.3058 62349.821 59095.705 57275.58 [4,] 5236.8703 63831.882 57275.576 70368.44 A=matrix(0,18,18) A[4:15,4:15] <- bdiag(temp) _______________________________________________ The returned error is: Error:as(x, "CsparseMatrix") : no method or default for coercing “list” to “CsparseMatrix” Why the bdiag code doesn't work? ______________________________________________ R-help@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.