windows 系統(tǒng)
前言
目前有兩個(gè)版本的R可以下載,第一個(gè)版本在這里r-projet,缺點(diǎn)是默認(rèn)單核運(yùn)算邮屁,速度比較慢,優(yōu)點(diǎn)是版本更新修復(fù)bug比較快,包安裝起來(lái)比較友好。第二個(gè)版本是微軟提供的microsoft-r-open,優(yōu)點(diǎn)是默認(rèn)多核運(yùn)算绽快,并且使用MKL(Intel?Math KernelLibrary)加速矩陣運(yùn)算,速度比較快紧阔,缺點(diǎn)是版本更新異常慢,包安裝起來(lái)沒(méi)有r-projet友好续担。今天擅耽,我將介紹結(jié)合這兩個(gè)版本的優(yōu)點(diǎn),安裝配置一個(gè)默認(rèn)多核運(yùn)算并且安裝包比較有好的R物遇。
安裝前
保證用戶名是英文的乖仇,如果是中文用戶名,請(qǐng)重裝系統(tǒng)并用英文用戶名?
在非系統(tǒng)盤(pán)位置询兴,新建四個(gè)文件夾乃沙,比如R_soft,R_studio,R_files,R_tools ?
安裝路徑不要包含中文,R對(duì)中文支持不好
下載相關(guān)文件
直接官網(wǎng)下載網(wǎng)速非常慢诗舰,下面給出國(guó)內(nèi)鏡像網(wǎng)站地址
R:(https://mirrors.tuna.tsinghua.edu.cn/CRAN/)?
Rstudio:(https://rstudio.com/products/rstudio/download/#download)?
Rtools:(https://cran.r-project.org/bin/windows/Rtools/)?
MKL:(https://software.intel.com/content/www/us/en/develop/tools/parallel-studio-xe/choose-download.html)
安裝相關(guān)軟件
一定要先安裝 R 再安裝 RStudio警儒!
R:請(qǐng)選擇英文路徑,建議安裝在一開(kāi)始建立的R_soft文件夾里?
Rstudio: 建議安裝在一開(kāi)始建立的R_studio文件夾里?
Rtools:建議安裝在一開(kāi)始建立的R_tools文件夾里?
MKL: 直接默認(rèn)安裝即可
配置Rtools
安裝完以上軟件后眶根,啟動(dòng)安裝好的Rstudio蜀铲,輸入以下命令并運(yùn)行:
writeLines('PATH="${RTOOLS40_HOME}\\usr\\bin;${PATH}"', con = "~/.Renviron")
之后重啟Rstudio,運(yùn)行
Sys.which("make")
給出剛才你安裝Rtools路徑就表示你安裝成功!属百!
下載常用到的包
啟動(dòng)Rstudio,輸入以下命令记劝,靜靜等待即可!
options("repos" = c(CRAN="https://mirrors.tuna.tsinghua.edu.cn/CRAN/"))
pkgs <- c("tidyverse","dplyr","tidyfst",
? ? ? ?? "fs","sf","mlr","mlr3",
? ? ? ?? "EDA","mice","plotly","randomForest",
? ? ? ?? "rpart","splines","mle4","ncdf4","gamma4",
? ? ? ?? "lubridate","stringr","tidyr","htmlwidgets",
? ? ? ?? "DT","gt","tidymodels","car","mgcv","survival",
? ? ? ?? "shiny","data.table","purrr","future","progress",
? ? ? ?? "tictoc","jsonlite","listviewer","skimr","devtools",
? ? ? ?? "rmarkdown","RcolorBrewer","knitr",
? ? ? ?? "Rcpp","plyr","rticles","pacman",
? ? ? ?? "beepr","laendR","drake","bayesplot",
? ? ? ?? "cowplot","hrbrthemes","janitor",
? ? ? ?? "nanirar","tidylog","validate",
? ? ? ?? "speedglm","fixest")
install.packages(pkgs,dependencies = T)
配置R
找到你剛才安裝R的文件目錄族扰,進(jìn)入以下目錄../R_soft/R-4.0.2/etc ,用記事本打開(kāi)Rprofile.site文件厌丑,并參考以下代碼選擇性復(fù)制粘貼到這個(gè)文件。
#請(qǐng)修改自己的位置渔呵,用于存放你下載的安裝包怒竿,建議放在非系統(tǒng)盤(pán)
.CUSTOM_LIB = "E:/R_files/R_library"
#請(qǐng)修改自己的位置,用于存放臨時(shí)數(shù)據(jù)
.TMP = "E:/R_files/R_temp" ? ? ? ? ? ?
if(!dir.exists(.CUSTOM_LIB)){
?? dir.create(.CUSTOM_LIB)
}
.libPaths(c(.CUSTOM_LIB, .libPaths()))
message("Using library: ", .libPaths()[1])
if(dirname(tempdir()) != .TMP){
?? if(!dir.exists(.TMP)) dir.create(.TMP)
?? cat(paste0("TMPDIR = ", .TMP), file="~/.Renviron", sep = "\n")
}
message("Using temp directory: ", .TMP)
##為xaringan 制作presentation服務(wù)
options(servr.daemon = TRUE)
##選擇默認(rèn)的鏡像網(wǎng)址厘肮,加快安裝包下載速度
options("repos" = c(CRAN="https://mirrors.tuna.tsinghua.edu.cn/CRAN/"))
# 設(shè)定字體愧口,特別注意里面有一個(gè) enfont 和 cnfont 是我最常用的兩個(gè)字體。
windowsFonts(
? en_font = windowsFont("Times New Roman"),
? cn_font = windowsFont("思源宋體")
)
en_font = "en_font"
cn_font = "cn_font"
?
# 設(shè)定 ggplot2 繪圖主題
ggplot2::theme_set(hrbrthemes::theme_ipsum(base_family = 'en_font'))
# 取消科學(xué)計(jì)數(shù)法的顯示
options(scipen = 1)
?
# 設(shè)定 ggplot2 的默認(rèn)調(diào)色板
options(
? ggplot2.continuous.colour = "viridis",
? ggplot2.continuous.fill = "viridis"
)
配置Rstudio
能設(shè)定元素很多类茂,建議仔細(xì)看看耍属!下面只是部分例子:
Tools -> Global Options -> General
Tools -> Global Options -> Code
Tools -> Global Options -> Apperance
快捷鍵 是提高生產(chǎn)力的重要要素托嚣,建議設(shè)定一組自己能習(xí)慣的快捷鍵
配置MKL,開(kāi)啟多線程運(yùn)算
安裝好MKL以后厚骗,找打以下文件夾:
<!-- -->
"C:\Program Files (x86)\IntelSWTools\compilers_and_libraries\windows\redist\intel64\mkl"
?
"C:\Program Files (x86)\IntelSWTools\compilers_and_libraries\windows\redist\intel64\compiler"
以上兩個(gè)文件夾里所有的文件全部復(fù)制粘貼到以下文件夾:“...2”,也就是你安裝R的文件夾示启!
復(fù)制好以后在該目錄下找到mkl_rt.dll文件,復(fù)制到桌面领舰,不改變文件內(nèi)容夫嗓,修改文件名成Rblas.dll,并放回“...2”冲秽,直接覆蓋原來(lái)的文件
同理找到mkl_rt.dll文件舍咖,復(fù)制到桌面,不改變文件內(nèi)容锉桑,修改文件名成Rlapack.dll排霉,并放回“...2”,直接覆蓋原來(lái)的文件
恭喜你民轴,大功告成攻柠,感受一下MKL加速后運(yùn)算速度有多快,嘗試運(yùn)行以下以下代碼后裸,同時(shí)你可以拿其他單核運(yùn)算電腦運(yùn)行下同樣的代碼瑰钮,對(duì)比下運(yùn)行速度。
m <- 10000
n <- 2000
a <- matrix(runif(m*n),m,n)
system.time(s <- svd(a,nu=0,nv=0))
?
## ?? user? system elapsed
## ? 14.42 ?? 0.58 ?? 2.06
提醒:這步配置好可以卸載MKL微驶,以釋放空間@饲础!祈搜!
致謝
經(jīng)過(guò)一段時(shí)間的學(xué)習(xí)较店,算是有那么一丁點(diǎn)入門R了,感謝在成長(zhǎng)路上指導(dǎo)幫助我的每一位容燕,首先是自己的導(dǎo)師王斌老師梁呈,能給與支持和鼓勵(lì),感謝薛濤老師不厭其煩的解答我的每一個(gè)細(xì)節(jié)蘸秘,感謝Rstata學(xué)院的老師同學(xué)們耐心又及時(shí)解答疑惑官卡,感謝黃天遠(yuǎn)大神及其在大神組的群里每一個(gè)大牛們的技術(shù)指導(dǎo),感謝華東吳亦凡(公眾號(hào):pypi主人)用愛(ài)發(fā)電醋虏,感謝王詩(shī)翔(公眾號(hào):優(yōu)雅R)分享技術(shù)寻咒,感謝送哥、霸哥颈嚼、stone哥等等所有技術(shù)大哥給予的指導(dǎo)和幫助!!!!!!!!!!