1

現在、米国の 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 
}    

基本的に私が行ったことは、マトリックス全体を調べてセルごとに空白を埋めることだったので、この方法は明らかに遅くて非効率的です。

誰かがこれを解決するのを手伝ってくれたら本当にありがたいです!

4

1 に答える 1