Как построить функцию, которая добавляется к существующему фрейму данных в R - PullRequest
0 голосов
/ 19 февраля 2020

Я пытаюсь использовать 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 и как это сделать правильно, я был бы очень признателен .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...