欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

詳解R語言的24個(gè)高效操作技巧

 更新時(shí)間:2023年04月28日 11:04:01   作者:基因?qū)W苑  
這篇文章主要為大家介紹了R語言的24個(gè)高效操作技巧詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪

R語言中的一些特殊技藝

1 修改默認(rèn)提示語言

R默認(rèn)提示的語言有的人是英文,有的人是中文,這是因?yàn)槊總€(gè)人系統(tǒng)默認(rèn)語言不同,可以通過下面方式進(jìn)行修改

Sys.getlocale()?#顯示系統(tǒng)語言
Sys.setenv(LANG="en")?#?更換默認(rèn)語言為英文

2 查看R所消耗內(nèi)存大小

可以使用memory.size() #獲取內(nèi)存大小,不過該函數(shù)值只是和windows系統(tǒng)。

memory.size()?#獲取內(nèi)存大小
[1]?341

3 查看某個(gè)數(shù)據(jù)集內(nèi)存大小

>?object.size(mtcars)
7208?bytes
>?object.size(mtcars)/1024?#以kb顯示
7?bytes??

4 代碼中換行

默認(rèn)回車是運(yùn)行代碼,在Rstudio中有自動(dòng)補(bǔ)齊,比如定義一個(gè)函數(shù),直接自動(dòng)補(bǔ)齊了{(lán)},回車就運(yùn)行了,可以使用shift+enter #換行

function(x,y)?{
}

5 邊賦值邊顯示

默認(rèn)賦值完,直接敲變量名就打印數(shù)據(jù),可以利用下面方式一步完成兩個(gè)操作。

?(x?<-?runif(10))
?[1]?0.5795985?0.4661326?0.9730974?0.6697417?0.2431985?0.3988545?0.4064351?0.8403910
?[9]?0.3136191?0.9979925

7 查看源代碼

如果想查看R函數(shù)的源代碼,直接輸入函數(shù)名,不加括號即可。

>?mean
function?(x,?...)?
UseMethod("mean")
<bytecode:?0x0000023e3b8db998>
<environment:?namespace:base>

8 利用函數(shù)修改鏡像

如果不設(shè)置R鏡像,每次安裝R包是都會(huì)彈出選擇框,可以在安裝之前通過函數(shù)進(jìn)行設(shè)置,使用chooseCRANmirror()函數(shù),給定ind選項(xiàng)一個(gè)數(shù)值即可。數(shù)值代表鏡像編號。

>?chooseCRANmirror()
Secure?CRAN?mirrors?
?1:?0-Cloud?[https]???????????????????????2:?Australia?(Canberra)?[https]???????
?3:?Australia?(Melbourne?1)?[https]???????4:?Australia?(Melbourne?2)?[https]????
?5:?Australia?(Perth)?[https]?????????????6:?Austria?[https]????????????????????
?7:?Brazil?(BA)?[https]???????????????????8:?Brazil?(PR)?[https]????????????????
?9:?Brazil?(RJ)?[https]??????????????????10:?Brazil?(SP?1)?[https]??????????????
11:?Brazil?(SP?2)?[https]????????????????12:?Bulgaria?[https]???????????????????
13:?Canada?(MB)?[https]??????????????????14:?Chile?(Santiago)?[https]???????????
15:?China?(Beijing?2)?[https]????????????16:?China?(Hefei)?[https]??????????????
17:?China?(Hong?Kong)?[https]????????????18:?China?(Guangzhou)?[https]?
>?chooseCRANmirror(ind?=?18)

9 顯示更多數(shù)據(jù)

默認(rèn)R顯示1000行數(shù)據(jù),如果想顯示更多,可以通過設(shè)置max.print選項(xiàng)。

>?options('max.print')
$max.print
[1]?1000
>?options('max.print'=2000)
>?options('max.print')
$max.print
[1]?2000

10 默認(rèn)保留小數(shù)點(diǎn)

默認(rèn)R顯示7為小數(shù),如果想默認(rèn)保留兩位小數(shù),可以通過設(shè)置digits選項(xiàng)。

>?options('digits')
$digits
[1]?7
>?options('digits'=2)
>?options('digits')
$digits
[1]?2

11 管道

