私は数字の3D行列を持っていますが、Rはどういうわけか数値データを文字として扱います。ロードするファイルは数値ベクトルです。しかし、それらを3Dベクトルに入れると、すべてのデータ番号は次のように「文字」として表示されます。
[,1] [,2] [,3] [,4] [,5] [,6]
[1,] "3.79" "3.79" "2.33" "2.33" "2.79" "2.79"
[2,] "3.79" "3.79" "2.33" "2.33" "2.79" "2.79"
[3,] "3.02" "3.02" "4.94" "4.94" "4.33" "4.33"
[4,] "3.02" "3.02" "4.94" "4.94" "4.33" "4.33"
[5,] "4.25" "4.25" "4.06" "4.06" "4.98" "4.98"
[6,] "4.25" "4.25" "4.06" "4.06" "4.98" "4.98"
[7,] "4.25" "4.25" "4.06" "4.06" "4.98" "4.98"
[8,] "2.07" "2.07" "2.09" "2.09" "2.92" "2.92"
しかし、3Dマトリックスを挿入する前は、データは次のように表示されます。
[39965] 3.68230769 3.68230769 3.68230769 2.96454545
[39969] 2.96454545 3.93600000 3.93600000 3.93600000
[39973] 3.67769231 3.67769231 3.67769231 5.12750000
[39977] 5.12750000 5.12750000 3.05083333 3.05083333
[39981] 3.05083333 1.94166667 1.94166667 1.69000000
[39985] 1.69000000 1.69000000 2.01769231 2.01769231
[39989] 2.01769231 3.05692308 3.05692308 3.05692308
[39993] 3.72916667 3.72916667 3.72916667 2.65454545
[39997] 2.65454545 2.45583333 2.45583333 2.45583333
これが私のコードです:
for (i in 1: length(precipitation)) {
precip <- read.csv(precipitation[i])
precip[is.na(precip)] <- 0
precip2<- precip[,-1]
precip3<-as.vector(unlist(precip2))
prep_data[,,i]<-matrix(precip3,ncol=200,nrow=200)
}
この問題を修正するためにコーディングを追加することは可能ですか?そのため、すべての3D行列要素は「数値」ではなく数値です。