I am working with a panel data, which I am filtering by removing NAs for different variables step by step and creating new data-frames.
For example passing from a panel_data1 to panel_data2 while removing NAs for additional variables, 399 companies are removed. Is there a way I can retrieve these companies in a new dataset, as I want to have the companies (amlong with their respective data) that I am losing.
Panel_data
structure(list(ISIN = c("AEA000201011", "AEA000201011", "AEA000201011",
"AEA000201011", "AEA000201011", "AEA000201011", "AEA000201011",
"AEA000201011", "AEA000201011", "AEA000201011", "AEA000201011",
"AEA000801018", "AEA000801018", "AEA000801018", "AEA000801018",
"AEA000801018", "AEA000801018", "AEA000801018", "AEA000801018",
"AEA000801018", "AEA000801018", "AEA000801018", "AEA001501013",
"AEA001501013", "AEA001501013"), year = c(2010L, 2011L, 2012L,
2013L, 2014L, 2015L, 2016L, 2017L, 2018L, 2019L, 2020L, 2010L,
2011L, 2012L, 2013L, 2014L, 2015L, 2016L, 2017L, 2018L, 2019L,
2020L, 2010L, 2011L, 2012L), full_company_name = c("Abu Dhabi Commercial Bank PJSC",
"Abu Dhabi Commercial Bank PJSC", "Abu Dhabi Commercial Bank PJSC",
"Abu Dhabi Commercial Bank PJSC", "Abu Dhabi Commercial Bank PJSC",
"Abu Dhabi Commercial Bank PJSC", "Abu Dhabi Commercial Bank PJSC",
"Abu Dhabi Commercial Bank PJSC", "Abu Dhabi Commercial Bank PJSC",
"Abu Dhabi Commercial Bank PJSC", "Abu Dhabi Commercial Bank PJSC",
"Abu Dhabi Islamic Bank PJSC", "Abu Dhabi Islamic Bank PJSC",
"Abu Dhabi Islamic Bank PJSC", "Abu Dhabi Islamic Bank PJSC",
"Abu Dhabi Islamic Bank PJSC", "Abu Dhabi Islamic Bank PJSC",
"Abu Dhabi Islamic Bank PJSC", "Abu Dhabi Islamic Bank PJSC",
"Abu Dhabi Islamic Bank PJSC", "Abu Dhabi Islamic Bank PJSC",
"Abu Dhabi Islamic Bank PJSC", "Arabtec Holding PJSC", "Arabtec Holding PJSC",
"Arabtec Holding PJSC"), refin_esg = c(NA, NA, NA, NA, 48.74,
54.32, 63.81, 67.64, 71.74, 68.17, 63.8, NA, NA, NA, NA, NA,
NA, NA, NA, NA, 30.89, NA, NA, NA, NA), refin_e = c(NA, NA, NA,
NA, 23.21, 53.02, 60.18, 18.64, 50.25, 52.21, 46.69, NA, NA,
NA, NA, NA, NA, NA, NA, NA, 20.52, NA, NA, NA, NA), esg_msci_hist = c(NA,
NA, NA, NA, NA, 70, 84, 73, 74, 63, 71, NA, NA, NA, NA, NA, NA,
NA, NA, NA, NA, NA, NA, NA, NA), env_msci_hist = c(NA, NA, NA,
NA, NA, 29, 17, 20, 19, 14, 26, NA, NA, NA, NA, NA, NA, NA, NA,
NA, NA, NA, NA, NA, NA), ESG_spg = c(NA, NA, NA, NA, NA, 35,
36, 37, 26, 20, 15, NA, NA, NA, NA, NA, NA, NA, NA, NA, 8, 6,
NA, NA, NA), E_spg = c(NA, NA, NA, NA, NA, 18, 26, 26, 15, 12,
2, NA, NA, NA, NA, NA, NA, NA, NA, NA, 6, 0, NA, NA, NA)), row.names = c(NA,
25L), class = "data.frame")
panel_data1
panel_data1 <- panel_data %>% filter(!is.na(refin_e) & !is.na(refin_esg) &
!is.na(sc1_refin) & !is.na(sc2_refin) &
!is.na(sct_refin) & !is.na(sc12inten_refin) &
!is.na(E_spg) & !is.na(ESG_spg) & !is.na(mktcap) &
!is.na(carbonscope1_trucost) &
!is.na(carbonscope2_trucost) & !is.na(carbon_inten_scope1_trucost) &
!is.na(carbon_inten_scope2_trucost) &
!is.na(env_msci_hist) & !is.na(esg_msci_hist) &
!is.na(scope1_msci_carb) & !is.na(scope2_msci_carb) &
!is.na(scope12_msci_carb) & !is.na(scope12inten_msci_carb))
The output of this data is 2103 companies.
panel_data2
panel_data2 <- panel_data %>%
filter(!is.na(refin_e) & !is.na(refin_esg) &
!is.na(sc1_refin) & !is.na(sc2_refin) &
!is.na(sct_refin) & !is.na(sc12inten_refin) &
!is.na(E_spg) & !is.na(ESG_spg) & !is.na(mktcap) &
!is.na(carbonscope1_trucost) &
!is.na(carbonscope2_trucost) &
!is.na(carbon_inten_scope1_trucost) &
!is.na(carbon_inten_scope2_trucost) &
!is.na(env_msci_hist) & !is.na(esg_msci_hist) &
!is.na(scope1_msci_carb) & !is.na(scope2_msci_carb) &
!is.na(scope12_msci_carb) &
!is.na(scope12inten_msci_carb) &
!is.na(carbonscope3_trucost) &
!is.na(sc3_refin) & !is.na(scope3_msci_carb) &
!is.na(carbon_inten_scope3_trucost))
The output of this data is 1704.
I want to be able to have a new data frame with the 399 that were dropped, if possible