Я хотел изменить метод в другом сообщении (Чтение в Unicode Emoji правильно в R), чтобы проверить, соответствует ли строка юникода эмодзи... но я, очевидно, не совсем понял, как правильно использовать 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))
Я пробовал бесчисленное множество других вариантов, но все безуспешно.