转换纬度和经度

KT_*_*T_1 4 r

以下数据框表示纬度和经度小数点坐标.我希望使用+和 - 来显示十进制度是北,南,东还是西(在纬度和经度列中).

因此,如果十进制度为N,则纬度为正.如果十进制度为S,则纬度为负.如果十进制度为E,则经度为正,如果经度为负,则经度为负.十进制度是W.

a <- c(1:3)
Lat <- c(54.5, 55.2, 10.1)
NS <- c("N","N","S")
Long <- c(1.2, 0.5, 1.3)
EW <- c("W","E","W")
df1 <- data.frame(a,Lat,NS,Long,EW)
Run Code Online (Sandbox Code Playgroud)

我怎么会在R?任何建议将不胜感激.

And*_*rie 5

用途ifelse:

df1 <- within(df1, {
             Lat <- ifelse(NS=="N", Lat, -Lat)
             Long <- ifelse(EW=="E", Long, -Long)
})

df1
  a   Lat NS Long EW
1 1  54.5  N -1.2  W
2 2  55.2  N  0.5  E
3 3 -10.1  S -1.3  W
Run Code Online (Sandbox Code Playgroud)

within()用来减少打字的数量.