Ваша интерпретация группы "все" верна. Эффект не указания groups
в textstat_frequency()
заключается в том, что по умолчанию для группы будет установлено значение «все». В вашей функции вы никогда не передадите аргумент groups
в вызове этой функции, так что он всегда будет "all", даже если вы уже сгруппировали dfm через вызов dfm_group()
внутри вашей функции plot_topterms()
.
Значение 60 для объекта на этом графике будет означать, что сумма относительных частот термина (в документе) для этого объекта равна 60. Если вы посмотрите на вопрос, на который вы ссылаетесь выше , то вы посмотрим, как это работает для простого примера. Относительная частота a
в text1 составляла 0,20 и 0,67 в text2, поэтому textstat_frequency()
суммирует эти два в 0,87. Ваш 60 аналогичен этому 0,87.
Это , а не , такое же, как частота документов, которая представляет собой количество документов, в которых появилась функция (хотя бы один раз). Если вы хотите знать частоты документа объектов (что и было вашим толкованием), то вы должны составлять график docfreq
из возврата textstat_frequency
, а не frequency
.
Однако я бы отметил, что plot_topterms()
не является хорошо продуманной функцией.
Он опирается на несколько переменных, которые не являются локальными для функций, а именно toRemove
и lemma
.
Он не будет правильно передавать ...
в вызове dfm_group()
. Вместо этого вы должны явно указать аргумент groups
в сигнатуре функции.
Если бы мы разрабатывали новую функцию для пакета, мы бы создали новую функцию textplot_frequency()
, которая построила график возврата из textstat_frequency()
, который в основном реализовал только вызов ggplot()
после того, как пользователь построил объект textstat_frequency
, Это может более разумно использовать групповую переменную, встроенную в каждый textstat_frequency
объект, так что те, в которых единственной группой является «all», будут отображать это как один фасет.