Harris County Appraisal District data
Harris County Appraisal District data
Let’s start exploring the data. We’ll look at all these exempt properties.
# This takes us from 1.4 million to 74,000 records
Dx <- df %>%
filter(str_detect(state_class, "^X"))
Dx %>%
ggplot(aes(x=state_class)) +
geom_histogram(stat="count")+
labs(x="Exempt code",
y="Number of Properties",
title="Number of properties in each exempt class")
# Same plot but for total square miles
Dx %>%
group_by(state_class) %>%
summarize(area=sum(land_ar, na.rm=TRUE)*3.58701e-8) %>%
ggplot(aes(x=state_class)) +
geom_col(aes(y=area))+
labs(x="Exempt code",
y="Square Miles",
title="Area of properties in each exempt class")
# Same plot but for total Market Value
Dx %>%
group_by(state_class) %>%
summarize(area=sum(tot_mkt_val, na.rm=TRUE)) %>%
ggplot(aes(x=state_class)) +
geom_col(aes(y=area))+
labs(x="Exempt code",
y="Market Value in Dollars",
title="Market Value of properties in each exempt class")
Dx %>%
filter(state_class=="X1" |
state_class=="X2" |
state_class=="X3") %>%
mutate(state_class=case_when(state_class=="X1" ~ "Government",
state_class=="X2" ~ "Charitable",
state_class=="X3" ~ "Religious",
TRUE ~ "Error")) %>%
ggplot(aes(x=tot_mkt_val )) +
geom_histogram() +
scale_y_log10() +
facet_wrap(vars(state_class), scales="free")+
labs(y="Count",
x="Market Value in Dollars",
title="Market Value of properties in each exempt class")
So the code X1 means “Other Exempt (Government)”, and X3 means “Other Exempt
(Religious)”. Apparently the number of square miles for exempt government
property is about equal to that of religious property, but the value of the
religious property is much less. But to be fair, much of the government
property has a value of zero. Actually much of the exempt property has a “value”
of zero. It is a little curious that it isn’t all zero, but maybe the tracts
with value used to be non-exempt and that old value has been carried forward.