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 fichier RInside.h n'est pas trouvé


Sujet :

R

  1. #1
    Membre éprouvé
    Avatar de Haache
    Homme Profil pro
    Doctorant & Ingénieur Statiaticien Economiste
    Inscrit en
    Mars 2014
    Messages
    349
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : Canada

    Informations professionnelles :
    Activité : Doctorant & Ingénieur Statiaticien Economiste

    Informations forums :
    Inscription : Mars 2014
    Messages : 349
    Points : 1 009
    Points
    1 009
    Billets dans le blog
    8
    Par défaut Erreur fichier RInside.h n'est pas trouvé
    Bonjour
    J'ai un problème et je sais que j'aurai la solution ici parce que vous êtes très forts.
    Bref j'utilise des codes C++ en R pour optimiser le temps d'exécution de mes programmes. J'ai premièrement utiliser Rcpp avec RcppArmadillo pour améliorer une fonction que j'ai créée sous R. La fonction permet de faire un bootstrap. Lorsque j'ai créé la version C++ que j'ai utilisé en R, le temps d'exécution du programme à été divisé par 16 (Ah oui c'est beaucoup). Donc si mon code R faisait 16 heures, C++ me permet de le ramener à 1h. Je vous invite à jeter un coup d’œil au programme que j'ai posté sur mon siteweb personnel.

    Maintenant je veux utiliser les packages dans mes fonctions C++. Dans mes recherches j'ai découvert que je dois utiliser une autre bibliothèque C++ qui est RInside.h. Mais j'ai une erreur quand je la charge.

    Nom : Capture.PNG
