There are data from two sources: Standard cross-cultural sample sources (SCCS) and Ethnographic Atlas (EA)

All (EA and SCCS)

wide_features_all <-  clean_features %>%
  select(ETS_code, variable_name) %>%
  mutate(present = 1) %>%
  acast(variable_name ~ ETS_code, value.var="present") %>%
  data.frame() 
wide_features_all[wide_features_all == 0] <- NA
vis_miss(wide_features_all)

SCCS

wide_features_SCCS <-  clean_features %>%
  filter(soc_source == "Standard cross-cultural sample") %>%
  select(ETS_code, variable_name) %>%
  mutate(present = 1) %>%
  acast(variable_name ~ ETS_code, value.var="present") %>%
  data.frame() 
wide_features_SCCS[wide_features_SCCS == 0] <- NA
vis_miss(wide_features_SCCS)

EA

wide_features_EA <-  clean_features %>%
  filter(soc_source == "Ethnographic Atlas") %>%
  select(ETS_code, variable_name) %>%
  mutate(present = 1) %>%
  acast(variable_name ~ ETS_code, value.var="present") %>%
  data.frame() 
wide_features_EA[wide_features_EA == 0] <- NA
vis_miss(wide_features_EA)

Env only

wide_features_EA_env <-  clean_features %>%
  filter(soc_source == "Ethnographic Atlas") %>%
  filter(var_type == "env") %>%
  select(ETS_code, variable_name) %>%
  mutate(present = 1) %>%
  acast(variable_name ~ ETS_code, value.var="present") %>%
  data.frame() 
wide_features_EA_env[wide_features_EA_env == 0] <- NA
vis_miss(wide_features_EA_env)

EA_vars_env <- wide_features_EA_env  %>%
  rownames_to_column(var = "var_id") %>%
  select(var_id) %>%
  left_join(vars, by = c("var_id" = "name"))

DT::datatable(EA_vars_env %>% select(-codebook_info))

Trait only

wide_features_EA_trait <-  clean_features %>%
  filter(soc_source == "Ethnographic Atlas") %>%
  filter(var_type == "trait") %>%
  select(ETS_code, variable_name) %>%
  mutate(present = 1) %>%
  acast(variable_name ~ ETS_code, value.var="present") %>%
  data.frame() 
wide_features_EA_trait[wide_features_EA_trait == 0] <- NA
vis_miss(wide_features_EA_trait)

Features:

EA_vars_trait <- wide_features_EA_trait  %>%
  rownames_to_column(var = "var_id") %>%
  select(var_id) %>%
  left_join(vars, by = c("var_id" = "label"))

DT::datatable(EA_vars_trait)