Я пытаюсь использовать R для создания функции, которая принимает эмодзи (x) и подсчитывает, сколько раз этот эмодзи появляется в текстовых данных в векторе (txt_ve c). Я хочу, чтобы вывод был добавлен к существующему df (emoji_count). Я пришел из python фона и недавно начал изучать R. Вот что я попробовал.
emoji_count<- data.frame(Emoji = character(), Count = numeric())
count_emoji<- function(x){
count = 0
for (i in 1:length(txt_vec[,])){
if(grepl(x, txt_vec[i,])){
count = count + 1}}
a = x
b = count
de <- data.frame(a,b)
names(de)<- c("Emoji", "Count")
emoji_count<- rbind(emoji_count, de)
}
count_emoji("❤️")
print(emoji_count)
[1] Emoji Count
<0 rows> (or 0-length row.names)
Как видите, df возвращается пустым. Я проверил вектор, который кажется хорошим и повторяемым. После запуска этой строки построчно проблема, похоже, является последней строкой count_emoji (). Если я удаляю эту строку и просто печатаю (de), она возвращается правильно.
emoji_count<- data.frame(Emoji = character(), Count = numeric())
> count_emoji<- function(x){
count = 0
for (i in 1:length(txt_vec[,])){
if(grepl(x, txt_vec[i,])){
count = count + 1}}
a = x
b = count
de <- data.frame(a,b)
print(de)
}
count_emoji("❤️")
a b
1 <U+2764><U+FE0F> 564
Я проверил текстовые данные в текстовом документе и подтвердил, что они правильно подсчитывают сердца. Проблема заключается в простой попытке объединить кадры данных. Я также попытался добавить a, b к векторам, чтобы присоединиться позже, используя append (y, a), но это также не сработало. Я уверен, что проблема в том, что я пытаюсь применить python logi c к R, поэтому, если вы могли бы помочь мне понять, почему это не добавится к фрейму данных emoji_count и как это сделать правильно, я был бы очень признателен .