学习目标
演示如何从现有的数据结构中取子集,合并及创建新数据集。
导出数据表和图以供在R环境以外使用。
1.数据框
数据框(和矩阵)有2个维度(行和列),要想从中提取部分特定的数据,就需要指定“坐标”。和向量一样,使用方括号,但是需要两个索引。在方括号内,首先是行号,然后是列号(二者用逗号分隔)。以metadata
数据框为例,如下所示是前六个样本:
![d2a76eecba4855060b97a82808f263b4.png](https://i-blog.csdnimg.cn/blog_migrate/7319088170cca40923c5274835e7d2f3.jpeg)
例如:
metadata[1, 1] # element from the first row in the first column of the data frame
metadata[1, 3] # element from the first row in the 3rd column
现在,如果只想选择行,可以提供行的索引,将列索引留空。关键是要写逗号,让R知道你正在访问二维数据结构:
metadata[3, ] # vector containing all elements in the 3rd row
如果从数据框中选择特定列,则行保留为空白:
metadata[ , 3] # vector containing all elements in the 3rd column
像向量一样,也可以一次选择多行多列。在方括号内,提供所需值的向量:
metadata[ , 1:2] # dataframe containing first two columns
metadata[c(1,3,6), ] # dataframe containing first, third and sixth rows
对于较大的数据集,不易记住与特定变量对应的列号。在某些情况下,如果使用的脚本添加或删除列,则变量的列号可能会更改。因此,最好使用列名来引用特定变量,这样可以使代码更易于阅读,并且您的意图更加清晰。
metadata[1:3 , "celltype"] # elements of the celltype column corresponding to the first three samples
还可以使用$
符号选择特