1
Rでformula
をテストして、ユーザーがformula
で代行受信を指定したかどうかを確認したいとします。現在私はこのために関数terms
を使用しています。私は、所望の出力不一致の式を確認する方法R
terms(y ~ x) #found an intercept
terms(y ~ 1 + x) #found an intercept
terms(y ~ 0 + x) #found no intercept
terms(y ~ -1 + x) #found no intercept
を取得しかし場合には、ユーザが矛盾入力を与える次のような場合において、Iは、インターセプトの仕様約terms
から(IMO任意)結果を得ます。私が実際に欲しい
terms(y ~ -1 + 1 + x) #found an intercept
terms(y ~ 1 - 1 + x) #found no intercept
terms(y ~ 0 + 1 + x) #found an intercept
terms(y ~ 1 + 0 + x) #found no intercept
は、これらの場合にエラーまたは警告をスローするterms
です。これはterms
で可能ですか?(正規表現などを介して) "手動で"一貫性のチェックを行う必要がありますか?
ありがとう@ g-grothendieck、私は厳しくなりたくはありませんが、あなたの答えは私の質問に答えることができません(そして、新しい洞察を与えません)。私は矛盾をチェックしたいと思います。これが問題の核心です。しかし、私は自分のルールを考慮しないようにあなたのアドバイスを取る。 – Qaswed
しかし、矛盾はありません。あなたはそれがどのように動作するかを理解すると、そのようなことがあるという疑問の仮定は間違っています。 –
@Qaswed G.Grothendieckが言っているように、矛盾はなく、 'R'は' y〜1 + x'と同様に 'y〜0 + 1 + x'を' lm'、 'glm'すべて同じでなければならないようなものです。 – Consistency