我正在尝试用另一个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)
}
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
您可以很容易地对行和列进行子集化。
fractions(X)[1:3, 1:3] [,1] [,2] [,3] [1,] 1/5 0 0 [2,] 0 1/5 0 [3,] 0 0 1/5