Подсветка текста с использованием sentimentr и блестящего на flexdashboard в r выдает ошибку "попытка применить не-функцию"
Я проектирую FlexDashboard R, в который я загружаю данные CSV, используя следующий код:
# "File Upload" button
fileInput("file1", "Load CSV/TSV File:",
accept = c("text/csv", "text/comma-separated-values, text/plain",
".csv", "text/tab-separated-values", ".tsv") )
# whether 1st row is header?
checkboxInput("header", "Is first row the Header?", TRUE)
Затем я использую реактивный метод для выбора набора данных:
# reactive dataset
data_set <- reactive({
req(input$file1)
inFile <- input$file1
data_set <- read.csv(inFile$datapath, header=input$header)
})
Вот ползунок ввода для выбора конкретной строки из столбца набора данных "Текст":
# sidebar slider input
sliderInput("disp", "Select Text:", min = 1, max = 100, value = 20)
actionButton("display","Highlight Sentiments")
hr()
HL1 <- eventReactive(input$display, { data_set()[input$disp, "Text"] })
Наконец, используя ввод данных наблюдений, я пытаюсь выделить выделенный текст на основе настроений (отрицательных или положительных), используя sentimentr
пакет:
observeEvent(input$display3, {
output$HLRes <- renderUI({
require(dplyr)
require(sentiment)
HL1() %>%
as.character() %>%
sentiment_by() %>% highlight()
})
})
И когда я хочу отобразить выделенный текст сверху:
htmlOutput("HLRes")
Я получаю следующую ошибку:
Error: attempt to apply non-function
Что я здесь не так делаю?
1 ответ
У меня была та же проблема сегодня, и я нашел это:
https://github.com/trinker/sentimentr/issues/110
Как и предполагалось, добавление следующего заставило его работать (объектsentiment_by <- sb)
attr(sb, "averaging.function") <- sentimentr::average_downweighted_zero
Исправил это для меня.