我正在尝试用另一个R大小相同的矩阵填充一个矩阵
pivot_simplex_fract<-function(matrice){
n_row_matrix_2<-nrow(matrix_Standard) #number of the matrix
n_col_matrix_2<-ncol(matrix_Standard)
for (i in n_row_matrix_2){
for (j in n_col_matrix_2) {
matrix<-fractions(matrice[i,j])
}
}
return(matrix)
}
答案 0 :(得分:1)
MASS 软件包中的fractions
函数可以与矩阵一起使用。您实际上不需要使用双循环。假设您有一个这样的矩阵:
X <- diag(5)/5
X
[,1] [,2] [,3] [,4] [,5]
[1,] 0.2 0.0 0.0 0.0 0.0
[2,] 0.0 0.2 0.0 0.0 0.0
[3,] 0.0 0.0 0.2 0.0 0.0
[4,] 0.0 0.0 0.0 0.2 0.0
[5,] 0.0 0.0 0.0 0.0 0.2
您可以足够容易地对行和列进行子集化。
MASS::fractions(X)[1:3, 1:3]
# [,1] [,2] [,3]
# [1,] 1/5 0 0
# [2,] 0 1/5 0
# [3,] 0 0 1/5