2014-10-30 20 views
0

我想問你的幫助,以找到爲什麼當我使用函數信封時,我的參數不被接受,但定義了「未使用的參數」。 我使用的數據是沒有標記的ppp,我想用模擬數據和我的數據創建一個L函數圖。 這裏我的PPP數據代碼:信封功能(spatstat) - 錯誤「未使用的參數」

map2008MLW = ppp(xy2008_BNGppp$x, xy2008_BNGppp$y, window = IoM_polygon_MLWowin) 

然後:

L2008 = Lest(map2008MLW,correction="Ripley") 
OP = par(mar=c(5,5,4,4)) 
plot(L2008, . -r ~ r, ylab=expression(hat("L")), xlab = "d (m)"); par(OP) 
L2008$iso = L$iso - L$r 
L2008$theo = L$theo - L$r 

所需數量的模擬

n = 9999 

預定p顯着性水平,顯示

p = 0.05 

並且在那小號一點的包絡函數不似乎很高興:

EL2008 = envelope(map2008MLW[W], Lest, nsim=n, rank=(p * (n + 1))) 
    Error in envelope(map2008MLW[W], Lest, nsim = n, rank = (p * (n + 1))) : 
    unused arguments (nsim = n, rank = (p * (n + 1))) 

這似乎是一個一般性錯誤,我不知道它是由包spatstat引起的。請幫助我找到解決辦法,因爲我無法繼續進行分析。

非常感謝你,

瑪蒂娜

+0

您的示例不可重現。您可以參考我們無法訪問的數據「xy2008_BNGppp」和「IoM_polygon_MLWowin」。也許你可以生成可重複的人造數據,它會給出相同的錯誤?或者在某處上傳數據。你也可以參考'L'和'W'這些未定義的對象。你可以加載另外一個包含函數'envelope'的包嗎?嘗試使用spatstat :: envelope來確保。對於如何做一個很好的例子,以便我們可以幫助你看看這裏提示:http://stackoverflow.com/a/5963610/3341769 – 2014-10-30 19:35:03

+0

親愛的Ege,我意識到,我的代碼不是問題,因爲代碼中出現任何錯誤實際上,在我的同事的計算機中使用R完全相同的確切代碼。我想澄清一下,R版本是相同的(3.1.1),也是一個包。我的IT知識還不足以解決這個問題,但至少我設法運行了我所熱衷的信封代碼。謝謝, – Martina 2014-12-12 17:36:07

+0

根據你的錯誤信息,最有可能的事情是在你運行這個R會話的時候,你要麼用一個名爲envelope的函數來附加另一個包,要麼創建了一個名爲envelope的函數。我很高興它不再是一個問題。 – 2014-12-12 20:03:11

回答

0

的參數ranknrank

此外,示例中顯着性水平與參數nrank之間的關係不正確。對於雙面測試,顯着性水平是alpha = 2 * nrank/(nsim+1),所以nrank= alpha * (nsim+1)/2

您已選擇顯着性水平0.95但我假設你的意思是0.05。所以用nsim=9999你想要nrank=0.05 * 10000/2 = 250得到一個顯着性水平爲0.05的測試。

在這種應用中不需要大量的模擬(9999)。蒙特卡洛測試對於小值​​有效。在你的例子中,我通常會使用nsim=39nrank=1

請參閱the spatstat book的第10章。