library(rmarkdown)
library(readr)
library(tidyverse)

In practical perspectives, we want to identify :

Data - Qualitative

result_qualitative <- read_csv("result_qualitative.csv")
paged_table(result_qualitative)

Short results

Overview about

In all, we found 48 articles that use capability approach to understand the wellbeing of FPP and although this approach was formulated in the 20’ century, it was only around 2010 that it started to be used for FPP studies.

result_qualitative %>% 
  select(ID_article, Year) %>% 
  group_by(ID_article) %>%
  distinct(.keep_all = F) %>% 
  ggplot(aes(x=Year)) +
  geom_density(fill="#FFCC99", color="#FFCC99", alpha=0.8)+
  theme_classic()+
  labs(y="Articles' frequency", x="Years")

Here, we found around five populations that can be considered as FPP, with women and indigenous as the most recurrent. This results in the majority of articles featuring inference about the population, with just rural people studies determining their own population.

result_qualitative %>% 
  select(ID_article, `Type of population`, Inference) %>%
  distinct(.keep_all = F) %>%
  ggplot(aes(x=`Type of population`, fill=Inference, col=Inference)) +
  geom_bar(alpha=0.8)+
  scale_color_manual(values = c("#FFCC99", "#FF9966")) +
  scale_fill_manual(values = c("#FFCC99", "#FF9966")) +
  theme_classic()+
  labs(y="Number of Articles", x="Type of population")

result_qualitative %>% 
  select(ID_article, `Type of population`, ID_population) %>% 
  distinct(.keep_all = F) %>%
  separate_rows(ID_population, sep = " and ") %>% 
  mutate(ID_population = recode(ID_population, 'rural' = 'rural people', 
                                'Women' = 'women')) %>% 
  ggplot(aes(x=`Type of population`, fill=ID_population, col=ID_population)) +
  geom_bar(alpha=0.8)+
  scale_color_manual(name="Population identity",
                     values = c("#FFFFCC", "#FFFF99", "#FFCC99", "#FFCC66", 
                                "#FFCC33", "#FF9966", "#FF9933", "#FF6666", "#FF6633")) +
  scale_fill_manual(name="Population identity",
                    values = c("#FFFFCC", "#FFFF99", "#FFCC99", "#FFCC66", 
                                "#FFCC33", "#FF9966", "#FF9933", "#FF6666", "#FF6633")) +
  theme_classic()+
  labs(y="Number of Articles", x="Type of population")

Moreover, we found that it’s common that capability approach studies feature more than “capability” as a result. Agency, functions, cultural values and conversion factors are explored with capability for itself. Here, it’s important highlight that there are some outcomes types that can means the same thing (e.g. Conversion factors and structures )

result_qualitative %>% 
  select(ID_article, `If the outcome aren't discuss in capability terms, explicit how the outcome was discuss?`) %>%
  rename(Outcome_type=`If the outcome aren't discuss in capability terms, explicit how the outcome was discuss?`) %>% 
  distinct(.keep_all = F) %>%
  mutate(out_number=case_when(is.na(Outcome_type) ~ "only capability",
                              is.character(Outcome_type) ~ "more than capability")) %>% 
  separate_rows(Outcome_type, sep = " and ") %>%
  replace(is.na(.), "dummy_cap") %>% 
  filter(Outcome_type!="Capability") %>% 
  mutate(Outcome_type = recode(Outcome_type, "dummy_cap" = 'Capability')) %>%
  ggplot(aes(x=out_number, fill=Outcome_type, color=Outcome_type)) +
  geom_bar(alpha=0.8)+
  theme_classic()+
  labs(y="Number of Articles", x="Is the result only capability?")

About the geographic standard utilization

  • We found that national, subnational and local levels are more common

  • Australia, India and Mexico. The first two have interessanting causes. Indigenous rights in Australia is based on Capability approach and it’s an unsuccessful case when the approach used is wrong. And India is because the approach is popular there, due Amartya be from there.

