Je cette dataframe:dataframe ayant des éléments de liste et nous vérifions une valeur y est présent ou non dans chaque ligne que DF
df = structure(list(session_id = 1:14, rv = list(c(1, 2, 3), 4, c(5,
6), c(7, 8), 5, c(9, 6, 10, 10), c(9, 6), c(11, 9, 12, 13), c(8,
3, 9), 3, 14, c(13, 11, 15), c(6, 6), 16)), row.names = c(NA,
14L), vars = list(session_id), drop = TRUE, .Names = c("session_id",
"rv"), class = c("rowwise_df", "tbl_df", "tbl", "data.frame"))
Maintenant, je veux vérifier si la valeur 9 est présent dans ce rv colonnes regroupées par ID de session. Par exemple. vérification de la première ligne rv [[1]] 9 n'est pas présent retour 0 .Au reste de vérification pour la 2e rangée rv [[2]] 9 n'est pas présent .... dans la 6ème rangée rv [[6]] 9 est présent donc retourne son position d'index 1 ... De même dans la 9ème rangée de rv [[9]] 9 est présent au 3ème indice le renvoyer ....... Donc l'idée est si la valeur 9 est présente dans la position d'index de retour rv sinon retourner 0. J'espère que cela suffira à expalin ce que l'idée est.
Vous cherchez dplyr way.
ouais votre réponse est utile mais la liste rv en quelque sorte triée dans l'ordre croissant et donnant des index pas réels .. vous regardez la sortie .Pour 6 et 7 rangs 9 était 1 élément – SumitArya
Ouais, vous avez raison! Cela est arrivé, parce que j'ai utilisé 'which.min', au lieu de' which.max'. 'which.max' trouve le premier index qui est TRUE,' which.min' renvoie le premier index qui est FALSE. – kath