Affichages : 156
Taille : 20,9 Ko

    J'ai fait plusieurs recherches sans solution. J'ai installé Rtools sur la racine C:\. J'ai la dernière version de R que j'utilise via la dernière version de RStudio. J'ai les packages Rcpp RInside RcppArmadillo (Je crois que j'ai tout ce qu'il faut). Dans le chemin d'installation de mon R, il n'y a pas d'espace comme il est recommandé (le chemin est C:\R). Je sais que le problème est un problème de chemin d'un fichier source. Je ne maitrise pas trop mais j'ai crois avoir lu ça quelque part.

    Quelqu'un peut m'aider ?
    • Faites un tour sur mon siteweb professionnel www.aristideelysee.16mb.com Des codes dans la section "media et code" pouvant vous aider que vous pouvez aussi partager sur les réseaux sociaux.
    • Visiter mon blog en cliquant ici! Des techniques, astuces et macros pour l'analyse quantitative.

  2. #2
    Membre éprouvé
    Avatar de Haache
    Homme Profil pro
    Doctorant & Ingénieur Statiaticien Economiste
    Inscrit en
    Mars 2014
    Messages
    349
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : Canada

    Informations professionnelles :
    Activité : Doctorant & Ingénieur Statiaticien Economiste

    Informations forums :
    Inscription : Mars 2014
    Messages : 349
    Points : 1 009
    Points
    1 009
    Billets dans le blog
    8
    Par défaut https://www.developpez.net/forums/
    Bonjour
    Merci d'avoir répondu
    Mais j'ai l'impression que vous n'avez pas vraiment lu mon poste. J'ai dit que j'ai tout ce qu'il faut. J'ai charge RInside. J'ai installé Rtools.
    • Faites un tour sur mon siteweb professionnel www.aristideelysee.16mb.com Des codes dans la section "media et code" pouvant vous aider que vous pouvez aussi partager sur les réseaux sociaux.
    • Visiter mon blog en cliquant ici! Des techniques, astuces et macros pour l'analyse quantitative.

  3. #3
    Membre éprouvé
    Avatar de Haache
    Homme Profil pro
    Doctorant & Ingénieur Statiaticien Economiste
    Inscrit en
    Mars 2014
    Messages
    349
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : Canada

    Informations professionnelles :
    Activité : Doctorant & Ingénieur Statiaticien Economiste

    Informations forums :
    Inscription : Mars 2014
    Messages : 349
    Points : 1 009
    Points
    1 009
    Billets dans le blog
    8
    Par défaut
    Ok
    J'ai chargé le package et quand je charge la librairie <RInside.h> dans mon code cpp j'ai cette erreur.
    • Faites un tour sur mon siteweb professionnel www.aristideelysee.16mb.com Des codes dans la section "media et code" pouvant vous aider que vous pouvez aussi partager sur les réseaux sociaux.
    • Visiter mon blog en cliquant ici! Des techniques, astuces et macros pour l'analyse quantitative.

  4. #4
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2016
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2016
    Messages : 10
    Points : 20
    Points
    20
    Par défaut example de makefile pouvant peut être aider
    Bonjour,

    J'ai déjà eu un problème similaire.

    J'utilise maintenant un makefile comme celui là maintenant.


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
     
     
    ## include headers and libraries for R 
    RCPPFLAGS :=		$(shell R CMD config --cppflags)
    RLDFLAGS :=		$(shell R CMD config --ldflags)
    RBLAS := 		$(shell R CMD config BLAS_LIBS)
    RLAPACK := 		$(shell R CMD config LAPACK_LIBS)
     
    ## include headers and libraries for Rcpp interface classes
    RCPPINCL :=		$(shell Rscript -e 'Rcpp:::CxxFlags()')
    RCPPLIBS :=		$(shell Rscript -e 'Rcpp:::LdFlags()')
     
    ## include headers and libraries for RInside embedding classes
    RINSIDEINCL :=		$(shell Rscript -e 'RInside:::CxxFlags()')
    RINSIDELIBS :=		$(shell Rscript -e 'RInside:::LdFlags()')
     
     
    CPPFLAGS		= -Wall -O3 
    CXXFLAGS		= $(RCPPFLAGS) $(RCPPINCL) $(RINSIDEINCL)
    LDFLAGS			= -s
    LDLIBS			= $(RLDFLAGS) $(RBLAS) $(RLAPACK) $(RCPPLIBS) $(RINSIDELIBS)
    CC			= g++
     
    sources 		:= $(wildcard *.cpp)
    programs 		:= $(sources:.cpp=)
     
    all:			$(programs)
     
    clean:
    			rm -vf $(programs)
    Voice des src qui normalement compile avec ce makefile

    Code c++ : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    int main(int argc, char *argv[])
     {
     
        RInside R(argc, argv);		// create an embedded R instance 
     
         R["txt"] = "Hello, world!\n";	// assign a standard C++ string to 'txt'		// assign string var to R variable 'txt'
     
        std::string evalstr = "cat(txt)";
        R.parseEvalQ(evalstr); 		// eval the init string, ignoring any returns
     
        exit(0);
    }


    Code c++ : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
     
     
    #include <RInside.h>			// for the embedded R via RInside
    #include <Rcpp.h>			// for the R / Cpp interface used for transfer
     
    int main(int argc, char *argv[]) {
     
        RInside R(argc, argv);		// create an embedded R instance 
     
        std::string txt = "Hello, world!\n";// assign a standard C++ string to 'txt'
        R.assign( txt, "txt"); 		// assign string var to R variable 'txt'
     
        std::string evalstr = "cat(txt)";
        std::string evalstr2 = "txt2 <- \"foo\\n\"";
        std::string evalstr3 = "cat(txt2)";
        for (int i=0; i<4000; i++) 
        {
    	R.parseEvalQ(evalstr2);
    	R.parseEvalQ(evalstr);
    	R.parseEvalQ(evalstr3);
        }
    	exit(0);
    }








    Code c++ : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
     
     
    #include "RInside.h"			// for the embedded R via RInside
    #include "Rcpp.h"			// for the R / Cpp interface used for transfer
     
    int main(int argc, char *argv[]) {
     
        RInside R(argc, argv);		// create an embedded R instance 
     
        std::string txt = "Hello, world!\n";// assign a standard C++ string to 'txt'
        R.assign( txt, "txt"); 		// assign string var to R variable 'txt'
     
        std::string evalstr = "txt <- \"foo\\n\"; txt <- \"foo\\n\"; txt <- \"foo\\n\"; txt <- \"foo\\n\"; txt <- \"foo\\n\"; txt <- \"foo\\n\"; txt <- \"foo\\n\"; txt <- \"foo\\n\"; txt <- \"foo\\n\"; txt <- \"foo\\n\"; txt <- \"foo\\n\"; txt <- \"foo\\n\"; txt <- \"foo\\n\"; txt <- \"foo\\n\"; txt <- \"foo\\n\"; txt <- \"foo\\n\"; txt <- \"foo\\n\"; txt <- \"foo\\n\"; txt <- \"foo\\n\"; txt <- \"foo\\n\"; txt <- \"foo\\n\"; txt <- \"foo\\n\"; txt <- \"foo\\n\"; txt <- \"foo\\n\"; txt <- \"foo\\n\"; txt <- \"foo\\n\"; txt <- \"foo\\n\"; txt <- \"foo\\n\"; txt <- \"foo\\n\"; txt <- \"foo\\n\"; txt <- \"foo\\n\"; txt <- \"foo\\n\"; txt <- \"foo\\n\"; txt <- \"foo\\n\"; txt <- \"foo\\n\"; txt <- \"foo\\n\"; txt <- \"foo\\n\"; txt <- \"foo\\n\"; txt <- \"foo\\n\"; txt <- \"foo\\n\"; txt <- \"foo\\n\"; txt <- \"foo\\n\"; txt <- \"foo\\n\"; txt <- \"foo\\n\"; txt <- \"foo\\n\"; txt <- \"foo\\n\"; txt <- \"foo\\n\"; txt <- \"foo\\n\"; txt <- \"foo\\n\"; txt <- \"foo\\n\"; txt <- \"foo\\n\"; txt <- \"foo\\n\"; txt <- \"foo\\n\"; txt <- \"foo\\n\"; txt <- \"foo\\n\"; txt <- \"foo\\n\"; txt <- \"foo\\n\"; txt <- \"foo\\n\"; txt <- \"foo\\n\"; txt <- \"foo\\n\"; txt <- \"foo\\n\"; txt <- \"foo\\n\"; txt <- \"foo\\n\"; txt <- \"foo\\n\"; txt <- \"foo\\n\"; txt <- \"foo\\n\"; txt <- \"foo\\n\"; txt <- \"foo\\n\"; txt <- \"foo\\n\"; txt <- \"foo\\n\"; txt <- \"foo\\n\"; txt <- \"foo\\n\"; txt <- \"foo\\n\"; txt <- \"foo\\n\"; txt <- \"foo\\n\"; txt <- \"foo\\n\"; txt <- \"foo\\n\"; txt <- \"foo\\n\"; txt <- \"foo\\n\"; txt <- \"foo\\n\"; txt <- \"foo\\n\"; txt <- \"foo\\n\"; txt <- \"foo\\n\"; txt <- \"foo\\n\"; txt <- \"foo\\n\"; txt <- \"foo\\n\"; txt <- \"foo\\n\"; txt <- \"foo\\n\"; txt <- \"foo\\n\"; txt <- \"foo\\n\"; txt <- \"foo\\n\"; txt <- \"foo\\n\"; txt <- \"foo\\n\"; txt <- \"foo\\n\"; txt <- \"foo\\n\"; txt <- \"foo\\n\"; txt <- \"foo\\n\"; txt <- \"foo\\n\"; txt <- \"foo\\n\"; txt <- \"foo\\n\"; txt <- \"foo\\n\"; txt <- \"foo\\n\"; cat(txt)"; 
        for (int i=0; i<1e1; i++) {
    	R.parseEvalQ(evalstr); 		// eval the init string, ignoring any returns
        }
        exit(0);
    }

  5. #5
    Membre éprouvé
    Avatar de Haache
    Homme Profil pro
    Doctorant & Ingénieur Statiaticien Economiste
    Inscrit en
    Mars 2014
    Messages
    349
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : Canada

    Informations professionnelles :
    Activité : Doctorant & Ingénieur Statiaticien Economiste

    Informations forums :
    Inscription : Mars 2014
    Messages : 349
    Points : 1 009
    Points
    1 009
    Billets dans le blog
    8
    Par défaut
    Merci GENDRAUD

    Je vais essayer. Finalement je n'ai plus utiliser Rinside. En fait je voulais juste appeler un package R dans C++. Donc ça n'avait pas besoin de Rinside.

    Merci. Je vais essayer quand même solution.
    • Faites un tour sur mon siteweb professionnel www.aristideelysee.16mb.com Des codes dans la section "media et code" pouvant vous aider que vous pouvez aussi partager sur les réseaux sociaux.
    • Visiter mon blog en cliquant ici! Des techniques, astuces et macros pour l'analyse quantitative.

  6. #6
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2016
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2016
    Messages : 10
    Points : 20
    Points
    20
    Par défaut
    Bonsoir,

    Maintenant, c'est moi qui est une question. (Mais cette question est assez proche de la question en cours et qui fait suite au message juste au dessus.)

    Comment fait-on pour utiliser une fonction chargé dans un package R qu'il faut inclure?

    Je sais que l'on peut passer dans une fonction c++ un argument de type function. (si bien sûr on inclus Rcpp).

    Mais notre fonction c++ devra obligatoirement être lancé depuis R.

    Merci d'avance de votre aide

    Pierre-Olivier GENDRAUD

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 02/08/2014, 08h20
  2. [WD9] Fonction n'est pas trouvée dans le fichier DLL
    Par malik_ne dans le forum WinDev
    Réponses: 3
    Dernier message: 12/03/2010, 11h57
  3. fichier .properties n'est pas trouvé
    Par Javix dans le forum Services Web
    Réponses: 2
    Dernier message: 12/08/2009, 11h14
  4. Réponses: 0
    Dernier message: 10/05/2008, 20h42
  5. [information] utiliser des "dessins" si le fichier image n'est pas trouvé
    Par TabrisLeFol dans le forum API standards et tierces
    Réponses: 2
    Dernier message: 25/05/2006, 12h05

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