
高可Coco
2022/11/29阅读:45主题:默认主题
R专辑分享
R专辑分享-001
参考生信技能树 R语言专辑 R语言
一共106篇,正序
001 如何系统入门R语言
-
编程语言的区别
-
python: 主流面向编程,语法不太严谨 -
perl:严谨,快 -
R:类似没有交互界面的excel
-
六部入门R语言
-
第1步:掌握基础 :软件,help?(超有用) -
第2步:明白R中的变量:向量和因子,数据框,列表,数组(这里个人觉得有点难,很多报错就是数据类型搞错了) -
第3步:基础函数 -
第4步:可视化 -
第5步:高级操作(自我感觉卡到这里):apply系列函数,aggregate,split等函数的用法 -
第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语言数据学

目录很棒
但是这个向上滑动的功能是怎么搞的呢?
<<< 左右滑动见更多 >>>
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
喜欢抹茶冰淇淋的医学生