使用管道讓代碼更加簡潔,無需定義過多中間變量。R中的管道符號為“%>%”如果要使用管道,需要加載magrittr包。其實(shí)Rstudio出的各種包都默認(rèn)支持管道,如果加載了tidyverse包也是可以。

>?library(magrittr)
>?library(ggplot2)
>?mtcars?%>%?ggplot(aes(x=cyl,y=mpg,group=cyl))+geom_boxplot()

12 拆分列數(shù)據(jù)

有些時(shí)候記不住列名,或者容易拼錯(cuò),想要列名也能夠自動(dòng)補(bǔ)齊,可以使用attach函數(shù),這樣每一列就變成一個(gè)獨(dú)立的變量。

attach(mtcars)
>?cyl
?[1]?6?6?4?6?8?6?8?4?4?6?6?8?8?8?8?8?8?4?4?4?4?8?8?8?8?4?4?4?8?6?8?4
>?mpg
?[1]?21.0?21.0?22.8?21.4?18.7?18.1?14.3?24.4?22.8?19.2?17.8?16.4?17.3?15.2?10.4?10.4
[17]?14.7?32.4?30.4?33.9?21.5?15.5?15.2?13.3?19.2?27.3?26.0?30.4?15.8?19.7?15.0?21.4

13 默認(rèn)加載包

如果一些包經(jīng)常使用,想要啟動(dòng)R之后自動(dòng)加載,可以在配置文件中進(jìn)行設(shè)置,例如每期啟動(dòng)R,自動(dòng)加載ggplot2包。

file.edit("~/.Rprofile")
.First?<-?function()?{
library(ggplot2)
}

14 為R添加額外擴(kuò)展包加載路徑

默認(rèn)R包的加載目錄在.libPaths()目錄中,當(dāng)然可以為其添加更多的路徑。

>?.libPaths()
[1]?"C:/Users/genom/Documents/R/win-library/4.0"
[2]?"C:/Program?Files/R/R-4.0.3/library"????????
>?.libPaths(new?=?"C:/Users/genom/Desktop/nparFiles/")
>?.libPaths()
[1]?"C:/Users/genom/Desktop/nparFiles"???"C:/Program?Files/R/R-4.0.3/library"

15 遷移R包

如果需要將一臺(tái)設(shè)備安裝的R包,在另外一臺(tái)設(shè)備上安裝,首先保存A設(shè)備上的R包名字列表,在另外一臺(tái)設(shè)備上寫一個(gè)循環(huán)進(jìn)行安裝。

#在A設(shè)備上保存名字列表
oldip?<-?installed.packages()[,1]
save(oldip,file?=?"installedPacckages.Rdata")
#在B設(shè)備上進(jìn)行安裝;
load("installedPacckages.Rdata")
newip?<-?installed.packages()[,1]
?for?(i?in?setdiff(oldip,newip))?{
??install.packages(i)
}

16 列出R包中的函數(shù)

如果想查看一個(gè)R包中全部函數(shù),可以使用下面的語句。

ls(package:base)

17 不加載包使用其中函數(shù)

如果加載R包,還想使用其中的函數(shù),需要使用“包名字::函數(shù)名”的方式。

dplyr::filter()

18 快速獲取顏色

在繪圖的時(shí)候,想要快速設(shè)置幾個(gè)不同的顏色,又嫌生成顏色比較麻煩??梢允褂胷ainbow()函數(shù),給定一個(gè)數(shù)據(jù),快速生成顏色。

>?rainbow(6)
[1]?"#FF0000"?"#FFFF00"?"#00FF00"?"#00FFFF"?"#0000FF"?"#FF00FF"

19 炸開數(shù)據(jù)

前面介紹了attach函數(shù)可以將每一列變成一個(gè)單獨(dú)變量,但這種方式并不推薦,因?yàn)闀?huì)讓變量環(huán)境很混亂??梢允褂靡粋€(gè)特殊管道符"%$%"實(shí)現(xiàn)同樣的效果,我稱之為把數(shù)據(jù)“炸開”

>?library(magrittr)
Warning?message:
程輯包‘magrittr'是用R版本3.6.3?來建造的?
>?women?%$%?plot(weight,height)

20 巧用example函數(shù)學(xué)習(xí)繪圖

