[解決済み】'NULL'型の非(リストまたはベクトル)に適用されるis.na()は何を意味するのか?
質問
NAがないdata.frameからforward procedureでCoxモデルを選択したいのですが、どうすればよいですか?以下はサンプルデータです。
test <- data.frame(
x_1 = runif(100,0,1),
x_2 = runif(100,0,5),
x_3 = runif(100,10,20),
time = runif(100,50,200),
event = c(rep(0,70),rep(1,30))
)
このテーブルには何の意味もないが、とにかくモデルを作ろうとすると.
modeltest <- coxph(Surv(time, event) ~1, test)
modeltest.forward <- step(
modeltest,
data = test,
direction = "forward",
scope = list(lower = ~ 1, upper = ~ x_1 + x_2 + x_3)
)
フォワードは最初のステップで終わり、こう言います。
in is.na(fit$coefficients) : is.na() は 'NULL' 型の非 (リストまたはベクトル) に適用されます。
(3回)
上位機種を変更しようと、さらに
upper = ~ 1
が、警告が出たままです。理解できません。NAはなく、ベクターはすべて数値です(確認済み)。
同じ問題を持つ人がいるかどうか検索しましたが、私が見つけることができたのは、ベクトルの名前またはクラスによる問題だけでした。
私のコードのどこが問題なのでしょうか?
どうすればいいですか?
具体的な事例での問題点
あなたの計算式の右側は
1
になる、つまり
ヌルモデル
.
coxph
コール
coxph.fit
これは、(おそらく怠惰にも)ヌルモデルの係数をわざわざ返さない。
その後
coxph
コール
extractAIC
という名前の要素がモデルオブジェクトに含まれていると誤って仮定してしまいます。
coefficients
.
一般的な場合
is.na
は入力引数が原子ベクトルか行列かリストかdata.frameであると仮定しています。 それ以外のデータ型では警告が発生します. この現象は
NULL
は、ご覧の通りです。
is.na(NULL)
## logical(0)
## Warning message:
## In is.na(NULL) : is.na() applied to non-(list or vector) of type 'NULL'
この問題のよくある原因は、存在しないリストの要素やデータフレームのカラムにアクセスしようとすることです。
d <- data.frame(x = c(1, NA, 3))
d$y # "y" doesn't exist is the data frame, but NULL is returned
## NULL
is.na(d$y)
## logical(0)
## Warning message:
## In is.na(d$y) : is.na() applied to non-(list or vector) of type 'NULL'
操作する前にカラムが存在するかどうかをチェックすることで、この問題を防ぐことができます。
if("y" in colnames(d))
{
d2 <- d[is.na(d$y), ]
}
他のデータ型での警告
数式、関数、式などでも同様の警告が表示されます。
is.na(~ NA)
## [1] FALSE FALSE
## Warning message:
## In is.na(~NA) : is.na() applied to non-(list or vector) of type 'language'
is.na(mean)
## [1] FALSE
## Warning message:
## In is.na(mean) : is.na() applied to non-(list or vector) of type 'closure'
is.na(is.na)
## [1] FALSE
## Warning message:
## In is.na(is.na) : is.na() applied to non-(list or vector) of type 'builtin'
is.na(expression(NA))
## [1] FALSE
## Warning message:
## In is.na(expression(NA)) :
## is.na() applied to non-(list or vector) of type 'expression'
関連
-
[解決済み】"置換する項目数が置換長の倍数でない "と表示されるのはなぜですか?
-
[解決済み】エラー:'dimnames' [2]の長さが配列の範囲と等しくない [終了しました]
-
[解決済み】'builtin'型のオブジェクトはsubsetableではない【重複
-
[解決済み】x[[i]]でのエラー:レベル2で再帰的インデックス作成に失敗した
-
[解決済み】Rエラー。"新しい列は既存の列の後に穴を空ける"
-
[解決済み】rbind(deparse.level, ...)でエラー:引数の列の数がRにマッチしていない
-
[解決済み】RでAIC中に行数が変化するのはなぜですか?そうならないようにするにはどうしたらいいですか?
-
[解決済み】ggplot2でのプロット:「Error: カテゴリ軸のY軸に "Discrete value supplied to continuous scale "と表示される。
-
[解決済み】Rで相対的な頻度をプロットするためにhistをどのように使用しますか?
-
[解決済み】'NULL'型の非(リストまたはベクトル)に適用されるis.na()は何を意味するのか?
最新
-
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水準でなければならない
-
[解決済み】添え字付き代入でNAを使用することはできません
-
[解決済み】Rで立方根と対数変換をする
-
[解決済み】ggplot boxplotでPosition-dodge警告?
-
[解決済み】R Markdown - html出力でフォントサイズとフォントタイプを変更する
-
[解決済み】Rの整数オーバーフローとは何ですか、そしてどのように起こるのですか?
-
[解決済み】 if/while (条件) {: TRUE/FALSEが必要な場所に値がない場合のエラー
-
[解決済み】Rでのデータ操作。'X'はアトミックでなければならない
-
[解決済み】Rで、Error: ggplot2 doesn't know how to handle of data of class numericに対処する。
-
[解決済み】行列式で「数値/複雑な行列/ベクトルの引数を必要とする」というエラーが発生する?