繁体   English   中英

在 R 中提取具有一些独特字符的字符串

[英]Extract strings with SOME unique characters in R

这是我的 pb:我有 9 个字符串,所有字符串都是唯一的,但有共同的字符。 我想在其中提取具有一些独特字符的字符,这些字符不存在于任何其他字符串中。 我认为将每个字符串与其他字符串进行比较的循环是一个不错的选择,但我不知道要使用哪个 function。我不能使用 unique() function,因为所有字符串都是唯一的。

这是字符串:

[1] ".contexte d'enseignement""
[2] “.contexte d'enseignement.cohérence avec le niveau des élèves””
[3] “.contexte d'enseignement.contraintes pratiques””
[4] “.contexte d'enseignement.contraintes pratiques.contrainte de temps””
[5] “.contexte d'enseignement.contraintes pratiques.contrainte matérielle””
[6] “.contexte d'enseignement.contraintes pratiques.faisabilité par rapport à la classe””
[7] “.contexte d'enseignement.objectifs de l'Education Nationale”
[8] ".contexte d'enseignement.objectifs de l'Education Nationale.adéquation avec le programme"" [9] ".contexte d'enseignement.objectifs de l'Education Nationale.progression de la difficulté""

这就是我正在等待的结果:

[1] “.contexte d'enseignement.cohérence avec le niveau des élèves””
[2] “.contexte d'enseignement.contraintes pratiques.contrainte de temps””
[3] “.contexte d'enseignement.contraintes pratiques.contrainte matérielle””
[4] “.contexte d'enseignement.contraintes pratiques.faisabilité par rapport à la classe””
[5] ".contexte d'enseignement.objectifs de l'Education Nationale.adéquation avec le programme"" [6] ".contexte d'enseignement.objectifs de l'Education Nationale.progression de la difficulté""

谢谢你的帮助 !

您可以使用sapply()这样做。 在下面的代码中, sapply()用于循环遍历字符串中的所有观察值。 它使用 stringr package 中的stringr str_detect()来识别str的第 i 个值是否在str的任何其他值中。 如果第 i 个字符串在任何其他字符串中,则将来自str_detect()的 output 包装在any()中将评估为TRUE 然后您可以使用该结果对字符串进行子集化以创建所需的 output。

str <- c(".contexte d\'enseignement",
".contexte d\'enseignement.cohérence avec le niveau des élèves",
".contexte d\'enseignement.contraintes pratiques",
".contexte d\'enseignement.contraintes pratiques.contrainte de temps",
".contexte d\'enseignement.contraintes pratiques.contrainte matérielle",
".contexte d\'enseignement.contraintes pratiques.faisabilité par rapport à la classe",
".contexte d\'enseignement.objectifs de l\'Education Nationale",
".contexte d\'enseignement.objectifs de l\'Education Nationale.adéquation avec le programme",
".contexte d\'enseignement.objectifs de l\'Education Nationale.progression de la difficulté")

library(stringr)
w <- sapply(1:length(str), 
            function(x)any(str_detect(str[-x], str[x])))
str[-which(w)]
# [1] ".contexte d'enseignement.cohérence avec le niveau des élèves"                            
# [2] ".contexte d'enseignement.contraintes pratiques.contrainte de temps"                      
# [3] ".contexte d'enseignement.contraintes pratiques.contrainte matérielle"                    
# [4] ".contexte d'enseignement.contraintes pratiques.faisabilité par rapport à la classe"      
# [5] ".contexte d'enseignement.objectifs de l'Education Nationale.adéquation avec le programme"
# [6] ".contexte d'enseignement.objectifs de l'Education Nationale.progression de la difficulté"

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM