2.1.2. Csomagok újratelepítése

A bevezetőben említettük, hogy évente két új R verzió megjelenésére számíthatunk. Az R folyamatos frissítése nem okoz különösebb kényelmetlenséget, mert a hivatalos honlapról letölthető és néhány kattintás után telepíthető a legfrissebb R verzió. Az új verziót azonban félkarú óriásnak érezzük mindaddig, amíg a régi R verzióban használt összes csomagot nem telepítjük újra az új verzióban. Ehhez nyújt segítséget a lenti néhány R programsor, amelyet két lépésben használunk fel.

1. lépés. Indítsuk el a régi R verziót és futtassuk le az 1. lépés sorait. (Előtte az 1.1. pont két sorát módosítsuk a megfelelő könyvtár- és állománynévre.) A futtatás eredménye egy szöveges állomány. Lépjünk ki a régi R verzióból.

#----------------------------------------------------------
# 1. lépés: futtatás a régi R verzióban
#                
# Eredmény: Létrehoz egy szöveges állományt 
#           a régi verzióban telepített csomagokról
#----------------------------------------------------------

# 1.1. A szöveges állomány elérési útjának meghatározása
dir  <- "c:/Users/Kali2/Dokumentumok/"
file <- "telepitendo_csomagok.txt" 

# 1.2. A szöveges állomány létrehozása
d <- data.frame(packages=setdiff(rownames(installed.packages()),
                                 rownames(installed.packages(priority="base"))))
write.table(d, file=paste(sep="", dir, file), row.names=F, quote=F)

2. lépés. 2. Indítsuk el az új R verziót és futtassuk le az 2. lépés sorait. (A 2.1. részlépésben állítsuk be a megfelelő elérési utat.) A sikeres telepítéshez hálózati elérés szükséges. A folyamat több percig is eltarthat.

#----------------------------------------------------------
# 2. lépés: futtatás az új R verzióban
#
# Eredmény: A szöveges állomány tartalma alapján
#           telepíti a csomagokat
#----------------------------------------------------------

# 2.1. A szöveges állomány elérési útjának meghatározása
dir  <- "c:/Users/Kali2/Dokumentumok/"
file <- "telepitendo_csomagok.txt" 

# 2.2. A csomagok forrása
c.url <- contrib.url("http://cran.rapporter.net/")  # magyar szerver
# vagy 
# c.url <- contrib.url("http://cran.at.r-project.org/")
# c.url <- contrib.url("http://cran.uib.no/")

# 2.3. Csomagok telepítése
d <- read.table(file=paste(sep="", dir, file), header=T, stringsAsFactors=F)
install.packages(pkgs=d$packages, contriburl=c.url, dependencies=T)