Возникли проблемы с вычислением пропорции строки в текстовом майнинге с тидыром - PullRequest
2 голосов
/ 30 октября 2019

Я записал обсуждения участников, которые были в состоянии A или B.

Я хотел бы определить слова, которые были повторены / поделены между двумя условиями.

Я аннулировал данные групповых обсуждений, чтобы дать экспериментальное условие (A, B) в column1и одно слово из этого условия в column2.

Стоп-слова были удалены, и теперь я хотел бы определить соотношение общих слов между двумя условиями, чтобы я мог в конечном итоге построить их.

Ниже я попробовал ниже. Exp1a - это датафрейм со всей информацией. Condition - это столбец1 с A или B в каждой строке.

Word - это столбец 2.

Exp1b <- Exp1a %>%
      count(Condition, word) %>%
      group_by(Condition) %>%
      mutate(proportion = n / sum(n)) %>%
      select(-n) %>%
      spread(Condition, proportion) %>%
      gather(Condition, proportion, `A`:``B`)

Вот пример данных

dput(head(Exp1a,6))
structure(list(Condition = c("B", "B", "B", 
"A", "A", "A"), word = c("events", 
"finance", "welfare", "attract", "purchasing", "type"), n = c(6L, 
6L, 6L, 3L, 3L, 3L), row.names = c(NA, 
6L), class = c("tbl_df", "tbl", "data.frame"))

Я получаю эту ошибку:

Error: attempt to use zero-length variable name". 

Я использовал версию этого раньше, и я не знаю, что я делаю не так с этим новым фреймом данных.

Я вполне согласен, если я тоже полностью ошибаюсь.

1 Ответ

1 голос
/ 01 ноября 2019

Просто уберите один лишний тик перед B в последней строке и приведите Exp1a к data.frame с помощью as.data.frame().

Exp1b <- Exp1a %>%
      as.data.frame() %>%
      count(Condition, word) %>%
      group_by(Condition) %>%
      mutate(proportion = n / sum(n)) %>%
      select(-n) %>%
      spread(Condition, proportion) %>%
      gather(Condition, proportion, `A`:`B`)
...