我正在使用tabular()
函数在r(tables
库)中生成表。
我想根据输出中的数据计算CI(让mytable
成为tabular()
的输出)。我觉得很简单,除非我从矩阵中调用一个值,我得到错误Error in mytable[1, i] - 1 : non-numeric argument to binary operator
。我认为这很奇怪,因为当我调用矩阵的特定单元格(其中as.matrix
为mytable
返回true时),例如某些i的mytable[1, i]
,我得到一个整数。然后我为mytable做了as.list
并且也变得正确,所以我不确定这意味着什么。我想tabular()
函数将结果存储为一种特殊的矩阵。
我只是试图取出平均值,sdev和n,我只能通过键入单元格位置,例如mytable[1, i]
将返回86.但是,当我尝试调用时例如qt(.975,df=(mytable[1,i]-1))
中的值,我得到上面的错误。不确定如何处理这个,除了手动将值输入另一个矩阵(我想避免)。或者,如果我可以直接在tabular()
函数中计算CI,那也可以。欢呼声。
答案 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)
,您会看到上面列出的项目,其中包含大量格式信息和行/列标题。