/ / Jak sprawdzić, czy pierwsza kolumna macierzy zawiera wartość z wektora - r, funkcja

Jak sprawdzić, czy pierwsza kolumna macierzy zawiera wartość z wektora - r, funkcja

fn <- function(D, e) {
for(i in 1:nrow(D)) {
if(D[i,1] == e) {
print("y")
}
}
}

fn(events, "a")

Problem: events jest matrycą 2-na-ni. Jeśli zamiast "a", Chcę przejść c("a","b","c") w e, a następnie jak sprawdzić if(D[i,1]==e) stan?

Odpowiedzi:

3 dla odpowiedzi № 1

To jest proste:

if any((D[i, 1] %in% e))

2 dla odpowiedzi nr 2

Podejdę do tego tak:

x <- matrix(sample(letters, 25), ncol = 5)

> x
[,1] [,2] [,3] [,4] [,5]
[1,] "k"  "v"  "n"  "l"  "f"
[2,] "w"  "c"  "y"  "r"  "i"
[3,] "u"  "p"  "o"  "q"  "j"
[4,] "g"  "s"  "d"  "t"  "x"
[5,] "a"  "z"  "b"  "h"  "m"

e <- c("r", "e", "d")
apply(x, 1, function(x, e) any(x %in% e), e = e)

[1] FALSE  TRUE FALSE  TRUE FALSE