菜鸟学飞记分享 http://blog.sciencenet.cn/u/yjjh143 每只菜鸟,都有鹰的梦想!

博文

R语言入门4:数据框元素的提取和作图

已有 11421 次阅读 2017-11-24 23:15 |个人分类:R 学习笔记|系统分类:科研笔记| R语言, 学习笔记

1. 数据框:提取元素

> gene_exp
      Sample1 Sample2 Sample3
gene1       1     2.0     0.3
gene2       4     5.0     6.0
gene3       7     0.8     9.0
gene4      10    11.0    12.0
> gene_exp[2,1] # 提取第二行,第一列的元素
[1] 4
> gene_exp[2,3] # 提取第二行,第三列的元素
[1] 6
> gene_exp[2,] # 提取第二行的所有列
      Sample1 Sample2 Sample3
gene2       4       5       6
> gene_exp[,2] # 提取第二列的所有元素
[1]  2.0  5.0  0.8 11.0
> gene_exp[2]  # 提取第二列(不输入行号,默认提取列)
      Sample2
gene1     2.0
gene2     5.0
gene3     0.8
gene4    11.0
> gene_exp[1:3]  # 提取第1到3列
      Sample1 Sample2 Sample3
gene1       1     2.0     0.3
gene2       4     5.0     6.0
gene3       7     0.8     9.0
gene4      10    11.0    12.0
> gene_exp[c(2:3)] # 提取2到3列
      Sample2 Sample3
gene1     2.0     0.3
gene2     5.0     6.0
gene3     0.8     9.0
gene4    11.0    12.0
> gene_exp[c(1,3)] # 提取第1列和第3列
      Sample1 Sample3
gene1       1     0.3
gene2       4     6.0
gene3       7     9.0
gene4      10    12.0
> gene_exp$Sample2 # 使用$列名提取某一列
[1]  2.0  5.0  0.8 11.0

2.直接使用数据框中的变量

我们可以使用R语言提取数据框中的数据进行画图:

> gene_exp
      Sample1 Sample2 Sample3
gene1       1     2.0     0.3
gene2       4     5.0     6.0
gene3       7     0.8     9.0
gene4      10    11.0    12.0# 以第一列和第三列数据绘制散点图
> plot(gene_exp$Sample1,gene_exp$Sample3)

绘制效果如下:

但是,上述代码中gene_exp会重复出现,使代码非常不优雅,可通过attach命令,将数据框的名称添加到搜索目录中,我们在通过plot命令画图时,只需要输入列名即可:

> attach(gene_exp)
> plot(Sample1,Sample3)
> detach(gene_exp) #画图完成后,使用detach()命令,将gene_exp从R的搜索目录中去掉

当两个数据框中的列名相同时,同时attach()会报错:

> gene_exp3<-gene_exp[c(1,3)] # 将gene_exp的第一列和第三列定义为gene_exp3
> gene_exp3
      Sample1 Sample3
gene1       1     0.3
gene2       4     6.0
gene3       7     9.0
gene4      10    12.0
> attach(gene_exp) 
> attach(gene_exp3) # attach gene_exp3时报错
The following objects are masked from gene_exp:

    Sample1, Sample3

我们可以通过R的with命令避免上述情况的发生:

with(gene_exp, plot(Sample1,Sample2))

运行结果如下:



https://blog.sciencenet.cn/blog-505988-1086702.html

上一篇:R语言入门1:安装R和RStudio
下一篇:R语言入门6:数据处理之单表操作-Dplyr
收藏 IP: 114.253.123.*| 热度|

0

该博文允许注册用户评论 请点击登录 评论 (0 个评论)

数据加载中...
扫一扫,分享此博文

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-4-26 12:58

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部