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 :

Message d'erreur: cannot open the connection


Sujet :

R

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    aucun relié à l'informatique
    Inscrit en
    Mai 2014
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : aucun relié à l'informatique
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2014
    Messages : 23
    Points : 26
    Points
    26
    Par défaut Message d'erreur: cannot open the connection
    Le programme suivant me retourne un message d'erreur (voir plus bas). Je suis sous Ubuntu 14.04 et tous les dossiers sont dans le répertoire ~

    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
    #!/usr/bin/Rscript
    # data.r, downloads raw stock data
     
    stocks = "stocks.txt"
     
    args <- commandArgs(TRUE)
     
    extract <- function(args){
    stocks <- t(read.table(args[1],sep=",")[1,])
    J <- length(stocks)
    dir.create("data", showWarnings = FALSE)
    path <- "http://real-chart.finance.yahoo.com/table.csv?s="
    for(j in 1:J){
      dat <- read.csv(paste(path,stocks[j],sep=""))
      write.csv(dat, file=paste("./data/",stocks[j],sep=""),
              row.names=FALSE, quote=FALSE)
      }
    }
    extract(args)

    Error in file(file, "rt") : cannot open the connection 
    
    In addition: Warning message:
    In file(file, "rt") : cannot open file 'NA': No such file or directory
    Peut-on m'indiquer mon erreur?

    Merci

    Jacques

  2. #2
    Membre expérimenté
    Inscrit en
    Novembre 2009
    Messages
    703
    Détails du profil
    Informations forums :
    Inscription : Novembre 2009
    Messages : 703
    Points : 1 311
    Points
    1 311
    Par défaut
    Bonjour,

    Je ne connais pas la commande commandArgs() mais en essayant d'exécuter votre programme pas à pas, il semble y avoir un problème dès le départ :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    > stocks <- "stocks.txt"
    > args <- commandArgs(TRUE)
    > stocks <- t(read.table(args[1],sep=",")[1,])
    Error in file(file, "rt") : cannot open the connection
    In addition: Warning message:
    In file(file, "rt") : cannot open file 'NA': No such file or directory
    Essayez de mettre le code au point sans fonction. Quand il marchera, vous pourrez rajouter la boucle et l'insérer dans une fonction.

    Cordialement,

  3. #3
    Modératrice

    Femme Profil pro
    Statisticienne, Fondatrice de la société DACTA
    Inscrit en
    Juin 2010
    Messages
    893
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 35
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Statisticienne, Fondatrice de la société DACTA

    Informations forums :
    Inscription : Juin 2010
    Messages : 893
    Points : 2 673
    Points
    2 673
    Par défaut
    Bonjour,

    Comme vous l'a conseillé mgdondon, une première chose à faire pour chercher d'où vient votre erreur est de tester le tout sans passer par l'usage d'une fonction dans un premier temps.
    A priori, je dirais vu comme ça que c'est l'élément args[1] passé en paramètre de la fonction "read.table" qui pose problème. Peut-être devriez vous commencer par effectuer un affichage des différents éléments contenus dans "args" ?

    Egalement, quelle commande avez-vous tapé pour lancer l'exécution du script ?


    Cordialement,


    A.D.

    Forum R
    Fournir le code utilisé (pensez aux balises code !), les packages nécessaires, ainsi qu'un court mais représentatif extrait du jeu de données et les éventuels messages d'erreur.
    Recherche d'informations concernant R : RSiteSearch / tutoriels : http://r.developpez.com/cours/ .

    Pensez également au bouton "Résolu" et à voter (en bas à droite des messages) lorsque vous avez obtenu une réponse satisfaisante.

  4. #4
    Nouveau membre du Club
    Homme Profil pro
    aucun relié à l'informatique
    Inscrit en
    Mai 2014
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : aucun relié à l'informatique
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2014
    Messages : 23
    Points : 26
    Points
    26
    Par défaut
    Bonjour,

    J'utilise ce script sous windows:

    Code bash : 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
    @ECHO OFF
    REM File containing the list of stock symbols
    SET stocks="stocks.txt"
    REM Number of trading days
    SET T="250"
    REM File containing the daily stock prices
    SET file="portfolio.txt"
    REM Number of portfolios on the frontier
    SET N="100"
    REM Daily return for the risk free asset
    SET R="0.0003"
    REM Maximum daily return value considered
    SET Rmax="0.01"
    REM The path to R
    SET rpath="C:\Program Files\R\R-3.0.1\bin\x64\
    Rscript.exe"
    CALL %rpath% data.r %stocks%
    CALL %rpath% price.r %stocks% %T% %file%
    CALL %rpath% optimization1.r %file% %N% %Rmax%
    CALL %rpath% optimization2.r %file% %N% %R% %Rmax%

    Mon fichier stocks.txt est une liste csv des stocks (ex: (ibm, sbux, etc.....). Le tout fonctionne très biens sous Ubuntu/Linux, mais avec Windows...problème.

    Le fichier data.r ne fait qu'aller chercher les données sur Yahoo finance et les copier dans un répertoire /data. Le ficher price.r en fait une matrice et les fichiers optimization1 et 2 créent des portefeuilles d'actions avec des contraintes. data.r n'utilise que le fichier stocks.txt.

    Merci,

    Jacques

  5. #5
    Membre éprouvé

    Homme Profil pro
    Cyber Security & AI
    Inscrit en
    Février 2009
    Messages
    506
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Cyber Security & AI

    Informations forums :
    Inscription : Février 2009
    Messages : 506
    Points : 1 189
    Points
    1 189
    Billets dans le blog
    2
    Par défaut
    Bonjour,

    Je ne sais résoudre le problème de passage de paramètre avec la fonction CALL, mais d'après le message d'erreur args renvoie Null.

    Quand j'appelle ta fonction directement à partir de RScript j'ai le bon fonctionnement attendu.

    L'erreur ne vient-elle pas de ton utilisation de ta fonction CALL et des arguments en entrées (je me demande si les paramètres de ne sont pas passé dans la bonne fonction. CALL au lieu de RScript ?) ?

    Cordialement.

  6. #6
    Nouveau membre du Club
    Homme Profil pro
    aucun relié à l'informatique
    Inscrit en
    Mai 2014
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : aucun relié à l'informatique
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2014
    Messages : 23
    Points : 26
    Points
    26
    Par défaut
    Bonjour,

    Je ne sais plus! CALL est une fonction batch interne de DOS qui ne fait qu'appeler des programmes ou des paramètres à l'intérieur du programme principal sans arrêter celui-ci. Normalement, le premier CALL doit démarrer R, rouler data.r avec le fichier stocks.txt...et ensuite passer au second CALL et ainsi de suite. Peut-être que mes fichiers ne sont pas au bon endroit...je m'y perd un peu.

    Jacques

Discussions similaires

  1. Réponses: 2
    Dernier message: 26/05/2015, 20h30
  2. erreur: cannot open display
    Par Balbuzard dans le forum Réseau
    Réponses: 3
    Dernier message: 28/04/2009, 01h25
  3. Erreur: Cannot insert the value NULL
    Par Identifiant dans le forum ASP.NET
    Réponses: 6
    Dernier message: 11/06/2007, 13h40
  4. Message d'erreur: Cannot find file ID 2
    Par glanumf dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 25/05/2007, 16h08
  5. Réponses: 4
    Dernier message: 20/05/2007, 18h14

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