簡體   English   中英

如何解決錯誤因素在 R 中的錯誤級別

[英]How to solve error factor has bad level in R

我在R非均勻 G 函數應用於我的點模式時遇到了一些困難。 為了使用GmultiInhom ,我首先嘗試將我的點模式bci.tree8pppa轉換為多類型模式:

bci.tree8multi = ppp(bci.tree8pppa$x, bci.tree8pppa$y, window=owin(c(0,1000), c(0,500)), marks = factor(bci.tree8pppa$marks[,3]))

然后應用G函數如下:

G = GmultiInhom(bci.tree8multi, marks(bci.tree8multi) == species1, marks(bci.tree8multi) == species2, lambdaI = lambda1points, lambdaJ = lambda2points, lambdamin = min(lambda2points), r = c(0,r1,r2,r3))

但這會產生錯誤: "Error in split.default(X, group): factor has bad level"

我該如何解決這個問題? 先感謝您!

為了任何R程序員的利益:我在基礎R系統中的.Internal(split.default(x,f))的 C 源代碼中追蹤了錯誤消息"factor has bad level" 僅當flist而不是factor時,才會出現此錯誤消息。 該代碼使用執行字符串操作的 function interactionf轉換為因子。 這種轉換可能 go 是錯誤的,因為結果因子具有“不良水平”:因子的 integer 表示包括小於 1 或大於因子水平數的值。 然后發生錯誤。

原始帖子沒有提供一個工作示例,因此很難弄清楚spatstat::GmultiInhom中的代碼是如何導致將錯誤類型的數據提供給split.default 但是,它必須與參數r的濫用有關。 spatstat中的代碼將被收緊,以對r的格式執行更嚴格的要求。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM