由于未定义对象名称而发生错误
data %>%
filter('region' != "Antarctica")
Error in UseMethod("filter") :
no applicable method for 'filter' applied to an object of class "function"
而data默认是function(检查?data),它加载指定的数据集,其用法是
data(iris)
head(iris)
OP 可能想先从csv 或excel 文件中读取数据
dat1 <- read.csv('file.csv')
dat1 %>%
filter(region != "Antarctica")
请注意,我们不需要在列名周围加上引号
根据更新,使用的数据是clean_flights而不是clean_flight
library(ggplot2)
data1 <- map_data('world')
library(readr)
library(dplyr)
airports <- read_csv("https://raw.githubusercontent.com/sjfox/sjfox.github.io/master/post/data/flights/airports.csv",
col_names = c("id", "name", "city", "country", "iata", "icao", "lat", "long",
"alt", "tz", "dst", "tz2", "type", "source"), na = c("\\N"))
flights <- read_csv("https://raw.githubusercontent.com/sjfox/sjfox.github.io/master/post/data/flights/routes.csv",
col_names = c("airline", "id", "src_airport", "src_airport_id", "dest_airport",
"dest_airport_id", "codeshare", "stops", "equip"), na = c("\\N"))
airports <- airports %>% select(id, lat, long)
flights <- flights %>% select(src_airport_id, dest_airport_id) %>%
filter(!is.na(src_airport_id) & !is.na(dest_airport_id))
clean_flights <- flights %>%
left_join(airports, by = c("src_airport_id" = "id")) %>%
rename(src_lat=lat, src_long=long) %>%
left_join(airports, by = c("dest_airport_id" = "id")) %>%
rename(dest_lat=lat, dest_long=long) %>%
filter(src_airport_id != dest_airport_id) %>%
mutate(ordered_pair = if_else(src_airport_id > dest_airport_id,
paste0(dest_airport_id,src_airport_id),
paste0(src_airport_id,dest_airport_id))) %>%
filter(!duplicated(ordered_pair)) %>%
mutate(is_europe = if_else(dest_lat < 60 & dest_lat > 25 & src_lat < 60 & src_lat > 10 &
dest_long < 50 & dest_long > -15 & src_long < 50 & src_long > -15, TRUE,FALSE)) %>%
filter(!is.na(is_europe))
data1 %>% filter(region != "Antarctica") %>%
ggplot(aes(long, lat, group=group)) +
geom_polygon(fill="black", color ="white", size=0.15) +
geom_curve(data = clean_flights, aes(x=src_long, xend=dest_long,
y=src_lat, yend=dest_lat),
alpha=0.25, size=0.05,
color="white", inherit.aes=FALSE)+
theme_void() +
theme(plot.background=element_rect(fill="black"), legend.position="none") +
coord_equal()
-输出