首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >对R中的两个变量进行过滤

对R中的两个变量进行过滤
EN

Stack Overflow用户
提问于 2017-08-08 04:04:01
回答 1查看 49关注 0票数 0

我有一个数据集,其中每个位置都有57个位置“家”。我还有10个其他位置的“气象站”,这些位置是按距离排名的。然后我有一列,有一个象限,气象站在房屋周围,所以1-4。我正在尝试用R写代码,取最近的气象站,它是象限,然后取下一个最近的气象站在不同的象限,第三个在不同的象限。这样我就有了一个基于最近站点的三角形。

代码语言:javascript
运行
复制
    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

我希望我可以说我有一些代码来显示我已经尝试过的东西,但是所有的东西都没有给我带来任何好处,所以我迷失了方向。有什么想法吗?

对于这两个位置,我想要一个新的数据框

代码语言:javascript
运行
复制
    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
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-08-08 04:17:38

使用dplyr,您可以执行以下操作:

代码语言:javascript
运行
复制
library(dplyr)
df %>% 
distinct(loc,quadrant,.keep_all=T) %>%
group_by(loc) %>%
top_n(-3,nearness)

这将返回:

代码语言:javascript
运行
复制
          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
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45554857

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档