J'ai un problème avec le comptage d'objets dans un vecteur. Le problème est que j'ai une colonne avec des identifiants et une colonne d'indicateurs (réponses à choix multiples). Pour gérer le choix multiple, je l'ai mis dans une valeur vectorisée. Voici l'exemple, qui ressemble certainement à mes données:
structure(list(id = c("000c6",
"0016c", "00194",
"00221", "0026e",
"002fa", "0032a",
"00331", "004ea",
"00616"), indicators = list(c("1",
"0", "1", "0", "0", "1", "0", "1", "-1", "0", "0", "0", "0",
"0", "0", "0", "1", "0", "0", "0", "0", "1", "0", "0", "0", "0",
"0", "0", "-1", "0", "0", "0", "0", "0", "0", "0", "0", "0",
"1", "1", "0", "0", "", "1", "0", "0", "0", "0", "0", "1", "1",
"0", "0", "0", "0", "0", "0", "0", "0", "1", "1", "0", "0", "0",
"1", "-1", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0",
"1", "0", "0", "0", "0", "0", "0", "0", "-1", ""), c("", "0",
"-1", "0", "0", "0", "0", "1", "0", "1", "1", "0", "-1", "0",
"1", "0", "0", "0", "1", "0", "0"), c("", "1", "1", "1", "0",
"0", "0", "0", "0", "0", "1", "0", "0", "0", "0", "0", "1", "0",
"1", "0", "0", "0", "1", "0", "0", "1", "0", "0", "0", "0", "1",
"0", "0", "0", "0", "1", "0", "1", "0", "0", "0", "0", "", "",
"0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0",
"0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0",
"0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0",
"0", "0", "", "", "0", "0", "0", "0", "0", "0", "0", "0", "0",
"0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0",
"0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0",
"0", "0", "0", "0", "0", "0", "", "", "0", "0", "0", "0", "0",
"0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0",
"0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0",
"0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "", "", "0",
"0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0",
"0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0",
"0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0",
"0", ""), NULL, NULL, c("", "0", "-1", "0", "-1", "0", "-1",
"-1", "1", "0", "-1", "1", "0", "0", "0", "0", "0", "0", "0",
"1", "0", "0", "0", "0", "0", "0", "1", "1", "0", "0", "0", "1",
"0", "-1", "0", "-1", "0", "0", "-1", "0", "0", "1", "", "",
"0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0",
"0", "0", "0", "-1", "0", "0", "0", "0", "0", "0", "0", "0",
"0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0",
"0", "0", "0", "", "", "0", "0", "0", "0", "0", "0", "0", "0",
"0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0",
"0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0",
"0", "0", "0", "0", "0", "0", "0", "", "", "0", "0", "0", "0",
"0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0",
"0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0",
"0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", ""), c("1",
"0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0",
"0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0",
"0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0",
"0", "0", ""), NULL, NULL, c("", "0", "1", "0", "1", "-1", "0",
"0", "0", "1", "-1", "1", "-1", "0", "0", "1", "0", "-1", "0",
"0", "0", "0", "-1", "0", "0", "1", "0", "0", "1", "0", "0",
"1", "0", "-1", "0", "0", "-1", "0", "-1", "0", "0", "0", "",
"", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0",
"0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0",
"0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0",
"0", "0", "0", "", "", "0", "0", "0", "0", "0", "0", "0", "0",
"0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0",
"0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0",
"0", "0", "0", "0", "0", "0", "0", "", "", "0", "0", "0", "0",
"0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0",
"0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0",
"0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "", "",
"0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0",
"0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0",
"0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0",
"0", "0", ""))), class = c("tbl_df", "tbl", "data.frame"), row.names = c(NA,
-10L))
Je veux compter le nombre de cellules dans indicators
, là où la valeur n'est pas NULL
. Comment puis je faire ça? La principale difficulté pour moi est que la indicators
colonne contient des vecteurs, pas une seule valeur.
Nous pouvons utiliser lengths
pour obtenir la longueur de chaque élément dans la indicators
colonne.
lengths(df$indicators)
#[1] 86 21 215 0 0 172 43 0 0 215
Nous pouvons maintenant compter les valeurs supérieures à 0.
sum(lengths(df$indicators) > 0)
#[1] 6
Bien que vous n'ayez pas besoin d'une boucle ici, vous pouvez également utiliser sapply
avec is.null
:
sum(!sapply(df$indicators, is.null))
Este artículo se recopila de Internet, indique la fuente cuando se vuelva a imprimir.
En caso de infracción, por favor [email protected] Eliminar
Déjame decir algunas palabras