2015-09-07 50 views
1

我想同時應用all.equal幾個對象。適用all.equal幾個對象

我最初的代碼如下:

all.equal(1,1.01, tolerance = 1e-1) 

這是做這件事的一種方法:

objs <- mget(c(1,1.01,1.02)) 
outer(objs, objs, Vectorize(all.equal)) 

,但我無法弄清楚如何將公差聲明。

有什麼想法?

+0

我在運行'mget'行時出錯。我不確定你想做什麼,但也許是這樣?:'sapply(x,FUN = function(x){all.equal(1,x,tolerance = 1e-1)})'where'x = c(1,1.01,1.02)' – pcantalupo

+0

也許this - >'外部(objs,objs,FUN =函數(a,b,toler){mapply(function(x,y){all.equal(x,y ,toler)},a,b)},toler = 1e-1)' – digEmAll

+0

這是正確的 – ulrich

回答

0

這是怎麼回事?

vec = c(1,1.01,1.02) 
all(abs(diff(vec)) <= 0.01 + .Machine$double.eps)