0

我有一个包含值的列表,我想将它分配给 spotfire 中表的列属性。我目前正在使用 for 循环来执行此操作。有没有更好的方法,比如一次性分配整个列表?

如前所述,我目前正在使用 for 循环执行此操作,如下所示:

high=c(5,2,10)
low=c(3,1,0)
for(col in 1:ncol(temp)){
   attributes(temp[,col])$SpotfireColumnMetaData$limits.whatif.upper=(high[col])[1]
   attributes(temp[,col])$SpotfireColumnMetaData$limits.whatif.lower=(low[col)[1]
    }
}

我也尝试过

attributes(temp2)$SpotfireColumnData$limits.whatif.upper=high

但这似乎不起作用。

所以我希望limits.whatif.upper 的第一行为5,第二行为2,第三行为10。正如我所说,这段代码有效,但我想看看是否有更快的方法,因为似乎每次访问列属性并更改它都会大大降低代码速度。列属性已经存在,所以我不使用此代码创建新代码。

4

1 回答 1

0

在列属性上,python 似乎比 R 工作得更快。因此,如果您需要更快地执行此操作,最好将数据传输到 python 并从那里执行。我在 R 方面没有太多经验,所以它也可能只是写得不好的 R 代码。

于 2020-01-29T20:34:17.160 回答