我在 R 中有一个表格,我想更改每一行,以便数字按比例增加,而不是总数量。
例如,如果我的第一行是 2,2,0 我想成功 0.5,.5,0
同样,如果有一行 4,15,1 我想成功 0.2,0.75,0.05
有没有办法一次对整个表格执行此操作?我知道这可能很容易,但我已经做了很长时间了。
答案 0 :(得分:4)
你可以试试这个:
# sample data
a <- rbind(c(2,2,0), c(4,15,1))
# solution
a / apply(a, 1, sum)
# [,1] [,2] [,3]
#b 0.5 0.50 0.00
#a 0.2 0.75 0.05
答案 1 :(得分:4)
如果您的数据是矩阵,
my_data = matrix(rpois(12, lambda = 5), nrow = 4)
然后这是一种方法:
my_data / rowSums(my_data)