Hatayı çözemiyorum: İki nokta arasındaki (pist uzunluğu) mesafeyi hesaplamaya çalışırken "vektör için yanlış uzunluk 2 olmalıdır" 2 (pist eşikleri/uçları). İşleri daha da kötüleştirmek için R error: Wrong length for a vector, should be 2 gibi yanıtları anlayamıyorum ve bunları benim durumuma uygulayamıyorum. (pist sonu) pozisyonların bir basitleştirilmiş veri çerçevesi şuna benzer: jeosferin dan distHaversine() işlevini kullanarakgeosphere distHaversine() & dplyr - vektör için yanlış uzunluk hatası, 2
runways <- data.frame(
RWY_ID = c(1,2,3)
,RWY = c("36R", "36L","01")
,LAT = c(40.08, 40.12, 40.06)
,LON = c(116.59, 116.57, 116.62)
,LAT2 = c(40.05, 40.07,40.09)
,LON2 = c(116.6, 116.57, 116.61)
)
, mesafeyi hesaplamak için deneyin:
runways <- mutate(runways
, CTD = distHaversine(c(LON, LAT), c(LON2, LAT2))
)
emin değilim neyi Burada yanlış yapıyorum. LON LAT pozisyonunu çıkarırsam, doğru uzunlukta bir sayısal vektördür.
myv <- c(runways$LON[1], runways$LAT[1])
myv
[1] 116.59 40.08
str(myv)
num [1:2] 116.6 40.1
"rowwise" işlevini çalıştırmanız veya tüm satırları bir defada iletmeniz gerekir: "runways%>% rowwise()%>% mutate (CTD = geosphere :: distHaversine (c (LON, LAT), c (LON2, LAT2))) – alistaire
TEŞEKKÜRLER !!! Alistaire ... hayat çok kolay olabilir. Hata mesajını aldığımı varsayalım, sonra vektörize edilmiş yaklaşımın gereken uzunluğu 2'yi aştığını gösterir. – Rainer