私のデータフレームをループするforループを作成しようとしていて、doubleであるAcquisitionTime
に対してすべてのカラムの線形回帰を実行しています。すべての列の長さは同じです。最終的には、forループの代わりにapply関数の1つを使用したいが、私はrで本当に新しいので、apply関数は私には意味がない。このエラーの原因となっている何リニア回帰を行うときにrの "Variable Length Differ"エラーを修正する方法
Error in model.frame.default(formula = i ~ AcquisitionTimes, data = raw_data,:
variable lengths differ (found for 'AcquisitionTimes')
:私はこのコードを実行すると
##pdf("ROIs_vs_AcquisitionTime_lm.pdf")
x = 0
for (i in names(raw_data)){
if(x > 9){
fit <- lm(i ~ AcquisitionTimes, data = raw_data)
##print(ggplotRegression(fit))
}
x <- x + 1
}
##dev.off()
私はこのエラーを取得しますか?私はraw_dataという名前の他のデータフレームがあるかどうかを調べましたが、私はそうしませんでした。私はRのオブジェクトをクリアして、それが役立つかどうかを確認しました。私が読んだところでは、これは変数AcquisitionTimes
がデータフレームに存在しないか、またはデータのどこかに同じ変数名があるためです。これまで私は何も発見していない。
になります。 – Chriscross
恐ろしい、ありがとう@Chriscross実際には、リンクの代わりにデータを共有するために 'dput()'を使うことをお勧めしますが、今回は心配しないでください。 –
私が見ることができる1つの問題は、lm(i〜AcquisitionTimes、data = raw_data)です。これがうまくいかない理由は、 'i'がここの文字列であり、残りの式の形式と異なるからです。 'lm(paste(i、"〜AcquisitionTimes ")、data = raw_data)'を実行することで、これを修正できます。 – jav