Je me demande comment détecter une chaîne de caractères dans un cadre de données R et les 2 ( ou n ) cellules suivantes de la même ligne. Et après la détection, mon but serait de produire une variable indicatrice à partir de ces 3 cellules.
Il est beaucoup plus facile de montrer ce que je veux dire en produisant un exemple. Disons que mon cadre de données ressemble à ceci
table <- data.frame( x1 = c(1,4,6,"Y"), x2 = c("Y",1,"Y",5), x3 = c(1,2,5,4),
x4 = c(2,NA,4,"Y"), x5 = c(NA,NA,6,1), x6 = c(NA,NA,1,5))
x1 x2 x3 x4 x5 x6
1 Y 1 2 NA NA
4 1 2 NA NA NA
6 Y 5 4 6 1
Y 5 4 Y 1 5
Et le but serait un tableau qui ressemble à quelque chose comme ceci
goal_table <- data.frame(Y12 = c(1,0,0,0),Y54 = c(0,0,1,1), Y15 = c(0,0,0,1))
Y12 Y54 Y15
1 0 0
0 0 0
0 1 0
0 1 1
Ainsi, étant donné que dans le tableau original, la première ligne contient la cellule "Y" suivie de "1" et "2", le tableau cible aurait alors la colonne "Y12" avec l'indicateur 1 et appliquerait la même logique à toutes les autres combinaisons de deux chiffres qui suivent "Y".
Quelques informations qui pourraient vous faciliter la tâche : Y est toujours suivi d'au moins deux chiffres. Si une ligne contient NA, par exemple x2, tous les x3, x4, x5,... suivants seront également NA (comme dans l'exemple). Le tableau d'objectifs ne doit pas nécessairement être un tableau à part entière, les colonnes peuvent simplement être ajoutées au tableau original.