Shiny : enregistrement

Postez ici vos questions, réponses, commentaires ou suggestions - Les sujets seront ultérieurement répartis dans les archives par les modérateurs

Modérateur : Groupe des modérateurs

Michel Carpentier
Messages : 144
Enregistré le : 04 Fév 2018, 13:49

Shiny : enregistrement

Messagepar Michel Carpentier » 05 Mai 2022, 10:25

Bonjour,
Je débute avec Shiny. J'essaie d'enregistrer des données avec Shiny. Ce que j'ai trouvé jusqu'à maintenant est l'utilisation de l"actionButton" mais lors de l'ouverture de shiny,l'enregistrement se fait sans avoir cliquer sur le bouton (actionButton). Pour enregistrer les données suivantes, il faut bien cliquer sur le bouton(actionButton). En résumé, j'ai un enregistrement non demandé.

Code : Tout sélectionner

library(shiny)
ui<-fluidPage(
fluidRow(column(3,textInput("titre","titre","quoi")),
column(3,textInput("auteur","auteur","qui")),
column(3,actionButton("goButton", "Enregistrer", class = "btn-success"))),
dataTableOutput(outputId="livres")
)
server<-function(input,output,session){
output$livres<-renderDataTable({
load("D://biblio//Ta.Rdata")
input$goButton
A<-isolate(c(input$titre,input$auteur))
Ta<-rbind.data.frame(Ta,A)
save(Ta,file="D://biblio//Ta.Rdata")
Ta
})
}
print(shinyApp(ui, server))

je ne sais pas comment mettre le data.frame Ta sur ce document
Le voici quand je demande à R de l'afficher :
Ta
titre auteur
1 Le soleil des morts Clavel, Bernard
2 statisques avec R François Husson
3 Marcas Giacometti et Ravenne
4 Séries temporelles avec R Yves Aragon
5 Misereré Bernard Clavel
6 Initiation à la statistique avec R Frédéric Bertrand
7 Réseaux bayésiens avec R J-B. Denis et M. Scutari
8 les suppliciés du Rhône Coline Galet
9 La bourelle Bernard Clavel
10 Théorie de la musique Danhauser

Lors du lancement de shiny, j'ai un 11ième enregistrement
quoi qui

Comment faire pour que l'actionButton commande le 1er enregistrement?
ou y a-t-il une autre façon d'enregistrer des données par shiny?

merci de votre aide

cordialement
Michel

Eric Casellas
Messages : 767
Enregistré le : 06 Jan 2009, 14:59

Re: Shiny : enregistrement

Messagepar Eric Casellas » 05 Mai 2022, 14:03

Bonjour,

De ce que j'en comprend dans ta partie server tu n'as qu'une fonction (lié au dataTableOutput de la partie ui) qui s'active au lancement pour satisfaire le dataTableOutput mais aussi quand tu actionne le bouton

Il te faudrait separer les deux types d'actions :
1- une fonction server pour l'affichage du dataTableOutput qui ne reagis pas au bouton et ne sauve pas
2- et une autre fonction server pour la sauvegarde (via fonction reactive) qui elle reagisse au bouton

Et sinon pour le DL/export de fichier il y a des fonctions downloadButton et downloadHandler qui existent

Eric
Eric

Michel Carpentier
Messages : 144
Enregistré le : 04 Fév 2018, 13:49

Re: Shiny : enregistrement

Messagepar Michel Carpentier » 05 Mai 2022, 14:51

ok, merci,

je vais essayer de trouver quelles fonctions je peux utiliser.

cordialement

Michel


PS : quand je disais que je ne sais pas comment mettre les données sur ce document : comment je fais pour les partager dans ce message? (j'ai partagé le code mais pas les données)

Eric Casellas
Messages : 767
Enregistré le : 06 Jan 2009, 14:59

Re: Shiny : enregistrement

Messagepar Eric Casellas » 05 Mai 2022, 14:57

Michel Carpentier a écrit :PS : quand je disais que je ne sais pas comment mettre les données sur ce document : comment je fais pour les partager dans ce message? (j'ai partagé le code mais pas les données)


Ca va dépendre de la taille et la format de tes données, mais une facon "simple" pour des objets d'une session R c'est d'utiliser la fonction dput (voir https://forums.cirad.fr/logiciel-R/viewtopic.php?f=1&t=3302)

Eric
Eric

Michel Carpentier
Messages : 144
Enregistré le : 04 Fév 2018, 13:49

Re: Shiny : enregistrement

Messagepar Michel Carpentier » 16 Mai 2022, 16:53

OK,
merci
cordialement
Michel


Retourner vers « Questions en cours »

Qui est en ligne

Utilisateurs parcourant ce forum : Google [Bot] et 1 invité