详解R语言的24个高效操作技巧_第1页
详解R语言的24个高效操作技巧_第2页
详解R语言的24个高效操作技巧_第3页
详解R语言的24个高效操作技巧_第4页
详解R语言的24个高效操作技巧_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第详解R语言的24个高效操作技巧目录R语言中的一些特殊技艺1修改默认提示语言2查看R所消耗内存大小3查看某个数据集内存大小4代码中换行5边赋值边显示7查看源代码8利用函数修改镜像9显示更多数据10默认保留小数点11管道12拆分列数据13默认加载包14为R添加额外扩展包加载路径15迁移R包16列出R包中的函数17不加载包使用其中函数18快速获取颜色19炸开数据20巧用example函数学习绘图21统计计算时间21释放内存22删除全部变量23恢复默认数据集24快速获取函数选项参数

R语言中的一些特殊技艺

1修改默认提示语言

R默认提示的语言有的人是英文,有的人是中文,这是因为每个人系统默认语言不同,可以通过下面方式进行修改

Sys.getlocale()

#显示系统语言

Sys.setenv(LANG="en")

#

更换默认语言为英文

2查看R所消耗内存大小

可以使用memory.size()#获取内存大小,不过该函数值只是和windows系统。

memory.size()

#获取内存大小

[1]

341

3查看某个数据集内存大小

object.size(mtcars)

7208

bytes

object.size(mtcars)/1024

#以kb显示

7

bytes

4代码中换行

默认回车是运行代码,在Rstudio中有自动补齐,比如定义一个函数,直接自动补齐了{},回车就运行了,可以使用shift+enter#换行

function(x,y)

{

5边赋值边显示

默认赋值完,直接敲变量名就打印数据,可以利用下面方式一步完成两个操作。

(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函数的源代码,直接输入函数名,不加括号即可。

mean

function

(x,

...)

UseMethod("mean")

bytecode:

0x0000023e3b8db998

environment:

namespace:base

8利用函数修改镜像

如果不设置R镜像,每次安装R包是都会弹出选择框,可以在安装之前通过函数进行设置,使用chooseCRANmirror()函数,给定ind选项一个数值即可。数值代表镜像编号。

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显示更多数据

默认R显示1000行数据,如果想显示更多,可以通过设置max.print选项。

options('max.print')

$max.print

[1]

1000

options('max.print'=2000)

options('max.print')

$max.print

[1]

2000

10默认保留小数点

默认R显示7为小数,如果想默认保留两位小数,可以通过设置digits选项。

options('digits')

$digits

[1]

7

options('digits'=2)

options('digits')

$digits

[1]

2

11管道

使用管道让代码更加简洁,无需定义过多中间变量。R中的管道符号为%%如果要使用管道,需要加载magrittr包。其实Rstudio出的各种包都默认支持管道,如果加载了tidyverse包也是可以。

library(magrittr)

library(ggplot2)

mtcars

%%

ggplot(aes(x=cyl,y=mpg,group=cyl))+geom_boxplot()

12拆分列数据

有些时候记不住列名,或者容易拼错,想要列名也能够自动补齐,可以使用attach函数,这样每一列就变成一个独立的变量。

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之后自动加载,可以在配置文件中进行设置,例如每期启动R,自动加载ggplot2包。

file.edit("~/.Rprofile")

.First

-

function()

{

library(ggplot2)

}

14为R添加额外扩展包加载路径

默认R包的加载目录在.libPaths()目录中,当然可以为其添加更多的路径。

.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包

如果需要将一台设备安装的R包,在另外一台设备上安装,首先保存A设备上的R包名字列表,在另外一台设备上写一个循环进行安装。

#在A设备上保存名字列表

oldip

-

installed.packages()[,1]

save(oldip,file

=

"installedPacckages.Rdata")

#在B设备上进行安装;

load("installedPacckages.Rdata")

newip

-

installed.packages()[,1]

for

(i

in

setdiff(oldip,newip))

{

install.packages(i)

}

16列出R包中的函数

如果想查看一个R包中全部函数,可以使用下面的语句。

ls(package:base)

17不加载包使用其中函数

如果加载R包,还想使用其中的函数,需要使用包名字::函数名的方式。

dplyr::filter()

18快速获取颜色

在绘图的时候,想要快速设置几个不同的颜色,又嫌生成颜色比较麻烦。可以使用rainbow()函数,给定一个数据,快速生成颜色。

rainbow(6)

[1]

"#FF0000"

"#FFFF00"

"#00FF00"

"#00FFFF"

"#0000FF"

"#FF00FF"

19炸开数据

前面介绍了attach函数可以将每一列变成一个单独变量,但这种方式并不推荐,因为会让变量环境很混乱。可以使用一个特殊管道符%$%实现同样的效果,我称之为把数据炸开

library(magrittr)

Warning

message:

程辑包‘magrittr'是用R版本3.6.3

来建造的

women

%$%

plot(weight,height)

20巧用example函数学习绘图

example函数会帮助运行R帮助文档中的代码,有时候想看一个函数如何使用,可以直接运行这个example函数。

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统计计算时间

想统计一条代码运行时间,可以使用system.time()函数

system.time(runif(100000000))

用户

系统

流逝

2.75

0.08

2.83

21释放内存

R有一套自己的内存回收机制,因此,即使删除了变量,内存不会立即变化,可以使用gc()函数释放内存。

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删除全部变量

#显示全部变量内容

ls()

rm(list=ls())

#释放内存

gc()

23恢复默认数据集

如果不小心将内置数据集删除了,或者新定义同名变量,就会替换原有数据集。

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

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论