【发布时间】:2023-12-27 05:56:01
【问题描述】:
我使用代码形成了以下数据
test <- data.frame(dis = c(10,20,30,40),dur=c(30,40,60,90),method=c("car","car","Bicycle","Bicycle"),to_lon=c(-1.980,-1.5678,-1.324,-1.456),to_lat=c(55.3009,55.3416,55.1123,55.2234),from_lon=c(-1.4565,-1.3424,-1.4566,-1.1111),from_lat=c(76.8888,65.8999,76.9088,25.3344))
dis dur method to_lon to_lat from_lon from_lat
1 10 30 car -1.9800 55.3009 -1.4565 76.8888
2 20 40 car -1.5678 55.3416 -1.3424 65.8999
3 30 60 Bicycle -1.3240 55.1123 -1.4566 76.9088
4 40 90 Bicycle -1.4560 55.2234 -1.1111 25.3344
我想转换这个数据框,使它有一行用于 to_lat 和 to_lon,而在下一行它有 from_lat 和 from_lon。其余细节无需更改,可以复制。期望的结果应该如下所示
dis dur method longitude latitude
from 10 30 car -1.98 55.3009
to 10 30 car -1.4565 76.8888
from 20 40 car -1.5678 55.3416
to 20 40 car -1.3424 65.8999
from 30 60 Bicycle -1.324 55.1123
to 30 60 Bicycle -1.4566 76.9088
from 40 90 Bicycle -1.456 55.2234
to 40 90 Bicycle -1.1111 25.3344
任何帮助将不胜感激。
谢谢。
【问题讨论】:
-
除了@akrun 的回答,请查看此页面以获取
reshape2和tidyr解决方案(给定您的标签):cookbook-r.com/Manipulating_data/… -
好吧,我还没有找到任何有用的东西来转换上面提到的所需数据。有什么想法吗?
标签: r transform reshape2 tidyr