Update recent data as available and fix some code to work with newer version of R.
@@ -9,26 +9,33 @@ library(htmlwidgets)
|
|||||||
library(lubridate)
|
library(lubridate)
|
||||||
library(ggrepel)
|
library(ggrepel)
|
||||||
library(zoo)
|
library(zoo)
|
||||||
|
library(readr)
|
||||||
|
|
||||||
#### Total/State/Class ####
|
#### Total/State/Class ####
|
||||||
# Read in total/state/class data
|
# Read in total/state/class data
|
||||||
d_raw <- read.csv("data/us ham radio licenses over time.csv")
|
d_raw <- read_csv("data/us ham radio licenses over time.csv")
|
||||||
|
|
||||||
# What dates do we have?
|
# What dates do we have?
|
||||||
unique(d_raw$Date)
|
unique(d_raw$Date)
|
||||||
|
|
||||||
# Clean up here if needed
|
# Clean up here if needed
|
||||||
d <- d_raw %>%
|
d <- d_raw %>%
|
||||||
mutate(Date = as.Date(Date)) #%>%
|
mutate(Date = as.Date(Date)) %>%
|
||||||
|
rename("State.Territory" = "State/Territory")
|
||||||
# Drop Tech alone and leave Tech and Tech Plus
|
# Drop Tech alone and leave Tech and Tech Plus
|
||||||
#select(-c(Tech, Tech.Plus))
|
#select(-c(Tech, Tech.Plus))
|
||||||
|
|
||||||
d_total <- d %>% filter(State.Territory == "TOTAL")
|
d_total <- d %>% filter(State.Territory == "TOTAL") # |>
|
||||||
|
# Make sure blank cells are actually NAs
|
||||||
|
# mutate(across(everything(), gsub, pattern = "^$", replacement = NA_integer_),
|
||||||
|
# Date = as.Date(Date))
|
||||||
|
|
||||||
d_total_long <- d_total %>%
|
d_total_long <- d_total %>%
|
||||||
pivot_longer(cols = !c("Date", "State.Territory", "source_name", "source_detail"),
|
pivot_longer(cols = !c("Date", "State.Territory", "source_name", "source_detail"),
|
||||||
names_to = "lclass",
|
names_to = "lclass",
|
||||||
values_to = "count") %>%
|
values_to = "count") %>%
|
||||||
|
mutate(count = as.numeric(count),
|
||||||
|
Date = as.Date(Date)) %>%
|
||||||
# only keep rows with data so plots look right
|
# only keep rows with data so plots look right
|
||||||
filter(!is.na(count))
|
filter(!is.na(count))
|
||||||
|
|
||||||
@@ -59,10 +66,12 @@ qst_raw <- read.csv("data/qst-somc.csv")
|
|||||||
arrl <- arrl_raw %>%
|
arrl <- arrl_raw %>%
|
||||||
mutate(Date = as.Date(Date))
|
mutate(Date = as.Date(Date))
|
||||||
qst <- qst_raw %>%
|
qst <- qst_raw %>%
|
||||||
|
group_by(form_month, source) %>%
|
||||||
mutate(Date = as.Date(form_month),
|
mutate(Date = as.Date(form_month),
|
||||||
paid_copies_mean_monthly = c15_year_copies_paid +
|
paid_copies_mean_monthly = sum(c15_year_copies_paid,
|
||||||
a16_year_copies_digital_paid) %>%
|
a16_year_copies_digital_paid,
|
||||||
pivot_longer(cols = -c(form_month, Date))
|
na.rm = T)) %>%
|
||||||
|
pivot_longer(cols = -c(form_month, Date, source))
|
||||||
|
|
||||||
#### Plots ####
|
#### Plots ####
|
||||||
|
|
||||||
|
|||||||
@@ -9,7 +9,8 @@ library(janitor)
|
|||||||
library(USAboundaries)
|
library(USAboundaries)
|
||||||
|
|
||||||
# Update local database
|
# Update local database
|
||||||
system("cd python3 fccULSloader/src/fcc_tool.py --update")
|
#system("python3 fccULSloader/src/fcc_tool.py --update")
|
||||||
|
system("python3 fccULSloader/src/fcc_tool.py --force-download")
|
||||||
|
|
||||||
# Get current date
|
# Get current date
|
||||||
now <- Sys.Date()
|
now <- Sys.Date()
|
||||||
@@ -106,6 +107,6 @@ write.table(active_state_class, file = "out/fccULSloader-fcc-licenses-scraped.cs
|
|||||||
col.names = F, row.names = FALSE,
|
col.names = F, row.names = FALSE,
|
||||||
na = "")
|
na = "")
|
||||||
|
|
||||||
|
####
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -23,3 +23,4 @@ Date,Members,source_name,source_detail
|
|||||||
1993-12-31,170000,W5YI Report,FCC numbers in W5YI Report 1994-04-01 p. 4
|
1993-12-31,170000,W5YI Report,FCC numbers in W5YI Report 1994-04-01 p. 4
|
||||||
2023-12-31,149501,ARRL Annual Report,https://www.arrl.org/files/file/About%20ARRL/Annual%20Reports/2023%20ARRL%20Annual%20Report.pdf
|
2023-12-31,149501,ARRL Annual Report,https://www.arrl.org/files/file/About%20ARRL/Annual%20Reports/2023%20ARRL%20Annual%20Report.pdf
|
||||||
2024-12-31,137114,ARRL Annual Report,https://www.arrl.org/files/file/About%20ARRL/Annual%20Reports/2024%20ARRL%20Annual%20Report.pdf
|
2024-12-31,137114,ARRL Annual Report,https://www.arrl.org/files/file/About%20ARRL/Annual%20Reports/2024%20ARRL%20Annual%20Report.pdf
|
||||||
|
1995-03-31,172752,W5YI Report,1995-05-15 p. 1
|
||||||
|
|||||||
|
@@ -1,6 +1,8 @@
|
|||||||
form_month,a15_month_copies,a15_year_copies,c15_month_copies_paid,c15_year_copies_paid,a16_month_copies_digital_paid,a16_year_copies_digital_paid
|
form_month,a15_month_copies,a15_year_copies,c15_month_copies_paid,c15_year_copies_paid,a16_month_copies_digital_paid,a16_year_copies_digital_paid,source
|
||||||
2022-09-01,116950,117409,91984,92933,30298,28207
|
2022-09-01,116950,117409,91984,92933,30298,28207,SOMC
|
||||||
2023-09-01,114500,115087,91352,92815,23251,19963
|
2023-09-01,114500,115087,91352,92815,23251,19963,SOMC
|
||||||
1997-09-01,192724,191141,178311,167992,0,0
|
1997-09-01,192724,191141,178311,167992,0,0,SOMC
|
||||||
2020-09-01,127000,134497,91503,95536,22623,14908
|
2020-09-01,127000,134497,91503,95536,22623,14908,SOMC
|
||||||
2021-09-01,117099,121600,94634,94710,29269,26839
|
2021-09-01,117099,121600,94634,94710,29269,26839,SOMC
|
||||||
|
1987-12-01,,,,146176,,,W5YI Report 1988-08-01 p. 4
|
||||||
|
1988-06-01,,,152668,150184,,,W5YI Report 1988-08-01 p. 4
|
||||||
|
|||||||
|
|
Before Width: | Height: | Size: 529 KiB After Width: | Height: | Size: 488 KiB |
|
Before Width: | Height: | Size: 133 KiB After Width: | Height: | Size: 138 KiB |
|
Before Width: | Height: | Size: 1.2 MiB After Width: | Height: | Size: 1.2 MiB |
|
Before Width: | Height: | Size: 234 KiB After Width: | Height: | Size: 226 KiB |
|
Before Width: | Height: | Size: 642 KiB After Width: | Height: | Size: 617 KiB |
|
Before Width: | Height: | Size: 613 KiB After Width: | Height: | Size: 683 KiB |
|
Before Width: | Height: | Size: 1.4 MiB After Width: | Height: | Size: 1.4 MiB |
|
Before Width: | Height: | Size: 188 KiB After Width: | Height: | Size: 129 KiB |
|
Before Width: | Height: | Size: 219 KiB After Width: | Height: | Size: 223 KiB |
|
Before Width: | Height: | Size: 189 KiB After Width: | Height: | Size: 193 KiB |
|
Before Width: | Height: | Size: 175 KiB After Width: | Height: | Size: 177 KiB |