私のデータフレームには文字列があります。私は自分自身で作成した関数を使って、既存の文字列から新しい列を作成したいと思います。適用ファミリを使用して新しい列を作成
My機能
lat_finder <- function(coord){
return(as.numeric(substr(strsplit(coord,",")[[1]][1],2,10)))}
テストデータフレーム私はこの
test['Lat'] <- lapply(test['loc'],lat_finder)
結果をしようとしている
test <- data.frame('loc' = c("(37.7862913318072, -122.401375181471)","(37.7646938184545, -122.449439257453)","(37.7860078381928, -122.430650176965)"))
は新しい列ですが、関数の結果だけで最初の行、つまり最初のlatは37.786 ...となります。これは新しい列のすべての行の値です。私は前にこの操作をしたようにforループが動作することを知っていますが、かなり時間がかかりますので、これを高速化したいと思っています。私はここに何かが欠けていることは明らかだと思うので、修正に加えて、自分のコードが何をしているのかについての説明に感謝する。
です。注:元の投稿では、私が間違って作業していたデータフレーム全体を参照しました。それはlapply(test ['loc'] ....)になっていて、修正されているはずです。 – maxo