3
您是否知道如何將矩陣轉換爲R中所謂的雙中心矩陣?這樣變換矩陣的總和(col)和總和(行)全部爲零向量。謝謝。R中的雙中心
您是否知道如何將矩陣轉換爲R中所謂的雙中心矩陣?這樣變換矩陣的總和(col)和總和(行)全部爲零向量。謝謝。R中的雙中心
雙定心的矩陣M與下面的算法來完成:
1)生成相同的尺寸比包含在行和列方向手段原始矩陣的兩個矩陣。讓我們稱這兩個矩陣R和C:
| mean(M[1,1:3]) mean(M[1,1:3]) mean(M[1,1:3]) |
R = | mean(M[2,1:3]) mean(M[2,1:3]) mean(M[2,1:3]) |
| mean(M[3,1:3]) mean(M[3,1:3]) mean(M[3,1:3]) |
和
| mean(M[1:3,1]) mean(M[1:3,2]) mean(M[1:3,3]) |
C = | mean(M[1:3,1]) mean(M[1:3,2]) mean(M[1:3,3]) |
| mean(M[1:3,1]) mean(M[1:3,2]) mean(M[1:3,3]) |
2)他們對減去M和添加總均值:M - C - R + grand_mean(M)
。
這裏是執行該代碼:
# example data
M = matrix(runif(9),nrow=3,ncol=3)
# compute the row-wise and column-wise mean matrices
R = M*0 + rowMeans(M) # or `do.call(cbind, rep(list(rowMeans(tst)),3))`
C = t(M*0 + colMeans(M)) # or `do.call(rbind, rep(list(colMeans(tst)),3))`
# substract them and add the grand mean
M_double_centered = M - R - C + mean(M[])
您可以檢查,這給通過計算rowMeans(M_double_centered)
和colMeans(M_double_centered)
正確的答案。
感謝Jealie的解釋。 – Azizah
你有沒有在別的地方做過這個事情的例子?任何鏈接的教程或東西? – Rodrigo
我想將矩陣A轉換成雙中心矩陣 | 1 4 7 | A = | 2 5 8 | | 3 6 9 | – Azizah
我期待更清楚的解釋。 – Rodrigo