大気質データを含むデータセットがあります。データフレームは、153行5列のマトリックスです。このデータフレームの最初の列の平均を見つけたいと思います。列に欠落している値があるので、平均を見つける際にそれらを除外したいと思います。そして最後に、制御構造(forループとif-elseループ)を使用してそれを実行したいと思います
以下のようなコードを書いてみました。再現可能な例を示すために、実際の大気質データセットの代わりに「y」を作成しました。
y <- c(1,2,3,NA,5,6,NA,NA,9,10,11,NA,13,NA,15)
x <- matrix(y,nrow=15)
for(i in 1:15){
if(is.na(data.frame[i,1]) == FALSE){
New.Vec <- c(x[i,1])
}
}
print(mean(New.Vec))
出力は平均であると予想しました。私が受け取ったエラーはこれですが:
エラー:オブジェクト 'New.Vec'が見つかりません
あなたのデータを見ることができませんが、おそらくこのように?ベクトルを初期化する必要がありました。可能であれば、Rのループを回避することをお勧めします...
myDataFrame <- read.csv("hw1_data.csv")
New.Vec <- c()
for(i in 1:153){
if(!is.na(myDataFrame[i,1])){
New.Vec <- c(New.Vec, myDataFrame[i,1])
}
}
print(mean(New.Vec))
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加