「twitteR」Rパッケージを使用してツイートをダウンロードするWebアプリを構築し、それらのツイートを変更して「光沢のある」RWebアプリを介して表示しています。ツイートをダウンロードしてデータフレームに処理するコードを実行しても問題ありません。
do.call('rbind', lapply(userTimeline('nutwition_log'), as.data.frame))
...これをターミナルで(twitteRライブラリをロードして)自分で実行し、ツイートデータをダウンロードして、結果のデータフレームを画面に出力することを確認できます。
しかし、この種の呼び出しを「光沢のある」アプリ(サーバー側)で使用すると...たとえば...
server.R:
library(shiny)
library(twitteR)
shinyServer(function(input, output) {
datasetInput <- reactive(function() {
tweets <- userTimeline(input$subscriber)
do.call('rbind', lapply(tweets, as.data.frame))
})
output$view <- reactiveTable(function() {
head(datasetInput(), n = input$obs)
})
})
ui.R:
library(shiny)
library(twitteR)
shinyUI(pageWithSidebar(
headerPanel('FitnessTrack'),
sidebarPanel(
selectInput("subscriber", "Select Subscriber:",
choices = c("nutwition_log", "anotherAccount")),
numericInput("obs", "Number of observations to view:", 10)
),
mainPanel(
tableOutput("view")
)
))
...次のエラーが発生します:
Error in as.data.frame.default(X[[1L]], ...) :
cannot coerce class 'structure("status", package = "twitteR")' into a data.frame
Error in as.data.frame.default(X[[1L]], ...) :
cannot coerce class 'structure("status", package = "twitteR")' into a data.frame
Error in as.data.frame.default(X[[1L]], ...) :
cannot coerce class 'structure("status", package = "twitteR")' into a data.frame
...私がやりたいのは、ツイートをダウンロードして変更しているユーザーを変更し、結果のデータフレーム(...datasetInput()
リターン、ロード先output$view
)をに出力できるようにすることだけmainPanel()
です。なぜこれが機能しないのかわかりません。
どんな助けでも素晴らしいでしょう!