我想将数组的第一行与其余数组进行比较。 所以我运行以下代码,但结果不符合预期。 例如,标志[2,1]是FALSE而不是TRUE(2> 1)。 知道我做错了吗?
yy <- array(data = c(1:16), dim = c(4,4))
yy
# [,1] [,2] [,3] [,4]
#[1,] 1 5 9 13
#[2,] 2 6 10 14
#[3,] 3 7 11 15
#[4,] 4 8 12 16
flag <- (yy >= yy[1, ])
flag
# [,1] [,2] [,3] [,4]
#[1,] TRUE TRUE TRUE TRUE
#[2,] FALSE TRUE TRUE TRUE
#[3,] FALSE FALSE TRUE TRUE
#[4,] FALSE FALSE FALSE TRUE
谢谢大家。
答案 0 :(得分:3)
R将数组存储在列中,而不是存储在行中。你想要:
t(t(yy) >= yy[1,])
另一种方法是:
yy >= matrix(yy[1,], nrow(yy), ncol(yy), byrow = TRUE)