IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

R Discussion :

Erreur : Error in .jcall


Sujet :

R

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    52
    Détails du profil
    Informations personnelles :
    Âge : 50
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 52
    Points : 44
    Points
    44
    Par défaut Erreur : Error in .jcall
    Bonjour,

    Je souhaite générer plusieurs tables automatiquement. Pour se faire, j'ai écrit :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    for (i in 1:(nrow(liste_epci))){write.xlsx(subset(exp_commune , exp_commune$EPCI == liste_epci$EPCI[i]), sheetName=liste_epci$EPCI[i], file="Z://base_test.xlsx", row.names = FALSE, append=TRUE)}
    la table liste_epci contient une seule variable (EPCI) correspondant à des codes.
    la table exp_commune contient 20 variables dont EPCI également.
    les variables EPCI sont au même format : caractère.
    La variable EPCI a deux objectifs : nommer les tables et filtrer la table exp_commune.

    J'obtiens le message d'erreur suivant :

    Error in .jcall("RJavaTools", "Ljava/lang/Object;", "invokeMethod", cl, :
    java.lang.OutOfMemoryError: Java heap space


    Quelqu'un a-t-il déjà rencontré ce problème ? y-a-t-il une solution ?

    D'avance merci

  2. #2
    Membre averti
    Homme Profil pro
    Data scientist
    Inscrit en
    Février 2017
    Messages
    211
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Data scientist
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2017
    Messages : 211
    Points : 343
    Points
    343
    Par défaut
    Bonjour,

    Essaye d'ajouter un as.character() au nom de ta feuille.

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    52
    Détails du profil
    Informations personnelles :
    Âge : 50
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 52
    Points : 44
    Points
    44
    Par défaut
    Toujours le même message...

  4. #4
    Membre averti
    Homme Profil pro
    Data scientist
    Inscrit en
    Février 2017
    Messages
    211
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Data scientist
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2017
    Messages : 211
    Points : 343
    Points
    343
    Par défaut
    Essaye plutôt celui là.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
     
    for (i in 1:(nrow(liste_epci)))
      {write.xlsx2(subset(exp_commune , exp_commune$EPCI == liste_epci$EPCI[i]),
                                               sheetName=as.character(liste_epci$EPCI[i]), 
                                               file=paste("Z://base_test" , liste_epci$EPCI[i] , ".xlsx" , sep = "" ) , 
                  row.names = FALSE)}

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    52
    Détails du profil
    Informations personnelles :
    Âge : 50
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 52
    Points : 44
    Points
    44
    Par défaut
    Bonjour,

    Désolé pour la réponse un peu tardive.

    J'ai de nouveau essayé avec :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    for (i in 1:(nrow(liste_epci))){write.xlsx(subset(exp_commune , exp_commune$EPCI == liste_epci$EPCI[i]), sheetName=liste_epci$EPCI[i], file="Z://base_test.xlsx", row.names = FALSE, append=TRUE)}
    pour obtenir le message d'erreur suivant :

    Error in .jcall("RJavaTools", "Ljava/lang/Object;", "invokeMethod", cl, :
    java.lang.OutOfMemoryError: Java heap space


    Mais... j'ai quand même un résultat encourageant. J'ai deux feuilles générées (sur 16) :

    Nom : Capture.JPG
Affichages : 462
Taille : 27,6 Ko

    Je soupçonne un décalage entre la rapidité d'exécution du code et la lenteur d'exportation des données vers xls... possible, non ?

    Bonne journée,

  6. #6
    Membre averti
    Homme Profil pro
    Data scientist
    Inscrit en
    Février 2017
    Messages
    211
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Data scientist
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2017
    Messages : 211
    Points : 343
    Points
    343
    Par défaut
    Bonjour,

    Désolé pour le dernier message. Le Code proposé c'est pour générer plusieurs fichier mais pas pour créer plusieurs feuilles dans un même fichier. Je vais regarder.

    Cordialement,

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    52
    Détails du profil
    Informations personnelles :
    Âge : 50
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 52
    Points : 44
    Points
    44
    Par défaut
    OK pas de soucis

    il y bien cette méthode :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    write.xlsx(subset(exp_commune, exp_commune$EPCI == 200033025), sheetName=200033025, file="Z://base_test.xlsx", row.names = FALSE, append=TRUE) 
    write.xlsx(subset(exp_commune, exp_commune$EPCI == 200034718), sheetName=200034718, file="Z://base_test.xlsx", row.names = FALSE, append=TRUE) 
    write.xlsx(subset(exp_commune, exp_commune$EPCI == 200036465), sheetName=200036465, file="Z://base_test.xlsx", row.names = FALSE, append=TRUE) 
    ...
    autant de lignes que de codes mais bon...

  8. #8
    Membre averti
    Homme Profil pro
    Data scientist
    Inscrit en
    Février 2017
    Messages
    211
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Data scientist
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2017
    Messages : 211
    Points : 343
    Points
    343
    Par défaut
    Bonjour,

    Ce Code marche chez moi. Essaye de mettre à jour Java et d'iinstaller le package xlsxjars si c'est pas installer.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    library(xlsxjars)
    library(xlsx)
    write.xlsx2( subset(X3 , X3$MSSubClass == liste_epci$EPCI[i]),
                 file = "Z://base_test.xlsx",
                 sheetName = as.character(liste_epci$EPCI[i]),
                 row.names = F,append = T)

  9. #9
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    52
    Détails du profil
    Informations personnelles :
    Âge : 50
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 52
    Points : 44
    Points
    44
    Par défaut
    Bonjour,

    J'ai modifié un élément dans la ligne de code. J'ai remplacé xlsx par xls. Et là... Ô miracle : çà fonctionne !

    En tout cas, merci pour ton aide !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Erreur error LNK2005: _main
    Par raphaelfargeon dans le forum Windows
    Réponses: 3
    Dernier message: 16/10/2008, 14h40
  2. erreur : error '800a01c2'
    Par veriecherie dans le forum ASP
    Réponses: 3
    Dernier message: 04/08/2008, 10h47
  3. Message d`erreur " error:cannot read : src/main/org/pache/tools/bzip2/*.java "
    Par wiss20000 dans le forum RedHat / CentOS / Fedora
    Réponses: 0
    Dernier message: 09/11/2007, 16h36
  4. Réponses: 0
    Dernier message: 12/10/2007, 18h36
  5. Erreur : Error while trying to write to file
    Par WebPac dans le forum Installation
    Réponses: 11
    Dernier message: 19/05/2006, 23h23

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo