我很难理解以下几点:
mean(sim[2, sim[1, ] == 1] == 1) # [1] 0.4583333
如果前面的内容是可能的,为什么下面的内容提供0?
> sim = matrix(c(1,2,1,2,1,2), nrow = 2, ncol = 3, byrow = TRUE)
> sim
[,1] [,2] [,3]
[1,] 1 2 1
[2,] 2 1 2
>
> # list 2nd row of the matrix
> row2 <- sim[2, sim[1, ] == 1] == 1
> row2
[1] FALSE FALSE
>
> mean(row2)
[1] 0发布于 2019-05-09 06:57:28
你实际上是在取一个逻辑值的平均值--真或假。Mean是将每个假值计算为0,每个真值计算为1。因此,在第2行中,平均值(0+0)/2 =0有两个假值。在第1行中,有两个平均值为(1+1)/2 = 1的真值。
sim = matrix(c(1,2,1,2,1,2), nrow = 2, ncol = 3, byrow = TRUE)
row2 <- sim[2, sim[1, ] == 1] == 1
row2
mean(row2)
row1 <- sim[1, sim[1, ] == 1] == 1
row1
mean(row1)https://stackoverflow.com/questions/56048554
复制相似问题