example函數(shù)會(huì)幫助運(yùn)行R幫助文檔中的代碼,有時(shí)候想看一個(gè)函數(shù)如何使用,可以直接運(yùn)行這個(gè)example函數(shù)。

>?library(pheatmap)
>?example("pheatmap")
phetmp>?#?Create?test?matrix
phetmp>?test?=?matrix(rnorm(200),?20,?10)
phetmp>?test[1:10,?seq(1,?10,?2)]?=?test[1:10,?seq(1,?10,?2)]?+?3
phetmp>?test[11:20,?seq(2,?10,?2)]?=?test[11:20,?seq(2,?10,?2)]?+?2
phetmp>?test[15:20,?seq(2,?10,?2)]?=?test[15:20,?seq(2,?10,?2)]?+?4
phetmp>?colnames(test)?=?paste("Test",?1:10,?sep?=?"")
phetmp>?rownames(test)?=?paste("Gene",?1:20,?sep?=?"")
phetmp>?#?Draw?heatmaps
phetmp>?pheatmap(test)

21 統(tǒng)計(jì)計(jì)算時(shí)間

想統(tǒng)計(jì)一條代碼運(yùn)行時(shí)間,可以使用system.time()函數(shù)

>?system.time(runif(100000000))
用戶?系統(tǒng)?流逝?
2.75?0.08?2.83?

21 釋放內(nèi)存

R有一套自己的內(nèi)存回收機(jī)制,因此,即使刪除了變量,內(nèi)存不會(huì)立即變化,可以使用gc()函數(shù)釋放內(nèi)存。

>?memory.size()
[1]?297.56
>?rm(list?=?ls())
>?memory.size()
[1]?298.54
>?gc()
??????????used?(Mb)?gc?trigger??(Mb)?max?used??(Mb)
Ncells?1384255?74.0????4046672?216.2??4046672?216.2
Vcells?4288164?32.8???27057220?206.5?33821525?258.1
>?memory.size()
[1]?255.5

22 刪除全部變量

#顯示全部變量內(nèi)容
>?ls()
#刪除
>?rm(list=ls())
#釋放內(nèi)存
>?gc()

23 恢復(fù)默認(rèn)數(shù)據(jù)集

如果不小心將內(nèi)置數(shù)據(jù)集刪除了,或者新定義同名變量,就會(huì)替換原有數(shù)據(jù)集。

?head(mtcars)
???????????????????mpg?cyl?disp??hp?drat????wt??qsec?vs?am?gear?carb
Mazda?RX4?????????21.0???6??160?110?3.90?2.620?16.46??0??1????4????4
Mazda?RX4?Wag?????21.0???6??160?110?3.90?2.875?17.02??0??1????4????4
Datsun?710????????22.8???4??108??93?3.85?2.320?18.61??1??1????4????1
Hornet?4?Drive????21.4???6??258?110?3.08?3.215?19.44??1??0????3????1
Hornet?Sportabout?18.7???8??360?175?3.15?3.440?17.02??0??0????3????2
Valiant???????????18.1???6??225?105?2.76?3.460?20.22??1??0????3????1
>?mtcars=1:10
>?mtcars
?[1]??1??2??3??4??5??6??7??8??9?10
>?data("mtcars")
>?head(mtcars)
???????????????????mpg?cyl?disp??hp?drat????wt??qsec?vs?am?gear?carb
Mazda?RX4?????????21.0???6??160?110?3.90?2.620?16.46??0??1????4????4
Mazda?RX4?Wag?????21.0???6??160?110?3.90?2.875?17.02??0??1????4????4
Datsun?710????????22.8???4??108??93?3.85?2.320?18.61??1??1????4????1
Hornet?4?Drive????21.4???6??258?110?3.08?3.215?19.44??1??0????3????1
Hornet?Sportabout?18.7???8??360?175?3.15?3.440?17.02??0??0????3????2
Valiant???????????18.1???6??225?105?2.76?3.460?20.22??1??0????3????1
>?

24 快速獲取函數(shù)選項(xiàng)參數(shù)

R函數(shù)的選項(xiàng)參數(shù)非常多,如果每次都調(diào)出幫助文檔很麻煩,可以使用args()函數(shù),快速打印出函數(shù)的選項(xiàng)參數(shù)。

