Я много раз искал переполнение стека, не найдя ответа на следующий вопрос: Я ищу функцию, которая позволяет мне проверить, содержат ли какие-то столбцы какие-либо из указанных строк.Тест для нескольких строк в нескольких столбцах
# I'm looking for heart attacks
infarction <- c("b", "c")
# I'm also looking for strokes
stroke <- c("h", "i")
#sample data set
set.seed(1234)
dat <- data.frame(A = sample(letters[1:9],10,TRUE),
B = sample(letters[1:9],10,TRUE),
C = sample(letters[1:9],10,TRUE),
D = sample(letters[1:9],10,TRUE),
DATE = sample.int(10, size = 10, replace = FALSE))
# I've tried many things. Among them:
# first one using the dplyr package.
infarction = ifelse((infarction %in% dat[,c("A", "B", "C", "D")]), DATE, NA))
#excluded a few rows from the mutate...
#I've also tried
grep(paste(infarction,collapse="|"), dat[,1:4], value=TRUE), DATE, NA))
Подводя итог. Я могу заставить его работать, если я проверяю только один столбец или смотрю только на одну из строк. Но мне нужно проверить, содержится ли какая-либо из строк в любом из указанных столбцов, и в этом случае вернуть значение даты в качестве новой переменной.
Любая помощь очень ценится.
Что выход вы ищете? Массив номеров строк? Логическое? – Pop
Учитывая, что я собираюсь создать новую переменную из этого условия, я думаю, что логический выход будет предпочтительнее. –