У меня есть следующая таблица с упорядоченными переменными:
table <- data.frame(Ident = c("Id_01", "Id_02", "Id_03", "Id_04", "Id_05", "Id_06"),
X01 = c(NA, 18, 0, 14, 0, NA),
X02 = c(0, 16, 0, 17, 0, 53),
X03 = c(NA, 15, 20, 30, 0, 72),
X04 = c(0, 17, 0, 19, 0, NA),
X05 = c(NA, 29, 21, 23, 0, 73),
X06 = c(0, 36, 22, 19, 0, 55))
Ident X01 X02 X03 X04 X05 X06
Id_01 NA 0 NA 0 NA 0
Id_02 18 16 15 17 29 36
Id_03 0 0 20 0 21 22
Id_04 14 17 30 19 23 19
Id_05 0 0 0 0 0 0
Id_06 NA 53 72 NA 73 55
Из предыдущего вопроса у меня есть следующий код, предоставленный пользователем здесь , для поиска по строке одногоусловие (1-я и 2-я позиция> 0) и возврат позиции вхождения (имя переменной для конкретной позиции):
apply(table[-1], 1, function(x) {
i1 <- x > 0 & !is.na(x)
names(x)[which(i1[-1] & i1[-length(i1)])[1]]})
Я ищу, чтобы добавить второе условие к apply
код, поэтому условия должны быть:
- 1-е и 2-е вхождение (последовательное)> 0
ИЛИ
Учитывая это изменение, результат оценки для таблицы, опубликованной ранее, должен быть:
Для Id_01: никогда не происходит (нет данных?)
Для Id_02: 1-я позиция (X01)
Для Id_03: 3-я позиция (X03)
Для Id_04: 1-я позиция (X01)
Для Id_05: никогда не происходит (нет?)
Для Id_06: 2-я позиция (X02)
Заранее спасибо!