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

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)

绘制效果如下:


R语言入门4:数据框元素的提取和作图_第1张图片
image.png

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

> attach(gene_exp)
> plot(Sample1,Sample3)
> detach(gene_exp) #画图完成后,使用detach()命令,将gene_exp从R的搜索目录中去掉
R语言入门4:数据框元素的提取和作图_第2张图片
image.png

当两个数据框中的列名相同时,同时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))

运行结果如下:


R语言入门4:数据框元素的提取和作图_第3张图片
image.png

你可能感兴趣的:(R语言入门4:数据框元素的提取和作图)