如何解决这段 r 代码是连接两个表并创建一个图吗?
airports %>%
semi_join(flights,c("faa" = "dest")) %>%
ggplot(aes(lon,lat))+
geom_point()
解决方法
如果你被一段代码弄糊涂了,把它分解成更小的步骤,看看每一行做了什么。如果您不了解某些功能,可在 ?function_name
(示例 - ?semi_join
)找到其文档。
数据集 airports
和 flights
似乎来自包 nycflights13
。加载运行代码所需的库。
library(dplyr)
library(nycflights13)
library(ggplot2)
semi_join
保留两个数据集之间匹配的公共行。连接数据集的要匹配的列是 faa
中的 airports
和 dest
中的 flights
。如果您不知道 join 是如何工作的,请举一个较小的示例并在其上尝试此代码。您还可以查看 How to join (merge) data frames (inner,outer,left,right) 以了解不同连接函数的一般说明。
airports %>% semi_join(flights,c("faa" = "dest"))
# faa name lat lon alt tz dst tzone
# <chr> <chr> <dbl> <dbl> <dbl> <dbl> <chr> <chr>
# 1 ABQ Albuquerque International Sunport 35.0 -107. 5355 -7 A America/Denver
# 2 ACK Nantucket Mem 41.3 -70.1 48 -5 A America/New_York
# 3 ALB Albany Intl 42.7 -73.8 285 -5 A America/New_York
# 4 ANC Ted Stevens Anchorage Intl 61.2 -150. 152 -9 A America/Anchorage
# 5 ATL Hartsfield Jackson Atlanta Intl 33.6 -84.4 1026 -5 A America/New_York
# 6 AUS Austin Bergstrom Intl 30.2 -97.7 542 -6 A America/Chicago
# 7 AVL Asheville Regional Airport 35.4 -82.5 2165 -5 A America/New_York
# 8 BDL Bradley Intl 41.9 -72.7 173 -5 A America/New_York
# 9 BGR Bangor Intl 44.8 -68.8 192 -5 A America/New_York
#10 BHM Birmingham Intl 33.6 -86.8 644 -6 A America/Chicago
# … with 91 more rows
运行代码后,上面的数据框是用 ggplot2
库绘制的,其中 x 轴是 lon
,y 轴是 lat
。它使用 geom_point
绘制散点图。
airports %>%
semi_join(flights,c("faa" = "dest")) %>%
ggplot(aes(lon,lat))+
geom_point()
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。