Я хочу запустить цикл, используя ifelse()
и включая NA
в R. Вот пример моего набора данных с именем DATA
:
[,1] [,2] [,3] [,4]
ID1 NA NA NA
ID2 0 0 0
ID3 1 1 1
ID4 0 0 1
ID5 1 1 0
ID6 0 NA 1
ID7 NA 0 0
ID8 NA 1 1
По сути, я хочу добавить новыйстолбец в конце, используя эти критерии:
- Если в столбце 2 есть хотя бы один «1», то 3 или 4 => 1
- Если в «NO» НЕТ «1»столбец 2, 3 или 4, но по крайней мере один «0» => 0
- Если в столбце 2, 3 или 4 есть только «NA» => НИЧЕГО
Iдумал использовать что-то подобное, но это не работает.Он возвращает:
"NA" if there is no "1", but at least one "0", instead of
"NOTHING"
Пример для строки 6:
*ifelse(any((DATA[6,c(2:4)])==1), "1", ifelse(any((DATA[6,c(2:4)])==0), "0",
"NOTHING"))*
Я действительно не хочу возвращать "НИЧЕГО" .В действительности я хочу "NA" , но чтобы проверить, был ли "NA" результатом чего-то, что не работает, я использовал "НИЧЕГО".Я также хочу зациклить все для каждой строки в моем наборе данных, но я не очень хорош в этом.