Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R data.table行上的隐藏属性_R_Data.table - Fatal编程技术网

R data.table行上的隐藏属性

R data.table行上的隐藏属性,r,data.table,R,Data.table,是否可以将metainfo添加到data.table中的每一行,并按这样的方式进行筛选?如果是这样,我该怎么做 为了简单起见,假设我有一个包含两列的数据表,a和B,其中B包含数字数据。我需要能够将(部分、全部、仅一行等)标记为FIX,执行数学运算、联接等,然后将它们标记为UNFIX,以便在执行此类操作时,结果不受metainfo的影响,如果它们只是另一列而不是隐藏属性,则可能会发生这种情况。R支持所有对象上的属性。因此,您可以为列表分配属性,尽管这可能不是最佳方法-创建和删除新列可能是最佳解决方

是否可以将metainfo添加到data.table中的每一行,并按这样的方式进行筛选?如果是这样,我该怎么做


为了简单起见,假设我有一个包含两列的数据表,a和B,其中B包含数字数据。我需要能够将(部分、全部、仅一行等)标记为
FIX
,执行数学运算、联接等,然后将它们标记为
UNFIX
,以便在执行此类操作时,结果不受metainfo的影响,如果它们只是另一列而不是隐藏属性,则可能会发生这种情况。

R支持所有对象上的属性。因此,您可以为列表分配属性,尽管这可能不是最佳方法-创建和删除新列可能是最佳解决方案。我要注意的是,如果在列表上执行任何操作,除非将属性复制到新对象,否则将丢失属性。下面是一个简单的例子:

df <- data.frame(A = c(1, 2, 3),
                 B = c(1, 2, 3))

attr(df, "isFixed") <- c("unfixed","unfixed","unfixed")

attributes(df)$isFixed

attributes(df)$isFixed[1] <- "fixed"

attributes(df)$isFixed   

df我不明白你为什么不把它们列成正确的列。你能提供一个使它更清楚吗?如果你想的话,你可以使用一个单独的向量。e、 g.
fix.rows=c(T,F,F)
fix.rows=c(1,17,23)
。然后使用以下命令执行数据表操作:
dt[fix.rows,V1:=x]
。但我看不到任何东西也不能仅仅是用额外的东西来实现column@MrFlick例如,我有一组函数,它们使用intersect在两个数据表之间执行联接操作,因为列数将来可能会增加:sk=intersect(名称(dt1),名称(dt2))sk=sk[!sk%in%“值”]dt1[dt2,值:=VALUE+i.VALUE,on=sk]