Sélectionnez les lignes de data.frame se terminant par une chaîne de caractères spécifique dans R
Je suis l'aide de R et j'ai un ensemble de données.cadre avec près de 2 000 entrées qui se présente comme suit:
> head(PVs,15)
LogFreq Word PhonCV FreqDev
1593 140 was CVC 5.480774
482 139 had CVC 5.438114
1681 138 zou CVVC 5.395454
1662 137 zei CVV 5.352794
1619 136 werd CVCC 5.310134
1592 135 waren CVV-CV 5.267474
620 134 kon CVC 5.224814
646 133 kwam CCVC 5.182154
483 132 hadden CVC-CV 5.139494
436 131 ging CVC 5.096834
734 130 moest CVVCC 5.054174
1171 129 stond CCVCC 5.011514
1654 128 zag CVC 4.968854
1620 127 werden CVC-CV 4.926194
1683 126 zouden CVV-CV 4.883534
Ce que je veux faire est de créer une nouvelle donnée.cadre qui est égal à PVs, sauf que toutes les entrées ayant en tant que membre de la "Parole" de colonne d'une chaîne de caractère qui ne se termine PAS en "te" ou "de" a été supprimé. c'est à dire Tous les mots ne se termine pas par "de" ou "te" doit être supprimé à partir des données.cadre.
Je sais comment slectively de supprimer des entrées de données.des images à l'aide d'opérateurs logiques, mais ces travaux lors de la configuration de critères numériques. Je pense que pour ce faire j'ai besoin d'utiliser des expressions régulières, mais, malheureusement, R est le seul langage de programmation, je "sais", donc je suis loin de connaître ce type de code pour l'utiliser ici.
J'apprécie votre aide.
Merci à l'avance.
source d'informationauteur HernanLG | 2012-10-22
Vous devez vous connecter pour publier un commentaire.
Méthode 1
Vous pouvez utiliser
grepl
avec une appropriée de l'expression régulière. Considérez les points suivants:L'expression régulière dit de commencer (
^
) avec tout ce que n'importe quel nombre de fois (.+
) et ensuite de trouver de ou te ((de|te)
), puis à la fin ($
).Sorte de vos données.cadre d'essayer,
Méthode 2
Pour éviter les regexp méthode, vous pouvez utiliser un
substr
méthode à la place.Donc, essayez:
J'ai modifié les données un peu alors qu'il y avait des mots qui s'est terminée en te ou de.
Le résultat est illustré ci-dessous
À l'aide de grep