我有一个数据集,其中每个位置都有57个位置“家”。我还有10个其他位置的“气象站”,这些位置是按距离排名的。然后我有一列,有一个象限,气象站在房屋周围,所以1-4。我正在尝试用R写代码,取最近的气象站,它是象限,然后取下一个最近的气象站在不同的象限,第三个在不同的象限。这样我就有了一个基于最近站点的三角形。
loc station nearness quadrant
1 Abilene-KS SALINA MUNICIPAL AIRPORT 1 2
2 Abilene-KS MARSHALL ARMY AIRFIELD 2 1
3 Abilene-KS MULTI PURPOSE RANGE 3 1
4 Abilene-KS MANHATTAN REGIONAL AIRPORT 4 3
5 Abilene-KS MANHATTAN 6 SSW 5 1
6 Abilene-KS BLOSSER MUNICIPAL AIRPORT 6 4
7 Abilene-KS NEWTON-CITY-COUNTY AIRPORT 7 1
8 Abilene-KS EMPORIA MUNICIPAL AIRPORT 8 2
9 Abilene-KS HUTCHINSON MUNICIPAL ARPT 9 4
10 Abilene-KS COLONEL JAMES JABARA ARPT 10 3
11 Archbold-OH SALINA MUNICIPAL AIRPORT 1 2
12 Archbold-OH MARSHALL ARMY AIRFIELD 2 1
13 Archbold-OH MULTI PURPOSE RANGE 3 3
14 Archbold-OH MANHATTAN REGIONAL AIRPORT 4 1
15 Archbold-OH MANHATTAN 6 SSW 5 4
16 Archbold-OH BLOSSER MUNICIPAL AIRPORT 6 4
17 Archbold-OH NEWTON-CITY-COUNTY AIRPORT 7 2
18 Archbold-OH EMPORIA MUNICIPAL AIRPORT 8 1
19 Archbold-OH HUTCHINSON MUNICIPAL ARPT 9 3
20 Archbold-OH COLONEL JAMES JABARA ARPT 10 2
我希望我可以说我有一些代码来显示我已经尝试过的东西,但是所有的东西都没有给我带来任何好处,所以我迷失了方向。有什么想法吗?
对于这两个位置,我想要一个新的数据框
loc station nearness quadrant
1 Abilene-KS SALINA MUNICIPAL AIRPORT 1 2
2 Abilene-KS MARSHALL ARMY AIRFIELD 2 1
3 Abilene-KS MANHATTAN REGIONAL AIRPORT 4 3
4 Archbold-OH SALINA MUNICIPAL AIRPORT 1 2
5 Archbold-OH MARSHALL ARMY AIRFIELD 2 1
6 Archbold-OH MULTI PURPOSE RANGE 3 3
发布于 2017-08-08 04:17:38
使用dplyr
,您可以执行以下操作:
library(dplyr)
df %>%
distinct(loc,quadrant,.keep_all=T) %>%
group_by(loc) %>%
top_n(-3,nearness)
这将返回:
loc station nearness quadrant
<chr> <chr> <int> <int>
1 Abilene-KS SALINA MUNICIPAL AIRPORT 1 2
2 Abilene-KS MARSHALL ARMY AIRFIELD 2 1
3 Abilene-KS MANHATTAN REGIONAL AIRPORT 4 3
4 Archbold-OH SALINA MUNICIPAL AIRPORT 1 2
5 Archbold-OH MARSHALL ARMY AIRFIELD 2 1
6 Archbold-OH MULTI PURPOSE RANGE 3 3
https://stackoverflow.com/questions/45554857
复制相似问题