Ich war in glänzend mit der rgl
und shinyRGL
-Paket Codierung, versuchen, ein 3D-Liniendiagramm plotten, indem die Benutzer eine csv
Datei eines bestimmten Formats einfügen. Aber der Schließungsfehler des Objekttyps wird weiterhin angezeigt. Es scheint, als ob es die Funktion plot3d
nicht finden kann, oder ich könnte falsch liegen.Objekt vom Typ 'Schließung' ist keine Teilmenge in glänzend. Arbeiten an einer einfachen RGL-Plotfunktion
Hier ist der 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")))
)
)
Server
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"))
})
})
Fehler
Warning: Paket hinyRGL wurde unter R-Version gebaut 3.3.1 Warnung: Fehler in [[: Objekt vom Typ 'Schließung' subsettable nicht Stapelüberwachung (innerste zuerst): 70: plot3d 69: func [C: \ Benutzer \ Ian \ Arbeitsplatz \ Kopieren von Leap SDK/Test \ App_1/server.R # 19] 68: Ausgang $ einem Gelände 1: runapp
Es ist nicht, dass es nicht die Funktion finden kann, dann ist es, dass irgendwo in diesen Funktionen Sie versuchen, einen Verschluss (eine Funktion) der Teilmenge, die offensichtlich nicht funktioniert. Versuchen Sie, dynamische Subset-Ausdrücke mit statischen Platzhaltern auszuwechseln (alles, von dem Sie wissen, dass die Funktion ausgeführt wird), damit Sie herausfinden können, welcher Begriff das Problem verursacht. – alistaire
@alistaire Es scheint als wäre das Problem innerhalb meines XYZ-Parameters "theFrames [[...]]". Aber ich weiß nicht, was es verursacht oder wie ich es beheben kann. –
Was ist 'str (theFrames)'? – alistaire