Я ищу способ исключить ряд ответов из функции длины. Это является продолжением на вопрос из Getting R Frequency counts for all possible answers В SQL синтаксис может бытьИсключая ряд ответов из R dataframe
select * from someTable
where variableName not in (0, null)
Учитывая
Id <- c(1,2,3,4,5)
ClassA <- c(1,NA,3,1,1)
ClassB <- c(2,1,1,3,3)
R <- c(5,5,7,NA,9)
S <- c(3,7,NA,9,5)
df <- data.frame(Id,ClassA,ClassB,R,S)
ZeroTenNAScale <- c(0:10,NA);
R.freq = setNames(nm=c('R','freq'),data.frame(table(factor(df$R,levels=ZeroTenNAScale,exclude=NULL))));
S.freq = setNames(nm=c('S','freq'),data.frame(table(factor(df$S,levels=ZeroTenNAScale,exclude=NULL))));
length(S.freq$freq[S.freq$freq!=0])
# 5
Как бы я изменил
length(S.freq$freq[S.freq$freq!=0])
, чтобы получить ответ на 4, исключив 0 и NA?
'длина (S.freq $ freq [S.freq $ freq! = 0 &! Is.na (S.freq $ S)])'? – Jaap
Если бы вы могли добавить это как ответ @ procrastinatus-maximus, я помечаю его как выбранный ответ. Он выглядит более гибким, чем другие ответы, и позволяет легко добавлять в другие критерии. –