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.