Kaip galiu apdoroti „xxx“ paketą, kurio nėra (R versijai xyz)? Įspėjimas?

@ 14 atsakymų

1. Negalite rašyti

Pirmas dalykas, kurį reikia patikrinti, ar teisingai įvedėte pakuotės pavadinimą? Paketo pavadinimai registre yra didžiosios ir mažosios raidės.


2. Jūs nežiūrėjote į tinkamą saugyklą

Tada turite patikrinti, ar paketas yra prieinamas. Tipas

 setRepositories() 

Taip pat žr .

Norėdami sužinoti, kurios R saugyklos ieškos jūsų paketo ir, jei reikia, pasirinkite keletą papildomų. Bent jau norite, CRAN būtų pasirinktas CRAN (extras) ir CRAN (extras) jei naudojate „Windows“, ir „ Bioc* saugyklas, jei esate [GEN / PROTE / Metabol / Transcript] omika biologinė analizė.

Norėdami visam laikui pakeisti šią setRepositories(ind = c(1:6, 8)) , į Rprofile.site failą pridėkite eilutę setRepositories(ind = c(1:6, 8)) .


3. Paketas nėra jūsų pasirinktose saugyklose.

Naudodami

 ap <- available.packages() 

Taip pat žr . Galimų AiRa paketų pavadinimus ? Galimi.paketai .

Kadangi tai yra didelė matrica, galite naudoti duomenų peržiūrą, kad jį ištirtumėte. Be to, galite greitai patikrinti, ar paketas yra prieinamas, patikrindami eilutės pavadinimus.

 View(ap) "foobarbaz" %in% rownames(ap) 

Be to, galimų paketų sąrašą galima peržiūrėti naršyklėje CRAN , CRAN (pasirinktinai) , Bioconductor , R-forge , RForge ir github .

Kitas galimas įspėjimas, kurį galite gauti sąveikaujant su CRAN veidrodžiais:

 Warning: unable to access index for repository 

Tai gali reikšti, kad pasirinkta CRAN saugykla šiuo metu nepasiekiama. Galite pasirinkti kitą veidrodį, naudodami chooseCRANmirror() ir bandykite dar kartą įdiegti.


Yra keletas priežasčių, kodėl paketas gali būti nepasiekiamas.


4. Jums nereikia paketo

Jums tikrai nereikia paketo. Paprastai galite supainioti skirtumą tarp paketo ir bibliotekos , paketo ir duomenų rinkinio.

Paketas yra standartizuota medžiagų rinkinys, išplečiantis R, pavyzdžiui, kodo, duomenų ar dokumentų pateikimas. Biblioteka yra vieta (katalogas), kur R žino, kuriuos paketus jis gali naudoti.

Norėdami peržiūrėti turimus duomenų rinkinius, įveskite

 data() 

5. R arba Bioconductor nebenaudojamas

Jis gali priklausyti nuo vėlesnės R versijos (arba vieno iš paketų, kuriuos jis importuoja / priklauso nuo to, ar jis veikia). pažvelkite

 ap["foobarbaz", "Depends"] 

ir apsvarstykite galimybę atnaujinti R diegimą į dabartinę versiją. „Windows“ tai lengviausia padaryti naudojant „ installr paketą.

 library(installr) updateR() 

