比较数组行

时间:2015-10-25 21:19:47

标签: r

我想将数组的第一行与其余数组进行比较。 所以我运行以下代码,但结果不符合预期。 例如,标志[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

谢谢大家。

1 个答案:

答案 0 :(得分:3)

R将数组存储在列中,而不是存储在行中。你想要:

t(t(yy) >= yy[1,])

另一种方法是:

yy >= matrix(yy[1,], nrow(yy), ncol(yy), byrow = TRUE)