result_qualitative %>% 
  select(ID_article, `Geographic scale`) %>%
  distinct(.keep_all = F) %>% 
  mutate(`Geographic scale`=as.factor(`Geographic scale`),
         ordered=case_when(`Geographic scale`=="global" ~ "1",
                           `Geographic scale`=="multinational" ~ "2", 
                           `Geographic scale`=="national" ~ "3",
                           `Geographic scale`=="subnational" ~ "4",
                           `Geographic scale`=="local" ~ "5")) %>% 
  ggplot(aes(x=ordered, fill=`Geographic scale`, color=`Geographic scale`)) +
  geom_bar(alpha=0.8)+
  scale_x_discrete(name="Geographic scale", 
                       labels=c("Global", "Multinational", "National", "Subnational", "Local"))+
  scale_color_manual(values = c("#FFFF99", "#FFCCCC", "#FFCC99", "#FFCC66", "#FF9966")) +
  scale_fill_manual(values = c("#FFFF99", "#FFCCCC", "#FFCC99", "#FFCC66", "#FF9966"))+
  theme_classic()+
  labs(y="Number of Articles", x="Geographic scale")

result_qualitative %>% 
  select(ID_article, Country) %>%
  distinct(.keep_all = F) %>% 
  separate_rows(Country, sep = " and ") %>% 
  mutate(Country = recode(Country, 'Canadian' = 'Canada', 
                                'New Zeland' = 'New Zealand'))->stp1 

library(tidygeocoder)

geo(country = stp1$Country, full_results = T) %>% 
  select(country, lat, long) %>%
  rename("Country"=country) %>% 
  full_join(stp1) %>% 
  distinct(.keep_all = F) %>% 
  group_by(Country) %>%
  mutate(Number=sum(length(ID_article)))-> mpdata


library(leaflet)

# Create a color palette with handmade bins.
mybins <- seq(0, 8, by=2)
mypalette <- colorBin( palette="YlOrBr", domain=mpdata$Number, na.color="transparent", bins=mybins)

# Prepare the text for the tooltip:
mytext <- paste(
   "Number of articles:", mpdata$Number, "<br/>",
   "Country:", mpdata$Country, "<br/>") %>%
  lapply(htmltools::HTML)

# final map
m <- leaflet(mpdata) %>% 
  addTiles()  %>% 
  setView( lat=-27, lng=170 , zoom=4) %>%
  addProviderTiles("Esri.WorldImagery") %>%
  addCircleMarkers(~long, ~lat, 
    fillColor = ~mypalette(Number), fillOpacity = 0.7, color="white", radius=8, stroke=FALSE,
    label = mytext,
    labelOptions = labelOptions( style = list("font-weight" = "normal", padding = "3px 8px"), textsize = "13px", direction = "auto")
  ) %>%
  addLegend( pal=mypalette, values=~Number, opacity=0.9, title = "Number of Articles", position = "bottomright" )

m 

The capability approach was used more for empirical articles than when compared with descriptive and theoretical articles. There is a similar use of each type of author’s approach in capability approach, although in a large part of the articles we cannot distinct clearly which author/approach the studies was based on.

result_qualitative %>% 
  select(ID_article, `Article class`, `Type of Capability approach`) %>% 
  distinct(.keep_all = F) %>% 
  ggplot(aes(x=`Article class`, fill=`Type of Capability approach`, color=`Type of Capability approach`)) +
  geom_bar(alpha=0.8)+
  scale_color_manual(values = c("#FFCCCC", "#FFCC99", "#FFCC66", "#FF9966")) +
  scale_fill_manual(values = c("#FFCCCC", "#FFCC99", "#FFCC66", "#FF9966")) +
  theme_classic()+
  labs(y="Number of Articles", x="Type of article")

In the empirical articles, we have more articles focused on qualitative analyze instead of quantitative (but, maybe, it’s statistically insignificant). And the interviews are the method to access the data that are more used, followed by secondary data and questionnaires. And it’s cool to show that the same partners were found for the articles that measure more than capability as a result.

