2017-09-16 38 views
-1

嵌套子集在疏通(牧民封裝)我想爲了使用「子集」,以排除任何模型變量A相結合的B中的一個,C或D我試圖生成在疏通

library(MuMIn) dg <- dredge (global.model, subset = !("A"&c("B","C","D"))

其結果與 dg <- dredge (global.model, subset = !("A"&"B")相同,因此僅將包含A和B的模型排除在外。有沒有辦法用變量名稱向量提供子集?

我當然可以使用subset=!(A&B)|!(A&C)|!(A&D) - 但是我寧願使用「排除向量」。

回答

0

最簡單的表達方式可能是 subset = !A | !sum(B, C, D)。它與!A | !(B | C | D)的結果相同。

+0

謝謝您的建議。我改成了'subset =!(A&sum(B,C,D))',它工作。 您的代碼完全從分析中排除變量。也許你可以更新你的答案? 作爲打頂:我可以添加像「!B&C」這樣的第二個子集嗎? – yenats

+0

我想,我找到了一個方法:'子集=(A&總和(B,C,d))&&(B&C))' 只是爲了理解對不對:這是否意味着 - 包含一個排除模式和至少一個! B,C,D 和 - 排除同時包含B,C的模型? – yenats

+0

'!(A&總和(B,C,d))'是有效相同我的示例(未x或不Ý==不(x和y))。另外,您可以使用sum(B,C,D) N'來設置最小數量的變量。 '* nvar *'特殊變量對此也很有用。 –