[解決済み] R - エラー "変数の長さが異なる"
2022-01-29 02:34:47
質問
> #transforming length of time
> transLOT<-log(LengthofTimemin)
>
> #checking for outliers
> fit<-lm(transLOT~DielEnd+TideEnd+TideStart+Moonphase+TideStart*Moonphase, data=resdata)
> outlierTest(fit)
rstudent unadjusted p-value Bonferonni p
295 4.445284 1.1025e-05 0.0052808
>
> #getting rid of the outlier data in row 295
> rdata<-resdata[-295, ]
> print(rdata[294:296,5:10])
# A tibble: 3 × 6
DepartureDate DepartureTime LengthofTime LengthofTimemin EventLengthCategories
<dttm> <dttm> <dttm> <dbl> <chr>
1 2016-09-19 1899-12-30 23:46:46 1899-12-30 00:05:49 5.816667 5-15
2 2016-09-20 1899-12-30 01:55:28 1899-12-30 00:01:20 1.333333 <5
3 2016-09-20 1899-12-30 04:07:28 1899-12-30 00:01:21 1.350000 <5
> newfit<-lm(transLOT~DielEnd+TideEnd+TideStart+Moonphase+TideStart*Moonphase, na.action=na.exclude, data=rdata)
Error in model.frame.default(formula = transLOT ~ DielEnd + TideEnd + :
variable lengths differ (found for 'DielEnd')
> #now all of a sudden the variable lengths differ
データの行を削除することで問題が発生することは理解していますが、na.excludeで説明できるものと思っていました。徹底的に検索しても、なぜこのエラーが発生するのかが判断できません。
解決方法を教えてください。
これは、最初のステップで、データ・フレームの外側に別の変数を作成したために起こります。
transLOT<-log(LengthofTimemin)
. データから行を削除すると
transLOT
は変更されません。長さの違いよりもさらに悪いのは、データがこれ以上並ばないことです。長さの違いを無視した場合、削除した行の後の応答と比較すると、データの行は "1つずれている" ことになります。
単純な解決策は
transLOT
という変数をデータフレーム内に作成します。そして、データに対して何か(行を削除するなど)するたびに、同じことが
transLOT
.
resdata$transLOT <- log(resdata$LengthofTimemin)
なお、私は
resdata$LengthofTimemin
よりも
LengthofTimemin
というのは、あなたのワークスペースにあるようです。あなたは
attach()
を、どこかで見たことがありませんか?を使うべきではありません。
attach
というのは、まさにこの理由からです。変数はデータフレームの中に入れておきましょう
関連
-
[解決済み】R:関数に有限な'ylim'値が必要
-
[解決済み】knitrのドキュメントでinstall.packagesが失敗する。"ミラーを設定せずにCRANを使おうとしている"
-
[解決済み】model.frame.defaultでのエラー:変数の長さが異なる
-
[解決済み】値を置き換えようとすると、"データフレームの添え字の割り当てで欠損値は許可されない"
-
[解決済み】Rで立方根と対数変換をする
-
[解決済み】Rのメモリ管理/サイズn Mbのベクトルを割り当てられない
-
[解決済み】Rで結果の行数がベクトル長(arg 2)の倍数でない件
-
[解決済み】Rでのデータ操作。'X'はアトミックでなければならない
-
[解決済み】R4DSのエラー比較(1)は、アトミック型とリスト型でのみ可能です
-
[解決済み】Rで相対的な頻度をプロットするためにhistをどのように使用しますか?
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】エラー。Rの次元数が正しくない
-
[解決済み】ベースグラフィックスでプロットエリアの外側に凡例をプロットする?
-
[解決済み】RでのMLEエラー:'vmmin'の初期値が有限でない
-
[解決済み】ggplot boxplotでPosition-dodge警告?
-
[解決済み】「'dimnames' [1]の長さが配列の範囲と等しくない」とはどういう意味ですか?
-
[解決済み】長いオブジェクトの長さは、短いオブジェクトの長さの倍数ではない?[重複]。
-
[解決済み】Rで文字ベクトルから引用符を削除する
-
[解決済み] ヒートマップ作成時のエラー - 外部関数呼び出しでNA/NaN/Inf (arg 11)
-
[解決済み】 .subset2(x, i, exact = exact)のエラー:Rの添え字が範囲外である。
-
[解決済み】起動時にパーをデフォルト値にリセットする方法