【发布时间】:2021-07-01 01:10:14
【问题描述】:
我有一张这样的桌子
aa<-tribble(
~"a",~"b",~"c",~"d",
" 78.1445111, 9.9365072", "78.1444646, 9.9365044", " 78.1445111, 9.9365072", "78.1444646, 9.9365044",
"78.1444197, 9.9365166", "78.1443816, 9.9365422",
"78.142359, 9.9365748", "78.1421918, 9.9366057",
"78.1421918, 9.9366057", "78.1419488, 9.9367106",
"78.1444197, 9.9365166", "78.1443816, 9.9365422",
"78.142359, 9.9365748", "78.1421918, 9.9366057",
"78.1421918, 9.9366057", "78.1419488, 9.9367106",
)
这些是“经纬度”值。我想将它们转换为“long, lat”。例如,我想将“78.1445111, 9.9365072”转换为“9.9365072,78.1445111”。是否可以在 r 中对所有列进行自动化处理?
我希望在所有列中都有这样的输出:
a<- tribble(
~"a",~"b",~"c",~"d",
"9.9365072,78.1445111", "9.9365044,78.1444646,", "9.9365072,78.1445111", "9.9365044,78.1444646,",
"9.9365166,78.1444197", "9.9365422,78.1443816",
"9.9365748,78.142359", "9.9366057,78.1421918",
"9.9366057,78.1421918", "9.9367106,78.1419488",
"9.9365166,78.1444197", "9.9365422,78.1443816",
"9.9365748,78.142359", "9.9366057,78.1421918",
"9.9366057,78.1421918", "9.9367106,78.1419488"
)
我尝试过,但失败了:
bag_1<-list()
for(i in colnames(a)){
dummy <-str_split_fixed(a[[i]], ",", 2)
bag_1[[i]]<-dummy
dum<-do.call(rbind,bag_1)
}
【问题讨论】:
标签: r tidyverse stringr strsplit csv