主要内容

在数据矩阵对象中表示表达式数据值

数据矩阵对象概述

工具箱包括用于创建、存储和访问微阵列数据的函数、对象和方法。

对象构造函数,DataMatrix,让您创建一个DataMatrix对象封装微阵列实验中的数据和元数据(行名和列名)。DataMatrix对象将实验数据存储在矩阵中,行通常对应于基因名称或探针标识符,列通常对应于样本标识符。DataMatrix对象还存储元数据,包括基因名或探测标识符(作为行名)和样本标识符(作为列名)。

可以在DataMatrix对象中引用微阵列表达式值,方法与在MATLAB中引用数据相同®数组,即通过使用线性或逻辑索引。或者,您可以通过基因(探针)标识符和样本标识符引用此实验数据。通过这些标识符建立索引,您可以快速方便地访问数据子集,而不必维护额外的索引数组。

许多MATLAB操作符和算术函数可以通过方法用于DataMatrix对象。这些方法允许您修改、组合、比较、分析、绘制和访问DataMatrix对象中的信息。此外,您可以通过使用一般的元素函数轻松扩展功能,dmarrayfun而且dmbsxfun,以及手动访问DataMatrix对象的属性。

请注意

有关描述DataMatrix对象的属性和方法的表,请参见DataMatrix对象参考页面。

构造数据矩阵对象

  1. 加载生物信息学工具箱™软件提供的mat文件,其中包含酵母数据。这个mat文件包括三个变量:yeastvalues,一个614 × 7的基因表达数据矩阵,基因, 614 GenBank单元阵列®中用于标记行的接入号yeastvalues,,一个1 × 7的时间值向量,用于在中标记列yeastvalues

    负载filteredyeastdata
  2. 属性的前五行和前四列,创建包含数据子集的变量yeastvalues矩阵,基因单元格数组,以及向量。

    Yeastvalues = Yeastvalues (1:5,1:4);基因=基因(1:5,:);次数=次数(1:4);
  3. 导入microarray对象包,以便DataMatrix构造函数将可用。

    进口bioma.data。*
  4. 使用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对象的属性。

  1. 使用得到方法来显示DataMatrix对象的属性,dmo

    get(dmo) Name: " RowNames: {5x1 cell} ColNames: {' 0' ' 9.5' '11.5' '13.5'} NRows: 5 NCols: 4 NDims: 2 ElementClass: 'double'
  2. 使用方法来指定DataMatrix对象的名称,dmo

    dmo = set(dmo,'Name','MyDMObject');
  3. 使用得到方法再次显示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