現在、米国の No2 排出量データを整理しています。データの形式は次のようになります。
lat long no2
xxx xxx xxx
xxx xxx xxx
xxx xxx xxx
しかし、最終的に欲しいのは、行名として緯度、列名として経度を持つデータマトリックスです。
long1 long2 long3 ...
lat1 xxxx xxxx xxxx
lat2 xxxx xxxx xxxx
lat3 xxxx xxxx xxxx
...
また、上記のマトリックスの各セルに必ずしもデータがあるとは限らないため、「0」とマークされたデータが欠落している場所が必要です。
私が以前にしたことは次のとおりです。
one <- read.table(files[1], header = TRUE, sep = ",")
one <- one[,1:3]
row_name <- seq(25.05,49.95, by = 0.1)
col_name <- seq(-124.95, -65.05, by = 0.1)
a <- matrix(0, length(row_name), length(col_name))
data_matrix <- data.frame(a)
row.names(data_matrix) <- row_name
names(data_matrix) <- col_name
for (i in 1: dim(one)[1]){
lat <- as.character(one[i,]$lat)
long <- as.character(one[i,]$long)
data_matrix[lat,long] <- one[i,]$no2
}
基本的に私が行ったことは、マトリックス全体を調べてセルごとに空白を埋めることだったので、この方法は明らかに遅くて非効率的です。
誰かがこれを解決するのを手伝ってくれたら本当にありがたいです!