【问题标题】:Extract strings with SOME unique characters in R在R中提取具有一些唯一字符的字符串
【发布时间】:2020-10-25 16:49:13
【问题描述】:

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

这里是字符串:

[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 program"" [9] ".contexte d'enseignement.objectifs de l'Education Nationale.progression de la hardé""

这就是我等待的结果:

[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 program"" [6] ".contexte d'enseignement.objectifs de l'Education Nationale.progression de la hardé""

感谢您的帮助!

【问题讨论】:

    标签: r string string-comparison


    【解决方案1】:

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

    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é"
    

    【讨论】:

    • 我试过了,效果很好!谢谢;)
    猜你喜欢
    • 1970-01-01
    • 2013-06-05
    • 2020-05-08
    • 1970-01-01
    • 2021-12-25
    • 1970-01-01
    • 2015-04-30
    • 1970-01-01
    • 2020-06-18
    相关资源
    最近更新 更多