result_qualitative %>% 
  select(ID_article, `the article measure FPPs capabilities?`, `was measure quantitatively or qualitatively?`,
         `Article class`) %>% 
  rename(measure=`the article measure FPPs capabilities?`, 
         type_measure=`was measure quantitatively or qualitatively?`) %>% 
  filter(`Article class`!="theoretical") %>%
  distinct(.keep_all = F) %>%
  replace(is.na(.), "no measured") %>% 
  ggplot(aes(x=measure, fill=type_measure, color=type_measure)) +
  geom_bar(alpha=0.8) + # se ligar que aqui, eu não distingo algumas coisa. Por exemplo, o artigo pode ter calculado o empoderamento e eu num contei. Mas assim, eu vi e só tem um artigo assim, mas temos q decidi exatamente oq isso conta
  scale_color_manual(name="Measure type",
                     values = c("#FFCCCC", "#FFCC99", "#FFCC66", "#FF9966")) +
  scale_fill_manual(name="Measure type",
                    values = c("#FFCCCC", "#FFCC99", "#FFCC66", "#FF9966")) +
  theme_classic()+
  theme_classic()+
  labs(y="Number of Articles", x="It was measure?")

result_qualitative %>% 
  select(ID_article, `Article class`, `the article measure FPPs capabilities?`, 
         `was measure quantitatively or qualitatively?`, `how was measure?`) %>% 
  filter(`Article class`!="theoretical" & `the article measure FPPs capabilities?`=="yes") %>% 
  distinct(.keep_all = F) %>%
  separate_rows(`how was measure?`, sep = " and ") %>%
  mutate(`how was measure?` = recode(`how was measure?`, 
                                     "Focus group discussion" = 'Focal group discussion',
                                     "Interviews"="Interview")) %>%
  ggplot(aes(x=`was measure quantitatively or qualitatively?`,
             fill=`how was measure?`, color=`how was measure?`)) +
  geom_bar(alpha=0.8)+
  scale_color_manual(values = c("#FFCCCC", "#FFCC99", "#FFCC66", "#FF9966")) +
  scale_fill_manual(values = c("#FFCCCC", "#FFCC99", "#FFCC66", "#FF9966")) +
  theme_classic()+
  labs(y="Number of Articles", x="was measure quantitatively or qualitatively?")

result_qualitative %>% 
    select(ID_article, `Article class`, `the article measure FPPs capabilities?`, 
         `was measure quantitatively or qualitatively?`, `how was measure?`,
         `If the outcome aren't discuss in capability terms, explicit how the outcome was discuss?`) %>% 
  filter(`Article class`!="theoretical" & `the article measure FPPs capabilities?`=="yes") %>%
  select(ID_article, `how was measure?`,
         `If the outcome aren't discuss in capability terms, explicit how the outcome was discuss?`) %>% 
  rename(Outcome_type=`If the outcome aren't discuss in capability terms, explicit how the outcome was discuss?`) %>% 
  distinct(.keep_all = F) %>% 
  mutate(out_number=case_when(is.na(Outcome_type) ~ "only capability",
                              is.character(Outcome_type) ~ "more than capability")) %>% 
  select(ID_article, `how was measure?` , out_number) %>% 
  separate_rows(`how was measure?` , sep = " and ") %>%
  mutate(`how was measure?` = recode(`how was measure?`, 
                                     "Focus group discussion" = 'Focal group discussion',
                                     "Interviews"="Interview")) %>%
  ggplot(aes(x=out_number, fill=`how was measure?`, color=`how was measure?`)) +
  geom_bar(alpha=0.8)+
  scale_color_manual(values = c("#FFCCCC", "#FFCC99", "#FFCC66", "#FF9966")) +
  scale_fill_manual(values = c("#FFCCCC", "#FFCC99", "#FFCC66", "#FF9966")) +
  theme_classic()+
  labs(y="Number of Articles", x="Type of outcome")

Qualitative analyse

Here, we’ll pretend identify the FPP’ capabilities and whether are encompassing by universal approachs or not

