私は緯度と経度のリストを持っています (各行には、それらの間の線を形成するラベル番号、2 つのポイントが含まれています)。各行の端点の 1 つから、他のすべてによって作成された線までの距離を見つけようとしています。リストの行。geosphere(dist2gc) パッケージと dplyr を使用しています。私はループでそれをやろうとしています (lapply でそれを行う方法がわからないため)、各比較の距離を含む新しい列を作成したい (したがって、10 行から開始する場合は、10 行を比較します) 10 倍し、各行の線までの距離を含む 10 個の新しい列があります)。10x8 の data.frame で開始すると、出力は 10x18 の data.frame になります。
一時列名が機能していません。助けてください!
変数の命名を機能させる方法、またはこれを行うための他のアプローチを考え出すのを手伝ってくれる人はいますか?
dist <- function(df){
idx <- seq(1, nrow(df)) # create index values
namelist <- df[,2] # extract name list for new columns
for (i in idx){
templon <- df[i,3] # pull comparison value point for lat and lon
templat <- df[i,4]
tempcoln <- namelist[i]
df <- mutate(df, !! tempcoln := dist2gc(cbind(Longitude1, Latitude1),
cbind(Longitude2, Latitude2), cbind(templon, templat), r=radius,
sign=FALSE))
}
return(df)
}