版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第详解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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 商业物业节日活动策划方案
- 26年膀胱癌精准医疗循证证据解读
- 神经内科饮食健康教育
- 逃生急救教育
- 大学校园活动深度参与指南
- 2025年城市建筑光伏一体化的发展前景分析
- 课堂宣传教育实施框架
- 2025年城市复杂路况高精地图绘制难点解析
- 伍保护监护协议书
- 医疗纠纷与协议书
- 饲料质量培训课件
- 用药交代题文档
- 我的家乡湖南长沙宣传简介
- 北师大版一年级数学下册《捉迷藏》说课稿课件
- 高考英语高频词组+短语+固定搭配
- 王慧文清华大学《互联网产品管理课》
- 3206回撤作业规程
- 循证医学课件:临床实践指南的评价与应用
- (4.3.1)-4.3平面问题三角形单元刚度矩阵
- GB/T 15796-2011小麦赤霉病测报技术规范
- 橡胶工艺学06橡胶的共混与改性课件
评论
0/150
提交评论