library(viridis)
library(patchwork)
library(hrbrthemes)
library(circlize)
library(networkD3)

result_capabilities <- read_csv("result_capabilities.csv")
paged_table(result_capabilities)
result_capabilities %>% 
  select(ID_article, ID_capability, `Identifiyng the capability`, cluster_primary, cluster_secondary) %>% 
  #select(ID_article, `Type of population`, ID_population) %>% 
  distinct(.keep_all = F) %>%
  group_by(cluster_secondary) %>%
  drop_na() %>%
  mutate(ID_article=as.factor(ID_article)) %>% 
  summarise(freq=sum(length(ID_article))) -> value_data
  
result_capabilities %>% 
  select(`Identifiyng the capability`, cluster_secondary) %>% 
  #select(ID_article, `Type of population`, ID_population) %>% 
  distinct(.keep_all = F) %>% 
  drop_na() %>% 
  group_by(cluster_secondary) %>% 
  full_join(value_data)->all_data

nodes_1 <- data.frame(name=c(as.character(all_data$`Identifiyng the capability`),
                             as.character(all_data$cluster_secondary)) %>% unique())

all_data$IDsource=match(all_data$`Identifiyng the capability`, nodes_1$name)-1 
all_data$IDtarget=match(all_data$cluster_secondary, nodes_1$name)-1

# Make the Network
sankeyNetwork(Links = all_data, Nodes = nodes_1,
              Source = "IDsource", Target = "IDtarget",
              Value = "freq", NodeID = "name", 
              sinksRight=FALSE, LinkGroup = "cluster_secondary")
# split the data to visualize better

# We use only variables that interact within each other 
result_capabilities %>% 
  select(ID_article, ID_capability, `Identifiyng the capability`, cluster_primary, cluster_secondary) %>% 
  distinct(.keep_all = F) %>%
  group_by(cluster_secondary) %>%
  drop_na() %>%
  mutate(ID_article=as.factor(ID_article)) %>% 
  summarise(freq=sum(length(ID_article))) -> value_data

result_capabilities %>% 
  select(`Identifiyng the capability`, cluster_secondary) %>% 
  #select(ID_article, `Type of population`, ID_population) %>% 
  distinct(.keep_all = F) %>% 
  drop_na() %>% 
  group_by(cluster_secondary) %>% 
  full_join(value_data)->all_data

filter(all_data, cluster_secondary %in% c("Access", "Education", "Employments",  "Environment",  
                                          "Food security", "Health", "Money"))->stp01_all_data

nodes_stp01 <- data.frame(name=c(as.character(stp01_all_data$`Identifiyng the capability`),
                             as.character(stp01_all_data$cluster_secondary)) %>% unique())

# With networkD3, connection must be provided using id, not using real name like in the links dataframe.. So we need to reformat it.
stp01_all_data$IDsource=match(stp01_all_data$`Identifiyng the capability`, nodes_stp01$name)-1 
stp01_all_data$IDtarget=match(stp01_all_data$cluster_secondary, nodes_stp01$name)-1

# Make the Network
sankeyNetwork(Links = stp01_all_data, Nodes = nodes_stp01,
              Source = "IDsource", Target = "IDtarget",
              Value = "freq", NodeID = "name", 
              sinksRight=FALSE, LinkGroup = "cluster_secondary",  fontSize=15, nodeWidth=40)
# slipt 02

filter(all_data, cluster_secondary %in% c( "Personal", "Security",  "Agency" , "Basic needs" , 
                                           "Comfort and livelihoods",  "Context dependent",
                                           "Participation"))->stp02_all_data

nodes_stp02 <- data.frame(name=c(as.character(stp02_all_data$`Identifiyng the capability`),
                                 as.character(stp02_all_data$cluster_secondary)) %>% unique())

stp02_all_data$IDsource=match(stp02_all_data$`Identifiyng the capability`, nodes_stp02$name)-1 
stp02_all_data$IDtarget=match(stp02_all_data$cluster_secondary, nodes_stp02$name)-1

