我有一个包含5列和20行的矩阵。对于每一行,我想找到行所有偶数的比例,并按行写入。我的麻烦在于找到偶数的比例。
所以这是输出的一部分:
1 2 3 4 5
[1,] 6 5 1 2 5
x <- apply(matrix, 1, length(matrix %% 2 == 0)/5)
matrix <- cbind(matrix, x)
答案 0 :(得分:1)
看看?"%%"
。这是一个例子:
## reproducible example
set.seed(1)
mat <- matrix(
sample(1:10,5*20,replace = TRUE),
nrow = 20, ncol = 5, byrow = TRUE)
## 1- convert matrix to a logical one using %%
## 2- compute occurrence of TRUE value using the vectorised rowSums
## 3- divide by the number of column to convert occurrence to proportions
rowSums(mat %% 2 ==0)/ncol(mat)