Установка пакетов на R - программирование
Подтвердить что ты не робот

Установка пакетов на R

По какой-то причине я вдруг не смог установить пакеты в R (впоследствии я обновил до последней версии R и запускаю Windows 7). Например, если я набираю:

install.packages('beeswarm')

Установка пакета в "D:/Rlibs (поскольку" lib не указан ") --- Выберите зеркало CRAN для использования в этом сеансе --- попробуйте URL ' http://www.stats.bris.ac.uk/R/bin/windows/contrib/3.0/beeswarm_0.1.5.zip' Тип контента 'text/html' длина неизвестный открытый URL-адрес загружен 1859 байты

Ошибка в read.dcf(file.path(pkgname," ОПИСАНИЕ "), c (" Пакет "," Тип ")): не удается открыть соединение. Кроме того: Предупреждение Сообщения: 1: В unzip (zipname, exdir = dest): ошибка 1 при извлечении из zip файла 2: В read.dcf(file.path(pkgname," ОПИСАНИЕ "), c (" Пакет "," Тип ")): невозможно открыть сжатый файл" beeswarm/DESCRIPTION ", вероятная причина" Нет такого файла или каталога"

Я читал, что в Windows 7 могут существовать важные ограничения на права на запись в определенные папки и т.д., поэтому я пошел на некоторые длины, чтобы установить папки R и библиотеки в областях, отличных от моего компьютера, и разрешить я прав на определенные папки, но безрезультатно. Возможно, также имеет значение, когда я печатаю:

.libPaths()

# [1] "D:/Rlibs"                                             
# [2] "C:/Users/L.Halsey/Documents/R/win-library/3.0"        
# [3] "C:/Users/L.Halsey/Documents/Documents/R-3.0.1/library"

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

4b9b3361

Ответ 1

Сообщаемая ошибка неспособна открыть соединение. В Windows часто возникает проблема брандмауэра и содержится в часто задаваемых вопросах Windows R. Обычная первая попытка - запустить internet2.dll. С помощью сеанса консоли вы можете использовать:

setInternet2(TRUE)

(Вы правы, думая, что это связано не с настройкой вашей библиотеки. Ошибка ничего не говорит о разрешениях.) Я не думаю, что просто набрав .libPaths должен вернуть этот вектор символов, так как на моей машине мне нужно будет ввести .libPaths(), чтобы увидеть что-то подобное. Если вы хотите уменьшить количество мест для библиотек, вы можете использовать функцию .libPaths для установки значений. Это позволит выбрать второй и третий из существующих путей

 .libPaths( .libPaths()[2:3] )

Внутренний вызов извлекает вектор пути, а внешний вызов устанавливает его на уменьшенный вектор.

Ответ 2

Я, вероятно, дублирую много других ответов на stackoverflow, но я получил точно такую ​​же ошибку, как OP, а именно: Warning messages: 1: In unzip(zipname, exdir = dest) : error 1 in extracting from zip file 2: In read.dcf(file.path(pkgname, "DESCRIPTION"), c("Package", "Type")) : cannot open compressed file 'zoo/DESCRIPTION', probable reason 'No such file or directory'

Выключилось, в то время как я, как пользователь, имел права писать в определенном каталоге, R не сделал этого. Чтобы убедиться, что у вас нет чего-то подобного, выполните следующие действия:

  • получить диск USB, назовите его E
  • загрузите исходный код пакета как .zip файл и сохраните его на usb-диске в каком-то каталоге, назовите его E:/source
  • Создайте каталог для библиотек на диске usb, назовите его E:/libs
  • Установите пакеты, вызывающие R-команду install.package, из консоли R и установив все соответствующие каталоги, чтобы указать на ваш USB-накопитель:

    (здесь я использую пакетный зоопарк в качестве примера)

    install.packages("E:/source/zoo_1.7-12.zip", 
                     destdir = 'E:/source',  # no "/" after the path
                     lib = 'E:/libs', 
                     repos = NULL)
    
  • Загрузите пакет из каталога, где вы его установили: library('zoo', lib.loc = 'E:/libs')


После того, как вы уверены, он работает именно на вашем USB-накопителе, вы можете начать разрешать права на каталоги и попробовать, изменив пути в приведенном выше коде.

обновление: В некоторых средах Windows даже ваш USB-накопитель может быть защищен от чтения и записи с помощью R. Убедитесь, что вы проверяете разрешения с помощью машины, с которой работаете.

Ответ 3

Следующие работали для меня (на основе вышеприведенного ответа)

install.packages( "clustvarsel", lib = "C:/Users/dnentchev/Мои программы /R -3.2.2/library" )