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?