Я работаю над небольшой программой в R, которая позволяет мне подсчитывать количество вхождений из списка во фрейме данных.
Поэтому я импортирую свой фрейм данных и список слов следующим образом.
df <- read.csv("tweets.csv")
wordlist <- read.csv("wordlist.csv")
Моя идея состояла в том, чтобы использовать цикл «for», который проходит через все слова в списке слов, подсчитывает их вхождения в фрейме данных df, а затем добавляет число в существующий список слов.
for (id in wordlist)
{
wordlist$frequency <- sum(stri_detect_fixed(df$text, wordlist$word))
}
Ясно, что это не работает. Вместо этого он добавляет частоты ВСЕХ слов в моем списке слов к каждому слову во фрейме данных списка слов, который выглядит примерно так:
id word freuquency
1 the 1290
2 answer 1290
3 is 1290
4 wrong 1290
Я знаю, что это должно что-то делать с текущей переменной в моем цикле for. Любая помощь приветствуется :)
wordlist
, используя индексid
где-то в вашем цикле for. - person David Klotz   schedule 13.02.2018for(i in 1:nrow(wordlist)){wordlist$frequency[i]=sum(stri_detect_fixed(df$text, wordlist$word[i]))}
. Конечно, вам нужно установить частоту до нуля перед циклом:wordlist$frequency = 0
- person digEmAll   schedule 13.02.2018dput(head(df))
и вывести структуру, чтобы мы могли использовать реальные данные для решения этой проблемы? - person Matt W.   schedule 13.02.2018