[解決済み] R線形回帰式の大文字の「I」は何を意味しているのですか?
質問
この質問に対する答えが見つかりません。それは、単独の文字("I"など)を含むものをググると問題が発生することが主な理由です。
このようなモデルにおいて、"I"はどのような役割を担っているのでしょうか?
data(rock)
lm(area~I(peri - mean(peri)), data = rock)
以下のように動作しないことを考慮する。
lm(area ~ (peri - mean(peri)), data = rock)
で、その これ は動作します。
rock$peri - mean(rock$peri)
また、自分で調べる際のキーワードがあれば、とても助かります。
どのように解決するのですか?
I
アイソレート
または
インシュレーション
の中身は
I( ... )
Rの数式解析コードの視線から。これにより、Rの標準的な演算子は、特別な数式演算子として扱われるのではなく、数式の外で使用した場合と同じように動作するようになります。
例えば
y ~ x + x^2
は、Rにとって「くれ」という意味です。
-
x
= の主効果である。x
であり、かつ -
x^2
= の主効果と2次の交互作用がある。x
となります。
意図しない
x
プラス
x
-の2乗です。
> model.frame( y ~ x + x^2, data = data.frame(x = rnorm(5), y = rnorm(5)))
y x
1 -1.4355144 -1.85374045
2 0.3620872 -0.07794607
3 -1.7590868 0.96856634
4 -0.3245440 0.18492596
5 -0.6515630 -1.37994358
これは、以下の理由からです。
^
で説明したように、数式中の特殊な演算子です。
?formula
. を含むだけになってしまいます。
x
が主効果を持つので、モデルフレームに
x
はすでに
x
の項を交差させる必要はありません。
x
の2次相互作用を得るために、この関数と
x^2
という項があります。
通常の演算子を取得するためには
I()
を使用して、数式コードから呼び出しを分離します。
> model.frame( y ~ x + I(x^2), data = data.frame(x = rnorm(5), y = rnorm(5)))
y x I(x^2)
1 -0.02881534 1.0865514 1.180593....
2 0.23252515 -0.7625449 0.581474....
3 -0.30120868 -0.8286625 0.686681....
4 -0.67761458 0.8344739 0.696346....
5 0.65522764 -0.9676520 0.936350....
(最後の列は正しいのですが、ただクラスが
AsIs
.)
あなたの例では
-
を式で使用した場合、次のようになります。
除去
という用語をモデルから削除する必要があります。
-
という通常の二項演算子の意味を持っています。
減算
:
> model.frame( y ~ x - mean(x), data = data.frame(x = rnorm(5), y = rnorm(5)))
Error in model.frame.default(y ~ x - mean(x), data = data.frame(x = rnorm(5), :
variable lengths differ (found for 'mean(x)')
これは、以下の理由で失敗します。
mean(x)
は長さ1のベクトルであり
model.frame()
これは他の変数の長さと一致しないことを正しく伝えています。これを回避する方法は
I()
:
> model.frame( y ~ I(x - mean(x)), data = data.frame(x = rnorm(5), y = rnorm(5)))
y I(x - mean(x))
1 1.1727063 1.142200....
2 -1.4798270 -0.66914....
3 -0.4303878 -0.28716....
4 -1.0516386 0.542774....
5 1.5225863 -0.72865....
したがって、特殊な意味を持つ演算子を式の中で使いたいが、その演算子の
非形式
の意味で、その操作の要素を
I( )
.
読む
?formula
は特殊演算子について、そして
?I
関数自体の詳細については
と
は、データフレーム内でのもう1つの主な使用例です(ここで
AsIs
のビットに由来しています。)
関連
-
[解決済み】xtsオブジェクトでエラー: "antempt to set 'colnames' on the object with less than two dimension "を克服する方法
-
[解決済み】エラー:私のコードで予期しないシンボル/入力/文字列定数/数値定数/SPECIALが発生した
-
[解決済み】model.frame.defaultでのエラー:変数の長さが異なる
-
[解決済み】reshape2 meltの警告メッセージ
-
[解決済み】 boxplotに色を追加する - "離散的なスケールに連続的な値が供給される "エラー
-
[解決済み】 if/while (条件) {: TRUE/FALSEが必要な場所に値がない場合のエラー
-
[解決済み] 線形回帰からp値およびr二乗を取り出す
-
[解決済み] Rの代入演算子"="と"<-"の違いは何ですか?
-
[解決済み] require()とlibrary()の違いは何ですか?
-
[解決済み】data.table vs dplyr:一方がうまくできない、またはうまくできないことを行うことができますか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】"置換する項目数が置換長の倍数でない "と表示されるのはなぜですか?
-
[解決済み】基本 - T-検定 -> グループ化因子は正確に2水準でなければならない
-
[解決済み] 不適合な配列のコードエラー
-
[解決済み】ggplot boxplotでPosition-dodge警告?
-
[解決済み】長いオブジェクトの長さは、短いオブジェクトの長さの倍数ではない?[重複]。
-
[解決済み] テスト
-
[解決済み】 eval(expr, envir, enclos) でのエラー : オブジェクトが見つかりません。
-
[解決済み] na.fail.defaultのエラー:オブジェクトの値が見つからない - しかし、値が見つからないことはありません。
-
[解決済み】seq_alongはうまくいくが、seqが意図しない結果を生む例とは?
-
[解決済み] R式で、y ~ I(x^3) のように冪乗項に I() 関数を使用しなければならないのはなぜですか?