ggplot2 en brillant d'erreur: ggplot2 ne pas savoir comment traiter avec les données de la classe packageIQR
Je suis tenter de construire un simple shiny
application qui crée un tableau de données basé sur les entrées et sorties d'une ligne de la parcelle à l'aide de ggplot2
. Je reçois l'erreur suivante:
Erreur: ggplot2 ne pas savoir comment traiter avec les données de la classe packageIQR
Dans cette application, un utilisateur utilise un curseur pour définir la période de temps, ou la longueur de X, et aussi le changement de la valeur par la définition de la valeur de départ et la variation de la valeur sur X. L'intrigue est linéaire et ligne. Je suis nouveau sur shiny
, donc si il y a de meilleures manières de faire cela, je voudrais aussi des suggestions sur la meilleure façon de configurer le serveur de code, mais pour l'instant j'ai simplement obtenez une erreur et ne produisent pas de complot.
serveur.R
library(shiny)
library(ggplot2)
shinyServer(function(input, output){
reactive({
data <- data.table(months = seq(1, input$months, by = 1),
value = seq(input$startingValue,
input$startingValue + input$valueChange,
length.out = input$months))
})
output$yield <- renderPlot({
p <- ggplot(data(), aes(x=months, y=value, colour=value)) +geom_line()
print(p)
})
})
data
n'est pas callable
. Essayez sans le ()
: p <- ggplot(data, aes(...
Si je supprime le (), je reçois un nouveau message d'erreur: ggplot2 ne pas savoir comment traiter avec les données de fonction de classe
data
est une fonction dans R. il est généralement préférable d'éviter de l'utiliser comme un nom de variable...Merci c'est utile. Je l'ai changé pour inputData et maintenant voir l'objet "inputData' ne trouve pas
Je ne suis pas super familier avec
shiny
, mais je pense que vous voulez affecter le résultat de reactive
: inputData <- reactive({...})
puis l'appeler dans la ggplot section: ggplot(inputData(), ...)
.OriginalL'auteur rrbest | 2013-12-04
Vous devez vous connecter pour publier un commentaire.
Vous avez juste besoin de définir le réactif de fonction :
Remarque ici, vous n'avez pas besoin de définir la fonction réactive puisque vous avez l'un de l'appelant. Vous pouvez mettre tout le code dans la parcelle section:
Peut-être que je fais mal... mais quand j'inclus le premier morceau de code en dehors de sortie$rendement, mais dans shinyServer et puis de garder le reste de sortie$rendement le même [y compris p <- ... et d'impression(p)], j'obtiens une erreur "ggplot2 ne pas savoir comment traiter avec les données de la classe réactive"
oui, vous faites une erreur. Vous devriez appeler
data()
que dans votre question et pasdata
.Oui, cela fonctionne et me permet d'utiliser les données avec d'autres utilisateurs. Merci beaucoup, je vous ai donné quelques réputation.
OriginalL'auteur agstudy