我目前正在尝试从R中的数据框中创建正方形(多边形),为了做到这一点(根据guide),我需要一个数据框,其中包含4组成对的点作为它们的lon-lat坐标。
使用此示例:
sample_df <- data.frame(id = c(1,2),
t = c('2020-01-01','2020-01-01'),
intensity = c(1.3,0.6),
x1 = c(113.75,114.00),
x2 = c(114.00,114.25),
y1 = c(8.75,8.75),
y2 = c(9.00,9.00))
身份证 | t | 强度 | x1 | x2 | y1 | y2 |
---|---|---|---|---|---|---|
1 | 2020-01-01 2020-01-01 | 1.3 | 一百一十三点七五 | 一百一十四点 | 8.75 | 九点 |
二 | 2020-01-01 2020-01-01 | 0.6 | 一百一十四点 | 一百一十四点二五 | 8.75 | 九点 |
我想要实现的是创建一个 Dataframe ,该 Dataframe 保留t
和intensity
列,这些列分布到id
列,乘以4对x1 paired to y1
、x2 paired to y1
、x2 paired to y2
和x1 paired to y2
值,作为lon
和lat
列。
预期的输出将是一个 Dataframe ,看起来像这样:
| 身份证|t|强度|隆|后来|
| --------------|--------------|--------------|--------------|--------------|
| 1| 2020-01-01 2020-01-01| 1.3|一百一十三点七五|8.75|
| 1| 2020-01-01 2020-01-01| 1.3|一百一十四点|8.75|
| 1| 2020-01-01 2020-01-01| 1.3|一百一十四点|九点|
| 1| 2020-01-01 2020-01-01| 1.3|一百一十三点七五|九点|
| 二|2020-01-01 2020-01-01| 0.6|一百一十四点|8.75|
| 二|2020-01-01 2020-01-01| 0.6|一百一十四点二五|8.75|
| 二|2020-01-01 2020-01-01| 0.6|一百一十四点二五|九点|
| 二|2020-01-01 2020-01-01| 0.6|一百一十四点|九点|
我目前被卡住了,但我正在玩dplyr
包的mutate()
功能,或reshape2
的melt()
。
我将非常感谢你的投入。
2条答案
按热度按时间aydmsdu91#
这是我相信的2个整形/枢轴:
lon
变量是正确的-* tibles * 的打印方法确实很奇怪,但是分别将(113.75
或114.25
)和114.0
显示为114.
和114
。brgchamk2#
我将
unnest
anested
tibble
(这通常是一种进行组合的惊人方法):创建于2023-05-04使用reprex v2.0.2