我的数据同时存储为矩阵和列表?

时间:2013-03-18 15:53:57

标签: r tabular

我正在使用tabular()函数在r(tables库)中生成表。

我想根据输出中的数据计算CI(让mytable成为tabular()的输出)。我觉得很简单,除非我从矩阵中调用一个值,我得到错误Error in mytable[1, i] - 1 : non-numeric argument to binary operator。我认为这很奇怪,因为当我调用矩阵的特定单元格(其中as.matrixmytable返回true时),例如某些i的mytable[1, i],我得到一个整数。然后我为mytable做了as.list并且也变得正确,所以我不确定这意味着什么。我想tabular()函数将结果存储为一种特殊的矩阵。

我只是试图取出平均值,sdev和n,我只能通过键入单元格位置,例如mytable[1, i]将返回86.但是,当我尝试调用时例如qt(.975,df=(mytable[1,i]-1))中的值,我得到上面的错误。不确定如何处理这个,除了手动将值输入另一个矩阵(我想避免)。或者,如果我可以直接在tabular()函数中计算CI,那也可以。欢呼声。

1 个答案:

答案 0 :(得分:1)

我将引用函数?tabular的文档的Value部分:

  

S3类“表格”的对象。这是一个模式列表矩阵,其中   条目是计算的汇总值,具有以下属性:

     

rowLabels - 行的标签矩阵。这将是相同的   行数作为主矩阵,但可能有多列   不同的嵌套标签级别。如果标签覆盖多行,则为   在第一行输入,NA用于填充以下行。

     

colLabels - 与rowLabels类似,但标记列。

     

table - 显示原始表表达式。一份清单   原始格式规范附加为“fmtlist”属性。

     

formats - 与主结果形状相同的矩阵,包含NA   用于默认格式,或格式列表的索引。

正如文档所述,矩阵的每个元素都是一个列表。如果您的tabular对象被调用tab,请键入tab[1,1],您应该会看到一个包含您的某个表值的列表。如果我想修改该值,我可能会做类似的事情:

tab[1,1]$term <- value 

就像修改任何其他列表中的值一样。

输入attributes(tab),您会看到上面列出的项目,其中包含大量格式信息和行/列标题。