我有一个用户定义的类,如下所示:
Cell<-setRefClass("Cell",
fields = list(p="vector", done="logical")
)
我希望创建一个表格数据结构,在其中可以有mxn个元素,每个元素都具有我的Cell类的实例。
我尝试过的一件事是:
mytable<-array(,dim = c(3,4))
然后我将该数组的一个单元格设置为我的类的实例:
mytable[[1,1]]<-Cell$new(p=(1:5), done=FALSE)
我得到:
mytable [[1,1]]中的错误<-Cell $ new(p =(1:5),done = FALSE):
提供的元素多于要替换的元素
不确定数组是否最适合于这种情况,我曾尝试使用矩阵和列表,但似乎无法实现我在这里试图做的事情。
答案 0 :(得分:0)
S4对象可以存储在列表中,因此请尝试此操作。
for (;; cmp->file[0].buffered = cmp->file[1].buffered = 0)
{
/* Read a buffer's worth from both files. */
for (f = 0; f < 2; f++)
if (0 <= cmp->file[f].desc)
file_block_read (&cmp->file[f],
buffer_size - cmp->file[f].buffered);
/* If the buffers differ, the files differ. */
if (cmp->file[0].buffered != cmp->file[1].buffered
|| memcmp (cmp->file[0].buffer,
cmp->file[1].buffer,
cmp->file[0].buffered))
{
changes = 1;
break;
}
/* If we reach end of file, the files are the same. */
if (cmp->file[0].buffered != buffer_size)
{
changes = 0;
break;
}
}
如果确实需要二维结构,您还可以使用一个列表来存储Cell对象,并维护一个数组/矩阵作为对此列表的索引。