# Make the Network
sankeyNetwork(Links = stp02_all_data, Nodes = nodes_stp02,
              Source = "IDsource", Target = "IDtarget",
              Value = "freq", NodeID = "name", 
              sinksRight=FALSE, LinkGroup = "cluster_secondary", fontSize=15, nodeWidth=40)

Qualitative result

There is a wide use of capability, with different means at context-specific scale. But, when talking about FPP capabilities, we can join the capability for some common themes: Education, Health, Money, Employment, Participation, Personal, “Agency’ capabilities”, Basic needs, Security, Environment, Access, food security and Context-dependents.

At least, the Nussbaum list is majority when compared with other lists.

result_capabilities %>% 
  select(ID_article, ID_capability, `Identifiyng the capability`, cluster_primary, cluster_secondary,
         cluster_third) %>% 
  distinct(.keep_all = F) %>% 
  filter(cluster_third %in% c("Nussbaum’s list", "Robeyns’ list",
                              "Meta-capabilty approach", "Sen’s Freedom",
                              "Seeberg approach")) %>% 
  select(ID_article, ID_capability, `Identifiyng the capability`, cluster_third) %>% 
  distinct(.keep_all = F) %>%
  group_by(cluster_third) %>%
  mutate(ID_article=as.factor(ID_article)) %>% 
  summarise(freq=sum(length(ID_article))) -> gap_value_data


 result_capabilities %>% 
  select(ID_article, ID_capability, `Identifiyng the capability`, cluster_primary, cluster_secondary,
         cluster_third) %>% 
  distinct(.keep_all = F) %>% 
  filter(cluster_third %in% c("Nussbaum’s list", "Robeyns’ list",
                              "Meta-capabilty approach", "Sen’s Freedom",
                              "Seeberg approach")) %>% 
  select(`Identifiyng the capability`, cluster_third) %>% 
  full_join(gap_value_data)->gap_all_data
 

nodes_gap <- data.frame(name=c(as.character(gap_all_data$`Identifiyng the capability`),
                                 as.character(gap_all_data$cluster_third)) %>% unique())

gap_all_data$IDsource=match(gap_all_data$`Identifiyng the capability`, nodes_gap$name)-1 
gap_all_data$IDtarget=match(gap_all_data$cluster_third, nodes_gap$name)-1

color_scale <- 
  "d3.scaleOrdinal()
     .domain(['Nussbaum’s list', 'Robeyns’ list', 'Meta-capabilty approach', 'Sen’s Freedom', 'Seeberg approach'])
     .range(['#FFCCCC', '#FFCC99', '#FFCC66', 'FF9966', '#FF9999']);
  "

# Make the Network
sankeyNetwork(Links = gap_all_data, Nodes = nodes_gap,
              Source = "IDsource", Target = "IDtarget",
              Value = "freq", NodeID = "name", 
              sinksRight=FALSE, LinkGroup = "cluster_third",
              colourScale = color_scale, fontSize=15, nodeWidth=40)

Very short Discussion/Conclusion

I think that we can affirm without fear that there are three main reasons for the difficult to use Capability approach to understand FPP’ wellbeing. First, is the fact that FPP encompasses a lot of other social groups (women, indigenous) that have their own context dependents capability. Second, the capability approach is explored in diverse, really, diverse forms. Some authors create new concepts to old things (agency belief), others use more than one type of outcome. And all these things difficulties comparisons between each others. And third, there is a lot of literature that explores wellbeing in economic forms instead of social form (soto-navarro, razafidrastima, nerfa). We found just some ¾ articles that we can really say that explore depping these thematic without having some context-specific things.

And, I think that we can discuss about two main things: standard of capability and Specific capabilities for FPP (access, environment). I think that we can show how the literature sees the environment in capability terms (Meta-capability approach) and how the people see nature (as a capability). Moreover, we can show some examples (Alencar/Caatiga) and suggest more studies, but this time, transforming utilitary perspective studies (razafidrastima, algensen, nerfa) as the literature bodies.