DAY5 生信技能树-数据挖掘第三期学习笔记

Ruizheng 的学习笔记

感谢 生信技能树 小洁老师

常见报错:找不到文件
  • 文件没有存放于工作目录下(Rprojecct)
  • 拼写错误 (用tab自动补齐)

文件读入的练习

  • 注意不要惹上因子 options(stringsAsFactors = F)
  • 参数 check.names = F 能避免让函数自动检查并改变你的文本 eg.如果不加这个参数,列名的 "-" 会变成“.”
  • 参数 comment.char = "!" 能让函数在读取文件时将以"!"开头的行视为注释,从而在读入R时忽略这些行
  • 参数 fill = TRUE,能够在读入时自动补齐,避免出现某一个观察的变量不足而无法读入,但是在读入后应检查你的数据框
  • 参数 skip = 65,能够在读入自动跳过前65行
下面是讲课的知识点,相应的代码和练习题
#1.读取ex1.txt
ex1 = read.table("ex1.txt")
#2.读取ex2_B cell receptor signaling pathway.csv
ex2 = read.csv("ex2_B cell receptor signaling pathway.csv",
               row.names = 1, check.names = F)
#3.读取GSE32575_series_matrix.txt,赋值给gse。
gse = read.table("GSE32575_series_matrix.txt", 
                 comment.char = "!",
                 header = T,
                 row.names = 1)
#4.描述gse的属性
dim(gse)
colnames(gse)
rownames(gse)
#5.将gse导出为新的txt和csv文件。
write.table(gse, file = "zz.txt")
write.csv(gse,"zz.csv")
#6.将gse保存为Rdata并加载。
save(gse, ex1, ex2, file = "zz.Rdata")
#7. 加载 zz.Rdata 并查看有几个数据
(load("zz.Rdata"))

#练习:
#1.读取complete_set.txt(已保存在工作目录)
a <- read.table("complete_set.txt", header = T)
# 2.查看有多少行、多少列
dim(a)
# 3.获取行名和列名
rownames(a); colnames(a)
# 4.导出为csv格式
write.csv(a, file = "xx.csv")
# 5.保存为Rdata
save(a, file = "xx.Rdata")
# 6.加载class.Rdata,查看数据类型
(load("class.Rdata"))
class(y)
高阶数据读取指南

小洁老师倾情分享,高阶数据读取指南

R语言能读取的文件格式
R语言能读取的文件格式
用于读取/导出文件的R包
用于读取/导出文件的R包

图就是数据,数据就是图

常见可视化R包

1. 作图

  • base
  • ggplot2
  • ggpubr

2. 拼图

基础包作图函数
plot(iris[,1],iris[,3],col = iris[,5]) 
text(6.5,4, labels = 'hello')
boxplot(iris[,1]~iris[,5])
dev.off()

ggplot2 语法

  1. 入门级绘图模板
  2. 映射-颜色、大小、透明度、形状
  3. 分面
  4. 几何对象
  5. 统计变换
  6. 位置调整
  7. 坐标系
1. 入门级模版

ggplot(data = <DATA>)+
<GEOM_FUNCTION>(mapping = aes(<MAPPINGS>))

ggplot(data = iris)+
geom_point(mapping = aes(x = Sepal.Length,
y = Petal.Length))
2. 映射
映射
ggplot(data = iris)+
  geom_point(mapping = aes(x = Sepal.Length,
                           y = Petal.Length,
                           color = Species))
手动设置

手动设置

手动设置放到 aes 外面

ggplot(data = mpg) +
geom_point(mapping = aes( x= displ, y= hwy), color = "blue")   
3. 分面

把一张图变成多个子图

ggplot(data = iris) + 
  geom_point(mapping = aes(x = Sepal.Length, y = Petal.Length)) + 
  facet_wrap(~ Species) 
3. 双分面
test = iris
test$Group = sample(letters[1:5],150,replace = T)
ggplot(data = test) + 
  geom_point(mapping = aes(x = Sepal.Length, y = Petal.Length)) + 
  facet_grid(Group ~ Species)
练习题
#练习6-1
# 示例数据:ggplot2中数据集mpg
# 1.分别以mpg的displ和hwy两列作为横纵坐标,画点图。
ggplot(mpg) +
  geom_point(aes(x = displ, y = hwy))
# 2.尝试修改颜色或大小,从mpg数据框中任选可以用来分类的列。
ggplot(mpg) +
  geom_point(aes(x = displ, y = hwy, size = cyl, color = drv))
# 3.根据class列来分面
ggplot(mpg) +
  geom_point(aes(x = displ, y = hwy)) +
  facet_wrap(~ class, nrow = 2)
# 4.根据drv和cyl两个变量来分面
ggplot(mpg)+
  geom_point(aes(x= displ, y = hwy))+
  facet_grid(drv~cyl)
4. 几何对象

几何对象

理解分组

ggplot(data = test) + 
  geom_smooth(mapping = aes(x = Sepal.Length, 
                          y = Petal.Length))

ggplot(data = test) + 
  geom_smooth(mapping = aes(x = Sepal.Length, 
                            y = Petal.Length,
                            group = Species))
ggplot(data = test) + 
  geom_smooth(mapping = aes(x = Sepal.Length, 
                          y = Petal.Length,
                          color = Species))  ### 会画出三条线

几何对象可以叠加

  • 图层
  • 局部映射和全局映射
    局部映射仅对当前图层有效,全局映射对所有图层有效
    图层:geom_xx()画出的单个几何对象
ggplot(data = test) + 
  geom_smooth(mapping = aes(x = Sepal.Length, 
                          y = Petal.Length))+
  geom_point(mapping = aes(x = Sepal.Length, 
                           y = Petal.Length))

ggplot(data = test,mapping = aes(x = Sepal.Length, y = Petal.Length))+
  geom_smooth()+
  geom_point()
练习题
# 1.尝试写出下图的代码
# 数据是iris
# X轴是Species
# y轴是Sepal.Width
# 图是箱线图
ggplot(iris)+
  geom_boxplot(aes(x= Species,y = Sepal.Width))
# 2. 尝试在此图上叠加点图,
# 能发现什么问题?
ggplot(iris,aes(x= Species,y = Sepal.Width, color = Species))+
  geom_boxplot()+
  geom_point()
# 3.用下列代码作图,观察结果
ggplot(test,aes(x = Sepal.Length,y = Petal.Length,color = Species)) +
  geom_point()+
  geom_smooth(color = "black")
练习题反馈出来的问题
  • 当局部映射和全局映射冲突,以局部映射为准
  • 图层叠加与覆盖的问题
  • 点图重叠的问题
分享一个做美图的网站

http://www.sthda.com/english/
小洁老师的画图合辑

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 225,165评论 6 523
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 96,476评论 3 405
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 172,446评论 0 368
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 61,157评论 1 301
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 70,164评论 6 400
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 53,615评论 1 316
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 41,969评论 3 430
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 40,959评论 0 279
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 47,495评论 1 324
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 39,529评论 3 347
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 41,641评论 1 355
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 37,233评论 5 351
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 42,976评论 3 340
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 33,407评论 0 25
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 34,552评论 1 277
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 50,218评论 3 381
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 46,715评论 2 366

推荐阅读更多精彩内容