详解R语言的24个高效操作技巧 - 网站

详解R语言的24个高效操作技巧

分类:R语言 · 发布时间:2023-04-30 03:18 · 阅读:10856

这篇文章主要为大家介绍了R语言的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") 

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    3    1 > 

24 快速获取函数选项参数

R函数的选项参数非常多,如果每次都调出帮助文档很麻烦,可以使用args()函数,快速打印出函数的选项参数。

> 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个高效操作技巧的详细内容,更多关于R语言24个高效操作的资料请关注0133技术站其它相关文章!

标签:
R语言 高效操作 技巧

相关文章

R语言绘制数据可视化小提琴图Violin plot with dot画法

这篇文章主要为大家介绍了R语言绘制数据可视化小提琴图Violin plot with dot画法的示例详解有需要的朋友可以借鉴参考下希望能够有所帮助,祝大家多多进步,早日升职加薪

R语言数据类型与相应运算的实现

本文主要介绍了R语言数据类型与相应运算的实现,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

使用R语言实现自动文摘的方法

本文介绍了如何使用R语言实现自动文摘,我们首先介绍了基于词频-逆文档频率(TF-IDF)的自动文摘方法,包括创建词项文档矩阵,计算TF-IDF值,提取关键词,以及根据关键词生成摘要,需要的朋友一起学习下吧

R语言逻辑型运算的实现

本文主要介绍了R语言逻辑型运算,逻辑型是 R 的基本数据类型之一,只有两个值 TRUE 和 FALSE, 缺失时为 NA,具有一定的参考价值,感兴趣的可以了解一下

R语言实现PCA主成分分析图的示例代码

主成分分析(Principal Component Analysis,PCA)是一种无监督的数据降维方法,通过主成分分析可以尽可能保留下具备区分性的低维数据特征。本文将用R语言实现PCA主成分分析图,需要的可以参考一下

返回分类 返回首页