很多R用户都搞不太清楚用于修整数据的内置函数(比如stack、unstack与reshape),庆幸的是我们还有其他选择,Hadley Wickham(ggplot2的作者)开发了一个reshape2库 注:现在大部分时间我们都在使用 tidyr 提供的长宽格式转换工具,比 reshape2 包提供的操作更容易理解。 熔解与铸造 reshape库用一个直观的模型来描述如何操作数据表。 使用例子 我们用一个例子来看一下熔解与铸造究竟是怎么回事,以体会reshape2包的有用之处。 # 导入包 library(reshape2) md <- melt(airquality, id=c("Month", "Day")) head(md, 20) ## Month Day variable 1 ## 1 NA NA NA 23 45 115 37 190 ## Solar.R_2 Solar.R
3, dep_delay) %>% arrange(desc(dep_delay)) # unique rows can be identified using unique() from base R It returns a local data frame (a tbl_df). # data_frame() example x = data_frame(a = 1:6, b = a*2, c = columns and fewer rows options(dplyr.width = Inf, dplyr.print_min = 6) # reset options (or just close R)
reshape2,主要用于宽数据和长数据之间的转换。 主要就是melt和*cast函数的应用。 具体可参考如下图片 ? 参考的r代码如下 names(airquality) = tolower(names(airquality)) head(airquality) # melt md = melt(airquality (climate_variable == "solar.r"))
很多工具包都可以进行拼图或嵌图, 比如cowplot、patchwork、ggpubr、gridExtra等等,但是gtable是相对底层的进行操纵ggplot2对象的包。 r=2) fig_embed <- gtable_add_grob(fig_embed, g2_new, t=1,l=2) # 将合并好的fig_embed = g1_panel_layout$r) plot(fig_embed) ? r=2) fig_embed <- gtable_add_grob(fig_embed, g2_scale, t=1,l=2) # 将合并好的 = g1_panel_layout$r) plot(fig_embed) ?
基于此,我重新封装了gsub命令,写了Replace和Replace0两个命令,来更加灵活地替换,并将这两个命令放入do包(data operator)。 该命令有2大优势: 优势1:适用于多种数据类型,包括:数字、字符串、向量、数据框、矩阵,不适合于列表和数组。 优势2:3种替换模式。 模式1、多个替换为1个,比如讲a、b、c都替换为d 模式2、单个替换为单个,比如同时实现a替换b,c替换为d,3替换为4 模式3、以上2种模式同时使用:注意,优先处理模式1,然后再处理模式2. 首先安装do包: install.packages("do") 调用do包 library(do) 1、数字替换 ①多个替换为1个:如将3个数字145,124,154种的1替换都为6 Replace ③两种模式同时:优先处理模式1,后处理模式2.
在撰写本文时,ggplot2涉及在CRAN上的超过2,000个包和其他地方的更多包!在包中使用ggplot2编程增加了几个约束,特别是如果你想将包提交给CRAN。 尤其是在R包中编程改变了从ggplot2引用函数的方式,以及在aes()和vars()中使用ggplot2的非标准求值的方式。 同样地,导入ggplot2全部450个导出对象到你的命名空间会让分离你的包和ggplot2包的责任变得困难,特别是读者会搞不清这些函数到底来自哪里。 我个人碰到过很多这种情况。 有时候在开发R包时为了保证正常运行,不得不将依赖包列入Depdens。 [2]rlang: https://rlang.r-lib.org/ [3]ggdendro: https://cran.r-project.org/package=ggdendro [4]ggthemes
R包 多个函数的打包存放 相应的R包可实现特定的分析功能 R包包含函数、数据、帮助文件、描述文件 安装 R包来源有CRAN、Bioconductor、GitHub install.packages(tidyr jmzeng1314/idmap1") library("tidyr")#加载 devtools::install_local(“xxxx.zip”)#本地安装 安装后每次使用都要先加载,也可用来检验是否成功安装 载入包时回答提示信息尽量 no* 已经安装的包,可直接调用其中的函数 pheatmap::pheatmap(volcano)#包名::函数名 library(pheatmap) pheatmap(volcano) 学习R包的使用 browseVignettes("limma") #作者一手教程,不是每个包都有 ls("package:limma")#列出包中的函数等 引用自生信技能树 小洁老师
R语言ggplot2作图的时候配色如果不知道如何选择,可以参考如下链接https://r-charts.com/color-palettes/ image.png image.png image.png 这里提到的R包有 help(package="ggthemes") help(package="grDevices") help(package="viridis") help(package="colorBlindness colorBlindness,提供了一些色盲患者也能够分辨的安全配色 通过函数help(package="colorBlindness")查看帮助文档,发现还有好多提供色盲患者也能识别的配色的R包 image.png 推文开头提到的链接中的颜色如果在ggplot2作图的时候想要使用的话需要安装R包paletteer,需要用到的函数是scale_color_paletteer_d()或者scale_fill_paletteer_c () 以下用一个热图做示例 参考链接 https://www.r-graph-gallery.com/79-levelplot-with-ggplot2.html library(ggplot2)
stringr包是Hadley Wickham大神贡献的R包之一,主要用于字符串的处理。对于经常需要对数据进行预处理的分析人员来说,简直是一把“利器”,可谓是上能屠龙,下能剔牙。 其用法相比于R自带的函数,更加简单明了。stringr包在我工作中,是属于频繁使用的R包之一。简单的用法也是深入我心,强烈推荐使用该包进行字符串的预处理。 当输入为单一向量时,使用collapse这个参数a.unite a.unite[1] "a_b_c_d" 替换 场景:批量导入csv文件时,由于部分文件是以逗号作为小数点的,虽然可以使用read.csv2函数正确读入 #提取filepath 字母大小写转换 场景:在Excel中,查找匹配不区分大小写,但是在R中区分大小写,常出现在Excel中能查到到但是R中匹配不到的情况,故先预处理统一大小写再做匹配。 多用于新建列 #检测df df$b df a b1 1 数字2 2 数字3 3 数字4 a 非数字5 b 非数字6 c 非数字 以上是本人较常用的stringr包函数,可以发现该包的语法简洁
今天继续学习R语言基础的R包使用,以R包:dplyr为例 数据准备 01 R包的安装 install.packages(“dplyr”) 或BiocManager::install(“dplyr”) #务必要打引号 02 R包的调用/加载 library(dplyr) 或require(dplyr) #这里不用引号 部分人可能会因为镜像的问题失败,解决方法https://mp.weixin.qq.com /s/XvKb5FjAGM6gYsxTw3tcWw 03 R包及数据准备 install.packages("dplyr") library(dplyr) test <- iris[c(1:2,51:52,101 经过这几期的R语言基础,你应该能够入门R了,渐渐的也要自己去学会看帮助文档,去搜报错,还记得怎么搜命令和R包的帮助文档吗? ? +命令 #搜命令帮助文档 help(package='R包') #搜R包帮助文档 如果你能独立处理这些问题,那么恭喜你,你的R应该没问题啦! 应该没问题了!!!!吧?
R包是多个函数的集合,具有详细的说明和示例。 本次以dplyr为例安装和加载R包镜像设置运行这两行代码options("repos"=c(CRAN="http://mirrors.tuna.tsinghua.edu.cn/CRAN/"))options ,test <- irisc(1:2,51:52,101:102),dplyr包不仅可以对单个表格进行操作,也可以对双表格进行操作。 ,而bind_cols()函数则需要两个数据框有相同的行数函数和R包的学习方式快速查看函数帮助文档? dplylr可以用问号连接任何想知道使用方式的函数名称找R包介绍页面(善用搜索引擎,或者找帮助)##Vignettes这个单词硬翻译会翻译成“小插图”,其实就是作者写的网页版教程,不是每个R包都有的,可以运行代码试试看
在这篇文章中,我们将学习如何操控R中的字符串,主要用的是Biostrings包。 Getting started 如果你是第一次使用,请先用以下命令安装Biostrings包: source("http://bioconductor.org/biocLite.R") biocLite 我们将通过实际操作一些Biostrings包提供的函数去熟悉它做的是什么,又是如何实现的。 Generating DNA alphabets R 提供了函数生成大写和小写的字母表。 5 我们现在来创建一个函数,用基本的R绘制函数画一下IRanges对象。 如果你还没有下载好bioconductor包,可以使用下面的命令: source("http://bioconductor.org/biocLite.R") biocLite("BSgenome.Hsapiens.UCSC.hg19
上期介绍了若干种获取TCGA数据的方法,今天这期会落点于TCGA2STAT这个R包的介绍上,一步步的来说明下载方法,哪些数据是可以下载到的。 R包的下载 install.packages("TCGA2STAT") 选择如何的镜像,咱们在中国,就选择china,这样的话下载速度会很快,也容易安装R包成功。 2、RNASeq2,是指来自the second pipeline的RNASeq基因数据。 谷歌查到说需要安装Cygwin软件,然后通过R语言命令来加载,而且每次使用都必须做加载,命令如下: Sys.setenv(TAR="D:/cygwin64/bin/tar",R_GZIPCMD="D:/ cygwin64/bin/gzip") 个人见解 TCGA2STAT这个包下载数据效果太差,不稳定,时常没法下载完就中断了,及其不稳定。
已经安装过wordcloud2包的童鞋,因为已经更新了,所以需要重新安装。 ("examples/batman.png",package = "wordcloud2") ###读取形状图片,注意图片默认放在wordclou2的sample包中,浩彬老撕的路径如下:"d:/Program Files/R/R-3.3.0/library/wordcloud2/examples/batman.png" wordcloud2(demoFreq, figPath = batman, size 包中,可以直接调用。 ,本来是从来没有遇到过报错问题,但是公司电脑里面是低版本的R(3.1),随后就出现了这样的报错, 是格式问题,需要把中文格式转化为UTF8才能塞入wordcloud2当中。
这几天收到师兄的任务,熟悉iGRaph包的使用,通过查资料,外加自己的实践,在此做个简单的学习笔记。 以下例子均是在R 3.0.1版本下测试的。 1.用igraph创建图表 g<- graph(c(1,2, 1,3, 1,4, 2,4, 3,4), directed=T) > g IGRAPH D--- 4 5 -- > plot(g , layout=layout.fruchterman.reingold) 2.创建多种图形的图表 > g1 <- graph.full(4) > g1 IGRAPH U--- 4 6 -- Full graph + attr: name (g/c), loops (g/x) > g2 <- graph.ring(3) > g2 IGRAPH U--- 3 3 -- Ring graph + attr : name (g/c), mutual (g/x), circular (g/x) > g3 = graph.lattice(c(3,4,2))#create a lattice > g3 IGRAPH
安装加载R包R包安装命令是install.packages(“包”)或者BiocManager::install(“包”)。取决于你要安装的包存在于CRAN网站还是Biocductor。 使用一个包,是需要先安装再加载options("repos" = c(CRAN="https://mirrors.tuna.tsinghua.edu.cn/CRAN/")) options(BioC_mirror # 3 virginica 6.05 0.354管道操作 %>% (cmd/ctr + shift + M)(加载任意一个tidyverse包即可用管道符号 # Species n## ## 1 setosa 2## 2 versicolor 2## 3 virginica 2将2个表进行连接test1 y项中除非交集外的其他部分anti_join(x = test2, y = test1, by = 'x')## x y## 1 a 1## 2 c 3## 3 d 46.简单合并在相当于base包里的
6月份一直在忙期末考试,今天来迅速的学习下ggplot2包的简单绘图。 R的基础包里面也有很多画图函数,例如plot();barplot();qqplot(); 但是还有大名鼎鼎的ggplot2包,用这个包的函数画出的图比较漂亮,而且使用灵活。 以下用的数据是一份毕业生数据,来自王斌会主编的《数据分析与R语言建模》的练习数据,一共48个样本点,9个属性 一、数据 在ggplot2中,接受的数据集必须是以data.frame格式的。 library("ggplot2")#调用包 UG=read.table("clipboard",header=T); head(UG) p=ggplot(UG,aes(score,income),color p2=ggplot(UG,aes(score,income)) p2+geom_point(color="blue")#设定散点的颜色为蓝色 p2+geom_point(aes(color="blue"
昨天和大家分享了使用‘gemtc’这个R包去读取和汇总网状meta分析数据的方法。 今天主要想和大家介绍一下如何在这个包里使用固定效应模型(fixed effect model, FEM)去计算网状meta分析的结果。在这之前,我们需要简单认识并区分固定效应模型和随机效应模型。 第一步,利用昨天生成的mtc.network结果并建立mtc.model,昨天的内容参见网状Meta分析之R语言‘gemtc’包实战(1) model_b_bin_fe <- mtc.model(network_b_bin
词云首先需要将下载好的“流浪地球”的文本文件读入R,然后使用jieba包对文本进行分词,然后绘制词云。 一 数据准备 载入所需的R包,准备好流浪地球的txt格式的文本文件。 library(jiebaRD) library(jiebaR) library(wordcloud2) 二 分词,统计词频 使用jieba包对文本进行分词。 5.2 汉字图形展示 letterCloud(data.freq[,2:3],word="地球",size = 2) ? 5.3 指定图形 指定的背景图需要在R包的example文件夹中,本例为微信的开机图,然而不像,,,鬼知道咋回事啊。 world = system.file("examples/download1.jpg",package = "wordcloud2") wordcloud2(data.freq[,2:3], figPath
有时候在python的代码中插入R的code会更快捷的实现我们想要的功能,rpy2这个包则可以让我们实现这一功能。 1.安装 pip install rpy2 如果安装不上的话,可以试试conda: conda install -c r rpy2 2.使用 比如如下使用iris数据集,求第一列Sepal.Length 的均值: import rpy2.robjects as robjects rscript = ''' data(iris) print(mean(iris$Sepal.Length)) ''' robjects.r 3.在notebook中直接使用 加载rpy2.ipython: %load_ext rpy2.ipython 在cell中调用R: ? 调用ggplot2画图: %%R -w 500 -h 300 library(ggplot2) # data(iris) p = ggplot(data,aes(x = Sepal.Length, y