R вопрос. Создайте новый набор данных, отвечающий всем 4 условиям

Я хотел бы создать новый набор данных, в котором выполняются следующие четыре условия.

rowSums(is.na(UNCA[,11:23]))<12

rowSums(is.na(UNCA[,27:39]))<12

rowSums(is.na(UNCA[,40:52]))<12

rowSums(is.na(UNCA[,53:65]))<12

Спасибо!


person Michael    schedule 16.05.2010    source источник
comment
Я все еще не совсем понимаю твои намерения. Пожалуйста, введите фиктивные данные, чтобы мы могли решить вашу проблему. Не могли бы вы объяснить, что означает dataset? data.frame или vector? Или что-то другое? @Shane, очевидно, понял, но я не понимаю, в чем дело ...   -  person aL3xa    schedule 17.05.2010
comment
Похоже, вы проверяете наличие значений, отличных от NA. any(!is.na(UNCA[,rows])) может быть яснее.   -  person Richie Cotton    schedule 17.05.2010


Ответы (1)


Затем используйте оператор &:

UNCA.new <- UNCA[rowSums(is.na(UNCA[,11:23])) < 12 & 
                 rowSums(is.na(UNCA[,27:39])) < 12 & 
                 rowSums(is.na(UNCA[,40:52])) < 12 &  
                 rowSums(is.na(UNCA[,53:65])) < 12, ]

Одиночный & - это векторизованная функция, а двойной && - унарный (обычно используется, например, в операторе if).

person Shane    schedule 16.05.2010