web-dev-qa-db-fra.com

Erreur dans le fichier (fichier, "rt"): impossible d'ouvrir la connexion

Je suis nouveau dans R, et après des recherches approfondies sur cette erreur, je ne parviens toujours pas à trouver de solution. Voici le code. J'ai vérifié mon répertoire de travail et vérifié que les fichiers sont dans le bon répertoire. L'apprécier. Merci

pollutantmean <- function(directory, pollutant = "nitrate", id= 1:332)            
{                 if(grep("specdata",directory) ==1) 
            {
                    directory <- ("./specdata")
            }
            mean_polldata <- c()
            specdatafiles <- as.character(list.files(directory))
            specdatapaths <- paste(directory, specdatafiles, sep="")
                            for(i in id) 
                    {
                    curr_file <- read.csv(specdatapaths[i], header=T, sep=",")
                    head(curr_file)
                    pollutant
                    remove_na <- curr_file[!is.na(curr_file[, pollutant]), pollutant]
                    mean_polldata <- c(mean_polldata, remove_na)
                    }
            {
                    mean_results <- mean(mean_polldata)
                    return(round(mean_results, 3))
            }
} 

L'erreur que je reçois est ci-dessous:

Error in file(file, "rt") : cannot open the connection

file(file, "rt")

read.table(file = file, header = header, sep = sep, quote = quote, 
    dec = dec, fill = fill, comment.char = comment.char, ...)

read.csv(specdatapaths[i], header = T, sep = ",")

pollutantmean3("specdata", "sulfate", 1:10)

In addition: Warning message:
In file(file, "rt") :
  cannot open file './specdata001.csv': No such file or directory
28
ldeassis

Vous devez changer directory <- ("./specdata") en directory <- ("./specdata/") 

Par rapport à votre répertoire de travail actuel, vous recherchez le fichier 001.csv, qui se trouve dans votre répertoire specdata. 

Il est presque impossible de répondre à cette question sans aucun contexte, puisque vous ne nous avez pas fourni ici la structure de votre répertoire de travail. Heureusement pour vous, j'ai déjà suivi la programmation R sur Coursera, alors j'ai déjà répondu à cette question. 

13
capt-calculator

Définissez votre répertoire de travail à un niveau/dossier supérieur. Par exemple, s'il est déjà défini comme: 

setwd("C:/Users/Z/Desktop/Files/RStudio/Coursera/specdata")

remonter d'un niveau et le configurer comme suit: 

setwd("C:/Users/Z/Desktop/Files/RStudio/Coursera")

En d'autres termes, ne créez pas de dossier "specdata" comme répertoire de travail. 

9
Abi

Je viens de passer beaucoup de temps à essayer de comprendre ce qui n'allait pas dans mon code aussi ...

Et cela semble être simple si vous utilisez Windows.

Lorsque vous nommez votre fichier "blabla.txt", Windows le nomme "blabla.txt.txt" ... Il en va de même pour les fichiers .CSV afin que Windows crée un fichier nommé "001.csv.csv" si vous avez appelé. il "001.csv"

Ainsi, lorsque vous créez votre fichier .csv, renommez-le "001" et ouvrez-le dans R à l'aide de read.table("/absolute/path/of/directory/with/required/001.csv").

Ça marche pour moi.

7
IceCriime

Je suppose que vous voyez cette erreur parce que RStudio a perdu le chemin de votre répertoire de travail.

(1) Aller à la session ...

(2) Définir le répertoire de travail ...

(3) Choisir le répertoire ...

-> Ensuite, vous pouvez voir une fenêtre apparaît.

-> Choisissez le dossier dans lequel vous stockez vos données.

C’est la manière dont vous modifiez votre répertoire de travail sans aucun code . Nous espérons que cela pourra vous aider.

 enter image description here

2
BetterTeng

Une meilleure vérification qui peut être effectuée si vous obtenez une telle erreur lors de l'accès à un fichier consiste à utiliser la fonction file.exists("file_path/file_name"). Cette fonction renverra TRUE si le fichier est existant et accessible, sinon False.

1
akzhere

fermez votre studio R et relancez-le en tant qu’administrateur. Cela a fait la magie pour moi. J'espère que cela fonctionne pour vous et pour tous ceux qui vivent cela aussi.

1
Joshua Jumbo

Utilisez setwd() pour accéder au répertoire approprié . Utilisez uniquement le nom de fichier pour accéder aux fichiers du répertoire de travail . Naviguez dans un dossier ci-dessus à l'aide de "../<filename>".

1
Rishiraj Surti

Sous Windows, essayez d’exécuter R ou R Studio en tant qu’administrateur pour éviter les contraintes du système de fichiers Windows.

1
Frank Tiernan

J'ai eu le même problème. J'ai supprimé l'extension du nom de fichier. Exemple, mon nom de fichier a été enregistré sous le nom xyz. CSV. je l'ai enregistré comme xyz.

0
niti sethi

J'ai reçu mon fichier de code R d'un ami et je n'ai pas pu exécuter la commande read.csv, mais si je copie la même commande (read.csv) dans un nouveau fichier de script R, tout s'est bien déroulé.

La commande ci-dessous ne fonctionnait pas dans le fichier de code R partagé par mon ami, le répertoire de travail, le nom de fichier, etc. étaient tous corrects, car si je créais un nouveau fichier de script R et que je courais sous la commande, cela fonctionnait.

           df <- read.csv("file.csv",header=TRUE,stringsAsFactors = FALSE,strip.white = 
           TRUE,sep = ',')

problème/résolution: J'ai cliqué avec le bouton droit de la souris sur le fichier de code R et débloqué le fichier, puis cliquez sur le bouton d’enregistrement. Le problème a été résolu. autre dossier.

 enter image description here

0
Tokci

J'ai reçu le même message d'erreur et je l'ai corrigé de la manière la plus simple possible. J'ai placé mon fichier .csv dans un dossier sur mon bureau, ouvert le bureau dans la fenêtre située à côté de la console sur RStudio, puis y ai ouvert mon dossier et coché la case en regard de mon fichier .csv. Déroulez le menu en haut de cette fenêtre pour définir ceci comme mon répertoire de travail ... probablement la chose la plus facile pour les débutants SUPER comme moi :)

0
Danielle Fleming

Cette erreur se produit également lorsque vous essayez d'utiliser le résultat de getwd () directement dans le chemin. Le problème est le manque du "/" à la fin. Essayez le code suivant:

projectFolder <- paste(getwd(), "/", sep = '')

La pâte () consiste à concaténer la barre oblique à la fin.

0
Guannan Shen