Je codais brillamment avec le package rgl
et shinyRGL
, essayant de tracer un tracé linéaire 3D en demandant aux utilisateurs d'insérer un fichier csv
d'un format spécifique. Mais l'erreur de fermeture du type d'objet continue à apparaître. Il semble que parce qu'il ne peut pas trouver la fonction plot3d
, ou je peux me tromper.objet de type 'fermeture' ne peut pas être subdivisé en brillant. Travailler sur une simple fonction de traçage RGL
Voici le code:
UI
library(shiny)
library(rgl)
library(shinyRGL)
# Define UI for application that draws a histogram
shinyUI(fluidPage(
titlePanel("title panel"),
sidebarLayout(
sidebarPanel(
helpText("Please select a CSV file with the correct format."),
tags$hr(),
fileInput("file","Choose file to upload",accept = c(
'text/csv',
'text/comma-separated-values',
'text/tab-separated-values',
'text/plain',
'.csv',
'.tsv',
label = h3("File input"))
),
tags$hr(),
checkboxInput('header', 'Header', TRUE),
actionButton("graph","PLOT!")
),
mainPanel(textOutput("text1"),
webGLOutput("Aplot")))
)
)
serveur
library(shiny)
library(rgl)
library(shinyRGL)
options(shiny.maxRequestSize = 9*1024^2)
shinyServer(
function(input, output) {
output$text1 <- renderText({
paste("You have selected", input$select)
})
output$"Aplot" <- renderWebGL({
inFile <- reactive(input$file)
theFrames <- eventReactive(input$graph,read.csv(inFile$datapath,
header = input$header))
plot3d(theFrames[[4]],theFrames[[5]],theFrames[[6]],xlab="x",ylab="y",zlab
= "z", type = "l", col = ifelse(theFrames[[20]]>0.76,"red","blue"))
})
})
Erreur
Attention: hinyRGL paquet a été construit sous la version 3.3.1 de R Attention: Erreur dans [[: objet de type 'fermeture' ne subsettable trace de la pile (la plus interne en premier): 70: plot3d 69: Func [C: \ Users \ workspace Ian \ \ Copie Leap SDK/test \ app_1/server.R # 19] 68: sortie $ Aplot 1: RunApp
Ce n'est pas qu'il ne peut pas trouver la fonction, il est que quelque part dans ces fonctions que vous essayez de sous-ensemble d'une fermeture (fonction), ce qui ne fonctionne évidemment pas. Essayez d'échanger des termes dynamiques sous-définis avec des espaces réservés statiques (tout ce que vous savez permettra à la fonction de fonctionner) afin que vous puissiez déterminer quel terme est à l'origine du problème. – alistaire
@alistaire Il semble que le problème soit dans mon paramètre XYZ "theFrames [[...]]". Mais je ne sais pas ce qui le cause ou comment le réparer. –
Qu'est-ce que 'str (theFrames)'? – alistaire