高可Coco

V1

2022/11/29阅读:45主题:默认主题

R专辑分享

R专辑分享-001

参考生信技能树 R语言专辑 R语言

一共106篇,正序

001 如何系统入门R语言

  • 编程语言的区别
  1. python: 主流面向编程,语法不太严谨
  2. perl:严谨,快
  3. R:类似没有交互界面的excel
  • 六部入门R语言
  1. 第1步:掌握基础 :软件,help?(超有用)
  2. 第2步:明白R中的变量:向量和因子,数据框,列表,数组(这里个人觉得有点难,很多报错就是数据类型搞错了)
  3. 第3步:基础函数
  4. 第4步:可视化
  5. 第5步:高级操作(自我感觉卡到这里):apply系列函数,aggregate,split等函数的用法
  6. 第6步:遨游R的bioconductor世界

然而目前觉得最好的学习 方法就是模仿,实践,查找

借鉴一个生物信息学的方法:知识和耐心,是成为强者的唯一方法。

002 R语言逻辑回归

这个练习数据集现在下载不下来,自己随机编了一个

library(ggplot2)
library(Rcpp)
##读取本地数据
summary(mydata)
sapply(mydata, sd)
xtabs(~ admit + rank, data = mydata)
mydata$rank <- factor(mydata$rank)
mylogit <- glm(admit ~ gre + gpa + rank, data = mydata, family = "binomial")
summary(mylogit
newdata1 <- with(mydata,                 
data.frame(gre = mean(gre), gpa = mean(gpa), rank = factor(1:4)))
newdata1 
newdata2 <- with(mydata,                 
data.frame(gre = rep(seq(from = 200, to = 800, length.out = 100), 4),                           
gpa = mean(gpa), rank = factor(rep(1:4, each = 100))))
newdata3 <- cbind(newdata2, predict(mylogit, newdata = newdata2, type="link", se=TRUE))
newdata3 <- within(newdata3, {
  PredictedProb <- plogis(fit)
  LL <- plogis(fit - (1.96 * se.fit))
  UL <- plogis(fit + (1.96 * se.fit))})
  head(newdata3)
  ggplot(newdata3, aes(x = gre, y = PredictedProb)) +
  geom_ribbon(aes(ymin = LL, ymax = UL, fill = rank), alpha = .2) +
  geom_line(aes(colour = rank), size=1)

然而人家的图是。。。。

我的是

见笑了见笑了

没关系再来再来~~~

003 R语言中的排序,集合运算,reshape,以及merge总结

自觉非常重要!!!

1.排序

  • sort(),rank(),order()

  • sort(x) 是对向量x进行排序,返回值排序后的数值向量。说白了就是从小到大

  • rank() 是求秩的函数,它的返回值是这个向量中对应元素的“排名”。得奖名次

  • order() 的返回值是对应“排名”的元素所在向量中的位置。座位号

尤其是,差异基因排序的时候很重要,上代码

x<-c(97,93,85,74,32,100,99,67)
sort(x)
[1]  32  67  74  85  93  97  99 100
order(x)
[1] 5 8 4 3 2 1 7 6
rank(x)
[1] 6 5 4 3 1 8 7 2
x[order(x)]
[1]  32  67  74  85  93  97  99 100

2. 交集

 A<-1:10  ##直接赋值
 B<-seq(5,15,2)
 C<-1:5
 #求A和B的并集

union(A,B)

[1]  1  2  3  4  5  6  7  8  9 10 11 13 15

 #求A和B的交集
 intersect(A,B)
[1] 5 7 9

#求A-B
setdiff(A,B)
[1]  1  2  3  4  6  8 10

#求B-A
setdiff(B,A)
[1] 11 13 15

#检验集合A,B是否相同
setequal(A,B)
[1] FALSE

#检验元素12是否属于集合C
is.element(12,C)
[1] FALSE

#检验集合A是否包含C
all(C%in%A)
[1] TRUE
 all(C%in%B)

Reshape包 mydata??? 没找到。。。

作者的例子没看懂, 重新找了个例子

可参考 R语言 melt()函数使用

# Loading library
library(reshape) 
  
# Creating a data frame
a <- data.frame(id = c("1""1""2""2"), 
                points = c("1""2""1""2"), 
                x1 = c("5""3""6""2"), 
                x2 = c("6""5""1""4")) 
a
  
# Calling melt() Function
m <- melt(a, id = c("id""points")) 
print(m) 

输出:

  id points x1 x2
1  1      1  5  6
2  1      2  3  5
3  2      1  6  1
4  2      2  2  4
  id points variable value
1  1      1       x1     5
2  1      2       x1     3
3  2      1       x1     6
4  2      2       x1     2
5  1      1       x2     6
6  1      2       x2     5
7  2      1       x2     1
8  2      2       x2     4

把X1,X2当作变量分别present了 感觉还是很有意思的

cast函数 融合好的数据还原

cast the melted data
# cast(data, formula, function)

merge函数

如果要实现类似sql里面的inner join 功能,则用代码

m1 <- merge(authors, books, by.x = "surname", by.y = "name")

如果要实现left join功能则用代码

m1 <- merge(authors, books, by.x = "surname", by.y = "name",all.x=TRUE)

right join功能代码

m1 <- merge(authors, books, by.x = "surname", by.y = "name",all.y=TRUE)

all join功能代码

m1 <- merge(authors, books, by.x = "surname", by.y = "name",all=TRUE)

关于单变量匹配的总结就是这些,但对于多变量匹配呢,例如下面两个表,需要对k1,k2两个变量都相等的情况下匹配

x <- data.frame(k1 = c(NA,NA,3,4,5), k2 = c(1,NA,NA,4,5), data = 1:5)

y <- data.frame(k1 = c(NA,2,NA,4,5), k2 = c(NA,NA,3,4,5), data = 1:5)

匹配代码如下merge(x, y, by = c("k1","k2"))  #inner join

这部分的感觉是,当真正有需求的时候,再回来看哪一种merge的方法合适。

004 介绍R语言的很多资源

005 R语言的学习经验

很多非常有道理的话 总结起来就是

很多东西不是教出来的,而是学出来的

这一篇要反复反复看,心灵鸡汤~

006 R语言的学习经验

一直说镜像镜像,啥是镜像?

R镜像是为了方便世界各地的使用者下载R软件及相关软件包,在各地设置的镜像。各地的镜像都是R网站的备份文件,完全一样。所以,选择最近的镜像,下载R软件或者R包的速度会很快。

007 R语言爬虫

偷偷的去看爬虫专辑了

008 KEGG数据库的rest API

这个和KEGG API用法详解一起看

对大多数的数据库而言,API接口可以方便的从数据库中检索数据 API其实就是一种约定好的URL规则,通过特定的URL返回不同的数据。

009 R语言实战第2版

010 生信技巧

011 使用R语言获取人类所有的基因名字,ID,symbol以及别名

012 R语言读书笔记

013 强行解锁R语言入门新姿势

推荐书籍,R语言数据学

目录很棒

但是这个向上滑动的功能是怎么搞的呢?

蓝1
绿2

<<< 左右滑动见更多 >>>

014 SVM的用法

第一次听说这个概念~ 支持向量机,support vector machine,一般简称SVM

是一种二分类模型,基本模型定义为特征空间上的间隔最大的线形分类器,,其学习策略便是间隔最大化,最终可转化为一个凸二次规划问题的求解。

晕了 简单的说就是分类器,根据一堆自变量来预测因变量,一般用于二元分类变量的预测,预测多元分类变量很勉强,同时基于SVM的SVR也可以预测连续变量。

推荐: SVR 预测连续变量

大有可为的感觉~

015 R语言学习入门导航-特别版

介绍了R语言的历史,应用

人的学习路径: 学习-实践-忘记-回顾。

- 练习(编程题)
1. 比较R语言中apply, sapply, lapply等函数的异同;比较paste和sprintf的异同;以及其他你觉得可以比较的函数。并用R markdown展示他们的区别(可能需要你花一点时间学习Markdown以及R markdown)。


2. 什么是正则表达式?R里面有哪些函数和第三方包(没有数量限制)可以使用正则表达式。

3. 完成你的第一个R包(建议你先阅读与构建R包相关的资料,比如《R packages》这本书),并使用Git进行版本管理,同时上传至GitHub仓库(可能需要一些时间同时学习它)。如果你觉得你构建的R包非常有用,可以尝试提交并分享至CRAN。

4. 完成你的第一个Shiny应用。

5. 使用blogdown构建你的第一个博客应用。

6. 使用xaringan构建你的第一个Web PPT。

7. 使用bookdown构建你的第一本书

这些被当作年度计划了。。。(怎么有人一下子找到这么多好应用?!)

016 芯片的探针ID找到基因名-基于R语言-一文就够

  • 使用bioconductor注释包
  • 使用GPL平台信息
  • 只有探针核苷酸序列

017 R语言练习题10道,有答案代码,还有视频

10个作业需要做一下

018 使用methods函数来查看R语言里面的对象的操作方式

019 生信人应该这样学R语言系列视频学习心得笔记分享

020 生信工程师全套教学视频之R语言专辑纪念版

021 30道练习题带你玩转统计学的R语言版

Q1: 载入R中自带的数据集 iris,指出其每列是定性还是定量数据

Q2: 对数据集 iris的所有定量数据列计算集中趋势指标:`众数、分位数和平均数`

Q3:对数据集 iris的所有定性数据列计算水平及频次

Q4:对数据集 iris的所有定量数据列计算离散趋势指标:方差和标准差等

Q5:计算数据集 iris的前两列变量的相关性,提示cor函数可以选择3种methods

Q6:对数据集 iris的所有定量数据列内部zcore标准化,并计算标准化后每列的平均值和标准差

Q7:计算列内部zcore标准化后 iris的前两列变量的相关性

Q8: 根据数据集 iris的第五列拆分数据集后重复上面的Q2到Q7问题

Q9:载入R中自带的数据集 mtcars,重复上面的Q1到Q7个问题

Q10: 载入r包airway并且通过assay函数拿到其表达矩阵后计算每列之间的相关性

022 程序员的浪漫--R语言画小心心

023 生信人的R语言书单

  • 《R数据科学》
  • 《R语言:数据可视化与统计分析基础》
  • 《R语言实战(第二版)》
  • 《R语言编程艺术》
  • 《R语言:从数据思维到数据实战》
  • 《R数据可视化手册》
  • 《R语言核心技术手册》
  • 《R语言之书-编程与统计》

已有23,最想看1

024 在R语言里面,把一个矩阵除以向量会发生什么

这个没看太懂,需要回看

025 R语言展示我们生信技能树全国巡讲的征程

代码可以做中国地图,酷炫~~~

026 R语言代码相关疑问标准提问

027 使用R语言在向量的任何位置插入任何元素

ins函数 任意位置添加任意数字,但是有不完美的点?

028 生信技能树-R语言视频课听后感

029 华清大学、京北大学联合发现:#学习R语言之数据挖掘可抑制新型冠状病毒#

太搞笑了

030 如何让你的数据对象say I do(R-数据索引)

031 把一本R语言书看五遍还是看五本不同的书

032 生信分析人员如何系统入门R(2019更新版)

033 把bam文件读入R,并且转为grange对象

Rsamtools处理bam数据

034 美国辛辛那提大学的商业分析专业R语言

035 叫你不学R

Excel最大行数限制是1,048,576行,最大列数限制是16,384列

036 叫你不学R让你的基因有名字

  • readable = T 后继续绘图
  • 富集报错的处理

037 画韦恩图那么容易,为什么拿到指定元素却有问题

韦恩图代码

require("VennDiagram"
venn.plot <- venn.diagram(VENN.LIST , NULL, 
                          fill=c("red""blue",'green','black'), 
                          alpha=c(0.5,0.5,0.5,0.5), cex = 2, cat.fontface=4, 
                          category.names= names(VENN.LIST), 
                          main="venn.diagram")
grid.draw(venn.plot)
  • UpSetR包

038 不做实验、不查病历也能发文章?数据挖掘和 R 语言帮你轻松发 SCI

哈哈哈

039 对象何必到处乱找,自己创造即可

  • GSEABase
  • h.all.v7.2.symbols.gmt 文件 然而怀疑msigdb数据库改版之后,发现很难下载了(还是我根本没找到--!)

040 一些单细胞转录组R包的对象

041 R代码里面的恼人的奇怪字体

  • UTF-8
  • 改字体

还有怎么学习R和Linux 把R的知识点路线图搞定,如下:

  • 了解常量和变量概念
  • 加减乘除等运算(计算器)
  • 多种数据类型(数值,字符,逻辑,因子)
  • 多种数据结构(向量,矩阵,数组,数据框,列表)
  • 文件读取和写出
  • 简单统计可视化
  • 无限量函数学习

Linux的6个阶段也跨越过去

一般来说,每个阶段都需要至少一天以上的学习:

  • 第1阶段:把linux系统玩得跟Windows或者MacOS那样的桌面操作系统一样顺畅,主要目的就是去可视化,熟悉黑白命令行界面,可以仅仅以键盘交互模式完成常规文件夹及文件管理工作。

  • 第2阶段:做到文本文件的表格化处理,类似于以键盘交互模式完成Excel表格的排序、计数、筛选、去冗余,查找,切割,替换,合并,补齐,熟练掌握awk,sed,grep这文本处理的三驾马车。

  • 第3阶段:元字符,通配符及shell中的各种扩展,从此linux操作不再神秘!

  • 第4阶段:高级目录管理:软硬链接,绝对路径和相对路径,环境变量。

  • 第5阶段:任务提交及批处理,脚本编写解放你的双手。

  • 第6阶段:软件安装及conda管理,让linux系统实用性放飞自我。

042 三线表

  • tableone

043 R语言确实会蛮耗费磁盘空间哦

044 pdftools包

  • 首先是拆分PDF文件 删除ref 就可以使用pdftools包的pdf_subset()函数,示例代码如下:
# Load pdftools
library(pdftools)

# extract some pages
pdf_subset('https://cran.r-project.org/doc/manuals/r-release/R-intro.pdf',
  pages = 1:3, output = "subset.pdf")

# Should say 3
pdf_length("subset.pdf")
  • 合并PDF文件 就可以使用pdftools包的pdf_combine()函数,示例代码如下:
# Generate another pdf
pdf("test.pdf")
plot(mtcars)
dev.off()

# Combine them with the other one
pdf_combine(c("test.pdf""subset.pdf"), output = "joined.pdf")

# Should say 4
pdf_length("joined.pdf")

如果你要把多个图片写入到同一个pdf里面,每个图片是一个页面 参考:https://stackoverflow.com/questions/1395410/how-to-print-r-graphics-to-multiple-pages-of-a-pdf-and-multiple-pdfs 示例代码如下:

pdf("myOut.pdf")
for (i in 1:10){
  plot(rnorm(10))
}
dev.off()

如果要读取PDF里面的内容呢? 那就再打开这个链接吧~~~

045 自行入门R语言的故事

046 R语言里面双层list变成长形数据框

  • 双层list

047 凡是Excel能实现的数据操作,理论上R语言也可以

不能再认同了

048 R语言的一些配色的R包

  • ggsci
  • RColorBrewer
  • grDevices

049 R语言的繁荣背后何尝没有隐患

050 R语言的各种统计分布函数

显然需要多看几遍

分类:

其他

标签:

医学

作者介绍

高可Coco
V1

喜欢抹茶冰淇淋的医学生