Tôi đang cố gắng chia tỷ lệ các giá trị trong ma trận sao cho mỗi cột thêm tối đa một cột. Tôi đã thử:Chia cột bằng colSums trong R
m = matrix(c(1:9),nrow=3, ncol=3, byrow=T)
[,1] [,2] [,3]
[1,] 1 2 3
[2,] 4 5 6
[3,] 7 8 9
colSums(m)
12 15 18
m = m/colSums(m)
[,1] [,2] [,3]
[1,] 0.08333333 0.1666667 0.25
[2,] 0.26666667 0.3333333 0.40
[3,] 0.38888889 0.4444444 0.50
colSums(m)
[1] 0.7388889 0.9444444 1.1500000
vì vậy rõ ràng điều này không hiệu quả. Sau đó tôi cố gắng này:
m = m/matrix(rep(colSums(m),3), nrow=3, ncol=3, byrow=T)
[,1] [,2] [,3]
[1,] 0.08333333 0.1333333 0.1666667
[2,] 0.33333333 0.3333333 0.3333333
[3,] 0.58333333 0.5333333 0.5000000
m = colSums(m)
[1] 1 1 1
để làm việc này, nhưng nó cảm thấy như tôi là thiếu một cái gì đó ở đây. Đây không thể là cách nó được thực hiện thường xuyên. Tôi chắc chắn tôi đang ngu ngốc ở đây. Bất kỳ giúp bạn có thể cung cấp sẽ được đánh giá Chúc mừng, Davy
Brilliant. Cảm ơn bạn! Xấu hổ rằng tôi hoàn toàn quên mất 'prop.table()'. –