Ошибка: (преобразовано из предупреждения) пакет 'glmnet' недоступен (для версии R 3.5.3) - PullRequest
2 голосов
/ 05 апреля 2020

Я попробовал несколько вещей, чтобы заставить это работать, и мне не повезло. Я использую Debian 8, и я только что сделал бесплатную загрузку R sh, то есть получил максимально возможную версию для ОС. Я загружаю пакет github с gl mnet в качестве одного из пакетов и получаю следующую ошибку:

Error: (converted from warning) package ‘glmnet’ is not available (for R version 3.5.3)

Я знаю, что есть другие сообщения, похожие на этот, но я попробовал их все и они до сих пор не работают. Мне действительно нужно использовать, например, Debian 9, чтобы затем получить более высокую версию, чтобы иметь возможность использовать gl mnet, или есть более простой обходной путь?

Обновление

Я попробовал рекомендацию от RyanFrost, и это дало мне дальнейшее развитие, но теперь я получаю ошибки в пакете gl mnet. При первом запуске команды я получил ошибку относительно решетки пакета. Я запустил install.packages("lattice") и повторил код ниже. Теперь я застрял с этими ошибками:

> install_version("glmnet", version = "3.0")
Downloading package from url: https://cloud.r-project.org/src/contrib/Archive/glmnet/glmnet_3.0.tar.gz
Installing package into ‘/usr/local/lib/R/site-library’
(as ‘lib’ is unspecified)
* installing *source* package ‘glmnet’ ...
** package ‘glmnet’ successfully unpacked and MD5 sums checked
** libs
gfortran   -fpic  -g -O2 -fstack-protector-strong  -c glmnet5dpclean.f -o glmnet5dpclean.o
gcc -std=gnu99 -I"/usr/share/R/include" -DNDEBUG      -fpic  -g -O2 -fstack-protector-strong -Wformat -Werror=format-security -D_FORTIFY_SOURCE=2 -g  -c glmnet_init.c -o glmnet_init.o
gcc -std=gnu99 -I"/usr/share/R/include" -DNDEBUG      -fpic  -g -O2 -fstack-protector-strong -Wformat -Werror=format-security -D_FORTIFY_SOURCE=2 -g  -c pb.c -o pb.o
pb.c: In function ‘setpb_’:
pb.c:21:3: warning: implicit declaration of function ‘R_GetCurrentEnv’ [-Wimplicit-function-declaration]
   eval(s, R_GetCurrentEnv());
   ^                                                                                                                                       
pb.c:21:11: warning: passing argument 2 of ‘Rf_eval’ makes pointer from integer without a cast                                             
   eval(s, R_GetCurrentEnv());                                                                                                             
           ^                                                                                                                               
In file included from pb.c:1:0:                                                                                                            
/usr/share/R/include/Rinternals.h:955:6: note: expected ‘SEXP’ but argument is of type ‘int’                                               
 SEXP Rf_eval(SEXP, SEXP);                                                                                                                 
      ^                                                                                                                                    
gcc -std=gnu99 -shared -L/usr/lib/R/lib -Wl,-z,relro -o glmnet.so glmnet5dpclean.o glmnet_init.o pb.o -lgfortran -lm -lquadmath -L/usr/lib/R/lib -lR                                                                                                                                  
installing to /usr/local/lib/R/site-library/glmnet/libs                                                                                    
** R
** data
** inst
** byte-compile and prepare package for lazy loading
** help
*** installing help indices
** building package indices
** installing vignettes
** testing if installed package can be loaded
Error: package or namespace load failed for ‘glmnet’ in dyn.load(file, DLLpath = DLLpath, ...):
 unable to load shared object '/usr/local/lib/R/site-library/glmnet/libs/glmnet.so':
  /usr/local/lib/R/site-library/glmnet/libs/glmnet.so: undefined symbol: R_GetCurrentEnv
Error: loading failed
Execution halted
ERROR: loading failed
* removing ‘/usr/local/lib/R/site-library/glmnet’
Error: Failed to install 'unknown package' from URL:
  (converted from warning) installation of package ‘/tmp/RtmpAoQtn8/remotes75e4327440a/glmnet’ had non-zero exit status

1 Ответ

1 голос
/ 05 апреля 2020

Пакет gl mnet начал требовать R версии 3.6 после gl mnet версии 3.0 (3.0-1 и более поздних версий).

Итак, нужно попробовать установить версию 3.0 (для этого требуется только R 3.5 +).

Для этого вы можете использовать devtools:

library(devtools)

install_version("glmnet", version = "3.0")
...