在数据矩阵对象中表示表达式数据值
数据矩阵对象概述
工具箱包括用于创建、存储和访问微阵列数据的函数、对象和方法。
对象构造函数,DataMatrix
,让您创建一个DataMatrix对象封装微阵列实验中的数据和元数据(行名和列名)。DataMatrix对象将实验数据存储在矩阵中,行通常对应于基因名称或探针标识符,列通常对应于样本标识符。DataMatrix对象还存储元数据,包括基因名或探测标识符(作为行名)和样本标识符(作为列名)。
可以在DataMatrix对象中引用微阵列表达式值,方法与在MATLAB中引用数据相同®数组,即通过使用线性或逻辑索引。或者,您可以通过基因(探针)标识符和样本标识符引用此实验数据。通过这些标识符建立索引,您可以快速方便地访问数据子集,而不必维护额外的索引数组。
许多MATLAB操作符和算术函数可以通过方法用于DataMatrix对象。这些方法允许您修改、组合、比较、分析、绘制和访问DataMatrix对象中的信息。此外,您可以通过使用一般的元素函数轻松扩展功能,dmarrayfun
而且dmbsxfun
,以及手动访问DataMatrix对象的属性。
请注意
有关描述DataMatrix对象的属性和方法的表,请参见DataMatrix对象参考页面。
构造数据矩阵对象
加载生物信息学工具箱™软件提供的mat文件,其中包含酵母数据。这个mat文件包括三个变量:
yeastvalues
,一个614 × 7的基因表达数据矩阵,基因
, 614 GenBank单元阵列®中用于标记行的接入号yeastvalues
,次
,一个1 × 7的时间值向量,用于在中标记列yeastvalues
.负载filteredyeastdata
属性的前五行和前四列,创建包含数据子集的变量
yeastvalues
矩阵,基因
单元格数组,以及次
向量。Yeastvalues = Yeastvalues (1:5,1:4);基因=基因(1:5,:);次数=次数(1:4);
导入microarray对象包,以便
DataMatrix
构造函数将可用。进口bioma.data。*
使用
DataMatrix
构造函数从基因表达数据创建一个小的DataMatrix对象。dmo = DataMatrix(酵母值,基因,次数)dmo = 0 9.5 11.5 13.5 SS DNA -0.131 1.699 -0.026 0.365 YAL003W 0.305 0.146 -0.129 -0.444 YAL012W 0.157 0.175 0.467 -0.379 YAL026C 0.246 0.796 0.384 0.981 YAL034C -0.235 0.487 -0.184 -0.669
获取和设置数据矩阵对象的属性
你可以使用得到
而且集
方法来检索和设置DataMatrix对象的属性。
使用
得到
方法来显示DataMatrix对象的属性,dmo
.get(dmo) Name: " RowNames: {5x1 cell} ColNames: {' 0' ' 9.5' '11.5' '13.5'} NRows: 5 NCols: 4 NDims: 2 ElementClass: 'double'
使用
集
方法来指定DataMatrix对象的名称,dmo
.dmo = set(dmo,'Name','MyDMObject');
使用
得到
方法再次显示DataMatrix对象的属性,dmo
.get(dmo) Name: 'MyDMObject' RowNames: {5x1 cell} ColNames: {' 0' ' 9.5' '11.5' '13.5'} NRows: 5 NCols: 4 NDims: 2 ElementClass: 'double'
请注意
有关DataMatrix对象的所有属性的描述,请参见DataMatrix对象参考页面。
访问数据矩阵对象中的数据
DataMatrix对象支持以下类型的金宝app索引来提取、赋值和删除数据:
括号()索引
点。索引
括号()索引
使用圆括号索引提取数据的子集dmo
并将其分配给一个新的DataMatrix对象dmo2
:
dmo2 = dmo(1:5,2:3) dmo2 = 9.5 11.5 SS DNA 1.699 -0.026 YAL003W 0.146 -0.129 YAL012W 0.175 0.467 YAL026C 0.796 0.384 YAL034C 0.487 -0.184
使用圆括号索引提取使用行名和列名的数据子集,并将其分配给一个新的DataMatrix对象dmo3
:
dmo3 = dmo({'SS DNA','YAL012W','YAL034C'},'11.5') dmo3 = 11.5 SS DNA -0.026 YAL012W 0.467 YAL034C -0.184
请注意
如果使用行名或列名的单元格数组索引到DataMatrix对象中,则名称必须是惟一的,即使DataMatrix对象中的行名或列名不是惟一的。
中元素的子集使用圆括号索引将新数据赋值给dmo2
:
dmo2({“党卫军DNA”,“YAL003W”},1:2)= (1.700 - -0.030;0.150 -0.130] dmo2 = 9.5 11.5 SS DNA 1.7 -0.03 YAL003W 0.15 -0.13 YAL012W 0.175 0.467 YAL026C 0.796 0.384 YAL034C 0.487 -0.184
中使用圆括号索引删除数据的子集dmo2
:
dmo2({'SS DNA', 'YAL003W'},:) = [] dmo2 = 9.5 11.5 YAL012W 0.175 0.467 YAL026C 0.796 0.384 YAL034C 0.487 -0.184
点。索引
请注意
在以下示例中,请注意,当对DataMatrix对象使用点索引时,您使用单引号内的冒号指定所有行或所有列,(': ')
.
类中使用点索引提取数据11.5
仅列dmo
:
timeValues = dmo.(':')('11.5') timeValues = -0.0260 -0.1290 0.4670 0.3840 -0.1840
中的元素子集使用点索引将新数据赋值给dmo
:
dmo.(1:2)(':') = 7 dmo = 0 9.5 11.5 13.5 SS DNA 7 7 7 7 YAL003W 7 7 7 7 YAL012W 0.157 0.175 0.467 -0.379 YAL026C 0.246 0.796 0.384 0.981 YAL034C -0.235 0.487 -0.184 -0.669
使用点索引来删除整个变量dmo
:
dmo。YAL034C = [] dmo = 0 9.5 11.5 13.5 SS DNA 7 7 7 7 YAL003W 7 7 7 7 YAL012W 0.157 0.175 0.467 -0.379 YAL026C 0.246 0.796 0.384 0.981
使用点索引从其中删除两列dmo
:
dmo.(':')(2:3)=[] dmo = 0 13.5 SS DNA 7 7 YAL003W 7 7 YAL012W 0.157 -0.379 YAL026C 0.246 0.981