【问题标题】:stringi functions within dplyr [duplicate]dplyr中的stringi函数[重复]
【发布时间】:2019-08-26 05:43:50
【问题描述】:

我想在另一篇文章 (Reading in Unicode Emoji correctly into R) 中修改方法,以检查 unicode 字符串是否对应于表情符号……但我显然还没有完全掌握如何正确使用 stringi。

第一部分代码是链接帖子的简化,并按预期工作;替换第一个和最后一个条目:

a <- c("\U0001f600",       "\U0001f603",       "\U0001f604")
b <- c("grinning face", "grinning face with big eyes", "grinning face with smiling eyes" )

v <- data.frame(lemma = c("\U0001f600",  "\U0001f3fb", "hello", "asdfasdlkasdfkd", "\U0001f604"), stringsAsFactors = FALSE)
v %>% mutate(is_emoji = stri_replace_all_regex(lemma,
                       pattern = a,
                       replacement = b,
                       vectorize_all=FALSE))

但我返回布尔值的尝试没有;除了警告消息“较长的对象长度不是较短对象长度的倍数”之外,我没有使用以下代码获得等于 TRUE 的最后一个值:

v %>% mutate(is_emoji = stri_detect_regex(lemma, pattern = a))

我尝试了无数其他变体,但都没有成功。

【问题讨论】:

    标签: r stringi


    【解决方案1】:

    pastecollapse='|' 一起使用

    v %>% mutate(is_emoji = stri_detect_regex(lemma, pattern = paste(a, collapse = '|')))
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-11-30
      • 2019-10-14
      • 2020-10-16
      • 2019-08-08
      相关资源
      最近更新 更多