在R中按比例显示表值

时间:2015-04-20 00:35:32

标签: r

我在 R 中有一个表格,我想更改每一行,以便数字按比例增加,而不是总数量。

例如,如果我的第一行是 2,2,0 我想成功 0.5,.5,0

同样,如果有一行 4,15,1 我想成功 0.2,0.75,0.05

有没有办法一次对整个表格执行此操作?我知道这可能很容易,但我已经做了很长时间了。

2 个答案:

答案 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)