![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
R语言
文章平均质量分 68
育种数据分析之放飞自我
个人公众号:育种数据分析之放飞自我
展开
-
如何引用R语言版本以及R包版本
在分析数据时,我们需要引用R语言的特定版本,以及使用R包的版本,其实R语言中有代码可以调用,下面介绍一下。原创 2024-01-16 19:57:51 · 1138 阅读 · 0 评论 -
tidyverse中filter行筛选时缺失值存在的一个坑
大家好,我是邓飞,好久没有更新博客了,是因为好久没有进步了。之前我认为鲁迅说的对,他在《野草》中写道:“当我沉默着的时候,我觉得充实;我将开口,同时感到空虚”。现在确切的情况是,当我停止更新时,我感到充实和无压力,然后越来越不想更新,最后发现没有什么可写的,一旦我想写点东西,就是特别空虚,腹中空空但是又开始大腹便便,好像肚子里没东西,但是都是肉,成年人的忧伤……原创 2023-05-29 20:51:42 · 840 阅读 · 0 评论 -
2022-12版本的Rstudio它来了,它喊我升级了
从更新的方向上来看,它是想对待R语言一样对待Python,比如识别版本,比如运行shiny,这也是非常适合R语言用户的地方,有时候我们不得不写python脚本,这时候Rstudio就有用了……功能介绍:https://www.rstudio.com/products/rstudio/release-notes/最近每一次打开Rstudio,总是推送给我最新版的Rstudio:……描述内容一大堆,看完了,什么也没看懂。运行python脚本时,会自动升级。试一下下面的python代码:。整体而言,体验不错。原创 2022-12-26 19:35:57 · 3267 阅读 · 1 评论 -
R包clusterProfiler如何安装成功
里面有些坑,写篇博客介绍一下。R包是生物信息分析汇总,基因富集分析可视化经常用到的R包,但是安装时,新手经常会遇到一些问题,这里简单总结一下。原创 2022-10-26 19:14:14 · 11532 阅读 · 1 评论 -
如何引用R语言以及R包:文献引用
p_cite和p_citation都可以用,包的名称加不加引号都可以用,更人性化一点。数据分析中经常使用R语言以及相关R包,写文章时就需要引用。注意,函数中什么参数都不添加,会返回R语言的版本和相关信息。LaTeX的用户的BibTeX条目是。原创 2022-09-25 19:16:32 · 5531 阅读 · 0 评论 -
R语言3.6版本安装ggplot2报错解决方法
现在最新的R版本是4.2.1,因为有些包只能运行在3.6版本中,因此我需要安装3.6,这里安装常用的ggplot2时报错了,总结一下问题解决的方法。继续安装pillar,编译安装,安装成功后,继续安装ggplot2,如果哪个包报错,就安装哪个包。看起来,主要是因为rlange这个包版本太低,应该是大于1.0.0,现在是0.4.11.可以看到,我的R版本是3.6.3,ggplot2的版本是3.3.6,搞定!可以看到,上面的R版本是3.6.3,rlang的版本是1.0.1,搞定。原创 2022-08-22 18:34:41 · 7953 阅读 · 1 评论 -
如何科学预测后代的身高
否者环境的效应为负,那就达不到理论身高了,误差是负的。如果成千上万的亲子身高数据,我们就可以观测到回归的现象,就是高尔顿所观测到的高的父母,后代会低于父母的平均值,低的父母,会高于父母的平均值。对于第二个,这是随机的,但是可以通过基因分型检测出来孟德尔抽样,也就是在孩子小的时候就可以检测出来像父亲还是像母亲,这样身高贡献时可能父母就是不是对半分了,而是父亲的0.6,母亲的0.4,或者反之。这就是遗传力,遗传力越高,说明受遗传的因素越高,遗传力越低,说明受遗传的因素越小,受环境的影响因素越大。......原创 2022-08-04 18:07:08 · 5440 阅读 · 2 评论 -
全同胞家系如何计算遗传力及育种值
全同胞家系,由同父同母所生子女的集合体称为全同胞家系。比如父本是A1,A2,A3,母本是B1,B2,B3,如果A1B1,A2A1*B1,有10个后代,分别是:A1B1_1, A1B1_2……,A1B1_10,那么这10个后代为一个全同胞家系上面共有30个个体,属于3个全同胞家系。...原创 2022-08-04 18:06:20 · 1810 阅读 · 1 评论 -
R语言中如何查看已安装的R包
在R语言中,如何查看已安装的R包,已加载的包,可以通过下面一些命令。它会给出来,所有已安装的R包的详细信息,包括包名,路径,版本,优先级,建议等提取已安装的包名:这里的小括号不可以省略可以看到,默认加载了7个基础包。如果不想加载,可以从内存中去除(这里不是删除),用:注意,这里双引号必须有,必须有我们看到,stats已经被去除了。想要加载回来,用可以看到,stats又在内存中了安装R包,如果是在CRAN中,直接用,加载一下,看看是否成功:删除R包,用4. 更新R包更新R包,用5原创 2022-07-02 11:00:23 · 12215 阅读 · 0 评论 -
R语言dplyr中的Select函数变量列名
R语言中,数据框列名是规范的,这里想提取Y2:Y11, Q1:Q5这样的列名,又不想写完整列名,在外面生成一个变量名包含上面的内容,比如:然后直接根据n1,n2的内容去提取。有一个前缀的bug,如果数据框中有和的列名,上面的数据就变为了:显然,这不是我们想要的。这才是一个比较妥帖的方案。问题解决!...原创 2022-07-02 10:59:50 · 713 阅读 · 0 评论 -
dplyr 中的filter报错:Can‘t transform a data frame with duplicate names
处理一个数据框,用filter进行筛选数据时,发现了这个报错:根据提示运行:,也没有看到问题所在:在网上找了很久,终于解决了,总结一下。主要是因为数据框中的列名有重复,其实报错中也给出了:但是,我以为是rownames有重复,其实是colnames有重复,这里检查一下:可以看到,有一个有重复。用make.names处理一下列名,重复的后缀加.1可以看到,图片中的红框部分,Chrom.1名称变了,这样处理后,就不会有重复了。测试一下:搞定!tidyverse的数据框,不能有列名重复,否者filte原创 2022-06-30 07:59:45 · 3258 阅读 · 2 评论 -
R语言查看版本 R包查看版本
最简单的方法,载入相关R包,运行:,会返回R版本和R包的版本。想要在R中,查看R版本和R包的版本:终端下:R终端下:进入R终端,载入包,比如这里想看的版本:原创 2022-06-30 07:59:03 · 17551 阅读 · 0 评论 -
win10 R包安装报错:没有安装在arch=i386
出现这样的报错,两个解决方案:1,有可能是Rstudio中默认选择的是32位的R,而包需要在64位的系统下运行。解决方案:更改R版本:然后选一个64位版本的R,然后重启Rstudio,再进行安装即可。第二种解决方案:有可能是编译环境的问题。安装Rtools,默认路径,然后再安装R包......原创 2022-06-30 07:57:27 · 1033 阅读 · 0 评论 -
R语言去重操作unique duplicate filter
比如有一个数据框,根据第一列ID去重,将所有重复的行删除,你用unique和duplicate函数,可能是错误的,这里总结一下。需求:把ID重复的行都去掉。unique函数,会去掉重复的ID,保留不重复的ID,利用 1,2,3,1中1是重复的,用unique之后剩下:1,2,3,而不是2,3。所以,下面的步骤是错误的。duplicate会返回TRUE和FALSE状态,返回的是唯一值,而不是去掉所有重复ID的值。类似unique,不是我们想要的。先判断出现的次数,提取ID,然后用filter进行提取。原创 2022-06-30 07:55:55 · 2486 阅读 · 1 评论 -
R语言中交集,并集,补集,差集的方法:向量和数据框
交集、并集、补集、差集,这些在R语言中如何实现呢,这篇博客介绍一下。首先,模拟一下数据:a为1-10的数,b为5-15的数。这里,推荐dplyr中的函数,library(dplyr)a = 1:10b = 5:15ab1. 向量1. 1 交集(intersect)R中的函数为:intersect示例图:黄色线的区域,就是目标区域# 交集intersect(a,b)1.2 交集(union)R中的函数为:union示例图:黄色线的区域,就是目标区域# 并集un原创 2022-05-24 21:56:15 · 12978 阅读 · 2 评论 -
吃饭的家伙:硬件和软件介绍
大家伙,我是飞哥,前几天介绍了一下三屏幕的快乐,后台有人问相关的配置和价格,今天分享一下我办公常用的硬件和软件。1. 硬件电脑:个人笔记本:联想小新14,主要是连接远程,出差,办公,价格5000左右公司台式机:同事根据需求配置的,主要是连接服务器,价格9000左右屏幕:第二屏幕:随便在京东上买的,是大屏幕,需要电源线,但是移动性差。600左右第三屏幕:随便在京东上买的,主要是平时出差需要便携一点的小屏幕,一个接口线包括数据传输和充电,很方便。650左右键盘和鼠标键盘是海盗船原创 2022-05-07 17:38:03 · 403 阅读 · 0 评论 -
光阴易逝,所以批量管理包{pacman}
这里推荐两个便捷的功能:安装载入R包和读取写入数据。前者解决的痛点,安装一个R包时,需要一行命令,安装很多R包就需要很多命令。另外,安装前,如果想要判断是否已经安装了,又要更多的命令代码。生命很可贵,不能总是写低效的代码。基本使用方法:pacman安装方法:install.packages("pacman")它的用法:library(pacman)p_load(tidyverse,ggplot2,data.table,openxlsx,cart)特点:1,可以写很多R包,不用c()原创 2022-04-25 19:07:32 · 587 阅读 · 1 评论 -
GGEBiplotGUI软件包如何安装?
我的版本:windows64R4.1.1默认GGEBiplotGUI是不能直接在CRAN中安装的,这里介绍一下如何安装这个包。之前写过一篇博客,介绍R语言做GGE双标图:https://blog.csdn.net/yijiaobani/article/details/82888640?utm_medium=distribute.pc_aggpage_search_result.none-task-blog-2aggregatepagefirst_rank_ecpm_v1~rank_v31_ecp原创 2022-02-22 21:48:50 · 2089 阅读 · 4 评论 -
R语言列筛选的方法--select
下面,介绍一下R语言中修改列名及筛选列的方法。1. 数据描述数据来源是我编写的R包learnasreml中的fm数据集。r$> library(learnasreml)r$> data(fm)r$> head(fm)目的:提取fm的TreeID,Rep,dj,dm,h3,并重命名为:ID, F1, y1 , y2, y32. 使用R语言默认的方法:列选择r$> d1 = fm[,c(1,3,6,7,11)]r$> head(d1) Tree原创 2022-01-20 19:36:36 · 20175 阅读 · 1 评论 -
R语言箱线图添加显著性--不同水平实现方法
本节,介绍一下箱线图实现显著性添加的方法,类似这种:单因素二水平T检验箱线图可视化单因素三水平T检验箱线图可视化单因素三水平柱形图单因素三水平折线图二因素柱形图二因素折线图1. 单因素二水平这种试验,比如有两个品种,株高的差异,每个品种调查了10株,就构成了这样的试验数据。模拟数据:set.seed(123)y1 = rnorm(10) + 5y2 = rnorm(10) + 15dd = data.frame(Group = rep(c("A","B"),each=1原创 2021-12-29 21:25:51 · 19603 阅读 · 4 评论 -
R语言相关性分析和相关性分析可视化常用方法汇总
本次,介绍一下相关性分析以及相关性分析可视化常用方法。0. 相关数据library(learnasreml)library(tidyverse)data(fm)str(fm)dd = fm %>% select(-c(1:5))head(dd)1. 相关性分析1.1 R语言默认函数corcor(dd)这里,原始数据中有缺失值,所以有NA,所以我们需要考虑缺失值,修改的代码如下:cor(dd,use = "complete.obs")相关性结果:上面还有一个缺陷原创 2021-12-28 19:22:47 · 13296 阅读 · 7 评论 -
系谱检查函数check_pedigree介绍
育种中,如何检查系谱是否正确原创 2021-12-07 20:02:19 · 1311 阅读 · 0 评论 -
统计 | 1-单因素方差分析可视化--柱形图+标准差+多重比较结果
今天介绍一下单因素方差分析可视化的内容,主要是实现如下图:分组平均值+标准差1. 数据library(agricolae)data(sweetpotato)head(sweetpotato)str(sweetpotato)试验描述:这些数据与在秘鲁南部塔克纳省进行的一项实验相符。研究了两种病毒(Spfmv和Spcsv)的作用。处理方法如下:CC(Spcsv)=甘薯褪绿矮秆,FF(Spfmv)=羽状斑驳,FC(Spfmv y Spcsv)=病毒复合物和OO(见证)健康植物。每个小区种植原创 2021-11-04 21:56:06 · 5633 阅读 · 0 评论 -
tidyverse中drop_na 删除多列同时缺失的行
发现tidyverse的drop_na函数,当面对多个列时,它的选择是“或”,即是只有有有一列有缺失,都删掉。有时候我们想将两列都为缺失的删掉,如果只有一列有缺失,要保留。举个例子:示例数据:set.seed(123)dat = data.frame(ID = 1:10,y1 = c(NA,NA,1.05,NA,rnorm(6)), y2 = c(1,NA,NA,NA,rnorm(6)))dat> dat ID y1 y21 1原创 2021-10-07 20:04:12 · 2283 阅读 · 0 评论 -
关于Linux的grep -f命令,我以为我发现了bug
事情是这个样子的:今天,我像往常一样提取基因组的样本,我有一堆样本的ID,需要从所有的基因型的文件中提取出来。以前我都是使用R语言,将基因型数据读进去,将所要提取的ID文件读进去,然后,我就有很多方法提取了 ,比如用match匹配位置,然后提取写出。比如用merge或者left_join提取写出。比如用%in%提取写出。我有很多方法处理它,但是我今天想用grep函数,因为我知道grep -f file1 file2可以根据file1的内容提取筛选file2.为什么我今天不用R语言处理了呢?因原创 2021-08-04 19:55:22 · 1622 阅读 · 1 评论 -
ggplot2中ggsave报错:can‘t add ggsave to a ggplot object
更新版本后,发现ggsave报错,我的版本信息:R version : 4.1.0ggplot2: 3.3.5测试代码:library(ggplot2)data.frame(a = rnorm(100), b = rnorm(100)) %>% ggplot(aes(a, b)) + geom_point() + ggsave("temp.png")报错内容错误: Can't add `ggsave("temp.png")` to a ggplot object.Run `r原创 2021-08-04 19:46:59 · 4932 阅读 · 0 评论 -
总结 | R语言文件与文件夹操作汇总
有时候,编写代码时,需要查看一下当前文件夹的内容,有时候需要创建文件或者文件夹,之前都是在windows系统或者Linux系统下创建好,但总不够原滋原味。这里,总结一下常用的文件创建,文件夹创建,判断是否存在,文件复制,文件删除等操作。太长不看版:## 浏览功能dir # 浏览整体文件及文件夹list.files # 浏览文件list.dirs # 浏览文件夹## 判断功能file.exists # 判断文件是否存在dir.exists # 判断文件夹是否存在## 创建功能file.原创 2021-07-27 20:47:38 · 4201 阅读 · 0 评论 -
Centos系统下Rstudio-server调用conda安装的R4.1流程总结
自从上一次服务器重装系统之后,总感觉缺少了一些东西,安装R包很多依赖库报错,也可以解决,但总是存在,烦。一天,一个同事问我说ggpubr包安装不成功,我就自己试了一下,真的是……安装不成功。当你到了我这个年纪(破罐子破摔),你就会知道,如果有包安装不上,那就不安装了。所以我就用资深数据分析师那意味深长的语气劝他(而且一定要营造出分析结果不理想是他数据的问题),R包有很多,为何不换一个呢?今天,另一个同事告诉我,说服务器的clusterProfiler和enrichplot自从重新装了服务器,就没有安装原创 2021-07-06 09:11:41 · 3026 阅读 · 4 评论 -
总结 | R语言批量读取写入Excel数据
前一段,写过一篇:R语言中写入Excel的不同sheet表格,最近学习了tidyverse的方法,感觉需要总结一下,更新一下知识结构。本文准备用实际数据,做一下操作:批量读取:批量读取多个Excel数据批量读取一个Excel数据的不同表格批量写入批量写入Excel数据1,批量写入到不同的Excel中2,批量写入到一个Excel的不同表格中1. 模拟数据模拟数据的过程很简单,新建一个Excel,里面加点内容,然后复制粘贴,重命名。懂了这么多编程知识,这一步显得不够高科技,原创 2021-06-19 17:09:23 · 3634 阅读 · 3 评论 -
育种 | 遗传相关--数据代码演示
一些育种的基本概念,需要看教科书理解一下。这次我读起教科书,用实际数据演示一下如何计算遗传相关及显著性。参考书:Raphael A.Mrode编著,于向春 张豪 主译《线性模型在动物育种值预测中的应用》 第三版陈国宏, 张勤. 动物遗传原理与育种方法[M]. 中国农业出版社, 2009.1. 多性状模型为何更优在育种过程中,经常对多个性状进行选择,这些性状可能有遗传相关。2. 遗传相关的原因3. 如何计算遗传相关及显著性5. show me the code...原创 2021-06-18 21:35:21 · 2096 阅读 · 1 评论 -
使用tidyverse学习汇总统计
之前写过一篇博客,介绍R语言的aggregate函数的汇总统计,最近学习tidyverse,感觉更好用,对比学习一下。1 模拟数据这里模拟了4个因子,5个观测值的数据框, 主要介绍了一下几种方法的汇总统计:1, 单变量~单因子,单个个统计量, 这里使用平均数mean2 单变量~单因子,多个个统计量, 这里使用自定义的函数func3 单变量 ~ 多因子, 单个个统计量4 多变量~单因子5 多变量~多因子1.1 模拟数据代码模拟数据:set.seed(123)dat = data.fr原创 2021-06-16 22:13:19 · 889 阅读 · 0 评论 -
R语言做数据中心化和标准化scale函数手动实现
1. R中的方差和标准差方差:var,是样本方差var(y) instructs R to calculate the sample variance of Y. In other words it uses n-1 ‘degrees of freedom’, where n is the number of observations in Y.标准差:sd,是样本标准差var(y) instructs R to calculate the sample variance of Y. In o原创 2021-06-15 22:51:53 · 3244 阅读 · 3 评论 -
R语言循环函数编写三境界
1. 三境界R语言写循环有三境界:手动for循环apply系列purrr泛函式编程其中,手动for循环我最常用,apply系列半吊子,purrr函数越用越趁手,这里介绍一下purrr编写循环的方法。2. 泛函式函数泛函式定义:函数的函数称为泛函式,map(x,f)中,map是函数,f也是函数,f是map的参数,那么map就是泛函数。dat = data.frame(y1 = rnorm(10),y2 = rnorm(10)+10)datmap(dat,mean)这里,map原创 2021-06-10 21:26:50 · 623 阅读 · 0 评论 -
用最酷的方法学习R语言
1. 看大神怎么说前几天去新疆培训,制作了R语言的基础教程,在翻阅资料时,看到了知乎张敬信关于R学习的观点,很是赞同。张敬信老师写了一本书《R语言编程–基于tidyverse》,网址:https://github.com/zhjx19/introR下面几段是书中的话:国内的R语言博客、教材大多数都很落后。初学R语言的同学,还是在沿用那些过时的、晦涩的R语法,对R的印象还是停留在5年前:“语法晦涩难懂、速度慢,做统计分析和绘图还行,机器学习只有单独算法的包,做不了深度学习、大数据、工业部署……”原创 2021-06-05 16:56:44 · 1234 阅读 · 0 评论 -
R语言遇到报错怎么解决?看我的三板斧
R语言遇到报错怎么办?经典回答看看大神建议的解决方案:我推荐你清空R程序,然后重启一下 --hadley1. 重启软件,能解决50%的问题多年的技术支持经验告诉我,当别人抛出一个报错时,你抛出最高效的答案是:“重启软件试试!”2. 重启电脑,能解决70%的问题重启电脑也是不二法门,有事没事我都重启电脑,这几乎成了我中途摸鱼必备的技能。编程没有思路,重启一下电脑试试。问题没有解决,重启一下电脑试试。早饭没吃有点饿,重启一下电脑试试。3. 如果前面两步还没有解决问题,建议换电脑毕竟解决问题原创 2021-05-14 21:20:07 · 3787 阅读 · 0 评论 -
利用R语言测试电脑的性能如何
利用R语言测试电脑的性能如何同事新配了一个电脑,想用R语言编写一个程序,看一下电脑性能如何,让我写个代码测试一下。我们怎么样,我也不懂如何测试电脑啊,那就计算一下矩阵的运算吧。因为我理解的电脑运行性能就是矩阵计算了。编写代码rm(list=ls())set.seed(123)# 设置矩阵的行数n = 10000# 生成一个矩阵value = rnorm(n*n, 10,3)mat = matrix(value,n,n)# 测试电脑性能system.time({ # 矩阵求逆原创 2021-04-21 20:07:41 · 795 阅读 · 2 评论 -
见贤思齐 | R语言可视化相关性分析
1. 离体看微信群中有人聊天,浏览了一下,不同专业的内容比较分散,很多读都读不通顺,隔行如隔山,真是如此!忽然,一个朋友在里面推荐的几个R语言的公众号,学生物的推荐关注:R语言使我们的共同语言:我点进去一看:木舟笔记:https://mp.weixin.qq.com/s/Qqxa8WfKU-tiqpegqueewwR语言数据分析指南,https://mp.weixin.qq.com/s/yQqmETSQfPoNCw-osrOeGQ生信技能树:https://mp.weixin.qq.com原创 2021-04-12 20:15:08 · 1973 阅读 · 0 评论 -
ggplot2多重比较可视化+趋势线+调整顺序
1. 背景之前写过一篇文章,介绍多重比较的可视化:方差分析多重比较可视化。高广雄同学问我如何增加趋势线,以及调整显示的顺序。我不了解如何加趋势线,调整顺序的话可以设置factor的level,然后建议他研究一下,如果成功的话,可以把经验写出来,我转发一下。今天他给我了一个链接,上面是他实现的过程,效果如下:本来直接就想用他给的代码,水一篇。但是!!!分享的是有道云笔记的小程序,没有办法在电脑端打开,只能在手机端查看,我太难了。1容易的路不好走,那我就走一条难走的路 2。另外,我觉原创 2021-04-07 21:14:20 · 3357 阅读 · 0 评论 -
RStudio server 自动掉线 安全是安全了,但是方便在哪里???
更新RStudio server之后60分钟之后,会自动退出!勾选Stat signed in when browser closes,再次打开RStudio还是要重新登录!之前的RStudio server不是这样的。安全,是安全了,但是方便在哪里???issues讨论https://github.com/rstudio/rstudio/issues/5449RStudio Server: “Stay signed in” has no effect保持登录,不起作用!开发者介绍I原创 2021-03-12 20:19:46 · 3645 阅读 · 2 评论 -
如何使用Rmarkdown写微信公众号
1. markdown常用语法介绍1.1 标题使用###表示,下面是测试一级标题# 一级标题二级标题## 二级标题三级标题### 三级标题四级标题#### 四级标题1.2 加黑用两个星号包括起来这个就是加黑**这个就是加黑**1.3 引用使用>开头,后面的字会当作引用的格式小狗不能因为有大狗的存在,而失去自己的叫声> 小狗不能因为有大狗的存在,而失去自己的叫声1.4 公式sd=Var(a)n−1sd = \sqrt{\frac{Var(a)原创 2021-03-03 18:35:04 · 565 阅读 · 2 评论