>?args(heatmap)
function?(x,?Rowv?=?NULL,?Colv?=?if?(symm)?"Rowv"?else?NULL,?
????distfun?=?dist,?hclustfun?=?hclust,?reorderfun?=?function(d,?
????????w)?reorder(d,?w),?add.expr,?symm?=?FALSE,?revC?=?identical(Colv,?
????????"Rowv"),?scale?=?c("row",?"column",?
????????"none"),?na.rm?=?TRUE,?margins?=?c(5,?5),?ColSideColors,?
????RowSideColors,?cexRow?=?0.2?+?1/log10(nr),?cexCol?=?0.2?+?
????????1/log10(nc),?labRow?=?NULL,?labCol?=?NULL,?main?=?NULL,?
????xlab?=?NULL,?ylab?=?NULL,?keep.dendro?=?FALSE,?verbose?=?getOption("verbose"),?
????...)?
NULL

以上就是詳解R語言的24個(gè)高效操作技巧的詳細(xì)內(nèi)容,更多關(guān)于R語言24個(gè)高效操作的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • R語言 data.frame()命令的使用說明

    R語言 data.frame()命令的使用說明

    這篇文章主要介紹了R語言 data.frame()命令的使用說明,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-04-04
  • R語言matrix生成矩陣的方法

    R語言matrix生成矩陣的方法

    這篇文章主要介紹了R語言matrix生成矩陣的方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-03-03
  • R語言-因子與向量的轉(zhuǎn)換方式

    R語言-因子與向量的轉(zhuǎn)換方式

    這篇文章主要介紹了R語言-因子與向量的轉(zhuǎn)換方式,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-04-04
  • R語言實(shí)現(xiàn)漂亮的ROC圖效果

    R語言實(shí)現(xiàn)漂亮的ROC圖效果

    pROC是一個(gè)專門用來計(jì)算和繪制ROC曲線的R包,目前已被CRAN收錄,因此安裝也非常簡單,同時(shí)該包也兼容ggplot2函數(shù)繪圖,本次就教大家怎么用pROC來快速畫出ROC圖,感興趣的朋友一起看看吧
    2022-06-06
  • R語言ggplot2實(shí)現(xiàn)將多個(gè)照片拼接到一起

    R語言ggplot2實(shí)現(xiàn)將多個(gè)照片拼接到一起

    本文主要介紹了R語言ggplot2實(shí)現(xiàn)將多個(gè)照片拼接到一起,文中通過示例代碼介紹的非常詳細(xì),需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-07-07
  • R語言 ggplot2改變柱狀圖的順序操作

    R語言 ggplot2改變柱狀圖的順序操作

    這篇文章主要介紹了R語言 ggplot2改變柱狀圖的順序操作,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-04-04
  • R語言中cbind、rbind和merge函數(shù)的使用與區(qū)別

    R語言中cbind、rbind和merge函數(shù)的使用與區(qū)別

    這篇文章主要介紹了R語言中cbind、rbind和merge函數(shù)的使用與區(qū)別,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-03-03
  • R語言的xtabs函數(shù)實(shí)例講解

    R語言的xtabs函數(shù)實(shí)例講解

    這篇文章主要介紹了R語言的xtabs函數(shù)實(shí)例講解,文中講解的很詳細(xì),有需要的可以參考下
    2021-03-03
  • R語言安裝以及手動(dòng)安裝devtools的詳細(xì)圖文教程

    R語言安裝以及手動(dòng)安裝devtools的詳細(xì)圖文教程

    R語言是一個(gè)強(qiáng)大的數(shù)據(jù)分析工具,其強(qiáng)大之處在于有各種各樣的R包幫助其實(shí)現(xiàn)各種各樣的功能,下面這篇文章主要給大家介紹了關(guān)于R語言安裝以及手動(dòng)安裝devtools的相關(guān)資料,需要的朋友可以參考下
    2022-08-08
  • R語言箱線圖創(chuàng)建實(shí)例講解

    R語言箱線圖創(chuàng)建實(shí)例講解

    在本篇內(nèi)容里小編給大家整理的是一篇關(guān)于R語言箱線圖創(chuàng)建實(shí)例講解內(nèi)容,有需要的朋友們可以學(xué)習(xí)下。
    2021-04-04

最新評論