Ошибка в файле (файл, «rt» ): невозможно открыть соединение

Вопрос:Я новичок в R, и после тщательного изучения этой ошибки я все еще не могу найти решение для этого. Вот код. Я проверил свой рабочий каталог и убедился, что файлы находятся в правильном каталоге. Ценить это. Благодаря pollutantmean

Вопрос:

Я новичок в R, и после тщательного изучения этой ошибки я все еще не могу найти решение для этого. Вот код. Я проверил свой рабочий каталог и убедился, что файлы находятся в правильном каталоге. Ценить это. Благодаря

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)) } }

Ошибка, которую я получаю, ниже:

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 Ответ №1

Вам нужно изменить directory <- («./specdata») на directory <- («./specdata/»)

Относительно вашего текущего рабочего каталога вы ищете файл 001.csv, который находится в вашем каталоге спецификаций.

Этот вопрос практически невозможно ответить без какого-либо контекста, так как вы не указали нам структуру своего рабочего каталога. К счастью для вас, я уже занимался программированием R на Coursera, поэтому я уже задал этот вопрос о домашнем задании.

Ответ №2

Установите рабочий каталог на один уровень/папку выше. Например, если он уже установлен как:

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

перейдите на один уровень назад и установите его как:

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

Другими словами, не создавайте папку “specdata” в качестве рабочего каталога.

Ответ №3

Я просто потратил много времени, пытаясь понять, что было не так в моем коде тоже…

И это кажется простым, если вы используете окна.

Когда вы назовете свой файл “blabla.txt”, тогда Windows назовет его “blabla.txt.txt”…
То же самое с файлами .CSV, чтобы окна создавали файл с именем “001.csv.csv”, если вы его назвали “001.csv”

Итак, когда вы создаете свой CSV файл, просто переименуйте его “001” и откройте его в R, используя read.table(«/absolute/path/of/directory/with/required/001.csv»)

Это работает для меня.

Ответ №4

Я предполагаю, что причина этой ошибки в том, что RStudio потерял путь к вашему рабочему каталогу.

(1) Перейти на сессию…

(2) Установить рабочий каталог…

(3) Выберите каталог…

→ Тогда вы можете увидеть всплывающее окно.

→ Выберите папку, в которой вы храните свои данные.

Таким образом, без какого-либо кода вы меняете свой рабочий каталог. Надеюсь, это поможет вам.

Ответ №5

Если во время работы в Windows попробуйте запустить R или R Studio в качестве администратора, чтобы избежать ограничений файловой системы Windows.

Ответ №6

Используйте setwd() для перехода в соответствующую директорию.
Используйте только имя файла для доступа к любому файлу в рабочем каталоге.
Перейдите в папку выше, используя «../<filename>».

Ответ №7

закройте свою R studio и запустите ее снова как администратор. Это сделало магию для меня. Надеюсь, что это работает для вас и всех, кто проходит через это тоже.

Ответ №8

Лучшая проверка, которую можно выполнить, если вы получили такую ошибку при доступе к файлу, – это использовать file.exists(«file_path/file_name»). Эта функция вернет TRUE если файл существует и доступен, иначе False.

Ответ №9

Я получил такое же сообщение об ошибке и исправил его самым простым способом. Я поместил свой файл .csv в папку с файлами на своем рабочем столе, открыл рабочий стол в окне рядом с консолью на RStudio, а затем открыл там свой файл и установил флажок рядом с моим .csv файлом, затем использовал “больше”, выпадающее меню в верхней части этого окна, чтобы установить это как мой рабочий каталог… возможно, самая простая вещь для начинающих SUPER, таких как я:)

Ответ №10

Эта ошибка также возникает, когда вы пытаетесь использовать результат getwd() непосредственно в пути. Проблема в отсутствии символа “/” в конце. Попробуйте следующий код:

projectFolder <- paste(getwd(), «/», sep = »)

Paste() должен объединить косую черту в конце.

Ответ №11

Я получил свой код R-кода от друга и не смог запустить команду read.csv, но если я скопирую эту же команду (read.csv) в новый файл сценария R, она запустится нормально.

Приведенная ниже команда не выполнялась в файле кода R, предоставленном моим другом, рабочий каталог, имя файла и т.д. Были правильными, потому что если я создал новый файл сценария R и запустил команду ниже, это сработало.

df <- read.csv(«file.csv»,header=TRUE,stringsAsFactors = FALSE,strip.white = TRUE,sep = ‘,’)

проблема/решение: я щелкнул правой кнопкой мыши файл кода R, разблокировал файл и нажал кнопку “Сохранить”, и проблема была решена. Если ваш файл R-кода находится в папке “Загрузки” в Windows, перейдите в другую папку.

Ответ №12

У меня была та же проблема. Я удалил расширение из имени файла. Например, мое имя файла было сохранено как xyz. CSV. я сохранил его как XYZ.

Ответ №13

Получил эту ошибку и обнаружил, что RStudio на моей машине с Windows пытается использовать качестве escape-символа, поэтому пришлось заменить его на \ чтобы справиться с ним.

Попробуйте функцию file.exists с вашим путем, например:

file.exists(«D:\R\path_to_file.csv»)

Оцените статью
Добавить комментарий