-1
我想將矢量轉換爲轉換矩陣。 我有一個向量t和由它的最大值來獲得0和1之間的值除以這個然後我在此爲一個矩陣R轉換矩陣
t <- c(22, 65, 37, 84, 36, 14, 9, 19, 5, 49)
x <- t/max(t)
y <- x%*%t(x)
我的問題是我想要的矩陣(Y)到的列加起來就是1,即將它變成一個轉換矩陣,但我不知道該怎麼做。任何建議感激!
我想將矢量轉換爲轉換矩陣。 我有一個向量t和由它的最大值來獲得0和1之間的值除以這個然後我在此爲一個矩陣R轉換矩陣
t <- c(22, 65, 37, 84, 36, 14, 9, 19, 5, 49)
x <- t/max(t)
y <- x%*%t(x)
我的問題是我想要的矩陣(Y)到的列加起來就是1,即將它變成一個轉換矩陣,但我不知道該怎麼做。任何建議感激!
sweep()
是一個多功能的小功能,你可以在這裏使用其自己的總和除以每列:
yy <- sweep(y, MARGIN = 2, STATS = colSums(y), FUN = "/")
## Confirm that the columns of yy all sum to 1
colSums(yy)
## [1] 1 1 1 1 1 1 1 1 1 1
@這確實讓列加起來之一,但它也導致行的每個元素具有相同的值,即 '[1] [2] [3] [4] [5] [1,] 0.06470588 0.06470588 0.06470588 0.06470588 0.06470588 [2,1] 0.19117647 0.19117647 0.19117647 0.19117647 0.19117647' 有沒有辦法爲這些元素獲取不同的值? – soshea