Hurricane parçalarını çizmek için HURDAT veri kümesinde çalışıyorum. Şu anda yıl 2004.SpatialPointsDataFrame'i SpatialLinesDataFrame ürününe dönüştürün R
> str(cluster.2004.sdf)
Formal class 'SpatialPointsDataFrame' [package "sp"] with 5 slots
[email protected] data :'data.frame': 2693 obs. of 4 variables:
.. ..$ Sid : int [1:2693] 1331 1331 1331 1331 1331 1331 1331 1331 1331 1331 ...
.. ..$ clusterid: num [1:2693] 2 2 2 2 2 2 2 2 2 2 ...
.. ..$ name : Factor w/ 269 levels "","ABBY ",..: 6 6 6 6 6 6 6 6 6 6 ...
.. ..$ WmaxS : num [1:2693] 78.9 82.8 80.9 70.9 76.9 ...
[email protected] coords.nrs : num(0)
[email protected] coords : num [1:2693, 1:2] 754377 612852 684956 991386 819565 ...
.. ..- attr(*, "dimnames")=List of 2
.. .. ..$ : NULL
.. .. ..$ : chr [1:2] "lon" "lat"
[email protected] bbox : num [1:2, 1:2] -3195788 1362537 4495870 9082812
.. ..- attr(*, "dimnames")=List of 2
.. .. ..$ : chr [1:2] "lon" "lat"
.. .. ..$ : chr [1:2] "min" "max"
[email protected] proj4string:Formal class 'CRS' [package "sp"] with 1 slots
.. .. [email protected] projargs: chr "+proj=lcc +lat_1=60 +lat_2=30 +lon_0=-60 +ellps=WGS84"
> summary(cluster.2004.sdf)
Object of class SpatialPointsDataFrame
Coordinates:
min max
lon -3195788 4495870
lat 1362537 9082812
Is projected: TRUE
proj4string :
[+proj=lcc +lat_1=60 +lat_2=30 +lon_0=-60 +ellps=WGS84]
Number of points: 2693
Data attributes:
Sid clusterid name WmaxS
Min. :1331 Min. :1.000 IVAN :517 Min. : 14.83
1st Qu.:1334 1st Qu.:2.000 FRANCES :403 1st Qu.: 31.35
Median :1337 Median :3.000 JEANNE :379 Median : 50.04
Mean :1337 Mean :2.898 KARL :283 Mean : 61.66
3rd Qu.:1339 3rd Qu.:4.000 DANIELLE :271 3rd Qu.: 90.40
Max. :1341 Max. :4.000 BONNIE :253 Max. :142.52
(Other) :587
Her fırtına "Sid" etiketli eşsiz bir fırtına kimliği referansı vardır için şuna benzer R bir SpatialPointsDataFrame nesnesi ürettiler. SpatialPointsDataFrame öğesini "Sid" ile gruplamak ve tüm noktaları bir Satıra dönüştürmek istiyorum.
Plyr paketinden ddply ile devam ettim, ama ne yaptığımı bilmiyorum. Bunu, veri çerçevesindeki her satırın bir döngüsünde döngü yaparak ve bir listeye koordinat ekleyerek ve ardından sp listesinden Satırlar işlevini kullanarak bu listeyi dönüştürerek yapabilirim. Bununla birlikte, daha fazla R dönüşümünü tercih ederim. Teşekkür Richard
Tüm "R yolları":
sqldf
- Gerçi gruba orijinalSpatialPointDataFrame
fro bazı diğer verileri gerekiyorsa,,tapply
gibiaggregate
bazı gruplama işlevlerini kullanın, ya da benim favori kullanmak zorunda ama bölmeyi (x, id) bir başlangıç olarak kullanabilirsiniz. Daha önemli olan, basit (muhtemelen) veya karmaşık çizgiler isteyip istemediğiniz. Her benzersiz kimlik için bir veri satırı satırı mı istiyorsunuz? (basit) – mdsumner