2015-01-11 3 views
11

При установке пакета в R с помощью следующей команды:«Установка пакета„FILE_PATH“имела ненулевой-статус выхода» в R

install.packages('FILE_PATH', repos=NULL, type = "source") 

я получил следующее сообщение об ошибке:

Installing package into ‘/home/p/R/x86_64-pc-linux-gnu-library/3.0’ (as ‘lib’ is unspecified) Errore in rawToChar(block[seq_len(ns)]) : embedded nul in string: 'PK\003\004\024\0\002\0\b\0]\xadVCr\xcb\xea\xfcR\0\0\0\xa7\0\0\0\027\0\0\0bivpois-Rcode/.Rhistory+\xce/-JN\xd5PO\xca,+\xc8\xcf,\xd6+IL\xcaI\xd5\vR\xd7\xe4\xe5*\x86J\xe5\xe4\xea%\025`\b\xa5d\xa2\v楖\xe7%\xe6' Warning message: In install.packages("/home/p/Research/14_bivpois-Rcode.zip", repos = NULL, : installation of package ‘/home/p/Research/14_bivpois-Rcode.zip’ had non-zero exit status

Версия R - это 3.0.2 (2013-09-25) -- "Frisbee Sailing", а ОС - Linux Mint (UNIX).

Почему я получаю эту ошибку и что это значит:

installation of package ‘/home/p/Research/14_bivpois-Rcode.zip’ had non-zero exit status

в R?

Вы можете найти пакет here, а файл 14_bivpois-Rcode.zip - источник.

Я попытался установить это локально, и путь правильный.

Любое предложение установить этот пакет в UNIX?

+1

Этот архив не имеет необходимой структуры для действительного пакета R. Похоже, вам нужно будет загружать функции в рабочее пространство из каждого из файлов .R (например, с помощью 'source') или загрузить файл .RData, указанный на связанной странице (см.'? Load'). – jbaums

+0

Во-первых, спасибо, что комментировали вопрос. На ваш взгляд, если я использую load(), что я могу использовать вместо «envir = parent.frame»? Я не понимаю, что означает R с таким синтаксисом. – Quantopik

+0

Вы можете оставить 'envir' по умолчанию - этот аргумент просто указывает, где вы хотите загружать функции/объекты. В вашем случае по умолчанию они будут загружены в глобальную среду. – jbaums

ответ

6

. ZIP-файл, предоставленный авторами, не является допустимым пакетом R, и они заявляют, что источник предназначен для «прямого использования» в R (по которому я предполагаю, что они означают, что необходимо вручную загрузить включенные функции) , non-zero exit status просто указывает на наличие ошибки при установке «пакета».

Вы можете извлечь архив вручную, а затем загрузить функции там, например, source('bivpois.table.R'), или загрузить файл .RData, который они предоставляют, и загрузить его в рабочее пространство с помощью load('.RData'). Это делает не устанавливает функции как часть пакета; скорее, он загружает функции в вашу глобальную среду, делая их временно доступными.

Вы можете загрузить, извлечь и загрузить .rdata из R следующим образом:

download.file('http://stat-athens.aueb.gr/~jbn/papers/files/14/14_bivpois_RDATA.zip', 
       f <- tempfile()) 
unzip(f, exdir=tempdir()) 
load(file.path(tempdir(), '.RData')) 

Если вы хотите, чтобы файл .rdata быть доступны в текущем рабочем каталоге, который будет загружен в будущем, вы можете использовать следующие вместо:

download.file('http://stat-athens.aueb.gr/~jbn/papers/files/14/14_bivpois_RDATA.zip', 
       f <- tempfile()) 
unzip(f, exdir=tempdir()) 
file.copy(file.path(tempdir(), '.RData'), 'bivpois.RData') 
# the above copies the .RData file to a file called bivpois.RData in your current 
# working directory. 
load('bivpois.RData') 

В будущих сессий R, вы можете просто позвонить load('bivpois.RData').

+0

Все в порядке, и ошибок нет, но я не могу назвать пакет. Он дает ошибку, если я пытаюсь вызвать его в текущем сеансе, используя library(). – Quantopik

+0

@Quantopic - это потому, что это не пакет. Функции свободно перемещаются в рабочей области. Вам придется загружать файл .Rdata каждый раз, когда вы хотите использовать эти функции. – jbaums

+0

Хорошо. Спасибо за объяснения и помощь. Действительно ясный и полезный. – Quantopik

2

Вы проверили пакет gsl в своей системе. Попробуйте с этим:

ldconfig-p | grep gsl 

Если gsl установлен, он будет отображать путь конфигурации. Если это не в стандартном пути /usr/lib/ то вам нужно сделать следующее в Баш:

export PATH=$PATH:/your/path/to/gsl-config 

Если gsl не установлен, просто сделать

sudo apt-get install libgsl0ldbl 
sudo apt-get install gsl-bin libgsl0-dev 

У меня была проблема с mvabund пакета и это фиксировало ошибку

Приветствия!

1

У меня была аналогичная проблема с попыткой установить пакет под названием AED. Я попытался с помощью install.packages команды():

install.packages('FILE_PATH', repos=NULL, type = "source") 

, но продолжал получать следующее предупреждающее сообщение:

Warning message: 
In install.packages("/Users/blahblah/R-2.14.0/AED", : 
installation of package ‘/Users/blahblah/R-2.14.0/AED’ had 
non-zero exit status 

Оказалось папку «АВД» была еще одна папка внутри него, что hadn» t был несжатым. Я просто не сжал его и снова попытался установить пакет, и он сработал.

7

Простая установка следующих libs на вашем Linux.
локон: Sudo APT-получить установку завитка
libssl-Dev: Sudo APT-получить установку libssl-DEV
Libcurl: Sudo APT-получить установку libcurl4-OpenSSL-DEV
xml2: Sudo APT-получить установку libxml2-DEV

5

вы можете попробовать использовать команду: install.packages ('* package_name', зависимости = TRUE)

для примера вы должны установить пакет 'каре' в вашей R машине в Linux: установки. пакеты («каретка», зависимости = ИСТИНА)

Выполнение всех зависимостей для пакета также будет загружено.

Смежные вопросы