Я хотел бы использовать интерфейс Shiny для сбора данных из пользовательских вводов, например, в этой Средней статье
Статья написана для пакета googlesheets, но теперь нам нужно используйте googlesheets4.
Думаю, мой код не будет работать из-за понимания реактивных элементов.
#load libraries
library(shiny)
library(shinydashboard)
library(googlesheets4)
library(DT)
ui <- fluidPage(
# Define UI
ui <- fluidPage(
# App title ----
titlePanel("Seflie Feedback"),
# Sidebar layout with input and output definitions ----
sidebarLayout(
# Sidebar to demonstrate various slider options ----
sidebarPanel(
# Input: Overall Rating
sliderInput(inputId = "helpful",
label = "I think this app is helpful",
min = 1,
max = 7,
value = 3),
actionButton("submit", "Submit")
),
mainPanel(
))
)
)
server <- function(input, output, session) {
# Reactive expression to create data frame of all input values ----
sliderValues <- reactive({
usefulRating <- input$helpful
Data <- data.frame(
Value = as.character(usefulRating),
stringsAsFactors = FALSE)
})
#This will add the new row at the bottom of the dataset in Google Sheets.
observeEvent(input$submit, {
MySheet <- gs4_find() #Obtain the id for the target Sheet
MySheet <- gs4_get('https://docs.google.com/spreadsheets/d/162KTHgd3GngqjTm7Ya9AYz4_r3cyntDc7AtfhPCNHVE/edit?usp=sharing')
sheet_append(MySheet , data = Data)
})
}
shinyApp(ui = ui, server = server)
Я заменил gs4_get () ссылкой, а не идентификатором, чтобы поддержать вас в помощи мне. Если вы не можете получить доступ к ссылке, вы можете временно заменить ссылку идентификатором листа Google из ваших собственных листов.
Когда я запускаю код, я вижу следующее: Предупреждение: Ошибка в is.data.frame: объект «Данные» не найден. Когда я заменяю полезныйРейтинг <- input $ полезно на полезныйРейтинг <- 4 или полезныйРейтинг <- 5 или другое значение, данные записываются в Лист. </p>
Спасибо за любые идеи :)