library(tidyverse)
## Warning: package 'tidyverse' was built under R version 4.0.3
## -- Attaching packages --------------------------------------- tidyverse 1.3.0 --
## v ggplot2 3.3.2 v purrr 0.3.4
## v tibble 3.0.3 v dplyr 1.0.2
## v tidyr 1.1.1 v stringr 1.4.0
## v readr 1.3.1 v forcats 0.5.0
## -- Conflicts ------------------------------------------ tidyverse_conflicts() --
## x dplyr::filter() masks stats::filter()
## x dplyr::lag() masks stats::lag()
# set variables
csv_url <- "https://oceanview.pfeg.noaa.gov/erddap/tabledap/cciea_AC.csv"
dir_data <- "data"
# derived variables
csv <- file.path(dir_data, basename(csv_url))
# create directory
dir.create(dir_data)
## Warning in dir.create(dir_data): 'data' already exists
# download file
download.file(csv_url, csv)
read.csv()
# attempt to read csv
d <- read.csv(csv)
# show the data frame
d
## time consumption_fish consumption_per_cap cps_landings_ca
## 1 UTC Millions of metric tons kg 1000s metric tons
## 2 1945-01-01T00:00:00Z NaN NaN NaN
## 3 1946-01-01T00:00:00Z NaN NaN NaN
## 4 1947-01-01T00:00:00Z NaN NaN NaN
## 5 1948-01-01T00:00:00Z NaN NaN NaN
## 6 1949-01-01T00:00:00Z NaN NaN NaN
## 7 1950-01-01T00:00:00Z NaN NaN NaN
## 8 1951-01-01T00:00:00Z NaN NaN NaN
## 9 1952-01-01T00:00:00Z NaN NaN NaN
## 10 1953-01-01T00:00:00Z NaN NaN NaN
## cps_landings_coastwide cps_landings_or cps_landings_wa cps_revenue_ca
## 1 1000s metric tons 1000s metric tons 1000s metric tons Millions $ (year 2015)
## 2 NaN NaN NaN NaN
## 3 NaN NaN NaN NaN
## 4 NaN NaN NaN NaN
## 5 NaN NaN NaN NaN
## 6 NaN NaN NaN NaN
## 7 NaN NaN NaN NaN
## 8 NaN NaN NaN NaN
## 9 NaN NaN NaN NaN
## 10 NaN NaN NaN NaN
## cps_revenue_coastwide cps_revenue_or cps_revenue_wa crab_landings_ca
## 1 Millions $ (year 2015) Millions $ (year 2015) Millions $ (year 2015) 1000s metric tons
## 2 NaN NaN NaN NaN
## 3 NaN NaN NaN NaN
## 4 NaN NaN NaN NaN
## 5 NaN NaN NaN NaN
## 6 NaN NaN NaN NaN
## 7 NaN NaN NaN NaN
## 8 NaN NaN NaN NaN
## 9 NaN NaN NaN NaN
## 10 NaN NaN NaN NaN
## crab_landings_coastwide crab_landings_or crab_landings_wa crab_revenue_ca
## 1 1000s metric tons 1000s metric tons 1000s metric tons Millions $ (year 2015)
## 2 NaN NaN NaN NaN
## 3 NaN NaN NaN NaN
## 4 NaN NaN NaN NaN
## 5 NaN NaN NaN NaN
## 6 NaN NaN NaN NaN
## 7 NaN NaN NaN NaN
## 8 NaN NaN NaN NaN
## 9 NaN NaN NaN NaN
## 10 NaN NaN NaN NaN
## crab_revenue_coastwide crab_revenue_or crab_revenue_wa fertilizer_applications
## 1 Millions $ (year 2015) Millions $ (year 2015) Millions $ (year 2015) Normalized index
## 2 NaN NaN NaN -1.8674945
## 3 NaN NaN NaN -1.7984143
## 4 NaN NaN NaN -1.7190671
## 5 NaN NaN NaN -1.639943
## 6 NaN NaN NaN -1.6148859
## 7 NaN NaN NaN -1.598818
## 8 NaN NaN NaN -1.5228152
## 9 NaN NaN NaN -1.4576764
## 10 NaN NaN NaN -1.4160874
## finfish_production groundfish_landings_ca groundfish_landings_coastwide groundfish_landings_or
## 1 1000s mt 1000s metric tons 1000s metric tons 1000s metric tons
## 2 NaN NaN NaN NaN
## 3 NaN NaN NaN NaN
## 4 NaN NaN NaN NaN
## 5 NaN NaN NaN NaN
## 6 NaN NaN NaN NaN
## 7 NaN NaN NaN NaN
## 8 NaN NaN NaN NaN
## 9 NaN NaN NaN NaN
## 10 NaN NaN NaN NaN
## groundfish_landings_wa groundfish_revenue_ca groundfish_revenue_coastwide groundfish_revenue_or
## 1 1000s metric tons Millions $ (year 2015) Millions $ (year 2015) Millions $ (year 2015)
## 2 NaN NaN NaN NaN
## 3 NaN NaN NaN NaN
## 4 NaN NaN NaN NaN
## 5 NaN NaN NaN NaN
## 6 NaN NaN NaN NaN
## 7 NaN NaN NaN NaN
## 8 NaN NaN NaN NaN
## 9 NaN NaN NaN NaN
## 10 NaN NaN NaN NaN
## groundfish_revenue_wa habitat_modification hms_landings_ca hms_landings_coastwide hms_landings_or
## 1 Millions $ (year 2015) Weighted 1000s km 1000s metric tons 1000s metric tons 1000s metric tons
## 2 NaN NaN NaN NaN NaN
## 3 NaN NaN NaN NaN NaN
## 4 NaN NaN NaN NaN NaN
## 5 NaN NaN NaN NaN NaN
## 6 NaN NaN NaN NaN NaN
## 7 NaN NaN NaN NaN NaN
## 8 NaN NaN NaN NaN NaN
## 9 NaN NaN NaN NaN NaN
## 10 NaN NaN NaN NaN NaN
## hms_landings_wa hms_revenue_ca hms_revenue_coastwide hms_revenue_or
## 1 1000s metric tons Millions $ (year 2015) Millions $ (year 2015) Millions $ (year 2015)
## 2 NaN NaN NaN NaN
## 3 NaN NaN NaN NaN
## 4 NaN NaN NaN NaN
## 5 NaN NaN NaN NaN
## 6 NaN NaN NaN NaN
## 7 NaN NaN NaN NaN
## 8 NaN NaN NaN NaN
## 9 NaN NaN NaN NaN
## 10 NaN NaN NaN NaN
## hms_revenue_wa oil_gas_production other_species_landings_ca other_species_landings_coastwide
## 1 Millions $ (year 2015) Normalized index 1000s metric tons 1000s metric tons
## 2 NaN NaN NaN NaN
## 3 NaN NaN NaN NaN
## 4 NaN NaN NaN NaN
## 5 NaN NaN NaN NaN
## 6 NaN NaN NaN NaN
## 7 NaN NaN NaN NaN
## 8 NaN NaN NaN NaN
## 9 NaN NaN NaN NaN
## 10 NaN NaN NaN NaN
## other_species_landings_or other_species_landings_wa other_species_revenue_ca
## 1 1000s metric tons 1000s metric tons Millions $ (year 2015)
## 2 NaN NaN NaN
## 3 NaN NaN NaN
## 4 NaN NaN NaN
## 5 NaN NaN NaN
## 6 NaN NaN NaN
## 7 NaN NaN NaN
## 8 NaN NaN NaN
## 9 NaN NaN NaN
## 10 NaN NaN NaN
## other_species_revenue_coastwide other_species_revenue_or other_species_revenue_wa
## 1 Millions $ (year 2015) Millions $ (year 2015) Millions $ (year 2015)
## 2 NaN NaN NaN
## 3 NaN NaN NaN
## 4 NaN NaN NaN
## 5 NaN NaN NaN
## 6 NaN NaN NaN
## 7 NaN NaN NaN
## 8 NaN NaN NaN
## 9 NaN NaN NaN
## 10 NaN NaN NaN
## pacific_hake_landings_ca pacific_hake_landings_coastwide pacific_hake_landings_or
## 1 1000s metric tons 1000s metric tons 1000s metric tons
## 2 NaN NaN NaN
## 3 NaN NaN NaN
## 4 NaN NaN NaN
## 5 NaN NaN NaN
## 6 NaN NaN NaN
## 7 NaN NaN NaN
## 8 NaN NaN NaN
## 9 NaN NaN NaN
## 10 NaN NaN NaN
## pacific_hake_landings_wa pacific_hake_revenue_ca pacific_hake_revenue_coastwide pacific_hake_revenue_or
## 1 1000s metric tons Millions $ (year 2015) Millions $ (year 2015) Millions $ (year 2015)
## 2 NaN NaN NaN NaN
## 3 NaN NaN NaN NaN
## 4 NaN NaN NaN NaN
## 5 NaN NaN NaN NaN
## 6 NaN NaN NaN NaN
## 7 NaN NaN NaN NaN
## 8 NaN NaN NaN NaN
## 9 NaN NaN NaN NaN
## 10 NaN NaN NaN NaN
## pacific_hake_revenue_wa recreational_landings_ca recreational_landings_coastwide
## 1 Millions $ (year 2015) 1000s metric tons 1000s metric tons
## 2 NaN NaN NaN
## 3 NaN NaN NaN
## 4 NaN NaN NaN
## 5 NaN NaN NaN
## 6 NaN NaN NaN
## 7 NaN NaN NaN
## 8 NaN NaN NaN
## 9 NaN NaN NaN
## 10 NaN NaN NaN
## recreational_landings_or recreational_landings_wa salmon_com_landings_ca salmon_com_landings_coastwide
## 1 1000s metric tons 1000s metric tons 1000s metric tons 1000s metric tons
## 2 NaN NaN NaN NaN
## 3 NaN NaN NaN NaN
## 4 NaN NaN NaN NaN
## 5 NaN NaN NaN NaN
## 6 NaN NaN NaN NaN
## 7 NaN NaN NaN NaN
## 8 NaN NaN NaN NaN
## 9 NaN NaN NaN NaN
## 10 NaN NaN NaN NaN
## salmon_com_landings_or salmon_com_landings_wa salmon_rec_landings_ca salmon_rec_landings_coastwide
## 1 1000s metric tons 1000s metric tons 1000s fish 1000s fish
## 2 NaN NaN NaN NaN
## 3 NaN NaN NaN NaN
## 4 NaN NaN NaN NaN
## 5 NaN NaN NaN NaN
## 6 NaN NaN NaN NaN
## 7 NaN NaN NaN NaN
## 8 NaN NaN NaN NaN
## 9 NaN NaN NaN NaN
## 10 NaN NaN NaN NaN
## salmon_rec_landings_or salmon_rec_landings_wa salmon_revenue_ca salmon_revenue_coastwide
## 1 1000s fish 1000s fish Millions $ (year 2015) Millions $ (year 2015)
## 2 NaN NaN NaN NaN
## 3 NaN NaN NaN NaN
## 4 NaN NaN NaN NaN
## 5 NaN NaN NaN NaN
## 6 NaN NaN NaN NaN
## 7 NaN NaN NaN NaN
## 8 NaN NaN NaN NaN
## 9 NaN NaN NaN NaN
## 10 NaN NaN NaN NaN
## salmon_revenue_or salmon_revenue_wa shellfish_production shipping_distance_traveled
## 1 Millions $ (year 2015) Millions $ (year 2015) metric tons Millions of km
## 2 NaN NaN NaN NaN
## 3 NaN NaN NaN NaN
## 4 NaN NaN NaN NaN
## 5 NaN NaN NaN NaN
## 6 NaN NaN NaN NaN
## 7 NaN NaN NaN NaN
## 8 NaN NaN NaN NaN
## 9 NaN NaN NaN NaN
## 10 NaN NaN NaN NaN
## shrimp_landings_ca shrimp_landings_coastwide shrimp_landings_or shrimp_landings_wa
## 1 1000s metric tons 1000s metric tons 1000s metric tons 1000s metric tons
## 2 NaN NaN NaN NaN
## 3 NaN NaN NaN NaN
## 4 NaN NaN NaN NaN
## 5 NaN NaN NaN NaN
## 6 NaN NaN NaN NaN
## 7 NaN NaN NaN NaN
## 8 NaN NaN NaN NaN
## 9 NaN NaN NaN NaN
## 10 NaN NaN NaN NaN
## shrimp_revenue_ca shrimp_revenue_coastwide shrimp_revenue_or shrimp_revenue_wa
## 1 Millions $ (year 2015) Millions $ (year 2015) Millions $ (year 2015) Millions $ (year 2015)
## 2 NaN NaN NaN NaN
## 3 NaN NaN NaN NaN
## 4 NaN NaN NaN NaN
## 5 NaN NaN NaN NaN
## 6 NaN NaN NaN NaN
## 7 NaN NaN NaN NaN
## 8 NaN NaN NaN NaN
## 9 NaN NaN NaN NaN
## 10 NaN NaN NaN NaN
## squid_landings_ca squid_landings_coastwide squid_landings_or squid_revenue_ca
## 1 1000s metric tons 1000s metric tons 1000s metric tons Millions $ (year 2015)
## 2 NaN NaN NaN NaN
## 3 NaN NaN NaN NaN
## 4 NaN NaN NaN NaN
## 5 NaN NaN NaN NaN
## 6 NaN NaN NaN NaN
## 7 NaN NaN NaN NaN
## 8 NaN NaN NaN NaN
## 9 NaN NaN NaN NaN
## 10 NaN NaN NaN NaN
## squid_revenue_coastwide squid_revenue_or total_fisheries_landings_ca
## 1 Millions $ (year 2015) Millions $ (year 2015) 1000s metric tons
## 2 NaN NaN NaN
## 3 NaN NaN NaN
## 4 NaN NaN NaN
## 5 NaN NaN NaN
## 6 NaN NaN NaN
## 7 NaN NaN NaN
## 8 NaN NaN NaN
## 9 NaN NaN NaN
## 10 NaN NaN NaN
## total_fisheries_landings_coastwide total_fisheries_landings_or total_fisheries_landings_wa
## 1 1000s metric tons 1000s metric tons 1000s metric tons
## 2 NaN NaN NaN
## 3 NaN NaN NaN
## 4 NaN NaN NaN
## 5 NaN NaN NaN
## 6 NaN NaN NaN
## 7 NaN NaN NaN
## 8 NaN NaN NaN
## 9 NaN NaN NaN
## 10 NaN NaN NaN
## total_fisheries_revenue_ca total_fisheries_revenue_coastwide total_fisheries_revenue_or
## 1 Millions $ (year 2015) Millions $ (year 2015) Millions $ (year 2015)
## 2 NaN NaN NaN
## 3 NaN NaN NaN
## 4 NaN NaN NaN
## 5 NaN NaN NaN
## 6 NaN NaN NaN
## 7 NaN NaN NaN
## 8 NaN NaN NaN
## 9 NaN NaN NaN
## 10 NaN NaN NaN
## total_fisheries_revenue_wa
## 1 Millions $ (year 2015)
## 2 NaN
## 3 NaN
## 4 NaN
## 5 NaN
## 6 NaN
## 7 NaN
## 8 NaN
## 9 NaN
## 10 NaN
## [ reached 'max' / getOption("max.print") -- omitted 67 rows ]
?read.csv
# read csv by skipping first two lines, so no header
d <- read.csv(csv, skip = 2, header = FALSE)
d
## V1 V2 V3 V4 V5 V6 V7 V8 V9 V10 V11 V12 V13 V14 V15 V16 V17 V18 V19 V20
## 1 1945-01-01T00:00:00Z NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN -1.867495
## 2 1946-01-01T00:00:00Z NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN -1.798414
## 3 1947-01-01T00:00:00Z NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN -1.719067
## 4 1948-01-01T00:00:00Z NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN -1.639943
## 5 1949-01-01T00:00:00Z NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN -1.614886
## 6 1950-01-01T00:00:00Z NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN -1.598818
## 7 1951-01-01T00:00:00Z NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN -1.522815
## 8 1952-01-01T00:00:00Z NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN -1.457676
## 9 1953-01-01T00:00:00Z NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN -1.416087
## 10 1954-01-01T00:00:00Z NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN -1.394252
## V21 V22 V23 V24 V25 V26 V27 V28 V29 V30 V31 V32 V33 V34 V35 V36 V37 V38 V39 V40 V41 V42 V43 V44 V45 V46
## 1 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
## 2 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
## 3 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
## 4 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
## 5 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
## 6 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
## 7 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
## 8 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
## 9 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
## 10 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
## V47 V48 V49 V50 V51 V52 V53 V54 V55 V56 V57 V58 V59 V60 V61 V62 V63 V64 V65 V66 V67 V68 V69 V70 V71 V72
## 1 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
## 2 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
## 3 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
## 4 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
## 5 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
## 6 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
## 7 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
## 8 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
## 9 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
## 10 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
## V73 V74 V75 V76 V77 V78 V79 V80 V81 V82 V83 V84 V85 V86 V87 V88 V89 V90 V91 V92 V93 V94 V95
## 1 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
## 2 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
## 3 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
## 4 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
## 5 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
## 6 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
## 7 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
## 8 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
## 9 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
## 10 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
## [ reached 'max' / getOption("max.print") -- omitted 66 rows ]
# update data frame to original column names
names(d) <- names(read.csv(csv))
d
## time consumption_fish consumption_per_cap cps_landings_ca cps_landings_coastwide
## 1 1945-01-01T00:00:00Z NaN NaN NaN NaN
## 2 1946-01-01T00:00:00Z NaN NaN NaN NaN
## 3 1947-01-01T00:00:00Z NaN NaN NaN NaN
## 4 1948-01-01T00:00:00Z NaN NaN NaN NaN
## 5 1949-01-01T00:00:00Z NaN NaN NaN NaN
## 6 1950-01-01T00:00:00Z NaN NaN NaN NaN
## 7 1951-01-01T00:00:00Z NaN NaN NaN NaN
## 8 1952-01-01T00:00:00Z NaN NaN NaN NaN
## 9 1953-01-01T00:00:00Z NaN NaN NaN NaN
## 10 1954-01-01T00:00:00Z NaN NaN NaN NaN
## cps_landings_or cps_landings_wa cps_revenue_ca cps_revenue_coastwide cps_revenue_or cps_revenue_wa
## 1 NaN NaN NaN NaN NaN NaN
## 2 NaN NaN NaN NaN NaN NaN
## 3 NaN NaN NaN NaN NaN NaN
## 4 NaN NaN NaN NaN NaN NaN
## 5 NaN NaN NaN NaN NaN NaN
## 6 NaN NaN NaN NaN NaN NaN
## 7 NaN NaN NaN NaN NaN NaN
## 8 NaN NaN NaN NaN NaN NaN
## 9 NaN NaN NaN NaN NaN NaN
## 10 NaN NaN NaN NaN NaN NaN
## crab_landings_ca crab_landings_coastwide crab_landings_or crab_landings_wa crab_revenue_ca
## 1 NaN NaN NaN NaN NaN
## 2 NaN NaN NaN NaN NaN
## 3 NaN NaN NaN NaN NaN
## 4 NaN NaN NaN NaN NaN
## 5 NaN NaN NaN NaN NaN
## 6 NaN NaN NaN NaN NaN
## 7 NaN NaN NaN NaN NaN
## 8 NaN NaN NaN NaN NaN
## 9 NaN NaN NaN NaN NaN
## 10 NaN NaN NaN NaN NaN
## crab_revenue_coastwide crab_revenue_or crab_revenue_wa fertilizer_applications finfish_production
## 1 NaN NaN NaN -1.867495 NaN
## 2 NaN NaN NaN -1.798414 NaN
## 3 NaN NaN NaN -1.719067 NaN
## 4 NaN NaN NaN -1.639943 NaN
## 5 NaN NaN NaN -1.614886 NaN
## 6 NaN NaN NaN -1.598818 NaN
## 7 NaN NaN NaN -1.522815 NaN
## 8 NaN NaN NaN -1.457676 NaN
## 9 NaN NaN NaN -1.416087 NaN
## 10 NaN NaN NaN -1.394252 NaN
## groundfish_landings_ca groundfish_landings_coastwide groundfish_landings_or groundfish_landings_wa
## 1 NaN NaN NaN NaN
## 2 NaN NaN NaN NaN
## 3 NaN NaN NaN NaN
## 4 NaN NaN NaN NaN
## 5 NaN NaN NaN NaN
## 6 NaN NaN NaN NaN
## 7 NaN NaN NaN NaN
## 8 NaN NaN NaN NaN
## 9 NaN NaN NaN NaN
## 10 NaN NaN NaN NaN
## groundfish_revenue_ca groundfish_revenue_coastwide groundfish_revenue_or groundfish_revenue_wa
## 1 NaN NaN NaN NaN
## 2 NaN NaN NaN NaN
## 3 NaN NaN NaN NaN
## 4 NaN NaN NaN NaN
## 5 NaN NaN NaN NaN
## 6 NaN NaN NaN NaN
## 7 NaN NaN NaN NaN
## 8 NaN NaN NaN NaN
## 9 NaN NaN NaN NaN
## 10 NaN NaN NaN NaN
## habitat_modification hms_landings_ca hms_landings_coastwide hms_landings_or hms_landings_wa
## 1 NaN NaN NaN NaN NaN
## 2 NaN NaN NaN NaN NaN
## 3 NaN NaN NaN NaN NaN
## 4 NaN NaN NaN NaN NaN
## 5 NaN NaN NaN NaN NaN
## 6 NaN NaN NaN NaN NaN
## 7 NaN NaN NaN NaN NaN
## 8 NaN NaN NaN NaN NaN
## 9 NaN NaN NaN NaN NaN
## 10 NaN NaN NaN NaN NaN
## hms_revenue_ca hms_revenue_coastwide hms_revenue_or hms_revenue_wa oil_gas_production
## 1 NaN NaN NaN NaN NaN
## 2 NaN NaN NaN NaN NaN
## 3 NaN NaN NaN NaN NaN
## 4 NaN NaN NaN NaN NaN
## 5 NaN NaN NaN NaN NaN
## 6 NaN NaN NaN NaN NaN
## 7 NaN NaN NaN NaN NaN
## 8 NaN NaN NaN NaN NaN
## 9 NaN NaN NaN NaN NaN
## 10 NaN NaN NaN NaN NaN
## other_species_landings_ca other_species_landings_coastwide other_species_landings_or
## 1 NaN NaN NaN
## 2 NaN NaN NaN
## 3 NaN NaN NaN
## 4 NaN NaN NaN
## 5 NaN NaN NaN
## 6 NaN NaN NaN
## 7 NaN NaN NaN
## 8 NaN NaN NaN
## 9 NaN NaN NaN
## 10 NaN NaN NaN
## other_species_landings_wa other_species_revenue_ca other_species_revenue_coastwide
## 1 NaN NaN NaN
## 2 NaN NaN NaN
## 3 NaN NaN NaN
## 4 NaN NaN NaN
## 5 NaN NaN NaN
## 6 NaN NaN NaN
## 7 NaN NaN NaN
## 8 NaN NaN NaN
## 9 NaN NaN NaN
## 10 NaN NaN NaN
## other_species_revenue_or other_species_revenue_wa pacific_hake_landings_ca
## 1 NaN NaN NaN
## 2 NaN NaN NaN
## 3 NaN NaN NaN
## 4 NaN NaN NaN
## 5 NaN NaN NaN
## 6 NaN NaN NaN
## 7 NaN NaN NaN
## 8 NaN NaN NaN
## 9 NaN NaN NaN
## 10 NaN NaN NaN
## pacific_hake_landings_coastwide pacific_hake_landings_or pacific_hake_landings_wa
## 1 NaN NaN NaN
## 2 NaN NaN NaN
## 3 NaN NaN NaN
## 4 NaN NaN NaN
## 5 NaN NaN NaN
## 6 NaN NaN NaN
## 7 NaN NaN NaN
## 8 NaN NaN NaN
## 9 NaN NaN NaN
## 10 NaN NaN NaN
## pacific_hake_revenue_ca pacific_hake_revenue_coastwide pacific_hake_revenue_or pacific_hake_revenue_wa
## 1 NaN NaN NaN NaN
## 2 NaN NaN NaN NaN
## 3 NaN NaN NaN NaN
## 4 NaN NaN NaN NaN
## 5 NaN NaN NaN NaN
## 6 NaN NaN NaN NaN
## 7 NaN NaN NaN NaN
## 8 NaN NaN NaN NaN
## 9 NaN NaN NaN NaN
## 10 NaN NaN NaN NaN
## recreational_landings_ca recreational_landings_coastwide recreational_landings_or
## 1 NaN NaN NaN
## 2 NaN NaN NaN
## 3 NaN NaN NaN
## 4 NaN NaN NaN
## 5 NaN NaN NaN
## 6 NaN NaN NaN
## 7 NaN NaN NaN
## 8 NaN NaN NaN
## 9 NaN NaN NaN
## 10 NaN NaN NaN
## recreational_landings_wa salmon_com_landings_ca salmon_com_landings_coastwide salmon_com_landings_or
## 1 NaN NaN NaN NaN
## 2 NaN NaN NaN NaN
## 3 NaN NaN NaN NaN
## 4 NaN NaN NaN NaN
## 5 NaN NaN NaN NaN
## 6 NaN NaN NaN NaN
## 7 NaN NaN NaN NaN
## 8 NaN NaN NaN NaN
## 9 NaN NaN NaN NaN
## 10 NaN NaN NaN NaN
## salmon_com_landings_wa salmon_rec_landings_ca salmon_rec_landings_coastwide salmon_rec_landings_or
## 1 NaN NaN NaN NaN
## 2 NaN NaN NaN NaN
## 3 NaN NaN NaN NaN
## 4 NaN NaN NaN NaN
## 5 NaN NaN NaN NaN
## 6 NaN NaN NaN NaN
## 7 NaN NaN NaN NaN
## 8 NaN NaN NaN NaN
## 9 NaN NaN NaN NaN
## 10 NaN NaN NaN NaN
## salmon_rec_landings_wa salmon_revenue_ca salmon_revenue_coastwide salmon_revenue_or salmon_revenue_wa
## 1 NaN NaN NaN NaN NaN
## 2 NaN NaN NaN NaN NaN
## 3 NaN NaN NaN NaN NaN
## 4 NaN NaN NaN NaN NaN
## 5 NaN NaN NaN NaN NaN
## 6 NaN NaN NaN NaN NaN
## 7 NaN NaN NaN NaN NaN
## 8 NaN NaN NaN NaN NaN
## 9 NaN NaN NaN NaN NaN
## 10 NaN NaN NaN NaN NaN
## shellfish_production shipping_distance_traveled shrimp_landings_ca shrimp_landings_coastwide
## 1 NaN NaN NaN NaN
## 2 NaN NaN NaN NaN
## 3 NaN NaN NaN NaN
## 4 NaN NaN NaN NaN
## 5 NaN NaN NaN NaN
## 6 NaN NaN NaN NaN
## 7 NaN NaN NaN NaN
## 8 NaN NaN NaN NaN
## 9 NaN NaN NaN NaN
## 10 NaN NaN NaN NaN
## shrimp_landings_or shrimp_landings_wa shrimp_revenue_ca shrimp_revenue_coastwide shrimp_revenue_or
## 1 NaN NaN NaN NaN NaN
## 2 NaN NaN NaN NaN NaN
## 3 NaN NaN NaN NaN NaN
## 4 NaN NaN NaN NaN NaN
## 5 NaN NaN NaN NaN NaN
## 6 NaN NaN NaN NaN NaN
## 7 NaN NaN NaN NaN NaN
## 8 NaN NaN NaN NaN NaN
## 9 NaN NaN NaN NaN NaN
## 10 NaN NaN NaN NaN NaN
## shrimp_revenue_wa squid_landings_ca squid_landings_coastwide squid_landings_or squid_revenue_ca
## 1 NaN NaN NaN NaN NaN
## 2 NaN NaN NaN NaN NaN
## 3 NaN NaN NaN NaN NaN
## 4 NaN NaN NaN NaN NaN
## 5 NaN NaN NaN NaN NaN
## 6 NaN NaN NaN NaN NaN
## 7 NaN NaN NaN NaN NaN
## 8 NaN NaN NaN NaN NaN
## 9 NaN NaN NaN NaN NaN
## 10 NaN NaN NaN NaN NaN
## squid_revenue_coastwide squid_revenue_or total_fisheries_landings_ca total_fisheries_landings_coastwide
## 1 NaN NaN NaN NaN
## 2 NaN NaN NaN NaN
## 3 NaN NaN NaN NaN
## 4 NaN NaN NaN NaN
## 5 NaN NaN NaN NaN
## 6 NaN NaN NaN NaN
## 7 NaN NaN NaN NaN
## 8 NaN NaN NaN NaN
## 9 NaN NaN NaN NaN
## 10 NaN NaN NaN NaN
## total_fisheries_landings_or total_fisheries_landings_wa total_fisheries_revenue_ca
## 1 NaN NaN NaN
## 2 NaN NaN NaN
## 3 NaN NaN NaN
## 4 NaN NaN NaN
## 5 NaN NaN NaN
## 6 NaN NaN NaN
## 7 NaN NaN NaN
## 8 NaN NaN NaN
## 9 NaN NaN NaN
## 10 NaN NaN NaN
## total_fisheries_revenue_coastwide total_fisheries_revenue_or total_fisheries_revenue_wa
## 1 NaN NaN NaN
## 2 NaN NaN NaN
## 3 NaN NaN NaN
## 4 NaN NaN NaN
## 5 NaN NaN NaN
## 6 NaN NaN NaN
## 7 NaN NaN NaN
## 8 NaN NaN NaN
## 9 NaN NaN NaN
## 10 NaN NaN NaN
## [ reached 'max' / getOption("max.print") -- omitted 66 rows ]
DT::datatable()
# show table
DT::datatable(d)
## Wrangle data
dplyr
d <- d %>%
# tibble
tibble() %>%
# mutate time
mutate(
time = as.Date(substr(time, 1, 10))) %>%
# select columns
select(
time,
starts_with("total_fisheries_revenue")) %>%
# filter rows
filter(
time >= as.Date("1981-01-01"))
DT::datatable(d)
### Tidy with tidyr
# convert from wide to long (1 data entry per row)
d <- d %>%
pivot_longer(-time)
DT::datatable(d)
### Summarize with dplyr
library(stringr)
d <- d %>%
# mutate new column called 'region' by dropping the extra part of the character string in the name column
mutate(
region = str_replace(name, "total_fisheries_revenue_", "")) %>%
# drop name col
select(time, region, value)
DT::datatable(d)
d_sum <- d %>%
group_by(region) %>%
summarize(
avg_revenue = mean(value))
## `summarise()` ungrouping output (override with `.groups` argument)
DT::datatable(d_sum) %>%
DT::formatCurrency("avg_revenue")
purrr
on a nest
’ed tibble
library(purrr)
n <- d %>%
group_by(region) %>%
# store all of the values for each region in a list within a tibble (!) using nest()
nest(
data = c(time, value))
n
## # A tibble: 4 x 2
## # Groups: region [4]
## region data
## <chr> <list>
## 1 ca <tibble [40 x 2]>
## 2 coastwide <tibble [40 x 2]>
## 3 or <tibble [40 x 2]>
## 4 wa <tibble [40 x 2]>
n <- n %>%
# use map within purrr package to run a function across lists (in this case, the cells in our tibble!)
mutate(
lm = map(data, function(d){
# model value as a function of time
lm(value ~ time, d) } ),
# extract the coefficients. but we want a value rather than a list, so use map_dbl instead of map. # store the coefficients in a column called trend as type=dbl
trend = map_dbl(lm, function(m){
coef(summary(m))["time","Estimate"] }))
n
## # A tibble: 4 x 4
## # Groups: region [4]
## region data lm trend
## <chr> <list> <list> <dbl>
## 1 ca <tibble [40 x 2]> <lm> -0.0117
## 2 coastwide <tibble [40 x 2]> <lm> -0.00454
## 3 or <tibble [40 x 2]> <lm> 0.00379
## 4 wa <tibble [40 x 2]> <lm> 0.00333
# view the beta coefficients by region.
n %>%
select(region, trend) %>%
DT::datatable()