web-dev-qa-db-fra.com

R: compte les NA par ligne dans la trame de données

J'ai une base de données qui a un identifiant de lot et les résultats de six tests effectués sur chaque lot. Les données ressemblent à ceci:

batch_id  test1  test2  test3  test4  test5  test6
001       0.121     NA  0.340  0.877  0.417  0.662
002       0.229  0.108     NA  0.638     NA  0.574

(il y a quelques centaines de lignes dans cette base de données, une seule ligne par batch_id)

Je cherche un moyen de compter combien d'AN il y a pour batch_id (pour chaque ligne). Je pense que cela devrait être possible avec quelques lignes de code R au plus, mais j'ai du mal à le coder. Des idées?

19
Shark7

Vous pouvez ajouter une nouvelle colonne à votre cadre de données contenant le nombre de NA valeurs par batch_id:

df$na_count <- apply(df, 1, function(x) sum(is.na(x)))
27
Tim Biegeleisen

Vous pouvez compter le NAs dans chaque ligne avec cette commande:

rowSums(is.na(dat))

dat est le nom de votre trame de données.

51
Sven Hohenstein