(Žinoma, pirmiausia gali tekti įdiegti „ install.packages("installr") .

Gali prireikti atnaujinti „Bioconductor“ įrenginį, atitinkantį „Bioconductor“ paketais.

 source("http://bioconductor.org/biocLite.R") biocLite("BiocUpgrade") 

6. Paketas pasenęs

Gali būti, kad jis buvo archyvuotas (jei jis nebepalaikomas ir „ R CMD check nebetenka).

Tokiu atveju galite atsisiųsti seną paketo versiją su install_version()

 library(remotes) install_version("foobarbaz", "0.1.2") 

Alternatyva yra įdiegti github iš CRAN veidrodžio.

 library(remotes) install_github("cran/foobarbaz") 

7. Nėra dvejetainio Windows / OS X / Linux failo

Jis negali turėti Windows dvejetainio kodo, nes reikia naudoti papildomą programinę įrangą, kurios CRAN neturi. Be to, kai kurie paketai yra prieinami tik iš kai kurių ar visų platformų šaltinių. Tokiu atveju CRAN (extras) saugykloje gali būti versija CRAN (extras) (žr. setRepositories ).

Jei paketui reikalingas kompiliavimo kodas (pvz., C, C + +, FORTRAN), tada sistemoje „Windows“, įdiekite „ Rtools“ arba, „OS X“, įdiekite „Xcode“ pridedamus kūrėjo įrankius ir įdiegite pradinę paketo versiją:

 install.packages("foobarbaz", type = "source") # Or equivalently, for Bioconductor packages: source("http://bioconductor.org/biocLite.R") biocLite("foobarbaz", type = "source") 

CRAN galite sužinoti, ar jums reikia specialių įrankių, kad būtų galima sukurti paketą iš šaltinio kodo, NeedsCompilation vėliavą.


8. Paketas yra github / Bitbucket / Gitorious

Jis gali turėti saugyklą Github / Bitbucket / Gitorious. Šiems paketams reikia įdiegti remotes paketą.

 library(remotes) install_github("packageauthor/foobarbaz") install_bitbucket("packageauthor/foobarbaz") install_gitorious("packageauthor/foobarbaz") 

(Kaip ir installr , jums gali tekti install.packages("remotes") .)


9. Nėra originalios pakuotės versijos

Nors binarinė paketo versija yra prieinama, nėra originalios versijos. Šį patikrinimą galite išjungti nustatydami

 options(install.packages.check.source = "no") 

kaip aprašyta šiame atsakyme, pateiktame imanuelc pranešime SO ir paketo skyriuje „Išsami informacija“ ?install.packages .


10. Paketas yra nestandartinėje saugykloje.

Jūsų paketas yra nestandartinėje saugykloje (pvz., Rbbg ). Darant prielaidą, kad jis yra pakankamai suderinamas su CRAN standartais, vis tiek galite jį atsisiųsti naudodami install.packages ; tiesiog reikia nurodyti saugyklos URL.

 install.packages("Rbbg", repos = "http://r.findata.org") 

Kita vertus, „ RHIPE nėra CRAN saugykloje ir turi savo diegimo instrukcijas .

398
08 сент. Richie Cotton atsakymas, rugsėjo 8 d. 2014-09-08 13:11 '14, 13:11 2014-09-08 13:11

Paskutiniame R (3.2.3) yra klaida, dėl kurios sunku kelis kartus rasti tinkamą paketą. Problemos sprendimas yra įdiegti saugyklą rankiniu būdu:

 install.packages("lubridate", dependencies=TRUE, repos='http://cran.rstudio.com/') 
border=0

Rastas sprendimas kitame klausime

68
03 марта '16 в 6:45 2016-03-03 06:45 atsakymas Dmitrijui pateikiamas kovo 03–16 d. 6:45 2016-03-03 06:45

Atrodo, kad yra problemų su kai kuriomis R ir libcurl versijomis. Turėjau tą pačią problemą Mac (R version 3.2.2) ir Ubuntu (R version 3.0.2) , ir abiem atvejais jis buvo išspręstas tiesiog paleisdami jį prieš komandą install.packages

 options(download.file.method = "wget") 

Sprendimą pasiūlė draugas, tačiau jo nerado nė viename iš forumų, todėl nusiųsdamas šį atsakymą kitiems.

22
18 марта '16 в 15:25 2016-03-18 15:25 atsakymas duotas Saba kovo 18, 16 d. 15:25 2016-03-18 15:25

Tai sutaupė laiko derinant klaidas. Daugeliu atvejų tik veidrodžiai yra pasenę. Ši funkcija gali įdiegti kelis paketus su jų priklausomybe, naudodama https://cran.rstudio.com/ :

 packages <- function(pkg){ new.pkg <- pkg[!(pkg %in% installed.packages()[, "Package"])] if (length(new.pkg)) install.packages(new.pkg, dependencies = TRUE, repos='https://cran.rstudio.com/') sapply(pkg, require, character.only = TRUE) } packages(c("foo", "bar", "baz")) 
8
23 февр. atsakymas pateikiamas Tombarto vasario 23 d 2016-02-23 16:14 '16, 16:14 pm 2016-02-23 16:14

Vienas dalykas, kuris atsitiko man, yra tai, kad mano Linux platinimo R versija (versija R.0.0.2, kurią pateikė Ubuntu 14.04) buvo pernelyg senas, kad naujausia CRAN paketo versija (mano atveju - plyr versija) 1.8.3). Sprendimas buvo naudoti mano paskirstymo pakavimo sistemą, o ne bandyti įdiegti iš R ( apt-get install r-cran-plyr gavo iš 1.8.1 versiją iš plyr ). Gal galėčiau pabandyti atnaujinti R su updateR() , bet bijau, kad tai turės įtakos mano platinimo paketo valdytojui.

8
08 июля '15 в 16:20 2015-07-08 16:20 atsakymas pateikiamas bli liepos 08-15 dienomis 16:20 2015-07-08 16:20

11. R (arba kita priklausomybė) yra pasenusi ir nenorite jos atnaujinti.

Įspėjimas Tai nėra geriausia praktika.

  • Atsisiųskite šaltinio kodą.
  • Eikite į failą DESCRIPTION .
  • Panaikinkite pažeidimo liniją, pavyzdžiui, naudodami teksto redaktorių.

     Depends: R (>= 3.1.1) 
  • Pavyzdžiui, įdiekite iš vietinio (t. Y. Iš pagrindinio katalogo DESCRIPTION ).

     install.packages("foo", type="source", repos=NULL) 
8
01 июня '15 в 5:36 2015-06-01 05:36 atsakymas pateikiamas dardisco 01 birželio 15 d. 5:36 2015-06-01 05:36

Tai galiausiai galėjau padaryti, kad įdiegčiau psichinę paketą R-3.4.1, kai gavau tą patį įspėjimą.

1: „Google“ už šį paketą.

2: įkelkite jį rankiniu būdu, naudodami tar.gz plėtinį

3: pasirinkite „Paketo archyvo failo (.zip; .tar.gz)“ parinktį, jei norite įdiegti paketus į R

4: žiūrima vietoje vietoje, kur ji buvo įkelta ir spustelėta

Galite gauti įspėjimą: priklausomybės nuo „xyz“ paketo nėra, tada pirmą kartą jas įdiegti iš saugyklos ir tada atlikti 3-4 veiksmus.

4
06 авг. Atsakymas suteiktas Biboswan 06 rug . 2017-08-06 14:51 '17, 14:51 pm 2017-08-06 14:51

Nustatiau šią klaidą Ubuntu, atidžiai sekdamas instrukcijas, kaip įdiegti R. Tai apima:

  • pridėti deb http://cran.utstat.utoronto.ca/bin/linux/ubuntu trusty/ į /etc/apt/sources.list failą
  • Paleiskite „ sudo apt-get update
  • Paleiskite sudo apt-get install r-base-dev

Jei norite, galite pasirinkti bet kurį veidrodį, norėdami atsisiųsti CRAN, o ne savo universitetą Toronte.

3
29 авг. atsakymas pateikiamas AlexG 29 rug . 2016-08-29 10:32 '16 at 10:32 2016-08-29 10:32

Turėjau tą pačią problemą („Linux“), kurią galima išspręsti keičiant tarpinio serverio nustatymus. Jei esate už tarpinio serverio, patikrinkite konfigūraciją naudodami „ Sys.getenv("http_proxy") viduje R. Mano ~/.Renviron aš turėjau šias eilutes (iš https://support.rstudio.com/hc/en- us / articles / 200488488-„HTTP“ arba „HTTPS-Proxy“ konfigūravimas-R-to-Use-Proxy ):

 http_proxy=https://proxy.dom.com:port http_proxy_user=user:passwd 

Pakeiskite jį į

 http_proxy="http://user:passwd@proxy.dom.com:port" 

išsprendė problemą. Tai galite padaryti ir https .

Tai nebuvo pirmoji mintis, kai perskaičiau: "xxx paketas nėra prieinamas r-version-xyz" ...

NTN

3
14 апр. Atsakymas pateikiamas nachti 14 balandžio. 2017-04-14 14:00 „17 val. 2 val. 2017-04-14 14:00

Aš padariau klaidą, nepamirštant, kad įdiegus „R“ paketą iš šaltinio kodo įdėti repos=NULL . Tokiu atveju klaidos pranešimas yra šiek tiek klaidinantis: package 'foobarbaz' is not available (for R version xyz)

Problema buvo ne R versija, tai buvo repos parinktis. I install.packages('path/to/source/code/of/foobarbaz', type='source', repos=NULL) kuris man install.packages('path/to/source/code/of/foobarbaz', type='source', repos=NULL) dirbti.

Tikiuosi, kad tai padės kam nors.

2
25 июня '18 в 20:45 2018-06-25 20:45 atsakymas duotas damjanui birželio 25 d., 18 val

Tai beveik visada veikia man, kai aš naudoju biokonduktorių kaip šaltinį, o tada aš vadinu bioclite. Pavyzdys:

 source("https://bioconductor.org/biocLite.R") biocLite("preprocessCore") 
1
04 янв. „BioProgram“ sausio 4 d. Atsakymas 2016-01-04 18:16 '16 at 18:16 PM 2016-01-04 18:16

Kaip minėta čia (prancūzų kalba), tai gali atsitikti, jei kompiuteryje įdiegtos dvi R versijos: pašalinkite seniausią ir tada pabandykite įdiegti paketą! Jis dirbo man.

1
07 марта '17 в 23:10 2017-03-07 23:10 yra atsakymas, kurį pateikė Clément F kovo 7 d. 17 d. 23:10 2017-03-07 23:10

Kitas nedidelis papildymas bandant išbandyti seną R versiją, naudojant „Docker“ vaizdą „ rocker/r-ver:3.1.0

  • Numatytasis yra repos MRAN ir neleidžia gauti daug paketų.
  • Šioje „R“ versijoje nėra https , todėl, pavyzdžiui: „ install.packages("knitr", repos = "https://cran.rstudio.com") veikia.
0
30 дек. Jack Wasey atsakymas 30 d. 2016-12-30 20:49 '17, 08:49 PM 2016-12-30 20:49

Įdiegus „tune-up“ paketą susidūriau su ta pačia problema. Pradėjau ieškoti ir išbandžiau daug komandų. Galiausiai paketas įdiegiamas naudojant šią komandą:

 install_url("http://cran.r-project.org/src/contrib/Archive/sentiment/sentiment_0.2.tar.gz") 
-3
03 дек. atsakymas duotas aditya harbola 03 dec. 2015-12-03 14:01 '15 at 14:01 2015-12-03 14:01

Kiti klausimai apie žymių arba Užduoti klausimą