diff --git a/.gitignore b/.gitignore
new file mode 100644
index 00000000..5b6df9ab
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,180 @@
+#################
+## Eclipse
+#################
+*.pydevproject
+.project
+.metadata
+bin/
+tmp/
+*.tmp
+*.bak
+*.swp
+*~.nib
+local.properties
+.classpath
+.settings/
+.loadpath
+# External tool builders
+.externalToolBuilders/
+# Locally stored "Eclipse launch configurations"
+*.launch
+# CDT-specific
+.cproject
+# PDT-specific
+.buildpath
+#################
+## Visual Studio
+#################
+## Ignore Visual Studio temporary files, build results, and
+## files generated by popular Visual Studio add-ons.
+# User-specific files
+*.suo
+*.user
+*.sln.docstates
+# Build results
+[Dd]ebug/
+[Rr]elease/
+x64/
+build/
+[Bb]in/
+[Oo]bj/
+# MSTest test Results
+[Tt]est[Rr]esult*/
+[Bb]uild[Ll]og.*
+*_i.c
+*_p.c
+*.ilk
+*.meta
+*.obj
+*.pch
+*.pdb
+*.pgc
+*.pgd
+*.rsp
+*.sbr
+*.tlb
+*.tli
+*.tlh
+*.tmp
+*.tmp_proj
+*.log
+*.vspscc
+*.vssscc
+.builds
+*.pidb
+*.log
+*.scc
+# Visual C++ cache files
+ipch/
+*.aps
+*.ncb
+*.opensdf
+*.sdf
+*.cachefile
+# Visual Studio profiler
+*.psess
+*.vsp
+*.vspx
+# Guidance Automation Toolkit
+*.gpState
+# ReSharper is a .NET coding add-in
+_ReSharper*/
+*.[Rr]e[Ss]harper
+# TeamCity is a build add-in
+_TeamCity*
+# DotCover is a Code Coverage Tool
+*.dotCover
+# NCrunch
+*.ncrunch*
+.*crunch*.local.xml
+# Installshield output folder
+[Ee]xpress/
+# DocProject is a documentation generator add-in
+DocProject/buildhelp/
+DocProject/Help/*.HxT
+DocProject/Help/*.HxC
+DocProject/Help/*.hhc
+DocProject/Help/*.hhk
+DocProject/Help/*.hhp
+DocProject/Help/Html2
+DocProject/Help/html
+# Click-Once directory
+publish/
+# Publish Web Output
+*.Publish.xml
+*.pubxml
+*.publishproj
+# NuGet Packages Directory
+## TODO: If you have NuGet Package Restore enabled, uncomment the next line
+#packages/
+# Windows Azure Build Output
+csx
+*.build.csdef
+# Windows Store app package directory
+AppPackages/
+# Others
+sql/
+*.Cache
+ClientBin/
+[Ss]tyle[Cc]op.*
+~$*
+*~
+*.dbmdl
+*.[Pp]ublish.xml
+*.pfx
+*.publishsettings
+# RIA/Silverlight projects
+Generated_Code/
+# Backup & report files from converting an old project file to a newer
+# Visual Studio version. Backup files are not needed, because we have git ;-)
+_UpgradeReport_Files/
+Backup*/
+UpgradeLog*.XML
+UpgradeLog*.htm
+# SQL Server files
+App_Data/*.mdf
+App_Data/*.ldf
+#############
+## Windows detritus
+#############
+# Windows image file caches
+Thumbs.db
+ehthumbs.db
+# Folder config file
+Desktop.ini
+# Recycle Bin used on file shares
+$RECYCLE.BIN/
+# Mac crap
+.DS_Store
+#############
+## Python
+#############
+*.py[cod]
+# Packages
+*.egg
+*.egg-info
+dist/
+build/
+eggs/
+parts/
+var/
+sdist/
+develop-eggs/
+.installed.cfg
+# Installer logs
+pip-log.txt
+# Unit test / coverage reports
+.coverage
+.tox
+#Translations
+*.mo
+#Mr Developer
+.mr.developer.cfg
+.Rproj.user
+.RData
+.Rhistory
+.sync.ffs_db
+sync.ffs_db
+R/dt2Urban.rda
+R/dt2Rural.rda
+IRHEIS.Rproj
diff --git a/Data/Archive/Geo4.xlsx b/Data/Archive/Geo4.xlsx
new file mode 100644
index 00000000..b13f60c1
Binary files /dev/null and b/Data/Archive/Geo4.xlsx differ
diff --git a/Data/Archive/GeoInfo.Shahrestan.xlsx b/Data/Archive/GeoInfo.Shahrestan.xlsx
new file mode 100644
index 00000000..9f47481d
Binary files /dev/null and b/Data/Archive/GeoInfo.Shahrestan.xlsx differ
diff --git a/Data/Archive/MetaData.bkp.xlsx b/Data/Archive/MetaData.bkp.xlsx
new file mode 100644
index 00000000..acefc58f
Binary files /dev/null and b/Data/Archive/MetaData.bkp.xlsx differ
diff --git a/Data/Archive/MetaData2.xlsx b/Data/Archive/MetaData2.xlsx
new file mode 100644
index 00000000..57676a33
Binary files /dev/null and b/Data/Archive/MetaData2.xlsx differ
diff --git a/Data/CountyCodes8791/Y87ShCode.dta b/Data/CountyCodes8791/Y87ShCode.dta
new file mode 100644
index 00000000..d845c79c
Binary files /dev/null and b/Data/CountyCodes8791/Y87ShCode.dta differ
diff --git a/Data/CountyCodes8791/Y87ShCode.rda b/Data/CountyCodes8791/Y87ShCode.rda
new file mode 100644
index 00000000..17ce9590
Binary files /dev/null and b/Data/CountyCodes8791/Y87ShCode.rda differ
diff --git a/Data/CountyCodes8791/Y88ShCode.dta b/Data/CountyCodes8791/Y88ShCode.dta
new file mode 100644
index 00000000..5dde66a4
Binary files /dev/null and b/Data/CountyCodes8791/Y88ShCode.dta differ
diff --git a/Data/CountyCodes8791/Y88ShCode.rda b/Data/CountyCodes8791/Y88ShCode.rda
new file mode 100644
index 00000000..d1ada6a9
Binary files /dev/null and b/Data/CountyCodes8791/Y88ShCode.rda differ
diff --git a/Data/CountyCodes8791/Y89ShCode.dta b/Data/CountyCodes8791/Y89ShCode.dta
new file mode 100644
index 00000000..de27eecf
Binary files /dev/null and b/Data/CountyCodes8791/Y89ShCode.dta differ
diff --git a/Data/CountyCodes8791/Y89ShCode.rda b/Data/CountyCodes8791/Y89ShCode.rda
new file mode 100644
index 00000000..21431a84
Binary files /dev/null and b/Data/CountyCodes8791/Y89ShCode.rda differ
diff --git a/Data/CountyCodes8791/Y90ShCode.dta b/Data/CountyCodes8791/Y90ShCode.dta
new file mode 100644
index 00000000..fab90a02
Binary files /dev/null and b/Data/CountyCodes8791/Y90ShCode.dta differ
diff --git a/Data/CountyCodes8791/Y90ShCode.rda b/Data/CountyCodes8791/Y90ShCode.rda
new file mode 100644
index 00000000..dd6d333d
Binary files /dev/null and b/Data/CountyCodes8791/Y90ShCode.rda differ
diff --git a/Data/CountyCodes8791/Y91ShCode.dta b/Data/CountyCodes8791/Y91ShCode.dta
new file mode 100644
index 00000000..1f037c57
Binary files /dev/null and b/Data/CountyCodes8791/Y91ShCode.dta differ
diff --git a/Data/CountyCodes8791/Y91ShCode.rda b/Data/CountyCodes8791/Y91ShCode.rda
new file mode 100644
index 00000000..86f916b8
Binary files /dev/null and b/Data/CountyCodes8791/Y91ShCode.rda differ
diff --git a/Data/D80Link.accdb b/Data/D80Link.accdb
new file mode 100644
index 00000000..d1702fe7
Binary files /dev/null and b/Data/D80Link.accdb differ
diff --git a/Data/MetaData.xlsx b/Data/MetaData.xlsx
new file mode 100644
index 00000000..66494f87
Binary files /dev/null and b/Data/MetaData.xlsx differ
diff --git a/Data/MetaDataFT.xlsx b/Data/MetaDataFT.xlsx
new file mode 100644
index 00000000..198f7e9d
Binary files /dev/null and b/Data/MetaDataFT.xlsx differ
diff --git a/Data/MetaDatarev0.xlsx b/Data/MetaDatarev0.xlsx
new file mode 100644
index 00000000..765920de
Binary files /dev/null and b/Data/MetaDatarev0.xlsx differ
diff --git a/Data/PriceCodes.xlsx b/Data/PriceCodes.xlsx
new file mode 100644
index 00000000..a694afe5
Binary files /dev/null and b/Data/PriceCodes.xlsx differ
diff --git a/Data/ProvinceCPI.xlsx b/Data/ProvinceCPI.xlsx
new file mode 100644
index 00000000..a435739f
Binary files /dev/null and b/Data/ProvinceCPI.xlsx differ
diff --git a/Data/ProvinceFarsiNames.xlsx b/Data/ProvinceFarsiNames.xlsx
new file mode 100644
index 00000000..65ccefc9
Binary files /dev/null and b/Data/ProvinceFarsiNames.xlsx differ
diff --git a/Data/SamplingWeights/HHWeights76.rda b/Data/SamplingWeights/HHWeights76.rda
new file mode 100644
index 00000000..0c7aaa33
Binary files /dev/null and b/Data/SamplingWeights/HHWeights76.rda differ
diff --git a/Data/SamplingWeights/HHWeights77.rda b/Data/SamplingWeights/HHWeights77.rda
new file mode 100644
index 00000000..ff2629c5
Binary files /dev/null and b/Data/SamplingWeights/HHWeights77.rda differ
diff --git a/Data/SamplingWeights/HHWeights78.rda b/Data/SamplingWeights/HHWeights78.rda
new file mode 100644
index 00000000..e79af124
Binary files /dev/null and b/Data/SamplingWeights/HHWeights78.rda differ
diff --git a/Data/SamplingWeights/HHWeights79.rda b/Data/SamplingWeights/HHWeights79.rda
new file mode 100644
index 00000000..fa923628
Binary files /dev/null and b/Data/SamplingWeights/HHWeights79.rda differ
diff --git a/Data/SamplingWeights/HHWeights80.rda b/Data/SamplingWeights/HHWeights80.rda
new file mode 100644
index 00000000..59f63e6e
Binary files /dev/null and b/Data/SamplingWeights/HHWeights80.rda differ
diff --git a/Data/SamplingWeights/HHWeights81.rda b/Data/SamplingWeights/HHWeights81.rda
new file mode 100644
index 00000000..7be16083
Binary files /dev/null and b/Data/SamplingWeights/HHWeights81.rda differ
diff --git a/Data/SamplingWeights/HHWeights82.rda b/Data/SamplingWeights/HHWeights82.rda
new file mode 100644
index 00000000..89ae3464
Binary files /dev/null and b/Data/SamplingWeights/HHWeights82.rda differ
diff --git a/Data/SamplingWeights/HHWeights83.rda b/Data/SamplingWeights/HHWeights83.rda
new file mode 100644
index 00000000..f1f776c5
Binary files /dev/null and b/Data/SamplingWeights/HHWeights83.rda differ
diff --git a/Data/SamplingWeights/HHWeights84.rda b/Data/SamplingWeights/HHWeights84.rda
new file mode 100644
index 00000000..1a666f2a
Binary files /dev/null and b/Data/SamplingWeights/HHWeights84.rda differ
diff --git a/Data/SamplingWeights/HHWeights85.rda b/Data/SamplingWeights/HHWeights85.rda
new file mode 100644
index 00000000..e3098065
Binary files /dev/null and b/Data/SamplingWeights/HHWeights85.rda differ
diff --git a/Data/SamplingWeights/HHWeights86.rda b/Data/SamplingWeights/HHWeights86.rda
new file mode 100644
index 00000000..6f22fe6c
Binary files /dev/null and b/Data/SamplingWeights/HHWeights86.rda differ
diff --git a/Data/SamplingWeights/HHWeights87.rda b/Data/SamplingWeights/HHWeights87.rda
new file mode 100644
index 00000000..800f6701
Binary files /dev/null and b/Data/SamplingWeights/HHWeights87.rda differ
diff --git a/Data/SamplingWeights/HHWeights88.rda b/Data/SamplingWeights/HHWeights88.rda
new file mode 100644
index 00000000..32102d1b
Binary files /dev/null and b/Data/SamplingWeights/HHWeights88.rda differ
diff --git a/Data/SamplingWeights/HHWeights89.rda b/Data/SamplingWeights/HHWeights89.rda
new file mode 100644
index 00000000..1fcc4361
Binary files /dev/null and b/Data/SamplingWeights/HHWeights89.rda differ
diff --git a/Data/SamplingWeights/HHWeights90.rda b/Data/SamplingWeights/HHWeights90.rda
new file mode 100644
index 00000000..e26d61f1
Binary files /dev/null and b/Data/SamplingWeights/HHWeights90.rda differ
diff --git a/Data/SamplingWeights/HHWeights91.rda b/Data/SamplingWeights/HHWeights91.rda
new file mode 100644
index 00000000..33835000
Binary files /dev/null and b/Data/SamplingWeights/HHWeights91.rda differ
diff --git a/Data/SamplingWeights/HHWeights92.rda b/Data/SamplingWeights/HHWeights92.rda
new file mode 100644
index 00000000..b58bd87f
Binary files /dev/null and b/Data/SamplingWeights/HHWeights92.rda differ
diff --git a/Data/SamplingWeights/HHWeights93.rda b/Data/SamplingWeights/HHWeights93.rda
new file mode 100644
index 00000000..1255b49d
Binary files /dev/null and b/Data/SamplingWeights/HHWeights93.rda differ
diff --git a/Data/SamplingWeights/HHWeights94.rda b/Data/SamplingWeights/HHWeights94.rda
new file mode 100644
index 00000000..902f5996
Binary files /dev/null and b/Data/SamplingWeights/HHWeights94.rda differ
diff --git a/Data/SamplingWeights/HHWeights95.rda b/Data/SamplingWeights/HHWeights95.rda
new file mode 100644
index 00000000..5efb6f59
Binary files /dev/null and b/Data/SamplingWeights/HHWeights95.rda differ
diff --git a/Data/SamplingWeights/HHWeights96.rda b/Data/SamplingWeights/HHWeights96.rda
new file mode 100644
index 00000000..6df34d6a
Binary files /dev/null and b/Data/SamplingWeights/HHWeights96.rda differ
diff --git a/Data/SamplingWeights/HHWeights97.rda b/Data/SamplingWeights/HHWeights97.rda
new file mode 100644
index 00000000..f6d922b8
Binary files /dev/null and b/Data/SamplingWeights/HHWeights97.rda differ
diff --git a/Data/SamplingWeights/HHWeights98.rda b/Data/SamplingWeights/HHWeights98.rda
new file mode 100644
index 00000000..28098431
Binary files /dev/null and b/Data/SamplingWeights/HHWeights98.rda differ
diff --git a/Data/SamplingWeights/HHWeights99.rda b/Data/SamplingWeights/HHWeights99.rda
new file mode 100644
index 00000000..0742452c
Binary files /dev/null and b/Data/SamplingWeights/HHWeights99.rda differ
diff --git a/Data/SamplingWeights/readme.md b/Data/SamplingWeights/readme.md
new file mode 100644
index 00000000..311c4342
--- /dev/null
+++ b/Data/SamplingWeights/readme.md
@@ -0,0 +1,25 @@
+# SamplingWeights
+provides sampling weights of all households in samples from 1376 onward. Weights data are extracted from "Summary" files provided by SCI. Sampling weights for years before 1376 are not provided by SCI, a rough estimate can be based on rural and urban population of each province or rural and urban population of the country (these files do not include such estimates).
+
+
+https://github.com/IPRCIRI/IRHEIS/raw/master/Data/SamplingWeights/HHWeights76.rda
+https://github.com/IPRCIRI/IRHEIS/raw/master/Data/SamplingWeights/HHWeights77.rda
+https://github.com/IPRCIRI/IRHEIS/raw/master/Data/SamplingWeights/HHWeights78.rda
+https://github.com/IPRCIRI/IRHEIS/raw/master/Data/SamplingWeights/HHWeights79.rda
+https://github.com/IPRCIRI/IRHEIS/raw/master/Data/SamplingWeights/HHWeights80.rda
+https://github.com/IPRCIRI/IRHEIS/raw/master/Data/SamplingWeights/HHWeights81.rda
+https://github.com/IPRCIRI/IRHEIS/raw/master/Data/SamplingWeights/HHWeights82.rda
+https://github.com/IPRCIRI/IRHEIS/raw/master/Data/SamplingWeights/HHWeights83.rda
+https://github.com/IPRCIRI/IRHEIS/raw/master/Data/SamplingWeights/HHWeights84.rda
+https://github.com/IPRCIRI/IRHEIS/raw/master/Data/SamplingWeights/HHWeights85.rda
+https://github.com/IPRCIRI/IRHEIS/raw/master/Data/SamplingWeights/HHWeights86.rda
+https://github.com/IPRCIRI/IRHEIS/raw/master/Data/SamplingWeights/HHWeights87.rda
+https://github.com/IPRCIRI/IRHEIS/raw/master/Data/SamplingWeights/HHWeights88.rda
+https://github.com/IPRCIRI/IRHEIS/raw/master/Data/SamplingWeights/HHWeights89.rda
+https://github.com/IPRCIRI/IRHEIS/raw/master/Data/SamplingWeights/HHWeights90.rda
+https://github.com/IPRCIRI/IRHEIS/raw/master/Data/SamplingWeights/HHWeights91.rda
+https://github.com/IPRCIRI/IRHEIS/raw/master/Data/SamplingWeights/HHWeights92.rda
+https://github.com/IPRCIRI/IRHEIS/raw/master/Data/SamplingWeights/HHWeights93.rda
+https://github.com/IPRCIRI/IRHEIS/raw/master/Data/SamplingWeights/HHWeights94.rda
+https://github.com/IPRCIRI/IRHEIS/raw/master/Data/SamplingWeights/HHWeights95.rda
+https://github.com/IPRCIRI/IRHEIS/raw/master/Data/SamplingWeights/HHWeights96.rda
diff --git a/Data/inflation.xlsx b/Data/inflation.xlsx
new file mode 100644
index 00000000..6f5fdc71
Binary files /dev/null and b/Data/inflation.xlsx differ
diff --git a/Data/readme.md b/Data/readme.md
new file mode 100644
index 00000000..3ed39e6b
--- /dev/null
+++ b/Data/readme.md
@@ -0,0 +1,13 @@
+# Data
+This folder contains data that are needed to process Iranian Household Expenditures and Income Surveys data.
+Provided folders and files are described below.
+
+SamplingWeights provides sampling weights of all households in samples from 1376 onward.
+Weights data are extracted from "Summary" files provided by SCI.
+Sampling weights for years before 1376 are not provided by SCI, a rough estimated can be based on rural and urban population of each province or rural and urban population of the country (these files do not include such estimates).
+
+D80Link.accdb provides linked tables to 1380 data with abnormal table names.
+
+GeoInfo.Shahrestan.xlsx file provides information on administrative areas of Iran in levels of Shahrestan (County).
+
+MetaData.xlsx provides all metadata information related to the surveys.
diff --git a/IranProvinceMap/Data/GeoData.xlsx b/IranProvinceMap/Data/GeoData.xlsx
new file mode 100644
index 00000000..fe69991a
Binary files /dev/null and b/IranProvinceMap/Data/GeoData.xlsx differ
diff --git a/IranProvinceMap/IranProvinceMap.Rproj b/IranProvinceMap/IranProvinceMap.Rproj
new file mode 100644
index 00000000..b42a3ccb
--- /dev/null
+++ b/IranProvinceMap/IranProvinceMap.Rproj
@@ -0,0 +1,16 @@
+Version: 1.0
+
+RestoreWorkspace: Default
+SaveWorkspace: Default
+AlwaysSaveHistory: Default
+
+EnableCodeIndexing: Yes
+UseSpacesForTab: Yes
+NumSpacesForTab: 2
+Encoding: UTF-8
+
+RnwWeave: knitr
+LaTeX: XeLaTeX
+
+AutoAppendNewline: Yes
+StripTrailingWhitespace: Yes
diff --git a/IranProvinceMap/PlotDataMaps.R b/IranProvinceMap/PlotDataMaps.R
new file mode 100644
index 00000000..3a107300
--- /dev/null
+++ b/IranProvinceMap/PlotDataMaps.R
@@ -0,0 +1,46 @@
+rm(list=ls())
+
+library(data.table)
+library(readxl)
+library(rworldmap)
+library(rgdal)
+
+
+GeP <- data.table(read_excel("Data/GeoData.xlsx","Province")) # Data to be plotted, see the excell file
+
+tfs <- paste0("+proj=lcc +lat_1=30 +lat_2=36 +lat_0=24 +lon_0=54 ",
+ "+x_0=0 +y_0=0 +datum=WGS84 +units=m +no_defs ",
+ "+ellps=WGS84 +towgs84=0,0,0") # Transformation to make all shapefiles in one coordinate system
+
+o <- capture.output(Seas <- readOGR("Shapefiles/1385",
+ layer = "Sea")) # Maps of Caspian Sea, Persian Gulf, & Oman Sea
+Seas <- spTransform(Seas,CRS(tfs))
+
+o <- capture.output(Lakes <- readOGR("Shapefiles/1385", # Maps of Lakes
+ layer = "Lake"))
+Lakes <- spTransform(Lakes,CRS(tfs))
+
+o <- capture.output(ProvMap <- readOGR("Shapefiles/OSM", # Maps of provinces based on latest admin. areas.
+ layer = "Iran_AL4")) # extracted from openstreetmaps.org
+ProvMap <- spTransform(ProvMap,CRS(tfs))
+
+MapData <- rworldmap::joinData2Map(GeP, # Joining the data to map
+ nameMap="ProvMap",
+ nameJoinIDMap="ENNAME", # province name in shapefile
+ nameJoinColumnData="NameEn2", # province name in data excel
+ verbose = TRUE)
+
+plot(Seas,col="lightblue", border="lightblue") # plot seas
+plot(Lakes[c(15,25),],add=TRUE,col="lightblue", border="lightblue") # plot just Urmia and Qom lakes
+
+mapParams <- rworldmap::mapPolys(MapData, add = TRUE, nameColumnToPlot = "PopDensity",
+ colourPalette = "heat",
+ mapTitle = paste0("Population Density"),
+ addLegend = FALSE) # Plot data
+do.call( addMapLegend, c( mapParams
+ , legendLabels = "all" # add legend
+ , digits = 2
+ , legendWidth = 0.7
+ , legendShrink = .5
+ , horizontal = TRUE))
+
diff --git a/IranProvinceMap/Shapefiles/1385/Bakhsh.dbf b/IranProvinceMap/Shapefiles/1385/Bakhsh.dbf
new file mode 100644
index 00000000..efd2feec
Binary files /dev/null and b/IranProvinceMap/Shapefiles/1385/Bakhsh.dbf differ
diff --git a/IranProvinceMap/Shapefiles/1385/Bakhsh.prj b/IranProvinceMap/Shapefiles/1385/Bakhsh.prj
new file mode 100644
index 00000000..3649b770
--- /dev/null
+++ b/IranProvinceMap/Shapefiles/1385/Bakhsh.prj
@@ -0,0 +1 @@
+PROJCS["Lambert of IRAN",GEOGCS["GCS_WGS_1984",DATUM["D_WGS_1984",SPHEROID["WGS_1984",6378137.0,298.257223563]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",0.0],PARAMETER["False_Northing",0.0],PARAMETER["Central_Meridian",54.0],PARAMETER["Standard_Parallel_1",30.0],PARAMETER["Standard_Parallel_2",36.0],PARAMETER["Latitude_Of_Origin",24.0],UNIT["Meter",1.0]]
\ No newline at end of file
diff --git a/IranProvinceMap/Shapefiles/1385/Bakhsh.sbn b/IranProvinceMap/Shapefiles/1385/Bakhsh.sbn
new file mode 100644
index 00000000..059c21fc
Binary files /dev/null and b/IranProvinceMap/Shapefiles/1385/Bakhsh.sbn differ
diff --git a/IranProvinceMap/Shapefiles/1385/Bakhsh.sbx b/IranProvinceMap/Shapefiles/1385/Bakhsh.sbx
new file mode 100644
index 00000000..425a00cd
Binary files /dev/null and b/IranProvinceMap/Shapefiles/1385/Bakhsh.sbx differ
diff --git a/IranProvinceMap/Shapefiles/1385/Bakhsh.shp b/IranProvinceMap/Shapefiles/1385/Bakhsh.shp
new file mode 100644
index 00000000..c87692f7
Binary files /dev/null and b/IranProvinceMap/Shapefiles/1385/Bakhsh.shp differ
diff --git a/IranProvinceMap/Shapefiles/1385/Bakhsh.shx b/IranProvinceMap/Shapefiles/1385/Bakhsh.shx
new file mode 100644
index 00000000..8eb64078
Binary files /dev/null and b/IranProvinceMap/Shapefiles/1385/Bakhsh.shx differ
diff --git a/IranProvinceMap/Shapefiles/1385/City.dbf b/IranProvinceMap/Shapefiles/1385/City.dbf
new file mode 100644
index 00000000..01c306a7
Binary files /dev/null and b/IranProvinceMap/Shapefiles/1385/City.dbf differ
diff --git a/IranProvinceMap/Shapefiles/1385/City.prj b/IranProvinceMap/Shapefiles/1385/City.prj
new file mode 100644
index 00000000..3649b770
--- /dev/null
+++ b/IranProvinceMap/Shapefiles/1385/City.prj
@@ -0,0 +1 @@
+PROJCS["Lambert of IRAN",GEOGCS["GCS_WGS_1984",DATUM["D_WGS_1984",SPHEROID["WGS_1984",6378137.0,298.257223563]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",0.0],PARAMETER["False_Northing",0.0],PARAMETER["Central_Meridian",54.0],PARAMETER["Standard_Parallel_1",30.0],PARAMETER["Standard_Parallel_2",36.0],PARAMETER["Latitude_Of_Origin",24.0],UNIT["Meter",1.0]]
\ No newline at end of file
diff --git a/IranProvinceMap/Shapefiles/1385/City.sbn b/IranProvinceMap/Shapefiles/1385/City.sbn
new file mode 100644
index 00000000..ee33a5de
Binary files /dev/null and b/IranProvinceMap/Shapefiles/1385/City.sbn differ
diff --git a/IranProvinceMap/Shapefiles/1385/City.sbx b/IranProvinceMap/Shapefiles/1385/City.sbx
new file mode 100644
index 00000000..e6293c09
Binary files /dev/null and b/IranProvinceMap/Shapefiles/1385/City.sbx differ
diff --git a/IranProvinceMap/Shapefiles/1385/City.shp b/IranProvinceMap/Shapefiles/1385/City.shp
new file mode 100644
index 00000000..5d96e96a
Binary files /dev/null and b/IranProvinceMap/Shapefiles/1385/City.shp differ
diff --git a/IranProvinceMap/Shapefiles/1385/City.shp.xml b/IranProvinceMap/Shapefiles/1385/City.shp.xml
new file mode 100644
index 00000000..05d4a65b
--- /dev/null
+++ b/IranProvinceMap/Shapefiles/1385/City.shp.xml
@@ -0,0 +1,3 @@
+
+
+2006120314391500FALSE20061129115415002006112911541500Erase City2 Dehestan "D:\WORKS\Tagsimat_sh\shape_tag_t.84\Fainal_nez\New Folder\City6.shp" "0.000000 Millimeters"{BB5A9C18-76CE-494D-BD5F-927F32F5C157}\\JAMSHID\D$\works\tagsimat_sh\shape_tag_t.84\fainal_database\new folder\CityCopyREQUIRED: The name of an organization or individual that developed the data set.REQUIRED: The date when the data set is published or otherwise made available for release.City6City6vector digital dataMicrosoft Windows XP Version 5.1 (Build 2600) Service Pack 2, v.2055; ESRI ArcCatalog 9.0.0.535faREQUIRED: A brief narrative summary of the data set.REQUIRED: A summary of the intentions with which the data set was developed.REQUIRED: The basis on which the time period of content information is determined.REQUIRED: The year (and optionally month, or month and day) for which the data set corresponds to the ground.REQUIRED: The frequency with which changes and additions are made to the data set after the initial data set is completed.REQUIRED: Western-most coordinate of the limit of coverage expressed in longitude.REQUIRED: Eastern-most coordinate of the limit of coverage expressed in longitude.REQUIRED: Northern-most coordinate of the limit of coverage expressed in latitude.REQUIRED: Southern-most coordinate of the limit of coverage expressed in latitude.REQUIRED: Reference to a formally registered thesaurus or a similar authoritative source of theme keywords.REQUIRED: Common-use word or phrase used to describe the subject of the data set.REQUIRED: Restrictions and legal prerequisites for accessing the data set.REQUIRED: Restrictions and legal prerequisites for using the data set after access is granted.Shapefilefile://\\JAMSHID\D$\works\tagsimat_sh\shape_tag_t.84\fainal_database\new folder\CityCopyLocal Area Network0020.000ShapefileDataset copied.D:\WORKS\Tagsimat_sh\shape_tag_t.84\Fainal_database\City_n120061021Dataset copied.D:\WORKS\Tagsimat_sh\shape_tag_t.84\es_fainal_database\City_n120061108Dataset copied.20061129Dataset copied.D:\WORKS\Tagsimat_sh\shape_tag_t.84\Fainal_nez\New Folder\City20061203Microsoft Windows XP Version 5.1 (Build 2600) Service Pack 2, v.2055; ESRI ArcCatalog 9.0.0.535City6faFGDC Content Standards for Digital Geospatial MetadataFGDC-STD-001-1998local timehttp://www.esri.com/metadata/esriprof80.htmlESRI Metadata ProfileREQUIRED: The person responsible for the metadata information.REQUIRED: The organization responsible for the metadata information.REQUIRED: The mailing and/or physical address for the organization or individual.REQUIRED: The city of the address.REQUIRED: The state or province of the address.REQUIRED: The ZIP or other postal code of the address.REQUIRED: The telephone number by which individuals can speak to the organization or individual.20061129ISO 19115 Geographic Information - MetadataDIS_ESRI1.0datasetDownloadable Data0.0000.000VectorSimplePolygonFALSE0FALSEFALSEG-polygon0GCS_WGS_1984Lambert of IRANLambert Conformal Conic30.00000036.00000054.00000024.0000000.0000000.000000coordinate pairmeters0.0010990.001099D_WGS_1984WGS_19846378137.000000298.257224Lambert of IRAN0City6Feature Class0FIDFIDOID400Internal feature number.ESRISequential unique whole numbers that are automatically generated.ShapeShapeGeometry000Feature geometry.ESRICoordinates defining the features.OSTAN_NAMOSTAN_NAMString50SHAHR_NAMSHAHR_NAMString50SHAHR_ENGSHAHR_ENGString5020061129
diff --git a/IranProvinceMap/Shapefiles/1385/City.shx b/IranProvinceMap/Shapefiles/1385/City.shx
new file mode 100644
index 00000000..9af8b35f
Binary files /dev/null and b/IranProvinceMap/Shapefiles/1385/City.shx differ
diff --git a/IranProvinceMap/Shapefiles/1385/City_Point.dbf b/IranProvinceMap/Shapefiles/1385/City_Point.dbf
new file mode 100644
index 00000000..6b34760a
Binary files /dev/null and b/IranProvinceMap/Shapefiles/1385/City_Point.dbf differ
diff --git a/IranProvinceMap/Shapefiles/1385/City_Point.prj b/IranProvinceMap/Shapefiles/1385/City_Point.prj
new file mode 100644
index 00000000..3649b770
--- /dev/null
+++ b/IranProvinceMap/Shapefiles/1385/City_Point.prj
@@ -0,0 +1 @@
+PROJCS["Lambert of IRAN",GEOGCS["GCS_WGS_1984",DATUM["D_WGS_1984",SPHEROID["WGS_1984",6378137.0,298.257223563]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",0.0],PARAMETER["False_Northing",0.0],PARAMETER["Central_Meridian",54.0],PARAMETER["Standard_Parallel_1",30.0],PARAMETER["Standard_Parallel_2",36.0],PARAMETER["Latitude_Of_Origin",24.0],UNIT["Meter",1.0]]
\ No newline at end of file
diff --git a/IranProvinceMap/Shapefiles/1385/City_Point.sbn b/IranProvinceMap/Shapefiles/1385/City_Point.sbn
new file mode 100644
index 00000000..e26e2e35
Binary files /dev/null and b/IranProvinceMap/Shapefiles/1385/City_Point.sbn differ
diff --git a/IranProvinceMap/Shapefiles/1385/City_Point.sbx b/IranProvinceMap/Shapefiles/1385/City_Point.sbx
new file mode 100644
index 00000000..5f0c5371
Binary files /dev/null and b/IranProvinceMap/Shapefiles/1385/City_Point.sbx differ
diff --git a/IranProvinceMap/Shapefiles/1385/City_Point.shp b/IranProvinceMap/Shapefiles/1385/City_Point.shp
new file mode 100644
index 00000000..e79f24b7
Binary files /dev/null and b/IranProvinceMap/Shapefiles/1385/City_Point.shp differ
diff --git a/IranProvinceMap/Shapefiles/1385/City_Point.shp.xml b/IranProvinceMap/Shapefiles/1385/City_Point.shp.xml
new file mode 100644
index 00000000..680f63e5
--- /dev/null
+++ b/IranProvinceMap/Shapefiles/1385/City_Point.shp.xml
@@ -0,0 +1,3 @@
+
+
+2007010314203000TRUECreateFeatureclass "D:\WORKS\Tagsimat_sh\shape_tag_t.84\Fainal_nez\Nezarat_ Geodatabase.mdb\nezarat_85" City_Point # City_Point_Layer SAME_AS_TEMPLATE SAME_AS_TEMPLATE "PROJCS['Lambert of IRAN',GEOGCS['GCS_WGS_1984',DATUM['D_WGS_1984',SPHEROID['WGS_1984',6378137.0,298.257223563]],PRIMEM['Greenwich',0.0],UNIT['Degree',0.0174532925199433]],PROJECTION['Lambert_Conformal_Conic'],PARAMETER['False_Easting',0.0],PARAMETER['False_Northing',0.0],PARAMETER['Central_Meridian',54.0],PARAMETER['Standard_Parallel_1',30.0],PARAMETER['Standard_Parallel_2',36.0],PARAMETER['Latitude_Of_Origin',24.0],UNIT['Meter',1.0]];-4365026.918150 -3430792.895406 244.140625;0.000000 100000.000000;0.000000 100000.000000" # 0 0 0 "D:\WORKS\Tagsimat_sh\shape_tag_t.84\Fainal_nez\Nezarat_ Geodatabase.mdb\nezarat_85\City_Point"Append City_Point_Layer "D:\WORKS\Tagsimat_sh\shape_tag_t.84\Fainal_nez\Nezarat_ Geodatabase.mdb\nezarat_85\City_Point" TEST "D:\WORKS\Tagsimat_sh\shape_tag_t.84\Fainal_nez\Nezarat_ Geodatabase.mdb\nezarat_85\City_Point"FeatureClassToFeatureClass "D:\WORKS\Tagsimat_sh\shape_tag_t.84\Fainal_database\country division_asli.mdb\division\City_Point" "D:\WORKS\Tagsimat_sh\shape_tag_t.84\Fainal_nez\Nezarat_ Geodatabase.mdb\nezarat_85" City_Point # "OBJECTID OBJECTID VISIBLE;GeoName GeoName VISIBLE;Landa Landa VISIBLE;Fie Fie VISIBLE;Height Height VISIBLE;K_sheet_ K_sheet_ VISIBLE;OSTAN_NAM OSTAN_NAM VISIBLE" SAME_AS_TEMPLATE SAME_AS_TEMPLATE # 0 "D:\WORKS\Tagsimat_sh\shape_tag_t.84\Fainal_nez\Nezarat_ Geodatabase.mdb\nezarat_85\City_Point"{DF6BC0C1-8AB1-4E3B-B56D-0CA74D54D2E3}file://Local Area NetworkDataset copied.\\JAMSHID\D$\WORKS\Tagsimat_sh\shape_tag_t.84\Fainal_nez\Nezarat_ Geodatabase.mdb20070103
diff --git a/IranProvinceMap/Shapefiles/1385/City_Point.shx b/IranProvinceMap/Shapefiles/1385/City_Point.shx
new file mode 100644
index 00000000..c7289a8d
Binary files /dev/null and b/IranProvinceMap/Shapefiles/1385/City_Point.shx differ
diff --git a/IranProvinceMap/Shapefiles/1385/Dehestan.dbf b/IranProvinceMap/Shapefiles/1385/Dehestan.dbf
new file mode 100644
index 00000000..37a4a370
Binary files /dev/null and b/IranProvinceMap/Shapefiles/1385/Dehestan.dbf differ
diff --git a/IranProvinceMap/Shapefiles/1385/Dehestan.prj b/IranProvinceMap/Shapefiles/1385/Dehestan.prj
new file mode 100644
index 00000000..3649b770
--- /dev/null
+++ b/IranProvinceMap/Shapefiles/1385/Dehestan.prj
@@ -0,0 +1 @@
+PROJCS["Lambert of IRAN",GEOGCS["GCS_WGS_1984",DATUM["D_WGS_1984",SPHEROID["WGS_1984",6378137.0,298.257223563]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",0.0],PARAMETER["False_Northing",0.0],PARAMETER["Central_Meridian",54.0],PARAMETER["Standard_Parallel_1",30.0],PARAMETER["Standard_Parallel_2",36.0],PARAMETER["Latitude_Of_Origin",24.0],UNIT["Meter",1.0]]
\ No newline at end of file
diff --git a/IranProvinceMap/Shapefiles/1385/Dehestan.sbn b/IranProvinceMap/Shapefiles/1385/Dehestan.sbn
new file mode 100644
index 00000000..a0d10bed
Binary files /dev/null and b/IranProvinceMap/Shapefiles/1385/Dehestan.sbn differ
diff --git a/IranProvinceMap/Shapefiles/1385/Dehestan.sbx b/IranProvinceMap/Shapefiles/1385/Dehestan.sbx
new file mode 100644
index 00000000..9fa42df9
Binary files /dev/null and b/IranProvinceMap/Shapefiles/1385/Dehestan.sbx differ
diff --git a/IranProvinceMap/Shapefiles/1385/Dehestan.shp b/IranProvinceMap/Shapefiles/1385/Dehestan.shp
new file mode 100644
index 00000000..588204b3
Binary files /dev/null and b/IranProvinceMap/Shapefiles/1385/Dehestan.shp differ
diff --git a/IranProvinceMap/Shapefiles/1385/Dehestan.shp.xml b/IranProvinceMap/Shapefiles/1385/Dehestan.shp.xml
new file mode 100644
index 00000000..775ad338
--- /dev/null
+++ b/IranProvinceMap/Shapefiles/1385/Dehestan.shp.xml
@@ -0,0 +1,3 @@
+
+
+{25EBFAFA-63EC-4D89-868B-9935570A1FD0}2006120313305800TRUECreateFeatureclass "D:\WORKS\Tagsimat_sh\shape_tag_t.84\Fainal_database\New Folder" Dehestan # dehestan_Layer SAME_AS_TEMPLATE SAME_AS_TEMPLATE "PROJCS['Lambert of IRAN',GEOGCS['GCS_WGS_1984',DATUM['D_WGS_1984',SPHEROID['WGS_1984',6378137.0,298.257223563]],PRIMEM['Greenwich',0.0],UNIT['Degree',0.0174532925199433]],PROJECTION['Lambert_Conformal_Conic'],PARAMETER['False_Easting',0.0],PARAMETER['False_Northing',0.0],PARAMETER['Central_Meridian',54.0],PARAMETER['Standard_Parallel_1',30.0],PARAMETER['Standard_Parallel_2',36.0],PARAMETER['Latitude_Of_Origin',24.0],UNIT['Meter',1.0]];-4365026.918150 -3430792.895406 244.140625;0.000000 100000.000000;0.000000 100000.000000" # 0 0 0 "D:\WORKS\Tagsimat_sh\shape_tag_t.84\Fainal_database\New Folder\Dehestan.shp"Append dehestan_Layer "D:\WORKS\Tagsimat_sh\shape_tag_t.84\Fainal_database\New Folder\Dehestan.shp" TEST "D:\WORKS\Tagsimat_sh\shape_tag_t.84\Fainal_database\New Folder\Dehestan.shp"FeatureClassToFeatureClass "D:\WORKS\Tagsimat_sh\shape_tag_t.84\Fainal_database\country division_asli.mdb\division\dehestan" "D:\WORKS\Tagsimat_sh\shape_tag_t.84\Fainal_database\New Folder" Dehestan # "NEW_REGION NEW_REGION VISIBLE;OSTAN_COD OSTAN_COD VISIBLE;SHAHR_COD SHAHR_COD VISIBLE;BAKHSH_COD BAKHSH_COD VISIBLE;DEH_COD DEH_COD VISIBLE;REGION_NAM REGION_NAM VISIBLE;CENTER_NAM CENTER_NAM VISIBLE;CENTER_ENG CENTER_ENG VISIBLE;OSTAN_NAM OSTAN_NAM VISIBLE;SHAHR_NAM SHAHR_NAM VISIBLE;BAKHSH_NAM BAKHSH_NAM VISIBLE;DEH_NAM DEH_NAM VISIBLE;DEH_ENG DEH_ENG VISIBLE;REGION_ENG REGION_ENG VISIBLE;OSTAN_ENG OSTAN_ENG VISIBLE;SHAHR_ENG SHAHR_ENG VISIBLE;BAKHSH_ENG BAKHSH_ENG VISIBLE;REGION_COD REGION_COD VISIBLE;Shape_Length Shape_Leng VISIBLE;Shape_Area Shape_Area VISIBLE" SAME_AS_TEMPLATE SAME_AS_TEMPLATE # 0 "D:\WORKS\Tagsimat_sh\shape_tag_t.84\Fainal_database\New Folder\Dehestan.shp"
diff --git a/IranProvinceMap/Shapefiles/1385/Dehestan.shx b/IranProvinceMap/Shapefiles/1385/Dehestan.shx
new file mode 100644
index 00000000..9c5a062d
Binary files /dev/null and b/IranProvinceMap/Shapefiles/1385/Dehestan.shx differ
diff --git a/IranProvinceMap/Shapefiles/1385/Jazayer.dbf b/IranProvinceMap/Shapefiles/1385/Jazayer.dbf
new file mode 100644
index 00000000..bf3b5ebd
Binary files /dev/null and b/IranProvinceMap/Shapefiles/1385/Jazayer.dbf differ
diff --git a/IranProvinceMap/Shapefiles/1385/Jazayer.prj b/IranProvinceMap/Shapefiles/1385/Jazayer.prj
new file mode 100644
index 00000000..3649b770
--- /dev/null
+++ b/IranProvinceMap/Shapefiles/1385/Jazayer.prj
@@ -0,0 +1 @@
+PROJCS["Lambert of IRAN",GEOGCS["GCS_WGS_1984",DATUM["D_WGS_1984",SPHEROID["WGS_1984",6378137.0,298.257223563]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",0.0],PARAMETER["False_Northing",0.0],PARAMETER["Central_Meridian",54.0],PARAMETER["Standard_Parallel_1",30.0],PARAMETER["Standard_Parallel_2",36.0],PARAMETER["Latitude_Of_Origin",24.0],UNIT["Meter",1.0]]
\ No newline at end of file
diff --git a/IranProvinceMap/Shapefiles/1385/Jazayer.sbn b/IranProvinceMap/Shapefiles/1385/Jazayer.sbn
new file mode 100644
index 00000000..bc78d525
Binary files /dev/null and b/IranProvinceMap/Shapefiles/1385/Jazayer.sbn differ
diff --git a/IranProvinceMap/Shapefiles/1385/Jazayer.sbx b/IranProvinceMap/Shapefiles/1385/Jazayer.sbx
new file mode 100644
index 00000000..115e5a51
Binary files /dev/null and b/IranProvinceMap/Shapefiles/1385/Jazayer.sbx differ
diff --git a/IranProvinceMap/Shapefiles/1385/Jazayer.shp b/IranProvinceMap/Shapefiles/1385/Jazayer.shp
new file mode 100644
index 00000000..24456ced
Binary files /dev/null and b/IranProvinceMap/Shapefiles/1385/Jazayer.shp differ
diff --git a/IranProvinceMap/Shapefiles/1385/Jazayer.shp.xml b/IranProvinceMap/Shapefiles/1385/Jazayer.shp.xml
new file mode 100644
index 00000000..04d8891d
--- /dev/null
+++ b/IranProvinceMap/Shapefiles/1385/Jazayer.shp.xml
@@ -0,0 +1,3 @@
+
+
+2006120314074200FALSEDefineProjection D:\ASLI\base\shape_tag_83\fainal_8\jazayer.shp PROJCS['Lambert of IRAN',GEOGCS['GCS_WGS_1984',DATUM['D_WGS_1984',SPHEROID['WGS_1984',6378137.0,298.257223563]],PRIMEM['Greenwich',0.0],UNIT['Degree',0.0174532925199433]],PROJECTION['Lambert_Conformal_Conic'],PARAMETER['False_Easting',0.0],PARAMETER['False_Northing',0.0],PARAMETER['Central_Meridian',54.0],PARAMETER['Standard_Parallel_1',30.0],PARAMETER['Standard_Parallel_2',36.0],PARAMETER['Latitude_Of_Origin',24.0],UNIT['Meter',1.0]] D:\ASLI\base\shape_tag_83\fainal_8\jazayer.shp20060725184807002006072518480700{BA8E0873-D607-42BD-8204-6B28B7D130E5}Microsoft Windows XP Version 5.1 (Build 2600) Service Pack 1; ESRI ArcCatalog 9.0.0.535faREQUIRED: A brief narrative summary of the data set.REQUIRED: A summary of the intentions with which the data set was developed.REQUIRED: The name of an organization or individual that developed the data set.REQUIRED: The date when the data set is published or otherwise made available for release.jazayerjazayervector digital data\\JAMSHID\D$\works\tagsimat_sh\shape_tag_t.84\fainal_database\new folder\JazayerREQUIRED: The basis on which the time period of content information is determined.REQUIRED: The year (and optionally month, or month and day) for which the data set corresponds to the ground.REQUIRED: The frequency with which changes and additions are made to the data set after the initial data set is completed.45.22358156.84321338.42112425.119266-770645.575185249139.390000152941.6500001601695.502221REQUIRED: Reference to a formally registered thesaurus or a similar authoritative source of theme keywords.REQUIRED: Common-use word or phrase used to describe the subject of the data set.REQUIRED: Restrictions and legal prerequisites for accessing the data set.REQUIRED: Restrictions and legal prerequisites for using the data set after access is granted.ShapefileMicrosoft Windows XP Version 5.1 (Build 2600) Service Pack 1; ESRI ArcCatalog 9.0.0.535jazayer-770645.575185249139.391601695.502221152941.65145.22358156.84321338.42112425.1192661faFGDC Content Standards for Digital Geospatial MetadataFGDC-STD-001-1998local timehttp://www.esri.com/metadata/esriprof80.htmlESRI Metadata ProfileREQUIRED: The person responsible for the metadata information.REQUIRED: The organization responsible for the metadata information.REQUIRED: The mailing and/or physical address for the organization or individual.REQUIRED: The city of the address.REQUIRED: The state or province of the address.REQUIRED: The ZIP or other postal code of the address.REQUIRED: The telephone number by which individuals can speak to the organization or individual.20060725ISO 19115 Geographic Information - MetadataDIS_ESRI1.0datasetDownloadable Data0.0450.045002file://\\JAMSHID\D$\works\tagsimat_sh\shape_tag_t.84\fainal_database\new folder\JazayerLocal Area Network0.045ShapefileVectorSimplePolygonFALSE52TRUEFALSEG-polygon52GCS_WGS_1984Lambert of IRANLambert Conformal Conic30.00000036.00000054.00000024.0000000.0000000.000000coordinate pairmeters0.0020480.002048D_WGS_1984WGS_19846378137.000000298.257224Lambert of IRAN52jazayerFeature Class52FIDFIDOID400Internal feature number.ESRISequential unique whole numbers that are automatically generated.ShapeShapeGeometry000Feature geometry.ESRICoordinates defining the features.OSTAN_NOSTAN_NString30SHAHR_NSHAHR_NString30BAKHSH_NBAKHSH_NString30DEH_NDEH_NString30REGION_CODREGION_CODNumber8NEW_REGIONNEW_REGIONNumber8ISLAND__NISLAND__NString35ISLAND_EISLAND_EString35AreaAreaFloat191120060725Dataset copied.20061107Dataset copied.D:\WORKS\Tagsimat_sh\shape_tag_t.84\es_fainal_database\Jazayer20061108Dataset copied.D:\WORKS\Tagsimat_sh\shape_tag_t.84\Fainal_database\Jazayer20061203
diff --git a/IranProvinceMap/Shapefiles/1385/Jazayer.shx b/IranProvinceMap/Shapefiles/1385/Jazayer.shx
new file mode 100644
index 00000000..aaa2c2de
Binary files /dev/null and b/IranProvinceMap/Shapefiles/1385/Jazayer.shx differ
diff --git a/IranProvinceMap/Shapefiles/1385/Lake.dbf b/IranProvinceMap/Shapefiles/1385/Lake.dbf
new file mode 100644
index 00000000..e273804f
Binary files /dev/null and b/IranProvinceMap/Shapefiles/1385/Lake.dbf differ
diff --git a/IranProvinceMap/Shapefiles/1385/Lake.prj b/IranProvinceMap/Shapefiles/1385/Lake.prj
new file mode 100644
index 00000000..3649b770
--- /dev/null
+++ b/IranProvinceMap/Shapefiles/1385/Lake.prj
@@ -0,0 +1 @@
+PROJCS["Lambert of IRAN",GEOGCS["GCS_WGS_1984",DATUM["D_WGS_1984",SPHEROID["WGS_1984",6378137.0,298.257223563]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",0.0],PARAMETER["False_Northing",0.0],PARAMETER["Central_Meridian",54.0],PARAMETER["Standard_Parallel_1",30.0],PARAMETER["Standard_Parallel_2",36.0],PARAMETER["Latitude_Of_Origin",24.0],UNIT["Meter",1.0]]
\ No newline at end of file
diff --git a/IranProvinceMap/Shapefiles/1385/Lake.sbn b/IranProvinceMap/Shapefiles/1385/Lake.sbn
new file mode 100644
index 00000000..114ce65f
Binary files /dev/null and b/IranProvinceMap/Shapefiles/1385/Lake.sbn differ
diff --git a/IranProvinceMap/Shapefiles/1385/Lake.sbx b/IranProvinceMap/Shapefiles/1385/Lake.sbx
new file mode 100644
index 00000000..c19699a4
Binary files /dev/null and b/IranProvinceMap/Shapefiles/1385/Lake.sbx differ
diff --git a/IranProvinceMap/Shapefiles/1385/Lake.shp b/IranProvinceMap/Shapefiles/1385/Lake.shp
new file mode 100644
index 00000000..2e398d64
Binary files /dev/null and b/IranProvinceMap/Shapefiles/1385/Lake.shp differ
diff --git a/IranProvinceMap/Shapefiles/1385/Lake.shp.xml b/IranProvinceMap/Shapefiles/1385/Lake.shp.xml
new file mode 100644
index 00000000..e07b2887
--- /dev/null
+++ b/IranProvinceMap/Shapefiles/1385/Lake.shp.xml
@@ -0,0 +1,3 @@
+
+
+2006120314071100TRUEDefineProjection D:\ASLI\base\shape_tag_83\fainal_8\lake&see.shp PROJCS['Lambert of IRAN',GEOGCS['GCS_WGS_1984',DATUM['D_WGS_1984',SPHEROID['WGS_1984',6378137.0,298.257223563]],PRIMEM['Greenwich',0.0],UNIT['Degree',0.0174532925199433]],PROJECTION['Lambert_Conformal_Conic'],PARAMETER['False_Easting',0.0],PARAMETER['False_Northing',0.0],PARAMETER['Central_Meridian',54.0],PARAMETER['Standard_Parallel_1',30.0],PARAMETER['Standard_Parallel_2',36.0],PARAMETER['Latitude_Of_Origin',24.0],UNIT['Meter',1.0]] D:\ASLI\base\shape_tag_83\fainal_8\lake&see.shp{427517CB-15AD-4E02-9AE5-335F5F2AD70F}\\JAMSHID\D$\works\tagsimat_sh\shape_tag_t.84\fainal_database\new folder\Lakefile://\\JAMSHID\D$\works\tagsimat_sh\shape_tag_t.84\fainal_database\new folder\LakeLocal Area NetworkDataset copied.20061022Dataset copied.D:\WORKS\Tagsimat_sh\shape_tag_t.84\es_fainal_database\Lake&See20061108Dataset copied.D:\WORKS\Tagsimat_sh\shape_tag_t.84\Fainal_database\Lake20061203
diff --git a/IranProvinceMap/Shapefiles/1385/Lake.shx b/IranProvinceMap/Shapefiles/1385/Lake.shx
new file mode 100644
index 00000000..bd30b783
Binary files /dev/null and b/IranProvinceMap/Shapefiles/1385/Lake.shx differ
diff --git a/IranProvinceMap/Shapefiles/1385/Marsh.dbf b/IranProvinceMap/Shapefiles/1385/Marsh.dbf
new file mode 100644
index 00000000..4008e3d0
Binary files /dev/null and b/IranProvinceMap/Shapefiles/1385/Marsh.dbf differ
diff --git a/IranProvinceMap/Shapefiles/1385/Marsh.prj b/IranProvinceMap/Shapefiles/1385/Marsh.prj
new file mode 100644
index 00000000..3649b770
--- /dev/null
+++ b/IranProvinceMap/Shapefiles/1385/Marsh.prj
@@ -0,0 +1 @@
+PROJCS["Lambert of IRAN",GEOGCS["GCS_WGS_1984",DATUM["D_WGS_1984",SPHEROID["WGS_1984",6378137.0,298.257223563]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",0.0],PARAMETER["False_Northing",0.0],PARAMETER["Central_Meridian",54.0],PARAMETER["Standard_Parallel_1",30.0],PARAMETER["Standard_Parallel_2",36.0],PARAMETER["Latitude_Of_Origin",24.0],UNIT["Meter",1.0]]
\ No newline at end of file
diff --git a/IranProvinceMap/Shapefiles/1385/Marsh.sbn b/IranProvinceMap/Shapefiles/1385/Marsh.sbn
new file mode 100644
index 00000000..6811af95
Binary files /dev/null and b/IranProvinceMap/Shapefiles/1385/Marsh.sbn differ
diff --git a/IranProvinceMap/Shapefiles/1385/Marsh.sbx b/IranProvinceMap/Shapefiles/1385/Marsh.sbx
new file mode 100644
index 00000000..4a3ec79b
Binary files /dev/null and b/IranProvinceMap/Shapefiles/1385/Marsh.sbx differ
diff --git a/IranProvinceMap/Shapefiles/1385/Marsh.shp b/IranProvinceMap/Shapefiles/1385/Marsh.shp
new file mode 100644
index 00000000..49c556bd
Binary files /dev/null and b/IranProvinceMap/Shapefiles/1385/Marsh.shp differ
diff --git a/IranProvinceMap/Shapefiles/1385/Marsh.shp.xml b/IranProvinceMap/Shapefiles/1385/Marsh.shp.xml
new file mode 100644
index 00000000..6077128b
--- /dev/null
+++ b/IranProvinceMap/Shapefiles/1385/Marsh.shp.xml
@@ -0,0 +1,3 @@
+
+
+2006120314081800TRUE{A4E1682F-AC8B-44CD-BC1C-62CE99393CC7}\\JAMSHID\D$\works\tagsimat_sh\shape_tag_t.84\fainal_database\new folder\Marshfile://\\JAMSHID\D$\works\tagsimat_sh\shape_tag_t.84\fainal_database\new folder\MarshLocal Area NetworkDataset copied.D:\WORKS\Tagsimat_sh\shape_tag_t.84\Fainal_database\Marsh20061203
diff --git a/IranProvinceMap/Shapefiles/1385/Marsh.shx b/IranProvinceMap/Shapefiles/1385/Marsh.shx
new file mode 100644
index 00000000..f7c57ed0
Binary files /dev/null and b/IranProvinceMap/Shapefiles/1385/Marsh.shx differ
diff --git a/IranProvinceMap/Shapefiles/1385/Ostan.dbf b/IranProvinceMap/Shapefiles/1385/Ostan.dbf
new file mode 100644
index 00000000..16594902
Binary files /dev/null and b/IranProvinceMap/Shapefiles/1385/Ostan.dbf differ
diff --git a/IranProvinceMap/Shapefiles/1385/Ostan.prj b/IranProvinceMap/Shapefiles/1385/Ostan.prj
new file mode 100644
index 00000000..3649b770
--- /dev/null
+++ b/IranProvinceMap/Shapefiles/1385/Ostan.prj
@@ -0,0 +1 @@
+PROJCS["Lambert of IRAN",GEOGCS["GCS_WGS_1984",DATUM["D_WGS_1984",SPHEROID["WGS_1984",6378137.0,298.257223563]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",0.0],PARAMETER["False_Northing",0.0],PARAMETER["Central_Meridian",54.0],PARAMETER["Standard_Parallel_1",30.0],PARAMETER["Standard_Parallel_2",36.0],PARAMETER["Latitude_Of_Origin",24.0],UNIT["Meter",1.0]]
\ No newline at end of file
diff --git a/IranProvinceMap/Shapefiles/1385/Ostan.sbn b/IranProvinceMap/Shapefiles/1385/Ostan.sbn
new file mode 100644
index 00000000..7a03fc02
Binary files /dev/null and b/IranProvinceMap/Shapefiles/1385/Ostan.sbn differ
diff --git a/IranProvinceMap/Shapefiles/1385/Ostan.sbx b/IranProvinceMap/Shapefiles/1385/Ostan.sbx
new file mode 100644
index 00000000..02fec3a4
Binary files /dev/null and b/IranProvinceMap/Shapefiles/1385/Ostan.sbx differ
diff --git a/IranProvinceMap/Shapefiles/1385/Ostan.shp b/IranProvinceMap/Shapefiles/1385/Ostan.shp
new file mode 100644
index 00000000..430b93d4
Binary files /dev/null and b/IranProvinceMap/Shapefiles/1385/Ostan.shp differ
diff --git a/IranProvinceMap/Shapefiles/1385/Ostan.shx b/IranProvinceMap/Shapefiles/1385/Ostan.shx
new file mode 100644
index 00000000..b8849056
Binary files /dev/null and b/IranProvinceMap/Shapefiles/1385/Ostan.shx differ
diff --git a/IranProvinceMap/Shapefiles/1385/Ostan_Clip.dbf b/IranProvinceMap/Shapefiles/1385/Ostan_Clip.dbf
new file mode 100644
index 00000000..19cff3e9
Binary files /dev/null and b/IranProvinceMap/Shapefiles/1385/Ostan_Clip.dbf differ
diff --git a/IranProvinceMap/Shapefiles/1385/Ostan_Clip.prj b/IranProvinceMap/Shapefiles/1385/Ostan_Clip.prj
new file mode 100644
index 00000000..3649b770
--- /dev/null
+++ b/IranProvinceMap/Shapefiles/1385/Ostan_Clip.prj
@@ -0,0 +1 @@
+PROJCS["Lambert of IRAN",GEOGCS["GCS_WGS_1984",DATUM["D_WGS_1984",SPHEROID["WGS_1984",6378137.0,298.257223563]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",0.0],PARAMETER["False_Northing",0.0],PARAMETER["Central_Meridian",54.0],PARAMETER["Standard_Parallel_1",30.0],PARAMETER["Standard_Parallel_2",36.0],PARAMETER["Latitude_Of_Origin",24.0],UNIT["Meter",1.0]]
\ No newline at end of file
diff --git a/IranProvinceMap/Shapefiles/1385/Ostan_Clip.sbn b/IranProvinceMap/Shapefiles/1385/Ostan_Clip.sbn
new file mode 100644
index 00000000..ec1155da
Binary files /dev/null and b/IranProvinceMap/Shapefiles/1385/Ostan_Clip.sbn differ
diff --git a/IranProvinceMap/Shapefiles/1385/Ostan_Clip.sbx b/IranProvinceMap/Shapefiles/1385/Ostan_Clip.sbx
new file mode 100644
index 00000000..d7d4e1b6
Binary files /dev/null and b/IranProvinceMap/Shapefiles/1385/Ostan_Clip.sbx differ
diff --git a/IranProvinceMap/Shapefiles/1385/Ostan_Clip.shp b/IranProvinceMap/Shapefiles/1385/Ostan_Clip.shp
new file mode 100644
index 00000000..7be6fb1d
Binary files /dev/null and b/IranProvinceMap/Shapefiles/1385/Ostan_Clip.shp differ
diff --git a/IranProvinceMap/Shapefiles/1385/Ostan_Clip.shp.xml b/IranProvinceMap/Shapefiles/1385/Ostan_Clip.shp.xml
new file mode 100644
index 00000000..cfa8db6e
--- /dev/null
+++ b/IranProvinceMap/Shapefiles/1385/Ostan_Clip.shp.xml
@@ -0,0 +1,3 @@
+
+
+{9086CD6C-45DB-4568-845B-2E4F42CE288C}2008100800055100FALSE20081008000552002008100800055200Clip Ostan kavir-la "E:\ir\project\IRAN-DISTRIBUTE\taghsimat on KhadamatFanni (Salajegheh)\SHAPEFILE\1385\Ostan_Clip.shp" #Microsoft Windows XP Version 5.1 (Build 2600) Service Pack 2; ESRI ArcCatalog 9.2.0.1324faREQUIRED: A brief narrative summary of the data set.REQUIRED: A summary of the intentions with which the data set was developed.REQUIRED: The name of an organization or individual that developed the data set.REQUIRED: The date when the data set is published or otherwise made available for release.Ostan_ClipOstan_Clipvector digital data\\DOE-8B14B1C769B\E$\ir\project\IRAN-DISTRIBUTE\taghsimat on KhadamatFanni (Salajegheh)\SHAPEFILE\1385\Ostan_Clip.shpREQUIRED: The basis on which the time period of content information is determined.REQUIRED: The year (and optionally month, or month and day) for which the data set corresponds to the ground.REQUIRED: The frequency with which changes and additions are made to the data set after the initial data set is completed.REQUIRED: Western-most coordinate of the limit of coverage expressed in longitude.REQUIRED: Eastern-most coordinate of the limit of coverage expressed in longitude.REQUIRED: Northern-most coordinate of the limit of coverage expressed in latitude.REQUIRED: Southern-most coordinate of the limit of coverage expressed in latitude.REQUIRED: Reference to a formally registered thesaurus or a similar authoritative source of theme keywords.REQUIRED: Common-use word or phrase used to describe the subject of the data set.REQUIRED: Restrictions and legal prerequisites for accessing the data set.REQUIRED: Restrictions and legal prerequisites for using the data set after access is granted.ShapefileMicrosoft Windows XP Version 5.1 (Build 2600) Service Pack 2; ESRI ArcCatalog 9.2.0.1324Ostan_ClipfaFGDC Content Standards for Digital Geospatial MetadataFGDC-STD-001-1998local timehttp://www.esri.com/metadata/esriprof80.htmlESRI Metadata ProfileREQUIRED: The person responsible for the metadata information.REQUIRED: The organization responsible for the metadata information.REQUIRED: The mailing and/or physical address for the organization or individual.REQUIRED: The city of the address.REQUIRED: The state or province of the address.REQUIRED: The ZIP or other postal code of the address.REQUIRED: The telephone number by which individuals can speak to the organization or individual.20081008ISO 19115 Geographic Information - MetadataDIS_ESRI1.0datasetDownloadable Data0.0000.000002file://\\DOE-8B14B1C769B\E$\ir\project\IRAN-DISTRIBUTE\taghsimat on KhadamatFanni (Salajegheh)\SHAPEFILE\1385\Ostan_Clip.shpLocal Area Network0.000ShapefileVectorSimplePolygonFALSE0FALSEFALSEG-polygon0GCS_WGS_1984Lambert of IRANLambert Conformal Conic30.00000036.00000054.00000024.0000000.0000000.000000coordinate pairmeters0.0000000.000000D_WGS_1984WGS_19846378137.000000298.257224Lambert of IRAN0Ostan_ClipFeature Class0FIDFIDOID400Internal feature number.ESRISequential unique whole numbers that are automatically generated.ShapeShapeGeometry000Feature geometry.ESRICoordinates defining the features.CENTER_NAMCENTER_NAMString50OSTAN_NAMOSTAN_NAMString50OSTAN_ENGOSTAN_ENGString50CNT_DEHCNT_DEHNumber4CNT_BAKHSHCNT_BAKHSHNumber4CNT_SHAHRCNT_SHAHRNumber420081008
diff --git a/IranProvinceMap/Shapefiles/1385/Ostan_Clip.shx b/IranProvinceMap/Shapefiles/1385/Ostan_Clip.shx
new file mode 100644
index 00000000..09f90b04
Binary files /dev/null and b/IranProvinceMap/Shapefiles/1385/Ostan_Clip.shx differ
diff --git a/IranProvinceMap/Shapefiles/1385/Ostan_Project.dbf b/IranProvinceMap/Shapefiles/1385/Ostan_Project.dbf
new file mode 100644
index 00000000..a6f3d40a
Binary files /dev/null and b/IranProvinceMap/Shapefiles/1385/Ostan_Project.dbf differ
diff --git a/IranProvinceMap/Shapefiles/1385/Ostan_Project.prj b/IranProvinceMap/Shapefiles/1385/Ostan_Project.prj
new file mode 100644
index 00000000..1c9090f8
--- /dev/null
+++ b/IranProvinceMap/Shapefiles/1385/Ostan_Project.prj
@@ -0,0 +1 @@
+PROJCS["World_Mercator",GEOGCS["GCS_WGS_1984",DATUM["D_WGS_1984",SPHEROID["WGS_1984",6378137.0,298.257223563]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Mercator"],PARAMETER["False_Easting",0.0],PARAMETER["False_Northing",0.0],PARAMETER["Central_Meridian",0.0],PARAMETER["Standard_Parallel_1",0.0],UNIT["Meter",1.0]]
\ No newline at end of file
diff --git a/IranProvinceMap/Shapefiles/1385/Ostan_Project.sbn b/IranProvinceMap/Shapefiles/1385/Ostan_Project.sbn
new file mode 100644
index 00000000..93af5fc7
Binary files /dev/null and b/IranProvinceMap/Shapefiles/1385/Ostan_Project.sbn differ
diff --git a/IranProvinceMap/Shapefiles/1385/Ostan_Project.sbx b/IranProvinceMap/Shapefiles/1385/Ostan_Project.sbx
new file mode 100644
index 00000000..b3ba14ec
Binary files /dev/null and b/IranProvinceMap/Shapefiles/1385/Ostan_Project.sbx differ
diff --git a/IranProvinceMap/Shapefiles/1385/Ostan_Project.shp b/IranProvinceMap/Shapefiles/1385/Ostan_Project.shp
new file mode 100644
index 00000000..408db546
Binary files /dev/null and b/IranProvinceMap/Shapefiles/1385/Ostan_Project.shp differ
diff --git a/IranProvinceMap/Shapefiles/1385/Ostan_Project.shp.xml b/IranProvinceMap/Shapefiles/1385/Ostan_Project.shp.xml
new file mode 100644
index 00000000..d4123875
--- /dev/null
+++ b/IranProvinceMap/Shapefiles/1385/Ostan_Project.shp.xml
@@ -0,0 +1,3 @@
+
+
+{3AF31CAC-EF1B-4C5B-8C82-11D08882DEB9}2008112123274700TRUEProject Ostan "C:\job\DR.HASHEMI\taghsimat on KhadamatFanni (Salajegheh)\SHAPEFILE\1385\Ostan_Project.shp" PROJCS['World_Mercator',GEOGCS['GCS_WGS_1984',DATUM['D_WGS_1984',SPHEROID['WGS_1984',6378137.0,298.257223563]],PRIMEM['Greenwich',0.0],UNIT['Degree',0.0174532925199433]],PROJECTION['Mercator'],PARAMETER['False_Easting',0.0],PARAMETER['False_Northing',0.0],PARAMETER['Central_Meridian',0.0],PARAMETER['Standard_Parallel_1',0.0],UNIT['Meter',1.0]] # PROJCS['Lambert of IRAN',GEOGCS['GCS_WGS_1984',DATUM['D_WGS_1984',SPHEROID['WGS_1984',6378137.0,298.257223563]],PRIMEM['Greenwich',0.0],UNIT['Degree',0.0174532925199433]],PROJECTION['Lambert_Conformal_Conic'],PARAMETER['False_Easting',0.0],PARAMETER['False_Northing',0.0],PARAMETER['Central_Meridian',54.0],PARAMETER['Standard_Parallel_1',30.0],PARAMETER['Standard_Parallel_2',36.0],PARAMETER['Latitude_Of_Origin',24.0],UNIT['Meter',1.0]]
diff --git a/IranProvinceMap/Shapefiles/1385/Ostan_Project.shx b/IranProvinceMap/Shapefiles/1385/Ostan_Project.shx
new file mode 100644
index 00000000..b0402ac3
Binary files /dev/null and b/IranProvinceMap/Shapefiles/1385/Ostan_Project.shx differ
diff --git a/IranProvinceMap/Shapefiles/1385/Sea.dbf b/IranProvinceMap/Shapefiles/1385/Sea.dbf
new file mode 100644
index 00000000..6152efc3
Binary files /dev/null and b/IranProvinceMap/Shapefiles/1385/Sea.dbf differ
diff --git a/IranProvinceMap/Shapefiles/1385/Sea.prj b/IranProvinceMap/Shapefiles/1385/Sea.prj
new file mode 100644
index 00000000..3649b770
--- /dev/null
+++ b/IranProvinceMap/Shapefiles/1385/Sea.prj
@@ -0,0 +1 @@
+PROJCS["Lambert of IRAN",GEOGCS["GCS_WGS_1984",DATUM["D_WGS_1984",SPHEROID["WGS_1984",6378137.0,298.257223563]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",0.0],PARAMETER["False_Northing",0.0],PARAMETER["Central_Meridian",54.0],PARAMETER["Standard_Parallel_1",30.0],PARAMETER["Standard_Parallel_2",36.0],PARAMETER["Latitude_Of_Origin",24.0],UNIT["Meter",1.0]]
\ No newline at end of file
diff --git a/IranProvinceMap/Shapefiles/1385/Sea.sbn b/IranProvinceMap/Shapefiles/1385/Sea.sbn
new file mode 100644
index 00000000..bb036474
Binary files /dev/null and b/IranProvinceMap/Shapefiles/1385/Sea.sbn differ
diff --git a/IranProvinceMap/Shapefiles/1385/Sea.sbx b/IranProvinceMap/Shapefiles/1385/Sea.sbx
new file mode 100644
index 00000000..2c0e8dc7
Binary files /dev/null and b/IranProvinceMap/Shapefiles/1385/Sea.sbx differ
diff --git a/IranProvinceMap/Shapefiles/1385/Sea.shp b/IranProvinceMap/Shapefiles/1385/Sea.shp
new file mode 100644
index 00000000..010b10c2
Binary files /dev/null and b/IranProvinceMap/Shapefiles/1385/Sea.shp differ
diff --git a/IranProvinceMap/Shapefiles/1385/Sea.shp.xml b/IranProvinceMap/Shapefiles/1385/Sea.shp.xml
new file mode 100644
index 00000000..839d8060
--- /dev/null
+++ b/IranProvinceMap/Shapefiles/1385/Sea.shp.xml
@@ -0,0 +1,3 @@
+
+
+2006120913472700FALSEDefineProjection D:\ASLI\base\shape_tag_83\fainal_8\lake&see.shp PROJCS['Lambert of IRAN',GEOGCS['GCS_WGS_1984',DATUM['D_WGS_1984',SPHEROID['WGS_1984',6378137.0,298.257223563]],PRIMEM['Greenwich',0.0],UNIT['Degree',0.0174532925199433]],PROJECTION['Lambert_Conformal_Conic'],PARAMETER['False_Easting',0.0],PARAMETER['False_Northing',0.0],PARAMETER['Central_Meridian',54.0],PARAMETER['Standard_Parallel_1',30.0],PARAMETER['Standard_Parallel_2',36.0],PARAMETER['Latitude_Of_Origin',24.0],UNIT['Meter',1.0]] D:\ASLI\base\shape_tag_83\fainal_8\lake&see.shpErase See test D:\WORKS\Tagsimat_sh\shape_tag_t.84\Fainal_nez\See1.shp "0.000010 Meters"20061206110848002006120611084800{EA84FE8F-6D40-4C45-A786-0B64C732D462}REQUIRED: The name of an organization or individual that developed the data set.REQUIRED: The date when the data set is published or otherwise made available for release.See1See1vector digital dataMicrosoft Windows XP Version 5.1 (Build 2600) Service Pack 2, v.2055; ESRI ArcCatalog 9.0.0.535faREQUIRED: A brief narrative summary of the data set.REQUIRED: A summary of the intentions with which the data set was developed.REQUIRED: The basis on which the time period of content information is determined.REQUIRED: The year (and optionally month, or month and day) for which the data set corresponds to the ground.REQUIRED: The frequency with which changes and additions are made to the data set after the initial data set is completed.REQUIRED: Western-most coordinate of the limit of coverage expressed in longitude.REQUIRED: Eastern-most coordinate of the limit of coverage expressed in longitude.REQUIRED: Northern-most coordinate of the limit of coverage expressed in latitude.REQUIRED: Southern-most coordinate of the limit of coverage expressed in latitude.REQUIRED: Reference to a formally registered thesaurus or a similar authoritative source of theme keywords.REQUIRED: Common-use word or phrase used to describe the subject of the data set.REQUIRED: Restrictions and legal prerequisites for accessing the data set.REQUIRED: Restrictions and legal prerequisites for using the data set after access is granted.Shapefilefile://Local Area Network0020.000ShapefileDataset copied.20061022Dataset copied.D:\WORKS\Tagsimat_sh\shape_tag_t.84\es_fainal_database\Lake&See20061108Dataset copied.20061127Dataset copied.D:\WORKS\Tagsimat_sh\shape_tag_t.84\Fainal_database\See20061203Dataset copied.20061209Microsoft Windows XP Version 5.1 (Build 2600) Service Pack 2, v.2055; ESRI ArcCatalog 9.0.0.535See1faFGDC Content Standards for Digital Geospatial MetadataFGDC-STD-001-1998local timehttp://www.esri.com/metadata/esriprof80.htmlESRI Metadata ProfileREQUIRED: The person responsible for the metadata information.REQUIRED: The organization responsible for the metadata information.REQUIRED: The mailing and/or physical address for the organization or individual.REQUIRED: The city of the address.REQUIRED: The state or province of the address.REQUIRED: The ZIP or other postal code of the address.REQUIRED: The telephone number by which individuals can speak to the organization or individual.20061206ISO 19115 Geographic Information - MetadataDIS_ESRI1.0datasetDownloadable Data0.0000.000VectorSimplePolygonFALSE0FALSEFALSEG-polygon0GCS_WGS_1984Lambert of IRANLambert Conformal Conic30.00000036.00000054.00000024.0000000.0000000.000000coordinate pairmeters0.0008390.000839D_WGS_1984WGS_19846378137.000000298.257224Lambert of IRAN0See1Feature Class0FIDFIDOID400Internal feature number.ESRISequential unique whole numbers that are automatically generated.ShapeShapeGeometry000Feature geometry.ESRICoordinates defining the features.NAMENAMEString35LATIN_NAMELATIN_NAMEString40AreaAreaNumber191120061206
diff --git a/IranProvinceMap/Shapefiles/1385/Sea.shx b/IranProvinceMap/Shapefiles/1385/Sea.shx
new file mode 100644
index 00000000..9db61d26
Binary files /dev/null and b/IranProvinceMap/Shapefiles/1385/Sea.shx differ
diff --git a/IranProvinceMap/Shapefiles/1385/Shahrestan.dbf b/IranProvinceMap/Shapefiles/1385/Shahrestan.dbf
new file mode 100644
index 00000000..0d387ac4
Binary files /dev/null and b/IranProvinceMap/Shapefiles/1385/Shahrestan.dbf differ
diff --git a/IranProvinceMap/Shapefiles/1385/Shahrestan.prj b/IranProvinceMap/Shapefiles/1385/Shahrestan.prj
new file mode 100644
index 00000000..3649b770
--- /dev/null
+++ b/IranProvinceMap/Shapefiles/1385/Shahrestan.prj
@@ -0,0 +1 @@
+PROJCS["Lambert of IRAN",GEOGCS["GCS_WGS_1984",DATUM["D_WGS_1984",SPHEROID["WGS_1984",6378137.0,298.257223563]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",0.0],PARAMETER["False_Northing",0.0],PARAMETER["Central_Meridian",54.0],PARAMETER["Standard_Parallel_1",30.0],PARAMETER["Standard_Parallel_2",36.0],PARAMETER["Latitude_Of_Origin",24.0],UNIT["Meter",1.0]]
\ No newline at end of file
diff --git a/IranProvinceMap/Shapefiles/1385/Shahrestan.sbn b/IranProvinceMap/Shapefiles/1385/Shahrestan.sbn
new file mode 100644
index 00000000..786e06ee
Binary files /dev/null and b/IranProvinceMap/Shapefiles/1385/Shahrestan.sbn differ
diff --git a/IranProvinceMap/Shapefiles/1385/Shahrestan.sbx b/IranProvinceMap/Shapefiles/1385/Shahrestan.sbx
new file mode 100644
index 00000000..e957caeb
Binary files /dev/null and b/IranProvinceMap/Shapefiles/1385/Shahrestan.sbx differ
diff --git a/IranProvinceMap/Shapefiles/1385/Shahrestan.shp b/IranProvinceMap/Shapefiles/1385/Shahrestan.shp
new file mode 100644
index 00000000..6fb51b6f
Binary files /dev/null and b/IranProvinceMap/Shapefiles/1385/Shahrestan.shp differ
diff --git a/IranProvinceMap/Shapefiles/1385/Shahrestan.shx b/IranProvinceMap/Shapefiles/1385/Shahrestan.shx
new file mode 100644
index 00000000..99a44715
Binary files /dev/null and b/IranProvinceMap/Shapefiles/1385/Shahrestan.shx differ
diff --git a/IranProvinceMap/Shapefiles/1385/nd.dbg b/IranProvinceMap/Shapefiles/1385/nd.dbg
new file mode 100644
index 00000000..8fc3bb0f
--- /dev/null
+++ b/IranProvinceMap/Shapefiles/1385/nd.dbg
@@ -0,0 +1,9 @@
+
+------------------- TRACEBACK -------------------------
+Module "Err " Message 4: file ".\err.c " line 1547
+Module "Script" Message -1: file "..\avenue\script.c" line 151
+Module "Event" Message -1: file ".\event.c " line 2594
+Module "Appl " Message -1: file "..\appl\appl.c" line 1912
+Module "Err " Message -1: file ".\err.c " line 2009
+-------------------------------------------------------
+FATAL ERROR Failure during error recovery
diff --git a/IranProvinceMap/Shapefiles/1390/os.dbf b/IranProvinceMap/Shapefiles/1390/os.dbf
new file mode 100644
index 00000000..3ac9e3ac
Binary files /dev/null and b/IranProvinceMap/Shapefiles/1390/os.dbf differ
diff --git a/IranProvinceMap/Shapefiles/1390/os.prj b/IranProvinceMap/Shapefiles/1390/os.prj
new file mode 100644
index 00000000..54eabe9a
--- /dev/null
+++ b/IranProvinceMap/Shapefiles/1390/os.prj
@@ -0,0 +1 @@
+PROJCS["lamiran",GEOGCS["GCS_WGS_1984",DATUM["D_WGS_1984",SPHEROID["WGS_1984",6378137.0,298.257223563]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",0.0],PARAMETER["False_Northing",0.0],PARAMETER["Central_Meridian",54.0],PARAMETER["Standard_Parallel_1",30.0],PARAMETER["Standard_Parallel_2",36.0],PARAMETER["Scale_Factor",1.0],PARAMETER["Latitude_Of_Origin",24.0],UNIT["Meter",1.0]]
\ No newline at end of file
diff --git a/IranProvinceMap/Shapefiles/1390/os.sbn b/IranProvinceMap/Shapefiles/1390/os.sbn
new file mode 100644
index 00000000..83587b33
Binary files /dev/null and b/IranProvinceMap/Shapefiles/1390/os.sbn differ
diff --git a/IranProvinceMap/Shapefiles/1390/os.sbx b/IranProvinceMap/Shapefiles/1390/os.sbx
new file mode 100644
index 00000000..434dcf20
Binary files /dev/null and b/IranProvinceMap/Shapefiles/1390/os.sbx differ
diff --git a/IranProvinceMap/Shapefiles/1390/os.shp b/IranProvinceMap/Shapefiles/1390/os.shp
new file mode 100644
index 00000000..1d66aa19
Binary files /dev/null and b/IranProvinceMap/Shapefiles/1390/os.shp differ
diff --git a/IranProvinceMap/Shapefiles/1390/os.shp.xml b/IranProvinceMap/Shapefiles/1390/os.shp.xml
new file mode 100644
index 00000000..514764c6
--- /dev/null
+++ b/IranProvinceMap/Shapefiles/1390/os.shp.xml
@@ -0,0 +1,3 @@
+
+
+2011060404362300TRUEDefineProjection ostan PROJCS['WGS_1984_UTM_Zone_38N',GEOGCS['GCS_WGS_1984',DATUM['D_WGS_1984',SPHEROID['WGS_1984',6378137.0,298.257223563]],PRIMEM['Greenwich',0.0],UNIT['Degree',0.0174532925199433]],PROJECTION['Transverse_Mercator'],PARAMETER['False_Easting',500000.0],PARAMETER['False_Northing',0.0],PARAMETER['Central_Meridian',45.0],PARAMETER['Scale_Factor',0.9996],PARAMETER['Latitude_Of_Origin',0.0],UNIT['Meter',1.0]] ostanDefineProjection os PROJCS['lamiran',GEOGCS['GCS_WGS_1984',DATUM['D_WGS_1984',SPHEROID['WGS_1984',6378137.0,298.257223563]],PRIMEM['Greenwich',0.0],UNIT['Degree',0.0174532925199433]],PROJECTION['Lambert_Conformal_Conic'],PARAMETER['False_Easting',0.0],PARAMETER['False_Northing',0.0],PARAMETER['Central_Meridian',54.0],PARAMETER['Standard_Parallel_1',30.0],PARAMETER['Standard_Parallel_2',36.0],PARAMETER['Scale_Factor',1.0],PARAMETER['Latitude_Of_Origin',24.0],UNIT['Meter',1.0]] os{6298A354-90A0-4E97-BB78-3CA197B50E61}\\HASSAN-PC\H$\GIS\v_keshvar\ostan layer\osfile://\\HASSAN-PC\H$\GIS\v_keshvar\ostan layer\osLocal Area NetworkDataset copied.2010090514122100Dataset copied.H:\GIS\v_keshvar\os2011060404362300
diff --git a/IranProvinceMap/Shapefiles/1390/os.shx b/IranProvinceMap/Shapefiles/1390/os.shx
new file mode 100644
index 00000000..8829b3b2
Binary files /dev/null and b/IranProvinceMap/Shapefiles/1390/os.shx differ
diff --git a/IranProvinceMap/Shapefiles/1392/ostan_1392.dbf b/IranProvinceMap/Shapefiles/1392/ostan_1392.dbf
new file mode 100644
index 00000000..ff522225
Binary files /dev/null and b/IranProvinceMap/Shapefiles/1392/ostan_1392.dbf differ
diff --git a/IranProvinceMap/Shapefiles/1392/ostan_1392.prj b/IranProvinceMap/Shapefiles/1392/ostan_1392.prj
new file mode 100644
index 00000000..54eabe9a
--- /dev/null
+++ b/IranProvinceMap/Shapefiles/1392/ostan_1392.prj
@@ -0,0 +1 @@
+PROJCS["lamiran",GEOGCS["GCS_WGS_1984",DATUM["D_WGS_1984",SPHEROID["WGS_1984",6378137.0,298.257223563]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",0.0],PARAMETER["False_Northing",0.0],PARAMETER["Central_Meridian",54.0],PARAMETER["Standard_Parallel_1",30.0],PARAMETER["Standard_Parallel_2",36.0],PARAMETER["Scale_Factor",1.0],PARAMETER["Latitude_Of_Origin",24.0],UNIT["Meter",1.0]]
\ No newline at end of file
diff --git a/IranProvinceMap/Shapefiles/1392/ostan_1392.sbn b/IranProvinceMap/Shapefiles/1392/ostan_1392.sbn
new file mode 100644
index 00000000..cb716238
Binary files /dev/null and b/IranProvinceMap/Shapefiles/1392/ostan_1392.sbn differ
diff --git a/IranProvinceMap/Shapefiles/1392/ostan_1392.sbx b/IranProvinceMap/Shapefiles/1392/ostan_1392.sbx
new file mode 100644
index 00000000..434dcf20
Binary files /dev/null and b/IranProvinceMap/Shapefiles/1392/ostan_1392.sbx differ
diff --git a/IranProvinceMap/Shapefiles/1392/ostan_1392.shp b/IranProvinceMap/Shapefiles/1392/ostan_1392.shp
new file mode 100644
index 00000000..bbe90224
Binary files /dev/null and b/IranProvinceMap/Shapefiles/1392/ostan_1392.shp differ
diff --git a/IranProvinceMap/Shapefiles/1392/ostan_1392.shp.xml b/IranProvinceMap/Shapefiles/1392/ostan_1392.shp.xml
new file mode 100644
index 00000000..9e7f8b76
--- /dev/null
+++ b/IranProvinceMap/Shapefiles/1392/ostan_1392.shp.xml
@@ -0,0 +1,3 @@
+
+
+2013090514015800TRUEDefineProjection ostan PROJCS['WGS_1984_UTM_Zone_38N',GEOGCS['GCS_WGS_1984',DATUM['D_WGS_1984',SPHEROID['WGS_1984',6378137.0,298.257223563]],PRIMEM['Greenwich',0.0],UNIT['Degree',0.0174532925199433]],PROJECTION['Transverse_Mercator'],PARAMETER['False_Easting',500000.0],PARAMETER['False_Northing',0.0],PARAMETER['Central_Meridian',45.0],PARAMETER['Scale_Factor',0.9996],PARAMETER['Latitude_Of_Origin',0.0],UNIT['Meter',1.0]] ostanDefineProjection os PROJCS['lamiran',GEOGCS['GCS_WGS_1984',DATUM['D_WGS_1984',SPHEROID['WGS_1984',6378137.0,298.257223563]],PRIMEM['Greenwich',0.0],UNIT['Degree',0.0174532925199433]],PROJECTION['Lambert_Conformal_Conic'],PARAMETER['False_Easting',0.0],PARAMETER['False_Northing',0.0],PARAMETER['Central_Meridian',54.0],PARAMETER['Standard_Parallel_1',30.0],PARAMETER['Standard_Parallel_2',36.0],PARAMETER['Scale_Factor',1.0],PARAMETER['Latitude_Of_Origin',24.0],UNIT['Meter',1.0]] os1.0\\HASSAN-PC\H$\GIS\v_keshvar\ostan layer\osfile://\\HASSAN-PC\H$\GIS\v_keshvar\ostan layer\osLocal Area NetworkDataset copied.2010090514122100Dataset copied.H:\GIS\v_keshvar\os2011060404362300
diff --git a/IranProvinceMap/Shapefiles/1392/ostan_1392.shx b/IranProvinceMap/Shapefiles/1392/ostan_1392.shx
new file mode 100644
index 00000000..1324d78d
Binary files /dev/null and b/IranProvinceMap/Shapefiles/1392/ostan_1392.shx differ
diff --git a/IranProvinceMap/Shapefiles/OSM/Iran_AL2.cpg b/IranProvinceMap/Shapefiles/OSM/Iran_AL2.cpg
new file mode 100644
index 00000000..7edc66b0
--- /dev/null
+++ b/IranProvinceMap/Shapefiles/OSM/Iran_AL2.cpg
@@ -0,0 +1 @@
+UTF-8
diff --git a/IranProvinceMap/Shapefiles/OSM/Iran_AL2.dbf b/IranProvinceMap/Shapefiles/OSM/Iran_AL2.dbf
new file mode 100644
index 00000000..5c9fc7bc
Binary files /dev/null and b/IranProvinceMap/Shapefiles/OSM/Iran_AL2.dbf differ
diff --git a/IranProvinceMap/Shapefiles/OSM/Iran_AL2.fix b/IranProvinceMap/Shapefiles/OSM/Iran_AL2.fix
new file mode 100644
index 00000000..52c6bac1
Binary files /dev/null and b/IranProvinceMap/Shapefiles/OSM/Iran_AL2.fix differ
diff --git a/IranProvinceMap/Shapefiles/OSM/Iran_AL2.prj b/IranProvinceMap/Shapefiles/OSM/Iran_AL2.prj
new file mode 100644
index 00000000..60bfa862
--- /dev/null
+++ b/IranProvinceMap/Shapefiles/OSM/Iran_AL2.prj
@@ -0,0 +1 @@
+GEOGCS["WGS 84", DATUM["World Geodetic System 1984", SPHEROID["WGS 84", 6378137.0, 298.257223563, AUTHORITY["EPSG","7030"]], AUTHORITY["EPSG","6326"]], PRIMEM["Greenwich", 0.0, AUTHORITY["EPSG","8901"]], UNIT["degree", 0.017453292519943295], AXIS["Geodetic longitude", EAST], AXIS["Geodetic latitude", NORTH], AUTHORITY["EPSG","4326"]]
\ No newline at end of file
diff --git a/IranProvinceMap/Shapefiles/OSM/Iran_AL2.shp b/IranProvinceMap/Shapefiles/OSM/Iran_AL2.shp
new file mode 100644
index 00000000..bad5d960
Binary files /dev/null and b/IranProvinceMap/Shapefiles/OSM/Iran_AL2.shp differ
diff --git a/IranProvinceMap/Shapefiles/OSM/Iran_AL2.shx b/IranProvinceMap/Shapefiles/OSM/Iran_AL2.shx
new file mode 100644
index 00000000..0971827a
Binary files /dev/null and b/IranProvinceMap/Shapefiles/OSM/Iran_AL2.shx differ
diff --git a/IranProvinceMap/Shapefiles/OSM/Iran_AL4.cpg b/IranProvinceMap/Shapefiles/OSM/Iran_AL4.cpg
new file mode 100644
index 00000000..7edc66b0
--- /dev/null
+++ b/IranProvinceMap/Shapefiles/OSM/Iran_AL4.cpg
@@ -0,0 +1 @@
+UTF-8
diff --git a/IranProvinceMap/Shapefiles/OSM/Iran_AL4.dbf b/IranProvinceMap/Shapefiles/OSM/Iran_AL4.dbf
new file mode 100644
index 00000000..1b637a59
Binary files /dev/null and b/IranProvinceMap/Shapefiles/OSM/Iran_AL4.dbf differ
diff --git a/IranProvinceMap/Shapefiles/OSM/Iran_AL4.fix b/IranProvinceMap/Shapefiles/OSM/Iran_AL4.fix
new file mode 100644
index 00000000..157069e4
Binary files /dev/null and b/IranProvinceMap/Shapefiles/OSM/Iran_AL4.fix differ
diff --git a/IranProvinceMap/Shapefiles/OSM/Iran_AL4.prj b/IranProvinceMap/Shapefiles/OSM/Iran_AL4.prj
new file mode 100644
index 00000000..60bfa862
--- /dev/null
+++ b/IranProvinceMap/Shapefiles/OSM/Iran_AL4.prj
@@ -0,0 +1 @@
+GEOGCS["WGS 84", DATUM["World Geodetic System 1984", SPHEROID["WGS 84", 6378137.0, 298.257223563, AUTHORITY["EPSG","7030"]], AUTHORITY["EPSG","6326"]], PRIMEM["Greenwich", 0.0, AUTHORITY["EPSG","8901"]], UNIT["degree", 0.017453292519943295], AXIS["Geodetic longitude", EAST], AXIS["Geodetic latitude", NORTH], AUTHORITY["EPSG","4326"]]
\ No newline at end of file
diff --git a/IranProvinceMap/Shapefiles/OSM/Iran_AL4.shp b/IranProvinceMap/Shapefiles/OSM/Iran_AL4.shp
new file mode 100644
index 00000000..865a2bb1
Binary files /dev/null and b/IranProvinceMap/Shapefiles/OSM/Iran_AL4.shp differ
diff --git a/IranProvinceMap/Shapefiles/OSM/Iran_AL4.shx b/IranProvinceMap/Shapefiles/OSM/Iran_AL4.shx
new file mode 100644
index 00000000..21b394f2
Binary files /dev/null and b/IranProvinceMap/Shapefiles/OSM/Iran_AL4.shx differ
diff --git a/R/101-BuildDirectoryStructure.R b/R/101-BuildDirectoryStructure.R
new file mode 100644
index 00000000..b42f2d9e
--- /dev/null
+++ b/R/101-BuildDirectoryStructure.R
@@ -0,0 +1,28 @@
+# 101-BuildDirectoryStructure
+# Builds the base data.table for households
+#
+# Copyright © 2016: Majid Einian
+# Licence: GPL-3
+
+rm(list=ls())
+
+starttime <- proc.time()
+cat("\n\n================ BuildDirectoryStructure =====================================\n")
+
+
+
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+dir.create(Settings$HEISPath,showWarnings = FALSE)
+dir.create(Settings$HEISCompressedPath,showWarnings = FALSE)
+dir.create(Settings$HEISAccessPath,showWarnings = FALSE)
+dir.create(Settings$HEISRawPath,showWarnings = FALSE)
+dir.create(Settings$HEISProcessedPath,showWarnings = FALSE)
+dir.create(Settings$HEISResultsPath,showWarnings = FALSE)
+
+
+endtime <- proc.time()
+
+cat("\n\n============================\nIt took ")
+cat(endtime-starttime)
\ No newline at end of file
diff --git a/R/102-InstallRequriedPackages.R b/R/102-InstallRequriedPackages.R
new file mode 100644
index 00000000..cd4f02f2
--- /dev/null
+++ b/R/102-InstallRequriedPackages.R
@@ -0,0 +1,64 @@
+# 102-Install Required Packagees
+#
+# Copyright © 2016: Majid Einian
+# Licence: GPL-3
+
+rm(list=ls())
+
+starttime <- proc.time()
+cat("\n\n================ Install Required Packages =====================================\n")
+
+
+
+
+pkglist <- c("yaml","RODBC","readxl","tools","foreign","data.table",
+ "stringr","XLConnect","sm",#"spatstat",
+ "ggplot2","haven",
+ "rworldmap","rgdal","xlsx","Hmisc","reldist","dplyr","reshape2",
+ "tcltk","janitor"#,
+ # "caret","caretEnsemble",
+ # "ada", "plyr", "adabag", "fastAdaboost",
+ #"adaptDA",
+ # "nnet",
+ # "bnclassify", "caret", "earth", "mda", "mgcv", "bartMachine",
+ # "arm", "binda", "party", "mboost", "partykit", "bst", "C50",
+ # #"CHAID",
+ # "rrcov", "rrcovHD",
+ # #"sparsediscrim",
+ # "deepboost", "deepnet",
+ # "kerndwd", "kernlab",
+ # #"elmNN",
+ # "evtree", "extraTrees", "frbs",
+ # "import", "gam", "h2o", "gbm", "glmnet", "Matrix", "MASS",
+ # #"gpls",
+ # "hda", "HDclassif", "RWeka", "pls", "kknn", "klaR",
+ # #"logicFS",
+ # "caTools", "LogicReg", "class", "HiDimDA", "RSNNS", "keras",
+ # #"FCNN4R",
+ # "monmlp", "msaenet",
+ # #"mxnet",
+ # "naivebayes", "nodeHarvest",
+ # "ordinalNet", "e1071", "ranger", "dplyr", "ordinalForest", "obliqueRF",
+ # "snn", "pamr", "randomForest", "foreach", "partDSA", "penalizedLDA",
+ # "stepPlr", "plsRglm", "supervisedPRIM", "proxy", "protoclass",
+ # "randomGLM", "Rborist", "LiblineaR", "rFerns", "inTrees", "robustDA",
+ # "rocc", "rotationForest", "rpart", "rpartScore", "RRF", "rrlda",
+ # "sda", "sdwd", "ipred", "sparseLDA", "spls",
+ # #"vbmp",
+ # "VGAM",
+ # "wsrf", "xgboost", "kohonen",
+ # "pROC","glmnet",
+ # "factoextra"
+ )
+
+for(pkg in pkglist){
+ if((eval(parse(text = paste0("require(",pkg,")")))==FALSE))
+ install.packages(pkg)
+}
+
+
+
+endtime <- proc.time()
+
+cat("\n\n============================\nIt took ")
+cat(endtime-starttime)
\ No newline at end of file
diff --git a/R/103-DownloadCompressedFiles.R b/R/103-DownloadCompressedFiles.R
new file mode 100644
index 00000000..f28d35d3
--- /dev/null
+++ b/R/103-DownloadCompressedFiles.R
@@ -0,0 +1,69 @@
+# 103-DownloaCompressedFiles.R
+# downloads the RAR files that are not present in the folder
+# specified in Settings file
+#
+# Copyright © 2015: Majid Einian
+# Licence: GPL-3
+
+
+################################################################################
+################################################################################
+### ###
+### ###
+### THIS CODE DOES NOT WORK FOR NOW. ###
+### SCI PROVIDES DATA IN A MARKET. ###
+### (FOR FREE NOW). ###
+### I'VE NOT FOUND DIRECT DOWNLOAD LINKS YET. ###
+### PUT YOUR DOWNLAODED COMPRESSED (RAR) FILES ###
+### IN THE HEIS COMPRESSED FILES PATH ###
+### (SPECIFIED ON SETTINGS FILE) ###
+### ###
+### ###
+################################################################################
+################################################################################
+
+
+
+rm(list=ls())
+
+starttime <- proc.time()
+cat("\n\n================ DownloaCompressedFiles =====================================\n")
+
+
+library(yaml)
+library(readxl)
+
+Settings <- yaml.load_file("Settings.yaml")
+
+compressed_file_names_df <- read_excel(path = Settings$MetaDataFilePath,
+ sheet = Settings$MDS_CFN)
+
+present_compressed_file_list <- list.files(Settings$HEISCompressedPath)
+x <- list.dirs(Settings$HEISCompressedPath, recursive = FALSE, full.names = FALSE)
+present_compressed_file_list <- setdiff(present_compressed_file_list, x)
+
+years <- Settings$startyear:Settings$endyear
+
+existing_file_list <- list.files(Settings$HEISCompressedPath)
+
+ys <- compressed_file_names_df$Year %in% years
+needed_compressed_files_list <- compressed_file_names_df[ys,]$CompressedFileName
+
+files_to_download <- setdiff(needed_compressed_files_list,existing_file_list)
+
+if(length(files_to_download)>0){
+ urls <- paste0(Settings$RawDataWebAddress,files_to_download)
+ for(i in 1:length(files_to_download)){
+ cat(paste0("Downloading file ",i," / ",
+ length(files_to_download)," : ",files_to_download[i]),"\n")
+ try(download.file(urls[i], paste0(Settings$HEISCompressedPath, files_to_download[i]),mode="wb"))
+ }
+}else{
+ cat("All files in the range specified in Setting.yaml file are present, no need to download.")
+}
+
+
+endtime <- proc.time()
+
+cat("\n\n============================\nIt took ")
+cat(endtime-starttime)
diff --git a/R/104-ExtractAccessFiles.R b/R/104-ExtractAccessFiles.R
new file mode 100644
index 00000000..c9d9ad85
--- /dev/null
+++ b/R/104-ExtractAccessFiles.R
@@ -0,0 +1,72 @@
+# 104-ExtractAccessFiles.R
+# downloads the RAR (and zip) files that are not present in the folder
+# specified in Settings file
+#
+# Copyright © 2015: Majid Einian
+# Licence: GPL-3
+
+rm(list=ls())
+
+starttime <- proc.time()
+cat("\n\n================ ExtractAccessFiles =====================================\n")
+
+
+library(yaml)
+library(readxl)
+library(tools)
+
+Settings <- yaml.load_file("Settings.yaml")
+
+compressed_file_names_df <- read_excel(path = Settings$MetaDataFilePath,
+ sheet = Settings$MDS_CFN)
+
+existing_years <- file_path_sans_ext(list.files(Settings$HEISAccessPath))
+needed_years <- Settings$startyear:Settings$endyear
+years_to_extract <- setdiff(needed_years,existing_years)
+
+files_to_extract <- compressed_file_names_df[
+ compressed_file_names_df$Year %in% years_to_extract,]$CompressedFileName
+
+cmdline <- paste0(normalizePath("../exe/7z/7z.exe")," e -y ") # Use 7-zip binary
+
+
+cwd <- getwd()
+dir.create("temp")
+setwd("temp")
+
+for(year in years_to_extract){
+ filename <- compressed_file_names_df[
+ compressed_file_names_df$Year ==year,]$CompressedFileName
+ file.copy(from = paste0(Settings$HEISCompressedPath,filename),to = ".")
+ shell(paste0(cmdline,filename))
+ l <- dir(pattern=glob2rx("*.mdb"),ignore.case = TRUE)
+ if(length(l)>0){
+ file.rename(from = l,to = paste0(year,".mdb"))
+ file.copy(from = paste0(year,".mdb"),
+ to = paste0(Settings$HEISAccessPath,year,".mdb"))
+ }
+ l <- dir(pattern=glob2rx("*.accdb"),ignore.case = TRUE)
+ if(length(l)>0){
+ file.rename(from = l,to = paste0(year,".accdb"))
+ file.copy(from = paste0(year,".accdb"),
+ to = paste0(Settings$HEISAccessPath,year,".accdb"))
+ }
+ unlink("*.*")
+}
+setwd(cwd)
+unlink("temp",recursive = TRUE,force = TRUE)
+
+existing_file_list <- file_path_sans_ext(list.files(Settings$HEISAccessPath))
+years <- Settings$startyear:Settings$endyear
+years_had_error <- setdiff(years,existing_file_list)
+if (length(years_had_error)>0 ){
+ cat("\n------------------\nFollowing years had errors; you have to provide")
+ cat(" the *.mdb files manually for these years:\n")
+ cat(years_had_error)
+}
+
+
+endtime <- proc.time()
+
+cat("\n\n============================\nIt took ")
+cat(endtime-starttime)
diff --git a/R/105-ReadWriteIntoR.R b/R/105-ReadWriteIntoR.R
new file mode 100644
index 00000000..a6eb5e17
--- /dev/null
+++ b/R/105-ReadWriteIntoR.R
@@ -0,0 +1,49 @@
+# 105-ReadWriteIntoR
+# Read and Save All Tables into R Format
+#
+# Copyright © 2015: Majid Einian
+# Licence: GPL-3
+#
+rm(list=ls())
+
+starttime <- proc.time()
+cat("\n\n================ ReadWriteIntoR =====================================\n")
+
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+file.copy(from = Settings$D80LinkSource, to = Settings$D80LinkDest, overwrite = TRUE)
+
+library(RODBC)
+library(foreign)
+library(data.table)
+
+#load(Settings$weightsFile)
+
+for(year in (Settings$startyear:Settings$endyear)){
+ cat(paste0("\n------------------------------\nYear:",year,"\n"))
+
+ l <- dir(path=Settings$HEISAccessPath, pattern=glob2rx(paste0(year,".*")),ignore.case = TRUE)
+ if(year==80){
+ cns<-odbcConnectAccess2007(Settings$D80LinkDest)
+ }else{
+ cns<-odbcConnectAccess2007(paste0(Settings$HEISAccessPath, l))
+ }
+ tbls <- data.table(sqlTables(cns))[TABLE_TYPE %in% c("TABLE","SYNONYM"),]$TABLE_NAME
+ print(tbls)
+ Tables <- vector(mode = "list")#, length = length(tbls))
+
+ for (tbl in tbls) {
+ D <- data.table(sqlFetch(cns,tbl,stringsAsFactors=FALSE))
+ Tables[[tbl]] <- D
+ }
+ names(Tables) <- toupper(names(Tables))
+# Tables[[paste0("RU",year,"Weights")]] <- AllWeights[(Year==year),]
+ close(cns)
+ save(Tables,file=paste0(Settings$HEISRawPath,"Y",year,"Raw.rda"))
+}
+
+endtime <- proc.time()
+
+cat("\n\n============================\nIt took ")
+cat(endtime-starttime)
\ No newline at end of file
diff --git a/R/111-HHBase.R b/R/111-HHBase.R
new file mode 100644
index 00000000..3606c5a3
--- /dev/null
+++ b/R/111-HHBase.R
@@ -0,0 +1,244 @@
+# 111-HHBase.R
+# Builds the base data.table for households
+#
+# Copyright © 2016-2020: Majid Einian
+# Licence: GPL-3
+
+rm(list=ls())
+
+starttime <- proc.time()
+cat("\n\n================ HHBase =====================================\n")
+
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+library(data.table)
+library(stringr)
+library(readxl)
+
+year <- 99
+for(year in (Settings$startyear:Settings$endyear)){
+ cat(paste0("\n------------------------------\nYear:",year,"\n"))
+
+ load(file=paste0(Settings$HEISRawPath,"Y",year,"Raw.rda"))
+
+ if(year >86 & year < 92 ){
+ load(file=paste0(Settings$HEISCountyCodePath,"Y",year,
+ Settings$HEISCountyCodeFileName,".rda"))
+ }
+
+ if(year < 87){ # RxxData & UxxData tables are provided Since 1387
+ RData <- Tables[[paste0("R",year,"P2")]][,1,with=FALSE]
+ RData[, Region:=factor(x="Rural",levels=c("Urban","Rural"))]
+ UData <- Tables[[paste0("U",year,"P2")]][,1,with=FALSE]
+ UData[, Region:=factor(x="Urban",levels=c("Urban","Rural"))]
+ HHBase <- rbind(RData, UData)
+ rm(RData,UData)
+ setnames(HHBase,c("HHID","Region"))
+ HHBase[,Year:=year]
+ if(year==74){
+ HHBase[,HHIDs:=formatC(HHID, width = 8, flag = "0")]
+ }else if(year<77){
+ HHBase[,HHIDs:=formatC(HHID, width = 7, flag = "0")]
+ }else if(year %in% 77:86){
+ HHBase[,HHIDs:=formatC(HHID, width = 9, flag = "0")]
+ }
+ if(year < 77){
+ HHBase[,Quarter:=as.integer(str_sub(HHIDs,4,4))]
+ }else{
+ HHBase[,Quarter:=as.integer(str_sub(HHIDs,6,6))]
+ }
+ HHBase[,Month:=NA_integer_]
+
+ }else{
+ RData <- Tables[[paste0("R",year,"DATA")]][,c(1,2,4),with=FALSE]
+ RData[, Region:=factor(x="Rural",levels=c("Urban","Rural"))]
+ UData <- Tables[[paste0("U",year,"DATA")]][,c(1,2,4),with=FALSE]
+ UData[, Region:=factor(x="Urban",levels=c("Urban","Rural"))]
+ HHBase <- rbind(RData, UData)
+ rm(RData,UData)
+ setnames(HHBase,c("HHID","Month","Weight","Region"))
+ HHBase[,Month:=ifelse(Month==1,12,Month - 1)]
+ HHBase[HHID=="10107019605" & year==97,Month:=2] # Odd Month (-1) in 1397
+ if(length(which(HHBase$Month<=0))>0)
+ stop("Odd Month Number Here!")
+ HHBase[,Quarter:=(Month-1)%/%3+1]
+ HHBase[,HHIDs:=as.character(HHID)]
+ }
+
+ if(year >86 & year < 92 ){
+ HHBase<-merge(HHBase,ShCode,by="HHID",all.x = TRUE)
+ }
+
+ HHBase <- HHBase[!is.na(HHID)]
+ # HHBase[,ProvinceCode:=as.integer(str_sub(HHIDs,2,3))]
+
+ if(year <= 86 | year >= 92 ){
+ HHBase[,CountyCode:=as.integer(str_sub(HHIDs,2,5))]
+ }
+
+ if(year >= 87 & year <= 91 ){
+ HHBase[,CountyCode:=as.integer(SHCode)]
+ }
+
+ #Tehran-Alborz
+ if(year >76 & year < 92 ){
+ HHBase[CountyCode==2305, CountyCode:=3001] # Karaj
+ HHBase[CountyCode==2308, CountyCode:=3002] # Savojbolagh
+ }
+
+
+ #Khorasan
+ if(year >76 & year < 87 ){
+ HHBase[CountyCode==901, CountyCode:=2801] # Esfarayen
+ HHBase[CountyCode==902, CountyCode:=2802] # Bojnourd
+ HHBase[CountyCode==909, CountyCode:=2804] # Shirvan
+ HHBase[CountyCode==924, CountyCode:=2803] # Jajarm
+ HHBase[CountyCode==925, CountyCode:=2806] # Maneh & Samalqan
+
+ HHBase[CountyCode==903, CountyCode:=2901] # Birjand
+ HHBase[CountyCode==911, CountyCode:=2907] # Ferdows
+ HHBase[CountyCode==912, CountyCode:=2904] # Qaenat
+ HHBase[CountyCode==921, CountyCode:=2905] # Nehbandan
+
+
+ HHBase[CountyCode==2809, CountyCode:=2804] # Shirvan
+ }
+ if(year %in% 84:86){
+ HHBase[CountyCode==2824, CountyCode:=2803] # Jaram
+ HHBase[CountyCode==2809, CountyCode:=2804] # Shirvan
+ HHBase[CountyCode==2813, CountyCode:=2805] # Faruj # Guess!
+ HHBase[CountyCode==2825, CountyCode:=2806] # Mane & Semelqan
+
+ HHBase[CountyCode==2903, CountyCode:=2901] # Birjand
+ HHBase[CountyCode==2912, CountyCode:=2906] # Sarbishe # Just a guess
+ HHBase[CountyCode==2921, CountyCode:=2905] # Nehbandan
+ HHBase[CountyCode==2911, CountyCode:=2903] # Serayan # Just a guess
+ #HHBase[CountyCode==0911, CountyCode:=2907] # Ferdows
+ }
+
+
+
+ HHBase[CountyCode==2110, CountyCode:=2911] # Tabas
+ HHBase[CountyCode==2315, CountyCode:=3003] # Nazarabad
+
+
+ # #Ghazvin
+ # if(year >76 & year < 82 ){
+ # HHBase[CountyCode %in% c(2311),
+ # NewArea:=26]
+ # }
+ #
+ #Golestan
+ # if(year >76 & year < 82 ){
+ # HHBase[CountyCode %in% c(212,203,209,211,213,217),
+ # NewArea:=27]
+ # }
+
+ HHBase[,ProvinceCode:=CountyCode %/% 100]
+
+ HHBase[,Year:=year]
+
+ Geo2 <- data.table(read_excel(Settings$MetaDataFilePath,Settings$MDS_Geo2))
+ Geo2 <- Geo2[,.(ProvinceCode=SCINo,ProvinceName=NameEnglish)]
+ HHBase <- merge(HHBase,Geo2,by="ProvinceCode")
+
+ Geo4 <- data.table(read_excel(Settings$MetaDataFilePath,Settings$MDS_Geo4))
+ Geo4 <- Geo4[,.(CountyCode=as.numeric(Geo4),CountyName=CountyEn)]
+
+
+ HHBase <- merge(HHBase,Geo4,by="CountyCode",all.x = TRUE)
+
+ if(year >=99){
+ HHWeights <- HHBase[,.(HHID,Weight,Year)]
+ save(HHWeights,file=paste0(Settings$HEISWeightsPath,
+ Settings$HEISWeightFileName,year,".rda"))
+ }
+
+ HHBase <- HHBase[,.(HHID,Year,Quarter,Month,
+ Region,ProvinceCode,ProvinceName,
+ CountyCode,CountyName)]
+
+# print(table(HHBase[is.na(CountyName),CountyCode]))
+
+
+ HHBase[,NewArea:=ProvinceCode]
+ HHBase[Region=="Urban" &
+ CountyCode %in% c(2301,303, # Tehran (County), Tabriz,
+ 603,707, # Ahvaz, Shiraz
+ 916,1002, # Mashhad, Isfahan (County)
+ 3001,502, # Karaj, Kermanshah (County),
+ 2202,401, # Bandarabbas, Urmia
+ 808,1105, # Kerman (County), Zahedan
+ 1304, # Hamedan (County)
+ 2105,105), # Yazd (County), Rasht
+ NewArea:=CountyCode]
+ HHBase[Region=="Urban" & CountyCode ==1,
+ NewArea:=-1] # Arak [0001] to not be
+ # confused with [01] Gilan
+
+
+ HHBase[,NewArea_Name:=NA_character_]
+ HHBase[,NewArea_Name:=ifelse(NewArea==ProvinceCode,
+ ProvinceName,
+ paste0("Sh_",CountyName))]
+ HHBase[,NewArea_Name:=as.factor(NewArea_Name)]
+
+
+ save(HHBase, file=paste0(Settings$HEISProcessedPath,"Y",year,"HHBase.rda"))
+
+ cat(HHBase[,.N])
+}
+
+endtime <- proc.time()
+cat("\n\n============================\nIt took ")
+cat((endtime-starttime)[3])
+
+
+
+for(year in (Settings$startyear:Settings$endyear)){
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"HHBase.rda"))
+ cat("\n",year,":",(length(unique(HHBase$CountyCode))))
+ HHBase[,Geo4:=str_pad(CountyCode, 4, pad = "0")]
+ HHBase[,Geo2:=str_pad(ProvinceCode, 2, pad = "0")]
+
+ if(year %in% 84:86){
+ HHBase[Geo4=="2824", Geo4:="2803"] # Jaram
+ HHBase[Geo4=="2809", Geo4:="2804"] # Shirvan
+ HHBase[Geo4=="2813", Geo4:="2805"] # Faruj # Guess!
+ HHBase[Geo4=="2825", Geo4:="2806"] # Mane & Semelqan
+
+ HHBase[Geo4=="2903", Geo4:="2901"] # Birjand
+ HHBase[Geo4=="2912", Geo4:="2906"] # Sarbishe # Just a guess
+ HHBase[Geo4=="2921", Geo4:="2905"] # Nehbandan
+ HHBase[Geo4=="2911", Geo4:="2903"] # Serayan # Just a guess
+ #HHBase[Geo4=="0911", Geo4:="2907"] # Ferdows
+ }
+
+
+ if(year %in% 87:91){
+ HHBase[Geo2=="30" & Geo4=="2305", Geo4:="3001"]
+ HHBase[Geo2=="30" & Geo4=="2308", Geo4:="3002"]
+ HHBase[Geo2=="30" & Geo4=="2315", Geo4:="3003"]
+ }
+
+ HHBase[,FGeo4:=Geo4]
+
+ HHBase[Geo4=="0901", FGeo4:="2801"] # Esfarayen
+ HHBase[Geo4=="0902", FGeo4:="2802"] # Bojnourd
+ HHBase[Geo4=="0903", FGeo4:="2901"] # Birjand
+ HHBase[Geo4=="0909", FGeo4:="2804"] # Shirvan
+ HHBase[Geo4=="0910", FGeo4:="2911"] # Tabas (1)
+ HHBase[Geo4=="0911", FGeo4:="2907"] # Ferdows
+ HHBase[Geo4=="0912", FGeo4:="2904"] # Qaenat
+ HHBase[Geo4=="0921", FGeo4:="2905"] # Nehbandan
+ HHBase[Geo4=="0924", FGeo4:="2803"] # Jajarm
+ HHBase[Geo4=="0925", FGeo4:="2806"] # Mane & Semelqan
+ HHBase[Geo4=="2110", FGeo4:="2911"] # Tabas (2)
+ HHBase[Geo4=="2305", FGeo4:="3001"] # Karaj
+ HHBase[Geo4=="2308", FGeo4:="3002"] # Savojbolaq
+ HHBase[Geo4=="2315", FGeo4:="3003"] # Nazarabad
+
+ HHBase[,FGeo2:=substr(FGeo4,1,2)]
+
+}
diff --git a/R/112-InfantMilkExpenditures.R b/R/112-InfantMilkExpenditures.R
new file mode 100644
index 00000000..6646d464
--- /dev/null
+++ b/R/112-InfantMilkExpenditures.R
@@ -0,0 +1,53 @@
+# 112-InfantMilkExpenditures.R
+# Builds a column for Infant Milk (Baby Formula) Expenditures
+# This is used later to identify lactating women
+#
+# Copyright © 2019-2020: Zahra Shahidi, Majid Einian
+# License: GPL-3
+
+rm(list=ls())
+
+startTime <- proc.time()
+cat("\n\n========== Infant Milk (Baby Formula) Expenditures ================\n")
+
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+library(readxl)
+library(data.table)
+
+for(year in (Settings$startyear:Settings$endyear)){
+ cat(paste0("\n------------------------------\nYear:",year,"\n"))
+
+ load(file=paste0(Settings$HEISRawPath,"Y",year,"Raw.rda"))
+ InfantMilkTables <- data.table(read_excel(Settings$MetaDataFilePath,
+ sheet=Settings$MDS_InfantMilk))
+
+ imt <- InfantMilkTables[Year == year]
+ tab <- imt$Table
+ if (is.na(tab))
+ next
+ UTInfantMilk <- Tables[[paste0("U",year,tab)]]
+ RTInfantMilk <- Tables[[paste0("R",year,tab)]]
+ TInfantMilk <- rbind(UTInfantMilk,RTInfantMilk)
+ for(n in names(TInfantMilk)){
+ x <- which(imt==n)
+ if(length(x)>0)
+ setnames(TInfantMilk,n,names(imt)[x])
+ }
+ pcols <- intersect(names(TInfantMilk),c("HHID","Code",
+ "InfantMilkExpenditure"))
+ TInfantMilk <- TInfantMilk[Code %in% imt$StartCode:imt$EndCode,
+ pcols,with=FALSE]
+ TInfantMilk <- TInfantMilk[,Code:=NULL]
+ TInfantMilk <- TInfantMilk[,InfantMilkExpenditure:=
+ as.numeric(InfantMilkExpenditure)]
+ TInfantMilk[is.na(TInfantMilk)] <- 0
+ TInfantMilk <- TInfantMilk[,lapply(.SD,sum),by=HHID]
+
+ save(TInfantMilk,file = paste0(Settings$HEISProcessedPath,
+ "Y",year,"InfantMilk.rda"))
+}
+
+endTime <- proc.time()
+cat("\n\n============================\nIt took",(endTime-startTime)[3], "seconds.")
\ No newline at end of file
diff --git a/R/113-Demo.R b/R/113-Demo.R
new file mode 100644
index 00000000..abfdeae3
--- /dev/null
+++ b/R/113-Demo.R
@@ -0,0 +1,327 @@
+# 113-Demo.R
+# Builds the demographics information data.table for households, and then based
+# on the age structure and presence of lactating women, calculated the calories
+# needed for each household (Based on calorie need tables by the World Bank and
+# and the Nutrition Institute)
+#
+# Copyright © 2016-2020: Majid Einian and Zahra Shahidi and ?
+# License: GPL-3
+rm(list=ls())
+
+starttime <- proc.time()
+cat("\n\n================== Demographics & Calorie Need ====================\n")
+
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+library(readxl)
+library(data.table)
+library(stringr)
+
+P1Cols <- data.table(read_excel(Settings$MetaDataFilePath, Settings$MDS_P1Cols))
+
+EduCodesA <- data.table(read_excel(Settings$MetaDataFilePath,Settings$MDS_EC_A))
+EduCodesB <- data.table(read_excel(Settings$MetaDataFilePath,Settings$MDS_EC_B))
+EduCodesC <- data.table(read_excel(Settings$MetaDataFilePath,Settings$MDS_EC_C))
+EduCodesD <- data.table(read_excel(Settings$MetaDataFilePath,Settings$MDS_EC_D))
+
+years <- Settings$startyear:Settings$endyear
+
+for(year in years){
+ cat(paste0("\n------------------------------\nYear:",year,"\n"))
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"HHBase.rda"))
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"InfantMilk.rda"))
+ load(file=paste0(Settings$HEISRawPath,"Y",year,"Raw.rda"))
+ load(file=paste0(Settings$HEISWeightsPath,Settings$HEISWeightFileName,year,".rda"))
+
+
+ if(year<=84){
+ EduCodeT <- EduCodesA
+ }else if(year %in% 85:92){
+ EduCodeT <- EduCodesB
+ }else if(year %in% 93:96){
+ EduCodeT <- EduCodesC
+ }else if(year >=97){
+ EduCodeT <- EduCodesD
+ }
+
+ P1 <- rbind(Tables[[paste0("R",year,"P1")]],Tables[[paste0("U",year,"P1")]])
+ nP1 <- names(P1)
+ if(length(which(sapply(P1, is.character)))>0){
+ P1c <- P1[,lapply(.SD,iconv,"WINDOWS-1252","UTF-8"), .SDcols=sapply(P1,is.character)]
+ P1nc <- P1[,!sapply(P1,is.character),with=FALSE]
+ P1 <- cbind(P1c,P1nc)[,nP1,with=FALSE]
+ }
+
+ a <- unlist(P1Cols[P1Cols$Year==year,])
+ ind <- which(!is.na(a))[-1]
+ setnames(P1,a[ind],names(a[ind]))
+
+ f <- function(x){as.numeric(str_trim(x))}
+ P1 <- P1[, lapply(.SD, f)] # , .SDcols=which(sapply(P1, class)=="character")]
+
+
+ P1[is.na(Age),Age:=0L]
+ P1[,Relationship :=factor(Relationship, levels=1:9,
+ labels=c("Head","Spouse","Child","Child-in-Law",
+ "Grand-Child","Parent","Sister/Brother",
+ "Other Family","Non-Family"))]
+
+ P1[,Sex := factor(Sex, levels=1:2,
+ labels=c("Male","Female"))]
+
+ P1<-P1[Sex=="Male" | Sex=="Female"]
+
+ if(year %in% 63:64){
+ P1[,Literate:=LitState<=3]
+ }else if(year %in% 65:68){
+ P1[,Literate:=LitState<=2]
+ }else{
+ P1[,Literate:=Literate==1]
+ }
+
+ if(year %in% 63:68){
+ P1[,Student:=LitState==1]
+ }else{
+ P1[,Student:=Student==1]
+ }
+
+ P1[,EduYears:=EduCodeT$yoe[match(EduCode,EduCodeT$Code)]]
+ P1$EduYears[P1$Literate==FALSE] <- 0
+ P1[,EduLevel0:=cut(EduYears,breaks=c(-1,0,6,12,22),
+ labels= c("Illiterate","Primary","Secondary","University"))]
+ P1[,EduLevel1:=cut(EduYears,breaks=c(-1,0,6,9,11,12,22),
+ labels= c("Illiterate","Elementary","Middle","High","Pre","University"))]
+ P1[,EduLevel:=cut(EduYears,breaks=c(-1,0,6,12,14,16,18,23),
+ labels= c("Illiterate","Primary","Secondary",
+ "College","Bachelors","Masters","PhD"))]
+
+ P1[,ActivityState:=as.numeric(substr(as.character(ActivityState),1,1))]
+
+ if(year %in% 63:64){
+ P1[,ActivityState:=factor(ActivityState,1:9,
+ c("Employed","Seasonal Unemployed","Income without Work",
+ "Unemployed","Student","Housekeeper","Unemployed Not Looking for Job",
+ "Other","Former Member"))]
+ levels(P1$ActivityState) <- c(c("Employed","Unemployed","Income without Work",
+ "Unemployed","Student","Housekeeper","Other",
+ "Other","Other"))
+ }else if(year %in% 65:68){
+ P1[,ActivityState:=factor(ActivityState,1:8,
+ c("Employed","Seasonal Unemployed","Income without Work",
+ "Unemployed","Student","Housekeeper",
+ "Other","Former Member"))]
+ levels(P1$ActivityState) <- c(c("Employed","Unemployed","Income without Work",
+ "Unemployed","Student","Housekeeper","Other",
+ "Other"))
+ }else{
+ P1[,ActivityState:=factor(ActivityState,1:6,
+ c("Employed","Unemployed","Income without Work",
+ "Student","Housekeeper","Other"))]
+ }
+
+ if(year %in% 66:68){
+ P1[,MarritalState:=factor(NA,1:4,
+ c("Married","Widowed","Divorced","Bachelor"))]
+ }else{
+ P1[,MarritalState:=factor(MarritalState,1:4,
+ c("Married","Widowed","Divorced","Bachelor"))]
+ }
+ save(P1,file=paste0(Settings$HEISProcessedPath,"Y",year,"MembersProperties.rda"))
+
+ P <- copy(P1)
+
+ P <- P[order(P$HHID),]
+
+ B <- P[IndivNo==1]
+ setnames(B,2:length(B),sapply(X=names(B)[2:length(B)],function(X){paste("H",X,sep="")}))
+ B <- B[order(HHID,HIndivNo)]
+ B <- B[!duplicated(B$HHID),]
+
+ B[,HEmployed:=HActivityState=="Employed"]
+ B[,HUnemployed:=HActivityState=="Unemployed"]
+ B[,HIncomeWOWork:=HActivityState=="Income without Work"]
+
+ B <- B[!is.na(HActivityState) & !is.na(HLiterate)]
+
+### Define Age Groups ==========================================
+ P[,Size:=1]
+ P[,Kids:=ifelse(Relationship=="Child",1,0)]
+ P[,NKids:=ifelse(Age<15,1,0)]
+ P[,NKids1:=ifelse(Age<11,1,0)]
+ P[,NInfants:=ifelse(Age<=2,1,0)]
+ P[,NInfants0:=ifelse(Age==0,1,0)]
+ P[,Bahremand:=ifelse(Student=="TRUE",1,0)]
+ P[,NStudents:=ifelse(Age<=18 & Age>=6,1,0)]
+ P[,UN18All:=ifelse(Age<=18,1,0)]
+ P[,UN18:=ifelse(Age<=18,1,0)]
+ P[,NEduParent:=ifelse((Relationship=="Head" | Relationship=="Spouse") & (EduYears>11),1,0)]
+ P[,NEduOther:=ifelse((Relationship=="Parent" | Relationship=="Sister/Brother" | Relationship=="Other Family" | Relationship=="Non-Family") & (EduYears>11),1,0)]
+ P[,Mother:=ifelse(Relationship=="Spouse",1,0)]
+ P[,NSmallKids:=ifelse(Age>=3 & Age<=13, 1, 0)]
+ P[,NElementary:= ifelse(EduLevel1=="Elementary" & Student==TRUE,1,0)]
+ P[,NMiddle:= ifelse(EduLevel1=="Middle" & Student==TRUE,1,0)]
+ P[,NHigh:= ifelse(EduLevel1=="High" & Student==TRUE,1,0)]
+ P[,NCollege:=ifelse(EduLevel=="College" & Student==TRUE,1,0)]
+ P[,NBachelors:=ifelse(EduLevel=="Bachelors" & Student==TRUE,1,0)]
+ P[,NMasters:=ifelse(EduLevel=="Masters" & Student==TRUE,1,0)]
+ P[,NPhD:=ifelse(EduLevel=="PhD" & Student==TRUE,1,0)]
+ P[,NUniv:=NCollege+NBachelors+NMasters+NPhD]
+ P[,NLiterate:=ifelse(EduLevel!="Illiterate",1,0)]
+ P[,NEmployed:=ifelse(ActivityState=="Employed",1,0)]
+ P[,NUnEmployed:=ifelse(ActivityState=="Unemployed",1,0)]
+
+ P[,NYHigh:=ifelse((Age>17 & Age<25) & ((EduLevel1=="Illiterate") | (EduLevel1=="Elementary") | (EduLevel1=="Middle") | EduLevel1=="High"),1,0)]
+ P[,NY:=ifelse((Age>17 & Age<25),1,0)]
+ P[,NKElementary:=ifelse((Age>11 & Age<18) & ((EduLevel1=="Illiterate")),1,0)]
+ P[,NK:=ifelse((Age>11 & Age<18),1,0)]
+
+ #Age Groups 1
+ P[,NAge1B:=ifelse(Age==0 & Sex=="Male",1,0)]
+ P[,NAge1G:=ifelse(Age==0 & Sex=="Female",1,0)]
+ P[,NAge2B:=ifelse(Age==1 & Sex=="Male",1,0)]
+ P[,NAge2G:=ifelse(Age==1 & Sex=="Female",1,0)]
+ P[,NAge3B:=ifelse(Age==2 & Sex=="Male",1,0)]
+ P[,NAge3G:=ifelse(Age==2 & Sex=="Female",1,0)]
+ P[,NAge4B:=ifelse(Age==3 & Sex=="Male",1,0)]
+ P[,NAge4G:=ifelse(Age==3 & Sex=="Female",1,0)]
+ P[,NAge5B:=ifelse(Age==4 & Sex=="Male",1,0)]
+ P[,NAge5G:=ifelse(Age==4 & Sex=="Female",1,0)]
+ P[,NAge6B:=ifelse(Age<=9 & Age>4 & Sex=="Male",1,0)]
+ P[,NAge6G:=ifelse(Age<=9 & Age>4 & Sex=="Female",1,0)]
+ P[,NAge7B:=ifelse(Age<=14 & Age>9 & Sex=="Male",1,0)]
+ P[,NAge7G:=ifelse(Age<=14 & Age>9 & Sex=="Female",1,0)]
+ P[,NAge8B:=ifelse(Age<=19 & Age>14 & Sex=="Male",1,0)]
+ P[,NAge8G:=ifelse(Age<=19 & Age>14 & Sex=="Female",1,0)]
+ P[,NAge9B:=ifelse(Age<=59 & Age>19 & Sex=="Male",1,0)]
+ P[,NAge9G:=ifelse(Age<=59 & Age>19 & Sex=="Female",1,0)]
+ P[,NAge10B:=ifelse(Age>59 & Sex=="Male",1,0)]
+ P[,NAge10G:=ifelse(Age>59 & Sex=="Female",1,0)]
+ P[,NDabestan:=ifelse(Age>=7 & Age<=11,1,0)]
+ P[,NRahnamayi:=ifelse(Age>=12 & Age<=14,1,0)]
+ P[,NDabirestan:=ifelse(Age>=15 & Age<=17,1,0)]
+ P[,NPish:=ifelse(Age==18,1,0)]
+ #Age Groups 2
+ P[,NAge1_NutInst_B:=ifelse(Age==0 & Sex=="Male",1,0)]
+ P[,NAge1_NutInst_G:=ifelse(Age==0 & Sex=="Female",1,0)]
+ P[,NAge2_NutInst_B:=ifelse(Age==1 & Sex=="Male",1,0)]
+ P[,NAge2_NutInst_G:=ifelse(Age==1 & Sex=="Female",1,0)]
+ P[,NAge3_NutInst_B:=ifelse(Age>=2 & Age<=3 & Sex=="Male",1,0)]
+ P[,NAge3_NutInst_G:=ifelse(Age>=2 & Age<=3 & Sex=="Female",1,0)]
+ P[,NAge4_NutInst_B:=ifelse(Age>=4 & Age<=5 & Sex=="Male",1,0)]
+ P[,NAge4_NutInst_G:=ifelse(Age>=4 & Age<=5 & Sex=="Female",1,0)]
+ P[,NAge5_NutInst_B:=ifelse(Age<=11 & Age>=6 & Sex=="Male",1,0)]
+ P[,NAge5_NutInst_G:=ifelse(Age<=11 & Age>=6 & Sex=="Female",1,0)]
+ P[,NAge6_NutInst_B:=ifelse(Age<=17 & Age>=12 & Sex=="Male",1,0)]
+ P[,NAge6_NutInst_G:=ifelse(Age<=17 & Age>=12 & Sex=="Female",1,0)]
+ P[,NAge7_NutInst_B:=ifelse(Age<=29 & Age>=18 & Sex=="Male",1,0)]
+ P[,NAge7_NutInst_G:=ifelse(Age<=29 & Age>=18 & Sex=="Female",1,0)]
+ P[,NAge8_NutInst_B:=ifelse(Age<=60 & Age>=30 & Sex=="Male",1,0)]
+ P[,NAge8_NutInst_G:=ifelse(Age<=60 & Age>=30 & Sex=="Female",1,0)]
+ P[,NAge9_NutInst_B:=ifelse(Age>60 & Sex=="Male",1,0)]
+ P[,NAge9_NutInst_G:=ifelse(Age>60 & Sex=="Female",1,0)]
+
+ PSum <- P[,lapply(.SD,sum,na.rm=TRUE),
+ .SDcols=c("Size","NKids","NInfants","NInfants0","NSmallKids","NKids1","UN18","UN18All","NKElementary","NK",
+ "NElementary","NHigh","NMiddle","NStudents","Bahremand","Mother","NEduParent","NEduOther",
+ "NCollege","NBachelors","NMasters","NPhD","NUniv","NYHigh","NY",
+ "NAge1B","NAge1G",
+ "NAge2B","NAge2G",
+ "NAge3B","NAge3G",
+ "NAge4B","NAge4G",
+ "NAge5B","NAge5G",
+ "NAge6B","NAge6G",
+ "NAge7B","NAge7G",
+ "NAge8B","NAge8G",
+ "NAge9B","NAge9G",
+ "NAge10B","NAge10G",
+ "NAge1_NutInst_B","NAge1_NutInst_G",
+ "NAge2_NutInst_B","NAge2_NutInst_G",
+ "NAge3_NutInst_B","NAge3_NutInst_G",
+ "NAge4_NutInst_B","NAge4_NutInst_G",
+ "NAge5_NutInst_B","NAge5_NutInst_G",
+ "NAge6_NutInst_B","NAge6_NutInst_G",
+ "NAge7_NutInst_B","NAge7_NutInst_G",
+ "NAge8_NutInst_B","NAge8_NutInst_G",
+ "NAge9_NutInst_B","NAge9_NutInst_G",
+ "NDabestan","NRahnamayi",
+ "NDabirestan","NPish",
+ "NEmployed","NUnEmployed","NLiterate"),
+ by="HHID"]
+ UnEmployed<-PSum[,.(HHID,NUnEmployed)]
+ save(UnEmployed,year,file=paste0(Settings$HEISProcessedPath,"Y",year,"UnEmployed.rda"))
+ PSum<- merge(PSum,TInfantMilk,by="HHID",all.x = TRUE)
+ PSum[is.na(InfantMilkExpenditure), InfantMilkExpenditure := 0]
+ PSum<-PSum[,Lactating:=ifelse(NInfants0>0 & InfantMilkExpenditure==0,1,0)]
+
+ PSum[,Calorie_Need_WorldBank:=
+ NAge1B*Settings$KCaloryNeed_B1+
+ NAge2B*Settings$KCaloryNeed_B2+
+ NAge3B*Settings$KCaloryNeed_B3+
+ NAge4B*Settings$KCaloryNeed_B4+
+ NAge5B*Settings$KCaloryNeed_B5+
+ NAge6B*Settings$KCaloryNeed_B6+
+ NAge7B*Settings$KCaloryNeed_B7+
+ NAge8B*Settings$KCaloryNeed_B8+
+ NAge9B*Settings$KCaloryNeed_B9+
+ NAge10B*Settings$KCaloryNeed_B10+
+ NAge1G*Settings$KCaloryNeed_G1+
+ NAge2G*Settings$KCaloryNeed_G2+
+ NAge3G*Settings$KCaloryNeed_G3+
+ NAge4G*Settings$KCaloryNeed_G4+
+ NAge5G*Settings$KCaloryNeed_G5+
+ NAge6G*Settings$KCaloryNeed_G6+
+ NAge7G*Settings$KCaloryNeed_G7+
+ NAge8G*Settings$KCaloryNeed_G8+
+ NAge9G*Settings$KCaloryNeed_G9+
+ NAge10G*Settings$KCaloryNeed_G10+
+ Lactating*(Settings$KCaloryNeed_lactating)]
+
+ PSum[,Calorie_Need_NutritionInstitute:=
+ NAge1_NutInst_B*Settings$KCaloryNeed_NutInst_B1+
+ NAge2_NutInst_B*Settings$KCaloryNeed_NutInst_B2+
+ NAge3_NutInst_B*Settings$KCaloryNeed_NutInst_B3+
+ NAge4_NutInst_B*Settings$KCaloryNeed_NutInst_B4+
+ NAge5_NutInst_B*Settings$KCaloryNeed_NutInst_B5+
+ NAge6_NutInst_B*Settings$KCaloryNeed_NutInst_B6+
+ NAge7_NutInst_B*Settings$KCaloryNeed_NutInst_B7+
+ NAge8_NutInst_B*Settings$KCaloryNeed_NutInst_B8+
+ NAge9_NutInst_B*Settings$KCaloryNeed_NutInst_B9+
+ NAge1_NutInst_G*Settings$KCaloryNeed_NutInst_G1+
+ NAge2_NutInst_G*Settings$KCaloryNeed_NutInst_G2+
+ NAge3_NutInst_G*Settings$KCaloryNeed_NutInst_G3+
+ NAge4_NutInst_G*Settings$KCaloryNeed_NutInst_G4+
+ NAge5_NutInst_G*Settings$KCaloryNeed_NutInst_G5+
+ NAge6_NutInst_G*Settings$KCaloryNeed_NutInst_G6+
+ NAge7_NutInst_G*Settings$KCaloryNeed_NutInst_G7+
+ NAge8_NutInst_G*Settings$KCaloryNeed_NutInst_G8+
+ NAge9_NutInst_G*Settings$KCaloryNeed_NutInst_G9+
+ Lactating*(Settings$KCaloryNeed_lactating)]
+
+ HHWeights <- as.data.table(HHWeights)
+ HHWeights <- HHWeights[,HHID:=as.numeric(HHID)]
+ HHWeights[,Year:=NULL]
+
+ HHI <- merge(B,PSum,by="HHID")
+ HHI <- merge(HHI,HHWeights,by="HHID")
+ # Calorie_Need<-HHI[,.(Calorie_Need_WorldBank=weighted.mean(Calorie_Need1,Weight),
+ # Calorie_Need_NutritionInstitute=weighted.mean(Calorie_Need2,Weight)),by="HHID"]
+
+ HHI[,EqSizeOECD := ifelse(Size==NKids,1+(NKids-1)*0.5,
+ 1 + (Size-NKids-1)*0.7 + (NKids)*0.5)]
+ #HHI[,EqSizeOECD := ifelse(Size==NKids,1+(NKids-1)*0.3,
+ # 1 + (Size-NKids-1)*0.5 + (NKids)*0.3)]
+ #HHI[,EqSizeOECD := sqrt(Size)]
+ HHI <- HHI[!is.na(HLiterate)]
+
+ rm(P,B)
+ save(HHI,year,file=paste0(Settings$HEISProcessedPath,"Y",year,"HHI.rda"))
+# save(Calorie_Need,file=paste0(Settings$HEISProcessedPath,"Y",year,"Calorie_Need.rda"))
+
+ HHI2<-HHI[NInfants0>0]
+ cat(HHI2[,weighted.mean(Lactating,Weight)])
+
+ }
+
+endtime <- proc.time()
+cat("\n\n============================\nIt took ",(endtime-starttime)[3],"seconds")
\ No newline at end of file
diff --git a/R/121-HHHouseProperties.R b/R/121-HHHouseProperties.R
new file mode 100644
index 00000000..ec6ae053
--- /dev/null
+++ b/R/121-HHHouseProperties.R
@@ -0,0 +1,173 @@
+# 121-HHHouseProperties.R
+# Builds the House Properties data.table for households
+#
+# Copyright © 2019-2020: Arin Shahbazian, Majid Einian
+# Licence: GPL-3
+
+rm(list=ls())
+
+startTime <- proc.time()
+cat("\n\n================ HHHouseProperties ================================\n")
+
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+library(data.table)
+library(stringr)
+library(readxl)
+
+
+P2Cols <- data.table(read_excel(Settings$MetaDataFilePath, Settings$MDS_P2Cols))
+#year<-90
+for(year in (Settings$startyear:Settings$endyear)){
+ cat(paste0("\n------------------------------\nYear:",year,"\n"))
+ load(file=paste0(Settings$HEISRawPath,"Y",year,"Raw.rda"))
+
+ P2 <- rbind(Tables[[paste0("R",year,"P2")]],Tables[[paste0("U",year,"P2")]])
+ nP2 <- names(P2)
+ if(length(which(sapply(P2, is.character)))>0){
+ P2c <- P2[,lapply(.SD,iconv,"WINDOWS-1252","UTF-8"),
+ .SDcols=sapply(P2,is.character)]
+ P2nc <- P2[,!sapply(P2,is.character),with=FALSE]
+ P2 <- cbind(P2c,P2nc)[,nP2,with=FALSE]
+ }
+
+ a <- unlist(P2Cols[P2Cols$Year==year,])
+ ind <- which(!is.na(a))[-1]
+ setnames(P2,a[ind],names(a[ind]))
+
+ f <- function(x){as.numeric(str_trim(x))}
+ P2 <- P2[, lapply(.SD, f)]
+
+ P2[is.na(P2)]<-0
+
+ P2[,tenure :=factor(tenure, levels=1:7,
+ labels=c("OwnLandandBuilding","Apartment","Rented",
+ "Mortgage","AgainstService",
+ "Free","Other"))]
+
+ P2[,skeleton :=factor(skeleton, levels=1:3,
+ labels=c("metal","concrete","other"))]
+
+ P2[,constmat :=factor(constmat, levels=1:8,
+ labels=c("BrickSteel_StoneSteel","Brickwood_Stonewood",
+ "CementBlocks","AllBrick_Stone","Allwood",
+ "SundriedBrickwood","SundriedBrickmud",
+ "other"))]
+ save(P2, file=paste0(Settings$HEISProcessedPath,"Y",year,
+ "HHHouseProperties.rda"))
+ P2[,cookfuel :=factor(cookfuel, levels=1:10,
+ labels=c("karosine","gasoline",
+ "gas","pipedgas",
+ "electricity","woodandcharcoal",
+ "Animalfuel","charcoal","otherFuel","None"))]
+
+ P2[,heatfuel :=factor(heatfuel, levels=11:20,
+ labels=c("karosine","gasoline",
+ "gas","pipedgas",
+ "electricity","woodandcharcoal",
+ "Animalfuel","charcoal","otherFuel","None"))]
+ if("hotwater" %in% names(P2)){
+ P2[,hotwater :=factor(hotwater, levels=21:30,
+ labels=c("karosine","gasoline",
+ "gas","pipedgas",
+ "electricity","woodandcharcoal",
+ "Animalfuel","charcoal","otherFuel","None"))]
+ }
+
+ if (year==90){
+ P2<-P2[,Phone:=ifelse(phone==4,TRUE,FALSE)]
+ P2<-P2[,Bike:=ifelse(bike==1,TRUE,FALSE)]
+ P2<-P2[,Radio:=ifelse(radio==1,TRUE,FALSE)]
+ P2<-P2[,Cassette:=ifelse(cassette==1,TRUE,FALSE)]
+ P2<-P2[,Tvbw:=ifelse(tvbw==1,TRUE,FALSE)]
+ P2<-P2[,Tvcr:=ifelse(tvcr==1,TRUE,FALSE)]
+ P2<-P2[,Vcr:=ifelse(vcr==1,TRUE,FALSE)]
+ P2<-P2[,CellPhone:=ifelse(cellphone==1,TRUE,FALSE)]
+ P2<-P2[,Freezer:=ifelse(freezer==1,TRUE,FALSE)]
+ P2<-P2[,Refrigerator:=ifelse(refrigerator==1,TRUE,FALSE)]
+ P2<-P2[,Frez_Refrig:=ifelse(frez_refrig==1,TRUE,FALSE)]
+ P2<-P2[,Oven:=ifelse(oven==1,TRUE,FALSE)]
+ P2<-P2[,Vacuum:=ifelse(vacuum==1,TRUE,FALSE)]
+ P2<-P2[,Washer:=ifelse(washer==1,TRUE,FALSE)]
+ P2<-P2[,Sewing:=ifelse(sewing==1,TRUE,FALSE)]
+ P2<-P2[,Fan:=ifelse(fan==1,TRUE,FALSE)]
+ P2<-P2[,Cooler_Water_Movable:=ifelse(cooler_water_movable==1,TRUE,FALSE)]
+ P2<-P2[,Cooler_Gas_Movable:=ifelse(cooler_gas_movable==1,TRUE,FALSE)]
+ P2<-P2[,Dishwasher:=ifelse(dishwasher==1,TRUE,FALSE)]
+ P2<-P2[,Internet:=ifelse(internet==5,TRUE,FALSE)]
+ P2<-P2[,Bathroom:=ifelse(bathroom==6,TRUE,FALSE)]
+ P2<-P2[,None:=ifelse(none==1,TRUE,FALSE)]
+ P2<-P2[,Pipewater:=ifelse(pipewater==1,TRUE,FALSE)]
+ P2<-P2[,Electricity:=ifelse(electricity==2,TRUE,FALSE)]
+ P2<-P2[,Pipegas:=ifelse(pipegas==3,TRUE,FALSE)]
+ P2<-P2[,Kitchen:=ifelse(kitchen==7,TRUE,FALSE)]
+ P2<-P2[,Cooler:=ifelse(cooler==8,TRUE,FALSE)]
+ P2<-P2[,CentralCooler:=ifelse(centralcooler==9,TRUE,FALSE)]
+ P2<-P2[,CentralHeat:=ifelse(centralheat==10,TRUE,FALSE)]
+ P2<-P2[,Pakage:=ifelse(pakage==11,TRUE,FALSE)]
+ P2<-P2[,Cooler_Gas:=ifelse(cooler_gas==12,TRUE,FALSE)]
+ P2<-P2[,SewageNetwork:=ifelse(seweragenetwork==13,TRUE,FALSE)]
+ P2<-P2[,Car:=ifelse(car==1,TRUE,FALSE)]
+ P2<-P2[,MotorCycle:=ifelse(motorcycle==1,TRUE,FALSE)]
+
+ P2<-P2[,phone:= Phone]
+ P2<-P2[,bike:= Bike]
+ P2<-P2[,radio:= Radio ]
+ P2<-P2[,cassette:= Cassette ]
+ P2<-P2[,tvbw:= Tvbw ]
+ P2<-P2[,tvcr:= Tvcr ]
+ P2<-P2[,vcr:= Vcr ]
+ P2<-P2[,cellphone:= CellPhone ]
+ P2<-P2[,freezer:= Freezer ]
+ P2<-P2[,refrigerator:= Refrigerator ]
+ P2<-P2[,frez_refrig:= Frez_Refrig ]
+ P2<-P2[,oven:= Oven ]
+ P2<-P2[,vacuum:= Vacuum ]
+ P2<-P2[,washer:= Washer ]
+ P2<-P2[,sewing:= Sewing ]
+ P2<-P2[,fan:= Fan ]
+ P2<-P2[,cooler_water_movable:= Cooler_Water_Movable ]
+ P2<-P2[,cooler_gas_movable:= Cooler_Gas_Movable ]
+ P2<-P2[,dishwasher:= Dishwasher ]
+ P2<-P2[,internet:= Internet]
+ P2<-P2[,bathroom:= Bathroom]
+ P2<-P2[,none:= None ]
+ P2<-P2[,pipewater:= Pipewater ]
+ P2<-P2[,electricity:= Electricity]
+ P2<-P2[,pipegas:= Pipegas]
+ P2<-P2[,kitchen:= Kitchen]
+ P2<-P2[,cooler:= Cooler]
+ P2<-P2[,centralcooler:= CentralCooler]
+ P2<-P2[,centralheat:= CentralHeat]
+ P2<-P2[,pakage:= Pakage]
+ P2<-P2[,cooler_gas:= Cooler_Gas]
+ P2<-P2[,seweragenetwork:= SewageNetwork]
+ }else{
+
+ booleanvars <- c("car", "motorcycle", "bike", "radio", "cassette", "tvbw",
+ "tvcr", "vcr", "computer", "cellphone", "freezer",
+ "refrigerator", "frez_refrig", "oven", "vacuum", "washer",
+ "sewing", "fan", "cooler_water_movable",
+ "cooler_gas_movable", "dishwasher", "Microwave", "none",
+ "pipewater", "electricity", "pipegas", "phone", "internet",
+ "bathroom", "kitchen", "cooler", "centralcooler",
+ "centralheat", "pakage", "cooler_gas", "seweragenetwork",
+ "party_month", "party_year", "ceremony_month",
+ "ceremony_year", "homerepaire_month", "homerepaire_year",
+ "prtrip_month", "prtrip_year", "frtrip_month", "frtrip_year",
+ "bastari_month", "bastari_year", "operation_month",
+ "operation_year", "other_month", "other_year", "other_name",
+ "noceremony", "noceremony_year")
+ booleanvars <- intersect(booleanvars,names(P2))
+ for (var in booleanvars) P2[, (var):= get(var)==1]
+ }
+ HHHouseProperties<-P2
+
+ save(HHHouseProperties, file=paste0(Settings$HEISProcessedPath,"Y",year,
+ "HHHouseProperties.rda"))
+}
+
+endTime <- proc.time()
+cat("\n\n============================\nIt took",
+ (endTime-startTime)[3], "seconds.")
\ No newline at end of file
diff --git a/R/131-HHFood Expenditures.R b/R/131-HHFood Expenditures.R
new file mode 100644
index 00000000..f421d861
--- /dev/null
+++ b/R/131-HHFood Expenditures.R
@@ -0,0 +1,46 @@
+# 131-HHFoods.R
+# Builds the Food expenditures data.table for households
+#
+# Copyright © 2017: Arin Shahbazian
+# Licence: GPL-3
+
+rm(list=ls())
+
+startTime <- proc.time()
+cat("\n\n================ HHFoods =====================================\n")
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+library(data.table)
+library(stringr)
+library(readxl)
+
+FoodTables <- data.table(read_excel(Settings$MetaDataFilePath,sheet=Settings$MDS_Food))
+
+for (year in (Settings$startyear:Settings$endyear)){
+ cat(paste0("\n------------------------------\nYear:", year, "\n"))
+ load(file = paste0(Settings$HEISRawPath, "Y", year, "Raw.rda"))
+ ft <- FoodTables[Year == year]
+ tab <- ft$Table
+ if (is.na(tab))
+ next
+ UTF <- Tables[[paste0("U",year,tab)]]
+ RTF <- Tables[[paste0("R",year,tab)]]
+ TF <- rbind(UTF,RTF)
+ for(n in names(TF)){
+ x <- which(ft==n)
+ if(length(x)>0)
+ setnames(TF,n,names(ft)[x])
+ }
+ pcols <- intersect(names(TF),c("HHID","Code","FoodExpenditure","BuyingMethod"))
+ TF <- TF[,pcols,with=FALSE]
+ TF <- TF[Code %in% ft$StartCode:ft$EndCode]
+ TF <- TF[,FoodExpenditure:=as.numeric(FoodExpenditure)]
+ TF <- TF[,Code:=NULL]
+ TF[is.na(TF)] <- 0
+
+ TotalFoodExpData <- TF[,lapply(.SD,sum),by=HHID,.SDcols=c("FoodExpenditure")]
+ save(TotalFoodExpData, file = paste0(Settings$HEISProcessedPath,"Y",year,"TotalFoodExp.rda"))
+}
+endTime <- proc.time()
+cat("\n\n============================\nIt took",(endTime-startTime)[3], "seconds.")
diff --git a/R/132-HHNonFood Expenditures.R b/R/132-HHNonFood Expenditures.R
new file mode 100644
index 00000000..a0984151
--- /dev/null
+++ b/R/132-HHNonFood Expenditures.R
@@ -0,0 +1,119 @@
+# 141-Groups Expenditures.R
+# Builds the Groups Expenditures data.table for households
+#
+# Copyright © 2017-2020: Arin Shahbazian, Majid Einian
+# Licence: GPL-3
+
+rm(list=ls())
+
+startTime <- proc.time()
+cat("\n\n================ NonFood Expenditures =============================\n")
+
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+library(readxl)
+library(data.table)
+library(stringr)
+
+sections_names <- c("Cigar","Cloth","Communication","Energy","Furniture",
+ "Hygiene","Medical","Transportation","Communication",
+ "Amusement","Education","Hotel","Restaurant","Other",
+ "Investment")
+# House has different code / durables are in another file
+for(section in sections_names){
+ section_sheet <- eval(parse(text = paste0("Settings$MDS_",section)))
+ cat("\n\n================",section,"=====================================\n")
+ SectionTables <- data.table(read_excel(Settings$MetaDataFilePath,
+ sheet=section_sheet))
+
+ for(year in (Settings$startyear:Settings$endyear)){
+ cat(paste0("\n------------------------------\nYear:",year,"\n"))
+ load(file=paste0(Settings$HEISRawPath,"Y",year,"Raw.rda"))
+ st <- SectionTables[Year==year]
+ tab <- st$Table
+ if(is.na(tab))
+ next
+ UTS <- Tables[[paste0("U",year,tab)]]
+ RTS <- Tables[[paste0("R",year,tab)]]
+ TS <- rbind(UTS,RTS)
+ for(n in names(TS)){
+ x <- which(st==n)
+ if(length(x)>0)
+ setnames(TS,n,names(st)[x])
+ }
+ pcols <- intersect(names(TS),c("HHID","Code",paste0(section,"_Exp")))
+ TS <- TS[,pcols,with=FALSE]
+ if(!is.na(st$StartCode)){
+ TS <- TS[Code %in% st$StartCode:st$EndCode]
+ }
+
+ TS[,(paste0(section,"_Exp")):=as.numeric(get(paste0(section,"_Exp")))]
+ TS[,Code:=NULL]
+ TS[is.na(TS)] <- 0
+
+ eval(parse(text = paste0(section,"Data <- TS[,lapply(.SD,sum),by=HHID]")))
+ eval(parse(text = paste0("save(",section,
+ "Data, file =paste0(Settings$HEISProcessedPath,\"Y\",year,\"",
+ section,"s.rda\"))")))
+ eval(parse(text = paste0("cat(section,\":\",",section,
+ "Data[,mean(",section,"_Exp)])")))
+ }
+}
+
+
+cat("\n\n================ Section4:HHHouse =====================================\n")
+HouseTables <- data.table(read_excel(Settings$MetaDataFilePath,sheet=Settings$MDS_House))
+
+for(year in (Settings$startyear:Settings$endyear)){
+ cat(paste0("\n------------------------------\nYear:",year,"\t"))
+
+ load(file=paste0(Settings$HEISRawPath,"Y",year,"Raw.rda"))
+
+ ty <- HouseTables[Year==year][,1:10]
+ tab <- ty$Table
+
+ UTL <- Tables[[paste0("U",year,tab)]]
+ RTL <- Tables[[paste0("R",year,tab)]]
+ TL <- rbind(UTL,RTL)
+ for(n in names(TL)){
+ x <- which(ty==n)
+ if(length(x)>0)
+ setnames(TL,n,names(ty)[x])
+ }
+ pcols <- intersect(names(TL),c("HHID","Code","House_Exp"))
+ TL <- TL[,pcols,with=FALSE]
+ TL <- TL[Code %in% ty$StartCode:ty$EndCode]
+ TL[,House_Exp:=as.numeric(House_Exp)]
+ mcs <- ty$MainCodes
+ mcs <- substr(mcs,1,nchar(mcs)-1)
+ maincodes <- eval(parse(text=paste0("c(",mcs,")")))
+ rmcs <- ty$RM
+ rmcs <- substr(rmcs,1,nchar(rmcs)-1)
+ rmcodes <- eval(parse(text=paste0("c(",rmcs,")")))
+ TLx <- TL[Code %in% maincodes]
+ TLx <- TLx[,.(House_Exp=sum(House_Exp)),by=.(HHID,Code)]
+ TLx[Code %in% rmcodes,Code:=max(rmcodes)]
+ TLx[,hhmincode:=min(Code),by=HHID]
+ TLx <- TLx[Code==hhmincode]
+ TLx <- TLx[,.(MainHouse_Exp=sum(House_Exp)),by=.(HHID)]
+
+ TL[,Code:=NULL]
+ TL[is.na(TL)] <- 0
+
+ HouseData <- TL[,lapply(.SD,sum),by=HHID]
+
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,
+ "HHHouseProperties.rda"))
+ HousePropData <- HHHouseProperties[,.(HHID,room,area)]
+ HousePropData[area==0,area:=NA]
+ HousePropData <- merge(HousePropData,TLx,by = "HHID", all = TRUE)
+ HousePropData <- HousePropData[,MeterPrice:=MainHouse_Exp/area]
+
+ HouseData <- merge(HouseData,HousePropData,by = "HHID", all = TRUE)
+ HouseData <- HouseData[,.(HHID,House_Exp,MainHouse_Exp,MeterPrice)]
+ save(HouseData, file=paste0(Settings$HEISProcessedPath,"Y",year,"House.rda"))
+}
+
+endTime <- proc.time()
+cat("\n\n=========================\nIt took",(endTime-startTime)[3], "seconds.")
diff --git a/R/133-HHDurableExpenditures.R b/R/133-HHDurableExpenditures.R
new file mode 100644
index 00000000..ff2ddd29
--- /dev/null
+++ b/R/133-HHDurableExpenditures.R
@@ -0,0 +1,87 @@
+# 133-HHDurableExpenditures.R
+# Builds the Durbable Expenditures detailed data.table for households
+#
+# Copyright © 2017-2020: Arin Shahbazian, Majid Einian
+# Licence: GPL-3
+
+rm(list=ls())
+
+startTime <- proc.time()
+
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+library(readxl)
+library(data.table)
+library(stringr)
+
+
+cat("\n\n================ Section13:HHDurable ==============================\n")
+DurableTables <- data.table(read_excel(Settings$MetaDataFilePath,
+ sheet=Settings$MDS_Durable))
+DurableItems <- data.table(read_excel(Settings$MetaDataFilePath,
+ sheet=Settings$MDS_DurableItems))
+
+
+for(year in (Settings$startyear:Settings$endyear)){
+ cat(paste0("\n------------------------------\nYear:",year,"\n"))
+ load(file=paste0(Settings$HEISRawPath,"Y",year,"Raw.rda"))
+ ct <- DurableTables[Year==year]
+ tab <- ct$Table
+ if(is.na(tab))
+ next
+ UTC <- Tables[[paste0("U",year,tab)]]
+ RTC <- Tables[[paste0("R",year,tab)]]
+ TC <- rbind(UTC,RTC)
+ for(n in names(TC)){
+ x <- which(ct==n)
+ if(length(x)>0)
+ setnames(TC,n,names(ct)[x])
+ }
+ pcols <- intersect(names(TC),c("HHID","Code","Durable_Exp","Durable_Sale"))
+ TC <- TC[,pcols,with=FALSE]
+
+ # if(year >= 84){
+ TC[,Durable_Exp:=as.numeric(Durable_Exp)/12]
+ TC[,Durable_Sale:=as.numeric(Durable_Sale)/12]
+# }
+
+ DurableData_Detail <- merge(TC,DurableItems,by="Code",all = TRUE)
+ DurableData_Detail <- DurableData_Detail[!is.na(HHID)]
+ DurableData_Detail[is.na(Durable_Exp), Durable_Exp:=0]
+ DurableData_Detail[is.na(Durable_Sale), Durable_Sale:=0]
+
+
+ save(DurableData_Detail, file = paste0(Settings$HEISProcessedPath,"Y",year,
+ "DurableData_Detail.rda"))
+
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"HHHouseProperties.rda"))
+
+ itemslist <- c("cellphone","washer","dishwasher","car",
+ "oven","tvbw","tvcr","refrigerator","frez_refrig","freezer",
+ "computer","cooler_gas","cooler_gas_movable")
+
+ for(item in itemslist)
+ if(!(item %in% names(HHHouseProperties))){
+ HHHouseProperties[,(item):=FALSE]
+ }
+
+ OwnsDurableItems <- HHHouseProperties[,.(HHID,
+ Cellphone=cellphone*1,
+ Washer=(washer|dishwasher)*1,
+ Car_Repair=car*1,
+ Car_Tire=car*1,
+ Oven=oven*1,
+ TV=(tvbw |tvcr)*1,
+ Refrigrator=(refrigerator|frez_refrig|freezer)*1,
+ Car=car*1,
+ Computer=computer*1,
+ AC=(cooler_gas |cooler_gas_movable)*1,
+ Car_Motor=car*1)]
+
+ save(OwnsDurableItems,file=paste0(Settings$HEISProcessedPath,"Y",year,
+ "OwnsDurableItems.rda"))
+}
+
+endTime <- proc.time()
+cat("\n\n=========================\nIt took",(endTime-startTime)[3], "seconds.")
diff --git a/R/141-Breaking Durable goods in four sections.R b/R/141-Breaking Durable goods in four sections.R
new file mode 100644
index 00000000..0a14d1b4
--- /dev/null
+++ b/R/141-Breaking Durable goods in four sections.R
@@ -0,0 +1,53 @@
+#141-Breaking Durable goods in four section
+#
+# Copyright © 2020: Arin Shahbazian, Majid Einian
+# Licence: GPL-3
+
+rm(list=ls())
+
+startTime <- proc.time()
+cat("\n\n================ Breaking Durable goods in four groups =====================================\n")
+
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+library(readxl)
+library(stringr)
+library(data.table)
+
+DurableGroups <- data.table(read_excel(Settings$MetaDataFilePath,sheet=Settings$MDS_DurableGroups))
+
+mst <- min(DurableGroups$StartYear)
+
+for(year in (max(Settings$startyear,mst):Settings$endyear)){
+ cat(paste0("\n------------------------------\nYear:",year,"\n"))
+
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"DurableData_Detail.rda"))
+
+ g1 <- DurableGroups[year >= StartYear & year <= EndYear & Group==1]$Code
+ g2 <- DurableGroups[year >= StartYear & year <= EndYear & Group==2]$Code
+ g3 <- DurableGroups[year >= StartYear & year <= EndYear & Group==3]$Code
+ g4 <- DurableGroups[year >= StartYear & year <= EndYear & Group==4]$Code
+
+ D1 <- DurableData_Detail[Code %in% g1, .(Add_to_NonDurable = sum(Durable_Exp,na.rm = TRUE)),by=HHID]
+ D2 <- DurableData_Detail[Code %in% g2, .(Durable_Dep = sum(Durable_Exp,na.rm = TRUE)),by=HHID]
+ D3 <- DurableData_Detail[Code %in% g3, .(Durable_NoDep = sum(Durable_Exp,na.rm = TRUE)),by=HHID]
+ D4 <- DurableData_Detail[Code %in% g4, .(Durable_Emergency = sum(Durable_Exp,na.rm = TRUE)),by=HHID]
+
+ Durable_4Groups <- merge(D1,D2,all=TRUE)
+ Durable_4Groups <- merge(Durable_4Groups,D3,all=TRUE)
+ Durable_4Groups <- merge(Durable_4Groups,D4,all = TRUE)
+
+ Durable_4Groups[is.na(Durable_4Groups)] <- 0
+
+ gunion <- union(union(g1,g2),union(g3,g4))
+
+ Dx <- DurableData_Detail[! (Code %in% gunion),]
+ if(nrow(Dx)>0) print(table(Dx[,Code]))
+
+ save(Durable_4Groups, file=paste0(Settings$HEISProcessedPath,"Y",year,"Durable_4Groups.rda"))
+
+}
+
+endTime <- proc.time()
+cat("\n\n============================\nIt took",(endTime-startTime)[3], "seconds.")
\ No newline at end of file
diff --git a/R/142-Calculate_OwnedDurableItemsDepreciation_FunctionDef.R b/R/142-Calculate_OwnedDurableItemsDepreciation_FunctionDef.R
new file mode 100644
index 00000000..262c1dcf
--- /dev/null
+++ b/R/142-Calculate_OwnedDurableItemsDepreciation_FunctionDef.R
@@ -0,0 +1,59 @@
+Calculate_OwnedDurableItemsDepreciation <- function(DurableData_ExpDetail,
+ DurableItems_OwningDetail,
+ by="Item",
+ Decile=NULL,
+ DurableItems=NA){
+
+ Ownsm <- melt(data = DurableItems_OwningDetail,id.vars = "HHID",
+ measure.vars = names(DurableItems_OwningDetail)[-1],
+ variable.name = "Item",value.name = "Owns")
+ Ownsm <- Ownsm[Owns==1]
+ if(is.null(Decile)){
+ by = setdiff(by,"Decile")
+ DurableDepr <- data.table(Item=DurableItems$Item)
+ }else{
+ DurableData_ExpDetail <- merge(DurableData_ExpDetail,Decile,by="HHID")
+ Ownsm <- merge(Ownsm,Decile,by="HHID")
+
+ DurableDepr <- data.table(expand.grid(Item=DurableItems$Item,Decile=factor(1:10)))
+ }
+ # if(is.na(DurableItems)){
+ # library(readxl)
+ # DurableItems <- data.table(read_excel(Settings$MetaDataFilePath,
+ # sheet=Settings$MDS_DurableItemsDepr))
+ # }
+ DurableValues <- DurableData_ExpDetail[,.(Value=mean(Durable_Exp)),by=by]
+ DurableDepr <- merge(DurableDepr,DurableValues,by=by,all.x = TRUE)
+ DurableDepr <- merge(DurableDepr,DurableItems,by="Item")
+
+ f <- function(X){
+ v <- X$Value
+ d <- as.integer(as.character(X$Decile))
+ d2 <- d^2
+ d3 <- d^3
+ mdl <- lm(v~d+d2+d3)
+ vp <- predict(mdl,newdata = data.frame(d=d,d2=d2,d3=d3))
+ return(vp)
+ }
+ if("Decile" %in% by){
+
+ DurableDepr <- DurableDepr[order(Item,Decile)]
+ DurableDepr[,estVal:=f(.SD),by=Item]
+
+ for(i in unique(DurableDepr$Item))
+ for(d in 9:1){
+ ev <- DurableDepr[Item==i & as.integer(Decile)==d]$estVal
+ evnext <- DurableDepr[Item==i & as.integer(Decile)==d+1]$estVal
+ if(ev>evnext)
+ DurableDepr[Item==i & as.integer(Decile)==d,estVal:=evnext]
+ }
+ DurableDepr[,DepreciationValue:=estVal*Depri/100]
+ }else{
+ DurableDepr[,DepreciationValue:=Value*Depri/100]
+ }
+ D <- merge(Ownsm,DurableDepr,by=by)
+
+ OwnedDurableItemsDepreciation <- D[,.(OwnedDurableItemsDepreciation=sum(.SD$DepreciationValue)),by=HHID]
+
+ return(OwnedDurableItemsDepreciation)
+}
diff --git a/R/143-CalculateDepreciation-FirstRound-BasedOnTotalSample.R b/R/143-CalculateDepreciation-FirstRound-BasedOnTotalSample.R
new file mode 100644
index 00000000..52c2af1e
--- /dev/null
+++ b/R/143-CalculateDepreciation-FirstRound-BasedOnTotalSample.R
@@ -0,0 +1,47 @@
+# 143-CalculateDepreciation based on total sample averages
+#
+# Copyright © 2020: Arin Shahbazian
+# Licence: GPL-3
+
+rm(list=ls())
+
+startTime <- proc.time()
+cat("\n\n================ Durable Items Depretiation =======================\n")
+
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+library(readxl)
+library(data.table)
+
+source("142-Calculate_OwnedDurableItemsDepreciation_FunctionDef.R")
+DurableItems <- data.table(read_excel(Settings$MetaDataFilePath,
+ sheet=Settings$MDS_DurableItemsDepr))
+
+#year <- 98
+for(year in (Settings$startyear:Settings$endyear)){
+ cat(paste0("\n------------------------------\nYear:",year,"\n"))
+
+ load(file = paste0(Settings$HEISProcessedPath,"Y",
+ year,"DurableData_Detail.rda"))
+
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,
+ "OwnsDurableItems.rda"))
+
+
+ OwnedDurableItemsDepreciation <-
+ Calculate_OwnedDurableItemsDepreciation(
+ DurableData_ExpDetail = DurableData_Detail,
+ DurableItems_OwningDetail = OwnsDurableItems,
+ by = "Item",
+ Decile = NULL,
+ DurableItems = DurableItems)
+
+
+ save(OwnedDurableItemsDepreciation,
+ file=paste0(Settings$HEISProcessedPath,"Y",
+ year,"OwnedDurableItemsDepreciation.rda"))
+}
+
+endTime <- proc.time()
+cat("\n\n=========================\nIt took",(endTime-startTime)[3], "seconds.")
\ No newline at end of file
diff --git a/R/151-Food Groups for Calorie.R b/R/151-Food Groups for Calorie.R
new file mode 100644
index 00000000..89d2e756
--- /dev/null
+++ b/R/151-Food Groups for Calorie.R
@@ -0,0 +1,116 @@
+# 151-Food Groups for calorie.R ---- and for prices
+# Builds the Food Groups data.table for households
+#
+# Copyright © 2018-2020: Arin Shahbazian & Majid Einian
+# Licence: GPL-3
+
+rm(list=ls())
+starttime <- proc.time()
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+leapyears <- c(seq(1280,1308,by=4),
+ seq(1313,1341,by=4),
+ seq(1346,1370,by=4),
+ seq(1375,1403,by=4),
+ seq(1408,1469,by=4))
+
+library(data.table)
+library(stringr)
+library(readxl)
+
+cat("\n\n================ FoodGroups =====================================\n")
+TFoodGroups <- data.table(read_excel(Settings$MetaDataFilePath,Settings$MDS_FoodGroups))
+FoodTypeTables <- list()
+for(i in 1:nrow(TFoodGroups))
+ FoodTypeTables[[i]] <- data.table(read_excel(Settings$MetaDataFilePath,sheet=TFoodGroups[i,SheetName]))
+
+for(year in (Settings$startyear:Settings$endyear)){
+ cat(paste0("\n------------------------------\nYear:",year,"\n"))
+
+ BigFData <- data.table(HHID=NA_integer_,FoodCode=NA_integer_,
+ FoodType=NA_character_,Price=NA_real_,
+ Expenditure=NA_real_,FGrams=NA_real_,
+ FoodKCalories=NA_real_,
+ FoodProtein=NA_real_)[0]
+
+
+
+ load(file=paste0(Settings$HEISRawPath,"Y",year,"Raw.rda"))
+ load(file = paste0(Settings$HEISProcessedPath,"Y",year,"HHBase.rda"))
+
+ if(length(which(is.na(HHBase$Month)))>1){ # For years withouout month info`
+ DayCount <- HHBase[,.(HHID,Days=ifelse(Quarter<=2,31,30))]
+ }else{
+ DayCount <- HHBase[,.(HHID,
+ Days=ifelse(Month<=6,31,
+ ifelse(Month<=11,30,
+ ifelse(Year %in% leapyears,30,29))))]
+ }
+
+ for(i in 1:nrow(TFoodGroups)){
+ cat(paste0(TFoodGroups[i,SheetName],", "),"\t")
+
+ ThisFoodTypeTable <- FoodTypeTables[[i]]
+ ft <- ThisFoodTypeTable[Year==year]
+ tab <- ft$Table
+ if(is.na(tab))
+ next
+ UTF <- Tables[[paste0("U",year,tab)]]
+ RTF <- Tables[[paste0("R",year,tab)]]
+ TF <- rbind(UTF,RTF)
+ for(n in names(TF)){
+ x <- which(ft==n)
+ if(length(x)>0)
+ setnames(TF,n,names(ft)[x])
+ }
+ if(year %in% 63:82){
+ pcols <- intersect(names(TF),c("HHID","Code","Kilos","Expenditure","Price"))
+ TF <- TF[,pcols,with=FALSE]
+ TF <- TF[Code %in% ft$StartCode:ft$EndCode]
+ TF <- TF[!(is.na(Kilos) & is.na(Expenditure) & is.na(Price))]
+
+ TF[,Kilos:=as.numeric(Kilos)]
+
+ TF[,FGrams:=(Kilos*1000)]
+
+ } else if(year >= 83){
+ pcols <- intersect(names(TF),c("HHID","Code","Grams","Kilos","Expenditure","Price"))
+ TF <- TF[,pcols,with=FALSE]
+ TF <- TF[Code %in% ft$StartCode:ft$EndCode]
+ TF <- TF[!(is.na(Grams) & is.na(Kilos) & is.na(Expenditure) & is.na(Price))]
+
+ TF[,Price:=as.numeric(Price)]
+ TF[,Kilos:=as.numeric(Kilos)]
+ TF[,Grams:=as.numeric(Grams)]
+ TF[,Expenditure:=as.numeric(Expenditure)]
+
+ TF[is.na(Grams) & !is.na(Kilos),Grams:=0]
+ TF[is.na(Kilos) & !is.na(Grams),Kilos:=0]
+ TF[,FGrams:=(Kilos*1000+Grams)]
+ }
+
+ TF[is.na(Price), Price:= Expenditure/(FGrams/1000)]
+ TF[is.na(FGrams),FGrams:=Expenditure/Price*1000]
+
+ #TF[,Code:=NULL]
+ TF[is.na(TF)] <- 0
+
+ FData <- TF[,lapply(.SD,sum),by=.(HHID,Code)]
+ FData[!is.na(FGrams), Price:=Expenditure/(FGrams/1000)]
+ FData[, FoodType:=TFoodGroups[i,FoodType]]
+ FData <- merge(FData,DayCount)
+ FData[, FoodKCalories:=TFoodGroups[i,KCalories]*FGrams/Days]
+ FData[, FoodProtein:=TFoodGroups[i,Protein]*FGrams/Days]
+ FData[is.infinite(Price),Price:=NA]
+
+ BigFData <- rbind(BigFData,
+ FData[,.(HHID,FoodCode=Code,FoodType,Price,Expenditure,FGrams,FoodKCalories,FoodProtein)])
+
+ }
+ save(BigFData, file = paste0(Settings$HEISProcessedPath,"Y",year,"BigFData.rda"))
+ cat("\n\n++========++\n||",nrow(BigFData[!is.na(FoodKCalories)]),"||\n++========++\n")
+
+}
+endtime <- proc.time()
+cat("\n\n==============Finish==============\nIt took ",(endtime-starttime)[3],"seconds.")
\ No newline at end of file
diff --git a/R/152-Total Food Calories.R b/R/152-Total Food Calories.R
new file mode 100644
index 00000000..d2ce4c27
--- /dev/null
+++ b/R/152-Total Food Calories.R
@@ -0,0 +1,30 @@
+# 152-Total_Food_Calories.R
+#
+# Copyright © 2017-2020:Arin Shahbazian, Majid Einian
+# Licence: GPL-3
+#
+rm(list=ls())
+
+startTime <- proc.time()
+cat("\n\n================ Total Calories =====================================\n")
+
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+library(readxl)
+library(data.table)
+
+for(year in (Settings$startyear:Settings$endyear)){
+ cat(paste0("\n------------------------------\nYear:",year,"\n"))
+
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"BigFData.rda"))
+ FoodNutritionData <- BigFData[,.(FoodKCaloriesHH=sum(FoodKCalories),
+ FoodProteinHH=sum(FoodProtein)),by=HHID]
+
+ FoodNutritionData <- FoodNutritionData[FoodKCaloriesHH<100000] # arbitrary removal of outliers
+ # TODO: remove households that had some event (religious, weddings, ...) instead of this arbitrary removal
+
+ save(FoodNutritionData, file = paste0(Settings$HEISProcessedPath,"Y",year,"FoodNutritionData.rda"))
+}
+endTime <- proc.time()
+cat("\n\n============================\nIt took ",(endTime-startTime)[3],"seconds.")
diff --git a/R/153-Specification of food original groups.R b/R/153-Specification of food original groups.R
new file mode 100644
index 00000000..6aeacdab
--- /dev/null
+++ b/R/153-Specification of food original groups.R
@@ -0,0 +1,32 @@
+# 153-Specification of food original groups.R
+
+#
+# Copyright © 2019: Arin Shahbazian
+# Licence: GPL-3
+
+rm(list=ls())
+starttime <- proc.time()
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+library(data.table)
+library(readxl)
+
+cat("\n\n================ FoodGroups =====================================\n")
+for(year in (Settings$startyear:Settings$endyear)){
+ cat(paste0("\n------------------------------\nYear:",year,"\n"))
+ load( file = paste0(Settings$HEISProcessedPath,"Y",year,"BigFData.rda"))
+ load(file = paste0(Settings$HEISProcessedPath,"Y",year,"TotalFoodExp.rda"))
+
+ BigFData[,OriginalFoodExpenditure:=Expenditure]
+ NfoodExp<-BigFData[,.(HHID,OriginalFoodExpenditure)]
+ NfoodExp <- NfoodExp[,lapply(.SD,sum),by=HHID]
+ FoodExpData<-merge(TotalFoodExpData,NfoodExp,all.x = TRUE)
+ FoodExpData[is.na(FoodExpData)] <- 0
+ FoodExpData[,FoodOtherExpenditure:=FoodExpenditure-OriginalFoodExpenditure]
+ save(FoodExpData, file = paste0(Settings$HEISProcessedPath,"Y",year,"FoodExpData.rda"))
+}
+
+cat("\n\n==============Finish==============\nIt took ")
+endtime <- proc.time()
+cat((endtime-starttime)[3],"seconds.")
diff --git a/R/161-Step1-MergeData.R b/R/161-Step1-MergeData.R
new file mode 100644
index 00000000..da6fae15
--- /dev/null
+++ b/R/161-Step1-MergeData.R
@@ -0,0 +1,68 @@
+#161-Step1-MergeData.R
+#
+# Copyright © 2018-2020: Majid Einian & Arin Shahbazian
+# Licence: GPL-3
+
+rm(list=ls())
+
+starttime <- proc.time()
+cat("\n\n================ Merge Data =====================================\n")
+
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+library(readxl)
+library(data.table)
+
+for(year in (Settings$startyear:Settings$endyear)){
+ cat(paste0("\n------------------------------\nYear:",year,"\n"))
+
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"HHBase.rda"))
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"FoodNutritionData.rda"))
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"FoodExpData.rda"))
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"HHI.rda"))
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"HHHouseProperties.rda"))
+
+ for(G in c("Cigars","Cloths","Amusements","Communications",
+ "Educations", "Furnitures","Hotels","Energys","House", "Medicals",
+ "Hygienes","Transportations","Others", "Restaurants",
+ "Durable_4Groups","OwnedDurableItemsDepreciation"))
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,G,".rda"))
+
+ FoodNutritionData <- FoodNutritionData[FoodKCaloriesHH>0]
+
+ MD<-merge(HHBase,HHI ,by =c("HHID"),all=TRUE)
+ MD<-merge(MD,FoodNutritionData ,by =c("HHID"),all=TRUE)
+ MD<-merge(MD,FoodExpData,by =c("HHID"),all=TRUE)
+ MD<-merge(MD,CigarData,by =c("HHID"),all=TRUE)
+ MD<-merge(MD,ClothData,by =c("HHID"),all=TRUE)
+ MD<-merge(MD,AmusementData,by =c("HHID"),all=TRUE)
+ MD<-merge(MD,CommunicationData,by =c("HHID"),all=TRUE)
+ MD<-merge(MD,EducationData,by =c("HHID"),all=TRUE)
+ MD<-merge(MD,EnergyData,by =c("HHID"),all=TRUE)
+ MD<-merge(MD,HouseData,by =c("HHID"),all=TRUE)
+ MD<-merge(MD,FurnitureData,by =c("HHID"),all=TRUE)
+ MD<-merge(MD,HotelData,by =c("HHID"),all=TRUE)
+ MD<-merge(MD,RestaurantData,by =c("HHID"),all=TRUE)
+ MD<-merge(MD,HygieneData,by =c("HHID"),all=TRUE)
+ MD<-merge(MD,TransportationData,by =c("HHID"),all=TRUE)
+ MD<-merge(MD,OtherData,by =c("HHID"),all=TRUE)
+ MD<-merge(MD,MedicalData,by =c("HHID"),all=TRUE)
+ MD<-merge(MD,Durable_4Groups,by =c("HHID"),all=TRUE)
+ MD<-merge(MD,OwnedDurableItemsDepreciation,by =c("HHID"),all=TRUE)
+
+ #Calculate Monthly Total Expenditures
+ for (col in Settings$w)
+ MD[is.na(get(col)), (col) := 0]
+
+ MD[,Total_Exp_Month := Reduce(`+`, .SD), .SDcols=Settings$w]
+ MD[,Total_Exp_Month_nondurable := Reduce(`+`, .SD), .SDcols=Settings$nw]
+
+ MD[,Total_Exp_Month_Per:=Total_Exp_Month/EqSizeOECD]
+ MD[,Total_Exp_Month_Per_nondurable:=Total_Exp_Month_nondurable/EqSizeOECD]
+
+ save(MD, file=paste0(Settings$HEISProcessedPath,"Y",year,"Merged4CBN1.rda"))
+}
+
+endtime <- proc.time()
+cat("\n\n============================\nIt took",(endtime-starttime)[3],"seconds.")
diff --git a/R/162-Step2-CaloryEqSize.R b/R/162-Step2-CaloryEqSize.R
new file mode 100644
index 00000000..a3a4d40c
--- /dev/null
+++ b/R/162-Step2-CaloryEqSize.R
@@ -0,0 +1,38 @@
+#162- Step 2.R
+#
+# Copyright © 2018: Majid Einian & Arin Shahbazian
+# Licence: GPL-3
+
+rm(list=ls())
+
+starttime <- proc.time()
+cat("\n\n============== Calculationg Calorie Equal size ===================\n")
+
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+library(readxl)
+library(data.table)
+
+
+for(year in (Settings$startyear:Settings$endyear)){
+ cat(paste0("\n------------------------------\nYear:",year,"\n"))
+ cat("\n")
+
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"Merged4CBN1.rda"))
+
+ MD<-MD[Size!=0 & OriginalFoodExpenditure!=0 & !is.na(FoodKCaloriesHH)]
+
+ MD[,EqSizeCalory:=Calorie_Need_WorldBank/
+ Settings$KCaloryNeed_Adult_WorldBank]
+ MD[,EqSizeCalory2:=Calorie_Need_NutritionInstitute/
+ Settings$KCaloryNeed_Adult_NutritionInstitute]
+ MD[,EqSizeCalory3 :=(Size-NKids) +
+ NKids*(Settings$KCaloryNeed_Child/Settings$KCaloryNeed_Adult)]
+
+ save(MD, file=paste0(Settings$HEISProcessedPath,"Y",year,"Merged4CBN2.rda"))
+}
+
+endtime <- proc.time()
+cat("\n\n============================\nIt took ")
+cat(endtime-starttime)
diff --git a/R/163-Step3-Add_OutofHouseCalories.R b/R/163-Step3-Add_OutofHouseCalories.R
new file mode 100644
index 00000000..826ecb04
--- /dev/null
+++ b/R/163-Step3-Add_OutofHouseCalories.R
@@ -0,0 +1,46 @@
+#163- Step 3.R
+#
+# Copyright © 2018-2020: Majid Einian & Arin Shahbazian
+# Licence: GPL-3
+
+rm(list=ls())
+
+starttime <- proc.time()
+cat("\n\n================ =====================================\n")
+
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+library(readxl)
+library(data.table)
+library(spatstat)
+
+for(year in (Settings$startyear:Settings$endyear)){
+ cat(paste0("\n------------------------------\nYear:",year,"\n"))
+
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"Merged4CBN2.rda"))
+
+
+ MD[,FoodExpenditure_Per :=FoodExpenditure/EqSizeCalory]
+ MD[,OriginalFoodExpenditure_Per :=OriginalFoodExpenditure/EqSizeCalory]
+ MD[,FoodKCaloriesHH_Per:=FoodKCaloriesHH/EqSizeCalory]
+ MD[,FoodProtein_Per:=FoodProteinHH/EqSizeCalory]
+
+ #Calculate per_Calory from Restaurants
+ MD[,Calory_Price:=(OriginalFoodExpenditure_Per/FoodKCaloriesHH_Per)]
+ MD[,Calory_Price_Area:=weighted.median(Calory_Price,Weight,na.rm = TRUE),by=.(Region,NewArea)]
+ MD[,RestaurantKCalories:=(Settings$OutFoodKCXShare*Restaurant_Exp)/Calory_Price_Area]
+ MD[is.na(RestaurantKCalories),RestaurantKCalories:=0]
+
+ MD[,TFoodKCaloriesHH:=FoodKCaloriesHH+RestaurantKCalories]
+ MD[,TOriginalFoodExpenditure:=OriginalFoodExpenditure+Restaurant_Exp]
+
+ MD[,TOriginalFoodExpenditure_Per :=TOriginalFoodExpenditure/EqSizeCalory]
+ MD[,TFoodKCaloriesHH_Per:=TFoodKCaloriesHH/EqSizeCalory]
+
+
+ save(MD, file=paste0(Settings$HEISProcessedPath,"Y",year,"Merged4CBN3.rda"))
+}
+
+endtime <- proc.time()
+cat("\n\n============================\nIt took ",(endtime-starttime)[3],"seconds.")
\ No newline at end of file
diff --git a/R/164-Step4-IterativeRealDeciles.R b/R/164-Step4-IterativeRealDeciles.R
new file mode 100644
index 00000000..97103b97
--- /dev/null
+++ b/R/164-Step4-IterativeRealDeciles.R
@@ -0,0 +1,203 @@
+#164-Step4-IterativeRealDeciles.R
+#
+# Copyright © 2020:Majid Einian & Arin Shahbazian
+# Licence: GPL-3
+
+rm(list=ls())
+
+starttime <- proc.time()
+cat("\n\n================ Nominal to Real =====================================\n")
+
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+library(readxl)
+library(data.table)
+#library(ggplot2)
+#library(compare)
+source("142-Calculate_OwnedDurableItemsDepreciation_FunctionDef.R")
+# Function Defs ---------------------------------------------------------------------------------
+CalcTornqvistIndex <- function(DataTable){
+ #DataTable <- SMD
+ DataTable <- DataTable[,MeterPrice:=ifelse(tenure=="Free"|tenure=="Other"|tenure=="AgainstService"
+ ,NA,MeterPrice)]
+ DataTable <- DataTable[,House_Exp:=ifelse(tenure=="Free"|tenure=="Other"|tenure=="AgainstService"
+ ,NA,House_Exp)]
+
+ X <- DataTable[,.(N=.N,wj1=weighted.median(FoodExpenditure/Total_Exp_Month,Weight,na.rm = TRUE),
+ wj2=weighted.median(House_Exp/Total_Exp_Month,Weight,na.rm = TRUE),
+ pj1=weighted.median(Bundle_Value,Weight,na.rm = TRUE),
+ pj2=weighted.median(MeterPrice,Weight,na.rm = TRUE)),by=.(Region,NewArea_Name)]
+
+ X[,wj:=wj1+wj2]
+ X[,wj1:=wj1/wj]
+ X[,wj2:=wj2/wj]
+ XTeh<-X[NewArea_Name=="Sh_Tehran"]
+ wk1<-XTeh$wj1 # k == Sh_Tehran
+ wk2<-XTeh$wj2
+ pk1<-XTeh$pj1
+ pk2<-XTeh$pj2
+
+ X[,SimpleIndex:= .5 * pj1/pk1 + .5 * pj2/pk2]
+ X[,AnotherIndex:= wj1 * pj1/pk1 + wj2 * pj2/pk2]
+
+ X[,TornqvistIndex:= exp( (wk1+wj1)/2 * log(pj1/pk1) +
+ (wk2+wj2)/2 * log(pj2/pk2) ) ]
+
+ return(X[,.(Region,NewArea_Name,PriceIndex=TornqvistIndex)])
+}
+
+
+DoDeciling <- function(DataTable,PriceIndexDT){
+
+ if("PriceIndex" %in% names(DataTable)){
+ DataTable <- DataTable[,PriceIndex:=NULL]
+ }
+ DataTable <- merge(DataTable,PriceIndexDT,by=c("Region","NewArea_Name"))
+
+
+ DataTable <- DataTable[,Total_Exp_Month_Per_nondurable_Real:=Total_Exp_Month_Per_nondurable/PriceIndex]
+
+ DataTable <- DataTable[order(Total_Exp_Month_Per_nondurable_Real)] # I removed Region from ordering, deciling is not divided into rural/urban (M.E. 5/11/2020)
+ DataTable <- DataTable[,crw:=cumsum(Weight*Size)/sum(Weight*Size)] # Cumulative Relative Weight
+ DataTable <- DataTable[,xr25th:=.SD[25,Total_Exp_Month_Per_nondurable_Real],by=.(Region,NewArea_Name)]
+ DataTable <- DataTable[,First25:=ifelse(Total_Exp_Month_Per_nondurable_Real<=xr25th,1,0)]
+ #Calculate deciles by weights
+ DataTable <- DataTable[,Decile:=cut(crw,breaks = seq(0,1,.1),labels = 1:10)]
+ DataTable <- DataTable[,Percentile:=cut(crw,breaks=seq(0,1,.01),labels=1:100)]
+
+ DataTable[,crw:=NULL]
+ DataTable[,xr25th:=NULL]
+
+ return(DataTable)
+}
+
+UpdateForDurableDepr <- function(DataTable,ODIDep){
+ DataTable[,OwnedDurableItemsDepreciation:=NULL]
+ DataTable <- merge(DataTable,ODIDep)
+
+ for (col in Settings$w)
+ DataTable[is.na(get(col)), (col) := 0]
+
+ DataTable[, Total_Exp_Month := Reduce(`+`, .SD), .SDcols=Settings$w]
+ DataTable[, Total_Exp_Month_nondurable := Reduce(`+`, .SD), .SDcols=Settings$nw]
+
+ DataTable[,Total_Exp_Month_Per:=Total_Exp_Month/EqSizeOECD]
+ DataTable[,Total_Exp_Month_Per_nondurable:=Total_Exp_Month_nondurable/EqSizeOECD]
+}
+
+DurableItems <- data.table(read_excel(Settings$MetaDataFilePath,
+ sheet=Settings$MDS_DurableItemsDepr))
+
+for(year in (Settings$startyear:Settings$endyear)){
+ cat(paste0("\n------------------------------\nYear:",year,"\n"))
+
+ # load data --------------------------------------
+ load(file = paste0(Settings$HEISProcessedPath,"Y",
+ year,"DurableData_Detail.rda"))
+
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,
+ "OwnsDurableItems.rda"))
+
+
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"Merged4CBN3.rda"))
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"HHHouseProperties.rda"))
+
+ SMD <- MD[,.(HHID,Region,
+ House_Exp,FoodExpenditure,Total_Exp_Month,
+ NewArea,NewArea_Name,Total_Exp_Month_Per_nondurable,TOriginalFoodExpenditure_Per,
+ TFoodKCaloriesHH_Per,Calorie_Need_WorldBank,Calorie_Need_NutritionInstitute,
+ Weight,MeterPrice,Size,EqSizeOECD
+ ,OriginalFoodExpenditure,FoodOtherExpenditure, Cigar_Exp, Cloth_Exp,
+ Amusement_Exp, Communication_Exp,
+ Energy_Exp, Furniture_Exp, Hotel_Exp,Restaurant_Exp, Hygiene_Exp,
+ Transportation_Exp, Other_Exp
+ ,Add_to_NonDurable,Medical_Exp,
+ Durable_NoDep,Durable_Emergency,OwnedDurableItemsDepreciation)]
+ SMD <- merge(SMD,HHHouseProperties[,.(HHID,tenure)],by="HHID")
+
+
+ #Choose one of these
+ SMD[,Bundle_Value:=TOriginalFoodExpenditure_Per*Calorie_Need_WorldBank/TFoodKCaloriesHH_Per]
+ #SMD[,Bundle_Value:=TOriginalFoodExpenditure_Per*Calorie_Need_NutritionInstitute/TFoodKCaloriesHH_Per]
+ #SMD[,Bundle_Value:=TOriginalFoodExpenditure_Per*Settings$KCaloryNeed_Adult_WorldBank/TFoodKCaloriesHH_Per]
+ #SMD[,Bundle_Value:=TOriginalFoodExpenditure_Per*Settings$KCaloryNeed_Adult_NutritionInstitute/TFoodKCaloriesHH_Per]
+
+
+ SMD <- SMD[Bundle_Value<=5000000 | TFoodKCaloriesHH_Per>=300] #arbitrary measures, TODO: check in diff years
+
+ # S1<-SMD[,.(HHID,Region,NewArea_Name,TFoodKCaloriesHH_Per,Bundle_Value)]
+
+
+ PriceDT <- CalcTornqvistIndex(SMD)
+
+ SMD <- DoDeciling(SMD,PriceDT)
+
+ OwnedDurableItemsDepreciation <-
+ Calculate_OwnedDurableItemsDepreciation(
+ DurableData_ExpDetail = DurableData_Detail,
+ DurableItems_OwningDetail = OwnsDurableItems,
+ by = c("Item","Decile"),
+ Decile = SMD[,.(HHID,Decile)],
+ DurableItems = DurableItems)
+
+ SMD <- UpdateForDurableDepr(SMD,OwnedDurableItemsDepreciation)
+
+ SMD <- SMD[,IPboPct:=ifelse(Percentile %in% Settings$InitialPoorPercentile,1,0)]
+ # IPboPct : InitialPoorBasedOnRealIterativePercentile
+ # IPboPctLI: InitialPoorBasedOnRealIterativePercentileLastIteration
+
+ SMD[,IPboPctLI:=1]
+ i <- 0
+ while(SMD[,sum((IPboPct-IPboPctLI)^2)]>0.001*nrow(SMD) & i <15){
+ i <- i+1
+ SMD[,IPboPctLI:=IPboPct]
+
+ SMDIterationPoor <- SMD[IPboPctLI==1 | First25==1 ]
+
+ if(nrow(SMDIterationPoor[,.N,by=.(Region,NewArea_Name)])<78)
+ stop("HERE Some Area goes missing!")
+ if(min(SMDIterationPoor[,.N,by=.(Region,NewArea_Name)]$N)==0)
+ stop("HERE Some Area goes missing!")
+
+ PriceDTBasedOnThisIterationPoor <- CalcTornqvistIndex(SMDIterationPoor)
+
+ # print(PriceDTBasedOnThisIterationPoor[Region=="Rural" & NewArea_Name=="Semnan",])
+ SMD <- DoDeciling(SMD,PriceDTBasedOnThisIterationPoor)
+
+ OwnedDurableItemsDepreciation <-
+ Calculate_OwnedDurableItemsDepreciation(
+ DurableData_ExpDetail = DurableData_Detail,
+ DurableItems_OwningDetail = OwnsDurableItems,
+ by = c("Item","Decile"),
+ Decile = SMD[,.(HHID,Decile)],
+ DurableItems = DurableItems)
+
+ SMD <- UpdateForDurableDepr(SMD,OwnedDurableItemsDepreciation)
+
+
+ SMD <- SMD[,IPboPct:=ifelse(Percentile %in% Settings$InitialPoorPercentile,1,0)]
+
+ cat("\n",i,":",SMD[,sum((IPboPct-IPboPctLI)^2)])
+ }
+
+ setnames(SMD,"IPboPct","InitialPoor") # or maybe InitialPoorBasedOnRealIterativePercentile !
+
+ SMD <- SMD[,setdiff(names(SMD),c("First25","IPboPctLI")),with=FALSE]
+
+ mdset <- setdiff(names(MD),names(SMD))
+ MD <- merge(MD[,c("HHID",mdset),with=FALSE],SMD,by="HHID")
+ save(MD,file=paste0(Settings$HEISProcessedPath,"Y",year,"InitialPoor.rda"))
+
+ #Decile_MD <- MD [,.(HHID,Total_Exp_Month_Per_nondurable,Size,Weight)]
+ #Decile_MD <- Decile_MD[order(Total_Exp_Month_Per_nondurable)]
+ #Decile_MD <- Decile_MD[,crw:=cumsum(Weight*Size)/sum(Weight*Size)]
+ #Decile_MD <- Decile_MD[,Decile_non_real:=cut(crw,breaks = seq(0,1,.1),labels = 1:10)]
+ #MD <- merge(MD,Decile_MD[,c("HHID","Decile_non_real")],by="HHID")
+ #save(Decile_MD,file=paste0(Settings$HEISProcessedPath,"Y",year,"Decile_non_real.rda"))
+}
+
+endtime <- proc.time()
+cat("\n\n============================\nIt took ")
+cat((endtime-starttime)["elapsed"])
+cat(" seconds")
diff --git a/R/165-Step5-AddClusterInfo.R b/R/165-Step5-AddClusterInfo.R
new file mode 100644
index 00000000..3cb8fd96
--- /dev/null
+++ b/R/165-Step5-AddClusterInfo.R
@@ -0,0 +1,30 @@
+#165-Step 5- Clustering.R ----- Clusters are predefined now, not calculated here
+#
+# Copyright © 2018: Majid Einian & Arin Shahbazian
+# Licence: GPL-3
+
+rm(list=ls())
+
+starttime <- proc.time()
+cat("\n\n================ Saving Cluster Info===============================\n")
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+library(readxl)
+library(data.table)
+
+#ClusterInfo <- data.table(read_excel(Settings$MetaDataFilePath,sheet=Settings$MDS_GeoX))
+ClusterInfo <- data.table(read_excel(Settings$MetaDataFilePath,sheet=Settings$MDS_GeoX_New))
+
+for(year in (Settings$startyear:Settings$endyear)){
+ cat(paste0("\n------------------------------\nYear:",year,"\n"))
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"InitialPoor.rda"))
+
+ MD<-merge(MD,ClusterInfo,by=c("NewArea","NewArea_Name","Region"))
+ save(MD,file=paste0(Settings$HEISProcessedPath,"Y",year,
+ "InitialPoorClustered.rda"))
+}
+
+endtime <- proc.time()
+cat("\n\n============================\nIt took",
+ (endtime-starttime)["elapsed"],"seconds.")
\ No newline at end of file
diff --git a/R/166-1-FPlinePrediction.R b/R/166-1-FPlinePrediction.R
new file mode 100644
index 00000000..84b82059
--- /dev/null
+++ b/R/166-1-FPlinePrediction.R
@@ -0,0 +1,161 @@
+# 166-Step6-FoodPoor.R: Calculate base year basket cost in current year prices
+# for each cluster. and find FoodPoor
+#
+# Copyright © 2019-2020: Arin Shahbazian & Majid Einian
+# Licence: GPL-3
+
+rm(list=ls())
+starttime <- proc.time()
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+library(readxl)
+library(spatstat)
+library(data.table)
+library(dplyr)
+library(tidyr)
+library(writexl)
+
+BigsdTable <- data.table()
+year<-Settings$baseBundleyear
+
+load(file=paste0(Settings$HEISProcessedPath,"Y",year,"InitialPoorClustered.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y",year,"BigFData.rda"))
+PriceCodes<-as.data.table(read_excel(Settings$PriceCodesFilePath,Settings$PCS))
+
+MD[,Selected_Group:=ifelse((Region=="Urban" & Decile==4) |
+ (Region=="Rural" & Decile==3),1,0)]
+
+Bfd2 <- data.table(expand.grid(HHID=MD$HHID,FoodType=unique(BigFData$FoodType)))
+Bfd2 <- merge(Bfd2,BigFData,all.x = TRUE)
+Bfd2 <- merge(Bfd2,MD[,.(HHID,Region,Weight,Size,
+ EqSizeCalory,Selected_Group)],by="HHID")
+Bfd2[is.na(Bfd2)]<-0
+Bfd2[Price<0.1,Price:=NA]
+
+BaseYearBasket <- Bfd2[Selected_Group==1,
+ .(FGramspc=weighted.mean(FGrams/EqSizeCalory,Weight*Size),
+ FKCalspc=weighted.mean(FoodKCalories/EqSizeCalory,Weight*Size)),
+ by=.(FoodType,Region)]
+BaseYearBasket[,BasketCals:=sum(FKCalspc),by=Region]
+BaseYearBasket[,StandardFGramspc:=FGramspc*Settings$KCaloryNeed_Adult_WorldBank/BasketCals]
+
+for(year in (Settings$startyear:Settings$endyear)){
+ cat(paste0("\n------------------------------\nYear:",year,"\n"))
+ for (month in (Settings$startmonth:Settings$endmonth)) {
+
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"InitialPoorClustered.rda"))
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"BigFData.rda"))
+
+ MD[,Selected_Group:=ifelse((Decile==5) | (Decile==2) |
+ (Decile==3) | (Decile==4),1,0)]
+ ######################
+ year<-year+1
+ cat(paste0("\nmonth:",month,"\t"))
+
+ #l <- dir(path=Settings$CPIPath,pattern=glob2rx(paste0("Y",year,"M",month,".*")),ignore.case = TRUE)
+ #Price_month <- as.data.table(read_excel(path=paste0(Settings$CPIPath, l)))
+
+ c <- dir(path=Settings$CPIPath,pattern=glob2rx(paste0("CPIY",year,"M",month,".*")),ignore.case = TRUE)
+ CPI_month <- as.data.table(read_excel(path=paste0(Settings$CPIPath, c)))
+
+ year<-year-1
+ c <- dir(path=Settings$CPIPath,pattern=glob2rx(paste0("CPIY",year,".*")),ignore.case = TRUE)
+ CPI_month_lag <- as.data.table(read_excel(path=paste0(Settings$CPIPath, c)))
+ #Price_month <- Price_month %>% gather(ProvinceCode,Price, 2:32)
+
+ #Price_month <- as.data.table(Price_month)
+ #Price_month <- Price_month[,ProvinceCode:=as.numeric(ProvinceCode)]
+ #Price_month <- Price_month[Price==0,Price:=NA]
+
+ BigFData<-BigFData[,code:=FoodCode]
+ BigFData<-merge(BigFData,PriceCodes,by=c("code"),all.x = TRUE)
+ Province<-MD[,.(HHID,ProvinceCode)]
+ BigFData<-merge(BigFData,Province,by=c("HHID"),all.x = TRUE)
+ BigFData<-BigFData[,Price_O:=Price]
+ BigFData<-BigFData[,Price:=NULL]
+
+ #BigFData<-merge(BigFData,Price_month,by=c("Pcode1","ProvinceCode"),all.x = TRUE)
+ #BigFData<-BigFData[,Price1:=Price]
+ #BigFData<-BigFData[,Price:=NULL]
+
+ #Price_month <- Price_month[,Pcode2:=Pcode1]
+ #BigFData<-merge(BigFData,Price_month[,.(Pcode2,ProvinceCode,Price)],by=c("Pcode2","ProvinceCode"),all.x = TRUE)
+ # BigFData<-BigFData[,Price2:=Price]
+ # BigFData<-BigFData[,Price:=NULL]
+
+ #Price_month <- Price_month[,Pcode3:=Pcode1]
+ #BigFData<-merge(BigFData,Price_month[,.(Pcode3,ProvinceCode,Price)],by=c("Pcode3","ProvinceCode"),all.x = TRUE)
+ #BigFData<-BigFData[,Price3:=Price]
+ #BigFData<-BigFData[,Price:=NULL]
+
+ #for (col in c("Pcode1","Pcode2","Pcode3"))
+ # BigFData[is.na(get(col)), (col) := 0]
+ #BigFData$mean <- rowMeans(subset(BigFData, select = c("Price1","Price2","Price3")), na.rm = TRUE)
+ #BigFData<-BigFData[(Pcode1>0 | Pcode2>0 | Pcode3>0) ,Price := mean]
+
+
+ CPI_month1<-CPI_month/CPI_month_lag
+ CPI_month1<-CPI_month1[,CPIcode:=NULL]
+ CPI_month1<-cbind(CPI_month[,.(CPIcode)],CPI_month1)
+ CPI_month1 <- CPI_month1 %>% gather(ProvinceCode,CPI, 2:32)
+ CPI_month1 <- as.data.table(CPI_month1)
+ CPI_month1 <- CPI_month1[,ProvinceCode:=as.numeric(ProvinceCode)]
+ CPI_month1 <- CPI_month1[CPI==0,CPI:=NA]
+ BigFData<-merge(BigFData,CPI_month1,by=c("CPIcode","ProvinceCode"),all.x = TRUE)
+ BigFData<-BigFData[,Price:=Price_O*CPI]
+ ######################
+ #Bfd2 <- data.table(expand.grid(HHID=MD$HHID,FoodType=unique(BigFData$FoodType)))
+ #Bfd2 <- merge(Bfd2,BigFData,all.x = TRUE)
+ Bfd2 <- merge(BigFData,MD[,.(HHID,Region,Weight,Size,cluster3,
+ EqSizeCalory,Selected_Group)],by="HHID")
+ Bfd2[is.na(Bfd2)]<-0
+ Bfd2[Price<0.1,Price:=NA]
+ Bfd3 <- Bfd2[Selected_Group==1 & !is.na(Price),
+ .(MedPrice=weighted.median(Price,Weight*Size*FGrams,na.rm = TRUE),
+ MeanPrice=weighted.mean(Price,Weight*Size*FGrams,na.rm = TRUE)),
+ by=.(FoodType,Region,cluster3)]
+ BasketPrice <- Bfd3[!is.na(MeanPrice),
+ .(Price=min(MeanPrice)),
+ by=.(FoodType,Region,cluster3)]
+
+ BasketCost <- merge(BaseYearBasket,BasketPrice,by=c("FoodType","Region"))
+ BasketCost[,Cost:=(StandardFGramspc/1000)*Price]
+ FPLineBasket <- BasketCost[,.(FPLine=sum(Cost)),by=cluster3]
+ FPLineBasket<-FPLineBasket[,Year:=year]
+ FPLineBasket<-FPLineBasket[,Month:=month]
+ MD <- merge(MD,FPLineBasket,all.x=TRUE,by="cluster3")
+ sd <- MD
+ sd <- sd[,FPLineBasketyear:=weighted.mean(FPLine,Weight)]
+ sd <-sd[,Year:=year+1]
+ sd <-sd[,Month:=month]
+ sd <- unique(sd[,.(Year,Month,FPLineBasketyear)])
+ BigsdTable <- rbind(BigsdTable,sd)
+
+
+ MD[,FoodPoor:=ifelse(TOriginalFoodExpenditure_Per < FPLine,1,0)]
+
+ cat(unlist(sd[Year==year+1 & Month==month]))
+
+ if (year==Settings$startyear & month==Settings$startmonth){
+ ClusterFPline<-FPLineBasket
+ CountryFPLine<-sd
+
+ }else{
+ ClusterFPline<-rbind(ClusterFPline,FPLineBasket)
+ CountryFPLine<-rbind(CountryFPLine,sd)
+ }
+ save(MD,file=paste0(Settings$HEISProcessedPath,"Y",year,"M",month,"FoodPoor.rda"))
+
+ }
+
+
+
+
+
+}
+
+write_xlsx(CountryFPLine,"E:/FPLinePrediction.xlsx")
+
+endtime <- proc.time()
+cat("\n\n============================\nIt took",
+ (endtime-starttime)["elapsed"]," seconds")
diff --git a/R/166-Step6-FoodPoor.R b/R/166-Step6-FoodPoor.R
new file mode 100644
index 00000000..6a39dc81
--- /dev/null
+++ b/R/166-Step6-FoodPoor.R
@@ -0,0 +1,109 @@
+# 166-Step6-FoodPoor.R: Calculate base year basket cost in current year prices
+# for each cluster. and find FoodPoor
+#
+# Copyright © 2019-2020: Arin Shahbazian & Majid Einian
+# Licence: GPL-3
+
+rm(list=ls())
+starttime <- proc.time()
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+library(readxl)
+library(spatstat)
+library(data.table)
+BigsdTable <- data.table()
+year<-Settings$baseBundleyear
+
+load(file=paste0(Settings$HEISProcessedPath,"Y",year,"InitialPoorClustered.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y",year,"BigFData.rda"))
+
+MD[,Selected_Group:=ifelse((Region=="Urban" & Decile==4) |
+ (Region=="Rural" & Decile==3),1,0)]
+
+Bfd2 <- data.table(expand.grid(HHID=MD$HHID,FoodType=unique(BigFData$FoodType)))
+Bfd2 <- merge(Bfd2,BigFData,all.x = TRUE)
+Bfd2 <- merge(Bfd2,MD[,.(HHID,Region,Weight,Size,
+ EqSizeCalory,Selected_Group)],by="HHID")
+Bfd2[is.na(Bfd2)]<-0
+Bfd2[Price<0.1,Price:=NA]
+
+BaseYearBasket <- Bfd2[,
+ .(FGrams_0=sum(FGrams),
+ FoodKCalories_0=sum(FoodKCalories),
+ Region=first(Region), Weight=first(Weight),
+ Size=first(Size), EqSizeCalory=first(EqSizeCalory),
+ Selected_Group=first(Selected_Group)),
+ by=.(HHID,FoodType)]
+BaseYearBasket <- BaseYearBasket[Selected_Group==1,
+ .(FGramspc=weighted.mean(FGrams_0/EqSizeCalory,
+ Weight*Size),
+ FKCalspc=weighted.mean(FoodKCalories_0/EqSizeCalory,
+ Weight*Size)),
+ by=.(FoodType,Region)]
+
+BaseYearBasket[,BasketCals:=sum(FKCalspc),by=Region]
+BaseYearBasket[,StandardFGramspc:=FGramspc*Settings$KCaloryNeed_Adult_WorldBank/BasketCals]
+
+for(year in (Settings$startyear:Settings$endyear)){
+ cat(paste0("\n------------------------------\nYear:",year,"\n"))
+
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"InitialPoorClustered.rda"))
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"BigFData.rda"))
+
+ MD[,Selected_Group:=ifelse((Decile==5) | (Decile==2) |
+ (Decile==3) | (Decile==4),1,0)]
+
+ #Bfd2 <- data.table(expand.grid(HHID=MD$HHID,FoodType=unique(BigFData$FoodType)))
+ #Bfd2 <- merge(Bfd2,BigFData,all.x = TRUE)
+ Bfd2 <- merge(BigFData,MD[,.(HHID,Region,Weight,Size,cluster3,
+ EqSizeCalory,Selected_Group)],by="HHID")
+ Bfd2[is.na(Bfd2)]<-0
+ Bfd2[Price<0.1,Price:=NA]
+ Bfd2 <- Bfd2[,
+ .(Price=weighted.mean(Price,Weight*Size*FGrams,na.rm = TRUE),
+ FGrams=sum(FGrams),
+ cluster3=first(cluster3),
+ Region=first(Region), Weight=first(Weight),
+ Size=first(Size),Selected_Group=first(Selected_Group)),
+ by=.(HHID,FoodType)]
+ Bfd3 <- Bfd2[Selected_Group==1 & !is.na(Price),
+ .(MedPrice=weighted.median(Price,Weight*Size*FGrams,na.rm = TRUE),
+ MeanPrice=weighted.mean(Price,Weight*Size*FGrams,na.rm = TRUE)),
+ by=.(FoodType,Region,cluster3)]
+ BasketPrice <- Bfd3[!is.na(MeanPrice),
+ .(Price=min(MeanPrice)),
+ by=.(FoodType,Region,cluster3)]
+
+ BasketCost <- merge(BaseYearBasket,BasketPrice,by=c("FoodType","Region"))
+ BasketCost[,Cost:=(StandardFGramspc/1000)*Price]
+ FPLineBasket <- BasketCost[,.(FPLine=sum(Cost)),by=cluster3]
+
+ MD <- merge(MD,FPLineBasket,all.x=TRUE,by="cluster3")
+ sd <- MD
+ sd <- sd[,FPLineBasketyear:=weighted.mean(FPLine)]
+ sd <-sd[,Year:=year]
+ sd <- unique(sd[,.(Year,FPLineBasketyear)])
+ BigsdTable <- rbind(BigsdTable,sd)
+
+
+ MD[,FoodPoor:=ifelse(TOriginalFoodExpenditure_Per < FPLine,1,0)]
+
+ cat(unlist(MD[cluster3==13,.(FPLine,weighted.mean(FoodPoor))][1]))
+ save(MD,file=paste0(Settings$HEISProcessedPath,"Y",year,"FoodPoor.rda"))
+
+ Meat<-BigFData[FoodType=="Meat",.(HHID,FoodType,FGrams)]
+ Meat2 <- Meat[,lapply(.SD,sum),by=HHID,.SDcols=c("FGrams")]
+ Meat2<-merge(MD[,.(HHID,Size,EqSizeCalory,Weight)],Meat2,all.x=TRUE)
+ Meat2[is.na(Meat2)]<-0
+ cat(Meat2[,weighted.mean(FGrams/EqSizeCalory,Weight*Size)])
+ cat(Meat2[,weighted.median(FGrams/EqSizeCalory,Weight*Size)])
+}
+
+#library(writexl)
+
+#write_xlsx(BigsdTable,"E:/FPLinebasket.xlsx")
+
+endtime <- proc.time()
+cat("\n\n============================\nIt took",
+ (endtime-starttime)["elapsed"]," seconds")
+
diff --git a/R/167-1-EngelPrediction.R b/R/167-1-EngelPrediction.R
new file mode 100644
index 00000000..365cb7e4
--- /dev/null
+++ b/R/167-1-EngelPrediction.R
@@ -0,0 +1,165 @@
+# 167-Step7-Engel : Calculated Engel and modified Engel and Poverty Lines
+#
+# Copyright © 2018-2020: Majid Einian & Arin Shahbazian
+# Licence: GPL-3
+
+rm(list=ls())
+
+starttime <- proc.time()
+cat("\n\n================ Engel =====================================\n")
+library(yaml)
+mydir <- "E:/Refah Economy/IRHEIS-master update30-9/IRHEIS-master/R"
+Settings <- yaml.load_file("Settings.yaml")
+
+library(readxl)
+library(data.table)
+
+BigEngelTable <- data.table(Region=NA_character_,cluster3=NA_integer_,
+ N=NA_integer_,Engel=NA_real_,
+ FPLine=NA_real_,Year=NA_integer_,WW=NA_real_)[0]
+BigEngelTable1 <- data.table()
+Settings$startyear<-Settings$startyear-2
+
+for(year in (Settings$startyear:Settings$endyear)){
+ cat(paste0("\nYear:",year,"\t"))
+ if (year==Settings$predictionyear){
+ year<-year-1
+ for(month in (Settings$startmonth:Settings$endmonth)){
+ cat(paste0("\nMonth:",month,"\t"))
+
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"M",month,"FoodPoor.rda"))
+ }
+ year<-year+1
+ MD<-MD[,Year:=year]
+ }else{
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"FoodPoor.rda"))
+
+ }
+ MD<-MD[,EngelH:=(TOriginalFoodExpenditure/Total_Exp_Month)]
+
+ EngelD <- MD[ TOriginalFoodExpenditure_Per>0.8*FPLine &
+ TOriginalFoodExpenditure_Per<1.2*FPLine,
+ .(.N,Engel=weighted.mean(EngelH,Weight),
+ FPLine=mean(FPLine))
+ ,by=.(Region,cluster3)]
+
+ #save(EngelD,file=paste0(Settings$HEISProcessedPath,"Y",year,"EngelD.rda"))
+
+ Engel1 <- MD[ TOriginalFoodExpenditure_Per>0.8*FPLine &
+ TOriginalFoodExpenditure_Per<1.2*FPLine,
+ .(.N,Engel=weighted.mean(EngelH,Weight))]
+ W <- MD[ ,.(.N,WW=sum(Weight)),by=.(Region,cluster3)]
+
+
+
+ EngelD <- merge(EngelD,W[,.(cluster3,Region,WW)], by=c("cluster3","Region"))
+ EngelD<-EngelD[,Year:=year]
+ Engel1<-Engel1[,Year:=year]
+ BigEngelTable <- rbind(BigEngelTable,EngelD)
+ BigEngelTable1 <- rbind(BigEngelTable1,Engel1)
+
+ }
+
+
+ library(writexl)
+
+ #write_xlsx(BigEngelTable1,"E:/engle.xlsx")
+
+ month<-Settings$predictionmonth
+
+ InflationData <- data.table(read_excel(path = Settings$InflationDataFilePath))
+ InflationData[,F1 := (1+D2FoodInf)/(1+D2Inf)]
+ InflationData<-InflationData[order(Year)]
+ InflationData<-InflationData[is.na(Month) | (!Month!=month)]
+ InflationData<-InflationData[,Month:=NULL]
+
+ InflationData[,l.F1:=data.table::shift(F1)]
+ InflationData[,F2 := F1*l.F1]
+
+
+
+
+ BigEngelTable<-merge(BigEngelTable,InflationData,by="Year")
+ BigEngelTable<-BigEngelTable[order(Year,cluster3)]
+ BigEngelTable[,l.Engel:=data.table::shift(Engel),by=cluster3]
+ BigEngelTable[,l2.Engel:=data.table::shift(Engel,2),by=cluster3]
+
+ BigEngelTable[,EngelX:=l.Engel*F1]
+ BigEngelTable[,EngelX2:=l2.Engel*F2]
+
+
+ BigEngelTable[is.na(EngelX) & is.na(EngelX2),ModifiedEngel:=Engel]
+ BigEngelTable[!is.na(EngelX) & is.na(EngelX2),ModifiedEngel:=(Engel+EngelX)/2]
+ BigEngelTable[is.na(ModifiedEngel),ModifiedEngel:=(Engel+EngelX+EngelX2)/3]
+ BigEngelTable[,PovertyLine:=FPLine/ModifiedEngel]
+ BigEngelTable[,PovertyLine0:=FPLine/Engel]
+
+ save(BigEngelTable,file=paste0(Settings$HEISProcessedPath,"BigEngelTable.rda"))
+
+ BigEngelTable1 <- BigEngelTable
+ BigEngelTable1 <- BigEngelTable1[,M_En:=weighted.mean(ModifiedEngel,WW),by="Year"]
+ BigEngelTable1 <- unique(BigEngelTable1[,.(Year,M_En)])
+ #write_xlsx(BigEngelTable1,"E:/engle_modi.xlsx")
+
+ PL<-BigEngelTable[,weighted.mean(PovertyLine,WW),by=c("Year")]
+ for(year in (Settings$startyear:Settings$endyear)){
+ cat(paste0("\nYear:",year,"\t"))
+ if (year==Settings$predictionyear){
+ year<-year-1
+ for(month in (Settings$startmonth:Settings$endmonth)){
+ cat(paste0("\nMonth:",month,"\t"))
+
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"M",month,"FoodPoor.rda"))
+ }
+ year<-year+1
+ MD<-MD[,Year:=year]
+ }else{
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"FoodPoor.rda"))
+
+ }
+
+ MD <- merge(MD,BigEngelTable[Year==year,
+ .(cluster3,Region,
+ PovertyLine,PovertyLine0,
+ Engel,ModifiedEngel)],
+ by=c("Region","cluster3"))
+ PovertyL<-as.data.table(MD[,weighted.mean(PovertyLine,Weight*Size),by="cluster3"])
+ PovertyL<-PovertyL[,Year:=year]
+ if (year==Settings$startyear){
+ PLS<-PovertyL
+ }else{
+ PLS<-rbind(PLS,PovertyL)
+ }
+ }
+ PLS<-PLS[,FinalPovertyL:=V1*(1.05)]
+ # btm <- melt(BigEngelTable,id.vars = c("Year","cluster3","Region"),
+ # measure.vars = c("Engel","ModifiedEngel"))
+ #
+ # library(ggplot2)
+ # library(gridExtra)
+ # library(ggpubr)
+ #
+ # plotlist <- list()
+ # for(cl in 1:13){
+ # plt = ggplot(btm[cluster3==cl,],
+ # aes(x=Year,y=value,
+ # fill=variable,color=variable,linetype=variable)) +
+ # geom_line() +
+ # geom_point() +
+ # annotate(geom="label", x=84, y=max(btm[cluster3==cl,value])-.01, label=cl, color="red")+
+ # theme(legend.position = "none",
+ # axis.title.x=element_blank(),
+ # axis.title.y=element_blank())
+ #
+ # plotlist[[cl]] <- plt
+ # }
+ # plt = ggplot(btm[cluster3==cl,], aes(x=Year,y=value,fill=variable,color=variable)) +
+ # geom_line() +
+ # geom_point()
+ # leg <- get_legend(plt)
+ # plotlist[[cl+1]] <- as_ggplot(leg)
+ # do.call("grid.arrange", c(plotlist, ncol=2))
+ write_xlsx(PLS,path=paste0(Settings$HEISResultsPath,"/ClusterPre.xlsx"),col_names=T)
+
+ endtime <- proc.time()
+ cat("\n\n============================\nIt took",(endtime-starttime)["elapsed"],"seconds")
\ No newline at end of file
diff --git a/R/167-Step7-Engel.R b/R/167-Step7-Engel.R
new file mode 100644
index 00000000..eabe2471
--- /dev/null
+++ b/R/167-Step7-Engel.R
@@ -0,0 +1,116 @@
+# 167-Step7-Engel : Calculated Engel and modified Engel and Poverty Lines
+#
+# Copyright © 2018-2020: Majid Einian & Arin Shahbazian
+# Licence: GPL-3
+
+rm(list=ls())
+
+starttime <- proc.time()
+cat("\n\n================ Engel =====================================\n")
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+library(readxl)
+library(data.table)
+
+BigEngelTable <- data.table(Region=NA_character_,cluster3=NA_integer_,
+ N=NA_integer_,Engel=NA_real_,
+ FPLine=NA_real_,Year=NA_integer_,WW=NA_real_)[0]
+BigEngelTable1 <- data.table()
+Settings$startyear<-Settings$startyear-2
+
+for(year in (Settings$startyear:Settings$endyear)){
+ cat(paste0("\nYear:",year,"\t"))
+
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"FoodPoor.rda"))
+
+ MD<-MD[,EngelH:=(TOriginalFoodExpenditure/Total_Exp_Month)]
+
+
+ EngelD <- MD[ TOriginalFoodExpenditure_Per>0.8*FPLine &
+ TOriginalFoodExpenditure_Per<1.2*FPLine,
+ .(.N,Engel=weighted.mean(EngelH,Weight),
+ FPLine=mean(FPLine))
+ ,by=.(Region,cluster3)]
+
+ save(EngelD,file=paste0(Settings$HEISProcessedPath,"Y",year,"EngelD.rda"))
+
+ Engel1 <- MD[ TOriginalFoodExpenditure_Per>0.8*FPLine &
+ TOriginalFoodExpenditure_Per<1.2*FPLine,
+ .(.N,Engel=weighted.mean(EngelH,Weight))]
+ W <- MD[ ,.(.N,WW=sum(Weight)),by=.(Region,cluster3)]
+
+
+
+ EngelD <- merge(EngelD,W[,.(cluster3,Region,WW)], by=c("cluster3","Region"))
+ EngelD<-EngelD[,Year:=year]
+ Engel1<-Engel1[,Year:=year]
+ BigEngelTable <- rbind(BigEngelTable,EngelD)
+ BigEngelTable1 <- rbind(BigEngelTable1,Engel1)
+
+}
+
+
+library(writexl)
+
+#write_xlsx(BigEngelTable1,"E:/engle.xlsx")
+
+InflationData <- data.table(read_excel(path = Settings$InflationDataFilePath))
+InflationData[,F1 := (1+D2FoodInf)/(1+D2Inf)]
+InflationData<-InflationData[order(Year)]
+InflationData[,l.F1:=data.table::shift(F1)]
+InflationData[,F2 := F1*l.F1]
+
+
+BigEngelTable<-merge(BigEngelTable,InflationData,by="Year")
+BigEngelTable<-BigEngelTable[order(Year,cluster3)]
+BigEngelTable[,l.Engel:=data.table::shift(Engel),by=cluster3]
+BigEngelTable[,l2.Engel:=data.table::shift(Engel,2),by=cluster3]
+
+BigEngelTable[,EngelX:=l.Engel*F1]
+BigEngelTable[,EngelX2:=l2.Engel*F2]
+
+
+BigEngelTable[is.na(EngelX) & is.na(EngelX2),ModifiedEngel:=Engel]
+BigEngelTable[!is.na(EngelX) & is.na(EngelX2),ModifiedEngel:=(Engel+EngelX)/2]
+BigEngelTable[is.na(ModifiedEngel),ModifiedEngel:=(Engel+EngelX+EngelX2)/3]
+BigEngelTable[,PovertyLine:=FPLine/ModifiedEngel]
+BigEngelTable[,PovertyLine0:=FPLine/Engel]
+
+save(BigEngelTable,file=paste0(Settings$HEISProcessedPath,"BigEngelTable.rda"))
+
+BigEngelTable1 <- BigEngelTable
+BigEngelTable1 <- BigEngelTable1[,M_En:=weighted.mean(ModifiedEngel,WW),by="Year"]
+BigEngelTable1 <- unique(BigEngelTable1[,.(Year,M_En)])
+#write_xlsx(BigEngelTable1,"E:/engle_modi.xlsx")
+
+# btm <- melt(BigEngelTable,id.vars = c("Year","cluster3","Region"),
+# measure.vars = c("Engel","ModifiedEngel"))
+#
+# library(ggplot2)
+# library(gridExtra)
+# library(ggpubr)
+#
+# plotlist <- list()
+# for(cl in 1:13){
+# plt = ggplot(btm[cluster3==cl,],
+# aes(x=Year,y=value,
+# fill=variable,color=variable,linetype=variable)) +
+# geom_line() +
+# geom_point() +
+# annotate(geom="label", x=84, y=max(btm[cluster3==cl,value])-.01, label=cl, color="red")+
+# theme(legend.position = "none",
+# axis.title.x=element_blank(),
+# axis.title.y=element_blank())
+#
+# plotlist[[cl]] <- plt
+# }
+# plt = ggplot(btm[cluster3==cl,], aes(x=Year,y=value,fill=variable,color=variable)) +
+# geom_line() +
+# geom_point()
+# leg <- get_legend(plt)
+# plotlist[[cl+1]] <- as_ggplot(leg)
+# do.call("grid.arrange", c(plotlist, ncol=2))
+
+endtime <- proc.time()
+cat("\n\n============================\nIt took",(endtime-starttime)["elapsed"],"seconds")
diff --git a/R/168-Step8-PovertyStats.R b/R/168-Step8-PovertyStats.R
new file mode 100644
index 00000000..dcd0c25a
--- /dev/null
+++ b/R/168-Step8-PovertyStats.R
@@ -0,0 +1,262 @@
+# 168-Step8-PovertyStats.R
+#
+# Copyright © 2018-2020:Majid Einian & Arin Shahbazian
+# Licence: GPL-3
+
+rm(list=ls())
+
+starttime <- proc.time()
+cat("\n\n================ Poverty Line =====================================\n")
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+library(readxl)
+library(data.table)
+library(writexl)
+library(ggplot2)
+library(spatstat)
+
+
+
+FinalCountryResults <- data.table(Year = numeric(0),
+ SampleSize = integer(0), MeterPrice = numeric(0),
+ House_Share = numeric(0), FPLine = numeric(0), Bundle_Value = numeric(0),
+ FoodKCaloriesHH_Per = numeric(0), Engel = numeric(0), Total_Exp_Month_Per = numeric(0),
+ Total_Exp_Month_Per_nondurable = numeric(0), PovertyLine = numeric(0),
+ PovertyHCR = numeric(0), PoorSampleSize = integer(0), PovertyGap = numeric(0), Durable_Adds_Final = numeric(0),
+ PovertyDepth = numeric(0),PovertyLine_Final= numeric(0))
+FinalRegionResults <- data.table(Year = numeric(0),
+ Region=character(0),
+ SampleSize = integer(0), MeterPrice = numeric(0),
+ House_Share = numeric(0), FPLine = numeric(0), Bundle_Value = numeric(0),
+ FoodKCaloriesHH_Per = numeric(0), Engel = numeric(0), Total_Exp_Month_Per = numeric(0),
+ Total_Exp_Month_Per_nondurable = numeric(0), PovertyLine = numeric(0), Durable_Adds_Final = numeric(0),
+ PovertyHCR = numeric(0), PoorSampleSize = integer(0), PovertyGap = numeric(0),
+ PovertyDepth = numeric(0),PovertyLine_Final= numeric(0))
+FinalClusterResults <- data.table(Year = numeric(0),
+ cluster3=character(0),
+ SampleSize = integer(0), MeterPrice = numeric(0),
+ House_Share = numeric(0), FPLine = numeric(0), Bundle_Value = numeric(0),
+ FoodKCaloriesHH_Per = numeric(0), Engel = numeric(0), Total_Exp_Month_Per = numeric(0),
+ Total_Exp_Month_Per_nondurable = numeric(0), PovertyLine = numeric(0), Durable_Adds_Final = numeric(0),
+ PovertyHCR = numeric(0), PoorSampleSize = integer(0), PovertyGap = numeric(0),
+ PovertyDepth = numeric(0),PovertyLine_Final= numeric(0))
+FinalProvinceResults <- data.table(Year = numeric(0),
+ ProvinceName=character(0), Province=character(0),
+ SampleSize = integer(0), MeterPrice = numeric(0),
+ House_Share = numeric(0), FPLine = numeric(0), Bundle_Value = numeric(0),
+ FoodKCaloriesHH_Per = numeric(0), Engel = numeric(0), Total_Exp_Month_Per = numeric(0),
+ Total_Exp_Month_Per_nondurable = numeric(0), PovertyLine = numeric(0), Durable_Adds_Final = numeric(0),
+ PovertyHCR = numeric(0), PoorSampleSize = integer(0), PovertyGap = numeric(0),
+ PovertyDepth = numeric(0),PovertyLine_Final= numeric(0))
+
+OriginalFoodShare <- data.table(Year=NA_integer_,Share=NA_integer_,FinalPoor=NA_integer_)[0]
+ProvinceFarsiNames<-as.data.table(read_excel("../Data/ProvinceFarsiNames.xlsx",
+ sheet = "Sheet2"))
+
+
+for(year in (Settings$startyear:Settings$endyear)){
+ cat(paste0("\nYear:",year,"\t"))
+
+ # load data --------------------------------------
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"FoodPoor.rda"))
+ load(file=paste0(Settings$HEISProcessedPath,"BigEngelTable.rda"))
+
+ #MD<-MD[Region=="Rural"]
+
+ MD <- merge(MD,BigEngelTable[Year==year,
+ .(cluster3,Region,
+ PovertyLine,PovertyLine0,
+ Engel,ModifiedEngel)],
+ by=c("Region","cluster3"))
+ MD[,FinalPoor:=ifelse(Total_Exp_Month_Per_nondurable < PovertyLine,1,0 )]
+ MD[,FinalPoor0:=ifelse(Total_Exp_Month_Per_nondurable < PovertyLine0,1,0 )]
+ #at(MD[,.(weighted.mean(FinalPoor,Weight*Size))]$V1,"\t")
+ MD[,HHEngle:=TOriginalFoodExpenditure/Total_Exp_Month]
+ save(MD,file=paste0(Settings$HEISProcessedPath,"Y",year,"FinalPoor.rda"))
+ MD10<-MD[,.(HHID,NMiddle,NStudents)]
+ save(MD10,file=paste0(Settings$HEISProcessedPath,"Y",year,"school.rda"))
+
+ MD[,FGT1M:=(PovertyLine-Total_Exp_Month_Per_nondurable)/PovertyLine]
+ MD[,FGT2M:=((PovertyLine-Total_Exp_Month_Per_nondurable)/PovertyLine)^2]
+
+
+ MD[,Durable_Adds_Final:=(Durable_NoDep+Durable_Emergency)/Total_Exp_Month_nondurable]
+
+ ################Country##################
+
+ X1 <- MD[,.(SampleSize=.N,
+ MeterPrice=weighted.mean(MeterPrice,Weight,na.rm = TRUE),
+ House_Share=weighted.mean(House_Exp/Total_Exp_Month,Weight),
+ FPLine=weighted.mean(FPLine,Weight),
+ Bundle_Value=weighted.mean(Bundle_Value,Weight),
+ FoodKCaloriesHH_Per=weighted.mean(FoodKCaloriesHH_Per,Weight),
+ Engel=weighted.mean(TOriginalFoodExpenditure/Total_Exp_Month,Weight),
+ Total_Exp_Month_Per=weighted.mean(Total_Exp_Month_Per,Weight),
+ Total_Exp_Month_Per_nondurable=weighted.mean(Total_Exp_Month_Per_nondurable,Weight),
+ PovertyLine=weighted.mean(PovertyLine,Weight*Size),
+ PovertyHCR=weighted.mean(FinalPoor,Weight*Size),
+ Durable_Adds_Final=weighted.mean((Durable_NoDep+Durable_Emergency)/Total_Exp_Month_nondurable,Weight))
+ ]
+ X2 <- MD[FinalPoor==1,
+ .(PoorSampleSize=.N,
+ PovertyGap=weighted.mean(FGT1M,Weight*Size),
+ PovertyDepth=weighted.mean(FGT2M,Weight*Size)),
+ ]
+ X1[,Year:=year]
+ X1[,PovertyLine_Final:=PovertyLine*(1+Durable_Adds_Final)]
+ X2[,Year:=year]
+ X <- merge(X1,X2,by="Year")
+ FinalCountryResults <- rbind(FinalCountryResults,X)
+
+ ################Region##################
+ X1 <- MD[,.(SampleSize=.N,
+ MeterPrice=weighted.mean(MeterPrice,Weight,na.rm = TRUE),
+ House_Share=weighted.mean(House_Exp/Total_Exp_Month,Weight),
+ FPLine=weighted.mean(FPLine,Weight),
+ Bundle_Value=weighted.mean(Bundle_Value,Weight),
+ FoodKCaloriesHH_Per=weighted.mean(FoodKCaloriesHH_Per,Weight),
+ Engel=weighted.mean(TOriginalFoodExpenditure/Total_Exp_Month,Weight),
+ Total_Exp_Month_Per=weighted.mean(Total_Exp_Month_Per,Weight),
+ Total_Exp_Month_Per_nondurable=weighted.mean(Total_Exp_Month_Per_nondurable,Weight),
+ PovertyLine=weighted.mean(PovertyLine,Weight*Size),
+ PovertyHCR=weighted.mean(FinalPoor,Weight*Size),
+ Durable_Adds_Final=weighted.mean((Durable_NoDep+Durable_Emergency)/Total_Exp_Month_nondurable,Weight))
+ ,by=Region]
+ X2 <- MD[FinalPoor==1,
+ .(PoorSampleSize=.N,
+ PovertyGap=weighted.mean(FGT1M,Weight*Size),
+ PovertyDepth=weighted.mean(FGT2M,Weight*Size)),
+ ,by=Region]
+ X1[,Year:=year]
+ X1[,PovertyLine_Final:=PovertyLine*(1+Durable_Adds_Final)]
+ X2[,Year:=year]
+ X <- merge(X1,X2,by=c("Year","Region"))
+ FinalRegionResults <- rbind(FinalRegionResults,X)
+
+
+ ################Cluster##################
+ X1 <- MD[,.(SampleSize=.N,
+ MeterPrice=weighted.mean(MeterPrice,Weight,na.rm = TRUE),
+ House_Share=weighted.mean(House_Exp/Total_Exp_Month,Weight),
+ FPLine=weighted.mean(FPLine,Weight*Size),
+ Bundle_Value=weighted.mean(Bundle_Value,Weight),
+ FoodKCaloriesHH_Per=weighted.mean(FoodKCaloriesHH_Per,Weight),
+ Engel=weighted.mean(TOriginalFoodExpenditure/Total_Exp_Month,Weight),
+ Total_Exp_Month_Per=weighted.mean(Total_Exp_Month_Per,Weight),
+ Total_Exp_Month_Per_nondurable=weighted.mean(Total_Exp_Month_Per_nondurable,Weight),
+ PovertyLine=weighted.mean(PovertyLine,Weight*Size),
+ PovertyHCR=weighted.mean(FinalPoor,Weight*Size),
+ Durable_Adds_Final=weighted.mean((Durable_NoDep+Durable_Emergency)/Total_Exp_Month_nondurable,Weight))
+ ,by=cluster3]
+ X2 <- MD[FinalPoor==1,
+ .(PoorSampleSize=.N,
+ PovertyGap=weighted.mean(FGT1M,Weight*Size),
+ PovertyDepth=weighted.mean(FGT2M,Weight*Size)),
+ by=cluster3]
+
+
+ X1[,Year:=year]
+ X1[,PovertyLine_Final:=PovertyLine*(1+Durable_Adds_Final)]
+ X2[,Year:=year]
+ X <- merge(X1,X2,by=c("Year","cluster3"))
+ FinalClusterResults <- rbind(FinalClusterResults,X)
+
+ ################Province##################
+ X1 <- MD[,.(SampleSize=.N,
+ MeterPrice=weighted.mean(MeterPrice,Weight,na.rm = TRUE),
+ House_Share=weighted.mean(House_Exp/Total_Exp_Month,Weight),
+ FPLine=weighted.mean(FPLine,Weight),
+ Bundle_Value=weighted.mean(Bundle_Value,Weight),
+ FoodKCaloriesHH_Per=weighted.mean(FoodKCaloriesHH_Per,Weight),
+ Engel=weighted.mean(TOriginalFoodExpenditure/Total_Exp_Month,Weight),
+ Total_Exp_Month_Per=weighted.mean(Total_Exp_Month_Per,Weight),
+ Total_Exp_Month_Per_nondurable=weighted.mean(Total_Exp_Month_Per_nondurable,Weight),
+ PovertyLine=weighted.mean(PovertyLine,Weight*Size),
+ PovertyHCR=weighted.mean(FinalPoor,Weight*Size),
+ Durable_Adds_Final=weighted.mean((Durable_NoDep+Durable_Emergency)/Total_Exp_Month_nondurable,Weight))
+ ,by="ProvinceName"]
+ X1<-merge(X1,ProvinceFarsiNames[,.(ProvinceName,Province)],by=c("ProvinceName"))
+
+ X2 <- MD[FinalPoor==1,
+ .(PoorSampleSize=.N,
+ PovertyGap=weighted.mean(FGT1M,Weight*Size),
+ PovertyDepth=weighted.mean(FGT2M,Weight*Size)),
+ ,by="ProvinceName"]
+
+
+ X1[,Year:=year]
+ X1[,PovertyLine_Final:=PovertyLine*(1+Durable_Adds_Final)]
+ X2[,Year:=year]
+ X <- merge(X1,X2,by=c("Year","ProvinceName"))
+ FinalProvinceResults <- rbind(FinalProvinceResults,X)
+
+ ####################################################
+
+ cat(MD[, weighted.mean(FinalPoor,Weight*Size)],"\t")
+ #cat(MD[, weighted.mean(FinalPoor0,Weight*Size)],"\t")
+ cat(MD[, weighted.mean(PovertyLine,Weight*Size)],"\t")
+ #cat(MD[, weighted.mean(FPLine,Weight*Size)],"\n")
+ #cat(MD[, weighted.mean(TFoodKCaloriesHH_Per,Weight*Size)],"\t")
+ # cat(MD[, weighted.median(TFoodKCaloriesHH_Per,Weight*Size)],"\t")
+ #cat(MD[, sum(Weight*Size)],"\t")
+ cat(MD[, weighted.mean(Total_Exp_Month_Per,Weight*Size)],"\t")
+ cat(MD[, weighted.median(Total_Exp_Month_Per,Weight*Size)],"\t")
+
+ MD1<-MD[,.(HHID,FinalPoor)]
+ save(MD1,file=paste0(Settings$HEISProcessedPath,"Y",year,"POORS.rda"))
+
+
+ DurableD<- MD[ Total_Exp_Month_Per_nondurable>0.8*PovertyLine &
+ Total_Exp_Month_Per_nondurable<1.2*PovertyLine,
+ .(.N,Durable_Adds_Final=weighted.mean((Durable_NoDep+Durable_Emergency)/Total_Exp_Month_nondurable,Weight),
+ PovertyLine=mean(PovertyLine)),
+ by=.(Region,cluster3)]
+
+ DurableD[,PovertyLine_Final:=PovertyLine*(1+Durable_Adds_Final)]
+ ## Total_Exp_Month/TOriginalFoodExpenditure * FPLIne *(Total_Exp_Month_nondurable+Durable_NoDep+Durable_Emergency)/Total_Exp_Month_nondurable )
+ save(DurableD,file=paste0(Settings$HEISProcessedPath,"Y",year,"FinalPovertyLine.rda"))
+
+ MD <- merge(MD,DurableD[,.(cluster3,Region,PovertyLine_Final)],by=c("Region","cluster3"))
+
+ Z1 <- MD[,.(Share=weighted.mean(TOriginalFoodExpenditure/FoodExpenditure,Weight)),by=FinalPoor]
+ Z1[,Year:=year]
+
+ OriginalFoodShare <- rbind(OriginalFoodShare,Z1)
+
+
+ # a<-MD[,weighted.mean(PovertyLine,Weight)]
+ # MD[,F_P:=ifelse(Total_Exp_Month_Per_nondurable < a,1,0 )]
+ #cat(MD[, weighted.mean(F_P,Weight*Size)],"\t")
+
+
+
+}
+
+#BigEngelTable2<-BigEngelTable[,A:=sum(N),by=Year]
+
+
+
+#A1<-MD[,weighted.mean(Total_Exp_Month,Weight),by=Decile]
+#A2<-MD[,weighted.mean(Total_Exp_Month,Weight),by=ProvinceCode]
+#A3<-MD[,weighted.mean(Total_Exp_Month_Per,Weight),by=Decile]
+#A4<-MD[,weighted.mean(Total_Exp_Month_Per,Weight),by=ProvinceCode]
+
+#A5<-MD[,weighted.mean(Total_Exp_Month,Weight),by=c("Decile","ProvinceCode")]
+#A6<-MD[,weighted.mean(Total_Exp_Month_Per,Weight),by=c("Decile","ProvinceCode")]
+#write.csv(A5,file="A5.csv")
+#write.csv(A6,file="A6.csv")
+
+write_xlsx(FinalClusterResults[Year>Settings$startyear+2,],path=paste0(Settings$HEISResultsPath,"/ClusterResults.xlsx"),col_names=T)
+write_xlsx(FinalCountryResults[Year>Settings$startyear+2,],path=paste0(Settings$HEISResultsPath,"/CountryResults.xlsx"),col_names=T)
+write_xlsx(FinalRegionResults[Year>Settings$startyear+2,],path=paste0(Settings$HEISResultsPath,"/RegionResults.xlsx"),col_names=T)
+write_xlsx(FinalProvinceResults[Year>Settings$startyear+2,],path=paste0(Settings$HEISResultsPath,"/ProvinceResults.xlsx"),col_names=T)
+
+ggplot(MD, aes(HEduYears)) + geom_density(aes(weights=Weight))
+
+ggplot(MD) +
+ geom_density(aes(x = HEduYears, weight = Weight), color = "green") +
+ geom_density(aes(x = HEduYears), color = "blue")
+
+endtime <- proc.time()
+cat("\n\n============================\nIt took",(endtime-starttime)["elapsed"],"seconds")
\ No newline at end of file
diff --git a/R/170-Deciling for normal calculations.R b/R/170-Deciling for normal calculations.R
new file mode 100644
index 00000000..9ea92e66
--- /dev/null
+++ b/R/170-Deciling for normal calculations.R
@@ -0,0 +1,154 @@
+#164-Step 4-FindInitialPoor.R
+#
+# Copyright © 2020:Majid Einian & Arin Shahbazian
+# Licence: GPL-3
+
+rm(list=ls())
+
+starttime <- proc.time()
+cat("\n\n================ Deciling =====================================\n")
+
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+library(readxl)
+library(data.table)
+#library(ggplot2)
+#library(compare)
+source("142-Calculate_OwnedDurableItemsDepreciation_FunctionDef.R")
+# Function Defs ---------------------------------------------------------------------------------
+CalcTornqvistIndex <- function(DataTable){
+
+ X <- DataTable[,.(N=.N,wi1=weighted.mean(FoodExpenditure/Total_Exp_Month,Weight,na.rm = TRUE),
+ wi2=weighted.mean(House_Exp/Total_Exp_Month,Weight,na.rm = TRUE),
+ pi1=weighted.mean(Bundle_Value,Weight,na.rm = TRUE),
+ pi2=weighted.mean(MeterPrice,Weight,na.rm = TRUE)),by=.(Region,NewArea_Name)]
+
+ X[,wi:=wi1+wi2]
+ X[,wi1:=wi1/wi]
+ X[,wi2:=wi2/wi]
+ XTeh<-X[NewArea_Name=="Sh_Tehran"]
+ wk1<-XTeh$wi1 # k == Sh_Tehran
+ wk2<-XTeh$wi2
+ pk1<-XTeh$pi1
+ pk2<-XTeh$pi2
+
+ X[,SimpleIndex:= .5 * pi1/pk1 + .5 * pi2/pk2]
+ X[,AnotherIndex:= wi1 * pi1/pk1 + wi2 * pi2/pk2]
+
+ X[,TornqvistIndex:= exp( (wk1+wi1)/2 * log(pi1/pk1) + (wk2+wi2)/2 * log(pi2/pk2) ) ]
+
+ return(X[,.(Region,NewArea_Name,PriceIndex=TornqvistIndex)])
+}
+
+
+DoDeciling <- function(DataTable,PriceIndexDT){
+
+ if("PriceIndex" %in% names(DataTable)){
+ DataTable <- DataTable[,PriceIndex:=NULL]
+ }
+ DataTable <- merge(DataTable,PriceIndexDT,by=c("Region","NewArea_Name"))
+
+
+ DataTable <- DataTable[,Total_Exp_Month_Per_nondurable_Real:=Total_Exp_Month_Per_nondurable/PriceIndex]
+
+ DataTable <- DataTable[order(Total_Exp_Month_Per_nondurable_Real)] # I removed Region from ordering, deciling is not divided into rural/urban (M.E. 5/11/2020)
+ DataTable <- DataTable[,crw:=cumsum(Weight*Size)/sum(Weight*Size)] # Cumulative Relative Weight
+ DataTable <- DataTable[,xr25th:=.SD[25,Total_Exp_Month_Per_nondurable_Real],by=.(Region,NewArea_Name)]
+ DataTable <- DataTable[,First25:=ifelse(Total_Exp_Month_Per_nondurable_Real<=xr25th,1,0)]
+ #Calculate deciles by weights
+ DataTable <- DataTable[,Decile:=cut(crw,breaks = seq(0,1,.1),labels = 1:10)]
+ DataTable <- DataTable[,Percentile:=cut(crw,breaks=seq(0,1,.01),labels=1:100)]
+
+ DataTable[,crw:=NULL]
+ DataTable[,xr25th:=NULL]
+
+ return(DataTable)
+}
+
+UpdateForDurableDepr <- function(DataTable,ODIDep){
+ DataTable[,OwnedDurableItemsDepreciation:=NULL]
+ DataTable <- merge(DataTable,ODIDep)
+
+ for (col in Settings$w)
+ DataTable[is.na(get(col)), (col) := 0]
+
+ DataTable[, Total_Exp_Month := Reduce(`+`, .SD), .SDcols=Settings$w]
+ DataTable[, Total_Exp_Month_nondurable := Reduce(`+`, .SD), .SDcols=Settings$nw]
+
+ DataTable[,Total_Exp_Month_Per:=Total_Exp_Month/EqSizeOECD]
+ DataTable[,Total_Exp_Month_Per_nondurable:=Total_Exp_Month_nondurable/EqSizeOECD]
+}
+
+DurableItems <- data.table(read_excel(Settings$MetaDataFilePath,
+ sheet=Settings$MDS_DurableItemsDepr))
+
+for(year in (Settings$startyear:Settings$endyear)){
+ cat(paste0("\n------------------------------\nYear:",year,"\n"))
+
+ # load data --------------------------------------
+ load(file = paste0(Settings$HEISProcessedPath,"Y",
+ year,"DurableData_Detail.rda"))
+
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,
+ "OwnsDurableItems.rda"))
+
+
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"Merged4CBN3.rda"))
+
+ SMD <- MD[,.(HHID,Region,
+ House_Exp,FoodExpenditure,Total_Exp_Month,
+ NewArea,NewArea_Name,Total_Exp_Month_Per_nondurable,TOriginalFoodExpenditure_Per,
+ TFoodKCaloriesHH_Per,Calorie_Need_WorldBank,Calorie_Need_NutritionInstitute,
+ Weight,MeterPrice,Size,EqSizeOECD
+ ,OriginalFoodExpenditure,FoodOtherExpenditure, Cigar_Exp, Cloth_Exp,
+ Amusement_Exp, Communication_Exp,
+ Energy_Exp, Furniture_Exp, Hotel_Exp,Restaurant_Exp, Hygiene_Exp,
+ Transportation_Exp, Other_Exp
+ ,Add_to_NonDurable,Medical_Exp,
+ Durable_NoDep,Durable_Emergency,OwnedDurableItemsDepreciation)]
+
+
+ #Choose one of these
+ SMD[,Bundle_Value:=TOriginalFoodExpenditure_Per*Calorie_Need_WorldBank/TFoodKCaloriesHH_Per]
+ #SMD[,Bundle_Value:=TOriginalFoodExpenditure_Per*Calorie_Need_NutritionInstitute/TFoodKCaloriesHH_Per]
+ #SMD[,Bundle_Value:=TOriginalFoodExpenditure_Per*Settings$KCaloryNeed_Adult_WorldBank/TFoodKCaloriesHH_Per]
+ #SMD[,Bundle_Value:=TOriginalFoodExpenditure_Per*Settings$KCaloryNeed_Adult_NutritionInstitute/TFoodKCaloriesHH_Per]
+
+
+ SMD <- SMD[Bundle_Value<=5000000 | TFoodKCaloriesHH_Per>=300] #arbitrary measures, TODO: check in diff years
+
+ # S1<-SMD[,.(HHID,Region,NewArea_Name,TFoodKCaloriesHH_Per,Bundle_Value)]
+
+
+ PriceDT <- CalcTornqvistIndex(SMD)
+
+ SMD <- DoDeciling(SMD,PriceDT)
+
+ OwnedDurableItemsDepreciation <-
+ Calculate_OwnedDurableItemsDepreciation(
+ DurableData_ExpDetail = DurableData_Detail,
+ DurableItems_OwningDetail = OwnsDurableItems,
+ by = c("Item","Decile"),
+ Decile = SMD[,.(HHID,Decile)],
+ DurableItems = DurableItems)
+
+ SMD <- UpdateForDurableDepr(SMD,OwnedDurableItemsDepreciation)
+
+ mdset <- setdiff(names(MD),names(SMD))
+ Decile <- merge(MD[,c("HHID",mdset),with=FALSE],SMD,by="HHID")
+ Decile <-Decile[,.(HHID,Decile)]
+ save(Decile,file=paste0(Settings$HEISProcessedPath,"Y",year,"Decile.rda"))
+
+ #Decile_MD <- MD [,.(HHID,Total_Exp_Month_Per_nondurable,Size,Weight)]
+ #Decile_MD <- Decile_MD[order(Total_Exp_Month_Per_nondurable)]
+ #Decile_MD <- Decile_MD[,crw:=cumsum(Weight*Size)/sum(Weight*Size)]
+ #Decile_MD <- Decile_MD[,Decile_non_real:=cut(crw,breaks = seq(0,1,.1),labels = 1:10)]
+ #MD <- merge(MD,Decile_MD[,c("HHID","Decile_non_real")],by="HHID")
+ #save(Decile_MD,file=paste0(Settings$HEISProcessedPath,"Y",year,"Decile_non_real.rda"))
+}
+
+endtime <- proc.time()
+cat("\n\n============================\nIt took ")
+cat((endtime-starttime)["elapsed"])
+cat(" seconds")
diff --git a/R/176-Step6-FoodPoor- NewArea.R b/R/176-Step6-FoodPoor- NewArea.R
new file mode 100644
index 00000000..92298785
--- /dev/null
+++ b/R/176-Step6-FoodPoor- NewArea.R
@@ -0,0 +1,73 @@
+# 166-Step6-FoodPoor.R: Calculate base year basket cost in current year prices
+# for each cluster. and find FoodPoor
+#
+# Copyright © 2019-2020: Arin Shahbazian & Majid Einian
+# Licence: GPL-3
+
+rm(list=ls())
+starttime <- proc.time()
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+library(readxl)
+library(data.table)
+library(spatstat)
+year<-Settings$baseBundleyear
+
+load(file=paste0(Settings$HEISProcessedPath,"Y",year,"InitialPoorClustered.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y",year,"BigFData.rda"))
+
+MD[,Selected_Group:=ifelse((Region=="Urban" & (Decile==4)) |
+ (Region=="Rural" & (Decile==3)),1,0)]
+
+Bfd2 <- data.table(expand.grid(HHID=MD$HHID,FoodType=unique(BigFData$FoodType)))
+Bfd2 <- merge(Bfd2,BigFData,all.x = TRUE)
+Bfd2 <- merge(Bfd2,MD[,.(HHID,Region,Weight,Size,
+ EqSizeCalory,Selected_Group)],by="HHID")
+Bfd2[is.na(Bfd2)]<-0
+Bfd2[Price<0.1,Price:=NA]
+
+BaseYearBasket <- Bfd2[Selected_Group==1,
+ .(FGramspc=weighted.mean(FGrams/EqSizeCalory,Weight*Size),
+ FKCalspc=weighted.mean(FoodKCalories/EqSizeCalory,Weight*Size)),
+ by=.(FoodType,Region)]
+BaseYearBasket[,BasketCals:=sum(FKCalspc),by=Region]
+BaseYearBasket[,StandardFGramspc:=FGramspc*Settings$KCaloryNeed_Adult_WorldBank/BasketCals]
+
+for(year in (Settings$startyear:Settings$endyear)){
+ cat(paste0("\n------------------------------\nYear:",year,"\n"))
+
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"InitialPoorClustered.rda"))
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"BigFData.rda"))
+
+ MD[,Selected_Group:=ifelse((Decile==5) | (Decile==2) |
+ (Decile==3) | (Decile==4),1,0)]
+
+ Bfd2 <- data.table(expand.grid(HHID=MD$HHID,FoodType=unique(BigFData$FoodType)))
+ Bfd2 <- merge(Bfd2,BigFData,all.x = TRUE)
+ Bfd2 <- merge(Bfd2,MD[,.(HHID,Region,Weight,Size,NewArea_Name,
+ EqSizeCalory,Selected_Group)],by="HHID")
+ Bfd2[is.na(Bfd2)]<-0
+ Bfd2[Price<0.1,Price:=NA]
+ # Basket <- Bfd2[Selected_Group==1,
+ # .(FGramspc=weighted.mean(FGrams/EqSizeCalory,Weight*Size)),
+ # by=.(FoodType,NewArea_Name)]
+
+ BasketPrice <- Bfd2[Selected_Group==1 & !is.na(Price),
+ .(Price=weighted.median(Price,Weight*Size,na.rm = TRUE)),
+ by=.(FoodType,Region,NewArea_Name)]
+
+ BasketCost <- merge(BaseYearBasket,BasketPrice,by=c("FoodType","Region"))
+ BasketCost[,Cost:=(StandardFGramspc/1000)*Price]
+ FPLineBasket <- BasketCost[,.(FPLine=sum(Cost)),by=c("Region","NewArea_Name")]
+
+ MD <- merge(MD,FPLineBasket,all.x=TRUE,by=c("Region","NewArea_Name"))
+
+ MD[,FoodPoor:=ifelse(TOriginalFoodExpenditure_Per < FPLine,1,0)]
+
+
+ save(MD,file=paste0(Settings$HEISProcessedPath,"Y",year,"FoodPoor2.rda"))
+}
+
+endtime <- proc.time()
+cat("\n\n============================\nIt took",
+ (endtime-starttime)["elapsed"]," seconds")
\ No newline at end of file
diff --git a/R/177-Step7-Engel- NewArea.R b/R/177-Step7-Engel- NewArea.R
new file mode 100644
index 00000000..6ee58854
--- /dev/null
+++ b/R/177-Step7-Engel- NewArea.R
@@ -0,0 +1,68 @@
+# 167-Step7-Engel : Calculated Engel and modified Engel and Poverty Lines
+#
+# Copyright © 2018-2020: Majid Einian & Arin Shahbazian
+# Licence: GPL-3
+
+rm(list=ls())
+
+starttime <- proc.time()
+cat("\n\n================ Engel =====================================\n")
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+library(readxl)
+library(data.table)
+
+BigEngelTable <- data.table(Region=NA_character_,NewArea_Name=NA_integer_,
+ N=NA_integer_,Engel=NA_real_,
+ FPLine=NA_real_,Year=NA_integer_,ProvinceCode=NA_integer_)[0]
+
+for(year in (Settings$startyear:Settings$endyear)){
+ cat(paste0("\nYear:",year,"\t"))
+
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"FoodPoor2.rda"))
+
+ MD<-MD[,EngelH:=(TOriginalFoodExpenditure/Total_Exp_Month)]
+
+
+ EngelD <- MD[ TOriginalFoodExpenditure_Per>0.7*FPLine &
+ TOriginalFoodExpenditure_Per<1.3*FPLine,
+ .(.N,Engel=weighted.mean(EngelH,Weight),
+ FPLine=mean(FPLine))
+ ,by=.(Region,NewArea_Name,ProvinceCode)]
+
+ save(EngelD,file=paste0(Settings$HEISProcessedPath,"Y",year,"EngelD.rda"))
+
+ EngelD<-EngelD[,Year:=year]
+ BigEngelTable <- rbind(BigEngelTable,EngelD)
+}
+
+InflationData <- data.table(read_excel(path = Settings$InflationDataFilePath))
+InflationData[,F1 := (1+D2FoodInf)/(1+D2Inf)]
+InflationData<-InflationData[order(Year)]
+InflationData[,l.F1:=data.table::shift(F1)]
+InflationData[,F2 := F1*l.F1]
+
+
+BigEngelTable<-merge(BigEngelTable,InflationData,by="Year")
+BigEngelTable<-BigEngelTable[order(Year,NewArea_Name)]
+BigEngelTable[,l.Engel:=data.table::shift(Engel),by=NewArea_Name]
+BigEngelTable[,l2.Engel:=data.table::shift(Engel,2),by=NewArea_Name]
+
+BigEngelTable[,EngelX:=l.Engel*F1]
+BigEngelTable[,EngelX2:=l2.Engel*F2]
+
+
+BigEngelTable[is.na(EngelX) & is.na(EngelX2),ModifiedEngel:=Engel]
+BigEngelTable[!is.na(EngelX) & is.na(EngelX2),ModifiedEngel:=(Engel+EngelX)/2]
+BigEngelTable[is.na(ModifiedEngel),ModifiedEngel:=(Engel+EngelX+EngelX2)/3]
+BigEngelTable[,PovertyLine:=FPLine/ModifiedEngel]
+BigEngelTable[,PovertyLine0:=FPLine/Engel]
+
+save(BigEngelTable,file=paste0(Settings$HEISProcessedPath,"BigEngelTable2.rda"))
+
+
+
+
+endtime <- proc.time()
+cat("\n\n============================\nIt took",(endtime-starttime)["elapsed"],"seconds")
\ No newline at end of file
diff --git a/R/178-Step8-PovertyStats- NewArea.R b/R/178-Step8-PovertyStats- NewArea.R
new file mode 100644
index 00000000..310335af
--- /dev/null
+++ b/R/178-Step8-PovertyStats- NewArea.R
@@ -0,0 +1,233 @@
+# 168-Step8-PovertyStats.R
+#
+# Copyright © 2018-2020:Majid Einian & Arin Shahbazian
+# Licence: GPL-3
+
+rm(list=ls())
+
+starttime <- proc.time()
+cat("\n\n================ Poverty Line =====================================\n")
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+library(readxl)
+library(data.table)
+library(writexl)
+library(ggplot2)
+
+FinalCountryResults <- data.table(Year = numeric(0),
+ SampleSize = integer(0), MeterPrice = numeric(0),
+ House_Share = numeric(0), FPLine = numeric(0), Bundle_Value = numeric(0),
+ FoodKCaloriesHH_Per = numeric(0), Engel = numeric(0), Total_Exp_Month_Per = numeric(0),
+ Total_Exp_Month_Per_nondurable = numeric(0), PovertyLine = numeric(0),
+ PovertyHCR = numeric(0), PoorSampleSize = integer(0), PovertyGap = numeric(0),
+ PovertyDepth = numeric(0))
+FinalRegionResults <- data.table(Year = numeric(0),
+ Region=character(0),
+ SampleSize = integer(0), MeterPrice = numeric(0),
+ House_Share = numeric(0), FPLine = numeric(0), Bundle_Value = numeric(0),
+ FoodKCaloriesHH_Per = numeric(0), Engel = numeric(0), Total_Exp_Month_Per = numeric(0),
+ Total_Exp_Month_Per_nondurable = numeric(0), PovertyLine = numeric(0),
+ PovertyHCR = numeric(0), PoorSampleSize = integer(0), PovertyGap = numeric(0),
+ PovertyDepth = numeric(0))
+FinalClusterResults <- data.table(Year = numeric(0),
+ NewArea_Name=character(0),
+ SampleSize = integer(0), MeterPrice = numeric(0),
+ House_Share = numeric(0), FPLine = numeric(0), Bundle_Value = numeric(0),
+ FoodKCaloriesHH_Per = numeric(0), Engel = numeric(0), Total_Exp_Month_Per = numeric(0),
+ Total_Exp_Month_Per_nondurable = numeric(0), PovertyLine = numeric(0),
+ PovertyHCR = numeric(0), PoorSampleSize = integer(0), PovertyGap = numeric(0),
+ PovertyDepth = numeric(0))
+FinalProvinceResults <- data.table(Year = numeric(0),
+ ProvinceName=character(0),
+ SampleSize = integer(0), MeterPrice = numeric(0),
+ House_Share = numeric(0), FPLine = numeric(0), Bundle_Value = numeric(0),
+ FoodKCaloriesHH_Per = numeric(0), Engel = numeric(0), Total_Exp_Month_Per = numeric(0),
+ Total_Exp_Month_Per_nondurable = numeric(0), PovertyLine = numeric(0),
+ PovertyHCR = numeric(0), PoorSampleSize = integer(0), PovertyGap = numeric(0),
+ PovertyDepth = numeric(0))
+
+OriginalFoodShare <- data.table(Year=NA_integer_,Share=NA_integer_,FinalPoor=NA_integer_)[0]
+
+year<-98
+for(year in (Settings$startyear:Settings$endyear)){
+ cat(paste0("\nYear:",year,"\t"))
+
+ # load data --------------------------------------
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"FoodPoor2.rda"))
+ load(file=paste0(Settings$HEISProcessedPath,"BigEngelTable2.rda"))
+
+
+
+ MD <- merge(MD,BigEngelTable[Year==year,
+ .(NewArea_Name,Region,
+ PovertyLine,PovertyLine0,
+ Engel,ModifiedEngel)],
+ by=c("Region","NewArea_Name"))
+ MD[,FinalPoor:=ifelse(Total_Exp_Month_Per_nondurable < PovertyLine,1,0 )]
+ MD[,FinalPoor0:=ifelse(Total_Exp_Month_Per_nondurable < PovertyLine0,1,0 )]
+ cat(MD[,.(weighted.mean(FinalPoor,Weight*Size))]$V1,"\t")
+ MD[,HHEngle:=TOriginalFoodExpenditure/Total_Exp_Month]
+ save(MD,file=paste0(Settings$HEISProcessedPath,"Y",year,"FinalPoor2.rda"))
+
+
+
+ MD[,FGT1M:=(PovertyLine-Total_Exp_Month_Per_nondurable)/PovertyLine]
+ MD[,FGT2M:=((PovertyLine-Total_Exp_Month_Per_nondurable)/PovertyLine)^2]
+
+
+
+ ################Country##################
+
+ X1 <- MD[,.(SampleSize=.N,
+ MeterPrice=weighted.mean(MeterPrice,Weight,na.rm = TRUE),
+ House_Share=weighted.mean(House_Exp/Total_Exp_Month,Weight),
+ FPLine=weighted.mean(FPLine,Weight),
+ Bundle_Value=weighted.mean(Bundle_Value,Weight),
+ FoodKCaloriesHH_Per=weighted.mean(FoodKCaloriesHH_Per,Weight),
+ Engel=weighted.mean(TOriginalFoodExpenditure/Total_Exp_Month,Weight),
+ Total_Exp_Month_Per=weighted.mean(Total_Exp_Month_Per,Weight),
+ Total_Exp_Month_Per_nondurable=weighted.mean(Total_Exp_Month_Per_nondurable,Weight),
+ PovertyLine=weighted.mean(PovertyLine,Weight*Size),
+ PovertyHCR=weighted.mean(FinalPoor,Weight*Size))
+ ]
+ X2 <- MD[FinalPoor==1,
+ .(PoorSampleSize=.N,
+ PovertyGap=weighted.mean(FGT1M,Weight*Size),
+ PovertyDepth=weighted.mean(FGT2M,Weight*Size)),
+ ]
+ X1[,Year:=year]
+ X2[,Year:=year]
+ X <- merge(X1,X2,by="Year")
+ FinalCountryResults <- rbind(FinalCountryResults,X)
+
+ ################Region##################
+ X1 <- MD[,.(SampleSize=.N,
+ MeterPrice=weighted.mean(MeterPrice,Weight,na.rm = TRUE),
+ House_Share=weighted.mean(House_Exp/Total_Exp_Month,Weight),
+ FPLine=weighted.mean(FPLine,Weight),
+ Bundle_Value=weighted.mean(Bundle_Value,Weight),
+ FoodKCaloriesHH_Per=weighted.mean(FoodKCaloriesHH_Per,Weight),
+ Engel=weighted.mean(TOriginalFoodExpenditure/Total_Exp_Month,Weight),
+ Total_Exp_Month_Per=weighted.mean(Total_Exp_Month_Per,Weight),
+ Total_Exp_Month_Per_nondurable=weighted.mean(Total_Exp_Month_Per_nondurable,Weight),
+ PovertyLine=weighted.mean(PovertyLine,Weight*Size),
+ PovertyHCR=weighted.mean(FinalPoor,Weight*Size))
+ ,by=Region]
+ X2 <- MD[FinalPoor==1,
+ .(PoorSampleSize=.N,
+ PovertyGap=weighted.mean(FGT1M,Weight*Size),
+ PovertyDepth=weighted.mean(FGT2M,Weight*Size)),
+ ,by=Region]
+ X1[,Year:=year]
+ X2[,Year:=year]
+ X <- merge(X1,X2,by=c("Year","Region"))
+ FinalRegionResults <- rbind(FinalRegionResults,X)
+
+
+ ################Cluster##################
+ X1 <- MD[,.(SampleSize=.N,
+ MeterPrice=weighted.mean(MeterPrice,Weight,na.rm = TRUE),
+ House_Share=weighted.mean(House_Exp/Total_Exp_Month,Weight),
+ FPLine=weighted.mean(FPLine,Weight),
+ Bundle_Value=weighted.mean(Bundle_Value,Weight),
+ FoodKCaloriesHH_Per=weighted.mean(FoodKCaloriesHH_Per,Weight),
+ Engel=weighted.mean(TOriginalFoodExpenditure/Total_Exp_Month,Weight),
+ Total_Exp_Month_Per=weighted.mean(Total_Exp_Month_Per,Weight),
+ Total_Exp_Month_Per_nondurable=weighted.mean(Total_Exp_Month_Per_nondurable,Weight),
+ PovertyLine=weighted.mean(PovertyLine,Weight*Size),
+ PovertyHCR=weighted.mean(FinalPoor,Weight*Size))
+ ,by=NewArea_Name]
+ X2 <- MD[FinalPoor==1,
+ .(PoorSampleSize=.N,
+ PovertyGap=weighted.mean(FGT1M,Weight*Size),
+ PovertyDepth=weighted.mean(FGT2M,Weight*Size)),
+ by=NewArea_Name]
+
+
+ X1[,Year:=year]
+ X2[,Year:=year]
+ X <- merge(X1,X2,by=c("Year","NewArea_Name"))
+ FinalClusterResults <- rbind(FinalClusterResults,X)
+
+ ################Province##################
+ X1 <- MD[,.(SampleSize=.N,
+ MeterPrice=weighted.mean(MeterPrice,Weight,na.rm = TRUE),
+ House_Share=weighted.mean(House_Exp/Total_Exp_Month,Weight),
+ FPLine=weighted.mean(FPLine,Weight),
+ Bundle_Value=weighted.mean(Bundle_Value,Weight),
+ FoodKCaloriesHH_Per=weighted.mean(FoodKCaloriesHH_Per,Weight),
+ Engel=weighted.mean(TOriginalFoodExpenditure/Total_Exp_Month,Weight),
+ Total_Exp_Month_Per=weighted.mean(Total_Exp_Month_Per,Weight),
+ Total_Exp_Month_Per_nondurable=weighted.mean(Total_Exp_Month_Per_nondurable,Weight),
+ PovertyLine=weighted.mean(PovertyLine,Weight*Size),
+ PovertyHCR=weighted.mean(FinalPoor,Weight*Size))
+ ,by="ProvinceName"]
+ X2 <- MD[FinalPoor==1,
+ .(PoorSampleSize=.N,
+ PovertyGap=weighted.mean(FGT1M,Weight*Size),
+ PovertyDepth=weighted.mean(FGT2M,Weight*Size)),
+ ,by="ProvinceName"]
+
+
+ X1[,Year:=year]
+ X2[,Year:=year]
+ X <- merge(X1,X2,by=c("Year","ProvinceName"))
+ FinalProvinceResults <- rbind(FinalProvinceResults,X)
+
+ ####################################################
+
+ cat(MD[, weighted.mean(FinalPoor,Weight*Size)],"\t")
+ cat(MD[, weighted.mean(FinalPoor0,Weight*Size)],"\t")
+ cat(MD[, weighted.mean(PovertyLine,Weight*Size)],"\t")
+ cat(MD[, weighted.mean(FPLine,Weight*Size)],"\t")
+
+
+}
+
+load(file="Inflation9098.rda")
+BigEngelTable<-merge(BigEngelTable,Inflation9098,by="ProvinceCode")
+
+BigEngelTable[,Final_PovertyLine:=ifelse(Year==90,PovertyLine0*y9091*y9192*y9293*y9394*y9495*y9596*y9697*y9798,
+ ifelse(Year==91,PovertyLine0*y9192*y9293*y9394*y9495*y9596*y9697*y9798,
+ ifelse(Year==92,PovertyLine0*y9293*y9394*y9495*y9596*y9697*y9798,
+ ifelse(Year==93,PovertyLine0*y9394*y9495*y9596*y9697*y9798,
+ ifelse(Year==94,PovertyLine0*y9495*y9596*y9697*y9798,
+ ifelse(Year==95,PovertyLine0*y9596*y9697*y9798,
+ ifelse(Year==96,PovertyLine0*y9697*y9798,
+ ifelse(Year==97,PovertyLine0*y9798,PovertyLine0))))))))]
+
+BigEngelTable[,Final_PovertyLine_Mean:=mean(Final_PovertyLine),by=c("Region","NewArea_Name")]
+
+
+A2<-MD[,.(.N,PovertyLine=weighted.mean(PovertyLine,Weight),
+ HCR=weighted.mean(FinalPoor,Weight)),by=c("ProvinceName")]
+A2<-A2[,.(PovertyLine,ProvinceName,N)]
+A2$ProvinceName <- factor(A2$ProvinceName, levels = A2$ProvinceName[order(A2$PovertyLine)])
+ggplot(A2, aes(x = A2$ProvinceName, y = A2$PovertyLine)) + theme_bw() + geom_bar(stat = "identity") +
+ theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1))+
+ geom_text(aes(label=N),angle=90,vjust=0, hjust=-0.03) + ylim(0, 16000000)
+
+
+A2<-MD[Region=="Urban",.(.N,PovertyLine=weighted.mean(PovertyLine,Weight),
+ HCR=weighted.mean(FinalPoor,Weight)),by=c("ProvinceName")]
+A2<-A2[,.(PovertyLine,ProvinceName,N)]
+A2$ProvinceName <- factor(A2$ProvinceName, levels = A2$ProvinceName[order(A2$PovertyLine)])
+ggplot(A2, aes(x = A2$ProvinceName, y = A2$PovertyLine)) + theme_bw() + geom_bar(stat = "identity") +
+ theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1))+
+ geom_text(aes(label=N),angle=90,vjust=0, hjust=-0.03) + ylim(0, 16000000)
+
+
+A2<-MD[Region=="Rural",.(.N,PovertyLine=weighted.mean(PovertyLine,Weight),
+ HCR=weighted.mean(FinalPoor,Weight)),by=c("ProvinceName")]
+A2<-A2[,.(PovertyLine,ProvinceName,N)]
+A2$ProvinceName <- factor(A2$ProvinceName, levels = A2$ProvinceName[order(A2$PovertyLine)])
+ggplot(A2, aes(x = A2$ProvinceName, y = A2$PovertyLine)) + theme_bw() + geom_bar(stat = "identity") +
+ theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1))+
+ geom_text(aes(label=N),angle=90,vjust=0, hjust=-0.03) + ylim(0, 16000000)
+
+
+
+
+endtime <- proc.time()
+cat("\n\n============================\nIt took",(endtime-starttime)["elapsed"],"seconds")
\ No newline at end of file
diff --git a/R/190-InterDecileMovement.R b/R/190-InterDecileMovement.R
new file mode 100644
index 00000000..685503cb
--- /dev/null
+++ b/R/190-InterDecileMovement.R
@@ -0,0 +1,336 @@
+# 190-InterDecileMovement.R
+# The code identifies the movement of houselolds between deciles
+# and also over and under the Poverty and FoodPoverty Lines.
+#
+# Copyright © 2018-2020:Salman Farajnia
+# Licence: GPL-3
+
+rm(list=ls())
+starttime <- proc.time()
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+library(readxl)
+library(xlsx)
+library(spatstat)
+library(data.table)
+
+library(tidyverse)
+library(viridis)
+library(patchwork)
+library(hrbrthemes)
+library(circlize)
+library(networkD3)
+
+# This functions gets text and gives it back as a R Code.
+ep <- function(t){
+ return((parse(text=t)))
+}
+
+# This Function merges a public_sector column to data. public_sector is
+# a dummy variable that is 1 if at least one member of the household works
+# in public sector and 0 otherwise.
+add_public_sector <- function(year, datatable){
+ library(yaml)
+ Settings <- yaml.load_file("Settings.yaml")
+ library(haven)
+ library(readxl)
+ library(data.table)
+ library(stringr)
+
+ P1Cols <- data.table(read_excel(Settings$MetaDataFilePath, Settings$MDS_P1Cols))
+
+ pub_wage_meta <- data.table(read_excel(Settings$MetaDataFilePath,Settings$MDS_PubWage))
+ buss_wage_meta <- data.table(read_excel(Settings$MetaDataFilePath,Settings$MDS_BussInc))
+
+ cat(paste0("\n------------------------------\nYear:",year,"\n"))
+ load(file=paste0(Settings$HEISRawPath,"Y",year,"Raw.rda"))
+
+ pub_wage_meta_y <-pub_wage_meta[Year==year]
+ buss_wage_meta_y<- buss_wage_meta[Year==year]
+ pubw_t_name <-pub_wage_meta_y$Table
+ buss_t_name <- buss_wage_meta_y$Table
+ Upubt <- Tables[[paste0("U",year,pubw_t_name)]]
+ Rpubt <- Tables[[paste0("R",year,pubw_t_name)]]
+ Ubusst <- Tables[[paste0("U",year,buss_t_name)]]
+ Rbusst <- Tables[[paste0("R",year,buss_t_name)]]
+ Tpubt <- rbind(Upubt, Rpubt)
+ Tbusst <- rbind(Ubusst, Rbusst)
+ #Twage
+ for(n in names(Tpubt)){
+ x <- which(pub_wage_meta_y==n)
+ if(length(x)>0)
+ setnames(Tpubt,n,names(pub_wage_meta_y)[x])
+ }
+ for(n in names(Tbusst)){
+ x <- which(buss_wage_meta_y==n)
+ if(length(x)>0)
+ setnames(Tbusst,n,names(buss_wage_meta_y)[x])
+ }
+ Twage = rbind(Tpubt, Tbusst, fill=TRUE)
+ # Twage[,HHID:=as.character(HHID)]
+ Twage[, pub_sector:= fifelse(WageSector==1,1,0,na = 0)]
+ Twage2 <- Twage[,c('HHID','pub_sector')]
+ Twage3 <- Twage2[,.(public_sec= fifelse(sum(pub_sector)>0,1,0)), by='HHID']
+ datatable <- merge(datatable, Twage3, by = "HHID", all.x=TRUE)
+ return(datatable)
+}
+
+draw_flow_rectangle <- function(DT,year){
+ colnames(DT) <- c("source", "target", "value")
+ DT[,source:= paste0("Decile",source,"_",year)]
+ DT[,target:= paste0("Decile",target,"_",year+1)]
+
+ # create a node data frame: it lists every entities involved in the flow
+ nodes <- data.frame(name=c(as.character(DT$source), as.character(DT$target)) %>% unique())
+
+ # encode the nodes to numbers
+ DT$IDsource=match(DT$source, nodes$name)-1
+ DT$IDtarget=match(DT$target, nodes$name)-1
+ # prepare colour scale
+ ColourScal ='d3.scaleOrdinal() .range(["#FDE725FF","#B4DE2CFF","#6DCD59FF","#35B779FF","#1F9E89FF","#26828EFF","#31688EFF","#3E4A89FF","#482878FF","#440154FF"])'
+ # Make the Network
+ sn<- sankeyNetwork(Links = DT, Nodes = nodes,
+ Source = "IDsource", Target = "IDtarget",
+ Value = "value", NodeID = "name",
+ sinksRight=FALSE, colourScale=ColourScal, nodeWidth=40, fontSize=13, nodePadding=20)
+
+ saveNetwork(sn, file = "C:/IRHEIS/decile movement/flow.html", selfcontained = TRUE)
+}
+
+
+public_boolean = TRUE
+# import yearly DataTables ,keep needed columns
+# and append them to create total DataTable
+years = Settings$startyear:Settings$endyear
+years_test <- 90:91
+data_total <- data.table()
+wb_decile <- createWorkbook()
+wb_poor <- createWorkbook()
+wb_foodpoor <- createWorkbook()
+wb_movement_ts <- createWorkbook()
+movement_time_series = data.table(base_year=integer(),target_year=integer(),
+ double_poor=numeric(), double_poor_p=numeric(),
+ poor_rescue=numeric(),fall_to_poor = numeric(),
+ doulble_fpoor=numeric(), doulble_fpoor_p=numeric(),
+ fpoor_rescue=numeric(), fall_to_fpoor= numeric())
+for(year in years){
+ if (year %in% list(91,96,98)) next
+ cat(paste0("\n------------------------------\nYear:",year,"-->",year+1,"\n"))
+ # load base year
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"FinalPoor.rda"))
+ base_year = MD[,c("HHID", "Year", "Decile", "Percentile", "FinalPoor", "FoodPoor",
+ "Size", "Weight")]
+ if (public_boolean){
+ base_year = add_public_sector(year, base_year)
+ }
+ # load target year
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year+1,"FinalPoor.rda"))
+ target_year = MD[,c("HHID", "Year", "Decile","Percentile", "FinalPoor", "FoodPoor",
+ "Size", "Weight")]
+ if (public_boolean){
+ target_year = add_public_sector(year+1, target_year)
+ }
+ data_total<-rbind(base_year,target_year)
+
+ # duplicated HHIDs are the families who are in the dataset for two
+ # consecutive year
+ data_total[, duplicates := .N > 1, by = c("HHID")]
+ data_total[, public_sec:=fifelse(is.na(public_sec),0,public_sec)]
+ # adjust the weight of the duplicated families to represent
+ # the whole dateset.
+ if (public_boolean){
+ data_total[, weight_tot_panel := sum(Weight*Size*public_sec), by = c("Year", "duplicates")]
+ data_total[, weight_tot := sum(Weight*Size*public_sec), by = c("Year")]
+ } else{
+ data_total[, weight_tot_panel := sum(Weight*Size), by = c("Year", "duplicates")]
+ data_total[, weight_tot := sum(Weight*Size), by = c("Year")]
+ }
+ data_total[, Weight_panel:= Weight*weight_tot/weight_tot_panel]
+
+ # remove families who were present only one-time in the datasets of
+ # the two consecutive years
+ data_total<-data_total[duplicates==TRUE][order(HHID, Year)]
+
+
+ #reshape long panel to wide panel data
+ data_wide<-reshape(data_total, direction = "wide", sep = "_",
+ v.names = c("public_sec","Size","Decile","Percentile","FinalPoor",
+ "FoodPoor","Weight_panel", "Weight"),
+ drop = c("weight_tot", "weight_tot_panel", "duplicates"),
+ timevar = "Year", idvar = "HHID")
+ text <- paste0("data_wide <- data_wide[public_sec_",year,"==1 & public_sec_",year+1,"==1]")
+ if (public_boolean){
+ eval(ep(text))
+ }
+ # adjust weight and size of the households
+ text <- paste0("Weight_panel:= (Weight_panel_",year,"+Weight_panel_",year+1,")/2")
+ data_wide[,eval(ep(text))]
+
+ text <- paste0("Size:= (Size_",year,"+Size_",year+1,")/2")
+ data_wide[,eval(ep(text))]
+
+ ######PART 1: Movement between DECILES########################################
+ # create movement columns. {first column=status in base year}
+ # {second column= status in target year}
+ # {third column= percentage of individuals in each part who change their status}
+ text_base<-paste0("Decile_",year)
+ text_target<-paste0("Decile_",year+1)
+ data_wide[,pop:=sum(Weight_panel*Size),by=c(text_base)]
+ movement_decile<-data_wide[,round(sum(Weight_panel*Size/pop*100), digits=1),by=c(text_base, text_target)]
+ movement_decile<-movement_decile[order(eval(ep(text_base)), eval(ep(text_target)))]
+
+ # draw_flow_rectangle(movement_decile,year)
+ decile_matrix<-as.data.frame.matrix(xtabs(V1~., movement_decile))
+ rownames(decile_matrix) = paste0(year,"_",rownames(decile_matrix))
+ colnames(decile_matrix) = paste0(year+1,"_",colnames(decile_matrix))
+ sheet_name = paste0(year,"_",year+1)
+ sheet = createSheet(wb_decile, sheetName = sheet_name)
+ addDataFrame(decile_matrix,sheet = sheet)
+
+ ######PART 2: Movement between Poor and non_Poor###################################
+ # create movement columns. {first column=status in base year}
+ # {second column= status in target year}
+ # {third column= percentage of individuals in each part who change their status}
+ text_base<-paste0("FinalPoor_",year)
+ text_target<-paste0("FinalPoor_",year+1)
+ data_wide[,pop:=sum(Weight_panel*Size),by=c(text_base)]
+ movement_poor<-data_wide[,round(sum(Weight_panel*Size), digits=1),by=c(text_base, text_target)]
+ movement_poor<-movement_poor[order(eval(ep(text_base)), eval(ep(text_target)))]
+ poor_matrix<-as.data.frame.matrix(xtabs(V1~., movement_poor))
+
+ # add new columns to movement matrix
+ poor_matrix["2"] = poor_matrix["0"]
+ poor_matrix["3"] = poor_matrix["0"]
+ poor_matrix["4"] = poor_matrix["0"]
+ poor_matrix["5"] = poor_matrix["0"]
+ poor_matrix["6"] = poor_matrix["0"]
+ poor_matrix["7"] = poor_matrix["0"]
+
+ # create a matrix that its elements are in percent
+ # and the sum of the columns is 100%
+ poor_matrix[1,3] = poor_matrix[1,1]/(poor_matrix[1,1]+poor_matrix[2,1])*100
+ poor_matrix[2,3] = poor_matrix[2,1]/(poor_matrix[1,1]+poor_matrix[2,1])*100
+ poor_matrix[1,4] = poor_matrix[1,2]/(poor_matrix[1,2]+poor_matrix[2,2])*100
+ poor_matrix[2,4] = poor_matrix[2,2]/(poor_matrix[1,2]+poor_matrix[2,2])*100
+
+ # create a matrix that its elements are in percent
+ # and the sum of the rows is 100%
+ poor_matrix[1,5] = poor_matrix[1,1]/(poor_matrix[1,1]+poor_matrix[1,2])*100
+ poor_matrix[1,6] = poor_matrix[1,2]/(poor_matrix[1,1]+poor_matrix[1,2])*100
+ poor_matrix[2,5] = poor_matrix[2,1]/(poor_matrix[2,1]+poor_matrix[2,2])*100
+ poor_matrix[2,6] = poor_matrix[2,2]/(poor_matrix[2,1]+poor_matrix[2,2])*100
+
+
+ # create a matrix that its elements are in percent
+ # and the sum of the all of its elements is 100%
+ sum_pop = (poor_matrix[1,1]+poor_matrix[1,2]+
+ poor_matrix[2,1]+poor_matrix[2,2])
+ poor_matrix[1,7] = poor_matrix[1,1]/ sum_pop*100
+ poor_matrix[1,8] = poor_matrix[1,2]/sum_pop*100
+ poor_matrix[2,7] = poor_matrix[2,1]/sum_pop*100
+ poor_matrix[2,8] = poor_matrix[2,2]/sum_pop*100
+ poor_matrix = round(poor_matrix, digits = 1)
+
+ rownames(poor_matrix) = c("NotPoor","Poor")
+ colnames(poor_matrix) = c("NotPoor","Poor","NotPoor_p1","Poor_p1",
+ "NotPoor_p2","Poor_p2","NotPoor_p3","Poor_p3")
+ rownames(poor_matrix) = paste0(year,"_",rownames(poor_matrix))
+ colnames(poor_matrix) = paste0(year+1,"_",colnames(poor_matrix))
+ sheet_name = paste0(year,"_",year+1)
+ sheet = createSheet(wb_poor, sheetName = sheet_name)
+ addDataFrame(poor_matrix,sheet = sheet)
+
+ ######PART 3: Movement between FoodPoor and non_FoodPoor##########################
+ # create movement columns. {first column=status in base year}
+ # {second column= status in target year}
+ # {third column= percentage of individuals in each part who change their status}
+ text_base<-paste0("FoodPoor_",year)
+ text_target<-paste0("FoodPoor_",year+1)
+ data_wide[,pop:=sum(Weight_panel*Size),by=c(text_base)]
+ movement_foodpoor<-data_wide[,round(sum(Weight_panel*Size), digits=1),by=c(text_base, text_target)]
+ movement_foodpoor<-movement_foodpoor[order(eval(ep(text_base)), eval(ep(text_target)))]
+
+ foodpoor_matrix<-as.data.frame.matrix(xtabs(V1~., movement_foodpoor))
+
+ # add new columns to movement matrix
+ foodpoor_matrix["2"] = foodpoor_matrix["0"]
+ foodpoor_matrix["3"] = foodpoor_matrix["0"]
+ foodpoor_matrix["4"] = foodpoor_matrix["0"]
+ foodpoor_matrix["5"] = foodpoor_matrix["0"]
+ foodpoor_matrix["6"] = foodpoor_matrix["0"]
+ foodpoor_matrix["7"] = foodpoor_matrix["0"]
+
+ # create a matrix that its elements are in percent
+ # and the sum of the columns is 100%
+ foodpoor_matrix[1,3] = foodpoor_matrix[1,1]/(foodpoor_matrix[1,1]+foodpoor_matrix[2,1])*100
+ foodpoor_matrix[2,3] = foodpoor_matrix[2,1]/(foodpoor_matrix[1,1]+foodpoor_matrix[2,1])*100
+ foodpoor_matrix[1,4] = foodpoor_matrix[1,2]/(foodpoor_matrix[1,2]+foodpoor_matrix[2,2])*100
+ foodpoor_matrix[2,4] = foodpoor_matrix[2,2]/(foodpoor_matrix[1,2]+foodpoor_matrix[2,2])*100
+
+ # create a matrix that its elements are in percent
+ # and the sum of the rows is 100%
+ foodpoor_matrix[1,5] = foodpoor_matrix[1,1]/(foodpoor_matrix[1,1]+foodpoor_matrix[1,2])*100
+ foodpoor_matrix[1,6] = foodpoor_matrix[1,2]/(foodpoor_matrix[1,1]+foodpoor_matrix[1,2])*100
+ foodpoor_matrix[2,5] = foodpoor_matrix[2,1]/(foodpoor_matrix[2,1]+foodpoor_matrix[2,2])*100
+ foodpoor_matrix[2,6] = foodpoor_matrix[2,2]/(foodpoor_matrix[2,1]+foodpoor_matrix[2,2])*100
+ foodpoor_matrix = round(foodpoor_matrix, digits = 1)
+
+ # create a matrix that its elements are in percent
+ # and the sum of the all of its elements is 100%
+ sum_pop = (foodpoor_matrix[1,1]+foodpoor_matrix[1,2]+
+ foodpoor_matrix[2,1]+foodpoor_matrix[2,2])
+ foodpoor_matrix[1,7] = foodpoor_matrix[1,1]/ sum_pop*100
+ foodpoor_matrix[1,8] = foodpoor_matrix[1,2]/sum_pop*100
+ foodpoor_matrix[2,7] = foodpoor_matrix[2,1]/sum_pop*100
+ foodpoor_matrix[2,8] = foodpoor_matrix[2,2]/sum_pop*100
+ foodpoor_matrix = round(foodpoor_matrix, digits = 1)
+
+ rownames(foodpoor_matrix) = c("NotFoodPoor","FoodPoor")
+ colnames(foodpoor_matrix) = c("NotFoodPoor","FoodPoor","NotFoodPoor_p1","FoodPoor_p1",
+ "NotFoodPoor_p2","FoodPoor_p2","NotFoodPoor_p3","FoodPoor_p3")
+ rownames(foodpoor_matrix) = paste0(year,"_",rownames(foodpoor_matrix))
+ colnames(foodpoor_matrix) = paste0(year+1,"_",colnames(foodpoor_matrix))
+ sheet_name = paste0(year,"_",year+1)
+ sheet = createSheet(wb_foodpoor, sheetName = sheet_name)
+ addDataFrame(foodpoor_matrix,sheet = sheet)
+
+ ######PART 4: Movement time series###################################
+ # create Time-series of important cells in the movement matrices.
+ double_poor = poor_matrix[2,2]
+ double_poor_p = poor_matrix[2,8]
+ poor_rescue = poor_matrix[2,5]
+ fall_to_poor = poor_matrix [1,6]
+ double_fpoor = foodpoor_matrix[2,2]
+ double_fpoor_p = foodpoor_matrix[2,8]
+ fpoor_rescue = foodpoor_matrix[2,5]
+ fall_to_fpoor = foodpoor_matrix [1,6]
+ movement_time_series<-rbind(movement_time_series,
+ list(year,year+1,double_poor,double_poor_p,poor_rescue,
+ fall_to_poor,double_fpoor,double_fpoor_p,
+ fpoor_rescue,fall_to_fpoor))
+
+
+ # here I check the reliability of the data.
+ #if the households which have the same ID in the two consecutive years
+ # are really the same households, then their size may not change
+ # considerably. so by drawing the histogram of the difference of the
+ # size of a household in this two years I anticipate a distribution of mean Zero
+ # which is concenterated near zero.
+ base0 = paste0("Size_",year)
+ base1 = paste0("Size_",year+1)
+ data_wide$diff_size = data_wide[,..base0] - data_wide[,..base1]
+ png(file=paste0(Settings$HEISResultsPath,year,"hist.png"))
+ hist(data_wide$diff_size, freq=FALSE, ylim = c(0,0.9))
+ dev.off()
+}
+saveWorkbook(wb_decile, paste0(Settings$HEISResultsPath,"decile_movement.xlsx"))
+saveWorkbook(wb_poor, paste0(Settings$HEISResultsPath,"poor_movement.xlsx"))
+saveWorkbook(wb_foodpoor, paste0(Settings$HEISResultsPath,"foodpoor_movement.xlsx"))
+sheet = createSheet(wb_movement_ts, sheetName = 'movemetn time-series')
+addDataFrame(movement_time_series, sheet = sheet)
+saveWorkbook(wb_movement_ts, paste0(Settings$HEISResultsPath,"movement_time_series.xlsx"))
+
+
+
+
+
diff --git a/R/AdditionalTools/CheckGeoInfo.R b/R/AdditionalTools/CheckGeoInfo.R
new file mode 100644
index 00000000..f49b85a3
--- /dev/null
+++ b/R/AdditionalTools/CheckGeoInfo.R
@@ -0,0 +1,80 @@
+rm(list=ls())
+
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+library(data.table)
+library(readxl)
+
+shs <- excel_sheets(Settings$GeoInfoFilePath)
+D <- data.table()
+for(sh in shs[-1:-6]){
+ D0 <- data.table(read_excel(path = Settings$GeoInfoFilePath, sheet = sh))
+ D0 <- D0[,.(Geo4,CountyFa)]
+ setnames(D0,"CountyFa",paste0("CountyFa",sh))
+ if(nrow(D)==0){
+ D <- copy(D0)
+ }else{
+ D <- merge(D,D0,by="Geo4",all = TRUE)
+ }
+}
+
+E <- data.table()
+for(year in 77:Settings$endyear){
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"GeoInfo.rda"))
+ E0 <- GeoInfo[,.N,by=Geo4][order(Geo4)]
+ setnames(E0,"N",paste0("N",year))
+ if(nrow(E)==0){
+ E <- copy(E0)
+ }else{
+ E <- merge(E,E0,by="Geo4",all = TRUE)
+ }
+}
+
+rm(D0,E0,sh,shs,year,GeoInfo)
+
+G <- merge(D[,.(Geo4,CountyFa81,CountyFa96)],E)
+#View(G)
+ucc <- G[is.na(CountyFa96),Geo4]
+
+Old <- D[Geo4 %in% ucc]
+Old <- Old[order(Geo4)]
+for(i in 1:nrow(Old)){
+ oc <- Old[i,Geo4]
+ s <- Old[i,CountyFa76]
+ if(is.na(s))
+ s <- Old[i,CountyFa81]
+ if(is.na(s))
+ s <- Old[i,CountyFa82]
+ nc <- G[CountyFa96==s,Geo4]
+ cat("\n",oc," : ",nc," # ", s)
+}
+
+
+FE <- data.table()
+for(year in 77:Settings$endyear){
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"GeoInfo.rda"))
+ FE0 <- GeoInfo[,.N,by=FGeo4]
+ setnames(FE0,"N",paste0("N",year))
+ if(nrow(FE)==0){
+ FE <- copy(FE0)
+ }else{
+ FE <- merge(FE,FE0,by="FGeo4",all = TRUE)
+ }
+}
+FE <- FE[FGeo4!="2201"]
+sapply(FE[,-1],function(X){length(X[!is.na(X)])})
+
+FE[is.na(N81) & !is.na(N80)]
+FE[is.na(N86) & !is.na(N85)]
+
+View(FE[FGeo4 %in% c("0910","2110","2911")])
+View(E[Geo4 %in% c("0910","2110","2911")])
+
+
+for(year in 77:Settings$endyear){
+ print(year)
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"GeoInfo.rda"))
+ A <- GeoInfo[Geo2=="29",.N,by=FGeo4]
+ print(A)
+}
diff --git a/R/AdditionalTools/DurableItemsStats.R b/R/AdditionalTools/DurableItemsStats.R
new file mode 100644
index 00000000..59cb9a7e
--- /dev/null
+++ b/R/AdditionalTools/DurableItemsStats.R
@@ -0,0 +1,100 @@
+# DurableItemsStats (calculations of scrap value & depretiations)
+# Run after 133-HHDurableExpenditures
+# Copyright © 2020: Arin Shahbazian
+# Licence: GPL-3
+
+rm(list=ls())
+
+startTime <- proc.time()
+cat("\n\n================ Durable Items Stats ==============================\n")
+
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+library(readxl)
+library(data.table)
+
+DurableItems <- data.table(read_excel(Settings$MetaDataFilePath,
+ sheet=Settings$MDS_DurableItems))
+
+for(year in (Settings$startyear:Settings$endyear)){
+ cat(paste0("\n------------------------------\nYear:",year,"\n"))
+
+ load(file = paste0(Settings$HEISProcessedPath,"Y",
+ year,"DurableData_Detail.rda"))
+
+ load(file=paste0(Settings$HEISWeightsPath,
+ Settings$HEISWeightFileName,year,".rda"))
+ HHWeights<- as.data.table(HHWeights)
+ HHWeights<-HHWeights[,HHID:=as.numeric(HHID)]
+ HHWeights[,Year:=NULL]
+ DurableData_Detail<-merge(DurableData_Detail,HHWeights,by="HHID")
+
+ AVX <- DurableData_Detail[Durable_Exp>0,
+ .(Exp=weighted.mean(Durable_Exp,Weight)),
+ by=Item]
+ AVS <- DurableData_Detail[Durable_Sale>0,
+ .(Sale=weighted.mean(Durable_Sale,Weight)),
+ by=Item]
+
+ DurableBought <- dcast(DurableData_Detail[Durable_Exp>0],HHID ~ Item,
+ value.var = "Durable_Exp",fun.aggregate = length)
+ DurableSold <- dcast(DurableData_Detail[Durable_Sale>0],HHID ~ Item,
+ value.var = "Durable_Sale",fun.aggregate = length)
+ Bought <- merge(DurableBought,HHWeights,all.y = TRUE)
+ Bought[is.na(Bought)] <- 0
+ BoughtStats <- Bought[,lapply(.SD, weighted.mean,Weight),
+ .SDcols=2:(ncol(Bought)-1)]
+ Sold <- merge(DurableSold,HHWeights,all.y = TRUE)
+ Sold[is.na(Sold)] <- 0
+ SoldStats <- Sold[,lapply(.SD, weighted.mean,Weight),.SDcols=2:(ncol(Sold)-1)]
+
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,
+ "OwnsDurableItems.rda"))
+
+ OwnsDurableItems <- merge(OwnsDurableItems,HHWeights,by="HHID")
+ Has <- OwnsDurableItems[,lapply(.SD, weighted.mean,Weight),
+ .SDcols=2:(ncol(OwnsDurableItems)-1)]
+ Hasm <- melt(Has,measure.vars = names(Has),
+ variable.name = "Item",value.name = "Has")
+ Boughtm <- melt(BoughtStats,measure.vars = names(BoughtStats),
+ variable.name = "Item",value.name = "Bought")
+ Soldm <- melt(SoldStats,measure.vars = names(SoldStats),
+ variable.name = "Item",value.name = "Sold")
+
+ DurableItemsStats <- merge(AVX,AVS)
+ DurableItemsStats <- merge(DurableItemsStats,Boughtm)
+ DurableItemsStats <- merge(DurableItemsStats,Soldm)
+ DurableItemsStats <- merge(DurableItemsStats,Hasm)
+ save(DurableItemsStats, file=paste0(Settings$HEISProcessedPath,"Y",year,
+ "DurableItemsStats.rda"))
+}
+DurableItemsStats[,Year:=NA_integer_]
+BigDT <- DurableItemsStats[0]
+for(year in (Settings$startyear:Settings$endyear)){
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"DurableItemsStats.rda"))
+ DurableItemsStats[,Year:=year]
+ BigDT <- rbind(BigDT,DurableItemsStats)
+}
+
+BigDT[,LifeTime:=Has/Bought]
+BigDT[,ScrapShare:=Sale/Exp]
+ADT <- BigDT[,.(HasMin=min(Has), HasMax=max(Has),
+ HasMean=mean(Has),HasMedian=median(Has),
+ BoughtMin=min(Bought), BoughtMax=max(Bought),
+ BoughtMean=mean(Bought), BoughtMedian=median(Bought)),by=Item]
+ADT[,ltmin:=HasMin/BoughtMin]
+ADT[,ltmax:=HasMax/BoughtMax]
+ADT[,ltmean:=HasMean/BoughtMean]
+ADT[,ltmedian:=HasMedian/BoughtMedian]
+
+View(ADT)
+View(BigDT)
+View(BigDT[,.(LifeTimeAverage=mean(LifeTime)),by=Item])
+
+ggplot(BigDT,aes(x=LifeTime)) +
+ geom_histogram(position = "identity")+
+ facet_grid(.~Item)
+
+endTime <- proc.time()
+cat("\n\n=========================\nIt took",(endTime-startTime)[3], "seconds.")
diff --git a/R/AdditionalTools/GeoInfoSaver.R b/R/AdditionalTools/GeoInfoSaver.R
new file mode 100644
index 00000000..743abf86
--- /dev/null
+++ b/R/AdditionalTools/GeoInfoSaver.R
@@ -0,0 +1,132 @@
+rm(list=ls())
+
+starttime <- proc.time()
+
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+library(readxl)
+library(data.table)
+
+for(year in max(77,Settings$startyear):86){ # 77 i the first year with county data
+ cat("\nYear",year)
+ load(file=paste0(Settings$HEISProcessedPath,
+ "Y",year,"HHBase.rda"))
+ GeoInfo <- copy(HHBase[,.(HHID,
+ Geo2=substr(sprintf("%09d",HHID),2,3),
+ Geo4=substr(sprintf("%09d",HHID),2,5))])
+ if(year %in% 84:86){
+ GeoInfo[Geo4=="2824", Geo4:="2803"] # Jaram
+ GeoInfo[Geo4=="2809", Geo4:="2804"] # Shirvan
+ GeoInfo[Geo4=="2813", Geo4:="2805"] # Faruj # Guess!
+ GeoInfo[Geo4=="2825", Geo4:="2806"] # Mane & Semelqan
+
+ GeoInfo[Geo4=="2903", Geo4:="2901"] # Birjand
+ GeoInfo[Geo4=="2912", Geo4:="2906"] # Sarbishe # Just a guess
+ GeoInfo[Geo4=="2921", Geo4:="2905"] # Nehbandan
+ GeoInfo[Geo4=="2911", Geo4:="2903"] # Serayan # Just a guess
+ #GeoInfo[Geo4=="0911", Geo4:="2907"] # Ferdows
+ }
+
+ cat(":\t",length(unique(GeoInfo$Geo2)))
+ cat(":\t",GeoInfo[order(Geo2),Geo2][c(1,nrow(GeoInfo))])
+ cat(":\t",length(unique(GeoInfo$Geo4)))
+ cat(":\t",GeoInfo[order(Geo4),Geo4][c(1,nrow(GeoInfo))])
+ save(GeoInfo, file=paste0(Settings$HEISProcessedPath,
+ "Y",year,"GeoInfo.rda"))
+
+}
+
+for(year in 87:91){
+ cat("\nYear",year)
+ DR <- data.table(read_excel(paste0("C:/Users/Majid/Dropbox/HEIS/HEIS-Share/DataSummary/13",
+ year,"/SumR",year,".xlsx")))
+ DU <- data.table(read_excel(paste0("C:/Users/Majid/Dropbox/HEIS/HEIS-Share/DataSummary/13",
+ year,"/SumU",year,".xlsx")))
+ s <- "ADDRESS"
+ if("shr" %in% names(DR))
+ s <- c(s,"shr")
+ if("Shr" %in% names(DR))
+ s <- c(s,"Shr")
+ if("Adr85_19" %in% names(DR))
+ s <- c(s,"Adr85_19")
+ if("adr85_19" %in% names(DR))
+ s <- c(s,"adr85_19")
+
+ D <- rbind(DR[,..s],DU[,..s])
+ setnames(D,"ADDRESS","HHID")
+ rm(DR,DU)
+ D[,Geo2:=substr(HHID,2,3)]
+
+ if("shr" %in% names(D))
+ setnames(D,"shr","Shr")
+ if("adr85_19" %in% names(D))
+ setnames(D,"adr85_19","Adr85_19")
+ if("Shr" %in% names(D)){
+ D[,Shr:=sprintf("%02d",as.integer(Shr))]
+ D[,Geo4:=paste0(Geo2,Shr)]
+ }else{
+ D[,Geo4:=substr(Adr85_19,1,4)]
+ }
+ D[,HHID:=as.numeric(HHID)]
+
+ D[Geo2=="30" & Geo4=="2305", Geo4:="3001"]
+ D[Geo2=="30" & Geo4=="2308", Geo4:="3002"]
+ D[Geo2=="30" & Geo4=="2315", Geo4:="3003"]
+
+ GeoInfo <- D[,.(HHID,Geo2,Geo4)]
+ cat(":\t",length(unique(GeoInfo$Geo2)))
+ cat(":\t",GeoInfo[order(Geo2),Geo2][c(1,nrow(GeoInfo))])
+ cat(":\t",length(unique(GeoInfo$Geo4)))
+ cat(":\t",GeoInfo[order(Geo4),Geo4][c(1,nrow(GeoInfo))])
+ save(GeoInfo, file=paste0(Settings$HEISProcessedPath,
+ "Y",year,"GeoInfo.rda"))
+}
+
+for(year in 92:max(92,Settings$endyear)){
+ cat("\nYear",year)
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"HHBase.rda"))
+ GeoInfo <- HHBase[,.(HHID,
+ Geo2=substr(HHID,2,3),
+ Geo4=substr(HHID,2,5))]
+ # if(year %in% 95:96) GeoInfo[Geo4=="2909", Geo4:="2911"] # Tabas (3) # This is just a guess!
+ if(year >=97) cat("Check this line for, What is Tabas code for >=97?")
+ cat(":\t",length(unique(GeoInfo$Geo2)))
+ cat(":\t",GeoInfo[order(Geo2),Geo2][c(1,nrow(GeoInfo))])
+ cat(":\t",length(unique(GeoInfo$Geo4)))
+ cat(":\t",GeoInfo[order(Geo4),Geo4][c(1,nrow(GeoInfo))])
+ save(GeoInfo, file=paste0(Settings$HEISProcessedPath,
+ "Y",year,"GeoInfo.rda"))
+}
+
+
+for(year in max(77,Settings$startyear):Settings$endyear){
+ cat("\nYear",year)
+ load(file=paste0(Settings$HEISProcessedPath,
+ "Y",year,"GeoInfo.rda"))
+ GeoInfo[,FGeo4:=Geo4]
+
+ GeoInfo[Geo4=="0901", FGeo4:="2801"] # Esfarayen
+ GeoInfo[Geo4=="0902", FGeo4:="2802"] # Bojnourd
+ GeoInfo[Geo4=="0903", FGeo4:="2901"] # Birjand
+ GeoInfo[Geo4=="0909", FGeo4:="2804"] # Shirvan
+ GeoInfo[Geo4=="0910", FGeo4:="2911"] # Tabas (1)
+ GeoInfo[Geo4=="0911", FGeo4:="2907"] # Ferdows
+ GeoInfo[Geo4=="0912", FGeo4:="2904"] # Qaenat
+ GeoInfo[Geo4=="0921", FGeo4:="2905"] # Nehbandan
+ GeoInfo[Geo4=="0924", FGeo4:="2803"] # Jajarm
+ GeoInfo[Geo4=="0925", FGeo4:="2806"] # Mane & Semelqan
+ GeoInfo[Geo4=="2110", FGeo4:="2911"] # Tabas (2)
+ GeoInfo[Geo4=="2305", FGeo4:="3001"] # Karaj
+ GeoInfo[Geo4=="2308", FGeo4:="3002"] # Savojbolaq
+ GeoInfo[Geo4=="2315", FGeo4:="3003"] # Nazarabad
+
+ GeoInfo[,FGeo2:=substr(FGeo4,1,2)]
+
+ cat(":\t",length(unique(GeoInfo$FGeo2)))
+ cat(":\t",length(unique(GeoInfo$FGeo4)))
+
+ save(GeoInfo, file=paste0(Settings$HEISProcessedPath,
+ "Y",year,"GeoInfo.rda"))
+}
+
diff --git a/R/AdditionalTools/WeightsSaver.R b/R/AdditionalTools/WeightsSaver.R
new file mode 100644
index 00000000..473b05df
--- /dev/null
+++ b/R/AdditionalTools/WeightsSaver.R
@@ -0,0 +1,71 @@
+rm(list = ls())
+
+cat("\n\n================ WeightsSaver =====================================\n")
+
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+library(RODBC)
+library(data.table)
+library(stringr)
+library(tcltk)
+library(XLConnect)
+library(readxl)
+flist <- tk_choose.files()
+starttime <- proc.time()
+
+HHWeights <- data.table(HHID=NA_integer_,Year=NA_integer_,Weight=NA_real_)[0]
+
+for(f in flist){
+ year <- as.numeric(str_extract_all(f, "[0-9]+")[[1]])
+ year <- year[length(year)]
+ s <- file_path_sans_ext(f)
+ RU <- substr(s,nchar(s)-2,nchar(s)-2)
+ sh <- excel_sheets(f)
+
+ if(year==76){
+ Query <-"Select R_U, OSTAN, BLOCK, KHANEVAR, weight from ["
+ }else if(year %in% 77:82){
+ Query <- "Select R_U, OSTAN, SHAHRESTAN, BLOCK, KHANEVAR, weight from ["
+ }else if(year %in% 88:89){
+ Query <- "Select ADDRESS, Weight from ["
+ }else{
+ Query <- "Select ADDRESS, weight from ["
+ }
+
+ Query <- paste0(Query,sh,"$]")
+ cnx <- odbcConnectExcel2007(f)
+ mt <- data.table(sqlQuery(cnx,query=Query))
+ close(cnx)
+
+ rm(cnx)
+
+ if(year %in% 63:75){
+ mt[,HHID:=as.integer(paste(ZONE,OSTAN,HOUSEHOLD,sep=""))]
+ }else if(year==76){
+ mt[,HHID:=as.integer(paste(R_U,sprintf("%02d", OSTAN), KHANEVAR %/% 10000,
+ sprintf("%03d",KHANEVAR %% 1000),sep=""))]
+ }else if(year %in% 77:82){
+ mt[,HHID:=as.integer(paste(R_U,sprintf("%02d", OSTAN), sprintf("%02d", SHAHRESTAN),KHANEVAR %/% 10000,
+ sprintf("%03d",KHANEVAR %% 1000),sep=""))]
+ }else{
+ setnames(mt,"ADDRESS","HHID")
+ }
+
+ mt[,Year:=year]
+ if("weight" %in% names(mt))
+ setnames(mt,"weight","Weight")
+ setkey(mt,HHID,Year)
+
+ mt <- mt[,.(HHID,Year,Weight)]
+ HHWeights <- rbind(HHWeights,mt)
+ if(min(HHWeights$Year)!=year || max(HHWeights$Year)!=year)
+ warning("More than one year in data!")
+}
+
+save(HHWeights,file = paste0(Settings$HEISWeightsPath,Settings$HEISWeightFileName,year,".rda"))
+endtime <- proc.time()
+
+cat("\n\n============================\nIt took ")
+cat((endtime-starttime)[3])
+cat(" seconds. ")
\ No newline at end of file
diff --git a/R/Archive/02-BuildHHBase-old.R b/R/Archive/02-BuildHHBase-old.R
new file mode 100644
index 00000000..77a2304a
--- /dev/null
+++ b/R/Archive/02-BuildHHBase-old.R
@@ -0,0 +1,146 @@
+# 02-BuildHHBase.R
+# As each table in the HEIS data cover different number of households, we create
+# a Base dataset for households that will be used in merging. This dataset
+# contains the basic information of household that are known before the
+# questionare is filled, such as the date (Year, Quarter, Month), and geographic
+# information (Province, County).
+#
+# Copyright © 2015: Majid Einian
+# Licence: GPL-3
+#
+
+
+rm(list=ls())
+
+starttime <- proc.time()
+cat("\n\n================ BuildHHBase =====================================\n")
+
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+dir.create(Settings$HEISDataPath,showWarnings = FALSE)
+
+
+library(RODBC)
+library(foreign)
+library(data.table)
+
+# For Years 1363 to 1386 ----------------------------------------------
+for(year in 63:86)
+{
+ cat(paste0("\n------------------------------\nYear:",year,"\n"))
+ if(year %in% 63:75){
+ UD <- data.table(read.dbf(paste0(Settings$HEISSummaryPath,"1363-1375/U",year,"_SUM.DBF",sep=""),as.is = TRUE))[,c("ZONE","OSTAN","HOUSEHOLD"),with=FALSE]
+ RD <- data.table(read.dbf(paste("../DataSummary/1363-1375/R",year,"_SUM.DBF",sep=""),as.is = TRUE))[,c("ZONE","OSTAN","HOUSEHOLD"),with=FALSE]
+ }else if(year %in% c(76:86)){
+ if(year==76){
+ Query <-"Select R_U, OSTAN, BLOCK, KHANEVAR from [Sum"
+ }else if(year %in% 77:82){
+ Query <- "Select R_U, OSTAN, SHAHRESTAN, BLOCK, KHANEVAR from [Sum"
+ }else if(year %in% 83:86){
+ Query <- "Select Address from [Sum"
+ }
+ cnxu <- odbcConnectExcel2007(paste("../DataSummary/13",year,"/SumU",year,".xlsx",sep=""))
+ UD <- data.table(sqlQuery(cnxu,query=paste(Query,"U",year,"$]",sep="")))
+ close(cnxu)
+ cnxr <- odbcConnectExcel2007(paste("../DataSummary/13",year,"/SumR",year,".xlsx",sep=""))
+ RD <- data.table(sqlQuery(cnxr,query=paste(Query,"R",year,"$]",sep="")))
+ close(cnxr)
+ rm(cnxr,cnxu)
+ }
+
+ UD <- UD[, lapply(.SD, as.numeric)]
+ RD <- RD[, lapply(.SD, as.numeric)]
+
+
+ UD[,Region:=factor(x="Urban",levels=c("Urban","Rural"),
+ labels=c("Urban","Rural"))]
+ RD[,Region:=factor(x="Rural",levels=c("Urban","Rural"),
+ labels=c("Urban","Rural"))]
+
+ cat(nrow(UD),", ",nrow(RD))
+
+ HHBase <- rbind(RD,UD)
+ if(year %in% 63:75)
+ {
+ HHBase[,HHID:=as.numeric(paste(ZONE,sprintf("%02d", OSTAN),sprintf("%04d", HOUSEHOLD),sep=""))]
+ }
+ else if(year==76){
+ HHBase[,HHID:=as.numeric(paste(R_U,sprintf("%02d", OSTAN), KHANEVAR %/% 10000,
+ sprintf("%03d",KHANEVAR %% 1000),sep=""))]
+ }else if(year %in% 77:82){
+ HHBase[,HHID:=as.numeric(paste(R_U,sprintf("%02d", OSTAN), sprintf("%02d", SHAHRESTAN),KHANEVAR %/% 10000,
+ sprintf("%03d",KHANEVAR %% 1000),sep=""))]
+ }else if(year %in% 83:86){
+ setnames(HHBase,"Address","HHID")
+ }
+
+ HHBase[,Year:=year]
+ HHBase[,Quarter:=as.numeric(HHID %% 10000 %/% 1000)]
+ if(year==74)
+ HHBase[,Quarter:=as.numeric(HHID %% 100000 %/% 10000)]
+ HHBase[,Month:=NA_integer_]
+
+ HHBase <- HHBase[,c("HHID","Region","Year","Quarter","Month"),with=FALSE]
+
+# save(HHBase,year,file=paste("Data/Y",year,"HHBase.rda",sep=""))
+}
+
+# For Years 1387 to 1392 ----------------------------------------------
+for (year in 87:92)
+{
+ cat(paste0("\n------------------------------\nYear:",year,"\n"))
+ cns<-odbcConnectAccess2007(paste("../DataRAW/",year,".mdb",sep=""))
+ U <- data.table(sqlQuery(cns,paste("Select Address, MahMorajeh from U",year,ifelse(year>=92,"Data",""),sep="")))
+ R <- data.table(sqlQuery(cns,paste("Select Address, MahMorajeh from R",year,ifelse(year>=92,"Data",""),sep="")))
+ close(cns)
+
+ U <- U[, lapply(.SD, as.numeric)]
+ R <- R[, lapply(.SD, as.numeric)]
+
+ setnames(U,c("HHID","Month"))
+ setnames(R,c("HHID","Month"))
+
+ cnxu <- odbcConnectExcel2007(paste("../DataSummary/13",year,"/SumU",year,".xlsx",sep=""))
+ UD <- data.table(sqlQuery(cnxu,query=paste("Select Address from [SumU",year,"$]",sep="")))
+ close(cnxu)
+ cnxr <- odbcConnectExcel2007(paste("../DataSummary/13",year,"/SumR",year,".xlsx",sep=""))
+ RD <- data.table(sqlQuery(cnxr,query=paste("Select Address from [SumR",year,"$]",sep="")))
+ close(cnxr)
+
+ UD <- UD[, lapply(.SD, as.numeric)]
+ RD <- RD[, lapply(.SD, as.numeric)]
+
+ setnames(UD,"HHID")
+ setnames(RD,"HHID")
+
+ rm(cns,cnxr,cnxu)
+
+ U <- U[HHID %in% UD$HHID,]
+ R <- R[HHID %in% RD$HHID,]
+
+ cat(nrow(UD),", ",nrow(RD))
+ rm(UD,RD)
+
+ U[,Region:=factor(x="Urban",levels=c("Urban","Rural"),
+ labels=c("Urban","Rural"))]
+ R[,Region:=factor(x="Rural",levels=c("Urban","Rural"),
+ labels=c("Urban","Rural"))]
+
+
+ HHBase <- rbind(U,R)
+ rm(U,R)
+
+ HHBase[,Year:=year]
+ HHBase[,Month:=ifelse(Month==1,12,Month - 1)]
+ HHBase[,Quarter:=(Month-1)%/%3+1]
+
+ HHBase <- HHBase[,c("HHID","Region","Year","Quarter","Month"),with=FALSE]
+
+ save(HHBase,year,file=paste("Data/Y",year,"HHBase.rda",sep=""))
+}
+
+endtime <- proc.time()
+
+cat("\n\n============================\n============================\nIt took ")
+cat(endtime-starttime)
diff --git a/R/Archive/02-BuildHHBase.R b/R/Archive/02-BuildHHBase.R
new file mode 100644
index 00000000..3e038631
--- /dev/null
+++ b/R/Archive/02-BuildHHBase.R
@@ -0,0 +1,220 @@
+# 02-BuildHHBase.R
+# As each table in the HEIS data cover different number of households, we create
+# a Base dataset for households that will be used in merging. This dataset
+# contains the basic information of household that are known before the
+# questionare is filled, such as the date (Year, Quarter, Month), and geographic
+# information (Province, County).
+#
+# Copyright © 2015: Majid Einian
+# Licence: GPL-3
+#
+
+
+rm(list=ls())
+
+starttime <- proc.time()
+cat("\n\n================ BuildHHBase =====================================\n")
+
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+dir.create(Settings$HEISDataPath,showWarnings = FALSE)
+
+
+library(RODBC)
+library(foreign)
+library(data.table)
+
+load(Settings$weightsFile)
+
+for(year in 63:93)
+{
+ cat(paste0("\n------------------------------\nYear:",year,"\n"))
+
+ l <- dir(path=Settings$HEISRawPath, pattern=glob2rx(paste0(year,".*")),ignore.case = TRUE)
+
+ if(year==80){
+ cns<-odbcConnectAccess2007(paste0(Settings$HEISRawPath, l))
+ }else{
+ cns<-odbcConnectAccess2007(paste0(Settings$HEISRawPath, l))
+ }
+
+ tbls <- data.table(sqlTables(cns))[TABLE_TYPE=="TABLE",]$TABLE_NAME
+
+ head(sqlTables(cns),10)
+
+ if(year <=86){
+ Q <- "Select Address from "
+ utbl <- tbls[grepl("U\\d\\dP2",tbls)]
+ rtbl <- tbls[grepl("R\\d\\dP2",tbls)]
+ }else{
+ Q <- "Select Address, MahMorajeh from "
+ utbl <- tbls[grepl("U\\d\\dData",tbls)]
+ rtbl <- tbls[grepl("R\\d\\dData",tbls)]
+ }
+
+ if(year==80){
+ cns2 <-
+ }
+ U <- data.table(sqlQuery(cns,paste0(Q,utbl)))
+ R <- data.table(sqlQuery(cns,paste0(Q,rtbl)))
+ d <- sqlFetch(cns,rtbl)
+
+ tbls <- sqlTables(cns)
+ tbl <- tbls[10,3]
+ RD <- sqlQuery(cns,paste0("Select Address from ",tbl))
+ RD <- sqlQuery(cns,paste0("Select Address from [",tbl,"]"))
+ sqlQuery(cns, paste0("SELECT COUNT(*) AS n FROM [",tbl,"]"))
+ head(RD)
+
+ close(cns)
+
+ U <- U[, lapply(.SD, as.numeric)]
+ R <- R[, lapply(.SD, as.numeric)]
+
+ U[,Region:=factor(x="Urban",levels=c("Urban","Rural"),
+ labels=c("Urban","Rural"))]
+ R[,Region:=factor(x="Rural",levels=c("Urban","Rural"),
+ labels=c("Urban","Rural"))]
+
+ HHBase <- rbind(R,U)
+ setnames(HHBase,"Address","HHID")
+
+ setkey(HHBase,HHID)
+
+ HHBase[,Quarter:=as.numeric(HHID %% 10000 %/% 1000)]
+ if(year <=86){
+ HHBase[,Month:=NA_integer_]
+ }else{
+ HHBase[,Month:=ifelse(MahMorajeh==1,12,MahMorajeh-1)]
+ HHBase[,MahMorajeh:=NULL]
+ }
+ cat(nrow(U),nrow(R))
+
+ W <- AllWeights[Year==year,c("HHID","Weight"),with=FALSE]
+ setkey(W,HHID)
+
+ HHBase <- merge(HHBase,W,all.x = T,by="HHID")
+ save(HHBase,year,file=paste(Settings$HEISDataPath,"Y",year,"HHBase.rda",sep=""))
+}
+
+
+# For Years 1363 to 1386 ----------------------------------------------
+for(year in 63:86)
+{
+ cat(paste0("\n------------------------------\nYear:",year,"\n"))
+ if(year %in% 63:75){
+ UD <- data.table(read.dbf(paste0(Settings$HEISSummaryPath,"1363-1375/U",year,"_SUM.DBF",sep=""),as.is = TRUE))[,c("ZONE","OSTAN","HOUSEHOLD"),with=FALSE]
+ RD <- data.table(read.dbf(paste("../DataSummary/1363-1375/R",year,"_SUM.DBF",sep=""),as.is = TRUE))[,c("ZONE","OSTAN","HOUSEHOLD"),with=FALSE]
+ }else if(year %in% c(76:86)){
+ if(year==76){
+ Query <-"Select R_U, OSTAN, BLOCK, KHANEVAR from [Sum"
+ }else if(year %in% 77:82){
+ Query <- "Select R_U, OSTAN, SHAHRESTAN, BLOCK, KHANEVAR from [Sum"
+ }else if(year %in% 83:86){
+ Query <- "Select Address from [Sum"
+ }
+ cnxu <- odbcConnectExcel2007(paste("../DataSummary/13",year,"/SumU",year,".xlsx",sep=""))
+ UD <- data.table(sqlQuery(cnxu,query=paste(Query,"U",year,"$]",sep="")))
+ close(cnxu)
+ cnxr <- odbcConnectExcel2007(paste("../DataSummary/13",year,"/SumR",year,".xlsx",sep=""))
+ RD <- data.table(sqlQuery(cnxr,query=paste(Query,"R",year,"$]",sep="")))
+ close(cnxr)
+ rm(cnxr,cnxu)
+ }
+
+ UD <- UD[, lapply(.SD, as.numeric)]
+ RD <- RD[, lapply(.SD, as.numeric)]
+
+
+ UD[,Region:=factor(x="Urban",levels=c("Urban","Rural"),
+ labels=c("Urban","Rural"))]
+ RD[,Region:=factor(x="Rural",levels=c("Urban","Rural"),
+ labels=c("Urban","Rural"))]
+
+ cat(nrow(UD),", ",nrow(RD))
+
+ HHBase <- rbind(RD,UD)
+ if(year %in% 63:75)
+ {
+ HHBase[,HHID:=as.numeric(paste(ZONE,sprintf("%02d", OSTAN),sprintf("%04d", HOUSEHOLD),sep=""))]
+ }
+ else if(year==76){
+ HHBase[,HHID:=as.numeric(paste(R_U,sprintf("%02d", OSTAN), KHANEVAR %/% 10000,
+ sprintf("%03d",KHANEVAR %% 1000),sep=""))]
+ }else if(year %in% 77:82){
+ HHBase[,HHID:=as.numeric(paste(R_U,sprintf("%02d", OSTAN), sprintf("%02d", SHAHRESTAN),KHANEVAR %/% 10000,
+ sprintf("%03d",KHANEVAR %% 1000),sep=""))]
+ }else if(year %in% 83:86){
+ setnames(HHBase,"Address","HHID")
+ }
+
+ HHBase[,Year:=year]
+ HHBase[,Quarter:=as.numeric(HHID %% 10000 %/% 1000)]
+ if(year==74)
+ HHBase[,Quarter:=as.numeric(HHID %% 100000 %/% 10000)]
+ HHBase[,Month:=NA_integer_]
+
+ HHBase <- HHBase[,c("HHID","Region","Year","Quarter","Month"),with=FALSE]
+
+# save(HHBase,year,file=paste("Data/Y",year,"HHBase.rda",sep=""))
+}
+
+# For Years 1387 to 1392 ----------------------------------------------
+for (year in 87:92)
+{
+ cat(paste0("\n------------------------------\nYear:",year,"\n"))
+ cns<-odbcConnectAccess2007(paste("../DataRAW/",year,".mdb",sep=""))
+ U <- data.table(sqlQuery(cns,paste("Select Address, MahMorajeh from U",year,ifelse(year>=92,"Data",""),sep="")))
+ R <- data.table(sqlQuery(cns,paste("Select Address, MahMorajeh from R",year,ifelse(year>=92,"Data",""),sep="")))
+ close(cns)
+
+ U <- U[, lapply(.SD, as.numeric)]
+ R <- R[, lapply(.SD, as.numeric)]
+
+ setnames(U,c("HHID","Month"))
+ setnames(R,c("HHID","Month"))
+
+ cnxu <- odbcConnectExcel2007(paste("../DataSummary/13",year,"/SumU",year,".xlsx",sep=""))
+ UD <- data.table(sqlQuery(cnxu,query=paste("Select Address from [SumU",year,"$]",sep="")))
+ close(cnxu)
+ cnxr <- odbcConnectExcel2007(paste("../DataSummary/13",year,"/SumR",year,".xlsx",sep=""))
+ RD <- data.table(sqlQuery(cnxr,query=paste("Select Address from [SumR",year,"$]",sep="")))
+ close(cnxr)
+
+ UD <- UD[, lapply(.SD, as.numeric)]
+ RD <- RD[, lapply(.SD, as.numeric)]
+
+ setnames(UD,"HHID")
+ setnames(RD,"HHID")
+
+ rm(cns,cnxr,cnxu)
+
+ U <- U[HHID %in% UD$HHID,]
+ R <- R[HHID %in% RD$HHID,]
+
+ cat(nrow(UD),", ",nrow(RD))
+ rm(UD,RD)
+
+ U[,Region:=factor(x="Urban",levels=c("Urban","Rural"),
+ labels=c("Urban","Rural"))]
+ R[,Region:=factor(x="Rural",levels=c("Urban","Rural"),
+ labels=c("Urban","Rural"))]
+
+
+ HHBase <- rbind(U,R)
+ rm(U,R)
+
+ HHBase[,Year:=year]
+ HHBase[,Month:=ifelse(Month==1,12,Month - 1)]
+ HHBase[,Quarter:=(Month-1)%/%3+1]
+
+ HHBase <- HHBase[,c("HHID","Region","Year","Quarter","Month"),with=FALSE]
+
+ save(HHBase,year,file=paste("Data/Y",year,"HHBase.rda",sep=""))
+}
+
+endtime <- proc.time()
+
+cat("\n\n============================\n============================\nIt took ")
+cat(endtime-starttime)
diff --git a/R/Archive/03.1-NonMatching.R b/R/Archive/03.1-NonMatching.R
new file mode 100644
index 00000000..d2f40f10
--- /dev/null
+++ b/R/Archive/03.1-NonMatching.R
@@ -0,0 +1,46 @@
+# 03.1-NonMatching
+# Print the info on non-matching HH weights
+#
+# Copyright © 2017: Majid Einian
+# Licence: GPL-3
+
+rm(list=ls())
+
+starttime <- proc.time()
+cat("\n\n================ NonMatching ===================================\n")
+
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+#library(foreign)
+library(data.table)
+library(stringr)
+
+load(Settings$weightsFile)
+RegionWeights <- data.table(read_excel(Settings$MetaDataFilePath,sheet=Settings$MDS_Rough_Weights))
+
+for(year in (Settings$startyear:Settings$endyear)){
+
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"HHBase.rda"))
+
+ D <- copy(HHBase)
+
+ W <- AllWeights[Year==year]
+ W[,Year:=NULL]
+ W_Rough <- RegionWeights[Year==year]
+ W_Rough <- W_Rough[,list(Region,Weight)]
+ if(nrow(W)==0){
+ D <- merge(D,W_Rough,by="Region", all.x = TRUE)
+ }else{
+ D <- merge(D,W,by="HHID", all.x = TRUE)
+ }
+
+ cat("\n",year,":",nrow(D),
+ ",",nrow(D[!is.na(Weight)]),
+ ",",nrow(D[is.na(Weight)]))
+}
+
+endtime <- proc.time()
+
+cat("\n\n============================\nIt took ")
+cat(endtime-starttime)
diff --git a/R/Archive/10.1-SampleSize.R b/R/Archive/10.1-SampleSize.R
new file mode 100644
index 00000000..7210ec5b
--- /dev/null
+++ b/R/Archive/10.1-SampleSize.R
@@ -0,0 +1,41 @@
+# 04.1-SampleSize.R
+# Print the Urban/Rural Sample Size for all years
+#
+# Copyright © 2017: Majid Einian
+# Licence: GPL-3
+
+rm(list=ls())
+
+starttime <- proc.time()
+cat("\n\n================ SampleSize ===================================\n")
+
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+#library(foreign)
+library(data.table)
+library(stringr)
+
+# BigD <- data.table(HHID=NA,Region=NA,Year=NA,Quarter=NA,Month=NA,ProvinceCode=NA)[0]
+
+
+for(year in (Settings$startyear:Settings$endyear))
+{
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"HHI.rda"))
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"HHBase.rda"))
+ D <- merge(HHBase,HHI, by="HHID")
+
+ cat("\n",year,",",nrow(D),
+ ",",nrow(D[Region=="Rural"]),
+ ",",nrow(D[Region=="Urban"]),
+ ",",sum(D$Size),
+ ",",sum(D[Region=="Rural"]$Size),
+ ",",sum(D[Region=="Urban"]$Size))
+
+ #rm(HHBase)
+}
+
+endtime <- proc.time()
+
+cat("\n\n============================\nIt took ")
+cat(endtime-starttime)
diff --git a/R/Archive/112-lactating women.R b/R/Archive/112-lactating women.R
new file mode 100644
index 00000000..d5e9a13c
--- /dev/null
+++ b/R/Archive/112-lactating women.R
@@ -0,0 +1,148 @@
+#112-lactating women.R
+#build a column that identifies lactating women
+
+#zahra shahidi
+#2019
+
+rm(list=ls())
+
+starttime <- proc.time()
+cat("\n\n================ lactating women =====================================\n")
+
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+library(readxl)
+library(stringr)
+library(data.table)
+library(stringr)
+
+P1Cols <- data.table(read_excel(Settings$MetaDataFilePath, Settings$MDS_P1Cols))
+
+
+
+for(year in (Settings$startyear:Settings$endyear)){
+ cat(paste0("\n------------------------------\nYear:",year,"\n"))
+
+ load(file=paste0(Settings$HEISRawPath,"Y",year,"Raw.rda"))
+ FoodTables <- data.table(read_excel(Settings$MetaDataFilePath,sheet=Settings$MDS_Food))
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"HHBase.rda"))
+ load(file=paste0(Settings$HEISWeightsPath,Settings$HEISWeightFileName,year,".rda"))
+ HHWeights<- as.data.table(HHWeights)
+ HHWeights>-HHWeights[,HHID:=as.numeric(HHID)]
+ HHWeights[,Year:=NULL]
+
+ P1 <- rbind(Tables[[paste0("R",year,"P1")]],Tables[[paste0("U",year,"P1")]])
+ nP1 <- names(P1)
+ if(length(which(sapply(P1, is.character)))>0){
+ P1c <- P1[,lapply(.SD,iconv,"WINDOWS-1252","UTF-8"), .SDcols=sapply(P1,is.character)]
+ P1nc <- P1[,!sapply(P1,is.character),with=FALSE]
+ P1 <- cbind(P1c,P1nc)[,nP1,with=FALSE]
+ }
+
+ a <- unlist(P1Cols[P1Cols$Year==year,])
+ ind <- which(!is.na(a))[-1]
+ setnames(P1,a[ind],names(a[ind]))
+
+ f <- function(x){as.numeric(str_trim(x))}
+ P1 <- P1[, lapply(.SD, f)]
+
+
+
+ P1[,Relationship :=factor(Relationship, levels=1:9,
+ labels=c("Head","Spouse","Child","Child-in-Law",
+ "Grand-Child","Parent","Sister/Brother",
+ "Other Family","Non-Family"))]
+
+ P1[,Sex := factor(Sex, levels=1:2,
+ labels=c("Male","Female"))]
+
+
+
+ P <- copy(P1)
+
+ P <- P[order(P$HHID),]
+
+ B <- P[IndivNo==1]
+ setnames(B,2:length(B),sapply(X=names(B)[2:length(B)],function(X){paste("H",X,sep="")}))
+ B <- B[order(HHID,HIndivNo)]
+ B <- B[!duplicated(B$HHID),]
+
+
+ P[,Size:=1]
+ P[,NKids:=ifelse(Age<18,1,0)]
+
+ P[,NInfants:=ifelse(Age<=2,1,0)]
+
+ if(year %in% 83:84){
+ for (col in c("Age"))
+ P[is.na(get(col)),(col):=0]
+ }
+
+ P[,NInfants0:=ifelse(Age==0,1,0)]
+
+ P[,NSmallKids:=ifelse(Age>=3 & Age<=13, 1, 0)]
+
+
+ PSum <- P[,lapply(.SD,sum,na.rm=TRUE),
+ .SDcols=c("Size","NInfants0"),
+ by="HHID"]
+ HHI <- merge(B,PSum,by="HHID")
+
+
+ ft <- FoodTables[Year == year]
+ tab <- ft$Table
+ if (is.na(tab))
+ next
+ UTF <- Tables[[paste0("U",year,tab)]]
+ RTF <- Tables[[paste0("R",year,tab)]]
+ TF <- rbind(UTF,RTF)
+ for(n in names(TF)){
+ x <- which(ft==n)
+ if(length(x)>0)
+ setnames(TF,n,names(ft)[x])
+ }
+ pcols <- intersect(names(TF),c("HHID","Code","FoodExpenditure"))
+ TF <- TF[,pcols,with=FALSE]
+ if(year %in% 83:98){
+ TF <- TF[Code ==11413]
+ TF[,FoodExpenditure:=as.numeric(FoodExpenditure)]
+ }else if(year %in% 69:82){
+ TF <- TF[Code ==13137]
+ TF[,FoodExpenditure:=as.numeric(FoodExpenditure)]
+ }
+
+ TF[,Code:=NULL]
+ TF[is.na(TF)] <- 0
+ TF <- TF[,lapply(.SD,sum),by=HHID]
+ TFL<-merge(HHI,TF,by="HHID", all.x = T)
+ for (col in c("FoodExpenditure"))
+ TFL[is.na(get(col)), (col) := 0]
+ TFL<-TFL[,lactating:=ifelse(NInfants0>0 & FoodExpenditure==0,1,0)]
+ lactating<-TFL[,.(HHID,lactating)]
+
+ TFL<-merge(TFL,HHWeights,by="HHID",all = T)
+ TFL<-merge(TFL,HHBase[,.(HHID,ProvinceCode,NewArea_Name)],by="HHID", all.x = T)
+ TFL<-TFL[,lac:=sum(lactating*Weight),by="ProvinceCode"]
+ TFL<-TFL[,infants0:=ifelse(NInfants0>0,1,0)]
+ TFL<-TFL[,inf:=sum(infants0*Weight), by="ProvinceCode"]
+ TFL<-TFL[,sahm:=lac/inf]
+ostan<-TFL[!duplicated(TFL$ProvinceCode),.(ProvinceCode,sahm,NewArea_Name)]
+
+TFL<-TFL[,lac_kol:=sum(lactating*Weight)]
+TFL<-TFL[,inf_kol:=sum(infants0*Weight)]
+sh<-TFL[!duplicated(TFL$lac_kol)]
+shirdeh<-sh$lac_kol/sh$inf_kol
+
+
+
+save(lactating,file = paste0(Settings$HEISProcessedPath,"Y",year,"lactating.rda"))
+cat(lactating[,mean(lactating)],"\n")
+cat(shirdeh,"\n")
+}
+
+
+
+endtime <- proc.time()
+cat("\n\n============================\nIt took ")
+cat(endtime-starttime)
diff --git a/R/Archive/142-Buying and Using of durable goods.R b/R/Archive/142-Buying and Using of durable goods.R
new file mode 100644
index 00000000..36c62384
--- /dev/null
+++ b/R/Archive/142-Buying and Using of durable goods.R
@@ -0,0 +1,156 @@
+# 142-Buying and Using of durable goods.R
+# Builds the House Properties data.table for households
+#
+# Copyright © 2020:Arin Shahbazian
+# Licence: GPL-3
+
+rm(list=ls())
+
+starttime <- proc.time()
+cat("\n\n================ Buying and Using of durable goods =====================================\n")
+
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+library(foreign)
+library(data.table)
+library(stringr)
+library(readxl)
+library(ggplot2)
+library(spatstat)
+library(scales)
+
+###########################################################
+######Copy code files from TotalDurable folder######
+#####################to Data Processed folder##############
+#########################################################
+
+Table<-data.table(Year=NA_integer_,Auto=NA_real_,Mobile=NA_real_,
+ Refrigerator=NA_real_,TV=NA_real_)[0]
+
+Dep<-data.table(Year=NA_integer_, Buy=NA_real_,Use=NA_real_)[0]
+
+years <- Settings$startyear:Settings$endyear
+
+for(year in Settings$startyear:Settings$endyear){
+ cat(paste0("\n------------------------------\nYear:",year,"\n"))
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"HHHouseProperties.rda"))
+
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"TotalDurable.rda"))
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"HHBase.rda"))
+ load(file=paste0(Settings$HEISWeightsPath,Settings$HEISWeightFileName,year,".rda"))
+ HHWeights<- as.data.table(HHWeights)
+ HHWeights<-HHWeights[,HHID:=as.numeric(HHID)]
+ HHHouseProperties<-merge(HHHouseProperties,HHWeights)
+ HHHouseProperties<-merge(HHHouseProperties,HHBase)
+ HHHouseProperties<-merge(HHHouseProperties,TotalDurable)
+
+ X <- HHHouseProperties[,.(Auto=weighted.mean(`71117`>0 | `71111`>0 |
+ `71112`>0 | `71116`>0 ,Weight),
+ Mobile=weighted.mean(`82113`>0,Weight),
+ Refrigerator=weighted.mean(`53111`>0 | `53112`>0,Weight),
+ TV=weighted.mean(`91128`>0 |
+ `91129`>0,Weight))]
+ X[,Year:=year]
+ Table <- rbind(Table,X)
+
+ HHHouseProperties[,weighted.mean(car=="True",Weight)]
+ HHHouseProperties[,weighted.mean(`71117`>0 | `71111`>0 |
+ `71112`>0 | `71116`>0 ,Weight)]
+ # X1 <- HHHouseProperties[,.(Use=weighted.mean(car=="True",Weight),
+ # Buy=weighted.mean(`71117`>0 | `71111`>0 |
+ # `71112`>0 | `71116`>0 ,Weight))]
+ # X1[,Year:=year]
+ # Dep <- rbind(Dep,X1)
+
+ # HHHouseProperties[,weighted.mean(motorcycle=="True",Weight)]
+# HHHouseProperties[,weighted.mean(`71211`>0 ,Weight)]
+
+
+ # HHHouseProperties[,weighted.mean(bike=="True",Weight)]
+ #HHHouseProperties[,weighted.mean(`71311`>0 ,Weight)]
+
+ #HHHouseProperties[,weighted.mean(radio=="True",Weight)]
+ #HHHouseProperties[,weighted.mean(cassette=="True",Weight)]
+ #HHHouseProperties[,weighted.mean(Zabtesot>0 ,Weight)]
+
+
+ # HHHouseProperties[,weighted.mean(tvbw=="True",Weight)]
+ #HHHouseProperties[,weighted.mean(TV_SS>0 ,Weight)]
+
+
+
+ HHHouseProperties[,weighted.mean(tvcr=="True",Weight)]
+ HHHouseProperties[,weighted.mean(`91128`>0 |
+ `91129`>0 ,Weight)]
+ # X1 <- HHHouseProperties[,.(Use=weighted.mean(tvcr=="True",Weight),
+ # Buy=weighted.mean(`91128`>0 |
+ # `91129`>0 ,Weight))]
+ # X1[,Year:=year]
+ # Dep <- rbind(Dep,X1)
+
+ # HHHouseProperties[,weighted.mean(vcr=="True",Weight)]
+ #HHHouseProperties[,weighted.mean(Video_Player>0 ,Weight)]
+
+ HHHouseProperties[,weighted.mean(computer=="True",Weight)]
+ HHHouseProperties[,weighted.mean(`91311`>0 ,Weight)]
+
+ HHHouseProperties[,weighted.mean(cellphone=="True",Weight)]
+ HHHouseProperties[,weighted.mean(`82113`>0 ,Weight)]
+ X1 <- HHHouseProperties[,.(Use=weighted.mean(cellphone=="True",Weight),
+ Buy=weighted.mean(`82113`>0 ,Weight))]
+ X1[,Year:=year]
+ Dep <- rbind(Dep,X1)
+
+ HHHouseProperties[,weighted.mean(freezer=="True",Weight)]
+ HHHouseProperties[,weighted.mean(frez_refrig=="True",Weight)]
+ HHHouseProperties[,weighted.mean(`53112`>0 ,Weight)]
+
+ HHHouseProperties[,weighted.mean(refrigerator=="True",Weight)]
+ HHHouseProperties[,weighted.mean(`53111`>0 ,Weight)]
+
+ # X1 <- HHHouseProperties[,.(Use=weighted.mean(freezer=="True" |
+ # refrigerator=="True" |
+ # frez_refrig=="True",Weight),
+ # Buy=weighted.mean(`53112`>0 |
+ # `53111`>0 ,Weight))]
+ # X1[,Year:=year]
+ # Dep <- rbind(Dep,X1)
+
+ HHHouseProperties[,weighted.mean(oven=="True",Weight)]
+ # HHHouseProperties[,weighted.mean(Microwave=="True",Weight)]
+ HHHouseProperties[,weighted.mean(`53116`>0 ,Weight)]
+ # X1 <- HHHouseProperties[,.(Use=weighted.mean(oven=="True" ,Weight),
+ # Buy=weighted.mean(OjaghGaz>0 ,Weight))]
+ # X1[,Year:=year]
+ # Dep <- rbind(Dep,X1)
+
+ #HHHouseProperties[,weighted.mean(vacuum=="True",Weight)]
+ #HHHouseProperties[,weighted.mean(Jaroobarghi>0 ,Weight)]
+
+ HHHouseProperties[,weighted.mean(washer=="True",Weight)]
+ HHHouseProperties[,weighted.mean(dishwasher=="True",Weight)]
+ HHHouseProperties[,weighted.mean(`53113`>0,Weight)]
+ # X1 <- HHHouseProperties[,.(Use=weighted.mean(washer=="True" |
+ # dishwasher=="True",Weight),
+ # Buy=weighted.mean(Mashin_Lebasshooyi>0 ,Weight))]
+ # X1[,Year:=year]
+ # Dep <- rbind(Dep,X1)
+
+ # HHHouseProperties[,weighted.mean(sewing=="True",Weight)]
+ # HHHouseProperties[,weighted.mean(Charkh_Khayati>0,Weight)]
+
+ #HHHouseProperties[,weighted.mean(fan=="True",Weight)]
+ #HHHouseProperties[,weighted.mean(cooler_water_movable=="True",Weight)]
+ #HHHouseProperties[,weighted.mean(Panke>0 ,Weight)]
+
+ HHHouseProperties[,weighted.mean(cooler_gas_movable=="True",Weight)]
+ HHHouseProperties[,weighted.mean(`53125`>0,Weight)]
+
+}
+
+
+
+endtime <- proc.time()
+cat("\n\n============================\nIt took ")
+cat(endtime-starttime)
diff --git a/R/Archive/154- Food Prices.R b/R/Archive/154- Food Prices.R
new file mode 100644
index 00000000..afc19f43
--- /dev/null
+++ b/R/Archive/154- Food Prices.R
@@ -0,0 +1,53 @@
+#163- Step 3.R
+#
+# Copyright © 2018: Majid Einian & Arin Shahbazian
+# Licence: GPL-3
+
+rm(list=ls())
+
+starttime <- proc.time()
+cat("\n\n================ Food Prices =====================================\n")
+
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+library(readxl)
+library(stringr)
+library(data.table)
+library(ggplot2)
+library(spatstat)
+
+for(year in (Settings$startyear:Settings$endyear)){
+ cat(paste0("\n------------------------------\nYear:",year,"\n"))
+
+ # load data --------------------------------------
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"TotalFoodNonDurable.rda"))
+
+ FoodPrices<-TotalFoodNonDurable[,.(HHID,
+ LavashPrice,BarbariPrice,TaftoonPrice, Bread_FantasyPrice,
+ Rice_TaromPrice,Rice_Khareji2Price,Rice_DomsiahPrice, Rice_AshPrice,
+ MacaroniPrice,
+ AdasPrice, Loobia_ChitiPrice, Loobia_GhermezPrice, NokhodPrice,
+ SibzaminiPrice,
+ Sabzi_KhordanPrice, Sabzi_AshPrice, KahooPrice,KhiarPrice,
+ Banana_CoconutPrice,CherryPrice,ApplePrice,OrangePrice,
+ CowMeatPrice,SheepMeatPrice,
+ PoultryMeat_MPrice,
+ Fish_North_FreshPrice,Fish_South_FreshPrice,Fish_ConservedPrice,
+ Egg_MashinPrice,
+ Milk_PasteurizedPrice, Yogurt_PasturizedPrice,CreamPrice,
+ Cheese_PasturizedPrice,Cheese_NonPasturizedPrice,
+ Oil_NabatiPrice,Oil_AnimalPrice,Butter_Animal_PasturizedPrice,Butter_NonAnimalPrice,
+ GhandPrice,ShekarPrice,
+ KeshmeshPrice,TokhmePrice,NokhodchiPrice,PistachioPrice
+ )]
+
+ FoodPrices[FoodPrices == 0] <- NA
+
+save(FoodPrices,file=paste0(Settings$HEISProcessedPath,"Y",year,"FoodPrices.rda"))
+
+}
+
+endtime <- proc.time()
+cat("\n\n============================\nIt took ")
+cat(endtime-starttime)
\ No newline at end of file
diff --git a/R/Archive/166 other- October2020/166-Step6-FoodPoorMinPrice.R b/R/Archive/166 other- October2020/166-Step6-FoodPoorMinPrice.R
new file mode 100644
index 00000000..9457fe06
--- /dev/null
+++ b/R/Archive/166 other- October2020/166-Step6-FoodPoorMinPrice.R
@@ -0,0 +1,98 @@
+# 166-Step6-FoodPoor.R: Calculate base year basket cost in current year prices
+# for each cluster. and find FoodPoor
+#
+# Copyright © 2019-2020: Arin Shahbazian & Majid Einian
+# Licence: GPL-3
+
+rm(list=ls())
+starttime <- proc.time()
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+library(readxl)
+library(data.table)
+library(spatstat)
+library(tidyr)
+year<-Settings$baseBundleyear
+
+load(file=paste0(Settings$HEISProcessedPath,"Y",year,"InitialPoorClustered.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y",year,"BigFData.rda"))
+
+MD[,Selected_Group:=ifelse((Region=="Urban" & Decile==3) |
+ (Region=="Rural" & Decile==2),1,0)]
+
+Bfd2 <- data.table(expand.grid(HHID=MD$HHID,FoodType=unique(BigFData$FoodType)))
+Bfd2 <- merge(Bfd2,BigFData,all.x = TRUE)
+Bfd2 <- merge(Bfd2,MD[,.(HHID,Region,Weight,Size,
+ EqSizeCalory,Selected_Group)],by="HHID")
+Bfd2[is.na(Bfd2)]<-0
+Bfd2[Price<0.1,Price:=NA]
+
+BaseYearBasket <- Bfd2[Selected_Group==1,
+ .(FGramspc=weighted.mean(FGrams/EqSizeCalory,Weight*Size),
+ FKCalspc=weighted.mean(FoodKCalories/EqSizeCalory,Weight*Size)),
+ by=.(FoodType,Region)]
+BaseYearBasket[,BasketCals:=sum(FKCalspc),by=Region]
+BaseYearBasket[,StandardFGramspc:=FGramspc*Settings$KCaloryNeed_Adult_WorldBank/BasketCals]
+
+for(year in (Settings$startyear:Settings$endyear)){
+ cat(paste0("\n------------------------------\nYear:",year,"\n"))
+
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"InitialPoorClustered.rda"))
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"FoodPrices.rda"))
+ load( file = paste0(Settings$HEISProcessedPath,"Y",year,"BigFData.rda"))
+
+ MD<-merge(MD,FoodPrices,all.x=TRUE,by="HHID")
+
+ MD[,NewPoor:=InitialPoor]
+ MD[,OldPoor:=1]
+
+
+ #i <- 0
+ #while(MD[(NewPoor-OldPoor)!=0,.N]>0.001*nrow(MD[NewPoor==1]) & i <=15){
+ # cat(nrow(MD[NewPoor==1]))
+ # i <- i + 1
+ MD[,ThisIterationPoor:=NewPoor]
+ # MD[,FPLine:=NULL]
+ MD[,Selected_Group:=ifelse((Decile==1) | (Decile==2) | (Decile==3) | (Decile==4),1,0)]
+ MDP <- MD [Selected_Group==1,
+ .(Bread=min(weighted.mean(LavashPrice,Weight,na.rm = TRUE),weighted.mean(BarbariPrice,Weight,na.rm = TRUE),weighted.mean(TaftoonPrice,Weight,na.rm = TRUE),weighted.mean(Bread_FantasyPrice,Weight,na.rm = TRUE),na.rm = TRUE),
+ Rice=min(weighted.mean(Rice_TaromPrice,Weight,na.rm = TRUE),weighted.mean(Rice_AshPrice,Weight,na.rm = TRUE),weighted.mean(Rice_Khareji2Price,Weight,na.rm = TRUE),weighted.mean(Rice_DomsiahPrice,Weight,na.rm = TRUE),na.rm = TRUE),
+ Spaghetti=min(weighted.mean(MacaroniPrice,Weight,na.rm = TRUE),na.rm = TRUE),
+ Beans=min(weighted.mean(AdasPrice,Weight,na.rm = TRUE),weighted.mean(Loobia_ChitiPrice,Weight,na.rm = TRUE),weighted.mean(Loobia_GhermezPrice,Weight,na.rm = TRUE),weighted.mean(NokhodPrice,Weight,na.rm = TRUE),na.rm = TRUE),
+ Vegetables=min(weighted.mean(Sabzi_KhordanPrice,Weight,na.rm = TRUE),weighted.mean(Sabzi_AshPrice,Weight,na.rm = TRUE),weighted.mean(KahooPrice,Weight,na.rm = TRUE),weighted.mean(KhiarPrice,Weight,na.rm = TRUE),na.rm = TRUE),
+ Potato=min(weighted.mean(SibzaminiPrice,Weight,na.rm = TRUE),na.rm = TRUE),
+ Fruit=min(weighted.mean(Banana_CoconutPrice,Weight,na.rm = TRUE),weighted.mean(CherryPrice,Weight,na.rm = TRUE),weighted.mean(OrangePrice,Weight,na.rm = TRUE),weighted.mean(ApplePrice,Weight,na.rm = TRUE),na.rm = TRUE),
+ Meat=min(weighted.mean(CowMeatPrice,Weight,na.rm = TRUE),weighted.mean(SheepMeatPrice,Weight,na.rm = TRUE),na.rm = TRUE),
+ Chicken=min(weighted.mean(PoultryMeat_MPrice,Weight,na.rm = TRUE),na.rm = TRUE),
+ Fish=min(weighted.mean(Fish_North_FreshPrice,Weight,na.rm = TRUE),weighted.mean(Fish_South_FreshPrice,Weight,na.rm = TRUE),weighted.mean(Fish_ConservedPrice,Weight,na.rm = TRUE),na.rm = TRUE),
+ Egg=min(weighted.mean(Egg_MashinPrice,Weight,na.rm = TRUE),na.rm = TRUE),
+ Milk=min(weighted.mean(Milk_PasteurizedPrice,Weight,na.rm = TRUE),na.rm = TRUE),
+ Yogurt=min(weighted.mean(Yogurt_PasturizedPrice,Weight,na.rm = TRUE),na.rm = TRUE),
+ Cheese=min(weighted.mean(Cheese_PasturizedPrice,Weight,na.rm = TRUE),weighted.mean(Cheese_NonPasturizedPrice,Weight,na.rm = TRUE),na.rm = TRUE),
+ Oil=min(weighted.mean(Oil_NabatiPrice,Weight,na.rm = TRUE),weighted.mean(Oil_AnimalPrice,Weight,na.rm = TRUE),weighted.mean(Butter_NonAnimalPrice,Weight,na.rm = TRUE),weighted.mean(Butter_Animal_PasturizedPrice,Weight,na.rm = TRUE),na.rm = TRUE),
+ Nuts=min(weighted.mean(KeshmeshPrice,Weight,na.rm = TRUE),weighted.mean(TokhmePrice,Weight,na.rm = TRUE),weighted.mean(PistachioPrice,Weight,na.rm = TRUE),weighted.mean(NokhodchiPrice,Weight,na.rm = TRUE),na.rm = TRUE),
+ Sugar=min(weighted.mean(GhandPrice,Weight,na.rm = TRUE),weighted.mean(ShekarPrice,Weight,na.rm = TRUE),na.rm = TRUE)),
+ by=.(cluster3,Region)]
+
+ #Bfd2[is.na(Bfd2)]<-0
+ #Bfd2[Price<0.1,Price:=NA]
+ # Basket <- Bfd2[Selected_Group==1,
+ # .(FGramspc=weighted.mean(FGrams/EqSizeCalory,Weight*Size)),
+ # by=.(FoodType,cluster3)]
+ MDP2 <- gather(MDP, FoodType, Price, Bread:Sugar, factor_key=TRUE)
+
+ BasketCost <- merge(BaseYearBasket,MDP2,by=c("FoodType","Region"),all.x = T)
+ BasketCost[,Cost:=(StandardFGramspc/1000)*Price]
+ FPLineBasket <- BasketCost[,.(FPLine=sum(Cost)),by=cluster3]
+
+ MD <- merge(MD,FPLineBasket,all.x=TRUE,by="cluster3")
+
+ MD[,FoodPoor:=ifelse(TOriginalFoodExpenditure_Per < FPLine,1,0)]
+
+ cat(unlist(MD[cluster3==1,.(FPLine,weighted.mean(FoodPoor))][1]))
+ save(MD,file=paste0(Settings$HEISProcessedPath,"Y",year,"FoodPoor.rda"))
+}
+
+endtime <- proc.time()
+cat("\n\n============================\nIt took",
+ (endtime-starttime)["elapsed"]," seconds")
\ No newline at end of file
diff --git a/R/Archive/166 other- October2020/166-sabad95.R b/R/Archive/166 other- October2020/166-sabad95.R
new file mode 100644
index 00000000..58597ff5
--- /dev/null
+++ b/R/Archive/166 other- October2020/166-sabad95.R
@@ -0,0 +1,240 @@
+#703-Bundle 2100\
+# Builds the Food Groups data.table for households
+#
+# Copyright © 2019: Arin Shahbazian
+# Licence: GPL-3
+
+rm(list=ls())
+starttime <- proc.time()
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+library(readxl)
+library(data.table)
+library(ggplot2)
+library(dplyr)
+library(data.table)
+library(stringr)
+library(readxl)
+library(spatstat)
+library(writexl)
+library(tidyr)
+
+OriginalFoodShare <- data.table(Year=NA_integer_,Share=NA_integer_)[0]
+
+year<-Settings$baseBundleyear
+
+load( file = paste0(Settings$HEISProcessedPath,"Y",year,"BigFData.rda"))
+BigFData[is.na(FGrams)]<-0
+goosht<-BigFData[FoodType=="Goosht"]
+goosht<-goosht[,Goosht_Grams:=FGrams*30 ]
+morgh<-BigFData[FoodType=="Morgh"]
+morgh<-morgh[,Morgh_Grams:=FGrams*30 ]
+mive<-BigFData[FoodType=="Mive"]
+mive<-mive[,Mive_Grams:=FGrams*30 ]
+nan<-BigFData[FoodType=="Nan"]
+nan<-nan[,Nan_Grams:=FGrams*30 ]
+sibzamini<-BigFData[FoodType=="Sibzamini"]
+sibzamini<-sibzamini[,Sibzamini_Grams:=FGrams*30 ]
+makarooni<-BigFData[FoodType=="Makarooni"]
+makarooni<-makarooni[,Makarooni_Grams:=FGrams*30 ]
+berenj<-BigFData[FoodType=="Berenj"]
+berenj<-berenj[,Berenj_Grams:=FGrams*30 ]
+hoboobat<-BigFData[FoodType=="Hoboobat"]
+hoboobat<-hoboobat[,Hoboobat_Grams:=FGrams*30 ]
+sabzi<-BigFData[FoodType=="Sabzi"]
+sabzi<-sabzi[,Sabzi_Grams:=FGrams*30 ]
+roghan<-BigFData[FoodType=="Roghan"]
+roghan<-roghan[,Roghan_Grams:=FGrams*30 ]
+ghand<-BigFData[FoodType=="Ghand"]
+ghand<-ghand[,Ghand_Grams:=FGrams*30 ]
+shir<-BigFData[FoodType=="Shir"]
+shir<-shir[,Shir_Grams:=FGrams*30]
+panir<-BigFData[FoodType=="Panir"]
+panir<-panir[,Panir_Grams:=FGrams*30]
+mast<-BigFData[FoodType=="Mast"]
+mast<-mast[,Mast_Grams:=FGrams*30]
+tokhmemorgh<-BigFData[FoodType=="Tokhmemorgh"]
+tokhmemorgh<-tokhmemorgh[,Tokhmemorgh_Grams:=FGrams*30 ]
+mahi<-BigFData[FoodType=="Mahi"]
+mahi<-mahi[,Mahi_Grams:=FGrams*30 ]
+khoshkbar<-BigFData[FoodType=="Khoshkbar"]
+khoshkbar<-khoshkbar[,Khoshkbar_Grams:=FGrams*30 ]
+
+load(file=paste0(Settings$HEISProcessedPath,"Y",year,"InitialPoorClustered.rda"))
+
+MD<-merge(MD,goosht[,.(HHID,Goosht_Grams)],by=c("HHID"),all.x = T)
+MD<-merge(MD,morgh[,.(HHID,Morgh_Grams)],by=c("HHID"),all.x = T)
+MD<-merge(MD,mive[,.(HHID,Mive_Grams)],by=c("HHID"),all.x = T)
+MD<-merge(MD,nan[,.(HHID,Nan_Grams)],by=c("HHID"),all.x = T)
+MD<-merge(MD,sibzamini[,.(HHID,Sibzamini_Grams)],by=c("HHID"),all.x = T)
+MD<-merge(MD,makarooni[,.(HHID,Makarooni_Grams)],by=c("HHID"),all.x = T)
+MD<-merge(MD,berenj[,.(HHID,Berenj_Grams)],by=c("HHID"),all.x = T)
+MD<-merge(MD,hoboobat[,.(HHID,Hoboobat_Grams)],by=c("HHID"),all.x = T)
+MD<-merge(MD,sabzi[,.(HHID,Sabzi_Grams)],by=c("HHID"),all.x = T)
+MD<-merge(MD,roghan[,.(HHID,Roghan_Grams)],by=c("HHID"),all.x = T)
+MD<-merge(MD,ghand[,.(HHID,Ghand_Grams)],by=c("HHID"),all.x = T)
+MD<-merge(MD,shir[,.(HHID,Shir_Grams)],by=c("HHID"),all.x = T)
+MD<-merge(MD,panir[,.(HHID,Panir_Grams)],by=c("HHID"),all.x = T)
+MD<-merge(MD,mast[,.(HHID,Mast_Grams)],by=c("HHID"),all.x = T)
+MD<-merge(MD,tokhmemorgh[,.(HHID,Tokhmemorgh_Grams)],by=c("HHID"),all.x = T)
+MD<-merge(MD,mahi[,.(HHID,Mahi_Grams)],by=c("HHID"),all.x = T)
+MD<-merge(MD,khoshkbar[,.(HHID,Khoshkbar_Grams)],by=c("HHID"),all.x = T)
+MD[,Selected_Group:=ifelse((Region=="Urban" & Decile==3) |
+ (Region=="Rural" & Decile==2),1,0)]
+for (col in c("Nan_Grams","Berenj_Grams","Goosht_Grams"))
+ MD[is.na(get(col)), (col) := 0]
+
+gram <-MD [Selected_Group==1,
+ .(Nan_Grams= weighted.mean(Nan_Grams/EqSizeCalory,Weight*Size,na.rm = TRUE),
+ Berenj_Grams= weighted.mean(Berenj_Grams/EqSizeCalory,Weight*Size,na.rm=TRUE),
+ Makarooni_Grams=weighted.mean(Makarooni_Grams/EqSizeCalory,Weight*Size,na.rm=TRUE),
+ Hoboobat_Grams=weighted.mean(Hoboobat_Grams/EqSizeCalory,Weight*Size,na.rm=TRUE),
+ Sibzamini_Grams=weighted.mean(Sibzamini_Grams/EqSizeCalory,Weight*Size,na.rm=TRUE),
+ Sabzi_Grams=weighted.mean(Sabzi_Grams/EqSizeCalory,Weight*Size,na.rm=TRUE),
+ Mive_Grams=weighted.mean(Mive_Grams/EqSizeCalory,Weight*Size,na.rm=TRUE),
+ Goosht_Grams=weighted.mean(Goosht_Grams/EqSizeCalory,Weight*Size,na.rm=TRUE),
+ Morgh_Grams=weighted.mean(Morgh_Grams/EqSizeCalory,Weight*Size,na.rm=TRUE),
+ Tokhmemorgh_Grams=weighted.mean(Tokhmemorgh_Grams/EqSizeCalory,Weight*Size,na.rm=TRUE),
+ Shir_Grams=weighted.mean(Shir_Grams/EqSizeCalory,Weight*Size,na.rm=TRUE),
+ Mast_Grams=weighted.mean(Mast_Grams/EqSizeCalory,Weight*Size,na.rm=TRUE),
+ Roghan_Grams=weighted.mean(Roghan_Grams/EqSizeCalory,Weight*Size,na.rm=TRUE),
+ Ghand_Grams=weighted.mean(Ghand_Grams/EqSizeCalory,Weight*Size,na.rm=TRUE),
+ Mahi_Grams=weighted.mean(Mahi_Grams/EqSizeCalory,Weight*Size,na.rm = TRUE),
+ Khoshkbar_Grams=weighted.mean(Khoshkbar_Grams/EqSizeCalory,Weight*Size,na.rm = TRUE),
+ Panir_Grams=weighted.mean(Panir_Grams/EqSizeCalory,Weight*Size,na.rm = TRUE)),by=c("Region")]
+
+
+
+for(year in (Settings$startyear:Settings$endyear)){
+ cat(paste0("\n------------------------------\nYear:",year,"\n"))
+
+ # load data --------------------------------------
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"InitialPoorClustered.rda"))
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"FoodPrices.rda"))
+ load( file = paste0(Settings$HEISProcessedPath,"Y",year,"BigFData.rda"))
+
+ MD<-merge(MD,FoodPrices,all.x=TRUE,by="HHID")
+
+ MD[,NewPoor:=InitialPoor]
+ MD[,OldPoor:=1]
+
+
+ #i <- 0
+ #while(MD[(NewPoor-OldPoor)!=0,.N]>0.001*nrow(MD[NewPoor==1]) & i <=15){
+ # cat(nrow(MD[NewPoor==1]))
+ # i <- i + 1
+ MD[,ThisIterationPoor:=NewPoor]
+ # MD[,FPLine:=NULL]
+ MD[,Selected_Group:=ifelse((Decile==1) | (Decile==2) | (Decile==3) | (Decile==4),1,0)]
+ MDP <- MD [Selected_Group==1,
+ .(Nan_Price=min(weighted.mean(LavashPrice,Weight,na.rm = TRUE),weighted.mean(BarbariPrice,Weight,na.rm = TRUE),weighted.mean(TaftoonPrice,Weight,na.rm = TRUE),weighted.mean(Bread_FantasyPrice,Weight,na.rm = TRUE),na.rm = TRUE),
+ Berenj_Price=min(weighted.mean(Rice_TaromPrice,Weight,na.rm = TRUE),weighted.mean(Rice_AshPrice,Weight,na.rm = TRUE),weighted.mean(Rice_Khareji2Price,Weight,na.rm = TRUE),weighted.mean(Rice_DomsiahPrice,Weight,na.rm = TRUE),na.rm = TRUE),
+ Makarooni_Price=min(weighted.mean(MacaroniPrice,Weight,na.rm = TRUE),na.rm = TRUE),
+ Hoboobat_Price=min(weighted.mean(AdasPrice,Weight,na.rm = TRUE),weighted.mean(Loobia_ChitiPrice,Weight,na.rm = TRUE),weighted.mean(Loobia_GhermezPrice,Weight,na.rm = TRUE),weighted.mean(NokhodPrice,Weight,na.rm = TRUE),na.rm = TRUE),
+ Sabzi_Price=min(weighted.mean(Sabzi_KhordanPrice,Weight,na.rm = TRUE),weighted.mean(Sabzi_AshPrice,Weight,na.rm = TRUE),weighted.mean(KahooPrice,Weight,na.rm = TRUE),weighted.mean(KhiarPrice,Weight,na.rm = TRUE),na.rm = TRUE),
+ Sibzamini_Price=min(weighted.mean(SibzaminiPrice,Weight,na.rm = TRUE),na.rm = TRUE),
+ Mive_Price=min(weighted.mean(Banana_CoconutPrice,Weight,na.rm = TRUE),weighted.mean(CherryPrice,Weight,na.rm = TRUE),weighted.mean(OrangePrice,Weight,na.rm = TRUE),weighted.mean(ApplePrice,Weight,na.rm = TRUE),na.rm = TRUE),
+ Goosht_Price=min(weighted.mean(CowMeatPrice,Weight,na.rm = TRUE),weighted.mean(SheepMeatPrice,Weight,na.rm = TRUE),na.rm = TRUE),
+ Morgh_Price=min(weighted.mean(PoultryMeat_MPrice,Weight,na.rm = TRUE),na.rm = TRUE),
+ Mahi_Price=min(weighted.mean(Fish_North_FreshPrice,Weight,na.rm = TRUE),weighted.mean(Fish_South_FreshPrice,Weight,na.rm = TRUE),weighted.mean(Fish_ConservedPrice,Weight,na.rm = TRUE),na.rm = TRUE),
+ Tokhmemorgh_Price=min(weighted.mean(Egg_MashinPrice,Weight,na.rm = TRUE),na.rm = TRUE),
+ Shir_Price=min(weighted.mean(Milk_PasteurizedPrice,Weight,na.rm = TRUE),na.rm = TRUE),
+ Mast_Price=min(weighted.mean(Yogurt_PasturizedPrice,Weight,na.rm = TRUE),na.rm = TRUE),
+ Panir_Price=min(weighted.mean(Cheese_PasturizedPrice,Weight,na.rm = TRUE),weighted.mean(Cheese_NonPasturizedPrice,Weight,na.rm = TRUE),na.rm = TRUE),
+ Roghan_Price=min(weighted.mean(Oil_NabatiPrice,Weight,na.rm = TRUE),weighted.mean(Oil_AnimalPrice,Weight,na.rm = TRUE),weighted.mean(Butter_NonAnimalPrice,Weight,na.rm = TRUE),weighted.mean(Butter_Animal_PasturizedPrice,Weight,na.rm = TRUE),na.rm = TRUE),
+ Khoshkbar_Price=min(weighted.mean(KeshmeshPrice,Weight,na.rm = TRUE),weighted.mean(TokhmePrice,Weight,na.rm = TRUE),weighted.mean(PistachioPrice,Weight,na.rm = TRUE),weighted.mean(NokhodchiPrice,Weight,na.rm = TRUE),na.rm = TRUE),
+ Ghand_Price=min(weighted.mean(GhandPrice,Weight,na.rm = TRUE),weighted.mean(ShekarPrice,Weight,na.rm = TRUE),na.rm = TRUE)),
+ by=.(cluster3,Region)]
+
+ MDP[mapply(is.infinite, MDP)] <- NA
+ MDP<- MDP %>% mutate(Nan_Price = ifelse(is.na(Nan_Price), mean(Nan_Price, na.rm = T), Nan_Price))
+ MDP<- MDP %>% mutate(Berenj_Price = ifelse(is.na(Berenj_Price), mean(Berenj_Price, na.rm = T), Berenj_Price))
+ MDP<- MDP %>% mutate(Makarooni_Price = ifelse(is.na(Makarooni_Price), mean(Makarooni_Price, na.rm = T), Makarooni_Price))
+ MDP<- MDP %>% mutate(Hoboobat_Price = ifelse(is.na(Hoboobat_Price), mean(Hoboobat_Price, na.rm = T), Hoboobat_Price))
+ MDP<- MDP %>% mutate(Sabzi_Price = ifelse(is.na(Sabzi_Price), mean(Sabzi_Price, na.rm = T), Sabzi_Price))
+ MDP<- MDP %>% mutate(Sibzamini_Price = ifelse(is.na(Sibzamini_Price), mean(Sibzamini_Price, na.rm = T), Sibzamini_Price))
+ MDP<- MDP %>% mutate(Mive_Price = ifelse(is.na(Mive_Price), mean(Mive_Price, na.rm = T), Mive_Price))
+ MDP<- MDP %>% mutate(Goosht_Price = ifelse(is.na(Goosht_Price), mean(Goosht_Price, na.rm = T), Goosht_Price))
+ MDP<- MDP %>% mutate(Morgh_Price = ifelse(is.na(Morgh_Price), mean(Morgh_Price, na.rm = T), Morgh_Price))
+ MDP<- MDP %>% mutate(Mahi_Price = ifelse(is.na(Mahi_Price), mean(Mahi_Price, na.rm = T), Mahi_Price))
+ MDP<- MDP %>% mutate(Tokhmemorgh_Price = ifelse(is.na(Tokhmemorgh_Price), mean(Tokhmemorgh_Price, na.rm = T), Tokhmemorgh_Price))
+ MDP<- MDP %>% mutate(Shir_Price = ifelse(is.na(Shir_Price), mean(Shir_Price, na.rm = T), Shir_Price))
+ MDP<- MDP %>% mutate(Mast_Price = ifelse(is.na(Mast_Price), mean(Mast_Price, na.rm = T), Mast_Price))
+ MDP<- MDP %>% mutate(Panir_Price = ifelse(is.na(Panir_Price), mean(Panir_Price, na.rm = T), Panir_Price))
+ MDP<- MDP %>% mutate(Roghan_Price = ifelse(is.na(Roghan_Price), mean(Roghan_Price, na.rm = T), Roghan_Price))
+ MDP<- MDP %>% mutate(Ghand_Price = ifelse(is.na(Ghand_Price), mean(Ghand_Price, na.rm = T), Ghand_Price))
+ MDP<- MDP %>% mutate(Khoshkbar_Price = ifelse(is.na(Khoshkbar_Price), mean(Khoshkbar_Price, na.rm = T), Khoshkbar_Price))
+ MDP<-merge(MDP,gram,by=c("Region"),all.x=TRUE)
+
+ MDP<-as.data.table(MDP)
+ MDP <- MDP[,FPLine:=0.001*((Berenj_Price*Berenj_Grams)+
+ (Nan_Price*Nan_Grams)+
+ (Makarooni_Price*Makarooni_Grams)+
+ (Hoboobat_Price*Hoboobat_Grams)+
+ (Sabzi_Price*Sabzi_Grams)+
+ (Sibzamini_Price*Sibzamini_Grams)+
+ (Mive_Price*Mive_Grams)+
+ (Goosht_Price*Goosht_Grams)+
+ (Morgh_Price*Morgh_Grams)+
+ (Mahi_Price*Mahi_Grams)+
+ (Tokhmemorgh_Price*Tokhmemorgh_Grams)+
+ (Shir_Price*Shir_Grams)+
+ (Mast_Price*Mast_Grams)+
+ (Panir_Price*Panir_Grams)+
+ (Roghan_Price*Roghan_Grams)+
+ (Khoshkbar_Price*Khoshkbar_Grams)+
+ (Ghand_Price*Ghand_Grams))]
+
+ MD <- merge(MD,MDP[,.(Region,cluster3,FPLine)],all.x=TRUE,by=c("Region","cluster3"))
+ # print(MDP)
+ #x<-MD[,.(NewArea,Region,FPLine,InitialPoor)]
+ MD[,NewPoor:=ifelse(TOriginalFoodExpenditure_Per < FPLine,1,0)]
+ #MD[,NewPoor:=ifelse(FoodExpenditure_Per < FPLine,1,0)]
+
+ # print(table(MD[,.(ThisIterationPoor,NewPoor)]))
+ MD[,OldPoor:=ThisIterationPoor]
+
+
+ MD[,FinalFoodPoor:=OldPoor]
+
+ # MD <- MD[,.(HHID,HIndivNo,Region,NewArea,NewArea_Name,cluster3,ProvinceCode,Size,HAge,HSex,Month,ServiceExp,
+ # HLiterate,HEduLevel0,HActivityState,Area,Rooms,MetrPrice,Total_Exp_Month_nondurable,
+ # Total_Exp_Month_Per_nondurable,TOriginalFoodExpenditure_Per,
+ # OriginalFoodExpenditure_Per,FPLine,Weight,Percentile,FinalFoodPoor,
+ # Total_Exp_Month_Per,TFoodKCaloriesHH_Per,TOriginalFoodExpenditure,Total_Exp_Month,
+ # TFoodExpenditure2,Total_Exp_Month_nondurable2,Total_Exp_Month2,
+ # Total_Exp_Month_Per2,
+ # EqSizeOECD,EqSizeCalory,Decile,Bundle_Value)]
+ save(MD,file=paste0(Settings$HEISProcessedPath,"Y",year,"FinalFoodPoor.rda"))
+ MD[,weighted.mean(FinalFoodPoor,Weight)]
+ # MDFinalfood<-MD[,.(HHID,Region,NewArea,cluster3,Percentile,FinalFoodPoor)]
+ # UrbanFinalfood<-MDFinalfood[Region=="Urban"]
+ # RuralFinalfood<-MDFinalfood[Region=="Rural"]
+ # save(UrbanFinalfood, file=paste0(Settings$HEISProcessedPath,"Y",year,"UrbanFinalfood.rda"))
+ # save(RuralFinalfood, file=paste0(Settings$HEISProcessedPath,"Y",year,"RuralFinalfood.rda"))
+ #
+ MD[,weighted.mean(FinalFoodPoor,Weight),by=c("Region","ProvinceCode")][order(Region,ProvinceCode)]
+ MD[,weighted.mean(FinalFoodPoor,Weight),by=cluster3][order(cluster3)]
+ # cat(MD[,weighted.mean(FPLine,Weight)])
+ # cat(MD[cluster3==13,weighted.mean(Calory_Price,Weight)])
+ #cat(MD[cluster3==1,weighted.mean(TOriginalFoodExpenditure_Per,Weight)])
+ x<-MD[,weighted.mean(FPLine,Weight),by="cluster3"]
+
+
+ # cat(MD[,weighted.mean(TOriginalFoodExpenditure_Per,Weight)],"\n")
+ # cat(MD[,weighted.mean(TFoodKCaloriesHH_Per,Weight,na.rm = TRUE)],"\n")
+ # cat(MD[,weighted.mean(Calory_Price,Weight,na.rm = TRUE)],"\n")
+ # cat(MD[cluster3==1,weighted.mean(FPLine,Weight,na.rm = TRUE)],"\n")
+ cat(MD[,weighted.mean(FPLine,Weight*Size,na.rm = TRUE)],"\n")
+
+
+ X1 <- MD[,.(Share=weighted.mean(TOriginalFoodExpenditure/FoodExpenditure,Weight))]
+ X1[,Year:=year]
+
+ OriginalFoodShare <- rbind(OriginalFoodShare,X1)
+}
+
+endtime <- proc.time()
+cat("\n\n============================\nIt took ")
+cat((endtime-starttime)["elapsed"])
+cat(" seconds")
\ No newline at end of file
diff --git a/R/Archive/166/166- Anstitoo bundle.R b/R/Archive/166/166- Anstitoo bundle.R
new file mode 100644
index 00000000..8a73ad97
--- /dev/null
+++ b/R/Archive/166/166- Anstitoo bundle.R
@@ -0,0 +1,98 @@
+#166-Step 6- FoodBasicNeeds.R
+#
+# Copyright © 2018:Majid Einian & Arin Shahbazian
+# Licence: GPL-3
+
+rm(list=ls())
+
+starttime <- proc.time()
+cat("\n\n================ Prepare Data =====================================\n")
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+library(readxl)
+library(data.table)
+library(ggplot2)
+
+for(year in (Settings$startyear:Settings$endyear)){
+ cat(paste0("\n------------------------------\nYear:",year,"\n"))
+
+ # load data --------------------------------------
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"InitialPoorClustered.rda"))
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"FoodPrices.rda"))
+
+ MD<-merge(MD,FoodPrices,all.x=TRUE,by="HHID")
+
+
+ MD[,NewPoor:=InitialPoor]
+ MD[,OldPoor:=1]
+
+ i <- 0
+ while(MD[(NewPoor-OldPoor)!=0,.N]>0.001*nrow(MD[NewPoor==1]) & i <=15){
+ # cat(nrow(MD[NewPoor==1]))
+ i <- i + 1
+ MD[,ThisIterationPoor:=NewPoor]
+ MD[,FPLine:=NULL]
+ MDP <- MD[ThisIterationPoor==1,
+ .(FPLine=0.001*30*0.5*(310*weighted.mean(LavashPrice,Weight,na.rm = TRUE)+
+ 95*weighted.mean(Rice_TaromPrice,Weight,na.rm = TRUE)+
+ 20*weighted.mean(MacaroniPrice,Weight,na.rm = TRUE)+
+ 26*weighted.mean(AdasPrice,Weight,na.rm = TRUE)+
+ 70*weighted.mean(SibzaminiPrice,Weight,na.rm = TRUE)+
+ 300*weighted.mean(Sabzi_KhordanPrice,Weight,na.rm = TRUE)+
+ 280*weighted.mean(Banana_CoconutPrice,Weight,na.rm = TRUE)+
+ 38*weighted.mean(CowMeatPrice,Weight,na.rm = TRUE)+
+ 64*weighted.mean(PoultryMeat_MPrice,Weight,na.rm = TRUE)+
+ 35*weighted.mean(Egg_MashinPrice,Weight,na.rm = TRUE)+
+ 250*weighted.mean(Milk_PasteurizedPrice,Weight,na.rm = TRUE)+
+ 35*weighted.mean(Oil_NabatiPrice,Weight,na.rm = TRUE)+
+ 40*weighted.mean(GhandPrice,Weight,na.rm = TRUE))),
+ by=.(cluster3,Region)]
+ MDP[is.na(MDP)] <- 0
+ min<-MDP[FPLine>0,min(FPLine)]
+ MDP[,FPLine:=ifelse(FPLine==0,min,FPLine)]
+
+ MD <- merge(MD,MDP,by=c("Region","cluster3"))
+ # print(MDP)
+ #x<-MD[,.(NewArea,Region,FPLine,InitialPoor)]
+ MD[,NewPoor:=ifelse(TOriginalFoodExpenditure_Per < FPLine,1,0)]
+ # print(table(MD[,.(ThisIterationPoor,NewPoor)]))
+ MD[,OldPoor:=ThisIterationPoor]
+ }
+
+ MD[,FinalFoodPoor:=OldPoor]
+
+ # MD <- MD[,.(HHID,HIndivNo,Region,NewArea,NewArea_Name,cluster3,ProvinceCode,Size,HAge,HSex,Month,ServiceExp,
+ # HLiterate,HEduLevel0,HActivityState,Area,Rooms,MetrPrice,Total_Exp_Month_nondurable,
+ # Total_Exp_Month_Per_nondurable,TOriginalFoodExpenditure_Per,
+ # OriginalFoodExpenditure_Per,FPLine,Weight,Percentile,FinalFoodPoor,
+ # Total_Exp_Month_Per,TFoodKCaloriesHH_Per,TOriginalFoodExpenditure,Total_Exp_Month,
+ # TFoodExpenditure2,Total_Exp_Month_nondurable2,Total_Exp_Month2,
+ # Total_Exp_Month_Per2,
+ # EqSizeOECD,EqSizeCalory,Decile,Bundle_Value)]
+ save(MD,file=paste0(Settings$HEISProcessedPath,"Y",year,"FinalFoodPoor.rda"))
+ MD[,weighted.mean(FinalFoodPoor,Weight)]
+ # MDFinalfood<-MD[,.(HHID,Region,NewArea,cluster3,Percentile,FinalFoodPoor)]
+ # UrbanFinalfood<-MDFinalfood[Region=="Urban"]
+ # RuralFinalfood<-MDFinalfood[Region=="Rural"]
+ # save(UrbanFinalfood, file=paste0(Settings$HEISProcessedPath,"Y",year,"UrbanFinalfood.rda"))
+ # save(RuralFinalfood, file=paste0(Settings$HEISProcessedPath,"Y",year,"RuralFinalfood.rda"))
+ #
+ MD[,weighted.mean(FinalFoodPoor,Weight),by=c("Region","ProvinceCode")][order(Region,ProvinceCode)]
+ MD[,weighted.mean(FinalFoodPoor,Weight),by=cluster3][order(cluster3)]
+ # cat(MD[,weighted.mean(FPLine,Weight)])
+ # cat(MD[cluster3==13,weighted.mean(Calory_Price,Weight)])
+ #cat(MD[cluster3==1,weighted.mean(TOriginalFoodExpenditure_Per,Weight)])
+ x<-MD[,weighted.mean(OriginalFoodExpenditure,Weight),by="cluster3"]
+
+
+# cat(MD[,weighted.mean(TOriginalFoodExpenditure_Per,Weight)],"\n")
+# cat(MD[,weighted.mean(TFoodKCaloriesHH_Per,Weight,na.rm = TRUE)],"\n")
+# cat(MD[,weighted.mean(Calory_Price,Weight,na.rm = TRUE)],"\n")
+ cat(MD[cluster3==1,weighted.mean(FPLine,Weight,na.rm = TRUE)],"\n")
+}
+
+endtime <- proc.time()
+cat("\n\n============================\nIt took ")
+cat((endtime-starttime)["elapsed"])
+cat(" seconds")
\ No newline at end of file
diff --git a/R/Archive/166/166-Step6-FoodBasicNeeds.R b/R/Archive/166/166-Step6-FoodBasicNeeds.R
new file mode 100644
index 00000000..4491a42c
--- /dev/null
+++ b/R/Archive/166/166-Step6-FoodBasicNeeds.R
@@ -0,0 +1,92 @@
+#166-Step 6- FoodBasicNeeds.R
+#
+# Copyright © 2018:Majid Einian & Arin Shahbazian
+# Licence: GPL-3
+
+rm(list=ls())
+
+starttime <- proc.time()
+cat("\n\n================ Prepare Data =====================================\n")
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+library(readxl)
+library(data.table)
+library(ggplot2)
+
+for(year in (Settings$startyear:Settings$endyear)){
+ cat(paste0("\n------------------------------\nYear:",year,"\n"))
+
+ # load data --------------------------------------
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"InitialPoorClustered.rda"))
+
+ #load(file = "CPI.rda")
+ #CPI<-as.data.table(CPI)
+ #CPI<-CPI[,Decile:=as.character(Decile)]
+ #MD<-merge(MD,CPI,by="Decile")
+
+ #Determine Food (Equal 2100 KCal) Bundle
+ #MDPoors<-MD[InitialPoor==1]
+ MD[,NewPoor:=InitialPoor]
+ #MD[,NewPoor:=ifelse(Decile %in% c(1,2,3,4),1,0)]
+ MD[,OldPoor:=1]
+
+ i <- 0
+ while(MD[(NewPoor-OldPoor)!=0,.N]>0.001*nrow(MD[NewPoor==1]) & i <=15){
+# cat(nrow(MD[NewPoor==1]))
+ i <- i + 1
+ MD[,ThisIterationPoor:=NewPoor]
+ MD[,FPLine:=NULL]
+ MDP <- MD[ThisIterationPoor==1,
+ .(FPLine=weighted.mean(Bundle_Value,Weight,na.rm = TRUE)),
+ by=.(cluster3,Region)]
+ MD <- merge(MD,MDP,by=c("Region","cluster3"))
+# print(MDP)
+ #x<-MD[,.(NewArea,Region,FPLine,InitialPoor)]
+ MD[,NewPoor:=ifelse(TOriginalFoodExpenditure_Per < FPLine,1,0)]
+# print(table(MD[,.(ThisIterationPoor,NewPoor)]))
+ MD[,OldPoor:=ThisIterationPoor]
+ }
+
+ MD[,FinalFoodPoor:=OldPoor]
+
+ # MD <- MD[,.(HHID,HIndivNo,Region,NewArea,NewArea_Name,cluster3,ProvinceCode,Size,HAge,HSex,Month,ServiceExp,
+ # HLiterate,HEduLevel0,HActivityState,Area,Rooms,MetrPrice,Total_Exp_Month_nondurable,
+ # Total_Exp_Month_Per_nondurable,TOriginalFoodExpenditure_Per,
+ # OriginalFoodExpenditure_Per,FPLine,Weight,Percentile,FinalFoodPoor,
+ # Total_Exp_Month_Per,TFoodKCaloriesHH_Per,TOriginalFoodExpenditure,Total_Exp_Month,
+ # TFoodExpenditure2,Total_Exp_Month_nondurable2,Total_Exp_Month2,
+ # Total_Exp_Month_Per2,
+ # EqSizeOECD,EqSizeCalory,Decile,Bundle_Value)]
+ save(MD,file=paste0(Settings$HEISProcessedPath,"Y",year,"FinalFoodPoor.rda"))
+ MD[,weighted.mean(FinalFoodPoor,Weight)]
+ # MDFinalfood<-MD[,.(HHID,Region,NewArea,cluster3,Percentile,FinalFoodPoor)]
+ # UrbanFinalfood<-MDFinalfood[Region=="Urban"]
+ # RuralFinalfood<-MDFinalfood[Region=="Rural"]
+ # save(UrbanFinalfood, file=paste0(Settings$HEISProcessedPath,"Y",year,"UrbanFinalfood.rda"))
+ # save(RuralFinalfood, file=paste0(Settings$HEISProcessedPath,"Y",year,"RuralFinalfood.rda"))
+ #
+ MD[,weighted.mean(FinalFoodPoor,Weight),by=c("Region","ProvinceCode")][order(Region,ProvinceCode)]
+ MD[,weighted.mean(FinalFoodPoor,Weight),by=cluster3][order(cluster3)]
+# cat(MD[,weighted.mean(FPLine,Weight)])
+ # cat(MD[cluster3==13,weighted.mean(Calory_Price,Weight)])
+ #cat(MD[cluster3==1,weighted.mean(TOriginalFoodExpenditure_Per,Weight)])
+ x<-MD[,weighted.mean(OriginalFoodExpenditure,Weight),by="cluster3"]
+
+
+#cat(MD[,weighted.mean(TOriginalFoodExpenditure_Per,Weight)],"\n")
+# cat(MD[,weighted.mean(TFoodKCaloriesHH_Per,Weight,na.rm = TRUE)],"\n")
+# cat(MD[,weighted.mean(Calory_Price,Weight,na.rm = TRUE)],"\n")
+# cat(MD[,weighted.mean(EqSizeCalory,Weight,na.rm = TRUE)],"\n")
+
+ cat(MD[cluster3==1,weighted.mean(FPLine,Weight,na.rm = TRUE)],"\n")
+
+ #cat(MD[FinalFoodPoor==1 & cluster3==7,weighted.mean(Calorie_Need_WorldBank,Weight)],"\n")
+ #cat(MD[FinalFoodPoor==1 & cluster3==7,weighted.mean(TFoodKCaloriesHH_Per,Weight)],"\n")
+ #cat(MD[FinalFoodPoor==1 & cluster3==7,weighted.mean(Bundle_Value,Weight)],"\n")
+}
+
+endtime <- proc.time()
+cat("\n\n============================\nIt took ")
+cat((endtime-starttime)["elapsed"])
+cat(" seconds")
\ No newline at end of file
diff --git a/R/Archive/166/166-sabad95 - Copy.R b/R/Archive/166/166-sabad95 - Copy.R
new file mode 100644
index 00000000..833b024e
--- /dev/null
+++ b/R/Archive/166/166-sabad95 - Copy.R
@@ -0,0 +1,156 @@
+#703-Bundle 2100
+# Builds the Food Groups data.table for households
+#
+# Copyright © 2019: Arin Shahbazian
+# Licence: GPL-3
+
+rm(list=ls())
+starttime <- proc.time()
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+library(readxl)
+library(data.table)
+library(ggplot2)
+
+library(data.table)
+library(stringr)
+library(readxl)
+library(spatstat)
+library(writexl)
+year<-95
+for(year in (Settings$startyear:Settings$endyear)){
+ cat(paste0("\n------------------------------\nYear:",year,"\n"))
+
+ # load data --------------------------------------
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"InitialPoorClustered.rda"))
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"FoodPrices.rda"))
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"FoodGrams.rda"))
+
+ MD<-merge(MD,FoodPrices,all.x=TRUE,by="HHID")
+ MD<-merge(MD,FoodGrams,all.x=TRUE,by="HHID")
+ load( file = paste0(Settings$HEISProcessedPath,"Y",year,"BigFData.rda"))
+ load(file = paste0(Settings$HEISProcessedPath,"Y",year,"Food_Calories.rda"))
+ MetaData <- read_excel(Settings$MetaDataFilePath, Settings$MDS_FoodGroups)
+ MetaData<-as.data.table(MetaData)
+ MetaData<-MetaData[,SheetName:=NULL]
+ FoodNames<-MetaData
+ save(FoodNames,file ="FoodNames.rda" )
+ load(file = "FoodNames.rda")
+
+ # y<-MD[,weighted.mean(FoodKCaloriesHH_Per,Weight),by=c("Region","Decile")]
+
+
+ MD[,NewPoor:=InitialPoor]
+ MD[,OldPoor:=1]
+ load(file=paste0(Settings$HEISProcessedPath,"Gram.rda"))
+ MD<- merge(MD,gram, by=c("cluster3","Region"),all.x = TRUE)
+
+
+ i <- 0
+ while(MD[(NewPoor-OldPoor)!=0,.N]>0.001*nrow(MD[NewPoor==1]) & i <=15){
+ # cat(nrow(MD[NewPoor==1]))
+ i <- i + 1
+ MD[,ThisIterationPoor:=NewPoor]
+ MD[,FPLine:=NULL]
+ MD[,Selected_Group:=ifelse((Region=="Urban" & Decile==3) |
+ (Region=="Rural" & Decile==2),1,0)]
+ MDP <- MD [Selected_Group==1,
+ .(FPLine=0.001*
+ (weighted.mean(LavashPrice,Weight,na.rm = TRUE)*mean(Nan_Grams,na.rm = TRUE)+
+ weighted.mean(Rice_Khareji2Price,Weight,na.rm = TRUE)*mean(Berenj_Grams)+
+ weighted.mean(MacaroniPrice,Weight,na.rm = TRUE)*mean(Makarooni_Grams)+
+ weighted.mean(AdasPrice,Weight,na.rm = TRUE)*mean(Hoboobat_Grams)+
+ weighted.mean(SibzaminiPrice,Weight,na.rm = TRUE)*mean(Sibzamini_Grams)+
+ weighted.mean(Sabzi_KhordanPrice,Weight,na.rm = TRUE)*mean(Sabzi_Grams)+
+ weighted.mean(Banana_CoconutPrice,Weight,na.rm = TRUE)*mean(Mive_Grams)+
+ weighted.mean(CowMeatPrice,Weight,na.rm = TRUE)*mean(Goosht_Grams)+
+ weighted.mean(PoultryMeat_MPrice,Weight,na.rm = TRUE)*mean(Morgh_Grams)+
+ weighted.mean(Egg_MashinPrice,Weight,na.rm = TRUE)*mean(Tokhmemorgh_Grams)+
+ weighted.mean(Milk_PasteurizedPrice,Weight,na.rm = TRUE)*mean(Labaniat_Grams)+
+ weighted.mean(Oil_NabatiPrice,Weight,na.rm = TRUE)*mean(Roghan_Grams)+
+ weighted.mean(GhandPrice,Weight,na.rm = TRUE)*mean(Ghand_Grams))),
+ by=.(cluster3,Region)]
+ MDP<-MDP[,lapply(.SD,sum),by=c("cluster3","Region")]
+ price<- MD[Selected_Group==1,
+ .(LavashPrice=weighted.mean(LavashPrice,Weight,na.rm = TRUE),
+ Rice_Khareji2Price=weighted.mean(Rice_Khareji2Price,Weight,na.rm = TRUE),
+ MacaroniPrice=weighted.mean(MacaroniPrice,Weight,na.rm = TRUE),
+ HobubatPrice=weighted.mean(AdasPrice,Weight,na.rm = TRUE),
+ SibzaminiPrice=weighted.mean(SibzaminiPrice,Weight,na.rm = TRUE),
+ Sabzi_KhordanPrice=weighted.mean(Sabzi_KhordanPrice,Weight,na.rm = TRUE),
+ Banana_CoconutPrice=weighted.mean(Banana_CoconutPrice,Weight,na.rm = TRUE),
+ LivestockGrams=weighted.mean(LivestockGrams,Weight,na.rm = TRUE),
+ PoultryMeat_MPrice=weighted.mean(PoultryMeat_MPrice,Weight,na.rm = TRUE),
+ Egg_MashinPrice=weighted.mean(Egg_MashinPrice,Weight,na.rm = TRUE),
+ Milk_PasteurizedPrice=weighted.mean(Milk_PasteurizedPrice,Weight,na.rm = TRUE),
+ Oil_NabatiPrice=weighted.mean(Oil_NabatiPrice,Weight,na.rm = TRUE),
+ GhandPrice=weighted.mean(GhandPrice,Weight,na.rm = TRUE))
+ ,by=.(cluster3,Region)
+ ]
+
+ gram <-MD [Selected_Group==1,
+ .(Nan_Grams= weighted.mean(Nan_Grams/EqSizeCalory,Weight*Size,na.rm=TRUE),
+ Berenj_Grams= weighted.mean(Berenj_Grams/EqSizeCalory,Weight*Size,na.rm=TRUE),
+ Makarooni_Grams=weighted.mean(Makarooni_Grams/EqSizeCalory,Weight*Size,na.rm=TRUE),
+ Hoboobat_Grams=weighted.mean(Hoboobat_Grams/EqSizeCalory,Weight*Size,na.rm=TRUE),
+ Sibzamini_Grams=weighted.mean(Sibzamini_Grams/EqSizeCalory,Weight*Size,na.rm=TRUE),
+ Sabzi_Grams=weighted.mean(Sabzi_Grams/EqSizeCalory,Weight*Size,na.rm=TRUE),
+ Mive_Grams=weighted.mean(Mive_Grams/EqSizeCalory,Weight*Size,na.rm=TRUE),
+ Goosht_Grams=weighted.mean(Goosht_Grams/EqSizeCalory,Weight*Size,na.rm=TRUE),
+ Morgh_Grams=weighted.mean(Morgh_Grams/EqSizeCalory,Weight*Size,na.rm=TRUE),
+ Tokhmemorgh_Grams=weighted.mean(Tokhmemorgh_Grams/EqSizeCalory,Weight*Size,na.rm=TRUE),
+ Labaniat_Grams=weighted.mean(Labaniat_Grams/EqSizeCalory,Weight*Size,na.rm=TRUE),
+ Roghan_Grams=weighted.mean(Roghan_Grams/EqSizeCalory,Weight*Size,na.rm=TRUE),
+ Ghand_Grams=weighted.mean(Ghand_Grams/EqSizeCalory,Weight*Size,na.rm=TRUE)),
+ by=.(cluster3,Region)]
+
+ MDP[is.na(MDP)] <- 0
+ min<-MDP[FPLine>0,min(FPLine)]
+ MDP[,FPLine:=ifelse(FPLine==0,min,FPLine)]
+
+ MD <- merge(MD,MDP,all.x=TRUE,by=c("Region","cluster3"))
+ # print(MDP)
+ #x<-MD[,.(NewArea,Region,FPLine,InitialPoor)]
+ MD[,NewPoor:=ifelse(TOriginalFoodExpenditure_Per < FPLine,1,0)]
+ # print(table(MD[,.(ThisIterationPoor,NewPoor)]))
+ MD[,OldPoor:=ThisIterationPoor]
+ }
+
+ MD[,FinalFoodPoor:=OldPoor]
+
+ # MD <- MD[,.(HHID,HIndivNo,Region,NewArea,NewArea_Name,cluster3,ProvinceCode,Size,HAge,HSex,Month,ServiceExp,
+ # HLiterate,HEduLevel0,HActivityState,Area,Rooms,MetrPrice,Total_Exp_Month_nondurable,
+ # Total_Exp_Month_Per_nondurable,TOriginalFoodExpenditure_Per,
+ # OriginalFoodExpenditure_Per,FPLine,Weight,Percentile,FinalFoodPoor,
+ # Total_Exp_Month_Per,TFoodKCaloriesHH_Per,TOriginalFoodExpenditure,Total_Exp_Month,
+ # TFoodExpenditure2,Total_Exp_Month_nondurable2,Total_Exp_Month2,
+ # Total_Exp_Month_Per2,
+ # EqSizeOECD,EqSizeCalory,Decile,Bundle_Value)]
+ save(MD,file=paste0(Settings$HEISProcessedPath,"Y",year,"FinalFoodPoor.rda"))
+ MD[,weighted.mean(FinalFoodPoor,Weight)]
+ # MDFinalfood<-MD[,.(HHID,Region,NewArea,cluster3,Percentile,FinalFoodPoor)]
+ # UrbanFinalfood<-MDFinalfood[Region=="Urban"]
+ # RuralFinalfood<-MDFinalfood[Region=="Rural"]
+ # save(UrbanFinalfood, file=paste0(Settings$HEISProcessedPath,"Y",year,"UrbanFinalfood.rda"))
+ # save(RuralFinalfood, file=paste0(Settings$HEISProcessedPath,"Y",year,"RuralFinalfood.rda"))
+ #
+ MD[,weighted.mean(FinalFoodPoor,Weight),by=c("Region","ProvinceCode")][order(Region,ProvinceCode)]
+ MD[,weighted.mean(FinalFoodPoor,Weight),by=cluster3][order(cluster3)]
+ # cat(MD[,weighted.mean(FPLine,Weight)])
+ # cat(MD[cluster3==13,weighted.mean(Calory_Price,Weight)])
+ #cat(MD[cluster3==1,weighted.mean(TOriginalFoodExpenditure_Per,Weight)])
+ x<-MD[,weighted.mean(FPLine,Weight),by="cluster3"]
+
+
+ # cat(MD[,weighted.mean(TOriginalFoodExpenditure_Per,Weight)],"\n")
+ # cat(MD[,weighted.mean(TFoodKCaloriesHH_Per,Weight,na.rm = TRUE)],"\n")
+ # cat(MD[,weighted.mean(Calory_Price,Weight,na.rm = TRUE)],"\n")
+ # cat(MD[cluster3==1,weighted.mean(FPLine,Weight,na.rm = TRUE)],"\n")
+ cat(MD[,weighted.mean(FPLine,Weight,na.rm = TRUE)],"\n")
+}
+
+endtime <- proc.time()
+cat("\n\n============================\nIt took ")
+cat((endtime-starttime)["elapsed"])
+cat(" seconds")
+
diff --git a/R/Archive/179.R b/R/Archive/179.R
new file mode 100644
index 00000000..afacd381
--- /dev/null
+++ b/R/Archive/179.R
@@ -0,0 +1,228 @@
+# 133-HHDurableExpenditures.R
+# Builds the Durbable Expenditures detailed data.table for households
+#
+# Copyright © 2017-2020: Arin Shahbazian, Majid Einian
+# Licence: GPL-3
+
+rm(list=ls())
+
+startTime <- proc.time()
+
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+library(readxl)
+library(data.table)
+library(stringr)
+
+
+cat("\n\n================ Section13:HHDurable ==============================\n")
+DurableTables <- data.table(read_excel(Settings$MetaDataFilePath,
+ sheet=Settings$MDS_Durable))
+DurableItems <- data.table(read_excel(Settings$MetaDataFilePath,
+ sheet=Settings$MDS_DurableItems))
+year<-96
+ cat(paste0("\n------------------------------\nYear:",year,"\n"))
+ load(file=paste0(Settings$HEISRawPath,"Y",year,"Raw.rda"))
+ ct <- DurableTables[Year==year]
+ tab <- ct$Table
+ if(is.na(tab))
+ next
+ UTC <- Tables[[paste0("U",year,tab)]]
+ RTC <- Tables[[paste0("R",year,tab)]]
+ TC <- rbind(UTC,RTC)
+ for(n in names(TC)){
+ x <- which(ct==n)
+ if(length(x)>0)
+ setnames(TC,n,names(ct)[x])
+ }
+ pcols <- intersect(names(TC),c("HHID","Code","Durable_Exp","Durable_Sale"))
+ TC <- TC[,pcols,with=FALSE]
+
+ # if(year >= 84){
+ TC[,Durable_Exp:=as.numeric(Durable_Exp)/12]
+ TC[,Durable_Sale:=as.numeric(Durable_Sale)/12]
+ # }
+
+ DurableData_Detail <- merge(TC,DurableItems,by="Code",all = TRUE)
+ DurableData_Detail <- DurableData_Detail[!is.na(HHID)]
+ DurableData_Detail[is.na(Durable_Exp), Durable_Exp:=0]
+ DurableData_Detail[is.na(Durable_Sale), Durable_Sale:=0]
+
+
+ #save(DurableData_Detail, file = paste0(Settings$HEISProcessedPath,"Y",year,
+ # "DurableData_Detail.rda"))
+
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"HHHouseProperties.rda"))
+
+ itemslist <- c("cellphone","washer","dishwasher","car",
+ "oven","tvbw","tvcr","refrigerator","frez_refrig","freezer",
+ "computer","cooler_gas","cooler_gas_movable")
+
+ for(item in itemslist)
+ if(!(item %in% names(HHHouseProperties))){
+ HHHouseProperties[,(item):=FALSE]
+ }
+
+ OwnsDurableItems <- HHHouseProperties[,.(HHID,
+ Cellphone=cellphone*1,
+ Washer=(washer|dishwasher)*1,
+ Car_Repair=car*1,
+ Car_Tire=car*1,
+ Oven=oven*1,
+ TV=(tvbw |tvcr)*1,
+ Refrigrator=(refrigerator|frez_refrig|freezer)*1,
+ Car=car*1,
+ Computer=computer*1,
+ AC=(cooler_gas |cooler_gas_movable)*1,
+ Car_Motor=car*1)]
+
+ DurableData_Detail96<-copy((DurableData_Detail))
+ OwnsDurableItems96<-copy(OwnsDurableItems)
+ DurableData_Detail96[,Year:=96]
+ OwnsDurableItems96[,Year:=96]
+
+ #save(OwnsDurableItems,file=paste0(Settings$HEISProcessedPath,"Y",year,
+ # "OwnsDurableItems.rda"))
+
+ year<-97
+ cat(paste0("\n------------------------------\nYear:",year,"\n"))
+ load(file=paste0(Settings$HEISRawPath,"Y",year,"Raw.rda"))
+ ct <- DurableTables[Year==year]
+ tab <- ct$Table
+ if(is.na(tab))
+ next
+ UTC <- Tables[[paste0("U",year,tab)]]
+ RTC <- Tables[[paste0("R",year,tab)]]
+ TC <- rbind(UTC,RTC)
+ for(n in names(TC)){
+ x <- which(ct==n)
+ if(length(x)>0)
+ setnames(TC,n,names(ct)[x])
+ }
+ pcols <- intersect(names(TC),c("HHID","Code","Durable_Exp","Durable_Sale"))
+ TC <- TC[,pcols,with=FALSE]
+
+ # if(year >= 84){
+ TC[,Durable_Exp:=as.numeric(Durable_Exp)/12]
+ TC[,Durable_Sale:=as.numeric(Durable_Sale)/12]
+ # }
+
+ DurableData_Detail <- merge(TC,DurableItems,by="Code",all = TRUE)
+ DurableData_Detail <- DurableData_Detail[!is.na(HHID)]
+ DurableData_Detail[is.na(Durable_Exp), Durable_Exp:=0]
+ DurableData_Detail[is.na(Durable_Sale), Durable_Sale:=0]
+
+
+ #save(DurableData_Detail, file = paste0(Settings$HEISProcessedPath,"Y",year,
+ # "DurableData_Detail.rda"))
+
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"HHHouseProperties.rda"))
+
+ itemslist <- c("cellphone","washer","dishwasher","car",
+ "oven","tvbw","tvcr","refrigerator","frez_refrig","freezer",
+ "computer","cooler_gas","cooler_gas_movable")
+
+ for(item in itemslist)
+ if(!(item %in% names(HHHouseProperties))){
+ HHHouseProperties[,(item):=FALSE]
+ }
+
+ OwnsDurableItems <- HHHouseProperties[,.(HHID,
+ Cellphone=cellphone*1,
+ Washer=(washer|dishwasher)*1,
+ Car_Repair=car*1,
+ Car_Tire=car*1,
+ Oven=oven*1,
+ TV=(tvbw |tvcr)*1,
+ Refrigrator=(refrigerator|frez_refrig|freezer)*1,
+ Car=car*1,
+ Computer=computer*1,
+ AC=(cooler_gas |cooler_gas_movable)*1,
+ Car_Motor=car*1)]
+
+ DurableData_Detail97<-copy((DurableData_Detail))
+ OwnsDurableItems97<-copy(OwnsDurableItems)
+ DurableData_Detail97[,Year:=97]
+ OwnsDurableItems97[,Year:=97]
+ #save(OwnsDurableItems,file=paste0(Settings$HEISProcessedPath,"Y",year,
+ # "OwnsDurableItems.rda"))
+
+
+ year<-98
+ cat(paste0("\n------------------------------\nYear:",year,"\n"))
+ load(file=paste0(Settings$HEISRawPath,"Y",year,"Raw.rda"))
+ ct <- DurableTables[Year==year]
+ tab <- ct$Table
+ if(is.na(tab))
+ next
+ UTC <- Tables[[paste0("U",year,tab)]]
+ RTC <- Tables[[paste0("R",year,tab)]]
+ TC <- rbind(UTC,RTC)
+ for(n in names(TC)){
+ x <- which(ct==n)
+ if(length(x)>0)
+ setnames(TC,n,names(ct)[x])
+ }
+ pcols <- intersect(names(TC),c("HHID","Code","Durable_Exp","Durable_Sale"))
+ TC <- TC[,pcols,with=FALSE]
+
+ # if(year >= 84){
+ TC[,Durable_Exp:=as.numeric(Durable_Exp)/12]
+ TC[,Durable_Sale:=as.numeric(Durable_Sale)/12]
+ # }
+
+ DurableData_Detail <- merge(TC,DurableItems,by="Code",all = TRUE)
+ DurableData_Detail <- DurableData_Detail[!is.na(HHID)]
+ DurableData_Detail[is.na(Durable_Exp), Durable_Exp:=0]
+ DurableData_Detail[is.na(Durable_Sale), Durable_Sale:=0]
+
+
+ #save(DurableData_Detail, file = paste0(Settings$HEISProcessedPath,"Y",year,
+ # "DurableData_Detail.rda"))
+
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"HHHouseProperties.rda"))
+
+ itemslist <- c("cellphone","washer","dishwasher","car",
+ "oven","tvbw","tvcr","refrigerator","frez_refrig","freezer",
+ "computer","cooler_gas","cooler_gas_movable")
+
+ for(item in itemslist)
+ if(!(item %in% names(HHHouseProperties))){
+ HHHouseProperties[,(item):=FALSE]
+ }
+
+ OwnsDurableItems <- HHHouseProperties[,.(HHID,
+ Cellphone=cellphone*1,
+ Washer=(washer|dishwasher)*1,
+ Car_Repair=car*1,
+ Car_Tire=car*1,
+ Oven=oven*1,
+ TV=(tvbw |tvcr)*1,
+ Refrigrator=(refrigerator|frez_refrig|freezer)*1,
+ Car=car*1,
+ Computer=computer*1,
+ AC=(cooler_gas |cooler_gas_movable)*1,
+ Car_Motor=car*1)]
+
+ DurableData_Detail98<-copy((DurableData_Detail))
+ OwnsDurableItems98<-copy(OwnsDurableItems)
+
+ DurableData_Detail98[,Year:=98]
+ OwnsDurableItems98[,Year:=98]
+ #save(OwnsDurableItems,file=paste0(Settings$HEISProcessedPath,"Y",year,
+ # "OwnsDurableItems.rda"))
+
+
+ DurableData_Detail<-rbind(DurableData_Detail98,DurableData_Detail97)
+ DurableData_Detail<-rbind(DurableData_Detail,DurableData_Detail96)
+
+ OwnsDurableItems<-rbind(OwnsDurableItems98,OwnsDurableItems97)
+ OwnsDurableItems<-rbind(OwnsDurableItems,OwnsDurableItems96)
+
+ save(DurableData_Detail, file = paste0(Settings$HEISProcessedPath,"Y",year,"DurableData_Detail_Ostan.rda"))
+ save(OwnsDurableItems,file=paste0(Settings$HEISProcessedPath,"Y",year,"OwnsDurableItems_Ostan.rda"))
+
+
+endTime <- proc.time()
+cat("\n\n=========================\nIt took",(endTime-startTime)[3], "seconds.")
diff --git a/R/Archive/181.R b/R/Archive/181.R
new file mode 100644
index 00000000..6bf9305b
--- /dev/null
+++ b/R/Archive/181.R
@@ -0,0 +1,237 @@
+#161-Step1-MergeData.R
+#
+# Copyright © 2018-2020: Majid Einian & Arin Shahbazian
+# Licence: GPL-3
+
+rm(list=ls())
+
+starttime <- proc.time()
+cat("\n\n================ Merge Data =====================================\n")
+
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+library(readxl)
+library(data.table)
+
+year<-96
+ cat(paste0("\n------------------------------\nYear:",year,"\n"))
+
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"HHBase.rda"))
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"FoodNutritionData.rda"))
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"FoodExpData.rda"))
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"HHI.rda"))
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"HHHouseProperties.rda"))
+ load(file="Inflation9098.rda")
+
+ for(G in c("Cigars","Cloths","Amusements","Communications",
+ "Educations", "Furnitures","Hotels","Energys","House", "Medicals",
+ "Hygienes","Transportations","Others", "Restaurants",
+ "Durable_4Groups","OwnedDurableItemsDepreciation"))
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,G,".rda"))
+
+ FoodNutritionData <- FoodNutritionData[FoodKCaloriesHH>0]
+
+ MD<-merge(HHBase,HHI ,by =c("HHID"),all=TRUE)
+ MD<-merge(MD,FoodNutritionData ,by =c("HHID"),all=TRUE)
+ MD<-merge(MD,FoodExpData,by =c("HHID"),all=TRUE)
+ MD<-merge(MD,CigarData,by =c("HHID"),all=TRUE)
+ MD<-merge(MD,ClothData,by =c("HHID"),all=TRUE)
+ MD<-merge(MD,AmusementData,by =c("HHID"),all=TRUE)
+ MD<-merge(MD,CommunicationData,by =c("HHID"),all=TRUE)
+ MD<-merge(MD,EducationData,by =c("HHID"),all=TRUE)
+ MD<-merge(MD,EnergyData,by =c("HHID"),all=TRUE)
+ MD<-merge(MD,HouseData,by =c("HHID"),all=TRUE)
+ MD<-merge(MD,FurnitureData,by =c("HHID"),all=TRUE)
+ MD<-merge(MD,HotelData,by =c("HHID"),all=TRUE)
+ MD<-merge(MD,RestaurantData,by =c("HHID"),all=TRUE)
+ MD<-merge(MD,HygieneData,by =c("HHID"),all=TRUE)
+ MD<-merge(MD,TransportationData,by =c("HHID"),all=TRUE)
+ MD<-merge(MD,OtherData,by =c("HHID"),all=TRUE)
+ MD<-merge(MD,MedicalData,by =c("HHID"),all=TRUE)
+ MD<-merge(MD,Durable_4Groups,by =c("HHID"),all=TRUE)
+ MD<-merge(MD,OwnedDurableItemsDepreciation,by =c("HHID"),all=TRUE)
+ MD<-merge(MD,Inflation9098,by="ProvinceCode")
+
+ MD[,FoodExpenditure:=FoodExpenditure*y9697*y9798]
+ MD[,OriginalFoodExpenditure:=OriginalFoodExpenditure*y9697*y9798]
+ MD[,FoodOtherExpenditure:=FoodOtherExpenditure*y9697*y9798]
+ MD[,Cigar_Exp:=Cigar_Exp*y9697*y9798]
+ MD[,Cloth_Exp:=Cloth_Exp*y9697*y9798]
+ MD[,Amusement_Exp:=Amusement_Exp*y9697*y9798]
+ MD[,Communication_Exp:=Communication_Exp*y9697*y9798]
+ MD[,Education_Exp:=Education_Exp*y9697*y9798]
+ MD[,Energy_Exp:=Energy_Exp*y9697*y9798]
+ MD[,House_Exp:=House_Exp*y9697*y9798]
+ MD[,MeterPrice:=MeterPrice*y9697*y9798]
+ MD[,Furniture_Exp:=Furniture_Exp*y9697*y9798]
+ MD[,Hotel_Exp:=Hotel_Exp*y9697*y9798]
+ MD[,Restaurant_Exp:=Restaurant_Exp*y9697*y9798]
+ MD[,Hygiene_Exp:=Hygiene_Exp*y9697*y9798]
+ MD[,Transportation_Exp:=Transportation_Exp*y9697*y9798]
+ MD[,Other_Exp:=Other_Exp*y9697*y9798]
+ MD[,Medical_Exp:=Medical_Exp*y9697*y9798]
+ MD[,Add_to_NonDurable:=Add_to_NonDurable*y9697*y9798]
+ MD[,Durable_Dep:=Durable_Dep*y9697*y9798]
+ MD[,Durable_NoDep:=Durable_NoDep*y9697*y9798]
+ MD[,Durable_Emergency:=Durable_Emergency*y9697*y9798]
+ MD[,OwnedDurableItemsDepreciation:=OwnedDurableItemsDepreciation*y9697*y9798]
+
+ #Calculate Monthly Total Expenditures
+ for (col in Settings$w)
+ MD[is.na(get(col)), (col) := 0]
+
+ MD[,Total_Exp_Month := Reduce(`+`, .SD), .SDcols=Settings$w]
+ MD[,Total_Exp_Month_nondurable := Reduce(`+`, .SD), .SDcols=Settings$nw]
+
+ MD[,Total_Exp_Month_Per:=Total_Exp_Month/EqSizeOECD]
+ MD[,Total_Exp_Month_Per_nondurable:=Total_Exp_Month_nondurable/EqSizeOECD]
+
+ MD96<-copy(MD)
+
+############################################################
+ ########################################################
+ ########################################################
+
+ year<-97
+ cat(paste0("\n------------------------------\nYear:",year,"\n"))
+
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"HHBase.rda"))
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"FoodNutritionData.rda"))
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"FoodExpData.rda"))
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"HHI.rda"))
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"HHHouseProperties.rda"))
+ load(file="Inflation9098.rda")
+
+ for(G in c("Cigars","Cloths","Amusements","Communications",
+ "Educations", "Furnitures","Hotels","Energys","House", "Medicals",
+ "Hygienes","Transportations","Others", "Restaurants",
+ "Durable_4Groups","OwnedDurableItemsDepreciation"))
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,G,".rda"))
+
+ FoodNutritionData <- FoodNutritionData[FoodKCaloriesHH>0]
+
+ MD<-merge(HHBase,HHI ,by =c("HHID"),all=TRUE)
+ MD<-merge(MD,FoodNutritionData ,by =c("HHID"),all=TRUE)
+ MD<-merge(MD,FoodExpData,by =c("HHID"),all=TRUE)
+ MD<-merge(MD,CigarData,by =c("HHID"),all=TRUE)
+ MD<-merge(MD,ClothData,by =c("HHID"),all=TRUE)
+ MD<-merge(MD,AmusementData,by =c("HHID"),all=TRUE)
+ MD<-merge(MD,CommunicationData,by =c("HHID"),all=TRUE)
+ MD<-merge(MD,EducationData,by =c("HHID"),all=TRUE)
+ MD<-merge(MD,EnergyData,by =c("HHID"),all=TRUE)
+ MD<-merge(MD,HouseData,by =c("HHID"),all=TRUE)
+ MD<-merge(MD,FurnitureData,by =c("HHID"),all=TRUE)
+ MD<-merge(MD,HotelData,by =c("HHID"),all=TRUE)
+ MD<-merge(MD,RestaurantData,by =c("HHID"),all=TRUE)
+ MD<-merge(MD,HygieneData,by =c("HHID"),all=TRUE)
+ MD<-merge(MD,TransportationData,by =c("HHID"),all=TRUE)
+ MD<-merge(MD,OtherData,by =c("HHID"),all=TRUE)
+ MD<-merge(MD,MedicalData,by =c("HHID"),all=TRUE)
+ MD<-merge(MD,Durable_4Groups,by =c("HHID"),all=TRUE)
+ MD<-merge(MD,OwnedDurableItemsDepreciation,by =c("HHID"),all=TRUE)
+ MD<-merge(MD,Inflation9098,by="ProvinceCode")
+
+ MD[,FoodExpenditure:=FoodExpenditure*y9798]
+ MD[,OriginalFoodExpenditure:=OriginalFoodExpenditure*y9798]
+ MD[,FoodOtherExpenditure:=FoodOtherExpenditure*y9798]
+ MD[,Cigar_Exp:=Cigar_Exp*y9798]
+ MD[,Cloth_Exp:=Cloth_Exp*y9798]
+ MD[,Amusement_Exp:=Amusement_Exp*y9798]
+ MD[,Communication_Exp:=Communication_Exp*y9798]
+ MD[,Education_Exp:=Education_Exp*y9798]
+ MD[,Energy_Exp:=Energy_Exp*y9798]
+ MD[,House_Exp:=House_Exp*y9798]
+ MD[,MeterPrice:=MeterPrice*y9798]
+ MD[,Furniture_Exp:=Furniture_Exp*y9798]
+ MD[,Hotel_Exp:=Hotel_Exp*y9798]
+ MD[,Restaurant_Exp:=Restaurant_Exp*y9798]
+ MD[,Hygiene_Exp:=Hygiene_Exp*y9798]
+ MD[,Transportation_Exp:=Transportation_Exp*y9798]
+ MD[,Other_Exp:=Other_Exp*y9798]
+ MD[,Medical_Exp:=Medical_Exp*y9798]
+ MD[,Add_to_NonDurable:=Add_to_NonDurable*y9798]
+ MD[,Durable_Dep:=Durable_Dep*y9798]
+ MD[,Durable_NoDep:=Durable_NoDep*y9798]
+ MD[,Durable_Emergency:=Durable_Emergency*y9798]
+ MD[,OwnedDurableItemsDepreciation:=OwnedDurableItemsDepreciation*y9798]
+
+ #Calculate Monthly Total Expenditures
+ for (col in Settings$w)
+ MD[is.na(get(col)), (col) := 0]
+
+ MD[,Total_Exp_Month := Reduce(`+`, .SD), .SDcols=Settings$w]
+ MD[,Total_Exp_Month_nondurable := Reduce(`+`, .SD), .SDcols=Settings$nw]
+
+ MD[,Total_Exp_Month_Per:=Total_Exp_Month/EqSizeOECD]
+ MD[,Total_Exp_Month_Per_nondurable:=Total_Exp_Month_nondurable/EqSizeOECD]
+
+ MD97<-copy(MD)
+
+ ############################################################
+ ########################################################
+ ########################################################
+
+ year<-98
+ cat(paste0("\n------------------------------\nYear:",year,"\n"))
+
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"HHBase.rda"))
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"FoodNutritionData.rda"))
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"FoodExpData.rda"))
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"HHI.rda"))
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"HHHouseProperties.rda"))
+ load(file="Inflation9098.rda")
+
+ for(G in c("Cigars","Cloths","Amusements","Communications",
+ "Educations", "Furnitures","Hotels","Energys","House", "Medicals",
+ "Hygienes","Transportations","Others", "Restaurants",
+ "Durable_4Groups","OwnedDurableItemsDepreciation"))
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,G,".rda"))
+
+ FoodNutritionData <- FoodNutritionData[FoodKCaloriesHH>0]
+
+ MD<-merge(HHBase,HHI ,by =c("HHID"),all=TRUE)
+ MD<-merge(MD,FoodNutritionData ,by =c("HHID"),all=TRUE)
+ MD<-merge(MD,FoodExpData,by =c("HHID"),all=TRUE)
+ MD<-merge(MD,CigarData,by =c("HHID"),all=TRUE)
+ MD<-merge(MD,ClothData,by =c("HHID"),all=TRUE)
+ MD<-merge(MD,AmusementData,by =c("HHID"),all=TRUE)
+ MD<-merge(MD,CommunicationData,by =c("HHID"),all=TRUE)
+ MD<-merge(MD,EducationData,by =c("HHID"),all=TRUE)
+ MD<-merge(MD,EnergyData,by =c("HHID"),all=TRUE)
+ MD<-merge(MD,HouseData,by =c("HHID"),all=TRUE)
+ MD<-merge(MD,FurnitureData,by =c("HHID"),all=TRUE)
+ MD<-merge(MD,HotelData,by =c("HHID"),all=TRUE)
+ MD<-merge(MD,RestaurantData,by =c("HHID"),all=TRUE)
+ MD<-merge(MD,HygieneData,by =c("HHID"),all=TRUE)
+ MD<-merge(MD,TransportationData,by =c("HHID"),all=TRUE)
+ MD<-merge(MD,OtherData,by =c("HHID"),all=TRUE)
+ MD<-merge(MD,MedicalData,by =c("HHID"),all=TRUE)
+ MD<-merge(MD,Durable_4Groups,by =c("HHID"),all=TRUE)
+ MD<-merge(MD,OwnedDurableItemsDepreciation,by =c("HHID"),all=TRUE)
+ MD<-merge(MD,Inflation9098,by="ProvinceCode")
+
+
+ #Calculate Monthly Total Expenditures
+ for (col in Settings$w)
+ MD[is.na(get(col)), (col) := 0]
+
+ MD[,Total_Exp_Month := Reduce(`+`, .SD), .SDcols=Settings$w]
+ MD[,Total_Exp_Month_nondurable := Reduce(`+`, .SD), .SDcols=Settings$nw]
+
+ MD[,Total_Exp_Month_Per:=Total_Exp_Month/EqSizeOECD]
+ MD[,Total_Exp_Month_Per_nondurable:=Total_Exp_Month_nondurable/EqSizeOECD]
+
+ MD98<-copy(MD)
+
+ #####################################################
+ rm(MD)
+
+ MD<-rbind(MD96,MD97)
+ MD<-rbind(MD,MD98)
+
+ save(MD, file=paste0(Settings$HEISProcessedPath,"Y",year,"Merged4CBNOstan.rda"))
+
+
+endtime <- proc.time()
+cat("\n\n============================\nIt took",(endtime-starttime)[3],"seconds.")
diff --git a/R/Archive/182.R b/R/Archive/182.R
new file mode 100644
index 00000000..840f4cde
--- /dev/null
+++ b/R/Archive/182.R
@@ -0,0 +1,36 @@
+#162- Step 2.R
+#
+# Copyright © 2018: Majid Einian & Arin Shahbazian
+# Licence: GPL-3
+
+rm(list=ls())
+
+starttime <- proc.time()
+cat("\n\n============== Calculationg Calorie Equal size ===================\n")
+
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+library(readxl)
+library(data.table)
+
+
+year<-98
+
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"Merged4CBNOstan.rda"))
+
+ MD<-MD[Size!=0 & OriginalFoodExpenditure!=0 & !is.na(FoodKCaloriesHH)]
+
+ MD[,EqSizeCalory:=Calorie_Need_WorldBank/
+ Settings$KCaloryNeed_Adult_WorldBank]
+ MD[,EqSizeCalory2:=Calorie_Need_NutritionInstitute/
+ Settings$KCaloryNeed_Adult_NutritionInstitute]
+ MD[,EqSizeCalory3 :=(Size-NKids) +
+ NKids*(Settings$KCaloryNeed_Child/Settings$KCaloryNeed_Adult)]
+
+ save(MD, file=paste0(Settings$HEISProcessedPath,"Y",year,"Merged4CBN2Ostan.rda"))
+
+
+endtime <- proc.time()
+cat("\n\n============================\nIt took ")
+cat(endtime-starttime)
\ No newline at end of file
diff --git a/R/Archive/183.R b/R/Archive/183.R
new file mode 100644
index 00000000..5cd9f90c
--- /dev/null
+++ b/R/Archive/183.R
@@ -0,0 +1,45 @@
+#163- Step 3.R
+#
+# Copyright © 2018-2020: Majid Einian & Arin Shahbazian
+# Licence: GPL-3
+
+rm(list=ls())
+
+starttime <- proc.time()
+
+
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+library(readxl)
+library(data.table)
+library(spatstat)
+
+year<-98
+
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"Merged4CBN2Ostan.rda"))
+
+
+ MD[,FoodExpenditure_Per :=FoodExpenditure/EqSizeCalory]
+ MD[,OriginalFoodExpenditure_Per :=OriginalFoodExpenditure/EqSizeCalory]
+ MD[,FoodKCaloriesHH_Per:=FoodKCaloriesHH/EqSizeCalory]
+ MD[,FoodProtein_Per:=FoodProteinHH/EqSizeCalory]
+
+ #Calculate per_Calory from Restaurants
+ MD[,Calory_Price:=(OriginalFoodExpenditure_Per/FoodKCaloriesHH_Per)]
+ MD[,Calory_Price_Area:=weighted.median(Calory_Price,Weight,na.rm = TRUE),by=.(Region,NewArea)]
+ MD[,RestaurantKCalories:=(Settings$OutFoodKCXShare*Restaurant_Exp)/Calory_Price_Area]
+ MD[is.na(RestaurantKCalories),RestaurantKCalories:=0]
+
+ MD[,TFoodKCaloriesHH:=FoodKCaloriesHH+RestaurantKCalories]
+ MD[,TOriginalFoodExpenditure:=OriginalFoodExpenditure+Restaurant_Exp]
+
+ MD[,TOriginalFoodExpenditure_Per :=TOriginalFoodExpenditure/EqSizeCalory]
+ MD[,TFoodKCaloriesHH_Per:=TFoodKCaloriesHH/EqSizeCalory]
+
+
+ save(MD, file=paste0(Settings$HEISProcessedPath,"Y",year,"Merged4CBN3Ostan.rda"))
+
+
+endtime <- proc.time()
+cat("\n\n============================\nIt took ",(endtime-starttime)[3],"seconds.")
\ No newline at end of file
diff --git a/R/Archive/184.R b/R/Archive/184.R
new file mode 100644
index 00000000..87ca113a
--- /dev/null
+++ b/R/Archive/184.R
@@ -0,0 +1,43 @@
+#164-Step 4-FindInitialPoor.R
+#
+# Copyright © 2020:Majid Einian & Arin Shahbazian
+# Licence: GPL-3
+
+rm(list=ls())
+
+starttime <- proc.time()
+cat("\n\n================ Nominal to Real =====================================\n")
+
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+library(readxl)
+library(data.table)
+#library(ggplot2)
+#library(compare)
+
+year<-96
+load(file=paste0(Settings$HEISProcessedPath,"Y",year,"InitialPoor.rda"))
+Decile96<-MD[,.(HHID,Decile,Percentile,Year)]
+
+year<-97
+load(file=paste0(Settings$HEISProcessedPath,"Y",year,"InitialPoor.rda"))
+Decile97<-MD[,.(HHID,Decile,Percentile,Year)]
+
+year<-98
+load(file=paste0(Settings$HEISProcessedPath,"Y",year,"InitialPoor.rda"))
+Decile98<-MD[,.(HHID,Decile,Percentile,Year)]
+
+Decile<-rbind(Decile96,Decile97)
+Decile<-rbind(Decile,Decile98)
+
+load(file=paste0(Settings$HEISProcessedPath,"Y",year,"Merged4CBN3Ostan.rda"))
+MD<-merge(MD,Decile,by=c("HHID","Year"))
+
+save(MD,file=paste0(Settings$HEISProcessedPath,"Y",year,"InitialPoorOstan.rda"))
+
+
+endtime <- proc.time()
+cat("\n\n============================\nIt took ")
+cat((endtime-starttime)["elapsed"])
+cat(" seconds")
diff --git a/R/Archive/186.R b/R/Archive/186.R
new file mode 100644
index 00000000..d83f89f6
--- /dev/null
+++ b/R/Archive/186.R
@@ -0,0 +1,90 @@
+# 166-Step6-FoodPoor.R: Calculate base year basket cost in current year prices
+# for each cluster. and find FoodPoor
+#
+# Copyright © 2019-2020: Arin Shahbazian & Majid Einian
+# Licence: GPL-3
+
+rm(list=ls())
+starttime <- proc.time()
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+library(readxl)
+library(data.table)
+library(spatstat)
+
+year<-98
+load(file=paste0(Settings$HEISProcessedPath,"Y",year,"InitialPoorOstan.rda"))
+
+year<-98
+load(file=paste0(Settings$HEISProcessedPath,"Y",year,"BigFData.rda"))
+BigFData98<-copy(BigFData)
+BigFData98[,Year:=96]
+
+year<-97
+load(file=paste0(Settings$HEISProcessedPath,"Y",year,"BigFData.rda"))
+BigFData97<-copy(BigFData)
+BigFData97[,Year:=97]
+
+year<-96
+load(file=paste0(Settings$HEISProcessedPath,"Y",year,"BigFData.rda"))
+BigFData96<-copy(BigFData)
+BigFData96[,Year:=98]
+
+BigFData<-rbind(BigFData98,BigFData97)
+BigFData<-rbind(BigFData,BigFData96)
+
+
+
+MD[,Selected_Group:=ifelse((Region=="Urban" & (Decile==4)) |
+ (Region=="Rural" & (Decile==3)),1,0)]
+
+Bfd2 <- data.table(expand.grid(HHID=MD$HHID,FoodType=unique(BigFData$FoodType)))
+Bfd2 <- merge(Bfd2,BigFData,all.x = TRUE)
+Bfd2 <- merge(Bfd2,MD[,.(HHID,Region,Weight,Size,
+ EqSizeCalory,Selected_Group)],by=c("HHID",Year))
+Bfd2[is.na(Bfd2)]<-0
+Bfd2[Price<0.1,Price:=NA]
+
+BaseYearBasket <- Bfd2[Selected_Group==1,
+ .(FGramspc=weighted.mean(FGrams/EqSizeCalory,Weight*Size),
+ FKCalspc=weighted.mean(FoodKCalories/EqSizeCalory,Weight*Size)),
+ by=.(FoodType,Region)]
+BaseYearBasket[,BasketCals:=sum(FKCalspc),by=Region]
+BaseYearBasket[,StandardFGramspc:=FGramspc*Settings$KCaloryNeed_Adult_WorldBank/BasketCals]
+
+
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"InitialPoorClustered.rda"))
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"BigFData.rda"))
+
+ MD[,Selected_Group:=ifelse((Decile==5) | (Decile==2) |
+ (Decile==3) | (Decile==4),1,0)]
+
+ Bfd2 <- data.table(expand.grid(HHID=MD$HHID,FoodType=unique(BigFData$FoodType)))
+ Bfd2 <- merge(Bfd2,BigFData,all.x = TRUE)
+ Bfd2 <- merge(Bfd2,MD[,.(HHID,Region,Weight,Size,NewArea_Name,
+ EqSizeCalory,Selected_Group)],by="HHID")
+ Bfd2[is.na(Bfd2)]<-0
+ Bfd2[Price<0.1,Price:=NA]
+ # Basket <- Bfd2[Selected_Group==1,
+ # .(FGramspc=weighted.mean(FGrams/EqSizeCalory,Weight*Size)),
+ # by=.(FoodType,NewArea_Name)]
+
+ BasketPrice <- Bfd2[Selected_Group==1 & !is.na(Price),
+ .(Price=weighted.median(Price,Weight*Size,na.rm = TRUE)),
+ by=.(FoodType,Region,NewArea_Name)]
+
+ BasketCost <- merge(BaseYearBasket,BasketPrice,by=c("FoodType","Region"))
+ BasketCost[,Cost:=(StandardFGramspc/1000)*Price]
+ FPLineBasket <- BasketCost[,.(FPLine=sum(Cost)),by=c("Region","NewArea_Name")]
+
+ MD <- merge(MD,FPLineBasket,all.x=TRUE,by=c("Region","NewArea_Name"))
+
+ MD[,FoodPoor:=ifelse(TOriginalFoodExpenditure_Per < FPLine,1,0)]
+
+
+ save(MD,file=paste0(Settings$HEISProcessedPath,"Y",year,"FoodPoor2.rda"))
+
+
+endtime <- proc.time()
+cat("\n\n============================\nIt took",
+ (endtime-starttime)["elapsed"]," seconds")
\ No newline at end of file
diff --git a/R/Archive/188.R b/R/Archive/188.R
new file mode 100644
index 00000000..d1adf5d2
--- /dev/null
+++ b/R/Archive/188.R
@@ -0,0 +1,140 @@
+# 168-Step8-PovertyStats.R
+#
+# Copyright © 2018-2020:Majid Einian & Arin Shahbazian
+# Licence: GPL-3
+
+rm(list=ls())
+
+starttime <- proc.time()
+cat("\n\n================ Poverty Line =====================================\n")
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+library(readxl)
+library(data.table)
+library(writexl)
+library(ggplot2)
+
+
+year<-98
+ cat(paste0("\nYear:",year,"\t"))
+
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"FoodPoor.rda"))
+ load(file=paste0(Settings$HEISProcessedPath,"BigEngelTable.rda"))
+ MD <- merge(MD,BigEngelTable[Year==year,
+ .(cluster3,Region,
+ PovertyLine,PovertyLine0,
+ Engel,ModifiedEngel)],
+ by=c("Region","cluster3"))
+ MD98<-copy(MD)
+
+ year<-97
+ cat(paste0("\nYear:",year,"\t"))
+
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"FoodPoor.rda"))
+ load(file=paste0(Settings$HEISProcessedPath,"BigEngelTable.rda"))
+ MD <- merge(MD,BigEngelTable[Year==year,
+ .(cluster3,Region,
+ PovertyLine,PovertyLine0,
+ Engel,ModifiedEngel)],
+ by=c("Region","cluster3"))
+ MD97<-copy(MD)
+
+ year<-96
+ cat(paste0("\nYear:",year,"\t"))
+
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"FoodPoor.rda"))
+ load(file=paste0(Settings$HEISProcessedPath,"BigEngelTable.rda"))
+ MD <- merge(MD,BigEngelTable[Year==year,
+ .(cluster3,Region,
+ PovertyLine,PovertyLine0,
+ Engel,ModifiedEngel)],
+ by=c("Region","cluster3"))
+ MD96<-copy(MD)
+
+ MD<-rbind(MD98,MD97)
+ MD<-rbind(MD,MD96)
+
+ load(file="Inflation9098.rda")
+ MD<-merge(MD,Inflation9098,by="ProvinceCode")
+ MD[,FPLine:=ifelse(Year==96,FPLine*y9697*y9798,
+ ifelse(Year==97,FPLine*y9798,FPLine))]
+ MD[,Total_Exp_Month_Per:=ifelse(Year==96,Total_Exp_Month_Per*y9697*y9798,
+ ifelse(Year==97,Total_Exp_Month_Per*y9798,Total_Exp_Month_Per))]
+ MD[,Total_Exp_Month_Per_nondurable:=ifelse(Year==96,Total_Exp_Month_Per_nondurable*y9697*y9798,
+ ifelse(Year==97,Total_Exp_Month_Per_nondurable*y9798,Total_Exp_Month_Per_nondurable))]
+
+ #MD[,weighted.mean(Total_Exp_Month_Per_nondurable,Weight),by=Year]
+ MD[,PovertyLine:=FPLine/ModifiedEngel]
+ MD[,PovertyLine0:=FPLine/Engel]
+
+ MD[,FinalPoor:=ifelse(Total_Exp_Month_Per_nondurable < PovertyLine,1,0 )]
+ MD[,FinalPoor0:=ifelse(Total_Exp_Month_Per_nondurable < PovertyLine0,1,0 )]
+
+ A2<-MD[,.(.N,PovertyLine=weighted.mean(PovertyLine,Weight),
+ HCR=weighted.mean(FinalPoor,Weight)),by=c("ProvinceName")]
+
+ A2<-A2[,.(PovertyLine,ProvinceName,N)]
+ A2$ProvinceName <- factor(A2$ProvinceName, levels = A2$ProvinceName[order(A2$PovertyLine)])
+ ggplot(A2, aes(x = A2$ProvinceName, y = A2$PovertyLine)) + theme_bw() + geom_bar(stat = "identity") +
+ theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1))+
+ geom_text(aes(label=N),angle=90,vjust=0, hjust=-0.03) + ylim(0, 16000000)
+
+ A4<-MD[,.(.N,PovertyLine=weighted.mean(PovertyLine,Weight),
+ HCR=weighted.mean(FinalPoor,Weight)),by=c("Region","ProvinceName")]
+
+ A4<-A4[Region=="Urban",.(PovertyLine,ProvinceName,N)]
+ A4$ProvinceName <- factor(A4$ProvinceName, levels = A4$ProvinceName[order(A4$PovertyLine)])
+ ggplot(A4, aes(x = A4$ProvinceName, y = A4$PovertyLine)) + theme_bw() + geom_bar(stat = "identity") +
+ theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1))+
+ geom_text(aes(label=N),angle=90,vjust=0, hjust=-0.03) + ylim(0, 18000000)
+
+
+ A4<-MD[,.(.N,PovertyLine=weighted.mean(PovertyLine,Weight),
+ HCR=weighted.mean(FinalPoor,Weight)),by=c("Region","ProvinceName")]
+
+ A4<-A4[Region=="Rural",.(PovertyLine,ProvinceName,N)]
+ A4$ProvinceName <- factor(A4$ProvinceName, levels = A4$ProvinceName[order(A4$PovertyLine)])
+ ggplot(A4, aes(x = A4$ProvinceName, y = A4$PovertyLine)) + theme_bw() + geom_bar(stat = "identity") +
+ theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1))+
+ geom_text(aes(label=N),angle=90,vjust=0, hjust=-0.03) + ylim(0, 8000000)
+
+ ###############################################################
+ ##############################################################
+ ###############################################################
+
+ A2<-MD[,.(.N,PovertyLine=weighted.mean(PovertyLine,Weight),
+ HCR=weighted.mean(FinalPoor,Weight)),by=c("ProvinceName")]
+
+ A2<-A2[,.(HCR,ProvinceName,N)]
+ A2$ProvinceName <- factor(A2$ProvinceName, levels = A2$ProvinceName[order(A2$HCR)])
+ ggplot(A2, aes(x = A2$ProvinceName, y = A2$HCR)) + theme_bw() + geom_bar(stat = "identity") +
+ theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1))+
+ geom_text(aes(label=N),angle=90,vjust=0, hjust=-0.03) + ylim(0, 0.5)#+
+ # scale_y_continuous(breaks = c(0,0.1,0.2,0.3,0.4,0.5))
+
+ A4<-MD[,.(.N,PovertyLine=weighted.mean(PovertyLine,Weight),
+ HCR=weighted.mean(FinalPoor,Weight)),by=c("Region","ProvinceName")]
+
+ A4<-A4[Region=="Urban",.(HCR,ProvinceName,N)]
+ A4$ProvinceName <- factor(A4$ProvinceName, levels = A4$ProvinceName[order(A4$HCR)])
+ ggplot(A4, aes(x = A4$ProvinceName, y = A4$HCR)) + theme_bw() + geom_bar(stat = "identity") +
+ theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1))+
+ geom_text(aes(label=N),angle=90,vjust=0, hjust=-0.03) + ylim(0, 0.5)
+
+
+ A4<-MD[,.(.N,PovertyLine=weighted.mean(PovertyLine,Weight),
+ HCR=weighted.mean(FinalPoor,Weight)),by=c("Region","ProvinceName")]
+
+ A4<-A4[Region=="Rural",.(HCR,ProvinceName,N)]
+ A4$ProvinceName <- factor(A4$ProvinceName, levels = A4$ProvinceName[order(A4$HCR)])
+ ggplot(A4, aes(x = A4$ProvinceName, y = A4$HCR)) + theme_bw() + geom_bar(stat = "identity") +
+ theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1))+
+ geom_text(aes(label=N),angle=90,vjust=0, hjust=-0.03) + ylim(0, 0.5)
+
+
+
+
+
+endtime <- proc.time()
+cat("\n\n============================\nIt took",(endtime-starttime)["elapsed"],"seconds")
\ No newline at end of file
diff --git a/R/Archive/20.1-InvestigateWeightsOfFoods.R b/R/Archive/20.1-InvestigateWeightsOfFoods.R
new file mode 100644
index 00000000..fed49fe4
--- /dev/null
+++ b/R/Archive/20.1-InvestigateWeightsOfFoods.R
@@ -0,0 +1,66 @@
+
+# Copyright © 2016: Majid Einian
+# Licence: GPL-3
+
+rm(list=ls())
+
+starttime <- proc.time()
+cat("\n\n===========================================================\n")
+
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+library(data.table)
+library(readxl)
+
+FoodTables <- data.table(read_excel(Settings$MetaDataFilePath,sheet=Settings$MDS_Food))
+
+
+for(year in (Settings$startyear:Settings$endyear))
+{
+ ty <- FoodTables[Year==year]
+ if(!is.na(ty$Grams))
+ {
+ load(file=paste0(Settings$HEISRawPath,"Y",year,"Raw.rda"))
+
+
+ tab <- ty$Table
+
+ UTL <- Tables[[paste0("U",year,tab)]]
+ RTL <- Tables[[paste0("R",year,tab)]]
+ TL <- rbind(UTL,RTL)
+
+ for(n in names(TL)){
+ x <- which(ty==n)
+ if(length(x)>0)
+ setnames(TL,n,names(ty)[x])
+ }
+
+
+ TL[,Kilos:=as.numeric(Kilos)]
+ TL[,Grams:=as.numeric(Grams)]
+ TL[,Price:=as.numeric(Price)]
+ TL[,Expenditure:=as.numeric(Expenditure)]
+
+ TL[,GW:=Kilos+Grams/1000]
+ TL[,GWxP:=GW*Price]
+ TL[,GWxP_EX:=GWxP/Expenditure]
+ TL2 <- TL[!is.na(GWxP)]
+ cat(paste(year,
+ max(TL$Grams,na.rm = TRUE),
+ nrow(TL2),nrow(TL[is.na(GWxP)]),
+ nrow(TL2[GWxP==Expenditure]),
+ nrow(TL2[GWxP!=Expenditure]),
+ mean(TL2$GWxP_EX,na.rm = TRUE),
+ TL2[GWxP!=Expenditure,.(mean(GWxP_EX))],
+ TL2[GWxP!=Expenditure,.(min(GWxP_EX))],
+ TL2[GWxP!=Expenditure,.(max(GWxP_EX))]
+ ,"\n"))
+ }
+
+}
+
+endtime <- proc.time()
+
+cat("\n\n============================\nIt took ")
+cat(endtime-starttime)
diff --git a/R/Archive/26-InfantExp.R b/R/Archive/26-InfantExp.R
new file mode 100644
index 00000000..5291836c
--- /dev/null
+++ b/R/Archive/26-InfantExp.R
@@ -0,0 +1,188 @@
+rm(list=ls())
+
+starttime <- proc.time()
+
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+library(data.table)
+year <- 95
+
+load(paste0(Settings$HEISProcessedPath,"Y",year,"HHBase.rda"))
+load(paste0(Settings$HEISProcessedPath,"Y",year,"HHI.rda"))
+load(paste0(Settings$HEISRawPath,"Y",year,"Raw.rda"))
+
+S01 <- rbind(Tables$R95P3S01,Tables$U95P3S01)
+setnames(S01, c("HHID","Code","BuyingMethod","Grams","Kilos","Price","Expenditure"))
+S03 <- rbind(Tables$R95P3S03,Tables$U95P3S03)
+setnames(S03, c("HHID","Code","BuyingMethod","Expenditure"))
+S05 <- rbind(Tables$R95P3S05,Tables$U95P3S05)
+setnames(S05, c("HHID","Code","BuyingMethod","Expenditure"))
+S09 <- rbind(Tables$R95P3S09,Tables$U95P3S09)
+setnames(S09, c("HHID","Code","BuyingMethod","Expenditure"))
+S12 <- rbind(Tables$R95P3S12,Tables$U95P3S12)
+setnames(S12, c("HHID","Code","BuyingMethod","Expenditure"))
+S13 <- rbind(Tables$R95P3S13,Tables$U95P3S13)
+setnames(S13, c("HHID","Code","I1","I2","BuyingMethod","Expenditure","SellValue"))
+S13 <- S13[,Expenditure:=as.integer(Expenditure)]
+
+rm(Tables)
+
+Q1T <- S01[Code==11413][,.(X1=sum(Expenditure)*12),by="HHID"]
+Q2T <- S01[Code==11936][,.(X2=sum(Expenditure)*12),by="HHID"]
+Q3T1 <- S03[Code %in% 31271:31279][,.(X31=sum(Expenditure)*12),by="HHID"]
+Q3T2 <- S03[Code %in% 32141][,.(X32=sum(Expenditure)*12),by="HHID"]
+#Q3T3 <- S03[Code %in% c(31251:31269,31416)][,.(X33=sum(Expenditure)*12),by="HHID"]
+#Q3T4 <- S03[Code %in% 32131:32134][,.(X34=sum(Expenditure)*12),by="HHID"]
+Q4T <- S05[Code==54034][,.(X4=sum(Expenditure)*12),by="HHID"]
+Q5T <- S12[Code==121353][,.(X5=sum(Expenditure)*12),by="HHID"]
+Q6T <- S12[Code==123215][,.(X6=sum(Expenditure)*12),by="HHID"]
+Q7T <- S09[Code %in% 93111:93117][,.(X7=sum(Expenditure)*12),by="HHID"]
+Q7TA <- S13[Code %in% 93118:93129][,.(X7A=sum(Expenditure)),by="HHID"]
+Q8T1A <- S13[Code %in% 101111:101115][,.(X81A=sum(Expenditure)),by="HHID"]
+Q8T2A <- S13[Code %in% 102111:102114][,.(X82A=sum(Expenditure)),by="HHID"]
+Q8T3A <- S13[Code %in% 102211:102215][,.(X83A=sum(Expenditure)),by="HHID"]
+Q8T4A <- S13[Code %in% 103111:103116][,.(X84A=sum(Expenditure)),by="HHID"]
+Q9TA <- S13[Code %in% 124113][,.(X9A=sum(Expenditure)),by="HHID"]
+
+
+D <- merge(HHBase, Q1T, by="HHID", all.x = TRUE)
+D <- merge(D, Q2T, by="HHID", all.x = TRUE)
+D <- merge(D, Q3T1, by="HHID", all.x = TRUE)
+D <- merge(D, Q3T2, by="HHID", all.x = TRUE)
+D <- merge(D, Q3T3, by="HHID", all.x = TRUE)
+D <- merge(D, Q3T4, by="HHID", all.x = TRUE)
+D <- merge(D, Q4T, by="HHID", all.x = TRUE)
+D <- merge(D, Q5T, by="HHID", all.x = TRUE)
+D <- merge(D, Q6T, by="HHID", all.x = TRUE)
+D <- merge(D, Q7T, by="HHID", all.x = TRUE)
+D <- merge(D, Q7TA, by="HHID", all.x = TRUE)
+D <- merge(D, Q8T1A, by="HHID", all.x = TRUE)
+D <- merge(D, Q8T2A, by="HHID", all.x = TRUE)
+D <- merge(D, Q8T3A, by="HHID", all.x = TRUE)
+D <- merge(D, Q8T4A, by="HHID", all.x = TRUE)
+D <- merge(D, Q9TA, by="HHID", all.x = TRUE)
+
+D[is.na(D)]<-0
+
+D <- merge(HHI,D,by="HHID")
+
+load(paste0(Settings$HEISWeightsPath,Settings$HEISWeightFileName,year,".rda"))
+
+HHWeights[,Year:=NULL]
+
+D <- merge(D, HHWeights, by="HHID")
+
+summary(D$X1)
+D[,X3:=X31+X32]
+Di <- D[NInfants>0]
+
+library(ggplot2)
+
+SW <- sum(Di$Weight)
+
+Di[,.(sum(Weight),sum(Weight)/SW),by=sign(X1)]
+Di[,.(sum(Weight),sum(Weight)/SW),by=.(sign(X1),Region)]
+Di[,weighted.mean(X1,Weight),by=sign(X1)]
+Di[,weighted.mean(X1,Weight),by=.(sign(X1),Region)]
+ggplot(Di[X1>0],aes(X1/1e7, weight=Weight)) + geom_histogram()
+
+Di[,.(sum(Weight),sum(Weight)/SW),by=sign(X2)]
+Di[,.(sum(Weight),sum(Weight)/SW),by=.(sign(X2),Region)]
+Di[,weighted.mean(X2,Weight),by=sign(X2)]
+Di[,weighted.mean(X2,Weight),by=.(sign(X2),Region)]
+ggplot(Di[X2>0],aes(X2/1e7, weight=Weight)) + geom_histogram()
+
+
+
+Di[,.(sum(Weight),sum(Weight)/SW),by=sign(X3)]
+Di[,.(sum(Weight),sum(Weight)/SW),by=.(sign(X3),Region)]
+Di[,weighted.mean(X3,Weight),by=sign(X3)]
+Di[,weighted.mean(X3,Weight),by=.(sign(X3),Region)]
+ggplot(Di[X3>0],aes(X3/1e7, weight=Weight)) + geom_histogram()
+Di[,weighted.mean(X3,Weight)]
+Di[,weighted.mean(X3,Weight),by=.(Region)]
+
+
+Di[,.(sum(Weight),sum(Weight)/SW),by=sign(X4)]
+Di[,.(sum(Weight),sum(Weight)/SW),by=.(sign(X4),Region)]
+Di[,weighted.mean(X4,Weight),by=sign(X4)]
+Di[,weighted.mean(X4,Weight),by=.(sign(X4),Region)]
+ggplot(Di[X4>0],aes(X4/1e7, weight=Weight)) + geom_histogram()
+Di[,.(sum(Weight),sum(Weight)/SW),by=sign(X1+X4)]
+Di[,.(sum(Weight),sum(Weight)/323818.9),by=.(sign(X1),sign(X4))]
+Di[,.(sum(Weight),sum(Weight)/SW),by=.(sign(X1+X4),Region)]
+Di[,weighted.mean(X4,Weight),by=sign(X1+X4)]
+Di[,weighted.mean(X4,Weight),by=.(sign(X1+X4),Region)]
+
+
+Di[,.(sum(Weight),sum(Weight)/SW),by=sign(X5)]
+Di[,.(sum(Weight),sum(Weight)/SW),by=.(sign(X5),Region)]
+Di[,weighted.mean(X5,Weight),by=sign(X5)]
+Di[,weighted.mean(X5,Weight),by=.(sign(X5),Region)]
+ggplot(Di[X5>0],aes(X5/1e7, weight=Weight)) + geom_histogram()
+
+
+Di[,.(.N, sum(Weight),sum(Weight)/SW),by=sign(X6)]
+Di[,.(sum(Weight),sum(Weight)/SW),by=.(sign(X6),Region)]
+Di[,weighted.mean(X6,Weight),by=sign(X6)]
+Di[,weighted.mean(X6,Weight),by=.(sign(X6),Region)]
+ggplot(Di[X6>0],aes(X6/1e7, weight=Weight)) + geom_histogram()
+Di[,.(sum(Weight),sum(Weight)/SW*12),by=sign(X6)]
+Di[,weighted.mean(X6,Weight)/12,by=sign(X6)]
+Di[,weighted.mean(X6,Weight)/12,by=.(sign(X6),sign(X6-1e8))]
+ggplot(Di[X6>0],aes(X6/12e7, weight=Weight*12)) + geom_histogram()
+
+
+Di[,X7T:=X7+X7A]
+
+Di[,.(sum(Weight),sum(Weight)/SW),by=sign(X7)]
+Di[,.(sum(Weight),sum(Weight)/SW),by=.(sign(X7),Region)]
+Di[,weighted.mean(X7,Weight),by=sign(X7)]
+Di[,weighted.mean(X7,Weight),by=.(sign(X7),Region)]
+ggplot(Di[X7>0],aes(X7/1e7, weight=Weight)) + geom_histogram()
+
+Di[,.(sum(Weight),sum(Weight)/SW),by=sign(X7A)]
+Di[,.(sum(Weight),sum(Weight)/SW),by=.(sign(X7A),Region)]
+Di[,weighted.mean(X7A,Weight),by=sign(X7A)]
+Di[,weighted.mean(X7A,Weight),by=.(sign(X7A),Region)]
+ggplot(Di[X7A>0],aes(X7A/1e7, weight=Weight)) + geom_histogram()
+
+Di[,.(sum(Weight),sum(Weight)/SW),by=sign(X7T)]
+Di[,.(sum(Weight),sum(Weight)/SW),by=.(sign(X7T),Region)]
+Di[,weighted.mean(X7T,Weight),by=sign(X7T)]
+Di[,weighted.mean(X7T,Weight),by=.(sign(X7T),Region)]
+ggplot(Di[X7T>0],aes(X7T/1e7, weight=Weight)) + geom_histogram()
+
+
+Di[,.(sum(Weight),sum(Weight)/SW),by=sign(X9A)]
+Di[,.(sum(Weight),sum(Weight)/SW),by=.(sign(X9A),Region)]
+Di[,weighted.mean(X9A,Weight),by=sign(X9A)]
+Di[,weighted.mean(X9A,Weight),by=.(sign(X9A),Region)]
+ggplot(Di[X9A>0],aes(X9A/1e7, weight=Weight)) + geom_histogram()
+
+
+# library(questionr)
+#
+# wtd.table(D$NInfants, D$NSmallKids,weights = D$Weight)
+#
+# library(XLConnect)
+#
+# writeWorksheetToFile(file = "D:/InfantExp.xlsx", data =
+# D[,lapply(.SD,weighted.mean,Weight),.SDcols=c(22:23, 30:45)]
+# ,sheet = "All")
+# writeWorksheetToFile(file = "D:/InfantExp.xlsx", data =
+# D[,lapply(.SD,weighted.mean,Weight),.SDcols=c(22:23, 30:45),by=NInfants]
+# ,sheet = "NInfants")
+# writeWorksheetToFile(file = "D:/InfantExp.xlsx", data =
+# D[,lapply(.SD,weighted.mean,Weight),.SDcols=c(22:23, 30:45),by=NSmallKids]
+# ,sheet = "NSmallKids")
+# writeWorksheetToFile(file = "D:/InfantExp.xlsx", data =
+# D[,lapply(.SD,weighted.mean,Weight),.SDcols=c(22:23, 30:45),by=.(NInfants,NSmallKids)]
+# ,sheet = "Both")
+#
+#
+# D[NInfants>0,lapply(.SD,weighted.mean,Weight),.SDcols=c(22:23, 30:45)]
+# D[NInfants>0,lapply(.SD,weighted.mean,Weight),.SDcols=c(22:23, 30:45)]
+#
+# D[X9A>0,lapply(.SD,weighted.mean,Weight),.SDcols=c(45),by=.(NInfants,NSmallKids)]
diff --git a/R/Archive/27.1-Amusement-TS.R b/R/Archive/27.1-Amusement-TS.R
new file mode 100644
index 00000000..5c59d747
--- /dev/null
+++ b/R/Archive/27.1-Amusement-TS.R
@@ -0,0 +1,76 @@
+# 27-Amusement-TS.R
+#
+#
+# Copyright © 2017: Arin Shahbazian
+# Licence: GPL-3
+#
+rm(list=ls())
+
+starttime <- proc.time()
+cat("\n\n================ Amusement =====================================\n")
+
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+library(readxl)
+library(data.table)
+library(XLConnect)
+
+load(Settings$weightsFile)
+RegionWeights <- data.table(read_excel(Settings$MetaDataFilePath,sheet=Settings$MDS_Rough_Weights))
+
+BigD <- data.table(Region = character(0), HHID = numeric(0), Year = integer(0),
+ Quarter = numeric(0), Month = numeric(0), ProvinceCode = integer(0),
+ Amusement_Exp = numeric(0),
+ Weight = numeric(0))
+
+
+for(year in (Settings$startyear:Settings$endyear)){
+ cat(paste0("\n------------------------------\nYear:",year,"\n"))
+ if(!file.exists(paste0(Settings$HEISProcessedPath,"Y",year,"Amusements.rda")))
+ { cat("next")
+ next
+ }
+
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"HHBase.rda"))
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"Amusements.rda"))
+
+ D <- merge(HHBase,AmusementData,by="HHID", all.x = TRUE)
+
+ W <- AllWeights[Year==year]
+ W[,Year:=NULL]
+ W_Rough <- RegionWeights[Year==year]
+ W_Rough <- W_Rough[,list(Region,Weight)]
+ if(nrow(W)==0){
+ D <- merge(D,W_Rough,by="Region", all.x = TRUE)
+ }else{
+ D <- merge(D,W,by="HHID", all.x = TRUE)
+ }
+
+ D <- D[,list(HHID, Region, Year, Quarter, Month, ProvinceCode, Amusement_Exp, Weight)]
+
+ D[is.na(Quarter), Quarter:=4]
+ BigD[is.na(Amusement_Exp),Amusement_Exp:=0]
+ BigD <- BigD[!is.na(Weight)]
+ BigD <- rbind(BigD,D)
+
+ # cat("\n",year,",",sum(D$FoodExpenditure*D$Weight))
+}
+
+
+
+
+Amusement.Q <- BigD[,.(SM=sum(Amusement_Exp*Weight, na.rm = TRUE)),by=.(Year,Quarter)]
+
+Amusement.Y <- BigD[,.(SM=sum(Amusement_Exp*Weight, na.rm = TRUE)),by=Year]
+
+
+writeWorksheetToFile(data = Amusement.Q, file = paste0(Settings$HEISResultsPath,"Timeseries.xlsx"),sheet = "Amusement.Q")
+
+writeWorksheetToFile(data = Amusement.Y, file = paste0(Settings$HEISResultsPath,"Timeseries.xlsx"),sheet = "Amusement.Y")
+
+
+endtime <- proc.time()
+
+cat("\n\n============================\nIt took ")
+cat(endtime-starttime)
\ No newline at end of file
diff --git a/R/Archive/27.1-Cigar-TS.R b/R/Archive/27.1-Cigar-TS.R
new file mode 100644
index 00000000..6d255233
--- /dev/null
+++ b/R/Archive/27.1-Cigar-TS.R
@@ -0,0 +1,76 @@
+# 27-Cigar-TS
+#
+#
+# Copyright © 2017: Arin Shahbazian
+# Licence: GPL-3
+#
+rm(list=ls())
+
+starttime <- proc.time()
+cat("\n\n================ Cigar =====================================\n")
+
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+library(readxl)
+library(data.table)
+library(XLConnect)
+
+load(Settings$weightsFile)
+RegionWeights <- data.table(read_excel(Settings$MetaDataFilePath,sheet=Settings$MDS_Rough_Weights))
+
+BigD <- data.table(Region = character(0), HHID = numeric(0), Year = integer(0),
+ Quarter = numeric(0), Month = numeric(0), ProvinceCode = integer(0),
+ Cigar_Exp = numeric(0),
+ Weight = numeric(0))
+
+
+for(year in (Settings$startyear:Settings$endyear)){
+ cat(paste0("\n------------------------------\nYear:",year,"\n"))
+ if(!file.exists(paste0(Settings$HEISProcessedPath,"Y",year,"Cigars.rda")))
+ { cat("next")
+ next
+ }
+
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"HHBase.rda"))
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"Cigars.rda"))
+
+ D <- merge(HHBase,CigarData,by="HHID", all.x = TRUE)
+
+ W <- AllWeights[Year==year]
+ W[,Year:=NULL]
+ W_Rough <- RegionWeights[Year==year]
+ W_Rough <- W_Rough[,list(Region,Weight)]
+ if(nrow(W)==0){
+ D <- merge(D,W_Rough,by="Region", all.x = TRUE)
+ }else{
+ D <- merge(D,W,by="HHID", all.x = TRUE)
+ }
+
+ D <- D[,list(HHID, Region, Year, Quarter, Month, ProvinceCode, Cigar_Exp, Weight)]
+
+ D[is.na(Quarter), Quarter:=4]
+ BigD[is.na(Cigar_Exp),Cigar_Exp:=0]
+ BigD <- BigD[!is.na(Weight)]
+ BigD <- rbind(BigD,D)
+
+ # cat("\n",year,",",sum(D$FoodExpenditure*D$Weight))
+}
+
+
+
+
+Cigar.Q <- BigD[,.(SM=sum(Cigar_Exp*Weight, na.rm = TRUE)),by=.(Year,Quarter)]
+
+Cigar.Y <- BigD[,.(SM=sum(Cigar_Exp*Weight, na.rm = TRUE)),by=Year]
+
+
+writeWorksheetToFile(data = Cigar.Q, file = paste0(Settings$HEISResultsPath,"Timeseries.xlsx"),sheet = "Cigar.Q")
+
+writeWorksheetToFile(data = Cigar.Y, file = paste0(Settings$HEISResultsPath,"Timeseries.xlsx"),sheet = "Cigar.Y")
+
+
+endtime <- proc.time()
+
+cat("\n\n============================\nIt took ")
+cat(endtime-starttime)
\ No newline at end of file
diff --git a/R/Archive/27.1-Cloth-TS.R b/R/Archive/27.1-Cloth-TS.R
new file mode 100644
index 00000000..3b0a4351
--- /dev/null
+++ b/R/Archive/27.1-Cloth-TS.R
@@ -0,0 +1,76 @@
+# 27-Cloth-TS.R
+#
+#
+# Copyright © 2017: Arin Shahbazian
+# Licence: GPL-3
+#
+rm(list=ls())
+
+starttime <- proc.time()
+cat("\n\n================ Cloth =====================================\n")
+
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+library(readxl)
+library(data.table)
+library(XLConnect)
+
+load(Settings$weightsFile)
+RegionWeights <- data.table(read_excel(Settings$MetaDataFilePath,sheet=Settings$MDS_Rough_Weights))
+
+BigD <- data.table(Region = character(0), HHID = numeric(0), Year = integer(0),
+ Quarter = numeric(0), Month = numeric(0), ProvinceCode = integer(0),
+ Cloth_Exp = numeric(0),
+ Weight = numeric(0))
+
+
+for(year in (Settings$startyear:Settings$endyear)){
+ cat(paste0("\n------------------------------\nYear:",year,"\n"))
+ if(!file.exists(paste0(Settings$HEISProcessedPath,"Y",year,"Medicals.rda")))
+ { cat("next")
+ next
+ }
+
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"HHBase.rda"))
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"Cloths.rda"))
+
+ D <- merge(HHBase,ClothData,by="HHID", all.x = TRUE)
+
+ W <- AllWeights[Year==year]
+ W[,Year:=NULL]
+ W_Rough <- RegionWeights[Year==year]
+ W_Rough <- W_Rough[,list(Region,Weight)]
+ if(nrow(W)==0){
+ D <- merge(D,W_Rough,by="Region", all.x = TRUE)
+ }else{
+ D <- merge(D,W,by="HHID", all.x = TRUE)
+ }
+
+ D <- D[,list(HHID, Region, Year, Quarter, Month, ProvinceCode, Cloth_Exp, Weight)]
+
+ D[is.na(Quarter), Quarter:=4]
+ BigD[is.na(Cloth_Exp),Cloth_Exp:=0]
+ BigD <- BigD[!is.na(Weight)]
+ BigD <- rbind(BigD,D)
+
+ # cat("\n",year,",",sum(D$FoodExpenditure*D$Weight))
+}
+
+
+
+
+Cloth.Q <- BigD[,.(SM=sum(Cloth_Exp*Weight, na.rm = TRUE)),by=.(Year,Quarter)]
+
+Cloth.Y <- BigD[,.(SM=sum(Cloth_Exp*Weight, na.rm = TRUE)),by=Year]
+
+
+writeWorksheetToFile(data = Cloth.Q, file = paste0(Settings$HEISResultsPath,"Timeseries.xlsx"),sheet = "Cloths.Q")
+
+writeWorksheetToFile(data = Cloth.Y, file = paste0(Settings$HEISResultsPath,"Timeseries.xlsx"),sheet = "Cloths.Y")
+
+
+endtime <- proc.time()
+
+cat("\n\n============================\nIt took ")
+cat(endtime-starttime)
\ No newline at end of file
diff --git a/R/Archive/27.1-Communication-TS.R b/R/Archive/27.1-Communication-TS.R
new file mode 100644
index 00000000..c2d8188e
--- /dev/null
+++ b/R/Archive/27.1-Communication-TS.R
@@ -0,0 +1,76 @@
+# 27-Communication-TS.R
+#
+#
+# Copyright © 2017: Arin Shahbazian
+# Licence: GPL-3
+#
+rm(list=ls())
+
+starttime <- proc.time()
+cat("\n\n================ Communication =====================================\n")
+
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+library(readxl)
+library(data.table)
+library(XLConnect)
+
+load(Settings$weightsFile)
+RegionWeights <- data.table(read_excel(Settings$MetaDataFilePath,sheet=Settings$MDS_Rough_Weights))
+
+BigD <- data.table(Region = character(0), HHID = numeric(0), Year = integer(0),
+ Quarter = numeric(0), Month = numeric(0), ProvinceCode = integer(0),
+ Communication_Exp = numeric(0),
+ Weight = numeric(0))
+
+
+for(year in (Settings$startyear:Settings$endyear)){
+ cat(paste0("\n------------------------------\nYear:",year,"\n"))
+ if(!file.exists(paste0(Settings$HEISProcessedPath,"Y",year,"Communications.rda")))
+ { cat("next")
+ next
+ }
+
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"HHBase.rda"))
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"Communications.rda"))
+
+ D <- merge(HHBase,CommunicationData,by="HHID", all.x = TRUE)
+
+ W <- AllWeights[Year==year]
+ W[,Year:=NULL]
+ W_Rough <- RegionWeights[Year==year]
+ W_Rough <- W_Rough[,list(Region,Weight)]
+ if(nrow(W)==0){
+ D <- merge(D,W_Rough,by="Region", all.x = TRUE)
+ }else{
+ D <- merge(D,W,by="HHID", all.x = TRUE)
+ }
+
+ D <- D[,list(HHID, Region, Year, Quarter, Month, ProvinceCode, Communication_Exp, Weight)]
+
+ D[is.na(Quarter), Quarter:=4]
+ BigD[is.na(Communication_Exp),Communication_Exp:=0]
+ BigD <- BigD[!is.na(Weight)]
+ BigD <- rbind(BigD,D)
+
+ # cat("\n",year,",",sum(D$FoodExpenditure*D$Weight))
+}
+
+
+
+
+Communication.Q <- BigD[,.(SM=sum(Communication_Exp*Weight, na.rm = TRUE)),by=.(Year,Quarter)]
+
+Communication.Y <- BigD[,.(SM=sum(Communication_Exp*Weight, na.rm = TRUE)),by=Year]
+
+
+writeWorksheetToFile(data = Communication.Q, file = paste0(Settings$HEISResultsPath,"Timeseries.xlsx"),sheet = "Communication.Q")
+
+writeWorksheetToFile(data = Communication.Y, file = paste0(Settings$HEISResultsPath,"Timeseries.xlsx"),sheet = "Communication.Y")
+
+
+endtime <- proc.time()
+
+cat("\n\n============================\nIt took ")
+cat(endtime-starttime)
\ No newline at end of file
diff --git a/R/Archive/27.1-Durable-TS.R b/R/Archive/27.1-Durable-TS.R
new file mode 100644
index 00000000..90b49b72
--- /dev/null
+++ b/R/Archive/27.1-Durable-TS.R
@@ -0,0 +1,76 @@
+# 27-Durable-TS
+#
+#
+# Copyright © 2017: Arin Shahbazian
+# Licence: GPL-3
+#
+rm(list=ls())
+
+starttime <- proc.time()
+cat("\n\n================ Durable =====================================\n")
+
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+library(readxl)
+library(data.table)
+library(XLConnect)
+
+load(Settings$weightsFile)
+RegionWeights <- data.table(read_excel(Settings$MetaDataFilePath,sheet=Settings$MDS_Rough_Weights))
+
+BigD <- data.table(Region = character(0), HHID = numeric(0), Year = integer(0),
+ Quarter = numeric(0), Month = numeric(0), ProvinceCode = integer(0),
+ Durable_Exp = numeric(0),
+ Weight = numeric(0))
+
+
+for(year in (Settings$startyear:Settings$endyear)){
+ cat(paste0("\n------------------------------\nYear:",year,"\n"))
+ if(!file.exists(paste0(Settings$HEISProcessedPath,"Y",year,"Durables.rda")))
+ { cat("next")
+ next
+ }
+
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"HHBase.rda"))
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"Durables.rda"))
+
+ D <- merge(HHBase,DurableData,by="HHID", all.x = TRUE)
+
+ W <- AllWeights[Year==year]
+ W[,Year:=NULL]
+ W_Rough <- RegionWeights[Year==year]
+ W_Rough <- W_Rough[,list(Region,Weight)]
+ if(nrow(W)==0){
+ D <- merge(D,W_Rough,by="Region", all.x = TRUE)
+ }else{
+ D <- merge(D,W,by="HHID", all.x = TRUE)
+ }
+
+ D <- D[,list(HHID, Region, Year, Quarter, Month, ProvinceCode, Durable_Exp, Weight)]
+
+ D[is.na(Quarter), Quarter:=4]
+ BigD[is.na(Durable_Exp),Durable_Exp:=0]
+ BigD <- BigD[!is.na(Weight)]
+ BigD <- rbind(BigD,D)
+
+ # cat("\n",year,",",sum(D$FoodExpenditure*D$Weight))
+}
+
+
+
+
+#Durable.Q <- BigD[,.(SM=sum(Durable_Exp*Weight, na.rm = TRUE)),by=.(Year,Quarter)]
+
+Durable.Y <- BigD[,.(SM=sum(Durable_Exp*Weight, na.rm = TRUE)),by=Year]
+
+
+#writeWorksheetToFile(data = Durable.Q, file = paste0(Settings$HEISResultsPath,"Timeseries.xlsx"),sheet = "Durable.Q")
+
+writeWorksheetToFile(data = Durable.Y, file = paste0(Settings$HEISResultsPath,"Timeseries.xlsx"),sheet = "Durable.Y")
+
+
+endtime <- proc.time()
+
+cat("\n\n============================\nIt took ")
+cat(endtime-starttime)
\ No newline at end of file
diff --git a/R/Archive/27.1-Education-TS.R b/R/Archive/27.1-Education-TS.R
new file mode 100644
index 00000000..3cc749b9
--- /dev/null
+++ b/R/Archive/27.1-Education-TS.R
@@ -0,0 +1,76 @@
+# 27-Education-TS
+#
+#
+# Copyright © 2017: Arin Shahbazian
+# Licence: GPL-3
+#
+rm(list=ls())
+
+starttime <- proc.time()
+cat("\n\n================ Education =====================================\n")
+
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+library(readxl)
+library(data.table)
+library(XLConnect)
+
+load(Settings$weightsFile)
+RegionWeights <- data.table(read_excel(Settings$MetaDataFilePath,sheet=Settings$MDS_Rough_Weights))
+
+BigD <- data.table(Region = character(0), HHID = numeric(0), Year = integer(0),
+ Quarter = numeric(0), Month = numeric(0), ProvinceCode = integer(0),
+ EducExpenditure = numeric(0),
+ Weight = numeric(0))
+
+
+for(year in (Settings$startyear:Settings$endyear)){
+ cat(paste0("\n------------------------------\nYear:",year,"\n"))
+ if(!file.exists(paste0(Settings$HEISProcessedPath,"Y",year,"Education.rda")))
+ { cat("next")
+ next
+ }
+
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"HHBase.rda"))
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"Education.rda"))
+
+ D <- merge(HHBase,EducData,by="HHID", all.x = TRUE)
+
+ W <- AllWeights[Year==year]
+ W[,Year:=NULL]
+ W_Rough <- RegionWeights[Year==year]
+ W_Rough <- W_Rough[,list(Region,Weight)]
+ if(nrow(W)==0){
+ D <- merge(D,W_Rough,by="Region", all.x = TRUE)
+ }else{
+ D <- merge(D,W,by="HHID", all.x = TRUE)
+ }
+
+ D <- D[,list(HHID, Region, Year, Quarter, Month, ProvinceCode, EducExpenditure, Weight)]
+
+ D[is.na(Quarter), Quarter:=4]
+ BigD[is.na(EducExpenditure),EducExpenditure:=0]
+ BigD <- BigD[!is.na(Weight)]
+ BigD <- rbind(BigD,D)
+
+ # cat("\n",year,",",sum(D$FoodExpenditure*D$Weight))
+}
+
+
+
+
+E.Q <- BigD[,.(SE=sum(EducExpenditure*Weight, na.rm = TRUE)),by=.(Year,Quarter)]
+
+E.Y <- BigD[,.(SE=sum(EducExpenditure*Weight, na.rm = TRUE)),by=Year]
+
+
+writeWorksheetToFile(data = E.Q, file = paste0(Settings$HEISResultsPath,"Timeseries.xlsx"),sheet = "Education.Q")
+
+writeWorksheetToFile(data = E.Y, file = paste0(Settings$HEISResultsPath,"Timeseries.xlsx"),sheet = "Education.Y")
+
+
+endtime <- proc.time()
+
+cat("\n\n============================\nIt took ")
+cat(endtime-starttime)
\ No newline at end of file
diff --git a/R/Archive/27.1-Energy-TS.R b/R/Archive/27.1-Energy-TS.R
new file mode 100644
index 00000000..ea8da7af
--- /dev/null
+++ b/R/Archive/27.1-Energy-TS.R
@@ -0,0 +1,76 @@
+# 27-Energy-TS
+#
+#
+# Copyright © 2017: Arin Shahbazian
+# Licence: GPL-3
+#
+rm(list=ls())
+
+starttime <- proc.time()
+cat("\n\n================ Energy =====================================\n")
+
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+library(readxl)
+library(data.table)
+library(XLConnect)
+
+load(Settings$weightsFile)
+RegionWeights <- data.table(read_excel(Settings$MetaDataFilePath,sheet=Settings$MDS_Rough_Weights))
+
+BigD <- data.table(Region = character(0), HHID = numeric(0), Year = integer(0),
+ Quarter = numeric(0), Month = numeric(0), ProvinceCode = integer(0),
+ Energy_Exp = numeric(0),
+ Weight = numeric(0))
+
+
+for(year in (Settings$startyear:Settings$endyear)){
+ cat(paste0("\n------------------------------\nYear:",year,"\n"))
+ if(!file.exists(paste0(Settings$HEISProcessedPath,"Y",year,"Energy.rda")))
+ { cat("next")
+ next
+ }
+
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"HHBase.rda"))
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"Energy.rda"))
+
+ D <- merge(HHBase,EnergyData,by="HHID", all.x = TRUE)
+
+ W <- AllWeights[Year==year]
+ W[,Year:=NULL]
+ W_Rough <- RegionWeights[Year==year]
+ W_Rough <- W_Rough[,list(Region,Weight)]
+ if(nrow(W)==0){
+ D <- merge(D,W_Rough,by="Region", all.x = TRUE)
+ }else{
+ D <- merge(D,W,by="HHID", all.x = TRUE)
+ }
+
+ D <- D[,list(HHID, Region, Year, Quarter, Month, ProvinceCode, Energy_Exp, Weight)]
+
+ D[is.na(Quarter), Quarter:=4]
+ BigD[is.na(Energy_Exp),Energy_Exp:=0]
+ BigD <- BigD[!is.na(Weight)]
+ BigD <- rbind(BigD,D)
+
+ # cat("\n",year,",",sum(D$FoodExpenditure*D$Weight))
+}
+
+
+
+
+Energy.Q <- BigD[,.(SM=sum(Energy_Exp*Weight, na.rm = TRUE)),by=.(Year,Quarter)]
+
+Energy.Y <- BigD[,.(SM=sum(Energy_Exp*Weight, na.rm = TRUE)),by=Year]
+
+
+writeWorksheetToFile(data = Energy.Q, file = paste0(Settings$HEISResultsPath,"Timeseries.xlsx"),sheet = "Energy.Q")
+
+writeWorksheetToFile(data = Energy.Y, file = paste0(Settings$HEISResultsPath,"Timeseries.xlsx"),sheet = "Energy.Y")
+
+
+endtime <- proc.time()
+
+cat("\n\n============================\nIt took ")
+cat(endtime-starttime)
\ No newline at end of file
diff --git a/R/Archive/27.1-Furniture-TS.R b/R/Archive/27.1-Furniture-TS.R
new file mode 100644
index 00000000..8b5a5344
--- /dev/null
+++ b/R/Archive/27.1-Furniture-TS.R
@@ -0,0 +1,76 @@
+# 27-Furniture-TS.R
+#
+#
+# Copyright © 2017: Arin Shahbazian
+# Licence: GPL-3
+#
+rm(list=ls())
+
+starttime <- proc.time()
+cat("\n\n================ Furniture =====================================\n")
+
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+library(readxl)
+library(data.table)
+library(XLConnect)
+
+load(Settings$weightsFile)
+RegionWeights <- data.table(read_excel(Settings$MetaDataFilePath,sheet=Settings$MDS_Rough_Weights))
+
+BigD <- data.table(Region = character(0), HHID = numeric(0), Year = integer(0),
+ Quarter = numeric(0), Month = numeric(0), ProvinceCode = integer(0),
+ Furniture_Exp = numeric(0),
+ Weight = numeric(0))
+
+
+for(year in (Settings$startyear:Settings$endyear)){
+ cat(paste0("\n------------------------------\nYear:",year,"\n"))
+ if(!file.exists(paste0(Settings$HEISProcessedPath,"Y",year,"Furnitures.rda")))
+ { cat("next")
+ next
+ }
+
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"HHBase.rda"))
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"Furnitures.rda"))
+
+ D <- merge(HHBase,FurnitureData,by="HHID", all.x = TRUE)
+
+ W <- AllWeights[Year==year]
+ W[,Year:=NULL]
+ W_Rough <- RegionWeights[Year==year]
+ W_Rough <- W_Rough[,list(Region,Weight)]
+ if(nrow(W)==0){
+ D <- merge(D,W_Rough,by="Region", all.x = TRUE)
+ }else{
+ D <- merge(D,W,by="HHID", all.x = TRUE)
+ }
+
+ D <- D[,list(HHID, Region, Year, Quarter, Month, ProvinceCode, Furniture_Exp, Weight)]
+
+ D[is.na(Quarter), Quarter:=4]
+ BigD[is.na(Furniture_Exp),Furniture_Exp:=0]
+ BigD <- BigD[!is.na(Weight)]
+ BigD <- rbind(BigD,D)
+
+ # cat("\n",year,",",sum(D$FoodExpenditure*D$Weight))
+}
+
+
+
+
+Furniture.Q <- BigD[,.(SM=sum(Furniture_Exp*Weight, na.rm = TRUE)),by=.(Year,Quarter)]
+
+Furniture.Y <- BigD[,.(SM=sum(Furniture_Exp*Weight, na.rm = TRUE)),by=Year]
+
+
+writeWorksheetToFile(data = Furniture.Q, file = paste0(Settings$HEISResultsPath,"Timeseries.xlsx"),sheet = "Furniture.Q")
+
+writeWorksheetToFile(data = Furniture.Y, file = paste0(Settings$HEISResultsPath,"Timeseries.xlsx"),sheet = "Furniture.Y")
+
+
+endtime <- proc.time()
+
+cat("\n\n============================\nIt took ")
+cat(endtime-starttime)
\ No newline at end of file
diff --git a/R/Archive/27.1-HHFoods-TS.R b/R/Archive/27.1-HHFoods-TS.R
new file mode 100644
index 00000000..32d76da1
--- /dev/null
+++ b/R/Archive/27.1-HHFoods-TS.R
@@ -0,0 +1,76 @@
+# 31-Foods-TS
+#
+#
+# Copyright © 2017: Arin Shahbazian
+# Licence: GPL-3
+#
+rm(list=ls())
+
+starttime <- proc.time()
+cat("\n\n================ Foods =====================================\n")
+
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+library(readxl)
+library(data.table)
+library(XLConnect)
+
+load(Settings$weightsFile)
+RegionWeights <- data.table(read_excel(Settings$MetaDataFilePath,sheet=Settings$MDS_Rough_Weights))
+
+BigD <- data.table(Region = character(0), HHID = numeric(0), Year = integer(0),
+ Quarter = numeric(0), Month = numeric(0), ProvinceCode = integer(0),
+ FoodExpenditure = numeric(0),
+ Weight = numeric(0))
+
+
+for(year in (Settings$startyear:Settings$endyear)){
+ cat(paste0("\n------------------------------\nYear:",year,"\n"))
+ if(!file.exists(paste0(Settings$HEISProcessedPath,"Y",year,"Foods.rda")))
+ { cat("next")
+ next
+ }
+
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"HHBase.rda"))
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"Foods.rda"))
+
+ D <- merge(HHBase,FoodData,by="HHID", all.x = TRUE)
+
+ W <- AllWeights[Year==year]
+ W[,Year:=NULL]
+ W_Rough <- RegionWeights[Year==year]
+ W_Rough <- W_Rough[,list(Region,Weight)]
+ if(nrow(W)==0){
+ D <- merge(D,W_Rough,by="Region", all.x = TRUE)
+ }else{
+ D <- merge(D,W,by="HHID", all.x = TRUE)
+ }
+
+ D <- D[,list(HHID, Region, Year, Quarter, Month, ProvinceCode, FoodExpenditure, Weight)]
+
+ D[is.na(Quarter), Quarter:=4]
+
+ BigD <- rbind(BigD,D)
+
+ # cat("\n",year,",",sum(D$FoodExpenditure*D$Weight))
+}
+
+BigD[is.na(FoodExpenditure),FoodExpenditure:=0]
+BigD <- BigD[!is.na(Weight)]
+
+
+F.Q <- BigD[,.(SF=sum(FoodExpenditure*Weight, na.rm = TRUE)),by=.(Year,Quarter)]
+
+F.Y <- BigD[,.(SF=sum(FoodExpenditure*Weight, na.rm = TRUE)),by=Year]
+
+
+writeWorksheetToFile(data = F.Q, file = paste0(Settings$HEISResultsPath,"Timeseries.xlsx"),sheet = "Food.Q")
+
+writeWorksheetToFile(data = F.Y, file = paste0(Settings$HEISResultsPath,"Timeseries.xlsx"),sheet = "Food.Y")
+
+
+endtime <- proc.time()
+
+cat("\n\n============================\nIt took ")
+cat(endtime-starttime)
\ No newline at end of file
diff --git a/R/Archive/27.1-Hotel-TS.R b/R/Archive/27.1-Hotel-TS.R
new file mode 100644
index 00000000..3df7a2e2
--- /dev/null
+++ b/R/Archive/27.1-Hotel-TS.R
@@ -0,0 +1,76 @@
+# 27-Hotel-TS
+#
+#
+# Copyright © 2017: Arin Shahbazian
+# Licence: GPL-3
+#
+rm(list=ls())
+
+starttime <- proc.time()
+cat("\n\n================ Hotel =====================================\n")
+
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+library(readxl)
+library(data.table)
+library(XLConnect)
+
+load(Settings$weightsFile)
+RegionWeights <- data.table(read_excel(Settings$MetaDataFilePath,sheet=Settings$MDS_Rough_Weights))
+
+BigD <- data.table(Region = character(0), HHID = numeric(0), Year = integer(0),
+ Quarter = numeric(0), Month = numeric(0), ProvinceCode = integer(0),
+ Hotel_Exp = numeric(0),
+ Weight = numeric(0))
+
+
+for(year in (Settings$startyear:Settings$endyear)){
+ cat(paste0("\n------------------------------\nYear:",year,"\n"))
+ if(!file.exists(paste0(Settings$HEISProcessedPath,"Y",year,"Hotels.rda")))
+ { cat("next")
+ next
+ }
+
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"HHBase.rda"))
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"Hotels.rda"))
+
+ D <- merge(HHBase,HotelData,by="HHID", all.x = TRUE)
+
+ W <- AllWeights[Year==year]
+ W[,Year:=NULL]
+ W_Rough <- RegionWeights[Year==year]
+ W_Rough <- W_Rough[,list(Region,Weight)]
+ if(nrow(W)==0){
+ D <- merge(D,W_Rough,by="Region", all.x = TRUE)
+ }else{
+ D <- merge(D,W,by="HHID", all.x = TRUE)
+ }
+
+ D <- D[,list(HHID, Region, Year, Quarter, Month, ProvinceCode, Hotel_Exp, Weight)]
+
+ D[is.na(Quarter), Quarter:=4]
+ BigD[is.na(Hotel_Exp),Hotel_Exp:=0]
+ BigD <- BigD[!is.na(Weight)]
+ BigD <- rbind(BigD,D)
+
+ # cat("\n",year,",",sum(D$FoodExpenditure*D$Weight))
+}
+
+
+
+
+Hotel.Q <- BigD[,.(SM=sum(Hotel_Exp*Weight, na.rm = TRUE)),by=.(Year,Quarter)]
+
+Hotel.Y <- BigD[,.(SM=sum(Hotel_Exp*Weight, na.rm = TRUE)),by=Year]
+
+
+writeWorksheetToFile(data = Hotel.Q, file = paste0(Settings$HEISResultsPath,"Timeseries.xlsx"),sheet = "Hotel.Q")
+
+writeWorksheetToFile(data = Hotel.Y, file = paste0(Settings$HEISResultsPath,"Timeseries.xlsx"),sheet = "Hotel.Y")
+
+
+endtime <- proc.time()
+
+cat("\n\n============================\nIt took ")
+cat(endtime-starttime)
\ No newline at end of file
diff --git a/R/Archive/27.1-Investment-TS.R b/R/Archive/27.1-Investment-TS.R
new file mode 100644
index 00000000..a9397986
--- /dev/null
+++ b/R/Archive/27.1-Investment-TS.R
@@ -0,0 +1,73 @@
+# 27-Investment-TS
+#
+#
+# Copyright © 2017: Arin Shahbazian
+# Licence: GPL-3
+#
+rm(list=ls())
+
+starttime <- proc.time()
+cat("\n\n================ Investment =====================================\n")
+
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+library(readxl)
+library(data.table)
+library(XLConnect)
+
+load(Settings$weightsFile)
+RegionWeights <- data.table(read_excel(Settings$MetaDataFilePath,sheet=Settings$MDS_Rough_Weights))
+
+BigD <- data.table(Region = character(0), HHID = numeric(0), Year = integer(0),
+ Quarter = numeric(0), Month = numeric(0), ProvinceCode = integer(0),
+ Investment_Exp = numeric(0),
+ Weight = numeric(0))
+
+
+for(year in (Settings$startyear:Settings$endyear)){
+ cat(paste0("\n------------------------------\nYear:",year,"\n"))
+ if(!file.exists(paste0(Settings$HEISProcessedPath,"Y",year,"Investments.rda")))
+ { cat("next")
+ next
+ }
+
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"HHBase.rda"))
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"Investments.rda"))
+
+ D <- merge(HHBase,InvestmentData,by="HHID", all.x = TRUE)
+
+ W <- AllWeights[Year==year]
+ W[,Year:=NULL]
+ W_Rough <- RegionWeights[Year==year]
+ W_Rough <- W_Rough[,list(Region,Weight)]
+ if(nrow(W)==0){
+ D <- merge(D,W_Rough,by="Region", all.x = TRUE)
+ }else{
+ D <- merge(D,W,by="HHID", all.x = TRUE)
+ }
+
+ D <- D[,list(HHID, Region, Year, Quarter, Month, ProvinceCode, Investment_Exp, Weight)]
+
+ D[is.na(Quarter), Quarter:=4]
+ BigD[is.na(Investment_Exp),Investment_Exp:=0]
+ BigD <- BigD[!is.na(Weight)]
+ BigD <- rbind(BigD,D)
+
+ # cat("\n",year,",",sum(D$FoodExpenditure*D$Weight))
+}
+
+#Investment.Q <- BigD[,.(SM=sum(Investment_Exp*Weight, na.rm = TRUE)),by=.(Year,Quarter)]
+
+Investment.Y <- BigD[,.(SM=sum(Investment_Exp*Weight, na.rm = TRUE)),by=Year]
+
+
+#writeWorksheetToFile(data = Investment.Q, file = paste0(Settings$HEISResultsPath,"Timeseries.xlsx"),sheet = "Investment.Q")
+
+writeWorksheetToFile(data = Investment.Y, file = paste0(Settings$HEISResultsPath,"Timeseries.xlsx"),sheet = "Investment.Y")
+
+
+endtime <- proc.time()
+
+cat("\n\n============================\nIt took ")
+cat(endtime-starttime)
\ No newline at end of file
diff --git a/R/Archive/27.1-Medicals-TS.R b/R/Archive/27.1-Medicals-TS.R
new file mode 100644
index 00000000..72425603
--- /dev/null
+++ b/R/Archive/27.1-Medicals-TS.R
@@ -0,0 +1,76 @@
+# 26-Medicals-TS
+#
+#
+# Copyright © 2017: Arin Shahbazian
+# Licence: GPL-3
+#
+rm(list=ls())
+
+starttime <- proc.time()
+cat("\n\n================ Medicals =====================================\n")
+
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+library(readxl)
+library(data.table)
+library(XLConnect)
+
+load(Settings$weightsFile)
+RegionWeights <- data.table(read_excel(Settings$MetaDataFilePath,sheet=Settings$MDS_Rough_Weights))
+
+BigD <- data.table(Region = character(0), HHID = numeric(0), Year = integer(0),
+ Quarter = numeric(0), Month = numeric(0), ProvinceCode = integer(0),
+ Medical_Exp = numeric(0),
+ Weight = numeric(0))
+
+
+for(year in (Settings$startyear:Settings$endyear)){
+ cat(paste0("\n------------------------------\nYear:",year,"\n"))
+ if(!file.exists(paste0(Settings$HEISProcessedPath,"Y",year,"Medicals.rda")))
+ { cat("next")
+ next
+ }
+
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"HHBase.rda"))
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"Medicals.rda"))
+
+ D <- merge(HHBase,MedicalData,by="HHID", all.x = TRUE)
+
+ W <- AllWeights[Year==year]
+ W[,Year:=NULL]
+ W_Rough <- RegionWeights[Year==year]
+ W_Rough <- W_Rough[,list(Region,Weight)]
+ if(nrow(W)==0){
+ D <- merge(D,W_Rough,by="Region", all.x = TRUE)
+ }else{
+ D <- merge(D,W,by="HHID", all.x = TRUE)
+ }
+
+ D <- D[,list(HHID, Region, Year, Quarter, Month, ProvinceCode, Medical_Exp, Weight)]
+
+ D[is.na(Quarter), Quarter:=4]
+ BigD[is.na(Medical_Exp),Medical_Exp:=0]
+ BigD <- BigD[!is.na(Weight)]
+ BigD <- rbind(BigD,D)
+
+ # cat("\n",year,",",sum(D$FoodExpenditure*D$Weight))
+}
+
+
+
+
+M.Q <- BigD[,.(SM=sum(Medical_Exp*Weight, na.rm = TRUE)),by=.(Year,Quarter)]
+
+M.Y <- BigD[,.(SM=sum(Medical_Exp*Weight, na.rm = TRUE)),by=Year]
+
+
+writeWorksheetToFile(data = M.Q, file = paste0(Settings$HEISResultsPath,"Timeseries.xlsx"),sheet = "Medical.Q")
+
+writeWorksheetToFile(data = M.Y, file = paste0(Settings$HEISResultsPath,"Timeseries.xlsx"),sheet = "Medical.Y")
+
+
+endtime <- proc.time()
+
+cat("\n\n============================\nIt took ")
+cat(endtime-starttime)
\ No newline at end of file
diff --git a/R/Archive/27.1-Other-TS.R b/R/Archive/27.1-Other-TS.R
new file mode 100644
index 00000000..4c1dc34e
--- /dev/null
+++ b/R/Archive/27.1-Other-TS.R
@@ -0,0 +1,76 @@
+# 27-Other-TS
+#
+#
+# Copyright © 2017: Arin Shahbazian
+# Licence: GPL-3
+#
+rm(list=ls())
+
+starttime <- proc.time()
+cat("\n\n================ Other =====================================\n")
+
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+library(readxl)
+library(data.table)
+library(XLConnect)
+
+load(Settings$weightsFile)
+RegionWeights <- data.table(read_excel(Settings$MetaDataFilePath,sheet=Settings$MDS_Rough_Weights))
+
+BigD <- data.table(Region = character(0), HHID = numeric(0), Year = integer(0),
+ Quarter = numeric(0), Month = numeric(0), ProvinceCode = integer(0),
+ Other_Exp = numeric(0),
+ Weight = numeric(0))
+
+
+for(year in (Settings$startyear:Settings$endyear)){
+ cat(paste0("\n------------------------------\nYear:",year,"\n"))
+ if(!file.exists(paste0(Settings$HEISProcessedPath,"Y",year,"Others.rda")))
+ { cat("next")
+ next
+ }
+
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"HHBase.rda"))
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"Others.rda"))
+
+ D <- merge(HHBase,OtherData,by="HHID", all.x = TRUE)
+
+ W <- AllWeights[Year==year]
+ W[,Year:=NULL]
+ W_Rough <- RegionWeights[Year==year]
+ W_Rough <- W_Rough[,list(Region,Weight)]
+ if(nrow(W)==0){
+ D <- merge(D,W_Rough,by="Region", all.x = TRUE)
+ }else{
+ D <- merge(D,W,by="HHID", all.x = TRUE)
+ }
+
+ D <- D[,list(HHID, Region, Year, Quarter, Month, ProvinceCode, Other_Exp, Weight)]
+
+ D[is.na(Quarter), Quarter:=4]
+ BigD[is.na(Other_Exp),Other_Exp:=0]
+ BigD <- BigD[!is.na(Weight)]
+ BigD <- rbind(BigD,D)
+
+ # cat("\n",year,",",sum(D$FoodExpenditure*D$Weight))
+}
+
+
+
+
+Other.Q <- BigD[,.(SM=sum(Other_Exp*Weight, na.rm = TRUE)),by=.(Year,Quarter)]
+
+Other.Y <- BigD[,.(SM=sum(Other_Exp*Weight, na.rm = TRUE)),by=Year]
+
+
+writeWorksheetToFile(data = Other.Q, file = paste0(Settings$HEISResultsPath,"Timeseries.xlsx"),sheet = "Other.Q")
+
+writeWorksheetToFile(data = Other.Y, file = paste0(Settings$HEISResultsPath,"Timeseries.xlsx"),sheet = "Other.Y")
+
+
+endtime <- proc.time()
+
+cat("\n\n============================\nIt took ")
+cat(endtime-starttime)
\ No newline at end of file
diff --git a/R/Archive/27.1-Transportation-TS.R b/R/Archive/27.1-Transportation-TS.R
new file mode 100644
index 00000000..65790086
--- /dev/null
+++ b/R/Archive/27.1-Transportation-TS.R
@@ -0,0 +1,76 @@
+# 27-Transportation-TS.R
+#
+#
+# Copyright © 2017: Arin Shahbazian
+# Licence: GPL-3
+#
+rm(list=ls())
+
+starttime <- proc.time()
+cat("\n\n================ Transportation =====================================\n")
+
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+library(readxl)
+library(data.table)
+library(XLConnect)
+
+load(Settings$weightsFile)
+RegionWeights <- data.table(read_excel(Settings$MetaDataFilePath,sheet=Settings$MDS_Rough_Weights))
+
+BigD <- data.table(Region = character(0), HHID = numeric(0), Year = integer(0),
+ Quarter = numeric(0), Month = numeric(0), ProvinceCode = integer(0),
+ Transportation_Exp = numeric(0),
+ Weight = numeric(0))
+
+
+for(year in (Settings$startyear:Settings$endyear)){
+ cat(paste0("\n------------------------------\nYear:",year,"\n"))
+ if(!file.exists(paste0(Settings$HEISProcessedPath,"Y",year,"Transportations.rda")))
+ { cat("next")
+ next
+ }
+
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"HHBase.rda"))
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"Transportations.rda"))
+
+ D <- merge(HHBase,TransportationData,by="HHID", all.x = TRUE)
+
+ W <- AllWeights[Year==year]
+ W[,Year:=NULL]
+ W_Rough <- RegionWeights[Year==year]
+ W_Rough <- W_Rough[,list(Region,Weight)]
+ if(nrow(W)==0){
+ D <- merge(D,W_Rough,by="Region", all.x = TRUE)
+ }else{
+ D <- merge(D,W,by="HHID", all.x = TRUE)
+ }
+
+ D <- D[,list(HHID, Region, Year, Quarter, Month, ProvinceCode, Transportation_Exp, Weight)]
+
+ D[is.na(Quarter), Quarter:=4]
+ BigD[is.na(Transportation_Exp),Transportation_Exp:=0]
+ BigD <- BigD[!is.na(Weight)]
+ BigD <- rbind(BigD,D)
+
+ # cat("\n",year,",",sum(D$FoodExpenditure*D$Weight))
+}
+
+
+
+
+Transportation.Q <- BigD[,.(SM=sum(Transportation_Exp*Weight, na.rm = TRUE)),by=.(Year,Quarter)]
+
+Transportation.Y <- BigD[,.(SM=sum(Transportation_Exp*Weight, na.rm = TRUE)),by=Year]
+
+
+writeWorksheetToFile(data = Transportation.Q, file = paste0(Settings$HEISResultsPath,"Timeseries.xlsx"),sheet = "Transportation.Q")
+
+writeWorksheetToFile(data = Transportation.Y, file = paste0(Settings$HEISResultsPath,"Timeseries.xlsx"),sheet = "Transportation.Y")
+
+
+endtime <- proc.time()
+
+cat("\n\n============================\nIt took ")
+cat(endtime-starttime)
\ No newline at end of file
diff --git a/R/Archive/50-CBN Method.R b/R/Archive/50-CBN Method.R
new file mode 100644
index 00000000..cdd4bddb
--- /dev/null
+++ b/R/Archive/50-CBN Method.R
@@ -0,0 +1,154 @@
+#50-CBN Method.R
+#
+# Copyright 2018:Majid Einian- Arin Shahbazian
+# Licence: GPL-3
+
+rm(list=ls())
+
+starttime <- proc.time()
+cat("\n\n================ Prepare Data =====================================\n")
+
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+library(readxl)
+library(stringr)
+library(data.table)
+library(sm)
+library(ggplot2)
+library(spatstat)
+
+for(year in (Settings$startyear:Settings$endyear)){
+ cat(paste0("\n------------------------------\nYear:",year,"\n"))
+
+ #load Demos+FoodPrices+Weights
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"HHBase.rda"))
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"HHI.rda"))
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"BigFoodPrice.rda"))
+ load(file=paste0(Settings$HEISProcessedPath,"HHWeights",year,".rda"))
+ HHWeights[,Year:=NULL]
+
+ #load Expenditures
+ for(G in c("Foods","Cigars","Cloths","Amusements","Communications",
+ "Durables", "Education", "Energy", "Furnitures","Hotels",
+ "House", "Medicals","Behdashts","Transportations","Others",
+ "Resturants")){
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,G,".rda"))
+ }
+
+
+ #load Calories
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"Food_Calories.rda"))
+ FData[,Region:=NULL]
+ #for (col in c("FoodKCalories")) FData[is.na(get(col)), (col) := 0]
+ FData <- FData[FoodKCalories>0]
+
+ #merge groups
+ CBN<-merge(HHBase,HHI ,by =c("HHID"),all=TRUE)
+ CBN<-merge(CBN,FData ,by =c("HHID"),all=TRUE)
+ CBN<-merge(CBN,HHWeights ,by =c("HHID"),all=TRUE)
+ CBN<-merge(CBN,FoodData,by =c("HHID"),all=TRUE)
+ CBN<-merge(CBN,CigarData,by =c("HHID"),all=TRUE)
+ CBN<-merge(CBN,ClothData,by =c("HHID"),all=TRUE)
+ CBN<-merge(CBN,AmusementData,by =c("HHID"),all=TRUE)
+ CBN<-merge(CBN,CommunicationData,by =c("HHID"),all=TRUE)
+ CBN<-merge(CBN,EducData,by =c("HHID"),all=TRUE)
+ CBN<-merge(CBN,EnergyData,by =c("HHID"),all=TRUE)
+ CBN<-merge(CBN,FurnitureData,by =c("HHID"),all=TRUE)
+ CBN<-merge(CBN,HotelData,by =c("HHID"),all=TRUE)
+ CBN<-merge(CBN,BehdashtData,by =c("HHID"),all=TRUE)
+ CBN<-merge(CBN,TransportationData,by =c("HHID"),all=TRUE)
+ CBN<-merge(CBN,OtherData,by =c("HHID"),all=TRUE)
+ CBN<-merge(CBN,HouseData,by =c("HHID"),all=TRUE)
+ CBN<-merge(CBN,MedicalData,by =c("HHID"),all=TRUE)
+ CBN<-merge(CBN,DurableData,by =c("HHID"),all=TRUE)
+ CBN<-merge(CBN,ResturantData,by =c("HHID"),all=TRUE)
+ for (col in c("FoodExpenditure", "Cigar_Exp", "Cloth_Exp", "Amusement_Exp",
+ "Communication_Exp", "EducExpenditure", "Energy_Exp",
+ "Furniture_Exp", "Hotel_Exp", "Behdasht_Exp", "Transportation_Exp",
+ "Other_Exp", "ServiceExp", "Medical_Exp", "Durable_Exp",
+ "Resturant_Exp"))
+ CBN[is.na(get(col)), (col) := 0]
+
+
+ #Calculate Monthly Total Expenditures
+ nw <- c("FoodExpenditure", "Cigar_Exp", "Cloth_Exp",
+ "Amusement_Exp", "Communication_Exp", "EducExpenditure",
+ "Energy_Exp", "Furniture_Exp", "Hotel_Exp", "Behdasht_Exp",
+ "Transportation_Exp", "Other_Exp", "ServiceExp")
+ w <- c(nw, "Medical_Exp", "Durable_Exp")
+
+ CBN[, Total_Exp_Month := Reduce(`+`, .SD), .SDcols=w]
+ CBN[, Total_Exp_Month_nondurable := Reduce(`+`, .SD), .SDcols=nw]
+
+ CBN[,Total_Exp_Month_Per:=Total_Exp_Month/EqSizeOECD]
+ CBN[,Total_Exp_Month_Per_nondurable:=Total_Exp_Month_nondurable/EqSizeOECD]
+
+ CBN<-merge(CBN,BigFoodPrice,by=c("NewArea","Region"),all.x = TRUE)
+ CBN<-CBN[Size!=0 & FoodExpenditure!=0 & !is.na(FoodKCalories)]
+ #CBN[,Home_Per_Metr:=MetrPrice/EqSizeOECD]
+
+ #Calculate Per Values
+ CBN[,EqSizeCalory :=(Size-NKids) + NKids*(Settings$KCaloryNeed_Child/Settings$KCaloryNeed_Adult)]
+ CBN[,FoodExpenditure_Per :=FoodExpenditure/EqSizeCalory]
+ CBN[,FoodKCalories_Per:=FoodKCalories/EqSizeCalory]
+
+ #Calculate per_Calory from resturants
+ CBN[,Calory_Price:=(FoodExpenditure_Per/FoodKCalories_Per)]
+# CBN[,Calory_Price_Area:=weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=NewArea]
+ CBN[,Calory_Price_Area:=weighted.median(Calory_Price,Weight,na.rm = TRUE),by=NewArea]
+ CBN[,ResturantKCalories:=(Settings$OutFoodKCXShare*Resturant_Exp)/Calory_Price_Area]
+ for (col in c("ResturantKCalories")) CBN[is.na(get(col)), (col) := 0]
+ CBN[,TFoodKCalories:=FoodKCalories+ResturantKCalories]
+ CBN[,TFoodExpenditure:=FoodExpenditure+(Settings$OutFoodKCXShare*Resturant_Exp)]
+ # CBN[,weighted.mean(TFoodKCalories,Weight,na.rm = TRUE),by=NewArea]
+ # CBN[,weighted.mean(FoodKCalories,Weight,na.rm = TRUE),by=NewArea]
+
+ CBN[,TFoodExpenditure_Per :=TFoodExpenditure/EqSizeCalory]
+ CBN[,TFoodKCalories_Per:=TFoodKCalories/EqSizeCalory]
+
+
+ #Sort Expenditure data
+ CBN<- CBN[order(Total_Exp_Month_Per_nondurable)]
+
+ #Calculate cumulative weights
+ CBN<-CBN[Region=="Urban"]
+ sum(CBN$Weight)
+ CBN$cumweight <- cumsum(CBN$Weight)
+ tx <- max(CBN$cumweight)
+
+ #Calculate deciles by weights
+ CBN[,Decile:=cut(cumweight,breaks = seq(0,tx,tx/10),labels = 1:10)]
+ CBN[,Percentile:=cut(cumweight,breaks=seq(0,tx,tx/100),labels=1:100)]
+
+ #Assume that deciles 1 and 2 are poor
+ CBN[,Poor:=ifelse(Decile %in% 1:2,1,0)]
+ CBNPoor<-CBN[Poor==1]
+
+
+ #Food expenditures (equal 2100 KCAL)
+ CBNPoor[,Bundle_Value:=TFoodExpenditure_Per*Settings$KCaloryNeed_Adult/TFoodKCalories_Per]
+ CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=NewArea]
+
+ #Real Prices
+ T_Bundle_Value<-subset(CBNPoor, NewArea==2301, select=c(Bundle_Value,Home_Per_Metr,Weight))
+ Tehran_Bundle_Value1<-weighted.mean(T_Bundle_Value$Bundle_Value,T_Bundle_Value$Weight,na.rm = TRUE)
+ Tehran_Bundle_Value2<-weighted.mean(T_Bundle_Value$Home_Per_Metr,T_Bundle_Value$Weight,na.rm = TRUE)
+
+ CBNPoor[,RealPriceIndex1:=weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/Tehran_Bundle_Value1,by=NewArea]
+ CBNPoor[,RealPriceIndex2:=weighted.mean(Home_Per_Metr,Weight,na.rm = TRUE)/Tehran_Bundle_Value2,by=NewArea]
+ CBNPoor[,weighted.mean(RealPriceIndex1,Weight),by=NewArea]
+ CBNPoor[,weighted.mean(RealPriceIndex2,Weight),by=NewArea]
+
+ Index<-CBNPoor[,.(RealPriceIndex1,RealPriceIndex2,NewArea,Weight)]
+ Index<-Index[,RealPriceIndex:=(RealPriceIndex1+RealPriceIndex2)/2]
+ Index<-Index[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(NewArea)]
+ Index<-Index[,.(NewArea,RealPriceIndex1,RealPriceIndex2,RealPriceIndex)]
+ Index<-Index[,.(NewArea,RealPriceIndex)]
+ CBN<-merge(CBN,Index,by=c("NewArea"),all.x = TRUE)
+ CBN<-CBN[,Total_Exp_Month_Per_nondurable_Real:=Total_Exp_Month_Per_nondurable*RealPriceIndex]
+ }
+
+endtime <- proc.time()
+cat("\n\n============================\nIt took ")
+cat(endtime-starttime)
\ No newline at end of file
diff --git a/R/Archive/900-Calculation of CV- Benzin -2020.R b/R/Archive/900-Calculation of CV- Benzin -2020.R
new file mode 100644
index 00000000..fcd1fc02
--- /dev/null
+++ b/R/Archive/900-Calculation of CV- Benzin -2020.R
@@ -0,0 +1,295 @@
+# Calculation of CV- Benzin
+# Copyright © 2020: Arin Shahbazian
+# Licence: GPL-3
+
+rm(list=ls())
+
+starttime <- proc.time()
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+library(data.table)
+library(stringr)
+library(readxl)
+options(warn=-1)
+
+################################################
+################ Benzin ########################
+################################################
+cat("\n\n================ Benzin =====================================\n")
+
+BenzinTables <- data.table(read_excel(Settings$MetaDataFilePath,sheet=Settings$MDS_Benzin))
+
+for(year in (Settings$startyear:Settings$endyear)){
+ cat(paste0("\n------------------------------\nYear:",year,"\n"))
+ load(file=paste0(Settings$HEISRawPath,"Y",year,"Raw.rda"))
+ ft <- BenzinTables[Year==year]
+ tab <- ft$Table
+ if(is.na(tab))
+ next
+ UTF <- Tables[[paste0("U",year,tab)]]
+ RTF <- Tables[[paste0("R",year,tab)]]
+ TF <- rbind(UTF,RTF)
+ for(n in names(TF)){
+ x <- which(ft==n)
+ if(length(x)>0)
+ setnames(TF,n,names(ft)[x])
+ }
+
+ pcols <- intersect(names(TF),c("HHID","Code","Benzin_Exp"))
+ TF <- TF[,pcols,with=FALSE]
+ TF <- TF[Code %in% ft$StartCode:ft$EndCode]
+ if(year %in% 84:96){
+ TF[,BenzinExpenditure:=as.numeric(BenzinExpenditure)]
+ }
+
+
+ TF[,Code:=NULL]
+ TF[is.na(TF)] <- 0
+ BenzinData <- TF[,lapply(.SD,sum),by=HHID]
+ save(BenzinData, file = paste0(Settings$HEISProcessedPath,"Y",year,"Benzins.rda"))
+}
+
+################################################
+################ Transportation ########################
+################################################
+cat("\n\n================ Transportation =====================================\n")
+
+TransportationTables <- data.table(read_excel(Settings$MetaDataFilePath,sheet=Settings$MDS_Transportation))
+
+for(year in (Settings$startyear:Settings$endyear)){
+ cat(paste0("\n------------------------------\nYear:",year,"\n"))
+ load(file=paste0(Settings$HEISRawPath,"Y",year,"Raw.rda"))
+ ft <- TransportationTables[Year==year]
+ tab <- ft$Table
+ if(is.na(tab))
+ next
+ UTF <- Tables[[paste0("U",year,tab)]]
+ RTF <- Tables[[paste0("R",year,tab)]]
+ TF <- rbind(UTF,RTF)
+ for(n in names(TF)){
+ x <- which(ft==n)
+ if(length(x)>0)
+ setnames(TF,n,names(ft)[x])
+ }
+
+ pcols <- intersect(names(TF),c("HHID","Code","Transportation_Exp"))
+ TF <- TF[,pcols,with=FALSE]
+ TF <- TF[Code %in% ft$StartCode:ft$EndCode]
+ if(year %in% 84:96){
+ TF[,TransportationExpenditure:=as.numeric(TransportationExpenditure)]
+ }
+
+
+ TF[,Code:=NULL]
+ TF[is.na(TF)] <- 0
+ TransportationData <- TF[,lapply(.SD,sum),by=HHID]
+ save(TransportationData, file = paste0(Settings$HEISProcessedPath,"Y",year,"Transportations.rda"))
+}
+################################################
+################ Other Exp ########################
+################################################
+cat("\n\n================ Other =====================================\n")
+
+
+for(year in (Settings$startyear:Settings$endyear)){
+ cat(paste0("\n------------------------------\nYear:",year,"\n"))
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"InitialPoor.rda"))
+ MD<-MD[,.(HHID,HIndivNo,Region,ProvinceCode,NewArea_Name,Total_Exp_Month,Total_Exp_Month_nondurable,
+ Size,EqSizeOECD,Weight,HSex,HEduLevel,
+ HEduYears,HActivityState)]
+
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"Deciles.rda"))
+ MD<-merge(MD,Deciles)
+
+ save(MD, file = paste0(Settings$HEISProcessedPath,"Y",year,"MD.rda"))
+}
+
+
+
+MD[,weighted.mean(Total_Exp_Month,Weight),by=.(Region,Decile)][order(Region,Decile)]
+MD[,weighted.mean(Size,Weight),by=.(Region,Decile)][order(Region,Decile)]
+MD[NewArea_Name=="Sh_Tehran" ,weighted.mean(Total_Exp_Month,Weight),by=.(Decile)][order(Decile)]
+MD[NewArea_Name=="Sh_Tehran" ,weighted.mean(Size,Weight),by=.(Decile)][order(Decile)]
+
+cat("\n\n================ Merge =====================================\n")
+################################################
+####### Merge Information #############
+################################################
+
+Total<-merge(MD,BenzinData,all = TRUE)
+Total<-merge(Total,TransportationData,all = TRUE)
+Total[is.na(Total)] <- 0
+Total<-Total[,Other_Exp:=Total_Exp_Month-Benzin_Exp-Transportation_Exp]
+Total<-Total[,Benzin_Exp_Add:=ifelse(Benzin_Exp<600000,0,Benzin_Exp-600000)]
+
+Total<-Total[Decile %in% 1:10]
+d<-Total[,sum(Weight),by=c("Region","Decile")]
+e<-Total[,sum(Weight*Size),by=c("Region","Decile")]
+
+#Price Indexes
+load(file="Index98.rda")
+Total<-merge(Total,Index98,by="ProvinceCode")
+Total[,Decile:=as.numeric(Decile)]
+Total<-Total[,Yaraneh2:=ifelse(Size==1,550000,
+ ifelse(Size==2,1030000,
+ ifelse(Size==3,1380000,
+ ifelse(Size==4,1720000,2050000))))]
+Total<-Total[,Yaraneh:=ifelse(Decile>7,0,Yaraneh2)]
+
+#Total<-Total[,Yaraneh:=Yaraneh2]
+Total[is.na(Total)] <- 0
+#Total<-Total[Benzin_Exp==0]
+
+############New Prices###########
+Total[,BenzinP1:=Benzin_Exp]
+Total[,TransportationP1:=Transportation_Exp*Mehr98/137]
+Total[,Other_ExpP1:=Other_Exp*Mehr98/137]
+
+#Total[,BenzinP2:=ifelse(Benzin_Exp<600000, Benzin_Exp*1.5,Benzin_Exp*3)]
+Total[,BenzinP2:=ifelse(Benzin_Exp<600000, Benzin_Exp*1.5,
+ 600000*1.5+Benzin_Exp_Add*3)]
+Total[,TransportationP2:=TransportationP1*1.11]
+Total[,Other_ExpP2:=Other_ExpP1*1.02]
+
+################################################
+################ CV #################
+################################################
+
+Total<-Total[,BenzinShare:=Benzin_Exp/Total_Exp_Month]
+Total<-Total[,TransportationShare:=Transportation_Exp/Total_Exp_Month]
+Total<-Total[,Other_ExpShare:=Other_Exp/Total_Exp_Month]
+
+
+Total<-Total[,CV:=Total_Exp_Month*(1-((BenzinP2/BenzinP1)^BenzinShare)*((TransportationP2/TransportationP1)^TransportationShare)*
+ ((Other_ExpP2/Other_ExpP1)^Other_ExpShare))]
+
+Total<-Total[,Loss:=ifelse(Yaraneh0,weighted.mean(Loss==1,Weight)]
+Total[Benzin_Exp>0 & Decile<8,weighted.mean(Loss,Weight)]
+Total[Benzin_Exp>0,sum(Loss*Weight)]
+Total[Benzin_Exp>0 & Decile<8,sum(Loss*Weight)]
+Total[Benzin_Exp>0,sum(Loss*Weight*Size)]
+Total[Benzin_Exp>0 & Decile<8,sum(Loss*Weight*Size)]
+
+Total[Benzin_Exp==0,weighted.mean(Loss==1,Weight)]
+Total[Benzin_Exp==0 & Decile<8,weighted.mean(Loss,Weight)]
+Total[Benzin_Exp==0,sum(Loss*Weight)]
+Total[Benzin_Exp==0 & Decile<8,sum(Loss*Weight)]
+Total[Benzin_Exp==0,sum(Loss*Weight*Size)]
+Total[Benzin_Exp==0 & Decile<8,sum(Loss*Weight*Size)]
+
+
+###Table11
+taxi <- read_excel("C:/Users/pc1/Desktop/taxi.xlsx")
+taxi<-as.data.table(taxi)
+Total[,HHID:=as.character(HHID)]
+taxi[,HHID:=as.character(HHID)]
+Total<- merge(Total,taxi,by="HHID",all.x = TRUE)
+for (col in c("taxicode")) Total[is.na(get(col)), (col) := 0]
+
+Total[Decile<8,sum(Loss*Weight),by=taxicode]
+Total[Decile<8,sum(Weight),by=taxicode]
+
+
+#Graph 1
+a<-Total[,weighted.mean(Loss,Weight),by=.(ProvinceCode)]
+b<-Total[Decile<8,weighted.mean(Loss,Weight),by=.(ProvinceCode)]
+
+#Graph 2
+Loss<-Total[Loss==1]
+Loss[,weighted.mean(Loss_Amount,Weight,na.rm = TRUE)]
+Loss[,weighted.mean(Loss_Amount,Weight,na.rm = TRUE),by=.(Region,Decile)][order(Region,Decile)]
+
+Loss[,weighted.mean(Loss_Amount/Total_Exp_Month,Weight,na.rm = TRUE)]
+Loss[,weighted.mean(Loss_Amount/Total_Exp_Month,Weight,na.rm = TRUE),by=.(Region,Decile)][order(Region,Decile)]
+Loss[,Loss_Share:=Loss_Amount/Total_Exp_Month]
+Loss2<-Loss[Loss_Share<0.05]
+
+Loss[,Loss_Section:=ifelse(Loss_Share<0.01,1,
+ ifelse(Loss_Share<0.02 & Loss_Share>0.01,2,
+ ifelse(Loss_Share<0.03 & Loss_Share>0.02,3,
+ ifelse(Loss_Share<0.04 & Loss_Share>0.03,4,
+ ifelse(Loss_Share<0.05 & Loss_Share>0.04,5,6)))))]
+
+a<-Loss[,sum(Weight),by=Loss_Section][order(Loss_Section)]
+b<-Loss[Decile<8,sum(Weight),by=Loss_Section][order(Loss_Section)]
+
+
+
+### Graph 3
+Win<-Total[Loss==0]
+Win<-Win[,Win_Amount:=Yaraneh-abs(CV)]
+Win[,weighted.mean(Win_Amount,Weight,na.rm = TRUE)]
+Win[,weighted.mean(Win_Amount,Weight,na.rm = TRUE),by=.(Region,Decile)][order(Region,Decile)]
+
+Win[,weighted.mean(Win_Amount/Total_Exp_Month,Weight,na.rm = TRUE)]
+Win[,weighted.mean(Win_Amount/Total_Exp_Month,Weight,na.rm = TRUE),by=.(Region,Decile)][order(Region,Decile)]
+Win[,Win_Share:=Win_Amount/Total_Exp_Month]
+Win2<-Win[Win_Share<0.3]
+
+Win[,Win_Section:=ifelse(Win_Share<0.025,1,
+ ifelse(Win_Share<0.05 & Win_Share>0.025,2,
+ ifelse(Win_Share<0.075 & Win_Share>0.05,3,
+ ifelse(Win_Share<0.1 & Win_Share>0.075,4,
+ ifelse(Win_Share<0.125 & Win_Share>0.1,5,
+ ifelse(Win_Share<0.15 & Win_Share>0.125,6,
+ ifelse(Win_Share<0.175 & Win_Share>0.15,7,
+ ifelse(Win_Share<0.2 & Win_Share>0.175,8,
+ ifelse(Win_Share<0.225 & Win_Share>0.2,9,
+ ifelse(Win_Share<0.25 & Win_Share>0.225,10,
+ ifelse(Win_Share<0.275 & Win_Share>0.25,11,
+ ifelse(Win_Share<0.3 & Win_Share>0.275,12,13))))))))))))]
+
+a<-Win[,sum(Weight),by=Win_Section][order(Win_Section)]
+b<-Win[Decile<8,sum(Weight),by=Win_Section][order(Win_Section)]
+
+
+### Graph 4
+Win[,Pop:=sum(Weight),by=Decile]
+a<-Win[,sum(Weight/Pop),by=.(Win_Section,Decile)]
+
+
+
+endtime <- proc.time()
+cat("\n\n============================\nIt took ")
+cat(endtime-starttime)
diff --git a/R/Archive/A/21-HHFoods-TS.R b/R/Archive/A/21-HHFoods-TS.R
new file mode 100644
index 00000000..32d76da1
--- /dev/null
+++ b/R/Archive/A/21-HHFoods-TS.R
@@ -0,0 +1,76 @@
+# 31-Foods-TS
+#
+#
+# Copyright © 2017: Arin Shahbazian
+# Licence: GPL-3
+#
+rm(list=ls())
+
+starttime <- proc.time()
+cat("\n\n================ Foods =====================================\n")
+
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+library(readxl)
+library(data.table)
+library(XLConnect)
+
+load(Settings$weightsFile)
+RegionWeights <- data.table(read_excel(Settings$MetaDataFilePath,sheet=Settings$MDS_Rough_Weights))
+
+BigD <- data.table(Region = character(0), HHID = numeric(0), Year = integer(0),
+ Quarter = numeric(0), Month = numeric(0), ProvinceCode = integer(0),
+ FoodExpenditure = numeric(0),
+ Weight = numeric(0))
+
+
+for(year in (Settings$startyear:Settings$endyear)){
+ cat(paste0("\n------------------------------\nYear:",year,"\n"))
+ if(!file.exists(paste0(Settings$HEISProcessedPath,"Y",year,"Foods.rda")))
+ { cat("next")
+ next
+ }
+
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"HHBase.rda"))
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"Foods.rda"))
+
+ D <- merge(HHBase,FoodData,by="HHID", all.x = TRUE)
+
+ W <- AllWeights[Year==year]
+ W[,Year:=NULL]
+ W_Rough <- RegionWeights[Year==year]
+ W_Rough <- W_Rough[,list(Region,Weight)]
+ if(nrow(W)==0){
+ D <- merge(D,W_Rough,by="Region", all.x = TRUE)
+ }else{
+ D <- merge(D,W,by="HHID", all.x = TRUE)
+ }
+
+ D <- D[,list(HHID, Region, Year, Quarter, Month, ProvinceCode, FoodExpenditure, Weight)]
+
+ D[is.na(Quarter), Quarter:=4]
+
+ BigD <- rbind(BigD,D)
+
+ # cat("\n",year,",",sum(D$FoodExpenditure*D$Weight))
+}
+
+BigD[is.na(FoodExpenditure),FoodExpenditure:=0]
+BigD <- BigD[!is.na(Weight)]
+
+
+F.Q <- BigD[,.(SF=sum(FoodExpenditure*Weight, na.rm = TRUE)),by=.(Year,Quarter)]
+
+F.Y <- BigD[,.(SF=sum(FoodExpenditure*Weight, na.rm = TRUE)),by=Year]
+
+
+writeWorksheetToFile(data = F.Q, file = paste0(Settings$HEISResultsPath,"Timeseries.xlsx"),sheet = "Food.Q")
+
+writeWorksheetToFile(data = F.Y, file = paste0(Settings$HEISResultsPath,"Timeseries.xlsx"),sheet = "Food.Y")
+
+
+endtime <- proc.time()
+
+cat("\n\n============================\nIt took ")
+cat(endtime-starttime)
\ No newline at end of file
diff --git a/R/Archive/A/21-HHFoods.R b/R/Archive/A/21-HHFoods.R
new file mode 100644
index 00000000..de45529b
--- /dev/null
+++ b/R/Archive/A/21-HHFoods.R
@@ -0,0 +1,53 @@
+# 21-HHFoods.R
+# Builds the Food expenditures data.table for households
+#
+# Copyright © 2017: Arin Shahbazian
+# Licence: GPL-3
+
+rm(list=ls())
+
+starttime <- proc.time()
+cat("\n\n================ HHFoods =====================================\n")
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+library(data.table)
+library(stringr)
+library(readxl)
+
+
+FoodTables <- data.table(read_excel(Settings$MetaDataFilePath,sheet=Settings$MDS_Food))
+
+
+
+for(year in (Settings$startyear:Settings$endyear)){
+ cat(paste0("\n------------------------------\nYear:",year,"\n"))
+ load(file=paste0(Settings$HEISRawPath,"Y",year,"Raw.rda"))
+ ft <- FoodTables[Year==year]
+ tab <- ft$Table
+ if(is.na(tab))
+ next
+ UTF <- Tables[[paste0("U",year,tab)]]
+ RTF <- Tables[[paste0("R",year,tab)]]
+ TF <- rbind(UTF,RTF)
+ for(n in names(TF)){
+ x <- which(ft==n)
+ if(length(x)>0)
+ setnames(TF,n,names(ft)[x])
+ }
+ pcols <- intersect(names(TF),c("HHID","Code","BuyingMethod","PriceSystem","Grams","Kilos","Price","FoodExpenditure"))
+ TF <- TF[,pcols,with=FALSE]
+ TF <- TF[Code %in% ft$StartCode:ft$EndCode]
+ if(year %in% 84:94){
+ TF[,Kilos:=as.numeric(Kilos)]
+ TF[,Price:=as.numeric(Price)]
+ TF[,FoodExpenditure:=as.numeric(FoodExpenditure)]
+ }
+ TF[,Code:=NULL]
+ TF[is.na(TF)] <- 0
+ FoodData <- TF[,lapply(.SD,sum),by=HHID]
+ save(FoodData, file = paste0(Settings$HEISProcessedPath,"Y",year,"Foods.rda"))
+}
+endtime <- proc.time()
+cat("\n\n============================\nIt took ")
+cat(endtime-starttime)
diff --git a/R/Archive/A/22-HHMedicals.R b/R/Archive/A/22-HHMedicals.R
new file mode 100644
index 00000000..8ad3ac5d
--- /dev/null
+++ b/R/Archive/A/22-HHMedicals.R
@@ -0,0 +1,51 @@
+# 32-HHMedical.R
+# Builds the Medical expenditures data.table for households
+#
+# Copyright © 2017: Arin Shahbazian
+# Licence: GPL-3
+
+rm(list=ls())
+
+starttime <- proc.time()
+cat("\n\n================ HHMedical =====================================\n")
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+library(data.table)
+library(stringr)
+library(readxl)
+
+
+MedicalTables <- data.table(read_excel(Settings$MetaDataFilePath,sheet=Settings$MDS_Medical))
+
+
+
+for(year in (Settings$startyear:Settings$endyear)){
+ cat(paste0("\n------------------------------\nYear:",year,"\n"))
+ load(file=paste0(Settings$HEISRawPath,"Y",year,"Raw.rda"))
+ mt <- MedicalTables[Year==year]
+ tab <- mt$Table
+ if(is.na(tab))
+ next
+ UTM <- Tables[[paste0("U",year,tab)]]
+ RTM <- Tables[[paste0("R",year,tab)]]
+ TM <- rbind(UTM,RTM)
+ for(n in names(TM)){
+ x <- which(mt==n)
+ if(length(x)>0)
+ setnames(TM,n,names(mt)[x])
+ }
+ pcols <- intersect(names(TM),c("HHID","Code","BuyingMethod","Medical_Exp","Method"))
+ TM <- TM[,pcols,with=FALSE]
+ #TM <- TM[Code %in% mt$StartCode:mt$EndCode]
+ if(year %in% 84:94){
+ TM[,Medical_Exp:=as.numeric(Medical_Exp)]
+ }
+ TM[,Code:=NULL]
+ TM[is.na(TM)] <- 0
+ MedicalData <- TM[,lapply(.SD,sum),by=HHID]
+ save(MedicalData, file = paste0(Settings$HEISProcessedPath,"Y",year,"Medicals.rda"))
+}
+endtime <- proc.time()
+cat("\n\n============================\nIt took ")
+cat(endtime-starttime)
diff --git a/R/Archive/A/23-HHAmusement.R b/R/Archive/A/23-HHAmusement.R
new file mode 100644
index 00000000..d1273b30
--- /dev/null
+++ b/R/Archive/A/23-HHAmusement.R
@@ -0,0 +1,51 @@
+# 23-HHAmusement.R
+# Builds the Amusement expenditures data.table for households
+#
+# Copyright © 2017: Arin Shahbazian
+# Licence: GPL-3
+
+rm(list=ls())
+
+starttime <- proc.time()
+cat("\n\n================ HHAmusement =====================================\n")
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+library(data.table)
+library(stringr)
+library(readxl)
+
+
+AmusementTables <- data.table(read_excel(Settings$MetaDataFilePath,sheet=Settings$MDS_Amusement))
+
+
+
+for(year in (Settings$startyear:Settings$endyear)){
+ cat(paste0("\n------------------------------\nYear:",year,"\n"))
+ load(file=paste0(Settings$HEISRawPath,"Y",year,"Raw.rda"))
+ ct <- AmusementTables[Year==year]
+ tab <- ct$Table
+ if(is.na(tab))
+ next
+ UTC <- Tables[[paste0("U",year,tab)]]
+ RTC <- Tables[[paste0("R",year,tab)]]
+ TC <- rbind(UTC,RTC)
+ for(n in names(TC)){
+ x <- which(ct==n)
+ if(length(x)>0)
+ setnames(TC,n,names(ct)[x])
+ }
+ pcols <- intersect(names(TC),c("HHID","Code","BuyingMethod","a","b","Amusement_Exp"))
+ TC <- TC[,pcols,with=FALSE]
+ #TM <- TM[Code %in% mt$StartCode:mt$EndCode]
+ if(year %in% 84:94){
+ TC[,Amusement_Exp:=as.numeric(Amusement_Exp)]
+ }
+ TC[,Code:=NULL]
+ TC[is.na(TC)] <- 0
+ AmusementData <- TC[,lapply(.SD,sum),by=HHID]
+ save(AmusementData, file = paste0(Settings$HEISProcessedPath,"Y",year,"Amusements.rda"))
+}
+endtime <- proc.time()
+cat("\n\n============================\nIt took ")
+cat(endtime-starttime)
diff --git a/R/Archive/A/23-HHClothl.R b/R/Archive/A/23-HHClothl.R
new file mode 100644
index 00000000..e69101ca
--- /dev/null
+++ b/R/Archive/A/23-HHClothl.R
@@ -0,0 +1,51 @@
+# 23-HHClothl.R
+# Builds the Cloth expenditures data.table for households
+#
+# Copyright © 2017: Arin Shahbazian
+# Licence: GPL-3
+
+rm(list=ls())
+
+starttime <- proc.time()
+cat("\n\n================ HHCloth =====================================\n")
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+library(data.table)
+library(stringr)
+library(readxl)
+
+
+ClothTables <- data.table(read_excel(Settings$MetaDataFilePath,sheet=Settings$MDS_Cloth))
+
+
+
+for(year in (Settings$startyear:Settings$endyear)){
+ cat(paste0("\n------------------------------\nYear:",year,"\n"))
+ load(file=paste0(Settings$HEISRawPath,"Y",year,"Raw.rda"))
+ ct <- ClothTables[Year==year]
+ tab <- ct$Table
+ if(is.na(tab))
+ next
+ UTC <- Tables[[paste0("U",year,tab)]]
+ RTC <- Tables[[paste0("R",year,tab)]]
+ TC <- rbind(UTC,RTC)
+ for(n in names(TC)){
+ x <- which(ct==n)
+ if(length(x)>0)
+ setnames(TC,n,names(ct)[x])
+ }
+ pcols <- intersect(names(TC),c("HHID","Code","BuyingMethod","a","b","Cloth_Exp"))
+ TC <- TC[,pcols,with=FALSE]
+ #TM <- TM[Code %in% mt$StartCode:mt$EndCode]
+ if(year %in% 84:94){
+ TC[,Cloth_Exp:=as.numeric(Cloth_Exp)]
+ }
+ TC[,Code:=NULL]
+ TC[is.na(TC)] <- 0
+ ClothData <- TC[,lapply(.SD,sum),by=HHID]
+ save(ClothData, file = paste0(Settings$HEISProcessedPath,"Y",year,"Cloths.rda"))
+}
+endtime <- proc.time()
+cat("\n\n============================\nIt took ")
+cat(endtime-starttime)
diff --git a/R/Archive/A/23-HHCommunication.R b/R/Archive/A/23-HHCommunication.R
new file mode 100644
index 00000000..79b3ceaa
--- /dev/null
+++ b/R/Archive/A/23-HHCommunication.R
@@ -0,0 +1,53 @@
+# 23-HHCommunication.R
+# Builds the Communication expenditures data.table for households
+#
+# Copyright © 2017: Arin Shahbazian
+# Licence: GPL-3
+
+rm(list=ls())
+
+starttime <- proc.time()
+cat("\n\n================ HHCommunication =====================================\n")
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+library(data.table)
+library(stringr)
+library(readxl)
+
+
+CommunicationTables <- data.table(read_excel(Settings$MetaDataFilePath,sheet=Settings$MDS_Communication))
+
+
+
+for(year in (Settings$startyear:Settings$endyear)){
+ cat(paste0("\n------------------------------\nYear:",year,"\n"))
+ load(file=paste0(Settings$HEISRawPath,"Y",year,"Raw.rda"))
+ ct <- CommunicationTables[Year==year]
+ tab <- ct$Table
+ if(is.na(tab))
+ next
+ UTC <- Tables[[paste0("U",year,tab)]]
+ RTC <- Tables[[paste0("R",year,tab)]]
+ TC <- rbind(UTC,RTC)
+ for(n in names(TC)){
+ x <- which(ct==n)
+ if(length(x)>0)
+ setnames(TC,n,names(ct)[x])
+ }
+ pcols <- intersect(names(TC),c("HHID","Code","BuyingMethod","a","b","Communication_Exp"))
+ TC <- TC[,pcols,with=FALSE]
+ if(year %in% 63:82){
+ TC <- TC[Code %in% ct$StartCode:ct$EndCode]
+ }
+ if(year %in% 84:94){
+ TC[,Communication_Exp:=as.numeric(Communication_Exp)]
+ }
+ TC[,Code:=NULL]
+ TC[is.na(TC)] <- 0
+ CommunicationData <- TC[,lapply(.SD,sum),by=HHID]
+ save(CommunicationData, file = paste0(Settings$HEISProcessedPath,"Y",year,"Communications.rda"))
+}
+endtime <- proc.time()
+cat("\n\n============================\nIt took ")
+cat(endtime-starttime)
diff --git a/R/Archive/A/23-HHDurable.R b/R/Archive/A/23-HHDurable.R
new file mode 100644
index 00000000..1dccc44e
--- /dev/null
+++ b/R/Archive/A/23-HHDurable.R
@@ -0,0 +1,55 @@
+# 23-HHDurable.R
+# Builds the Durable expenditures data.table for households
+#
+# Copyright © 2017: Arin Shahbazian
+# Licence: GPL-3
+
+rm(list=ls())
+
+starttime <- proc.time()
+cat("\n\n================ HHDurable =====================================\n")
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+library(data.table)
+library(stringr)
+library(readxl)
+
+
+DurableTables <- data.table(read_excel(Settings$MetaDataFilePath,sheet=Settings$MDS_Durable))
+
+
+
+for(year in (Settings$startyear:Settings$endyear)){
+ cat(paste0("\n------------------------------\nYear:",year,"\n"))
+ load(file=paste0(Settings$HEISRawPath,"Y",year,"Raw.rda"))
+ ct <- DurableTables[Year==year]
+ tab <- ct$Table
+ if(is.na(tab))
+ next
+ UTC <- Tables[[paste0("U",year,tab)]]
+ RTC <- Tables[[paste0("R",year,tab)]]
+ TC <- rbind(UTC,RTC)
+ for(n in names(TC)){
+ x <- which(ct==n)
+ if(length(x)>0)
+ setnames(TC,n,names(ct)[x])
+ }
+ pcols <- intersect(names(TC),c("HHID","Code","BuyingMethod","a","b","Durable_Exp","d"))
+ TC <- TC[,pcols,with=FALSE]
+
+ if(year %in% 84:94){
+ TC[,Durable_Exp:=as.numeric(Durable_Exp)]
+ TC[,d:=as.numeric(d)]
+ }
+ if(year %in% 88:94){
+ TC[,a:=as.numeric(a)]
+ }
+ TC[,Code:=NULL]
+ TC[is.na(TC)] <- 0
+ DurableData <- TC[,lapply(.SD,sum),by=HHID]
+ save(DurableData, file = paste0(Settings$HEISProcessedPath,"Y",year,"Durables.rda"))
+}
+endtime <- proc.time()
+cat("\n\n============================\nIt took ")
+cat(endtime-starttime)
diff --git a/R/Archive/A/23-HHFurniture.R b/R/Archive/A/23-HHFurniture.R
new file mode 100644
index 00000000..37669719
--- /dev/null
+++ b/R/Archive/A/23-HHFurniture.R
@@ -0,0 +1,51 @@
+# 23-HHFurniture.R
+# Builds the Furniture expenditures data.table for households
+#
+# Copyright © 2017: Arin Shahbazian
+# Licence: GPL-3
+
+rm(list=ls())
+
+starttime <- proc.time()
+cat("\n\n================ HHFurniture =====================================\n")
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+library(data.table)
+library(stringr)
+library(readxl)
+
+
+FurnitureTables <- data.table(read_excel(Settings$MetaDataFilePath,sheet=Settings$MDS_Furniture))
+
+
+
+for(year in (Settings$startyear:Settings$endyear)){
+ cat(paste0("\n------------------------------\nYear:",year,"\n"))
+ load(file=paste0(Settings$HEISRawPath,"Y",year,"Raw.rda"))
+ ct <- FurnitureTables[Year==year]
+ tab <- ct$Table
+ if(is.na(tab))
+ next
+ UTC <- Tables[[paste0("U",year,tab)]]
+ RTC <- Tables[[paste0("R",year,tab)]]
+ TC <- rbind(UTC,RTC)
+ for(n in names(TC)){
+ x <- which(ct==n)
+ if(length(x)>0)
+ setnames(TC,n,names(ct)[x])
+ }
+ pcols <- intersect(names(TC),c("HHID","Code","BuyingMethod","a","b","Furniture_Exp"))
+ TC <- TC[,pcols,with=FALSE]
+ #TM <- TM[Code %in% mt$StartCode:mt$EndCode]
+ if(year %in% 84:94){
+ TC[,Furniture_Exp:=as.numeric(Furniture_Exp)]
+ }
+ TC[,Code:=NULL]
+ TC[is.na(TC)] <- 0
+ FurnitureData <- TC[,lapply(.SD,sum),by=HHID]
+ save(FurnitureData, file = paste0(Settings$HEISProcessedPath,"Y",year,"Furnitures.rda"))
+}
+endtime <- proc.time()
+cat("\n\n============================\nIt took ")
+cat(endtime-starttime)
diff --git a/R/Archive/A/23-HHHotel.R b/R/Archive/A/23-HHHotel.R
new file mode 100644
index 00000000..a0536eb1
--- /dev/null
+++ b/R/Archive/A/23-HHHotel.R
@@ -0,0 +1,53 @@
+# 23-HHHotel.R
+# Builds the Hotel expenditures data.table for households
+#
+# Copyright © 2017: Arin Shahbazian
+# Licence: GPL-3
+
+rm(list=ls())
+
+starttime <- proc.time()
+cat("\n\n================ HHHotel =====================================\n")
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+library(data.table)
+library(stringr)
+library(readxl)
+
+
+HotelTables <- data.table(read_excel(Settings$MetaDataFilePath,sheet=Settings$MDS_Hotel))
+
+
+
+for(year in (Settings$startyear:Settings$endyear)){
+ cat(paste0("\n------------------------------\nYear:",year,"\n"))
+ load(file=paste0(Settings$HEISRawPath,"Y",year,"Raw.rda"))
+ ct <- HotelTables[Year==year]
+ tab <- ct$Table
+ if(is.na(tab))
+ next
+ UTC <- Tables[[paste0("U",year,tab)]]
+ RTC <- Tables[[paste0("R",year,tab)]]
+ TC <- rbind(UTC,RTC)
+ for(n in names(TC)){
+ x <- which(ct==n)
+ if(length(x)>0)
+ setnames(TC,n,names(ct)[x])
+ }
+ pcols <- intersect(names(TC),c("HHID","Code","BuyingMethod","a","b","Hotel_Exp"))
+ TC <- TC[,pcols,with=FALSE]
+ if(year %in% 63:82){
+ TC <- TC[Code %in% ct$StartCode:ct$EndCode]
+ }
+ if(year %in% 84:94){
+ TC[,Hotel_Exp:=as.numeric(Hotel_Exp)]
+ }
+ TC[,Code:=NULL]
+ TC[is.na(TC)] <- 0
+ HotelData <- TC[,lapply(.SD,sum),by=HHID]
+ save(HotelData, file = paste0(Settings$HEISProcessedPath,"Y",year,"Hotels.rda"))
+}
+endtime <- proc.time()
+cat("\n\n============================\nIt took ")
+cat(endtime-starttime)
diff --git a/R/Archive/A/23-HHInvestment.R b/R/Archive/A/23-HHInvestment.R
new file mode 100644
index 00000000..268e01af
--- /dev/null
+++ b/R/Archive/A/23-HHInvestment.R
@@ -0,0 +1,53 @@
+# 23-HHInvestment.R
+# Builds the Investment expenditures data.table for households
+#
+# Copyright © 2017: Arin Shahbazian
+# Licence: GPL-3
+
+rm(list=ls())
+
+starttime <- proc.time()
+cat("\n\n================ HHInvestment =====================================\n")
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+library(data.table)
+library(stringr)
+library(readxl)
+
+
+InvestmentTables <- data.table(read_excel(Settings$MetaDataFilePath,sheet=Settings$MDS_Investment))
+
+
+
+for(year in (Settings$startyear:Settings$endyear)){
+ cat(paste0("\n------------------------------\nYear:",year,"\n"))
+ load(file=paste0(Settings$HEISRawPath,"Y",year,"Raw.rda"))
+ ct <- InvestmentTables[Year==year]
+ tab <- ct$Table
+ if(is.na(tab))
+ next
+ UTC <- Tables[[paste0("U",year,tab)]]
+ RTC <- Tables[[paste0("R",year,tab)]]
+ TC <- rbind(UTC,RTC)
+ for(n in names(TC)){
+ x <- which(ct==n)
+ if(length(x)>0)
+ setnames(TC,n,names(ct)[x])
+ }
+ pcols <- intersect(names(TC),c("HHID","Code","BuyingMethod","a","Investment_Exp","b"))
+ TC <- TC[,pcols,with=FALSE]
+
+ if(year %in% 84:94){
+ TC[,Investment_Exp:=as.numeric(Investment_Exp)]
+ TC[,b:=as.numeric(b)]
+ }
+
+ TC[,Code:=NULL]
+ TC[is.na(TC)] <- 0
+ InvestmentData <- TC[,lapply(.SD,sum),by=HHID]
+ save(InvestmentData, file = paste0(Settings$HEISProcessedPath,"Y",year,"Investments.rda"))
+}
+endtime <- proc.time()
+cat("\n\n============================\nIt took ")
+cat(endtime-starttime)
diff --git a/R/Archive/A/23-HHOther.R b/R/Archive/A/23-HHOther.R
new file mode 100644
index 00000000..855119ee
--- /dev/null
+++ b/R/Archive/A/23-HHOther.R
@@ -0,0 +1,53 @@
+# 23-HHOther.R
+# Builds the Other expenditures data.table for households
+#
+# Copyright © 2017: Arin Shahbazian
+# Licence: GPL-3
+
+rm(list=ls())
+
+starttime <- proc.time()
+cat("\n\n================ HHOther =====================================\n")
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+library(data.table)
+library(stringr)
+library(readxl)
+
+
+OtherTables <- data.table(read_excel(Settings$MetaDataFilePath,sheet=Settings$MDS_Other))
+
+
+
+for(year in (Settings$startyear:Settings$endyear)){
+ cat(paste0("\n------------------------------\nYear:",year,"\n"))
+ load(file=paste0(Settings$HEISRawPath,"Y",year,"Raw.rda"))
+ ct <- OtherTables[Year==year]
+ tab <- ct$Table
+ if(is.na(tab))
+ next
+ UTC <- Tables[[paste0("U",year,tab)]]
+ RTC <- Tables[[paste0("R",year,tab)]]
+ TC <- rbind(UTC,RTC)
+ for(n in names(TC)){
+ x <- which(ct==n)
+ if(length(x)>0)
+ setnames(TC,n,names(ct)[x])
+ }
+ pcols <- intersect(names(TC),c("HHID","Code","BuyingMethod","a","b","Other_Exp"))
+ TC <- TC[,pcols,with=FALSE]
+ if(year %in% 63:82){
+ TC <- TC[Code %in% ct$StartCode:ct$EndCode]
+ }
+ if(year %in% 84:94){
+ TC[,Other_Exp:=as.numeric(Other_Exp)]
+ }
+ TC[,Code:=NULL]
+ TC[is.na(TC)] <- 0
+ OtherData <- TC[,lapply(.SD,sum),by=HHID]
+ save(OtherData, file = paste0(Settings$HEISProcessedPath,"Y",year,"Others.rda"))
+}
+endtime <- proc.time()
+cat("\n\n============================\nIt took ")
+cat(endtime-starttime)
diff --git a/R/Archive/A/23-HHTransportation.R b/R/Archive/A/23-HHTransportation.R
new file mode 100644
index 00000000..fddc9ef2
--- /dev/null
+++ b/R/Archive/A/23-HHTransportation.R
@@ -0,0 +1,53 @@
+# 23-HHTransportation.R
+# Builds the Transportation expenditures data.table for households
+#
+# Copyright © 2017: Arin Shahbazian
+# Licence: GPL-3
+
+rm(list=ls())
+
+starttime <- proc.time()
+cat("\n\n================ HHTransportation =====================================\n")
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+library(data.table)
+library(stringr)
+library(readxl)
+
+
+TransportationTables <- data.table(read_excel(Settings$MetaDataFilePath,sheet=Settings$MDS_Transportation))
+
+
+
+for(year in (Settings$startyear:Settings$endyear)){
+ cat(paste0("\n------------------------------\nYear:",year,"\n"))
+ load(file=paste0(Settings$HEISRawPath,"Y",year,"Raw.rda"))
+ ct <- TransportationTables[Year==year]
+ tab <- ct$Table
+ if(is.na(tab))
+ next
+ UTC <- Tables[[paste0("U",year,tab)]]
+ RTC <- Tables[[paste0("R",year,tab)]]
+ TC <- rbind(UTC,RTC)
+ for(n in names(TC)){
+ x <- which(ct==n)
+ if(length(x)>0)
+ setnames(TC,n,names(ct)[x])
+ }
+ pcols <- intersect(names(TC),c("HHID","Code","BuyingMethod","a","b","Transportation_Exp"))
+ TC <- TC[,pcols,with=FALSE]
+ if(year %in% 63:82){
+ TC <- TC[Code %in% ct$StartCode:ct$EndCode]
+ }
+ if(year %in% 84:94){
+ TC[,Transportation_Exp:=as.numeric(Transportation_Exp)]
+ }
+ TC[,Code:=NULL]
+ TC[is.na(TC)] <- 0
+ TransportationData <- TC[,lapply(.SD,sum),by=HHID]
+ save(TransportationData, file = paste0(Settings$HEISProcessedPath,"Y",year,"Transportations.rda"))
+}
+endtime <- proc.time()
+cat("\n\n============================\nIt took ")
+cat(endtime-starttime)
diff --git a/R/Archive/A/24-HHEducation.R b/R/Archive/A/24-HHEducation.R
new file mode 100644
index 00000000..1d412edc
--- /dev/null
+++ b/R/Archive/A/24-HHEducation.R
@@ -0,0 +1,54 @@
+# 30-HHEducationnExp.R
+# Builds the Educationn Expenditures data.table for households
+#
+# Copyright © 2017: Arin Shahbazian
+# Licence: GPL-3
+
+rm(list=ls())
+
+starttime <- proc.time()
+cat("\n\n================ HHEducationnExp =====================================\n")
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+library(data.table)
+library(stringr)
+library(readxl)
+
+
+EducationTables <- data.table(read_excel(Settings$MetaDataFilePath,sheet=Settings$MDS_Education))
+
+
+
+for(year in (Settings$startyear:Settings$endyear)){
+ cat(paste0("\n------------------------------\nYear:",year,"\n"))
+ load(file=paste0(Settings$HEISRawPath,"Y",year,"Raw.rda"))
+ et <- EducationTables[Year==year]
+ tab <- et$Table
+ if(is.na(tab))
+ next
+ UTE <- Tables[[paste0("U",year,tab)]]
+ RTE <- Tables[[paste0("R",year,tab)]]
+ TE <- rbind(UTE,RTE)
+ for(n in names(TE)){
+ x <- which(et==n)
+ if(length(x)>0)
+ setnames(TE,n,names(et)[x])
+ }
+ pcols <- intersect(names(TE),c("HHID","Code","EducExpenditure"))
+ TE <- TE[,pcols,with=FALSE]
+ #if(year %in% 89:94){
+ #TE[,Code:=as.numeric(Code)]
+ #}
+ #if(year %in% 84:94){
+ # TF[,Kilos:=as.numeric(Kilos)]
+ TE[,EducExpenditure:=as.numeric(EducExpenditure)]
+ TE <- TE[Code %in% et$StartCode:et$EndCode]
+ TE[,Code:=NULL]
+ TE[is.na(TE)] <- 0
+ EducData <- TE[,lapply(.SD,sum),by=HHID]
+ save(EducData, file = paste0(Settings$HEISProcessedPath,"Y",year,"Education.rda"))
+}
+endtime <- proc.time()
+cat("\n\n============================\nIt took ")
+cat(endtime-starttime)
diff --git a/R/Archive/A/24-HHEnergy.R b/R/Archive/A/24-HHEnergy.R
new file mode 100644
index 00000000..15060771
--- /dev/null
+++ b/R/Archive/A/24-HHEnergy.R
@@ -0,0 +1,70 @@
+# 24-Energy.R
+#
+#
+# Copyright © 2016:Arin Shahbazian
+# Licence: GPL-3
+#
+rm(list=ls())
+
+starttime <- proc.time()
+cat("\n\n================ Energy =====================================\n")
+
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+library(readxl)
+library(data.table)
+
+EnergyTables <- data.table(read_excel(Settings$MetaDataFilePath,sheet=Settings$MDS_Energy))
+
+for(year in (Settings$startyear:Settings$endyear)){
+ cat(paste0("\n------------------------------\nYear:",year,"\n"))
+
+ load(file=paste0(Settings$HEISRawPath,"Y",year,"Raw.rda"))
+
+ ty <- EnergyTables[Year==year]
+ tab <- ty$Table
+
+ UTE <- Tables[[paste0("U",year,tab)]]
+ RTE <- Tables[[paste0("R",year,tab)]]
+ TE <- rbind(UTE,RTE)
+ for(n in names(TE)){
+ x <- which(ty==n)
+ if(length(x)>0)
+ setnames(TE,n,names(ty)[x])
+ }
+ pcols <- intersect(names(TE),c("HHID","Code","BuyingMethod","a","b","Energy_Exp"))
+ TE <- TE[,pcols,with=FALSE]
+ TE <- TE[Code %in% ty$StartCode:ty$EndCode]
+ if(year %in% 84:94){
+ TE[,Energy_Exp:=as.numeric(Energy_Exp)]
+ }
+ #TL[,Energy_Exp:=as.numeric(Energy_Exp)]
+ TE[,Code:=NULL]
+
+
+ TE[is.na(TE)] <- 0
+
+ EnergyData <- TE[,lapply(.SD,sum),by=HHID]
+
+ # if("EnergyValue" %in% names(EnergysData)){
+ # cat("\n",year,",",
+ # # mean(EnergysData$ServiceFee/EnergysData$EnergyValue,na.rm = TRUE))
+ # mean(EnergysData$ServiceFee,na.rm = TRUE), mean(EnergysData$EnergyValue,na.rm = TRUE))
+ #
+ # }
+ # if("HEnergyValue" %in% names(EnergysData)){
+ # cat(",",
+ # # mean(EnergysData$HServiceFee/EnergysData$HEnergyValue,na.rm = TRUE))
+ # mean(EnergysData$HServiceFee,na.rm = TRUE), mean(EnergysData$HEnergyValue,na.rm = TRUE))
+ # }
+
+ # cat("\n",year,",",mean(EnergyData$ServiceExp,na.rm = TRUE))
+
+ save(EnergyData, file = paste0(Settings$HEISProcessedPath,"Y",year,"Energy.rda"))
+}
+
+endtime <- proc.time()
+
+cat("\n\n============================\nIt took ")
+cat(endtime-starttime)
diff --git a/R/Archive/A/25-HHFoods-TS.R b/R/Archive/A/25-HHFoods-TS.R
new file mode 100644
index 00000000..13b7412b
--- /dev/null
+++ b/R/Archive/A/25-HHFoods-TS.R
@@ -0,0 +1,76 @@
+# 25-Foods-TS
+#
+#
+# Copyright © 2017: Arin Shahbazian
+# Licence: GPL-3
+#
+rm(list=ls())
+
+starttime <- proc.time()
+cat("\n\n================ Foods =====================================\n")
+
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+library(readxl)
+library(data.table)
+library(XLConnect)
+
+load(Settings$weightsFile)
+RegionWeights <- data.table(read_excel(Settings$MetaDataFilePath,sheet=Settings$MDS_Rough_Weights))
+
+BigD <- data.table(Region = character(0), HHID = numeric(0), Year = integer(0),
+ Quarter = numeric(0), Month = numeric(0), ProvinceCode = integer(0),
+ FoodExpenditure = numeric(0),
+ Weight = numeric(0))
+
+
+for(year in (Settings$startyear:Settings$endyear)){
+ cat(paste0("\n------------------------------\nYear:",year,"\n"))
+ if(!file.exists(paste0(Settings$HEISProcessedPath,"Y",year,"Foods.rda")))
+ { cat("next")
+ next
+ }
+
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"HHBase.rda"))
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"Foods.rda"))
+
+ D <- merge(HHBase,FoodData,by="HHID", all.x = TRUE)
+
+ W <- AllWeights[Year==year]
+ W[,Year:=NULL]
+ W_Rough <- RegionWeights[Year==year]
+ W_Rough <- W_Rough[,list(Region,Weight)]
+ if(nrow(W)==0){
+ D <- merge(D,W_Rough,by="Region", all.x = TRUE)
+ }else{
+ D <- merge(D,W,by="HHID", all.x = TRUE)
+ }
+
+ D <- D[,list(HHID, Region, Year, Quarter, Month, ProvinceCode, FoodExpenditure, Weight)]
+
+ D[is.na(Quarter), Quarter:=4]
+ BigD[is.na(FoodExpenditure),FoodExpenditure:=0]
+ BigD <- BigD[!is.na(Weight)]
+ BigD <- rbind(BigD,D)
+
+ # cat("\n",year,",",sum(D$FoodExpenditure*D$Weight))
+}
+
+
+
+
+F.Q <- BigD[,.(SF=sum(FoodExpenditure*Weight, na.rm = TRUE)),by=.(Year,Quarter)]
+
+F.Y <- BigD[,.(SF=sum(FoodExpenditure*Weight, na.rm = TRUE)),by=Year]
+
+
+writeWorksheetToFile(data = F.Q, file = paste0(Settings$HEISResultsPath,"Timeseries.xlsx"),sheet = "Food.Q")
+
+writeWorksheetToFile(data = F.Y, file = paste0(Settings$HEISResultsPath,"Timeseries.xlsx"),sheet = "Food.Y")
+
+
+endtime <- proc.time()
+
+cat("\n\n============================\nIt took ")
+cat(endtime-starttime)
\ No newline at end of file
diff --git a/R/Archive/A/26-Medicals-TS.R b/R/Archive/A/26-Medicals-TS.R
new file mode 100644
index 00000000..72425603
--- /dev/null
+++ b/R/Archive/A/26-Medicals-TS.R
@@ -0,0 +1,76 @@
+# 26-Medicals-TS
+#
+#
+# Copyright © 2017: Arin Shahbazian
+# Licence: GPL-3
+#
+rm(list=ls())
+
+starttime <- proc.time()
+cat("\n\n================ Medicals =====================================\n")
+
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+library(readxl)
+library(data.table)
+library(XLConnect)
+
+load(Settings$weightsFile)
+RegionWeights <- data.table(read_excel(Settings$MetaDataFilePath,sheet=Settings$MDS_Rough_Weights))
+
+BigD <- data.table(Region = character(0), HHID = numeric(0), Year = integer(0),
+ Quarter = numeric(0), Month = numeric(0), ProvinceCode = integer(0),
+ Medical_Exp = numeric(0),
+ Weight = numeric(0))
+
+
+for(year in (Settings$startyear:Settings$endyear)){
+ cat(paste0("\n------------------------------\nYear:",year,"\n"))
+ if(!file.exists(paste0(Settings$HEISProcessedPath,"Y",year,"Medicals.rda")))
+ { cat("next")
+ next
+ }
+
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"HHBase.rda"))
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"Medicals.rda"))
+
+ D <- merge(HHBase,MedicalData,by="HHID", all.x = TRUE)
+
+ W <- AllWeights[Year==year]
+ W[,Year:=NULL]
+ W_Rough <- RegionWeights[Year==year]
+ W_Rough <- W_Rough[,list(Region,Weight)]
+ if(nrow(W)==0){
+ D <- merge(D,W_Rough,by="Region", all.x = TRUE)
+ }else{
+ D <- merge(D,W,by="HHID", all.x = TRUE)
+ }
+
+ D <- D[,list(HHID, Region, Year, Quarter, Month, ProvinceCode, Medical_Exp, Weight)]
+
+ D[is.na(Quarter), Quarter:=4]
+ BigD[is.na(Medical_Exp),Medical_Exp:=0]
+ BigD <- BigD[!is.na(Weight)]
+ BigD <- rbind(BigD,D)
+
+ # cat("\n",year,",",sum(D$FoodExpenditure*D$Weight))
+}
+
+
+
+
+M.Q <- BigD[,.(SM=sum(Medical_Exp*Weight, na.rm = TRUE)),by=.(Year,Quarter)]
+
+M.Y <- BigD[,.(SM=sum(Medical_Exp*Weight, na.rm = TRUE)),by=Year]
+
+
+writeWorksheetToFile(data = M.Q, file = paste0(Settings$HEISResultsPath,"Timeseries.xlsx"),sheet = "Medical.Q")
+
+writeWorksheetToFile(data = M.Y, file = paste0(Settings$HEISResultsPath,"Timeseries.xlsx"),sheet = "Medical.Y")
+
+
+endtime <- proc.time()
+
+cat("\n\n============================\nIt took ")
+cat(endtime-starttime)
\ No newline at end of file
diff --git a/R/Archive/A/27-Amusement-TS.R b/R/Archive/A/27-Amusement-TS.R
new file mode 100644
index 00000000..5c59d747
--- /dev/null
+++ b/R/Archive/A/27-Amusement-TS.R
@@ -0,0 +1,76 @@
+# 27-Amusement-TS.R
+#
+#
+# Copyright © 2017: Arin Shahbazian
+# Licence: GPL-3
+#
+rm(list=ls())
+
+starttime <- proc.time()
+cat("\n\n================ Amusement =====================================\n")
+
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+library(readxl)
+library(data.table)
+library(XLConnect)
+
+load(Settings$weightsFile)
+RegionWeights <- data.table(read_excel(Settings$MetaDataFilePath,sheet=Settings$MDS_Rough_Weights))
+
+BigD <- data.table(Region = character(0), HHID = numeric(0), Year = integer(0),
+ Quarter = numeric(0), Month = numeric(0), ProvinceCode = integer(0),
+ Amusement_Exp = numeric(0),
+ Weight = numeric(0))
+
+
+for(year in (Settings$startyear:Settings$endyear)){
+ cat(paste0("\n------------------------------\nYear:",year,"\n"))
+ if(!file.exists(paste0(Settings$HEISProcessedPath,"Y",year,"Amusements.rda")))
+ { cat("next")
+ next
+ }
+
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"HHBase.rda"))
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"Amusements.rda"))
+
+ D <- merge(HHBase,AmusementData,by="HHID", all.x = TRUE)
+
+ W <- AllWeights[Year==year]
+ W[,Year:=NULL]
+ W_Rough <- RegionWeights[Year==year]
+ W_Rough <- W_Rough[,list(Region,Weight)]
+ if(nrow(W)==0){
+ D <- merge(D,W_Rough,by="Region", all.x = TRUE)
+ }else{
+ D <- merge(D,W,by="HHID", all.x = TRUE)
+ }
+
+ D <- D[,list(HHID, Region, Year, Quarter, Month, ProvinceCode, Amusement_Exp, Weight)]
+
+ D[is.na(Quarter), Quarter:=4]
+ BigD[is.na(Amusement_Exp),Amusement_Exp:=0]
+ BigD <- BigD[!is.na(Weight)]
+ BigD <- rbind(BigD,D)
+
+ # cat("\n",year,",",sum(D$FoodExpenditure*D$Weight))
+}
+
+
+
+
+Amusement.Q <- BigD[,.(SM=sum(Amusement_Exp*Weight, na.rm = TRUE)),by=.(Year,Quarter)]
+
+Amusement.Y <- BigD[,.(SM=sum(Amusement_Exp*Weight, na.rm = TRUE)),by=Year]
+
+
+writeWorksheetToFile(data = Amusement.Q, file = paste0(Settings$HEISResultsPath,"Timeseries.xlsx"),sheet = "Amusement.Q")
+
+writeWorksheetToFile(data = Amusement.Y, file = paste0(Settings$HEISResultsPath,"Timeseries.xlsx"),sheet = "Amusement.Y")
+
+
+endtime <- proc.time()
+
+cat("\n\n============================\nIt took ")
+cat(endtime-starttime)
\ No newline at end of file
diff --git a/R/Archive/A/27-Cloth-TS.R b/R/Archive/A/27-Cloth-TS.R
new file mode 100644
index 00000000..3b0a4351
--- /dev/null
+++ b/R/Archive/A/27-Cloth-TS.R
@@ -0,0 +1,76 @@
+# 27-Cloth-TS.R
+#
+#
+# Copyright © 2017: Arin Shahbazian
+# Licence: GPL-3
+#
+rm(list=ls())
+
+starttime <- proc.time()
+cat("\n\n================ Cloth =====================================\n")
+
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+library(readxl)
+library(data.table)
+library(XLConnect)
+
+load(Settings$weightsFile)
+RegionWeights <- data.table(read_excel(Settings$MetaDataFilePath,sheet=Settings$MDS_Rough_Weights))
+
+BigD <- data.table(Region = character(0), HHID = numeric(0), Year = integer(0),
+ Quarter = numeric(0), Month = numeric(0), ProvinceCode = integer(0),
+ Cloth_Exp = numeric(0),
+ Weight = numeric(0))
+
+
+for(year in (Settings$startyear:Settings$endyear)){
+ cat(paste0("\n------------------------------\nYear:",year,"\n"))
+ if(!file.exists(paste0(Settings$HEISProcessedPath,"Y",year,"Medicals.rda")))
+ { cat("next")
+ next
+ }
+
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"HHBase.rda"))
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"Cloths.rda"))
+
+ D <- merge(HHBase,ClothData,by="HHID", all.x = TRUE)
+
+ W <- AllWeights[Year==year]
+ W[,Year:=NULL]
+ W_Rough <- RegionWeights[Year==year]
+ W_Rough <- W_Rough[,list(Region,Weight)]
+ if(nrow(W)==0){
+ D <- merge(D,W_Rough,by="Region", all.x = TRUE)
+ }else{
+ D <- merge(D,W,by="HHID", all.x = TRUE)
+ }
+
+ D <- D[,list(HHID, Region, Year, Quarter, Month, ProvinceCode, Cloth_Exp, Weight)]
+
+ D[is.na(Quarter), Quarter:=4]
+ BigD[is.na(Cloth_Exp),Cloth_Exp:=0]
+ BigD <- BigD[!is.na(Weight)]
+ BigD <- rbind(BigD,D)
+
+ # cat("\n",year,",",sum(D$FoodExpenditure*D$Weight))
+}
+
+
+
+
+Cloth.Q <- BigD[,.(SM=sum(Cloth_Exp*Weight, na.rm = TRUE)),by=.(Year,Quarter)]
+
+Cloth.Y <- BigD[,.(SM=sum(Cloth_Exp*Weight, na.rm = TRUE)),by=Year]
+
+
+writeWorksheetToFile(data = Cloth.Q, file = paste0(Settings$HEISResultsPath,"Timeseries.xlsx"),sheet = "Cloths.Q")
+
+writeWorksheetToFile(data = Cloth.Y, file = paste0(Settings$HEISResultsPath,"Timeseries.xlsx"),sheet = "Cloths.Y")
+
+
+endtime <- proc.time()
+
+cat("\n\n============================\nIt took ")
+cat(endtime-starttime)
\ No newline at end of file
diff --git a/R/Archive/A/27-Communication-TS.R b/R/Archive/A/27-Communication-TS.R
new file mode 100644
index 00000000..c2d8188e
--- /dev/null
+++ b/R/Archive/A/27-Communication-TS.R
@@ -0,0 +1,76 @@
+# 27-Communication-TS.R
+#
+#
+# Copyright © 2017: Arin Shahbazian
+# Licence: GPL-3
+#
+rm(list=ls())
+
+starttime <- proc.time()
+cat("\n\n================ Communication =====================================\n")
+
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+library(readxl)
+library(data.table)
+library(XLConnect)
+
+load(Settings$weightsFile)
+RegionWeights <- data.table(read_excel(Settings$MetaDataFilePath,sheet=Settings$MDS_Rough_Weights))
+
+BigD <- data.table(Region = character(0), HHID = numeric(0), Year = integer(0),
+ Quarter = numeric(0), Month = numeric(0), ProvinceCode = integer(0),
+ Communication_Exp = numeric(0),
+ Weight = numeric(0))
+
+
+for(year in (Settings$startyear:Settings$endyear)){
+ cat(paste0("\n------------------------------\nYear:",year,"\n"))
+ if(!file.exists(paste0(Settings$HEISProcessedPath,"Y",year,"Communications.rda")))
+ { cat("next")
+ next
+ }
+
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"HHBase.rda"))
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"Communications.rda"))
+
+ D <- merge(HHBase,CommunicationData,by="HHID", all.x = TRUE)
+
+ W <- AllWeights[Year==year]
+ W[,Year:=NULL]
+ W_Rough <- RegionWeights[Year==year]
+ W_Rough <- W_Rough[,list(Region,Weight)]
+ if(nrow(W)==0){
+ D <- merge(D,W_Rough,by="Region", all.x = TRUE)
+ }else{
+ D <- merge(D,W,by="HHID", all.x = TRUE)
+ }
+
+ D <- D[,list(HHID, Region, Year, Quarter, Month, ProvinceCode, Communication_Exp, Weight)]
+
+ D[is.na(Quarter), Quarter:=4]
+ BigD[is.na(Communication_Exp),Communication_Exp:=0]
+ BigD <- BigD[!is.na(Weight)]
+ BigD <- rbind(BigD,D)
+
+ # cat("\n",year,",",sum(D$FoodExpenditure*D$Weight))
+}
+
+
+
+
+Communication.Q <- BigD[,.(SM=sum(Communication_Exp*Weight, na.rm = TRUE)),by=.(Year,Quarter)]
+
+Communication.Y <- BigD[,.(SM=sum(Communication_Exp*Weight, na.rm = TRUE)),by=Year]
+
+
+writeWorksheetToFile(data = Communication.Q, file = paste0(Settings$HEISResultsPath,"Timeseries.xlsx"),sheet = "Communication.Q")
+
+writeWorksheetToFile(data = Communication.Y, file = paste0(Settings$HEISResultsPath,"Timeseries.xlsx"),sheet = "Communication.Y")
+
+
+endtime <- proc.time()
+
+cat("\n\n============================\nIt took ")
+cat(endtime-starttime)
\ No newline at end of file
diff --git a/R/Archive/A/27-Education-TS.R b/R/Archive/A/27-Education-TS.R
new file mode 100644
index 00000000..3cc749b9
--- /dev/null
+++ b/R/Archive/A/27-Education-TS.R
@@ -0,0 +1,76 @@
+# 27-Education-TS
+#
+#
+# Copyright © 2017: Arin Shahbazian
+# Licence: GPL-3
+#
+rm(list=ls())
+
+starttime <- proc.time()
+cat("\n\n================ Education =====================================\n")
+
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+library(readxl)
+library(data.table)
+library(XLConnect)
+
+load(Settings$weightsFile)
+RegionWeights <- data.table(read_excel(Settings$MetaDataFilePath,sheet=Settings$MDS_Rough_Weights))
+
+BigD <- data.table(Region = character(0), HHID = numeric(0), Year = integer(0),
+ Quarter = numeric(0), Month = numeric(0), ProvinceCode = integer(0),
+ EducExpenditure = numeric(0),
+ Weight = numeric(0))
+
+
+for(year in (Settings$startyear:Settings$endyear)){
+ cat(paste0("\n------------------------------\nYear:",year,"\n"))
+ if(!file.exists(paste0(Settings$HEISProcessedPath,"Y",year,"Education.rda")))
+ { cat("next")
+ next
+ }
+
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"HHBase.rda"))
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"Education.rda"))
+
+ D <- merge(HHBase,EducData,by="HHID", all.x = TRUE)
+
+ W <- AllWeights[Year==year]
+ W[,Year:=NULL]
+ W_Rough <- RegionWeights[Year==year]
+ W_Rough <- W_Rough[,list(Region,Weight)]
+ if(nrow(W)==0){
+ D <- merge(D,W_Rough,by="Region", all.x = TRUE)
+ }else{
+ D <- merge(D,W,by="HHID", all.x = TRUE)
+ }
+
+ D <- D[,list(HHID, Region, Year, Quarter, Month, ProvinceCode, EducExpenditure, Weight)]
+
+ D[is.na(Quarter), Quarter:=4]
+ BigD[is.na(EducExpenditure),EducExpenditure:=0]
+ BigD <- BigD[!is.na(Weight)]
+ BigD <- rbind(BigD,D)
+
+ # cat("\n",year,",",sum(D$FoodExpenditure*D$Weight))
+}
+
+
+
+
+E.Q <- BigD[,.(SE=sum(EducExpenditure*Weight, na.rm = TRUE)),by=.(Year,Quarter)]
+
+E.Y <- BigD[,.(SE=sum(EducExpenditure*Weight, na.rm = TRUE)),by=Year]
+
+
+writeWorksheetToFile(data = E.Q, file = paste0(Settings$HEISResultsPath,"Timeseries.xlsx"),sheet = "Education.Q")
+
+writeWorksheetToFile(data = E.Y, file = paste0(Settings$HEISResultsPath,"Timeseries.xlsx"),sheet = "Education.Y")
+
+
+endtime <- proc.time()
+
+cat("\n\n============================\nIt took ")
+cat(endtime-starttime)
\ No newline at end of file
diff --git a/R/Archive/A/27-Energy-TS.R b/R/Archive/A/27-Energy-TS.R
new file mode 100644
index 00000000..ea8da7af
--- /dev/null
+++ b/R/Archive/A/27-Energy-TS.R
@@ -0,0 +1,76 @@
+# 27-Energy-TS
+#
+#
+# Copyright © 2017: Arin Shahbazian
+# Licence: GPL-3
+#
+rm(list=ls())
+
+starttime <- proc.time()
+cat("\n\n================ Energy =====================================\n")
+
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+library(readxl)
+library(data.table)
+library(XLConnect)
+
+load(Settings$weightsFile)
+RegionWeights <- data.table(read_excel(Settings$MetaDataFilePath,sheet=Settings$MDS_Rough_Weights))
+
+BigD <- data.table(Region = character(0), HHID = numeric(0), Year = integer(0),
+ Quarter = numeric(0), Month = numeric(0), ProvinceCode = integer(0),
+ Energy_Exp = numeric(0),
+ Weight = numeric(0))
+
+
+for(year in (Settings$startyear:Settings$endyear)){
+ cat(paste0("\n------------------------------\nYear:",year,"\n"))
+ if(!file.exists(paste0(Settings$HEISProcessedPath,"Y",year,"Energy.rda")))
+ { cat("next")
+ next
+ }
+
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"HHBase.rda"))
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"Energy.rda"))
+
+ D <- merge(HHBase,EnergyData,by="HHID", all.x = TRUE)
+
+ W <- AllWeights[Year==year]
+ W[,Year:=NULL]
+ W_Rough <- RegionWeights[Year==year]
+ W_Rough <- W_Rough[,list(Region,Weight)]
+ if(nrow(W)==0){
+ D <- merge(D,W_Rough,by="Region", all.x = TRUE)
+ }else{
+ D <- merge(D,W,by="HHID", all.x = TRUE)
+ }
+
+ D <- D[,list(HHID, Region, Year, Quarter, Month, ProvinceCode, Energy_Exp, Weight)]
+
+ D[is.na(Quarter), Quarter:=4]
+ BigD[is.na(Energy_Exp),Energy_Exp:=0]
+ BigD <- BigD[!is.na(Weight)]
+ BigD <- rbind(BigD,D)
+
+ # cat("\n",year,",",sum(D$FoodExpenditure*D$Weight))
+}
+
+
+
+
+Energy.Q <- BigD[,.(SM=sum(Energy_Exp*Weight, na.rm = TRUE)),by=.(Year,Quarter)]
+
+Energy.Y <- BigD[,.(SM=sum(Energy_Exp*Weight, na.rm = TRUE)),by=Year]
+
+
+writeWorksheetToFile(data = Energy.Q, file = paste0(Settings$HEISResultsPath,"Timeseries.xlsx"),sheet = "Energy.Q")
+
+writeWorksheetToFile(data = Energy.Y, file = paste0(Settings$HEISResultsPath,"Timeseries.xlsx"),sheet = "Energy.Y")
+
+
+endtime <- proc.time()
+
+cat("\n\n============================\nIt took ")
+cat(endtime-starttime)
\ No newline at end of file
diff --git a/R/Archive/A/27-Furniture-TS.R b/R/Archive/A/27-Furniture-TS.R
new file mode 100644
index 00000000..8b5a5344
--- /dev/null
+++ b/R/Archive/A/27-Furniture-TS.R
@@ -0,0 +1,76 @@
+# 27-Furniture-TS.R
+#
+#
+# Copyright © 2017: Arin Shahbazian
+# Licence: GPL-3
+#
+rm(list=ls())
+
+starttime <- proc.time()
+cat("\n\n================ Furniture =====================================\n")
+
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+library(readxl)
+library(data.table)
+library(XLConnect)
+
+load(Settings$weightsFile)
+RegionWeights <- data.table(read_excel(Settings$MetaDataFilePath,sheet=Settings$MDS_Rough_Weights))
+
+BigD <- data.table(Region = character(0), HHID = numeric(0), Year = integer(0),
+ Quarter = numeric(0), Month = numeric(0), ProvinceCode = integer(0),
+ Furniture_Exp = numeric(0),
+ Weight = numeric(0))
+
+
+for(year in (Settings$startyear:Settings$endyear)){
+ cat(paste0("\n------------------------------\nYear:",year,"\n"))
+ if(!file.exists(paste0(Settings$HEISProcessedPath,"Y",year,"Furnitures.rda")))
+ { cat("next")
+ next
+ }
+
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"HHBase.rda"))
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"Furnitures.rda"))
+
+ D <- merge(HHBase,FurnitureData,by="HHID", all.x = TRUE)
+
+ W <- AllWeights[Year==year]
+ W[,Year:=NULL]
+ W_Rough <- RegionWeights[Year==year]
+ W_Rough <- W_Rough[,list(Region,Weight)]
+ if(nrow(W)==0){
+ D <- merge(D,W_Rough,by="Region", all.x = TRUE)
+ }else{
+ D <- merge(D,W,by="HHID", all.x = TRUE)
+ }
+
+ D <- D[,list(HHID, Region, Year, Quarter, Month, ProvinceCode, Furniture_Exp, Weight)]
+
+ D[is.na(Quarter), Quarter:=4]
+ BigD[is.na(Furniture_Exp),Furniture_Exp:=0]
+ BigD <- BigD[!is.na(Weight)]
+ BigD <- rbind(BigD,D)
+
+ # cat("\n",year,",",sum(D$FoodExpenditure*D$Weight))
+}
+
+
+
+
+Furniture.Q <- BigD[,.(SM=sum(Furniture_Exp*Weight, na.rm = TRUE)),by=.(Year,Quarter)]
+
+Furniture.Y <- BigD[,.(SM=sum(Furniture_Exp*Weight, na.rm = TRUE)),by=Year]
+
+
+writeWorksheetToFile(data = Furniture.Q, file = paste0(Settings$HEISResultsPath,"Timeseries.xlsx"),sheet = "Furniture.Q")
+
+writeWorksheetToFile(data = Furniture.Y, file = paste0(Settings$HEISResultsPath,"Timeseries.xlsx"),sheet = "Furniture.Y")
+
+
+endtime <- proc.time()
+
+cat("\n\n============================\nIt took ")
+cat(endtime-starttime)
\ No newline at end of file
diff --git a/R/Archive/A/27-Transportation-TS.R b/R/Archive/A/27-Transportation-TS.R
new file mode 100644
index 00000000..65790086
--- /dev/null
+++ b/R/Archive/A/27-Transportation-TS.R
@@ -0,0 +1,76 @@
+# 27-Transportation-TS.R
+#
+#
+# Copyright © 2017: Arin Shahbazian
+# Licence: GPL-3
+#
+rm(list=ls())
+
+starttime <- proc.time()
+cat("\n\n================ Transportation =====================================\n")
+
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+library(readxl)
+library(data.table)
+library(XLConnect)
+
+load(Settings$weightsFile)
+RegionWeights <- data.table(read_excel(Settings$MetaDataFilePath,sheet=Settings$MDS_Rough_Weights))
+
+BigD <- data.table(Region = character(0), HHID = numeric(0), Year = integer(0),
+ Quarter = numeric(0), Month = numeric(0), ProvinceCode = integer(0),
+ Transportation_Exp = numeric(0),
+ Weight = numeric(0))
+
+
+for(year in (Settings$startyear:Settings$endyear)){
+ cat(paste0("\n------------------------------\nYear:",year,"\n"))
+ if(!file.exists(paste0(Settings$HEISProcessedPath,"Y",year,"Transportations.rda")))
+ { cat("next")
+ next
+ }
+
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"HHBase.rda"))
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"Transportations.rda"))
+
+ D <- merge(HHBase,TransportationData,by="HHID", all.x = TRUE)
+
+ W <- AllWeights[Year==year]
+ W[,Year:=NULL]
+ W_Rough <- RegionWeights[Year==year]
+ W_Rough <- W_Rough[,list(Region,Weight)]
+ if(nrow(W)==0){
+ D <- merge(D,W_Rough,by="Region", all.x = TRUE)
+ }else{
+ D <- merge(D,W,by="HHID", all.x = TRUE)
+ }
+
+ D <- D[,list(HHID, Region, Year, Quarter, Month, ProvinceCode, Transportation_Exp, Weight)]
+
+ D[is.na(Quarter), Quarter:=4]
+ BigD[is.na(Transportation_Exp),Transportation_Exp:=0]
+ BigD <- BigD[!is.na(Weight)]
+ BigD <- rbind(BigD,D)
+
+ # cat("\n",year,",",sum(D$FoodExpenditure*D$Weight))
+}
+
+
+
+
+Transportation.Q <- BigD[,.(SM=sum(Transportation_Exp*Weight, na.rm = TRUE)),by=.(Year,Quarter)]
+
+Transportation.Y <- BigD[,.(SM=sum(Transportation_Exp*Weight, na.rm = TRUE)),by=Year]
+
+
+writeWorksheetToFile(data = Transportation.Q, file = paste0(Settings$HEISResultsPath,"Timeseries.xlsx"),sheet = "Transportation.Q")
+
+writeWorksheetToFile(data = Transportation.Y, file = paste0(Settings$HEISResultsPath,"Timeseries.xlsx"),sheet = "Transportation.Y")
+
+
+endtime <- proc.time()
+
+cat("\n\n============================\nIt took ")
+cat(endtime-starttime)
\ No newline at end of file
diff --git a/R/Archive/A/29.1-InfantExp.R b/R/Archive/A/29.1-InfantExp.R
new file mode 100644
index 00000000..23d1dc1e
--- /dev/null
+++ b/R/Archive/A/29.1-InfantExp.R
@@ -0,0 +1,98 @@
+rm(list=ls())
+
+starttime <- proc.time()
+
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+library(data.table)
+
+load(paste0(Settings$HEISProcessedPath,"Y94HHBase.rda"))
+load(paste0(Settings$HEISProcessedPath,"Y94HHI.rda"))
+load(paste0(Settings$HEISRawPath,"Y94Raw.rda"))
+
+S01 <- rbind(Tables$R94P3S01,Tables$U94P3S01)
+setnames(S01, c("HHID","Code","BuyingMethod","Grams","Kilos","Price","Expenditure"))
+S03 <- rbind(Tables$R94P3S03,Tables$U94P3S03)
+setnames(S03, c("HHID","Code","BuyingMethod","Expenditure"))
+S05 <- rbind(Tables$R94P3S05,Tables$U94P3S05)
+setnames(S05, c("HHID","Code","BuyingMethod","Expenditure"))
+S09 <- rbind(Tables$R94P3S09,Tables$U94P3S09)
+setnames(S09, c("HHID","Code","BuyingMethod","Expenditure"))
+S12 <- rbind(Tables$R94P3S12,Tables$U94P3S12)
+setnames(S12, c("HHID","Code","BuyingMethod","Expenditure"))
+S13 <- rbind(Tables$R94P3S13,Tables$U94P3S13)
+setnames(S13, c("HHID","Code","I1","I2","BuyingMethod","Expenditure","SellValue"))
+S13 <- S13[,Expenditure:=as.integer(Expenditure)]
+
+rm(Tables)
+
+Q1T <- S01[Code==11413][,.(X1=sum(Expenditure)*12),by="HHID"]
+Q2T <- S01[Code==11936][,.(X2=sum(Expenditure)*12),by="HHID"]
+Q3T1 <- S03[Code %in% 31271:31277][,.(X31=sum(Expenditure)*12),by="HHID"]
+Q3T2 <- S03[Code %in% 32141][,.(X32=sum(Expenditure)*12),by="HHID"]
+Q3T3 <- S03[Code %in% c(31251:31269,31416)][,.(X33=sum(Expenditure)*12),by="HHID"]
+Q3T4 <- S03[Code %in% 32131:32134][,.(X34=sum(Expenditure)*12),by="HHID"]
+Q4T <- S05[Code==54034][,.(X4=sum(Expenditure)*12),by="HHID"]
+Q5T <- S12[Code==121353][,.(X5=sum(Expenditure)*12),by="HHID"]
+Q6T <- S12[Code==123215][,.(X6=sum(Expenditure)*12),by="HHID"]
+Q7T <- S09[Code %in% 93111:93117][,.(X7=sum(Expenditure)*12),by="HHID"]
+Q7TA <- S13[Code %in% 93118:93129][,.(X7A=sum(Expenditure)),by="HHID"]
+Q8T1A <- S13[Code %in% 101111:101115][,.(X81A=sum(Expenditure)),by="HHID"]
+Q8T2A <- S13[Code %in% 102111:102114][,.(X82A=sum(Expenditure)),by="HHID"]
+Q8T3A <- S13[Code %in% 102211:102215][,.(X83A=sum(Expenditure)),by="HHID"]
+Q8T4A <- S13[Code %in% 103111:103116][,.(X84A=sum(Expenditure)),by="HHID"]
+Q9TA <- S13[Code %in% 124113][,.(X9A=sum(Expenditure)),by="HHID"]
+
+
+D <- merge(HHBase, Q1T, by="HHID", all.x = TRUE)
+D <- merge(D, Q2T, by="HHID", all.x = TRUE)
+D <- merge(D, Q3T1, by="HHID", all.x = TRUE)
+D <- merge(D, Q3T2, by="HHID", all.x = TRUE)
+D <- merge(D, Q3T3, by="HHID", all.x = TRUE)
+D <- merge(D, Q3T4, by="HHID", all.x = TRUE)
+D <- merge(D, Q4T, by="HHID", all.x = TRUE)
+D <- merge(D, Q5T, by="HHID", all.x = TRUE)
+D <- merge(D, Q6T, by="HHID", all.x = TRUE)
+D <- merge(D, Q7T, by="HHID", all.x = TRUE)
+D <- merge(D, Q7TA, by="HHID", all.x = TRUE)
+D <- merge(D, Q8T1A, by="HHID", all.x = TRUE)
+D <- merge(D, Q8T2A, by="HHID", all.x = TRUE)
+D <- merge(D, Q8T3A, by="HHID", all.x = TRUE)
+D <- merge(D, Q8T4A, by="HHID", all.x = TRUE)
+D <- merge(D, Q9TA, by="HHID", all.x = TRUE)
+
+D[is.na(D)]<-0
+
+D <- merge(HHI,D,by="HHID")
+
+load(Settings$weightsFile)
+W <- AllWeights[Year==94][,Year:=NULL]
+
+D <- merge(D, W, by="HHID")
+
+
+library(questionr)
+
+wtd.table(D$NInfants, D$NSmallKids,weights = D$Weight)
+
+library(XLConnect)
+
+writeWorksheetToFile(file = "D:/InfantExp.xlsx", data =
+ D[,lapply(.SD,weighted.mean,Weight),.SDcols=c(22:23, 30:45)]
+ ,sheet = "All")
+writeWorksheetToFile(file = "D:/InfantExp.xlsx", data =
+ D[,lapply(.SD,weighted.mean,Weight),.SDcols=c(22:23, 30:45),by=NInfants]
+ ,sheet = "NInfants")
+writeWorksheetToFile(file = "D:/InfantExp.xlsx", data =
+ D[,lapply(.SD,weighted.mean,Weight),.SDcols=c(22:23, 30:45),by=NSmallKids]
+ ,sheet = "NSmallKids")
+writeWorksheetToFile(file = "D:/InfantExp.xlsx", data =
+ D[,lapply(.SD,weighted.mean,Weight),.SDcols=c(22:23, 30:45),by=.(NInfants,NSmallKids)]
+ ,sheet = "Both")
+
+
+D[NInfants>0,lapply(.SD,weighted.mean,Weight),.SDcols=c(22:23, 30:45)]
+D[NInfants>0,lapply(.SD,weighted.mean,Weight),.SDcols=c(22:23, 30:45)]
+
+D[X9A>0,lapply(.SD,weighted.mean,Weight),.SDcols=c(45),by=.(NInfants,NSmallKids)]
diff --git a/R/Archive/A/31-PubWage.R b/R/Archive/A/31-PubWage.R
new file mode 100644
index 00000000..f15b4a9d
--- /dev/null
+++ b/R/Archive/A/31-PubWage.R
@@ -0,0 +1,52 @@
+# 31-PubWage.R
+# Builds the Wages data.table for households
+#
+# Copyright © 2017: Arin Shahbazian
+# Licence: GPL-3
+
+rm(list=ls())
+
+starttime <- proc.time()
+cat("\n\n================ HHPubWage =====================================\n")
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+library(data.table)
+library(stringr)
+library(readxl)
+
+
+PubWageTable <- data.table(read_excel(Settings$MetaDataFilePath,sheet=Settings$MDS_PubWage))
+
+
+for(year in (Settings$startyear:Settings$endyear)){
+ cat(paste0("\n------------------------------\nYear:",year,"\n"))
+ load(file=paste0(Settings$HEISRawPath,"Y",year,"Raw.rda"))
+ pubwt <- PubWageTable[Year==year]
+ tab <- pubwt$Table
+ if(is.na(tab))
+ next
+ UTpubW <- Tables[[paste0("U",year,tab)]]
+ RTpubW <- Tables[[paste0("R",year,tab)]]
+ TpubW <- rbind(UTpubW,RTpubW,fill=TRUE)
+ for(n in names(TpubW)){
+ x <- which(pubwt==n)
+ if(length(x)>0)
+ setnames(TpubW,n,names(pubwt)[x])
+ }
+ pcols <- intersect(names(TpubW),c("HHID","indiv","shaghel","shoghl","current_shoghl","faaliat","section","hour_in_day","day_in_week","gross_income_m","gross_income_y","mostameri_m","mostameri_y","gheyremostameri_m","gheyremostameri_y","net_income_m","net_income_y"))
+ TpubW <- TpubW[,pcols,with=FALSE]
+
+ if(year %in% 69:76){
+ TpubW <- TpubW[ section ==1 ]
+ } else if(year %in% 77:94){
+ TpubW <- TpubW[ section ==1 ]
+ }
+
+ TpubW[is.na(TpubW)] <- 0
+ # PubWageData <- TpubW[,lapply(.SD,sum),by=HHID]
+ # save(WageData, file = paste0(Settings$HEISProcessedPath,"Y",year,"Wages.rda"))
+ }
+endtime <- proc.time()
+cat("\n\n============================\nIt took ")
+cat(endtime-starttime)
diff --git a/R/Archive/A/32-HHPrvWage.R b/R/Archive/A/32-HHPrvWage.R
new file mode 100644
index 00000000..868ddae4
--- /dev/null
+++ b/R/Archive/A/32-HHPrvWage.R
@@ -0,0 +1,52 @@
+# 32-Private Wage.R
+# Builds the Private Wages data.table for households
+#
+# Copyright © 2017: Arin Shahbazian
+# Licence: GPL-3
+
+rm(list=ls())
+
+starttime <- proc.time()
+cat("\n\n================ HHPrvWage =====================================\n")
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+library(data.table)
+library(stringr)
+library(readxl)
+
+
+PrvWageTable <- data.table(read_excel(Settings$MetaDataFilePath,sheet=Settings$MDS_PrvWage))
+
+
+for(year in (Settings$startyear:Settings$endyear)){
+ cat(paste0("\n------------------------------\nYear:",year,"\n"))
+ load(file=paste0(Settings$HEISRawPath,"Y",year,"Raw.rda"))
+ prvwt <- PrvWageTable[Year==year]
+ tab <- prvwt$Table
+ if(is.na(tab))
+ next
+ UTPrvW <- Tables[[paste0("U",year,tab)]]
+ RTPrvW <- Tables[[paste0("R",year,tab)]]
+ TPrvW <- rbind(UTPrvW,RTPrvW,fill=TRUE)
+ for(n in names(TPrvW)){
+ x <- which(prvwt==n)
+ if(length(x)>0)
+ setnames(TPrvW,n,names(prvwt)[x])
+ }
+ pcols <- intersect(names(TPrvW),c("HHID","indiv","shaghel","shoghl","current_shoghl","faaliat","section","hour_in_day","day_in_week","gross_income_m","gross_income_y","mostameri_m","mostameri_y","gheyremostameri_m","gheyremostameri_y","net_income_m","net_income_y"))
+ TPrvW <- TPrvW[,pcols,with=FALSE]
+
+ if(year %in% 69:76){
+ TPrvW <- TPrvW[ section ==2 ]
+ } else if(year %in% 77:94){
+ TPrvW <- TPrvW[ section ==3 ]
+ }
+
+ TPrvW[is.na(TPrvW)] <- 0
+ # PrvWageData <- TPrvW[,lapply(.SD,sum),by=HHID]
+ # save(PrvWageData, file = paste0(Settings$HEISProcessedPath,"Y",year,"PrvWages.rda"))
+}
+endtime <- proc.time()
+cat("\n\n============================\nIt took ")
+cat(endtime-starttime)
diff --git a/R/Archive/A/33-HHBussInc.R b/R/Archive/A/33-HHBussInc.R
new file mode 100644
index 00000000..7702da9a
--- /dev/null
+++ b/R/Archive/A/33-HHBussInc.R
@@ -0,0 +1,50 @@
+# 33- HHBussInc.R
+#
+# Builds the bussiness income data.table for households
+# Copyright © 2017: Arin Shahbazian
+# Licence: GPL-3
+
+rm(list=ls())
+
+starttime <- proc.time()
+cat("\n\n================ HHBussIncTable =====================================\n")
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+library(data.table)
+library(stringr)
+library(readxl)
+
+
+bussWageTable <- data.table(read_excel(Settings$MetaDataFilePath,sheet=Settings$MDS_BussWage))
+
+
+for(year in (Settings$startyear:Settings$endyear)){
+ cat(paste0("\n------------------------------\nYear:",year,"\n"))
+ load(file=paste0(Settings$HEISRawPath,"Y",year,"Raw.rda"))
+ busswt <- bussWageTable[Year==year]
+ tab <- busswt$Table
+ if(is.na(tab))
+ next
+ UTbussW <- Tables[[paste0("U",year,tab)]]
+ RTbussW <- Tables[[paste0("R",year,tab)]]
+ TbussW <- rbind(UTbussW,RTbussW,fill=TRUE)
+ for(n in names(TbussW)){
+ x <- which(busswt==n)
+ if(length(x)>0)
+ setnames(TbussW,n,names(busswt)[x])
+ }
+ pcols <- intersect(names(TbussW),c("HHID","indiv","shaghel","shoghl","faaliat","job condition","agriculture","hour_in_day","day_in_week","cost1","cost2","cost3","cost4","cost5","sell","net_income_y"))
+ TbussW <- TbussW[,pcols,with=FALSE]
+
+ if(year %in% 69:94){
+ TbussW <- TbussW[ agriculture ==2 ]
+ }
+
+ TbussW[is.na(TbussW)] <- 0
+ # bussWageData <- TbussW[,lapply(.SD,sum),by=HHID]
+ # save(bussWageData, file = paste0(Settings$HEISProcessedPath,"Y",year,"bussWages.rda"))
+}
+endtime <- proc.time()
+cat("\n\n============================\nIt took ")
+cat(endtime-starttime)
diff --git a/R/Archive/A/34-HHAgriInc.R b/R/Archive/A/34-HHAgriInc.R
new file mode 100644
index 00000000..9255481f
--- /dev/null
+++ b/R/Archive/A/34-HHAgriInc.R
@@ -0,0 +1,50 @@
+# 34-AggrInc.R
+#Builds the Agricultral Wages data.table for households
+#
+# Copyright © 2017: Arin Shahbazian
+# Licence: GPL-3
+
+rm(list=ls())
+
+starttime <- proc.time()
+cat("\n\n================ HHAggrIncTable =====================================\n")
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+library(data.table)
+library(stringr)
+library(readxl)
+
+
+AgriWageTable <- data.table(read_excel(Settings$MetaDataFilePath,sheet=Settings$MDS_AgriWage))
+
+
+for(year in (Settings$startyear:Settings$endyear)){
+ cat(paste0("\n------------------------------\nYear:",year,"\n"))
+ load(file=paste0(Settings$HEISRawPath,"Y",year,"Raw.rda"))
+ Agriwt <- AgriWageTable[Year==year]
+ tab <- Agriwt$Table
+ if(is.na(tab))
+ next
+ UTAgriW <- Tables[[paste0("U",year,tab)]]
+ RTAgriW <- Tables[[paste0("R",year,tab)]]
+ TAgriW <- rbind(UTAgriW,RTAgriW,fill=TRUE)
+ for(n in names(TAgriW)){
+ x <- which(Agriwt==n)
+ if(length(x)>0)
+ setnames(TAgriW,n,names(Agriwt)[x])
+ }
+ pcols <- intersect(names(TAgriW),c("HHID","indiv","shaghel","shoghl","faaliat","job condition","agriculture","hour_in_day","day_in_week","cost1","cost2","cost3","cost4","cost5","sell","net_income_y"))
+ TAgriW <- TAgriW[,pcols,with=FALSE]
+
+ if(year %in% 69:94){
+ TAgriW <- TAgriW[ agriculture ==1 ]
+ }
+
+ TAgriW[is.na(TAgriW)] <- 0
+ # AgriWageData <- TAgriW[,lapply(.SD,sum),by=HHID]
+ # save(AgriWageData, file = paste0(Settings$HEISProcessedPath,"Y",year,"AgriWages.rda"))
+}
+endtime <- proc.time()
+cat("\n\n============================\nIt took ")
+cat(endtime-starttime)
diff --git a/R/Archive/A/35-OtherIncome.R b/R/Archive/A/35-OtherIncome.R
new file mode 100644
index 00000000..9b2e8329
--- /dev/null
+++ b/R/Archive/A/35-OtherIncome.R
@@ -0,0 +1,52 @@
+# 35-OtherIncome.R
+# Builds the OtherIncome data.table for households
+#
+# Copyright © 2017: Arin Shahbazian
+# Licence: GPL-3
+
+rm(list=ls())
+
+starttime <- proc.time()
+cat("\n\n================ HHOtherIncome =====================================\n")
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+library(data.table)
+library(stringr)
+library(readxl)
+
+
+OtherWageTable <- data.table(read_excel(Settings$MetaDataFilePath,sheet=Settings$MDS_OtherWage))
+
+
+for(year in (Settings$startyear:Settings$endyear)){
+ cat(paste0("\n------------------------------\nYear:",year,"\n"))
+ load(file=paste0(Settings$HEISRawPath,"Y",year,"Raw.rda"))
+ Otherwt <- OtherWageTable[Year==year]
+ tab <- Otherwt$Table
+ if(is.na(tab))
+ next
+ UTOtherW <- Tables[[paste0("U",year,tab)]]
+ RTOtherW <- Tables[[paste0("R",year,tab)]]
+ TOtherW <- rbind(UTOtherW,RTOtherW,fill=TRUE)
+ for(n in names(TOtherW)){
+ x <- which(Otherwt==n)
+ if(length(x)>0)
+ setnames(TOtherW,n,names(Otherwt)[x])
+ }
+ pcols <- intersect(names(TOtherW),c("HHID","Code","indiv","retirement","rent","interest","aid","homemade","intra"))
+ TOtherW <- TOtherW[,pcols,with=FALSE]
+
+ #if(year %in% 63:68){
+ # TOtherW <- TOtherW[ section ==1 ]
+ # } else if(year %in% 77:94){
+ # TOtherW <- TOtherW[ section ==1 ]
+ #}
+
+ TOtherW[is.na(TOtherW)] <- 0
+ OtherWageData <- TOtherW[,lapply(.SD,sum),by=HHID]
+ save(OtherWageData, file = paste0(Settings$HEISProcessedPath,"Y",year,"OtherWage.rda"))
+}
+endtime <- proc.time()
+cat("\n\n============================\nIt took ")
+cat(endtime-starttime)
diff --git a/R/Archive/A/36-Subsidy.R b/R/Archive/A/36-Subsidy.R
new file mode 100644
index 00000000..f7cf4a15
--- /dev/null
+++ b/R/Archive/A/36-Subsidy.R
@@ -0,0 +1,48 @@
+# 36-Subsidy.R
+# Builds the SubsidyIncome data.table for households
+#
+# Copyright © 2017: Arin Shahbazian
+# Licence: GPL-3
+
+rm(list=ls())
+
+starttime <- proc.time()
+cat("\n\n================ HHSubsidy =====================================\n")
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+library(data.table)
+library(stringr)
+library(readxl)
+
+
+SubsidyWageTable <- data.table(read_excel(Settings$MetaDataFilePath,sheet=Settings$MDS_SubsidyWage))
+
+
+for(year in (Settings$startyear:Settings$endyear)){
+ cat(paste0("\n------------------------------\nYear:",year,"\n"))
+ load(file=paste0(Settings$HEISRawPath,"Y",year,"Raw.rda"))
+ Subsidywt <- SubsidyWageTable[Year==year]
+ tab <- Subsidywt$Table
+ if(is.na(tab))
+ next
+ UTSubsidyW <- Tables[[paste0("U",year,tab)]]
+ RTSubsidyW <- Tables[[paste0("R",year,tab)]]
+ TSubsidyW <- rbind(UTSubsidyW,RTSubsidyW,fill=TRUE)
+ for(n in names(TSubsidyW)){
+ x <- which(Subsidywt==n)
+ if(length(x)>0)
+ setnames(TSubsidyW,n,names(Subsidywt)[x])
+ }
+ pcols <- intersect(names(TSubsidyW),c("HHID","indiv","dimension","month_number","Subsidy"))
+ TSubsidyW <- TSubsidyW[,pcols,with=FALSE]
+
+
+
+ TSubsidyW[is.na(TSubsidyW)] <- 0
+ SubsidyWageData <- TSubsidyW[,lapply(.SD,sum),by=HHID]
+ save(SubsidyWageData, file = paste0(Settings$HEISProcessedPath,"Y",year,"Subsidy.rda"))
+}
+endtime <- proc.time()
+cat("\n\n============================\nIt took ")
+cat(endtime-starttime)
diff --git a/R/Archive/Above 1 million.R b/R/Archive/Above 1 million.R
new file mode 100644
index 00000000..ab72216b
--- /dev/null
+++ b/R/Archive/Above 1 million.R
@@ -0,0 +1,38 @@
+# 168-Step8-PovertyStats.R
+#
+# Copyright © 2018-2020:Majid Einian & Arin Shahbazian
+# Licence: GPL-3
+
+rm(list=ls())
+
+starttime <- proc.time()
+cat("\n\n================ Poverty Line =====================================\n")
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+library(readxl)
+library(data.table)
+library(writexl)
+
+
+year<-98
+#for(year in (Settings$startyear:Settings$endyear)){
+ cat(paste0("\nYear:",year,"\t"))
+
+
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"FinalPoor.rda"))
+
+ MD[,Above:=ifelse((Total_Exp_Month-House_Exp)/Size>10000000,1,0)]
+ MD[,weighted.mean(Above,Weight)]
+ MD[,weighted.mean(Above,Weight),by=Region]
+ MD[,weighted.mean(Above,Weight),by=ProvinceCode][order(ProvinceCode)]
+
+ MD[Above==0,weighted.mean((Total_Exp_Month-House_Exp)/Size,Weight)]
+ MD[Above==0,weighted.mean((Total_Exp_Month-House_Exp)/Size,Weight),by=Region]
+ MD[Above==0,weighted.mean((Total_Exp_Month-House_Exp)/Size,Weight),by=ProvinceCode][order(ProvinceCode)]
+
+
+
+
+endtime <- proc.time()
+cat("\n\n============================\nIt took",(endtime-starttime)["elapsed"],"seconds")
\ No newline at end of file
diff --git a/R/Archive/August 2020/164-Step4-RealDeciles.R b/R/Archive/August 2020/164-Step4-RealDeciles.R
new file mode 100644
index 00000000..41012a8c
--- /dev/null
+++ b/R/Archive/August 2020/164-Step4-RealDeciles.R
@@ -0,0 +1,377 @@
+#164-Step 4-FindInitialPoor.R
+#
+# Copyright © 2020:Majid Einian & Arin Shahbazian
+# Licence: GPL-3
+
+rm(list=ls())
+
+starttime <- proc.time()
+cat("\n\n================ Nominal to Real =====================================\n")
+
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+#library(readxl)
+library(data.table)
+library(ggplot2)
+library(compare)
+
+# Function Defs ---------------------------------------------------------------------------------
+CalcTornqvistIndex <- function(DataTable){
+ X <- DataTable[,.(N=.N,wi1=weighted.mean(FoodExpenditure/Total_Exp_Month,Weight,na.rm = TRUE),
+ wi2=weighted.mean(ServiceExp/Total_Exp_Month,Weight,na.rm = TRUE),
+ pi1=weighted.mean(Bundle_Value,Weight,na.rm = TRUE),
+ pi2=weighted.mean(MetrPrice,Weight,na.rm = TRUE)),by=.(Region,NewArea_Name)]
+
+ X[,wi:=wi1+wi2]
+ X[,wi1:=wi1/wi]
+ X[,wi2:=wi2/wi]
+ XTeh<-X[NewArea_Name=="Sh_Tehran"]
+ wk1<-XTeh$wi1 # k == Sh_Tehran
+ wk2<-XTeh$wi2
+ pk1<-XTeh$pi1
+ pk2<-XTeh$pi2
+
+ X[,SimpleIndex:= .5 * pi1/pk1 + .5 * pi2/pk2]
+ X[,AnotherIndex:= wi1 * pi1/pk1 + wi2 * pi2/pk2]
+
+ X[,TornqvistIndex:= exp( (wk1+wi1)/2 * log(pi1/pk1) + (wk2+wi2)/2 * log(pi2/pk2) ) ]
+
+
+ # print(X[Region=="Rural" & NewArea_Name=="Semnan",])
+ # if("Percentile" %in% names(DataTable))
+ # print(DataTable[Region=="Rural" & NewArea_Name=="Semnan",.(min=min(as.integer(Percentile)),max=max(as.integer(Percentile))),by=.(Region,NewArea_Name)])
+
+ return(X[,.(Region,NewArea_Name,PriceIndex=TornqvistIndex)])
+}
+
+
+DoDeciling_SetInitialPoor <- function(DataTable,PriceIndexDT){
+
+ if("PriceIndex" %in% names(DataTable)){
+ DataTable <- DataTable[,PriceIndex:=NULL]
+ }
+ DataTable <- merge(DataTable,PriceIndexDT,by=c("Region","NewArea_Name"))
+
+
+ DataTable <- DataTable[,Total_Exp_Month_Per_nondurable_Real:=Total_Exp_Month_Per_nondurable/PriceIndex]
+
+ DataTable <- DataTable[order(Total_Exp_Month_Per_nondurable_Real)]
+ DataTable <- DataTable[,xr25th:=.SD[25,Total_Exp_Month_Per_nondurable_Real],by=.(Region,NewArea_Name)]
+ DataTable <- DataTable[,First25:=ifelse(Total_Exp_Month_Per_nondurable_Real<=xr25th,1,0)]
+
+ DataTable <- DataTable[order(Total_Exp_Month_Per_nondurable_Real)] # I removed Region from ordering, deciling is not divided into rural/urban (M.E. 5/11/2020)
+ DataTable <- DataTable[,crw:=cumsum(Weight*Size)/sum(Weight*Size)] # Cumulative Relative Weight
+
+ #Calculate deciles by weights
+ DataTable <- DataTable[,Decile:=cut(crw,breaks = seq(0,1,.1),labels = 1:10)]
+ DataTable <- DataTable[,Percentile:=cut(crw,breaks=seq(0,1,.01),labels=1:100)]
+
+ #############################################
+ A1<-DataTable[(`71111`+`71112`+`71116`+`71117`>0),
+ .(A1=weighted.mean(`71111`+`71112`+`71116`+
+ `71117`,Weight)),by=Decile]
+ A2<-DataTable[(`91128`+`91129`>0),
+ .(A2=weighted.mean(`91128`+`91129`,Weight)),by=Decile]
+ A3<-DataTable[`53112`>0 ,.(A3=weighted.mean(`53112`,Weight)),by=Decile]
+ A4<-DataTable[`53116`>0 , .(A4=weighted.mean(`53116`,Weight)),by=Decile]
+ A5<-DataTable[`53113`>0 ,.(A5=weighted.mean(`53113`,Weight)),by=Decile]
+ A6<-DataTable[`82113`>0, .(A6=weighted.mean(`82113`,Weight)),by=Decile]
+ A7<-DataTable[`53125`>0,.(A7=weighted.mean(`53125`,Weight)),by=Decile]
+ A8<-DataTable[`91311`>0 ,.(A8= weighted.mean(`91311`,Weight)),by=Decile]
+ A9<-DataTable[`72111`>0,.(A9=weighted.mean(`72111`,Weight)),by=Decile]
+ if (year!=90 & year!=92 & year!=93 & year!=95){
+ A10<-DataTable[`72118`>0 ,.(A10=weighted.mean(`72118`,Weight)),by=Decile]
+ }
+ A11<-DataTable[`72319`>0 ,.(A11=weighted.mean(`72319`,Weight)),by=Decile]
+
+ DataTable[,A1:=NULL]
+ DataTable[,A2:=NULL]
+ DataTable[,A3:=NULL]
+ DataTable[,A4:=NULL]
+ DataTable[,A5:=NULL]
+ DataTable[,A6:=NULL]
+ DataTable[,A7:=NULL]
+ DataTable[,A8:=NULL]
+ DataTable[,A9:=NULL]
+ DataTable[,A10:=NULL]
+ DataTable[,A11:=NULL]
+
+ DataTable<-merge(DataTable,A1,by="Decile")
+ DataTable<-merge(DataTable,A2,by="Decile")
+ DataTable<-merge(DataTable,A3,by="Decile")
+ DataTable<-merge(DataTable,A4,by="Decile")
+ DataTable<-merge(DataTable,A5,by="Decile")
+ DataTable<-merge(DataTable,A6,by="Decile")
+ DataTable<-merge(DataTable,A7,by="Decile")
+ if (year==98){
+ A88<-data.table("3","200000")
+ names(A88)<-c("Decile","A8")
+ A8 <- rbind(A8, A88)
+ }
+ DataTable<-merge(DataTable,A8,by="Decile",allow.cartesian=TRUE)
+ DataTable[,A8:=as.numeric(A8)]
+ DataTable<-merge(DataTable,A9,by="Decile")
+ if (year!=90 & year!=92 & year!=93 & year!=95){
+ DataTable<-merge(DataTable,A10,by="Decile")
+ }
+ DataTable<-merge(DataTable,A11,by="Decile")
+
+# DataTable[car=="True",Added1:=A1] ### We use 0.05 instead of 0.1
+# DataTable[tvcr=="True",Added2:=A2]
+# DataTable[freezer=="True" | frez_refrig=="True" | refrigerator=="True",
+# Added3:=A3]
+# DataTable[oven=="True",Added4:=A4]
+# DataTable[washer=="True",Added5:=A5]
+# DataTable[cellphone=="True",Added6:=A6]
+# DataTable[cooler_gas=="True",Added7:=A7]
+# DataTable[computer=="True",Added8:=A8]
+ # DataTable[car=="True",Added9:=A9]
+# if (year!=90 & year!=92 & year!=93 & year!=95){
+ # DataTable[car=="True",Added10:=A10]
+ # }
+ # DataTable[car=="True",Added11:=A11]
+
+ DataTable[car=="True",Added1:=A1-0.05*Auto_Sale] #We use 0.05 instead of 0.1
+ DataTable[tvcr=="True",Added2:=A2-0.033*TV_Sale]
+ DataTable[freezer=="True" | frez_refrig=="True" | refrigerator=="True",
+ Added3:=A3-0.033*yakhchal_Sale]
+ DataTable[oven=="True",Added4:=A4-0.033*ojaghgaz_Sale]
+ DataTable[washer=="True",Added5:=A5-0.033*lebasshooyi_Sale]
+ DataTable[cellphone=="True",Added6:=A6-0.11*Mobile_Sale]
+ DataTable[cooler_gas=="True",Added7:=A7-0.05*Coolergazi_Sale]
+ DataTable[computer=="True",Added8:=A8]
+ DataTable[computer=="True",Added8:=A8-0.06*PC_Sale]
+ DataTable[car=="True",Added9:=A9-0.5*lastik_Sale]
+ if (year!=90 & year!=92 & year!=93 & year!=95){
+ DataTable[car=="True",Added10:=A10]
+ }
+ DataTable[car=="True",Added11:=A11]
+
+ if (year!=90 & year!=92 & year!=93 & year!=95){
+ dep <- c( "71111", "71112","71116", "71117",
+ "91128", "91129","53112", "53116",
+ "53113", "82113","53125", "91311",
+ "72111", "72118","72319")
+ }
+
+ if (year==90 | year==92 | year==93 | year==95){
+ dep <- c( "71111", "71112","71116", "71117",
+ "91128", "91129","53112", "53116",
+ "53113", "82113","53125", "91311",
+ "72111","72319")
+ }
+
+ DataTable[, Total_Depreciated_Durable := Reduce(`+`, .SD), .SDcols=dep]
+ DataTable[is.na(DataTable)] <- 0
+
+ if (year!=90 & year!=92 & year!=93 & year!=95){
+ DataTable[,Added:=Added1+Added2+Added3+Added4+Added5+Added6+
+ Added7+Added8+Added9+Added10+Added11]
+ }
+ if (year==90 | year==92 | year==93 | year==95){
+ DataTable[,Added:=Added1+Added2+Added3+Added4+Added5+Added6+
+ Added7+Added8+Added9+Added11]
+ }
+
+ #Calculate Monthly Total Expenditures
+ nw <- c("OriginalFoodExpenditure","FoodOtherExpenditure", "Cigar_Exp", "Cloth_Exp",
+ "Amusement_Exp", "Communication_Exp",
+ "HouseandEnergy_Exp", "Furniture_Exp", "HotelRestaurant_Exp", "Hygiene_Exp",
+ "Transportation_Exp", "Other_Exp"
+ ,"Add_to_NonDurable"
+ ,"Added"
+ #, "Total_Depreciated_Durable"
+ )
+ w <- c(nw, "Medical_Exp",
+ "Durable_NoDep","Durable_Emergency")
+
+
+ DataTable[, Total_Exp_Month := Reduce(`+`, .SD), .SDcols=w]
+ DataTable[, Total_Exp_Month_nondurable := Reduce(`+`, .SD), .SDcols=nw]
+
+ DataTable[,weighted.mean(Total_Exp_Month,Weight)]
+ DataTable[,weighted.mean(Total_Exp_Month_nondurable,Weight)]
+
+ DataTable[,Total_Exp_Month_Per:=Total_Exp_Month/EqSizeOECD]
+ DataTable[,Total_Exp_Month_Per_nondurable:=Total_Exp_Month_nondurable/EqSizeOECD]
+
+ ###################################################################
+
+ DataTable <- DataTable[,Total_Exp_Month_Per_nondurable_Real:=Total_Exp_Month_Per_nondurable/PriceIndex]
+
+ DataTable <- DataTable[order(Total_Exp_Month_Per_nondurable_Real)]
+ DataTable <- DataTable[,xr25th:=.SD[25,Total_Exp_Month_Per_nondurable_Real],by=.(Region,NewArea_Name)]
+ DataTable <- DataTable[,First25:=ifelse(Total_Exp_Month_Per_nondurable_Real<=xr25th,1,0)]
+
+ DataTable <- DataTable[order(Total_Exp_Month_Per_nondurable_Real)] # I removed Region from ordering, deciling is not divided into rural/urban (M.E. 5/11/2020)
+ DataTable <- DataTable[,crw:=cumsum(Weight*Size)/sum(Weight*Size)] # Cumulative Relative Weight
+
+ #Calculate deciles by weights
+ DataTable <- DataTable[,Decile:=cut(crw,breaks = seq(0,1,.1),labels = 1:10)]
+ DataTable <- DataTable[,Percentile:=cut(crw,breaks=seq(0,1,.01),labels=1:100)]
+
+
+ DataTable <- DataTable[,InitialPoorBasedOnPercentile:=ifelse(Percentile %in% Settings$InitialPoorPercentile,1,0)]
+
+ return(DataTable)
+}
+
+
+for(year in (Settings$startyear:Settings$endyear)){
+ cat(paste0("\n------------------------------\nYear:",year,"\n"))
+
+ # load data --------------------------------------
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"Merged4CBN3.rda"))
+
+ if (year!=90 & year!=92 & year!=93 & year!=95){
+ SMD <- MD[,.(HHID,Region,
+ ServiceExp,FoodExpenditure,Total_Exp_Month,
+ NewArea,NewArea_Name,Total_Exp_Month_Per_nondurable,TOriginalFoodExpenditure_Per,
+ # Total_Exp_Month_Per_nondurable2,TFoodExpenditure_Per2,
+ TFoodKCaloriesHH_Per,Calorie_Need_WorldBank,Calorie_Need_Anstitoo,
+ Weight,MetrPrice,Size,EqSizeOECD
+ ,`71111`,`71117`,`71112`,`71116`,
+ `91128`,`91129`,`53112`,`53116`,
+ `53113`,`82113`,`53125`,`91311`,
+ `72111`,`72118`,`72319`
+ ,Auto_Sale,TV_Sale,Mobile_Sale,PC_Sale,
+ yakhchal_Sale,ojaghgaz_Sale,lebasshooyi_Sale,
+ Coolergazi_Sale,lastik_Sale
+ ,car,tvcr,freezer,frez_refrig,refrigerator,oven,
+ washer,cellphone,cooler_gas,computer
+ ,OriginalFoodExpenditure,FoodOtherExpenditure, Cigar_Exp, Cloth_Exp,
+ Amusement_Exp, Communication_Exp,
+ HouseandEnergy_Exp, Furniture_Exp, HotelRestaurant_Exp, Hygiene_Exp,
+ Transportation_Exp, Other_Exp
+ ,Add_to_NonDurable,Medical_Exp,
+ Durable_NoDep,Durable_Emergency)]
+ }
+ if (year==90 | year==92 | year==93 | year==95){
+ SMD <- MD[,.(HHID,Region,
+ ServiceExp,FoodExpenditure,Total_Exp_Month,
+ NewArea,NewArea_Name,Total_Exp_Month_Per_nondurable,TOriginalFoodExpenditure_Per,
+ # Total_Exp_Month_Per_nondurable2,TFoodExpenditure_Per2,
+ TFoodKCaloriesHH_Per,Calorie_Need_WorldBank,Calorie_Need_Anstitoo,
+ Weight,MetrPrice,Size,EqSizeOECD
+ ,`71111`,`71117`,`71112`,`71116`,
+ `91128`,`91129`,`53112`,`53116`,
+ `53113`,`82113`,`53125`,`91311`,
+ `72111`,`72319`
+ ,Auto_Sale,TV_Sale,Mobile_Sale,PC_Sale,
+ yakhchal_Sale,ojaghgaz_Sale,lebasshooyi_Sale,
+ Coolergazi_Sale,lastik_Sale
+ ,car,tvcr,freezer,frez_refrig,refrigerator,oven,
+ washer,cellphone,cooler_gas,computer
+ ,OriginalFoodExpenditure,FoodOtherExpenditure, Cigar_Exp, Cloth_Exp,
+ Amusement_Exp, Communication_Exp,
+ HouseandEnergy_Exp, Furniture_Exp, HotelRestaurant_Exp, Hygiene_Exp,
+ Transportation_Exp, Other_Exp
+ ,Add_to_NonDurable,Medical_Exp,
+ Durable_NoDep,Durable_Emergency)]
+ }
+
+ #Choose one of these
+ SMD[,Bundle_Value:=TOriginalFoodExpenditure_Per*Calorie_Need_WorldBank/TFoodKCaloriesHH_Per]
+ #SMD[,Bundle_Value:=TOriginalFoodExpenditure_Per*Calorie_Need_Anstitoo/TFoodKCaloriesHH_Per]
+ #SMD[,Bundle_Value:=TOriginalFoodExpenditure_Per*Settings$KCaloryNeed_Adult_WorldBank/TFoodKCaloriesHH_Per]
+ #SMD[,Bundle_Value:=TOriginalFoodExpenditure_Per*Settings$KCaloryNeed_Adult_Anstitoo/TFoodKCaloriesHH_Per]
+
+
+ SMD <- SMD[Bundle_Value<=5000000 | TFoodKCaloriesHH_Per>=300] #arbitrary measures, TODO: check in diff years
+
+ S1<-SMD[,.(HHID,Region,NewArea_Name,TFoodKCaloriesHH_Per,Bundle_Value)]
+
+
+ PriceDT <- CalcTornqvistIndex(SMD)
+ SMD <- DoDeciling_SetInitialPoor(SMD,PriceDT)
+ S2<-SMD[,.(HHID,Region,NewArea_Name,TFoodKCaloriesHH_Per,Bundle_Value)]
+
+
+ #comparison <- compare(S1,S2,"row")
+ #comparison <- setdiff(S1$HHID,S2$HHID)
+ #x<-S1[HHID %in% comparison]
+
+ SMD[,InitialPoorBasedOnPercentileLastIteration:=1]
+ i <- 0
+ while(SMD[,sum((InitialPoorBasedOnPercentile-InitialPoorBasedOnPercentileLastIteration)^2)]>0.001*nrow(SMD) & i <=50){
+ i <- i+1
+ SMD[,InitialPoorBasedOnPercentileLastIteration:=InitialPoorBasedOnPercentile]
+
+ SMDIterationPoor <- SMD[InitialPoorBasedOnPercentileLastIteration==1 | First25==1 ]
+
+ if(nrow(SMDIterationPoor[,.N,by=.(Region,NewArea_Name)])<78)
+ stop("HERE Some Area goes missing!")
+ if(min(SMDIterationPoor[,.N,by=.(Region,NewArea_Name)]$N)==0)
+ stop("HERE Some Area goes missing!")
+
+
+
+ PriceDTBasedOnThisIterationPoor <- CalcTornqvistIndex(SMDIterationPoor)
+ # print(PriceDTBasedOnThisIterationPoor[Region=="Rural" & NewArea_Name=="Semnan",])
+ SMD <- DoDeciling_SetInitialPoor(SMD,PriceDTBasedOnThisIterationPoor)
+
+ cat("\n",i,":",SMD[,sum((InitialPoorBasedOnPercentile-InitialPoorBasedOnPercentileLastIteration)^2)])
+
+
+
+ }
+
+# cat(SMD[,weighted.mean(Calorie_Need_WorldBank,Weight)],"\n")
+# cat(SMD[,weighted.mean(TFoodKCaloriesHH_Per,Weight)],"\n")
+# cat(SMD[,weighted.mean(Bundle_Value,Weight)],"\n")
+
+ MD[,Added1:=NULL]
+ MD[,Added2:=NULL]
+ MD[,Added3:=NULL]
+ MD[,Added4:=NULL]
+ MD[,Added5:=NULL]
+ MD[,Added6:=NULL]
+ MD[,Added7:=NULL]
+ MD[,Added8:=NULL]
+ MD[,Added9:=NULL]
+ MD[,Added10:=NULL]
+ MD[,Added11:=NULL]
+ MD[,Added:=NULL]
+
+ if (year!=90 & year!=92 & year!=93 & year!=95){
+ MD <- merge(MD,SMD[,.(HHID,Bundle_Value,InitialPoorBasedOnPercentile,Decile,Percentile,
+ Added1,Added2,Added3,Added4,Added5,Added6,Added7,Added8,
+ Added9,Added10,Added11,Added)],by="HHID")
+ }
+
+ if (year==90 | year==92 | year==93 | year==95){
+ MD <- merge(MD,SMD[,.(HHID,Bundle_Value,InitialPoorBasedOnPercentile,Decile,Percentile,
+ Added1,Added2,Added3,Added4,Added5,Added6,Added7,Added8,
+ Added9,Added11,Added)],by="HHID")
+ }
+
+ setnames(MD,"InitialPoorBasedOnPercentile","InitialPoor") # or maybe InitialPoorBasedOnRealIterativePercentile !
+
+
+######################################################################
+save(MD,file=paste0(Settings$HEISProcessedPath,"Y",year,"InitialPoor.rda"))
+
+#A<-merge(A3,A2)
+#A<-merge(A,A1)
+#A<-merge(A,A4)
+#A<-merge(A,A5)
+#A<-merge(A,A6)
+#A<-merge(A,A7)
+#A<-merge(A,A8)
+#A<-merge(A,A9)
+#A<-merge(A,A10)
+#A<-merge(A,A11)
+
+
+}
+
+x<-MD[,weighted.mean(FoodKCaloriesHH_Per,Weight),by=c("Region,Decile")]
+
+#z2<-MD[,.(HHID,Decile,Added,Added1,Added2,Added3,Added4,Added5,
+ # Added6,Added7,Added8,computer,Added9,Added10,Added11)]
+
+endtime <- proc.time()
+cat("\n\n============================\nIt took ")
+cat((endtime-starttime)["elapsed"])
+cat(" seconds")
diff --git a/R/Archive/August 2020/174-Step4-RealDeciles.R b/R/Archive/August 2020/174-Step4-RealDeciles.R
new file mode 100644
index 00000000..51da260c
--- /dev/null
+++ b/R/Archive/August 2020/174-Step4-RealDeciles.R
@@ -0,0 +1,192 @@
+#174-FindInitialPoor.R
+#
+# Copyright © 2018:Majid Einian & Arin Shahbazian
+# Licence: GPL-3
+
+rm(list=ls())
+
+starttime <- proc.time()
+cat("\n\n================ Nominal to Real =====================================\n")
+
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+#library(readxl)
+library(data.table)
+library(ggplot2)
+
+for(year in (Settings$startyear:Settings$endyear)){
+ cat(paste0("\n------------------------------\nYear:",year,"\n"))
+
+ # load data --------------------------------------
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"Merged4CBN3.rda"))
+
+ SMD <- MD[,.(HHID,Region,ProvinceCode,
+ ServiceExp,FoodExpenditure,Total_Exp_Month,
+ NewArea,NewArea_Name,Total_Exp_Month_Per_nondurable,TOriginalFoodExpenditure_Per,
+ # Total_Exp_Month_Per_nondurable2,TFoodExpenditure_Per2,
+ Durable_Exp,
+ TFoodKCaloriesHH_Per,Calorie_Need_WorldBank,Calorie_Need_Anstitoo,
+ Weight,MetrPrice,Size,EqSizeOECD)]
+
+ #Choose one of these
+ SMD[,Bundle_Value:=TOriginalFoodExpenditure_Per*Calorie_Need_WorldBank/TFoodKCaloriesHH_Per]
+ #SMD[,Bundle_Value:=TOriginalFoodExpenditure_Per*Calorie_Need_Anstitoo/TFoodKCaloriesHH_Per]
+ #SMD[,Bundle_Value:=TOriginalFoodExpenditure_Per*Settings$KCaloryNeed_Adult_WorldBank/TFoodKCaloriesHH_Per]
+ #SMD[,Bundle_Value:=TOriginalFoodExpenditure_Per*Settings$KCaloryNeed_Adult_Anstitoo/TFoodKCaloriesHH_Per]
+
+
+ SMD <- SMD[Bundle_Value<=5000000 | TFoodKCaloriesHH_Per>=300] #arbitrary measures, TODO: check in diff years
+
+ #Real Prices
+ T_Bundle_Value <- SMD[NewArea==2301, .(Bundle_Value,MetrPrice,Weight)]
+ TBV1 <- T_Bundle_Value[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE)]
+ TBV2 <- T_Bundle_Value[,weighted.mean(MetrPrice,Weight,na.rm = TRUE)]
+
+ SMD[,PriceIndex2:=(weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/TBV1
+ +weighted.mean(MetrPrice,Weight,na.rm = TRUE)/TBV2)/2
+ ,by=.(Region,NewArea_Name)]
+
+ X <- SMD[,.(weighted.mean(FoodExpenditure/Total_Exp_Month,Weight),
+ weighted.mean(ServiceExp/Total_Exp_Month,Weight)),by=.(Region,NewArea_Name)]
+ X[,V:=V1+V2]
+
+ SMD <- merge(SMD,X,by=c("Region","NewArea_Name"))
+
+ SMD[,PriceIndex:=(weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/TBV1*V1
+ +weighted.mean(MetrPrice,Weight,na.rm = TRUE)/TBV2*V2)/V
+ ,by=.(Region,NewArea_Name)]
+
+ Compare1<-SMD[,.(Old=mean(PriceIndex2),
+ New=mean(PriceIndex)),by=.(Region,NewArea_Name)]
+
+ SMD[,V1:=NULL]
+ SMD[,V2:=NULL]
+ SMD[,V:=NULL]
+
+
+ SMD[,Total_Exp_Month_Per_nondurable_Real:=Total_Exp_Month_Per_nondurable/PriceIndex]
+
+ ###Real- Urban & Rural
+ #SMD<- SMD[order(Region,Total_Exp_Month_Per_nondurable_Real)] #Deciling in Urban- Rural
+ #SMD[,crw:=cumsum(Weight*Size)/sum(Weight*Size),by=Region] # Cumulative Relative Weight
+ #SMD[,Decile:=cut(crw,breaks = seq(0,1,.1),labels = 1:10),by=Region]
+ #SMD[,Percentile:=cut(crw,breaks=seq(0,1,.01),labels=1:100),by=Region]
+
+ ###Real- Country
+ SMD<- SMD[order(Total_Exp_Month_Per_nondurable_Real)] #Deciling in Country
+ SMD[,crw:=cumsum(Weight*Size)/sum(Weight*Size)] # Cumulative Relative Weight
+ SMD[,Decile:=cut(crw,breaks = seq(0,1,.1),labels = 1:10)]
+ SMD[,Percentile:=cut(crw,breaks=seq(0,1,.01),labels=1:100)]
+
+ ###Nominal- Urban & Rural
+ #SMD<- SMD[order(Region,Total_Exp_Month_Per_nondurable)] #Deciling in Urban- Rural(Nominal)
+ #SMD[,crw2:=cumsum(Weight*Size)/sum(Weight*Size),by=Region] # Cumulative Relative Weight
+ #SMD[,Decile_Nominal:=cut(crw2,breaks = seq(0,1,.1),labels = 1:10),by=Region]
+ #SMD[,Percentile_Nominal:=cut(crw2,breaks=seq(0,1,.01),labels=1:100),by=Region]
+
+ ###Nominal- Country
+ SMD<- SMD[order(Total_Exp_Month_Per_nondurable)] #Deciling in Country(Nominal)
+ SMD[,crw2:=cumsum(Weight*Size)/sum(Weight*Size)] # Cumulative Relative Weight
+ SMD[,Decile_Nominal:=cut(crw2,breaks = seq(0,1,.1),labels = 1:10)]
+ SMD[,Percentile_Nominal:=cut(crw2,breaks=seq(0,1,.01),labels=1:100)]
+
+
+
+ SMD[,NewPoor:=1]
+ SMD[,ThisIterationPoor:=0]
+ i <- 0
+ while(sum(SMD[,(ThisIterationPoor-NewPoor)^2])>=0.002*nrow(SMD) & i <=50){
+ i <- i+1
+ SMD[,pold:=Percentile]
+ SMD[,ThisIterationPoor:=ifelse(pold %in% Settings$InitialPoorPercentile,1,0)]
+ SMDIterationPoor<-SMD[ThisIterationPoor==TRUE]
+ SMDIterationPoor[,sum(ThisIterationPoor),by=.(Region,NewArea_Name)][order(Region,NewArea_Name)]
+
+ T_P_Bundle_Value <- SMDIterationPoor[NewArea==2301, .(Bundle_Value,MetrPrice,Weight)]
+ TPBV1 <- T_P_Bundle_Value[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE)]
+ TPBV2 <- T_P_Bundle_Value[,weighted.mean(MetrPrice,Weight,na.rm = TRUE)]
+
+
+ X <- SMDIterationPoor[,.(weighted.mean(FoodExpenditure/Total_Exp_Month,Weight),
+ weighted.mean(ServiceExp/Total_Exp_Month,Weight)),by=.(Region,NewArea_Name)]
+ X[,V:=V1+V2]
+
+ SMDIterationPoor <- merge(SMDIterationPoor,X,by=c("Region","NewArea_Name"))
+ SMDIterationPoor[,PriceIndex:=NULL]
+
+ Index <- SMDIterationPoor[,.(PriceIndex=(weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/TPBV1*V1+
+ weighted.mean(MetrPrice,Weight,na.rm = TRUE)/TPBV2*V2)/V)
+ ,by=.(Region,NewArea_Name)]
+ Index <- Index[,.(PriceIndex=mean(PriceIndex)),by=.(Region,NewArea_Name)]
+
+
+ SMD[,PriceIndex:=NULL]
+ SMD <- merge(SMD,Index,by=c("Region","NewArea_Name"))
+
+ SMD[,Total_Exp_Month_Per_nondurable_Real:=Total_Exp_Month_Per_nondurable/PriceIndex]
+
+
+ ###Real- Urban & Rural
+ #SMD<- SMD[order(Region,Total_Exp_Month_Per_nondurable_Real)] #Deciling in Urban- Rural
+ #SMD[,crw:=cumsum(Weight*Size)/sum(Weight*Size),by=Region] # Cumulative Relative Weight
+ #SMD[,Decile:=cut(crw,breaks = seq(0,1,.1),labels = 1:10),by=Region]
+ #SMD[,Percentile:=cut(crw,breaks=seq(0,1,.01),labels=1:100),by=Region]
+
+ ###Real- Country
+ SMD<- SMD[order(Total_Exp_Month_Per_nondurable_Real)] #Deciling in Country
+ SMD[,crw:=cumsum(Weight*Size)/sum(Weight*Size)] # Cumulative Relative Weight
+ SMD[,Decile:=cut(crw,breaks = seq(0,1,.1),labels = 1:10)]
+ SMD[,Percentile:=cut(crw,breaks=seq(0,1,.01),labels=1:100)]
+
+ SMD[,NewPoor:=ifelse(Percentile %in% Settings$InitialPoorPercentile,1,0)]
+ save(SMD,file=paste0(Settings$HEISProcessedPath,"Y",year,"SMD.rda"))
+
+ #cat("\n",sum(SMD[ProvinceCode==2,.N]))
+ cat("\n",sum(SMD[,(ThisIterationPoor-NewPoor)^2]))
+ SMD[,weighted.mean(Size,Weight),by=.(Region)][order(Region)]
+ SMD[,sum(Size*Weight),by=.(Region,Decile)][order(Region,Decile)]
+
+ SMD[,weighted.mean(Size,Weight,na.rm = TRUE),by=.(Decile)][order(Decile)]
+ # NewDecile<-SMD[,.(HHID,Decile)]
+ # names(NewDecile)<-c("HHID","NewDecile")
+ # save(NewDecile,file=paste0(Settings$HEISProcessedPath,"Y",year,"NewDecile.rda"))
+
+ # OldDecile<-SMD[,.(HHID,Decile)]
+ # names(OldDecile)<-c("HHID","OldDecile")
+ # save(OldDecile,file=paste0(Settings$HEISProcessedPath,"Y",year,"OldDecile.rda"))
+
+ }
+
+ #load(file=paste0(Settings$HEISProcessedPath,"Y",year,"NewDecile.rda"))
+ #DecileCompare<-merge(as.data.table(OldDecile),NewDecile,by="HHID")
+ #DecileCompare[,Diff:=as.numeric(NewDecile)-as.numeric(OldDecile)]
+ #DecileCompare2<- DecileCompare[,.(.N),by=Diff]
+
+ #ggplot(DecileCompare2, aes(fill=factor(Diff), y=N, x=factor(Diff))) +
+ # geom_bar(position="dodge", stat="identity") + theme_bw() +
+ # theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1)) +
+ # geom_text(aes(label=N), position=position_dodge(width=0.9), vjust=-0.25)
+
+ MD <- merge(MD,SMD[,.(HHID,Bundle_Value,NewPoor,Decile,Percentile,Decile_Nominal,Percentile_Nominal)],by="HHID")
+ setnames(MD,"NewPoor","InitialPoor")
+
+
+ MD[,weighted.mean(InitialPoor,Weight), by=.(NewArea_Name,Region)]
+ MD[,sum(Weight*Size), by=.(Decile,Region)][order(Region,Decile)]
+ MD[,sum(Weight*Size), by=.(Decile_Nominal,Region)][order(Region,Decile_Nominal)]
+
+ save(MD,file=paste0(Settings$HEISProcessedPath,"Y",year,"InitialPoor.rda"))
+
+ ########################################
+
+
+
+
+ }
+
+
+endtime <- proc.time()
+cat("\n\n============================\nIt took ")
+cat((endtime-starttime)["elapsed"])
+cat(" seconds")
diff --git a/R/Archive/August 2020/900-Calculation of CV- Benzin -2020.R b/R/Archive/August 2020/900-Calculation of CV- Benzin -2020.R
new file mode 100644
index 00000000..fcd1fc02
--- /dev/null
+++ b/R/Archive/August 2020/900-Calculation of CV- Benzin -2020.R
@@ -0,0 +1,295 @@
+# Calculation of CV- Benzin
+# Copyright © 2020: Arin Shahbazian
+# Licence: GPL-3
+
+rm(list=ls())
+
+starttime <- proc.time()
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+library(data.table)
+library(stringr)
+library(readxl)
+options(warn=-1)
+
+################################################
+################ Benzin ########################
+################################################
+cat("\n\n================ Benzin =====================================\n")
+
+BenzinTables <- data.table(read_excel(Settings$MetaDataFilePath,sheet=Settings$MDS_Benzin))
+
+for(year in (Settings$startyear:Settings$endyear)){
+ cat(paste0("\n------------------------------\nYear:",year,"\n"))
+ load(file=paste0(Settings$HEISRawPath,"Y",year,"Raw.rda"))
+ ft <- BenzinTables[Year==year]
+ tab <- ft$Table
+ if(is.na(tab))
+ next
+ UTF <- Tables[[paste0("U",year,tab)]]
+ RTF <- Tables[[paste0("R",year,tab)]]
+ TF <- rbind(UTF,RTF)
+ for(n in names(TF)){
+ x <- which(ft==n)
+ if(length(x)>0)
+ setnames(TF,n,names(ft)[x])
+ }
+
+ pcols <- intersect(names(TF),c("HHID","Code","Benzin_Exp"))
+ TF <- TF[,pcols,with=FALSE]
+ TF <- TF[Code %in% ft$StartCode:ft$EndCode]
+ if(year %in% 84:96){
+ TF[,BenzinExpenditure:=as.numeric(BenzinExpenditure)]
+ }
+
+
+ TF[,Code:=NULL]
+ TF[is.na(TF)] <- 0
+ BenzinData <- TF[,lapply(.SD,sum),by=HHID]
+ save(BenzinData, file = paste0(Settings$HEISProcessedPath,"Y",year,"Benzins.rda"))
+}
+
+################################################
+################ Transportation ########################
+################################################
+cat("\n\n================ Transportation =====================================\n")
+
+TransportationTables <- data.table(read_excel(Settings$MetaDataFilePath,sheet=Settings$MDS_Transportation))
+
+for(year in (Settings$startyear:Settings$endyear)){
+ cat(paste0("\n------------------------------\nYear:",year,"\n"))
+ load(file=paste0(Settings$HEISRawPath,"Y",year,"Raw.rda"))
+ ft <- TransportationTables[Year==year]
+ tab <- ft$Table
+ if(is.na(tab))
+ next
+ UTF <- Tables[[paste0("U",year,tab)]]
+ RTF <- Tables[[paste0("R",year,tab)]]
+ TF <- rbind(UTF,RTF)
+ for(n in names(TF)){
+ x <- which(ft==n)
+ if(length(x)>0)
+ setnames(TF,n,names(ft)[x])
+ }
+
+ pcols <- intersect(names(TF),c("HHID","Code","Transportation_Exp"))
+ TF <- TF[,pcols,with=FALSE]
+ TF <- TF[Code %in% ft$StartCode:ft$EndCode]
+ if(year %in% 84:96){
+ TF[,TransportationExpenditure:=as.numeric(TransportationExpenditure)]
+ }
+
+
+ TF[,Code:=NULL]
+ TF[is.na(TF)] <- 0
+ TransportationData <- TF[,lapply(.SD,sum),by=HHID]
+ save(TransportationData, file = paste0(Settings$HEISProcessedPath,"Y",year,"Transportations.rda"))
+}
+################################################
+################ Other Exp ########################
+################################################
+cat("\n\n================ Other =====================================\n")
+
+
+for(year in (Settings$startyear:Settings$endyear)){
+ cat(paste0("\n------------------------------\nYear:",year,"\n"))
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"InitialPoor.rda"))
+ MD<-MD[,.(HHID,HIndivNo,Region,ProvinceCode,NewArea_Name,Total_Exp_Month,Total_Exp_Month_nondurable,
+ Size,EqSizeOECD,Weight,HSex,HEduLevel,
+ HEduYears,HActivityState)]
+
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"Deciles.rda"))
+ MD<-merge(MD,Deciles)
+
+ save(MD, file = paste0(Settings$HEISProcessedPath,"Y",year,"MD.rda"))
+}
+
+
+
+MD[,weighted.mean(Total_Exp_Month,Weight),by=.(Region,Decile)][order(Region,Decile)]
+MD[,weighted.mean(Size,Weight),by=.(Region,Decile)][order(Region,Decile)]
+MD[NewArea_Name=="Sh_Tehran" ,weighted.mean(Total_Exp_Month,Weight),by=.(Decile)][order(Decile)]
+MD[NewArea_Name=="Sh_Tehran" ,weighted.mean(Size,Weight),by=.(Decile)][order(Decile)]
+
+cat("\n\n================ Merge =====================================\n")
+################################################
+####### Merge Information #############
+################################################
+
+Total<-merge(MD,BenzinData,all = TRUE)
+Total<-merge(Total,TransportationData,all = TRUE)
+Total[is.na(Total)] <- 0
+Total<-Total[,Other_Exp:=Total_Exp_Month-Benzin_Exp-Transportation_Exp]
+Total<-Total[,Benzin_Exp_Add:=ifelse(Benzin_Exp<600000,0,Benzin_Exp-600000)]
+
+Total<-Total[Decile %in% 1:10]
+d<-Total[,sum(Weight),by=c("Region","Decile")]
+e<-Total[,sum(Weight*Size),by=c("Region","Decile")]
+
+#Price Indexes
+load(file="Index98.rda")
+Total<-merge(Total,Index98,by="ProvinceCode")
+Total[,Decile:=as.numeric(Decile)]
+Total<-Total[,Yaraneh2:=ifelse(Size==1,550000,
+ ifelse(Size==2,1030000,
+ ifelse(Size==3,1380000,
+ ifelse(Size==4,1720000,2050000))))]
+Total<-Total[,Yaraneh:=ifelse(Decile>7,0,Yaraneh2)]
+
+#Total<-Total[,Yaraneh:=Yaraneh2]
+Total[is.na(Total)] <- 0
+#Total<-Total[Benzin_Exp==0]
+
+############New Prices###########
+Total[,BenzinP1:=Benzin_Exp]
+Total[,TransportationP1:=Transportation_Exp*Mehr98/137]
+Total[,Other_ExpP1:=Other_Exp*Mehr98/137]
+
+#Total[,BenzinP2:=ifelse(Benzin_Exp<600000, Benzin_Exp*1.5,Benzin_Exp*3)]
+Total[,BenzinP2:=ifelse(Benzin_Exp<600000, Benzin_Exp*1.5,
+ 600000*1.5+Benzin_Exp_Add*3)]
+Total[,TransportationP2:=TransportationP1*1.11]
+Total[,Other_ExpP2:=Other_ExpP1*1.02]
+
+################################################
+################ CV #################
+################################################
+
+Total<-Total[,BenzinShare:=Benzin_Exp/Total_Exp_Month]
+Total<-Total[,TransportationShare:=Transportation_Exp/Total_Exp_Month]
+Total<-Total[,Other_ExpShare:=Other_Exp/Total_Exp_Month]
+
+
+Total<-Total[,CV:=Total_Exp_Month*(1-((BenzinP2/BenzinP1)^BenzinShare)*((TransportationP2/TransportationP1)^TransportationShare)*
+ ((Other_ExpP2/Other_ExpP1)^Other_ExpShare))]
+
+Total<-Total[,Loss:=ifelse(Yaraneh0,weighted.mean(Loss==1,Weight)]
+Total[Benzin_Exp>0 & Decile<8,weighted.mean(Loss,Weight)]
+Total[Benzin_Exp>0,sum(Loss*Weight)]
+Total[Benzin_Exp>0 & Decile<8,sum(Loss*Weight)]
+Total[Benzin_Exp>0,sum(Loss*Weight*Size)]
+Total[Benzin_Exp>0 & Decile<8,sum(Loss*Weight*Size)]
+
+Total[Benzin_Exp==0,weighted.mean(Loss==1,Weight)]
+Total[Benzin_Exp==0 & Decile<8,weighted.mean(Loss,Weight)]
+Total[Benzin_Exp==0,sum(Loss*Weight)]
+Total[Benzin_Exp==0 & Decile<8,sum(Loss*Weight)]
+Total[Benzin_Exp==0,sum(Loss*Weight*Size)]
+Total[Benzin_Exp==0 & Decile<8,sum(Loss*Weight*Size)]
+
+
+###Table11
+taxi <- read_excel("C:/Users/pc1/Desktop/taxi.xlsx")
+taxi<-as.data.table(taxi)
+Total[,HHID:=as.character(HHID)]
+taxi[,HHID:=as.character(HHID)]
+Total<- merge(Total,taxi,by="HHID",all.x = TRUE)
+for (col in c("taxicode")) Total[is.na(get(col)), (col) := 0]
+
+Total[Decile<8,sum(Loss*Weight),by=taxicode]
+Total[Decile<8,sum(Weight),by=taxicode]
+
+
+#Graph 1
+a<-Total[,weighted.mean(Loss,Weight),by=.(ProvinceCode)]
+b<-Total[Decile<8,weighted.mean(Loss,Weight),by=.(ProvinceCode)]
+
+#Graph 2
+Loss<-Total[Loss==1]
+Loss[,weighted.mean(Loss_Amount,Weight,na.rm = TRUE)]
+Loss[,weighted.mean(Loss_Amount,Weight,na.rm = TRUE),by=.(Region,Decile)][order(Region,Decile)]
+
+Loss[,weighted.mean(Loss_Amount/Total_Exp_Month,Weight,na.rm = TRUE)]
+Loss[,weighted.mean(Loss_Amount/Total_Exp_Month,Weight,na.rm = TRUE),by=.(Region,Decile)][order(Region,Decile)]
+Loss[,Loss_Share:=Loss_Amount/Total_Exp_Month]
+Loss2<-Loss[Loss_Share<0.05]
+
+Loss[,Loss_Section:=ifelse(Loss_Share<0.01,1,
+ ifelse(Loss_Share<0.02 & Loss_Share>0.01,2,
+ ifelse(Loss_Share<0.03 & Loss_Share>0.02,3,
+ ifelse(Loss_Share<0.04 & Loss_Share>0.03,4,
+ ifelse(Loss_Share<0.05 & Loss_Share>0.04,5,6)))))]
+
+a<-Loss[,sum(Weight),by=Loss_Section][order(Loss_Section)]
+b<-Loss[Decile<8,sum(Weight),by=Loss_Section][order(Loss_Section)]
+
+
+
+### Graph 3
+Win<-Total[Loss==0]
+Win<-Win[,Win_Amount:=Yaraneh-abs(CV)]
+Win[,weighted.mean(Win_Amount,Weight,na.rm = TRUE)]
+Win[,weighted.mean(Win_Amount,Weight,na.rm = TRUE),by=.(Region,Decile)][order(Region,Decile)]
+
+Win[,weighted.mean(Win_Amount/Total_Exp_Month,Weight,na.rm = TRUE)]
+Win[,weighted.mean(Win_Amount/Total_Exp_Month,Weight,na.rm = TRUE),by=.(Region,Decile)][order(Region,Decile)]
+Win[,Win_Share:=Win_Amount/Total_Exp_Month]
+Win2<-Win[Win_Share<0.3]
+
+Win[,Win_Section:=ifelse(Win_Share<0.025,1,
+ ifelse(Win_Share<0.05 & Win_Share>0.025,2,
+ ifelse(Win_Share<0.075 & Win_Share>0.05,3,
+ ifelse(Win_Share<0.1 & Win_Share>0.075,4,
+ ifelse(Win_Share<0.125 & Win_Share>0.1,5,
+ ifelse(Win_Share<0.15 & Win_Share>0.125,6,
+ ifelse(Win_Share<0.175 & Win_Share>0.15,7,
+ ifelse(Win_Share<0.2 & Win_Share>0.175,8,
+ ifelse(Win_Share<0.225 & Win_Share>0.2,9,
+ ifelse(Win_Share<0.25 & Win_Share>0.225,10,
+ ifelse(Win_Share<0.275 & Win_Share>0.25,11,
+ ifelse(Win_Share<0.3 & Win_Share>0.275,12,13))))))))))))]
+
+a<-Win[,sum(Weight),by=Win_Section][order(Win_Section)]
+b<-Win[Decile<8,sum(Weight),by=Win_Section][order(Win_Section)]
+
+
+### Graph 4
+Win[,Pop:=sum(Weight),by=Decile]
+a<-Win[,sum(Weight/Pop),by=.(Win_Section,Decile)]
+
+
+
+endtime <- proc.time()
+cat("\n\n============================\nIt took ")
+cat(endtime-starttime)
diff --git a/R/Archive/August 2020/Calory.R b/R/Archive/August 2020/Calory.R
new file mode 100644
index 00000000..41bdd3f9
--- /dev/null
+++ b/R/Archive/August 2020/Calory.R
@@ -0,0 +1,154 @@
+# 703-Bundle 2100
+# Builds the Food Groups data.table for households
+#
+# Copyright © 2019: Arin Shahbazian
+# Licence: GPL-3
+
+rm(list=ls())
+starttime <- proc.time()
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+library(data.table)
+library(stringr)
+library(readxl)
+library(spatstat)
+library(writexl)
+cat("\n\n================ FoodGroups =====================================\n")
+year<-95
+ cat(paste0("\n------------------------------\nYear:",year,"\n"))
+ load( file = paste0(Settings$HEISProcessedPath,"Y",year,"BigFData.rda"))
+ load(file = paste0(Settings$HEISProcessedPath,"Y",year,"Food_Calories.rda"))
+ load( file = paste0(Settings$HEISProcessedPath,"Y",year,"FINALPOORS.rda"))
+ MetaData <- read_excel(Settings$MetaDataFilePath, Settings$MDS_FoodGroups)
+ MetaData<-as.data.table(MetaData)
+ MetaData<-MetaData[,SheetName:=NULL]
+ FoodNames<-MetaData
+ save(FoodNames,file ="FoodNames.rda" )
+ load(file = "FoodNames.rda")
+
+ Base2<-merge(BigFData,FData,by="HHID")
+ Base2<-merge(Base2,MD[,.(HHID,NewArea,ProvinceName,cluster3,Decile,
+ FoodProtein_Per,FinalFoodPoor,FinalPoor,Weight,EqSizeOECD,EqSizeCalory,TFoodKCaloriesHH_Per,FoodKCaloriesHH_Per,NewArea_Name)],by="HHID")
+ #Base2<-Base2[Region=="Urban" & Decile==2 | Region=="Rural" & Decile==3]
+ Basep<-Base2[,FGrams_Per:=FGrams/EqSizeCalory]
+ Basep<-Basep[,FoodKCalories_Per:=FoodKCaloriesHH/EqSizeCalory]
+ Basep1<-Basep[,weighted.mean(FGrams_Per,Weight*Size),by=c("FoodType","Decile","Region")]
+ Basep1<-merge(Basep1,FoodNames,by=c("FoodType"))
+
+ Basep1<-Basep1[,Calory:=V1*KCalories]
+
+ dahak<-Basep1[,sum(Calory),by=c("Decile", "Region")]
+
+ Base2<-Base2[,FoodProtein_Per:=FoodProteinHH/EqSizeCalory]
+ Base<-Base[,Coef:=FoodKCalories_Per/Settings$KCaloryNeed_Adult]
+
+ Base<-Base[,FoodKCalories_PerNew:=FoodKCalories_Per/Coef]
+ Base<-Base[,FGrams_PerNew:=FGrams_Per/Coef]
+ Basepp<-merge(Basepp,FoodNames,by=c("FoodType"))
+
+ Base<-Basepp[,calory:=FGrams_Per*KCalories]
+ Basepoor<-Base[,weighted.mean(FGrams_Per,Weight*Size),by=c("ProvinceName","FoodType")]
+ Basepoor<-Basepoor[,calory:=V1*KCalories]
+ Basepoor<-Basepoor[,sum(calory),by=c("ProvinceName")]
+ Basepoor<-merge(Basepoor,FoodNames,by=c("FoodType"))
+ Basepoor<-Basepoor[,calory:=V1*KCalories]
+ S<-Basepoor[,sum(calory),by=c("ProvinceCode")]
+ poor<-Base[,weighted.mean(calory,Weight*Size),by=c("Decile","FoodType")]
+
+ poorc<-poor[,sum(V1),by=c("ProvinceCode")]
+ s<-Base[,weighted.mean(FoodKCalories_Per,Weight*Size),by=c("ProvinceCode")]
+ BaseX <- Base[,.(FoodKCalories2=mean(FoodKCalories_PerNew),
+ FoodKCalories3=mean(FoodKCalories_Per),
+ FoodProtein2=mean(FoodProtein_Per),
+ Weight=mean(Weight),
+ ProvinceCode=mean(ProvinceCode)),by=HHID]
+
+ BaseX1<-Base[,.(.N,Average_Consumption=weighted.mean(FGrams_PerNew,Weight),
+ cluster3=mean(cluster3)),
+ by=.(ProvinceCode,FoodType)]
+
+ #BaseX1<-Base[,.(.N,Average_Consumption=weighted.mean(FGrams_PerNew,Weight),
+ # cluster3=mean(cluster3)),
+ # by=.(FoodType)]
+
+ BaseX1<-BaseX1[,N2:=max(N),by=.(ProvinceCode)]
+ BaseX1<-BaseX1[,Average_New:=N*Average_Consumption/N2]
+ BaseM<-BaseX1[,.(ProvinceCode,N,N2,FoodType,Average_New,Average_Consumption)]
+ BaseM2<-BaseM[FoodType=="Berenj"]
+ BaseM<-BaseM[,.(ProvinceCode,FoodType,N,Average_New,Average_Consumption)]
+ BaseM<-merge(BaseM,FoodNames)
+ BaseM<-BaseM[,Average_Protein:=Average_New*Protein]
+ baseM<-BaseM[,A_calory:=Average_New*KCalories]
+ baseM<-baseM[,darsad:=A_calory/2100]
+ baseM<-baseM[,Calory:=KCalories]
+ BaseM<-BaseM[order(ProvinceCode,FoodType)]
+ write_xlsx(price,path="price98.xlsx",col_names=T)
+
+ BaseP<-BaseM[,.(Total_Protein=sum(Average_Protein)),
+ by=.(ProvinceCode,FoodType)]
+ basepoor<-BaseM[,.(Total_Calory=sum(Calory)),
+ by=.(ProvinceCode)]
+ BaseX<-BaseX[,Region:=as.integer(str_sub(HHID,1,1))]
+ BaseX[,weighted.mean(FoodProtein2,Weight)]
+ BaseX[,weighted.mean(FoodProtein2,Weight),by=.(Region,ProvinceCode)]
+
+
+ BaseXUrban<-BaseX[Region==1]
+ BaseXRural<-BaseX[Region==2]
+ plot(FoodKCalories3~FoodProtein2,data=BaseXUrban)
+ BaseXRural<-BaseXRural[FoodProtein2<700]
+
+ smoothScatter(BaseXRural$FoodKCalories3~BaseXRural$FoodProtein2)
+
+#Base2<-Base[FinalPoor==0,.(.N,Average_Consumption=weighted.mean(FGrams_Per,Weight),
+# cluster3=mean(cluster3)),by=.(ProvinceCode,FoodType)]
+
+# Base3<-MD[PEngel>0.6 & FinalPoor==1]
+
+# Base4<-MD[FinalPoor==0,.(.N,cluster3=mean(cluster3)),by=.(ProvinceCode)]
+
+# Base[FoodType=="Goosht" & FinalPoor==1 ,weighted.mean(FGrams_Per,Weight,na.rm = TRUE),by=.(ProvinceCode)]
+
+ Base3<-Base[FinalPoor==1]
+ Base3<-Base2[,FGrams_Per:=FGrams/EqSizeCalory]
+ Base3<-Base3[,FoodKCalories_Per:=FoodKCaloriesHH/EqSizeCalory]
+ BaseX3<-Base3[,.(.N,Average_Consumption=weighted.mean(FGrams_Per,Weight)),
+ by=.(Decile)]
+ BaseX3<-merge(BaseX3,FoodNames,by=c("FoodType"))
+ #BaseX3<-BaseX3[,A_calory:=]
+ BaseX3<-BaseX3[,N2:=max(N),by=.(ProvinceCode)]
+ BaseX3<-BaseX3[,Average_New:=N*Average_Consumption/N2]
+ BaseX3<-Base3[,FCalory:=Average_Consumption*KCalories]
+ BaseX31<-Base3[,sum(FCalory),by=c("ProvinceCode")]
+ BaseM3<-BaseX3[,.(ProvinceCode,N,N2,FoodType,Average_New)]
+ BaseM3<-BaseM3[order(ProvinceCode,FoodType)]
+ write.csv(BaseM3,file="BaseM3.csv")
+ Base<-Base[,Decile:=as.numeric(Decile)]
+ BaseDecile<- Base3[,.(.N,Average_Consumption=weighted.mean(FGrams_PerNew,Weight),
+ Decile=mean(Decile)),
+ by=.(Decile,FoodType)]
+ Base123<-Base[Decile==1 | Decile==2 | Decile==3]
+ BaseF123<-Base123[,.(.N,Average_Consumption=weighted.mean(FGrams_PerNew,Weight)),
+ by=.(FoodType)]
+ BaseF123<-merge(BaseF123,FoodNames,by=c("FoodType"))
+ BaseF123<-BaseF123[,A_Calory:=Average_Consumption*KCalories]
+ BaseF123<-BaseF123[,darsad:=A_Calory/2100]
+ BaseF123<-BaseF123[,A_Protein:=Average_Consumption*Protein]
+ write_xlsx(BaseF123,path="BaseF123darsad.xlsx",col_names=T)
+
+ Base8910<-Base[Decile==8 | Decile==9 | Decile==10]
+ BaseF8910<-Base8910[,.(.N,Average_Consumption=weighted.mean(FGrams_PerNew,Weight)),
+ by=.(FoodType)]
+ BaseF8910<-merge(BaseF8910,FoodNames,by=c("FoodType"))
+ BaseF8910<-BaseF8910[,A_Calory:=Average_Consumption*KCalories]
+ BaseF8910<-BaseF8910[,darsad:=A_Calory/2100]
+ write_xlsx(BaseF8910,path="BaseF8910darsad.xlsx",col_names=T)
+ BaseP123<-Base123[,.(.N,Average_Potein1=weighted.mean(ave,Weight))]
+ BaseP8910<-Base8910[,.(.N,Average_Potein1=weighted.mean(FoodProtein_Per,Weight))]
+
+ write_xlsx(baseM,path="ostana-darsad.xlsx",col_names=T)
+
+cat("\n\n==============Finish==============\nIt took ")
+endtime <- proc.time()
+cat((endtime-starttime)[3],"seconds.")
\ No newline at end of file
diff --git a/R/Archive/August 2020/ClusterResults.xlsx b/R/Archive/August 2020/ClusterResults.xlsx
new file mode 100644
index 00000000..3813c4a9
Binary files /dev/null and b/R/Archive/August 2020/ClusterResults.xlsx differ
diff --git a/R/Archive/August 2020/CountryResults.xlsx b/R/Archive/August 2020/CountryResults.xlsx
new file mode 100644
index 00000000..fbd3babe
Binary files /dev/null and b/R/Archive/August 2020/CountryResults.xlsx differ
diff --git a/R/Archive/August 2020/Exp.R b/R/Archive/August 2020/Exp.R
new file mode 100644
index 00000000..b54ef3dd
--- /dev/null
+++ b/R/Archive/August 2020/Exp.R
@@ -0,0 +1,85 @@
+# 168- Step 8,9-Poverty Line.R
+#
+# Copyright © 2018:Majid Einian & Arin Shahbazian
+# Licence: GPL-3
+
+rm(list=ls())
+
+starttime <- proc.time()
+cat("\n\n================ Exp =====================================\n")
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+library(readxl)
+library(data.table)
+library(ggplot2)
+library(stats)
+library(spatstat)
+
+Exp <- data.table(Region=NA_character_,
+ Total_Exp_Month_Per=NA_real_,
+ G01=NA_real_,G011=NA_real_,
+ G0111=NA_real_,G01123=NA_real_,
+ G0112=NA_real_,G01131=NA_real_,
+ G0114=NA_real_,G0115=NA_real_,
+ G0116=NA_real_,G0117=NA_real_,
+ G0118=NA_real_,
+ G0119=NA_real_,G012=NA_real_,
+ G02=NA_real_,G00=NA_real_,
+ G03=NA_real_,G04=NA_real_,
+ G041=NA_real_,G042=NA_real_,
+ G044=NA_real_,G045=NA_real_,
+ G05=NA_real_,G06=NA_real_,
+ G07=NA_real_,G08=NA_real_,
+ G09=NA_real_,G100=NA_real_,
+ G11=NA_real_,G12=NA_real_,
+ GT=NA_real_,Year=NA_integer_)[0]
+
+
+for(year in (Settings$startyear:Settings$endyear)){
+ cat(paste0("\nYear:",year,"\t"))
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"Total10.rda"))
+
+ X<-Total[,.(Total_Exp_Month_Per=weighted.mean(Total_Exp_Month_Per,Weight),
+ G01=weighted.mean(G01,Weight),
+ G011=weighted.mean(G011,Weight),
+ G0111=weighted.mean(G0111,Weight),
+ G01123=weighted.mean(G0112+G01131,Weight),
+ G0112=weighted.mean(G0112,Weight),
+ G01131=weighted.mean(G01131,Weight),
+ G0114=weighted.mean(G0114,Weight),
+ G0115=weighted.mean(G0115,Weight),
+ G0116=weighted.mean(G0116,Weight),
+ G0117=weighted.mean(G0117,Weight),
+ G0118=weighted.mean(G0118,Weight),
+ G0119=weighted.mean(G0119,Weight),
+ G012=weighted.mean(G012,Weight),
+ G02=weighted.mean(G02,Weight),
+ G00=weighted.mean(Total_Exp_Month_Per-G01,Weight),
+ G03=weighted.mean(G03,Weight),
+ G04=weighted.mean(G04,Weight),
+ G041=weighted.mean(G041,Weight),
+ G042=weighted.mean(G042,Weight),
+ G044=weighted.mean(G044,Weight),
+ G045=weighted.mean(G045,Weight),
+ G05=weighted.mean(G05,Weight),
+ G06=weighted.mean(G06,Weight),
+ G07=weighted.mean(G07,Weight),
+ G08=weighted.mean(G08,Weight),
+ G09=weighted.mean(G09,Weight),
+ G100=weighted.mean(G101+G102+G103+G104+G105,Weight),
+ G11=weighted.mean(G11,Weight),
+ G12=weighted.mean(G12,Weight),
+ GT=weighted.mean(Total_Exp_Month_Per-G041,Weight))
+ ,by="Region"]
+
+ X[,Year:=year]
+ Exp <- rbind(Exp,X)
+}
+
+
+
+endtime <- proc.time()
+cat("\n\n============================\nIt took ")
+cat((endtime-starttime)["elapsed"])
+cat(" seconds")
\ No newline at end of file
diff --git a/R/Archive/August 2020/Exp2.R b/R/Archive/August 2020/Exp2.R
new file mode 100644
index 00000000..0e860798
--- /dev/null
+++ b/R/Archive/August 2020/Exp2.R
@@ -0,0 +1,110 @@
+# 168- Step 8,9-Poverty Line.R
+#
+# Copyright © 2018:Majid Einian & Arin Shahbazian
+# Licence: GPL-3
+
+rm(list=ls())
+
+starttime <- proc.time()
+cat("\n\n================ Exp =====================================\n")
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+library(readxl)
+library(data.table)
+library(ggplot2)
+library(stats)
+library(spatstat)
+
+Exp <- data.table(#Region=NA_character_,
+ Decile=NA_integer_,
+ Year=NA_integer_,
+ Total_Exp_Month_Per=NA_real_,
+ G01=NA_real_,
+ G03=NA_real_,G04=NA_real_,
+ G05=NA_real_,G06=NA_real_,
+ G07=NA_real_,G08=NA_real_,
+ G09=NA_real_,G10=NA_real_,
+ G11=NA_real_,G12=NA_real_,
+ G13=NA_real_,
+ Total_Exp_Month=NA_real_)[0]
+
+share <- data.table(#Region=NA_character_,
+ Decile=NA_integer_,
+ Year=NA_integer_,
+ G01=NA_real_,
+ G03=NA_real_,G04=NA_real_,
+ G05=NA_real_,G06=NA_real_,
+ G07=NA_real_,G08=NA_real_,
+ G09=NA_real_,G10=NA_real_,
+ G11=NA_real_,G12=NA_real_,
+ G13=NA_real_)[0]
+
+
+for(year in (Settings$startyear:Settings$endyear)){
+ cat(paste0("\nYear:",year,"\t"))
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"Total10.rda"))
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"Deciles.rda"))
+ # Total[,Malek:=ifelse(tenure=="OwnLandandBuilding" | tenure=="Apartment" ,1,0)]
+ #Total[,G041:=ifelse(Malek==1 ,0,G041)]
+ #Total[,G042:=ifelse(Malek==1,0,G042)]
+ Total<-merge(Total,Deciles)
+
+ X<-Total[,.(Total_Exp_Month_Per=weighted.mean(Total_Exp_Month_Per,Weight),
+ G01=weighted.mean(G01+G02,Weight),
+ G03=weighted.mean(G03,Weight),
+ G04=weighted.mean(G04,Weight),
+ #G044=weighted.mean(G044+G045,Weight),
+ G05=weighted.mean(G05,Weight),
+ G06=weighted.mean(G06,Weight),
+ G07=weighted.mean(G07,Weight),
+ G08=weighted.mean(G08,Weight),
+ G09=weighted.mean(G09,Weight),
+ G10=weighted.mean(G101+G102+G103+G104+G105,Weight),
+ G11=weighted.mean(G11,Weight),
+ G12=weighted.mean(G12,Weight),
+ G13=weighted.mean(G13,Weight),
+ Total_Exp_Month=weighted.mean(Total_Exp_Month,Weight))
+ ,by="Decile"
+ #,by=c("Region","Decile")
+ ]
+
+# Total[,All:=ifelse(Malek==1,G01+G02+G03+G044+G045+
+ # G05+G06+G07+G08+G09+
+ # G101+G102+G103+G104+G105+G11+G12+G13
+ # ,G01+G02+G03+G04+G05+G06+G07+G08+G09+
+ # G101+G102+G103+G104+G105+G11+G12+G13)]
+
+ Total[,All:=G01+G02+G03+G04+G05+G06+G07+G08+G09+
+ G101+G102+G103+G104+G105+G11+G12+G13]
+
+ Y<-Total[,.(G01=weighted.mean((G01+G02)/All,Weight),
+ G03=weighted.mean(G03/All,Weight),
+ G04=weighted.mean(G04,Weight),
+ #G044=weighted.mean(G044+G045,Weight),
+ G05=weighted.mean(G05/All,Weight),
+ G06=weighted.mean(G06/All,Weight),
+ G07=weighted.mean(G07/All,Weight),
+ G08=weighted.mean(G08/All,Weight),
+ G09=weighted.mean(G09/All,Weight),
+ G10=weighted.mean((G101+G102+G103+G104+G105)/All,Weight),
+ G11=weighted.mean(G11/All,Weight),
+ G12=weighted.mean(G12/All,Weight),
+ G13=weighted.mean(G13/All,Weight))
+ ,by="Decile"
+ #,by=c("Region","Decile")
+ ]
+
+ X[,Year:=year]
+ Exp <- rbind(Exp,X)
+
+ Y[,Year:=year]
+ share <- rbind(share,Y)
+}
+
+
+
+endtime <- proc.time()
+cat("\n\n============================\nIt took ")
+cat((endtime-starttime)["elapsed"])
+cat(" seconds")
\ No newline at end of file
diff --git a/R/Archive/August 2020/Exp3.R b/R/Archive/August 2020/Exp3.R
new file mode 100644
index 00000000..e83f801e
--- /dev/null
+++ b/R/Archive/August 2020/Exp3.R
@@ -0,0 +1,113 @@
+# 168- Step 8,9-Poverty Line.R
+#
+# Copyright © 2018:Majid Einian & Arin Shahbazian
+# Licence: GPL-3
+
+rm(list=ls())
+
+starttime <- proc.time()
+cat("\n\n================ Exp =====================================\n")
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+library(readxl)
+library(data.table)
+library(ggplot2)
+library(stats)
+library(spatstat)
+
+Exp <- data.table(Decile=NA_character_,
+ Year=NA_integer_,
+ Total_Exp_Month_Per=NA_real_,
+ G01=NA_real_,
+ G03=NA_real_,G04=NA_real_,
+ G05=NA_real_,G06=NA_real_,
+ G07=NA_real_,G08=NA_real_,
+ G09=NA_real_,G10=NA_real_,
+ G11=NA_real_,G12=NA_real_,
+ G13=NA_real_)[0]
+
+share <- data.table(#Region=NA_character_,
+ Year=NA_integer_,
+ Total_Exp_Month_Per=NA_real_,
+ G01=NA_real_,
+ G03=NA_real_,G04=NA_real_,
+ G05=NA_real_,G06=NA_real_,
+ G07=NA_real_,G08=NA_real_,
+ G09=NA_real_,G10=NA_real_,
+ G11=NA_real_,G12=NA_real_,
+ G13=NA_real_)[0]
+
+
+for(year in (Settings$startyear:Settings$endyear)){
+ cat(paste0("\nYear:",year,"\t"))
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"Total10.rda"))
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"Deciles.rda"))
+
+ Total<-merge(Total,Deciles)
+
+ X<-Total[,.(Total_Exp_Month_Per=weighted.mean(Total_Exp_Month_Per,Weight),
+ G01=weighted.mean(G01+G02,Weight),
+ G03=weighted.mean(G03,Weight),
+ G04=weighted.mean(G04,Weight),
+ G05=weighted.mean(G05,Weight),
+ G06=weighted.mean(G06,Weight),
+ G07=weighted.mean(G07,Weight),
+ G08=weighted.mean(G08,Weight),
+ G09=weighted.mean(G09,Weight),
+ G10=weighted.mean(G101+G102+G103+G104+G105,Weight),
+ G11=weighted.mean(G11,Weight),
+ G12=weighted.mean(G12,Weight),
+ G13=weighted.mean(G13,Weight))
+ #,by="Region"
+ ]
+
+
+ X<-Total[,.(Total_Exp_Month_Per=weighted.mean(Cheese_PasturizedGram,Weight),
+ G01=weighted.mean(Cheese_NonPasturizedGram,Weight),
+ G03=weighted.mean(Cheese_OtherGram,Weight),
+ G04=weighted.mean(Cheese_PizzaGram,Weight),
+ G05=weighted.mean(`011428`,Weight),
+ G06=weighted.mean(`011429`,Weight),
+ G07=weighted.mean(`011431`,Weight),
+ G08=weighted.mean(`011432`,Weight),
+ G09=weighted.mean(G09,Weight),
+ G10=weighted.mean(G101+G102+G103+G104+G105,Weight),
+ G11=weighted.mean(G11,Weight),
+ G12=weighted.mean(G12,Weight),
+ G13=weighted.mean(G13,Weight))
+ ,by=Decile
+ ]
+
+ Total[,All:=G01+G02+G03+G04+G05+G06+G07+G08+G09+
+ G101+G102+G103+G104+G105+G11+G12+G13]
+
+ Y<-Total[,.(Total_Exp_Month_Per=weighted.mean(Total_Exp_Month,Weight),
+ G01=weighted.mean((G01+G02)/All,Weight),
+ G03=weighted.mean(G03/All,Weight),
+ G04=weighted.mean(G04/All,Weight),
+ G05=weighted.mean(G05/All,Weight),
+ G06=weighted.mean(G06/All,Weight),
+ G07=weighted.mean(G07/All,Weight),
+ G08=weighted.mean(G08/All,Weight),
+ G09=weighted.mean(G09/All,Weight),
+ G10=weighted.mean((G101+G102+G103+G104+G105)/All,Weight),
+ G11=weighted.mean(G11/All,Weight),
+ G12=weighted.mean(G12/All,Weight),
+ G13=weighted.mean(G13/All,Weight))
+ #,by="Region"
+ ]
+
+ X[,Year:=year]
+ Exp <- rbind(Exp,X)
+
+ Y[,Year:=year]
+ share <- rbind(share,Y)
+}
+
+write.csv(Exp,file = "Panir.csv")
+
+endtime <- proc.time()
+cat("\n\n============================\nIt took ")
+cat((endtime-starttime)["elapsed"])
+cat(" seconds")
\ No newline at end of file
diff --git a/R/Archive/August 2020/FPLine decile.R b/R/Archive/August 2020/FPLine decile.R
new file mode 100644
index 00000000..bdf459aa
--- /dev/null
+++ b/R/Archive/August 2020/FPLine decile.R
@@ -0,0 +1,240 @@
+#166-Step 6- FoodBasicNeeds.R
+#
+# Copyright © 2018:Majid Einian & Arin Shahbazian
+# Licence: GPL-3
+
+rm(list=ls())
+
+starttime <- proc.time()
+cat("\n\n================ Prepare Data =====================================\n")
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+library(readxl)
+library(data.table)
+library(ggplot2)
+
+for(year in (Settings$startyear:Settings$endyear)){
+ cat(paste0("\n------------------------------\nYear:",year,"\n"))
+
+ # load data --------------------------------------
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"FINALPOORS.rda"))
+ PD<-MD[,.(HHID,FinalPoor)]
+
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"InitialPoorClustered.rda"))
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"FoodPrices.rda"))
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"FoodGrams.rda"))
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"Deciles.rda"))
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"Total2.rda"))
+
+ MD[,Decile:=NULL]
+
+
+ MD<-merge(MD,FoodPrices,all.x=TRUE,by="HHID")
+ MD<-merge(MD,FoodGrams,all.x=TRUE,by="HHID")
+ MD<-merge(MD,PD,all.x=TRUE,by="HHID")
+ MD<-merge(MD,Deciles,all.x=TRUE,by="HHID")
+ MD<-merge(MD,Total[,.(HHID,`011231`,`011232`,`011441`,`011442`,G01153)],all.x=TRUE,by="HHID")
+
+ # y<-MD[,weighted.mean(FoodKCaloriesHH_Per,Weight),by=c("Region","Decile")]
+
+
+ MD[,NewPoor:=InitialPoor]
+ MD[,OldPoor:=1]
+
+ i <- 0
+ while(MD[(NewPoor-OldPoor)!=0,.N]>0.001*nrow(MD[NewPoor==1]) & i <=15){
+ # cat(nrow(MD[NewPoor==1]))
+ i <- i + 1
+ MD[,ThisIterationPoor:=NewPoor]
+ MD[,FPLine:=NULL]
+ MD[,Selected_Group:=ifelse((Region=="Urban" & Decile==3) |
+ (Region=="Rural" & Decile==2),1,0)]
+ MDP <- MD[Selected_Group==1,
+ .(FPLine=0.001*
+ (weighted.mean(LavashPrice,Weight,na.rm = TRUE)*weighted.mean(BreadGrams/(EqSizeCalory),Weight*Size,na.rm = TRUE)+
+ weighted.mean(Rice_TaromPrice,Weight,na.rm = TRUE)*weighted.mean(GrainGrams/(EqSizeCalory),Weight*Size,na.rm = TRUE)+
+ weighted.mean(MacaroniPrice,Weight,na.rm = TRUE)*weighted.mean(MacaroniGram/(EqSizeCalory),Weight*Size,na.rm = TRUE)+
+ weighted.mean(AdasPrice,Weight,na.rm = TRUE)*weighted.mean((AdasGram+Loobia_ChitiGram+NokhodGram)/(EqSizeCalory),Weight*Size,na.rm = TRUE)+
+ weighted.mean(SibzaminiPrice,Weight,na.rm = TRUE)*weighted.mean(SibzaminiGram/(EqSizeCalory),Weight*Size,na.rm = TRUE)+
+ weighted.mean(Sabzi_KhordanPrice,Weight,na.rm = TRUE)*weighted.mean(VegetableShrubsGrams/(EqSizeCalory),Weight*Size,na.rm = TRUE)+
+ weighted.mean(Banana_CoconutPrice,Weight,na.rm = TRUE)*weighted.mean(TreeFruitsGrams/(EqSizeCalory),Weight*Size,na.rm = TRUE)+
+ weighted.mean(LivestockGrams,Weight,na.rm = TRUE)*weighted.mean(LivestockGrams/(EqSizeCalory),Weight*Size,na.rm = TRUE)+
+ weighted.mean(PoultryMeat_MPrice,Weight,na.rm = TRUE)*weighted.mean(PoultryMeat_MGram/(EqSizeCalory),Weight*Size,na.rm = TRUE)+
+ weighted.mean(Egg_MashinPrice,Weight,na.rm = TRUE)*weighted.mean(Egg_MashinGram/(EqSizeCalory),Weight*Size,na.rm = TRUE)+
+ weighted.mean(Milk_PasteurizedPrice,Weight,na.rm = TRUE)*weighted.mean((MilkproductsGrams+MilkGrams)/(EqSizeCalory),Weight*Size,na.rm = TRUE)+
+ weighted.mean(Oil_NabatiPrice,Weight,na.rm = TRUE)*weighted.mean(Oil_NabatiGram/(EqSizeCalory),Weight*Size,na.rm = TRUE)+
+ weighted.mean(GhandPrice,Weight,na.rm = TRUE)*weighted.mean(GhandGram/(EqSizeCalory),Weight*Size,na.rm = TRUE))),
+ by=.(cluster3,Region)]
+ price<- MD[Selected_Group==1,
+ .(LavashPrice=weighted.mean(LavashPrice,Weight,na.rm = TRUE),
+ Rice_TaromPrice=weighted.mean(Rice_TaromPrice,Weight,na.rm = TRUE),
+ MacaroniPrice=weighted.mean(MacaroniPrice,Weight,na.rm = TRUE),
+ HobubatPrice=weighted.mean(AdasPrice,Weight,na.rm = TRUE),
+ SibzaminiPrice=weighted.mean(SibzaminiPrice,Weight,na.rm = TRUE),
+ Sabzi_KhordanPrice=weighted.mean(Sabzi_KhordanPrice,Weight,na.rm = TRUE),
+ Banana_CoconutPrice=weighted.mean(Banana_CoconutPrice,Weight,na.rm = TRUE),
+ LivestockGrams=weighted.mean(LivestockGrams,Weight,na.rm = TRUE),
+ PoultryMeat_MPrice=weighted.mean(PoultryMeat_MPrice,Weight,na.rm = TRUE),
+ Egg_MashinPrice=weighted.mean(Egg_MashinPrice,Weight,na.rm = TRUE),
+ Milk_PasteurizedPrice=weighted.mean(Milk_PasteurizedPrice,Weight,na.rm = TRUE),
+ Oil_NabatiPrice=weighted.mean(Oil_NabatiPrice,Weight,na.rm = TRUE),
+ GhandPrice=weighted.mean(GhandPrice,Weight,na.rm = TRUE))]
+ #by=.(cluster3,Region)]
+ gram <- MD[Selected_Group==1,
+ .(BreadGrams=weighted.mean(BreadGrams/(EqSizeCalory),Weight*Size,na.rm = TRUE),
+ GrainGrams=weighted.mean(GrainGrams/(EqSizeCalory),Weight*Size,na.rm = TRUE),
+ MacaroniGram=weighted.mean(MacaroniGram/(EqSizeCalory),Weight*Size,na.rm = TRUE),
+ HobubatGrams=weighted.mean((AdasGram+Loobia_ChitiGram+NokhodGram)/(EqSizeCalory),Weight*Size,na.rm = TRUE),
+ SibzaminiGram=weighted.mean(SibzaminiGram/(EqSizeCalory),Weight*Size,na.rm = TRUE),
+ VegetableShrubsGrams=weighted.mean(VegetableShrubsGrams/(EqSizeCalory),Weight*Size,na.rm = TRUE),
+ TreeFruitsGrams=weighted.mean(TreeFruitsGrams/(EqSizeCalory),Weight*Size,na.rm = TRUE),
+ LivestockGrams=weighted.mean(LivestockGrams/(EqSizeCalory),Weight*Size,na.rm = TRUE),
+ PoultryMeat_MGram=weighted.mean(PoultryMeat_MGram/(EqSizeCalory),Weight*Size,na.rm = TRUE),
+ Egg_MashinGram=weighted.mean(Egg_MashinGram/(EqSizeCalory),Weight*Size,na.rm = TRUE),
+ MilkproductsGrams=weighted.mean((MilkproductsGrams+MilkGrams)/(EqSizeCalory),Weight*Size,na.rm = TRUE),
+ Oil_NabatiGram=weighted.mean(Oil_NabatiGram/(EqSizeCalory),Weight,na.rm = TRUE),
+ GhandGram=weighted.mean(GhandGram/(EqSizeCalory),Weight*Size,na.rm = TRUE))]
+ # by=.(cluster3,Region)]
+ gram<-t(gram)
+ MDP[is.na(MDP)] <- 0
+ min<-MDP[FPLine>0,min(FPLine)]
+ MDP[,FPLine:=ifelse(FPLine==0,min,FPLine)]
+
+ Bundle <- MD[,
+ .( BreadGrams=weighted.mean(BreadGrams/EqSizeCalory,Weight,na.rm = TRUE),
+ BerenjKhareji= weighted.mean((Rice_Khareji1Gram+Rice_Khareji2Gram)/EqSizeCalory,Weight,na.rm = TRUE),
+ BerenjIrani= weighted.mean((Rice_TaromGram+ Rice_AshGram+
+ Rice_NonameGram+ Rice_MahaliGram+Rice_DomsiahGram+
+ Rice_KhoordeGram)/EqSizeCalory,Weight,na.rm = TRUE),
+ MacaroniGram= weighted.mean(MacaroniGram/EqSizeCalory,Weight,na.rm = TRUE),
+ HoboobatGram= weighted.mean((AdasGram+Loobia_ChitiGram+NokhodGram)/EqSizeCalory,Weight,na.rm = TRUE),
+ SibzaminiGram= weighted.mean(SibzaminiGram/EqSizeCalory,Weight,na.rm = TRUE),
+ VegetableShrubsGrams= weighted.mean(VegetableShrubsGrams/EqSizeCalory,Weight,na.rm = TRUE),
+ TreeFruitsGrams= weighted.mean(TreeFruitsGrams/EqSizeCalory,Weight,na.rm = TRUE),
+ CowMeatGram= weighted.mean(CowMeatGram/EqSizeCalory,Weight,na.rm = TRUE),
+ SheepGrams= weighted.mean(SheepMeatGram/EqSizeCalory,Weight,na.rm = TRUE),
+ PoultryMeat_MGram= weighted.mean(PoultryMeat_MGram/EqSizeCalory,Weight,na.rm = TRUE),
+ Egg_MashinGram= weighted.mean(Egg_MashinGram/EqSizeCalory,Weight,na.rm = TRUE),
+ MilkproductsGrams= weighted.mean((MilkproductsGrams+MilkGrams)/EqSizeCalory,Weight,na.rm = TRUE),
+ Oil_NabatiGram= weighted.mean((Oil_NabatiGram+Oil_OliveGram+Oil_Nabati_OtherGram)/EqSizeCalory,Weight,na.rm = TRUE),
+ GhandGram= weighted.mean((GhandGram+ShekarGram)/EqSizeCalory,Weight,na.rm = TRUE))
+ #,by="Region"
+ ]
+
+ Bundle2 <- MD[,
+ .( BreadGrams=weighted.mean(BreadGrams/EqSizeCalory,Weight,na.rm = TRUE),
+ BerenjKhareji= weighted.mean((Rice_Khareji1Gram+Rice_Khareji2Gram)/EqSizeCalory,Weight,na.rm = TRUE),
+ BerenjIrani= weighted.mean((Rice_TaromGram+ Rice_AshGram+
+ Rice_NonameGram+ Rice_MahaliGram+Rice_DomsiahGram+
+ Rice_KhoordeGram)/EqSizeCalory,Weight,na.rm = TRUE),
+ MacaroniGram= weighted.mean(MacaroniGram/EqSizeCalory,Weight,na.rm = TRUE),
+ HoboobatGram= weighted.mean((AdasGram+Loobia_ChitiGram+NokhodGram)/EqSizeCalory,Weight,na.rm = TRUE),
+ SibzaminiGram= weighted.mean(SibzaminiGram/EqSizeCalory,Weight,na.rm = TRUE),
+ VegetableShrubsGrams= weighted.mean(VegetableShrubsGrams/EqSizeCalory,Weight,na.rm = TRUE),
+ TreeFruitsGrams= weighted.mean(TreeFruitsGrams/EqSizeCalory,Weight,na.rm = TRUE),
+ CowMeatGram= weighted.mean(CowMeatGram/EqSizeCalory,Weight,na.rm = TRUE),
+ SheepGrams= weighted.mean(SheepMeatGram/EqSizeCalory,Weight,na.rm = TRUE),
+ PoultryMeat_MGram= weighted.mean(PoultryMeat_MGram/EqSizeCalory,Weight,na.rm = TRUE),
+ Egg_MashinGram= weighted.mean(Egg_MashinGram/EqSizeCalory,Weight,na.rm = TRUE),
+ MilkproductsGrams= weighted.mean((MilkproductsGrams+MilkGrams)/EqSizeCalory,Weight,na.rm = TRUE),
+ Oil_NabatiGram= weighted.mean((Oil_NabatiGram+Oil_OliveGram+Oil_Nabati_OtherGram)/EqSizeCalory,Weight,na.rm = TRUE),
+ GhandGram= weighted.mean((GhandGram+ShekarGram)/EqSizeCalory,Weight,na.rm = TRUE))
+ ,by="Region"
+ ]
+
+ Bundle3 <- MD[,
+ .( BreadGrams=weighted.mean(BreadGrams/EqSizeCalory,Weight,na.rm = TRUE),
+ BerenjKhareji= weighted.mean((Rice_Khareji1Gram+Rice_Khareji2Gram)/EqSizeCalory,Weight,na.rm = TRUE),
+ BerenjIrani= weighted.mean((Rice_TaromGram+ Rice_AshGram+
+ Rice_NonameGram+ Rice_MahaliGram+Rice_DomsiahGram+
+ Rice_KhoordeGram)/EqSizeCalory,Weight,na.rm = TRUE),
+ MacaroniGram= weighted.mean(MacaroniGram/EqSizeCalory,Weight,na.rm = TRUE),
+ HoboobatGram= weighted.mean((AdasGram+Loobia_ChitiGram+NokhodGram)/EqSizeCalory,Weight,na.rm = TRUE),
+ SibzaminiGram= weighted.mean(SibzaminiGram/EqSizeCalory,Weight,na.rm = TRUE),
+ VegetableShrubsGrams= weighted.mean(VegetableShrubsGrams/EqSizeCalory,Weight,na.rm = TRUE),
+ TreeFruitsGrams= weighted.mean(TreeFruitsGrams/EqSizeCalory,Weight,na.rm = TRUE),
+ CowMeatGram= weighted.mean(CowMeatGram/EqSizeCalory,Weight,na.rm = TRUE),
+ SheepGrams= weighted.mean(SheepMeatGram/EqSizeCalory,Weight,na.rm = TRUE),
+ PoultryMeat_MGram= weighted.mean(PoultryMeat_MGram/EqSizeCalory,Weight,na.rm = TRUE),
+ Egg_MashinGram= weighted.mean(Egg_MashinGram/EqSizeCalory,Weight,na.rm = TRUE),
+ MilkproductsGrams= weighted.mean((MilkproductsGrams+MilkGrams)/EqSizeCalory,Weight,na.rm = TRUE),
+ Oil_NabatiGram= weighted.mean((Oil_NabatiGram+Oil_OliveGram+Oil_Nabati_OtherGram)/EqSizeCalory,Weight,na.rm = TRUE),
+ GhandGram= weighted.mean((GhandGram+ShekarGram)/EqSizeCalory,Weight,na.rm = TRUE))
+ ,by="FinalPoor"
+ ]
+
+ Bundle4 <- MD[,
+ .( BreadGrams=weighted.mean(BreadGrams/EqSizeCalory,Weight,na.rm = TRUE),
+ BerenjKhareji= weighted.mean((Rice_Khareji1Gram+Rice_Khareji2Gram)/EqSizeCalory,Weight,na.rm = TRUE),
+ BerenjIrani= weighted.mean((Rice_TaromGram+ Rice_AshGram+
+ Rice_NonameGram+ Rice_MahaliGram+Rice_DomsiahGram+
+ Rice_KhoordeGram)/EqSizeCalory,Weight,na.rm = TRUE),
+ MacaroniGram= weighted.mean(MacaroniGram/EqSizeCalory,Weight,na.rm = TRUE),
+ HoboobatGram= weighted.mean((AdasGram+Loobia_ChitiGram+NokhodGram)/EqSizeCalory,Weight,na.rm = TRUE),
+ SibzaminiGram= weighted.mean(SibzaminiGram/EqSizeCalory,Weight,na.rm = TRUE),
+ VegetableShrubsGrams= weighted.mean(VegetableShrubsGrams/EqSizeCalory,Weight,na.rm = TRUE),
+ TreeFruitsGrams= weighted.mean(TreeFruitsGrams/EqSizeCalory,Weight,na.rm = TRUE),
+ CowMeatGram= weighted.mean(CowMeatGram/EqSizeCalory,Weight,na.rm = TRUE),
+ SheepGrams= weighted.mean(SheepMeatGram/EqSizeCalory,Weight,na.rm = TRUE),
+ PoultryMeat_MGram= weighted.mean(PoultryMeat_MGram/EqSizeCalory,Weight,na.rm = TRUE),
+ Egg_MashinGram= weighted.mean(Egg_MashinGram/EqSizeCalory,Weight,na.rm = TRUE),
+ MilkproductsGrams= weighted.mean((MilkproductsGrams+MilkGrams)/EqSizeCalory,Weight,na.rm = TRUE),
+ Oil_NabatiGram= weighted.mean((Oil_NabatiGram+Oil_OliveGram+Oil_Nabati_OtherGram)/EqSizeCalory,Weight,na.rm = TRUE),
+ GhandGram= weighted.mean((GhandGram+ShekarGram)/EqSizeCalory,Weight,na.rm = TRUE))
+ ,by="Decile"
+ ]
+
+ Bundle5 <- MD[,.( PoultryMeat_MGram= weighted.mean((`011231`+`011232`)/Total_Exp_Month,Weight,na.rm = TRUE),
+ Egg_MashinGram= weighted.mean((`011441`+`011442`)/Total_Exp_Month,Weight,na.rm = TRUE),
+ Oil_NabatiGram= weighted.mean(G01153/Total_Exp_Month,Weight,na.rm = TRUE)),by="Decile"]
+
+ Bundle6 <- MD[,.( PoultryMeat_MGram= weighted.mean((`011231`+`011232`)/Total_Exp_Month,Weight,na.rm = TRUE),
+ Egg_MashinGram= weighted.mean((`011441`+`011442`)/Total_Exp_Month,Weight,na.rm = TRUE),
+ Oil_NabatiGram= weighted.mean(G01153/Total_Exp_Month,Weight,na.rm = TRUE))]
+
+ MD <- merge(MD,MDP,by=c("Region","cluster3"))
+ # print(MDP)
+ #x<-MD[,.(NewArea,Region,FPLine,InitialPoor)]
+ MD[,NewPoor:=ifelse(TOriginalFoodExpenditure_Per < FPLine,1,0)]
+ # print(table(MD[,.(ThisIterationPoor,NewPoor)]))
+ MD[,OldPoor:=ThisIterationPoor]
+ }
+
+ MD[,FinalFoodPoor:=OldPoor]
+
+ # MD <- MD[,.(HHID,HIndivNo,Region,NewArea,NewArea_Name,cluster3,ProvinceCode,Size,HAge,HSex,Month,ServiceExp,
+ # HLiterate,HEduLevel0,HActivityState,Area,Rooms,MetrPrice,Total_Exp_Month_nondurable,
+ # Total_Exp_Month_Per_nondurable,TOriginalFoodExpenditure_Per,
+ # OriginalFoodExpenditure_Per,FPLine,Weight,Percentile,FinalFoodPoor,
+ # Total_Exp_Month_Per,TFoodKCaloriesHH_Per,TOriginalFoodExpenditure,Total_Exp_Month,
+ # TFoodExpenditure2,Total_Exp_Month_nondurable2,Total_Exp_Month2,
+ # Total_Exp_Month_Per2,
+ # EqSizeOECD,EqSizeCalory,Decile,Bundle_Value)]
+ save(MD,file=paste0(Settings$HEISProcessedPath,"Y",year,"FinalFoodPoor.rda"))
+ MD[,weighted.mean(FinalFoodPoor,Weight)]
+ # MDFinalfood<-MD[,.(HHID,Region,NewArea,cluster3,Percentile,FinalFoodPoor)]
+ # UrbanFinalfood<-MDFinalfood[Region=="Urban"]
+ # RuralFinalfood<-MDFinalfood[Region=="Rural"]
+ # save(UrbanFinalfood, file=paste0(Settings$HEISProcessedPath,"Y",year,"UrbanFinalfood.rda"))
+ # save(RuralFinalfood, file=paste0(Settings$HEISProcessedPath,"Y",year,"RuralFinalfood.rda"))
+ #
+ MD[,weighted.mean(FinalFoodPoor,Weight),by=c("Region","ProvinceCode")][order(Region,ProvinceCode)]
+ MD[,weighted.mean(FinalFoodPoor,Weight),by=cluster3][order(cluster3)]
+ # cat(MD[,weighted.mean(FPLine,Weight)])
+ # cat(MD[cluster3==13,weighted.mean(Calory_Price,Weight)])
+ #cat(MD[cluster3==1,weighted.mean(TOriginalFoodExpenditure_Per,Weight)])
+ x<-MD[,weighted.mean(FPLine,Weight),by="cluster3"]
+
+
+ # cat(MD[,weighted.mean(TOriginalFoodExpenditure_Per,Weight)],"\n")
+ # cat(MD[,weighted.mean(TFoodKCaloriesHH_Per,Weight,na.rm = TRUE)],"\n")
+ # cat(MD[,weighted.mean(Calory_Price,Weight,na.rm = TRUE)],"\n")
+ # cat(MD[cluster3==1,weighted.mean(FPLine,Weight,na.rm = TRUE)],"\n")
+ cat(MD[,weighted.mean(FPLine,Weight,na.rm = TRUE)],"\n")
+}
+
+endtime <- proc.time()
+cat("\n\n============================\nIt took ")
+cat((endtime-starttime)["elapsed"])
+cat(" seconds")
\ No newline at end of file
diff --git a/R/Archive/August 2020/FinalClusterResults.csv b/R/Archive/August 2020/FinalClusterResults.csv
new file mode 100644
index 00000000..b3a46159
--- /dev/null
+++ b/R/Archive/August 2020/FinalClusterResults.csv
@@ -0,0 +1,118 @@
+"","Year","cluster3","MetrPrice","House_Share","FoodKCaloriesHH_Per","SampleSize","Engle","FPLine","PovertyLine","PovertyHCR","PovertyGap","PovertyDepth"
+"1",90,1,83483.0965608554,0.443609560192396,2287.62474677021,1089,0.165317613186018,470223.60359505,2893791.70547409,0.157131227009209,0.200668924783955,0.0761145817316945
+"2",90,2,35727.640876617,0.313144463168382,2569.11359506775,1579,0.21916365344719,462903.873849398,2444466.09974327,0.240633747836637,0.167463301588827,0.0632201202236656
+"3",90,3,25061.3638713744,0.251291546727633,2538.63241564292,4400,0.239266782544565,446816.378418887,2128356.73459917,0.260658560658926,0.189925476573745,0.081379093601781
+"4",90,4,24330.8977394916,0.263057651676337,2860.7299882044,4797,0.256542274491646,429117.395776045,1874819.18271989,0.230831853627229,0.182722605598011,0.0681909783544311
+"5",90,5,19538.4515696242,0.209513307341499,2937.45441151759,1987,0.260693862015016,428417.496765501,1956300.58547161,0.29975344159148,0.226001265171158,0.0938022799026671
+"6",90,6,19742.6665853312,0.223749443074842,3034.81788824244,4156,0.28405790718476,414867.137095647,1680970.59445695,0.208683907231341,0.162491408626194,0.0583343937065799
+"7",90,7,16418.1123550452,0.231050421359141,2495.07696910701,687,0.352681416717063,429261.468008799,1249502.66365661,0.371251144989481,0.298668165620902,0.134760872587237
+"8",90,8,33161.1607406999,0.311326620728794,2405.98492102608,1017,0.277017688670743,435641.078101872,1683927.93264853,0.248600753226546,0.185156822146428,0.0696655574504246
+"9",90,9,9777.74347668737,0.135982406101807,3148.82505632481,1316,0.304944571088642,414155.338451608,1554163.81730917,0.1619746300824,0.186459229358984,0.082107218802308
+"10",90,10,9419.48318949192,0.127490173516476,2903.17913942162,3273,0.344079414227933,415327.513080726,1284014.9873293,0.210660034587393,0.172327765144024,0.0660581476155984
+"11",90,11,8531.06417123045,0.109480722737293,3442.92936506485,5207,0.340688903897617,422686.02970628,1367386.89116901,0.220946168453889,0.159730447275587,0.0700660189214132
+"12",90,12,8163.57273027914,0.105840542437858,3466.60564372655,6710,0.363170144179986,375784.407563461,1161323.69429654,0.182750513786953,0.147727501929132,0.0509548045288288
+"13",90,13,8308.99756561054,0.141893590688483,2960.556884941,2206,0.407449592926424,416184.712924489,914024.303544921,0.292043541472637,0.25361641693206,0.156866322749433
+"14",91,1,109880.293590017,0.440783848251442,2326.48765155119,1080,0.176843771146057,712962.435903077,4192490.46920373,0.234962592922627,0.194914649512863,0.0817807789881384
+"15",91,2,46513.6914218407,0.333496338962256,2511.32545856026,1554,0.226512851419101,663181.674699106,3133069.72980338,0.26251592812637,0.178556760247536,0.0606282405998765
+"16",91,3,30844.6296669873,0.266042821512245,2474.61990474244,4359,0.253877008568693,636781.426104774,2789300.18172548,0.332798386079257,0.191156131643659,0.085450237637498
+"17",91,4,29548.7531646047,0.259599131509167,2796.45563092613,4706,0.275894855190004,619139.577837982,2469508.18685468,0.255233178293171,0.184100663945474,0.0743161897589458
+"18",91,5,22623.971502331,0.193369216225163,2911.2167937069,2058,0.281907103263211,599722.305688252,2435858.23401022,0.280884853221673,0.179435885578588,0.065964558294648
+"19",91,6,23485.0975798271,0.210545689783802,3212.61315722274,4068,0.310413799804057,567423.627612095,2063415.38223409,0.180619387636181,0.156534931520982,0.0563269566461091
+"20",91,7,20390.5603985167,0.200307433427224,2638.37121998441,675,0.381042442563676,679907.610361748,1859677.52310145,0.383870929345159,0.252205654575655,0.104407400016496
+"21",91,8,40701.1114656769,0.300617176605067,2096.59668096696,1043,0.263190150969282,625020.377931733,2263120.29345509,0.275313121638001,0.2077021627213,0.0702712824915316
+"22",91,9,11774.6166091593,0.139879025451041,3111.84944002877,1321,0.337578645574728,573600.058830336,1998411.69574612,0.196478197895454,0.157544613339449,0.0755408232003073
+"23",91,10,11552.0073291683,0.122701969596206,3062.67636068307,3246,0.359404486604552,572620.63450438,1726508.26141221,0.208338747678104,0.166241623318647,0.0606932302288851
+"24",91,11,10167.423795401,0.104969273826533,3482.79960648083,5168,0.367377640172593,609126.170060024,1824724.07170084,0.187868687441627,0.163097516340257,0.0660054655476726
+"25",91,12,9754.31529489245,0.104388881179002,3506.94519991429,6630,0.383078890334272,545757.805237826,1555829.37932223,0.212837773501516,0.139478564722395,0.0664144726699727
+"26",91,13,10234.0543992258,0.126695459368961,2962.55544823349,2196,0.435136638194555,590694.234804718,1324704.31939809,0.283682036300874,0.21564747740303,0.082287895933872
+"27",92,1,138235.462388913,0.44979876489208,2231.297412505,998,0.169548322328298,923110.003233481,5503169.8549108,0.225144392923031,0.168776412159207,0.0719827715664783
+"28",92,2,61517.4781585873,0.342124631365282,2372.94541410678,1238,0.216275392163606,877529.265960984,4085518.50037393,0.254232412397463,0.161467144132851,0.0609752186450083
+"29",92,3,39998.1214186432,0.269756691601527,2254.24448661067,4446,0.245724358172207,825336.527327005,3537509.60698688,0.289678421613617,0.177180383818912,0.070940965191777
+"30",92,4,38701.0524607681,0.265095685143559,2511.68585731014,4885,0.259645552281168,816185.079151221,3177183.37209858,0.24502158239611,0.177581097220832,0.0702076869523374
+"31",92,5,30216.0402048502,0.210991355536959,2698.44235822007,2016,0.281889698109544,816696.612436602,3146834.79761723,0.242781326222895,0.171016258926028,0.073009758078828
+"32",92,6,29525.3646149638,0.206115799827221,2997.04993807428,4588,0.309929411497857,805615.552964543,2793375.51391809,0.176588638926866,0.14848716152563,0.0546284251842989
+"33",92,7,26214.8148347038,0.206400137600114,2747.54582539955,680,0.372367598061543,820187.952354813,2276104.1598144,0.314250366631409,0.252064238079342,0.0944778278029089
+"34",92,8,50092.7247298967,0.342623852535789,1977.99839228842,998,0.267663003530441,779272.754619761,2879871.63384694,0.291657346608665,0.204893844534257,0.0692442107582512
+"35",92,9,16094.3324552818,0.138972597895138,2822.5076346467,1299,0.329356750900289,774385.68278295,2741779.96301599,0.207582910156018,0.157732275975535,0.0768150850186975
+"36",92,10,13585.6810143609,0.117375256412339,2971.33519587726,2986,0.362255351169103,784674.693614261,2384827.04801359,0.209343160123113,0.180671293024174,0.0726309258584698
+"37",92,11,12142.6689309577,0.110244785285022,3054.88009845411,5106,0.377524828954112,842580.270355474,2500411.16934754,0.285357403782497,0.172456090985875,0.106815437580367
+"38",92,12,11355.8730028203,0.10361479541427,3208.77911489228,6742,0.388490521420367,722451.046728431,2032526.98145588,0.219347912537627,0.147491698859169,0.0817910487681041
+"39",92,13,12608.7476541297,0.108175525257608,3115.36349686431,2249,0.424503461701914,789099.02431606,1903854.79325925,0.330955233672176,0.232302957092509,0.091777129656552
+"40",93,1,154695.280058346,0.431090205606863,2243.89926344306,1044,0.163191449280162,1021537.7647505,6353199.93296438,0.205848882298146,0.172916431204482,0.0587860782878917
+"41",93,2,70920.5408519514,0.328774632822183,2324.3557856697,1250,0.197568646071801,939261.058746747,4575966.94797759,0.183394349469674,0.165100461873366,0.0631918296778174
+"42",93,3,46346.64036219,0.278604805469428,2184.1118155798,4441,0.231956203032532,930140.988275988,3992035.2666262,0.270025102351642,0.176241145804905,0.0701013399463811
+"43",93,4,45070.7614600078,0.281164387210139,2496.9970692565,4859,0.246233831072316,866194.141907146,3439740.87484994,0.221578966731466,0.186332901392893,0.0886080244327681
+"44",93,5,34667.922897826,0.242284873024948,2555.04213511614,2018,0.260944747962809,884304.052556752,3417317.30026545,0.287972208672762,0.218833125526237,0.0988454382295095
+"45",93,6,33286.8920964447,0.221490391553037,2889.85568187719,4566,0.29201413292815,866047.468224991,3036207.09428948,0.188293127936083,0.158911194625471,0.0610362453670604
+"46",93,7,30581.7269489926,0.218561922475901,2693.99802828864,669,0.354565464903166,881466.870849591,2483864.68637641,0.329805197754047,0.266884226569278,0.103243811804964
+"47",93,8,58085.5460063761,0.347183201477419,2053.96784792558,1035,0.251049026263738,892072.540840668,3425831.55698889,0.252759729368407,0.155762357324205,0.0555730290225666
+"48",93,9,19797.1235769944,0.159432067450693,2728.04723164776,1285,0.306542122819727,862565.869651657,3091596.80315957,0.218157018232256,0.168249999573189,0.0810221501162696
+"49",93,10,15903.0932576049,0.12810629213486,2918.16277908262,2986,0.334059356757952,858333.608631921,2669385.92444516,0.218887088800503,0.148863789361536,0.0628486002252601
+"50",93,11,12248.496363755,0.112148926100182,2931.48424691886,5057,0.347070299080671,858172.537228627,2539829.65877339,0.280221381681181,0.197106481850898,0.0904117036109631
+"51",93,12,12716.6030212177,0.117062216303132,2997.82704524709,6729,0.372871863153725,803411.520612376,2239577.05581908,0.274177185674938,0.227553339178369,0.106044627492681
+"52",93,13,13444.3002921002,0.110775304977928,3000.88106999818,2236,0.423703046841001,847745.497801425,2070645.0582292,0.376788770478425,0.277606287240003,0.11189566410148
+"53",94,1,172173.49112682,0.419974567399585,2430.04634177846,1042,0.158947687996983,1025736.44062841,6681227.59096149,0.185767010022344,0.139218376511558,0.0535419166438188
+"54",94,2,79181.6734469273,0.332451297879975,2311.46423316191,1290,0.186754993138436,1021994.92754913,5212290.11672466,0.177650895267982,0.146531576738355,0.0698040949788995
+"55",94,3,50790.1185337272,0.274976843963316,2309.96579021381,4470,0.229840840204151,970418.312139302,4198783.21419362,0.243222266749966,0.162856804621018,0.0630200859142517
+"56",94,4,50177.3935802797,0.28487565015703,2386.86428142899,4810,0.234845713292714,907368.291253843,3742870.97113577,0.198976436471037,0.169807763367369,0.0583125614351221
+"57",94,5,36154.6843555784,0.238671565264335,2361.82841687979,2021,0.242543114594461,920751.716378574,3662252.51072995,0.324760697908096,0.213971080420099,0.0887903640587529
+"58",94,6,36086.7409805983,0.219985287262337,2887.56863914465,4513,0.281464606054722,867528.122991179,3123653.77426276,0.141649280643045,0.159912867265368,0.056555728032609
+"59",94,7,34676.4662625082,0.212465859795866,2696.28003360661,674,0.33735810422994,924287.259277158,2644279.89401947,0.328205672689754,0.23916703057625,0.0940205468007922
+"60",94,8,61862.0166054291,0.320908165169971,1891.57817034582,1066,0.225961910416906,966549.568356459,3787296.16253228,0.296777708783377,0.152614736589002,0.0600492431615241
+"61",94,9,22427.0894830033,0.161270342394203,2818.71088161082,1266,0.296204236087828,933256.090765381,3441302.77630405,0.170075180470588,0.17143505293063,0.0719576427006966
+"62",94,10,19173.3620404943,0.143950653826461,2828.29145906916,2963,0.302969785812254,894920.348301084,2888460.00153224,0.206329821966271,0.144735673709018,0.0657269543600941
+"63",94,11,13537.1061746772,0.111689811179616,2840.33733191106,5062,0.327075460000784,917772.322033559,2754998.46304454,0.249767099519693,0.171741905460804,0.0780834043170018
+"64",94,12,13941.5348931821,0.124837037125473,2873.61271217294,6723,0.357146030748015,812498.070726829,2273642.89352682,0.253930253072883,0.215314985383712,0.0940138655133364
+"65",94,13,14390.2818176616,0.106680021316234,3054.12384669056,2237,0.411786420833734,905274.07381949,2260176.05113773,0.378629532017611,0.262028159608299,0.101916486643483
+"66",95,1,188157.26820099,0.417348299146465,2324.59086837656,1036,0.156672596284344,1120879.59171672,7600682.4701224,0.188088000796105,0.163847168046029,0.0641712182569559
+"67",95,2,83922.4219148478,0.3464081856272,2089.46287080575,1287,0.175513338168998,1088448.51725455,5889820.29705045,0.257851247770301,0.160187775918034,0.0786013533202956
+"68",95,3,55633.3803882601,0.275522457408013,2324.37012748258,4478,0.223131818927903,1018785.17672473,4540076.09571775,0.235211124028,0.146247831561702,0.0629392102493774
+"69",95,4,54242.4456594103,0.27222433614323,2536.23856671759,4789,0.244184407902298,999313.690775078,4275420.59510442,0.221960902832515,0.186270741190616,0.0765798612443759
+"70",95,5,38146.3474119888,0.22919140259522,2444.9443767663,1979,0.244262483253373,951043.844191169,3896107.97913831,0.298078987391546,0.202148110648431,0.105222910141105
+"71",95,6,38023.9952896972,0.230409676929071,2698.13951350684,4500,0.268773741639428,956814.079744994,3572313.55259191,0.225413020383356,0.140767376658627,0.0571737712782515
+"72",95,7,36870.2525567452,0.22304293120008,2666.60154138254,679,0.33584628562562,1012139.88737748,2994524.81573542,0.386594379061506,0.283769787426321,0.119765973806835
+"73",95,8,63734.8486538677,0.300435250788149,2101.42832852206,1050,0.218561000800715,1009471.513657,4249041.9640525,0.318229923569794,0.12598090495569,0.0842875725017546
+"74",95,9,27853.0397071804,0.181640171620669,2717.34151957392,1271,0.273094367120616,974035.432984654,3724117.50311763,0.162899979167995,0.160328001131332,0.0771781799438257
+"75",95,10,22331.1116461006,0.168599971934671,2579.38057736359,2970,0.309170012791564,936426.751864181,3148559.11299907,0.235755365785572,0.131122778929242,0.0600655518911182
+"76",95,11,14760.0415329031,0.115448709165119,2748.58238080477,5058,0.321410773879918,977585.702076226,3054477.53546771,0.284707626805456,0.196184357707104,0.107490536680206
+"77",95,12,15408.7522126387,0.126126602633633,2833.04946242391,6668,0.350762409007423,862227.887455045,2459278.69212324,0.237208874563063,0.194321745068794,0.0777771125122299
+"78",95,13,14809.0070137044,0.108368475367651,2934.42072810831,2241,0.41117576850319,964799.888871145,2434072.92145625,0.378404223613303,0.280519129409051,0.113766808895469
+"79",96,1,217367.38740377,0.430461998242018,2447.56245760726,989,0.161320587810253,1215488.57497905,8261327.00616585,0.169152712057379,0.155205288514993,0.0790576826704925
+"80",96,2,91682.4792008118,0.318837969640697,2375.83387980089,1298,0.187801511918441,1211040.13334985,6680683.71142005,0.227853766051419,0.181085136629407,0.0811230273591586
+"81",96,3,61380.6085923271,0.271805399214946,2352.20562842751,4448,0.22235775668804,1129098.68026044,5173695.80277408,0.241922055167816,0.150881591782448,0.0602591426785946
+"82",96,4,58194.0126506874,0.255980302465098,2453.49370162367,4824,0.230820641395303,1092372.34261476,4804327.87676105,0.21869793587281,0.17430616161304,0.0760928336234312
+"83",96,5,39010.6683670169,0.221556476925185,2518.48486621247,1935,0.249796195397793,1102260.83941629,4553672.39760591,0.331282552014433,0.217488444843888,0.0790279528256741
+"84",96,6,40446.4971467023,0.210403124843026,2712.58146247963,4480,0.259480984304581,966919.487263708,3765348.54013651,0.203687704667842,0.143372078168837,0.0824571101418793
+"85",96,7,43957.7508040561,0.220814748181957,2822.08921505135,676,0.322640662755842,1057735.11595858,3161088.54669072,0.347735283409436,0.251206799573353,0.122309360376813
+"86",96,8,72984.9016973311,0.303172771697181,2467.83171358561,1040,0.257388617559574,1127919.91717438,4709785.03666814,0.358643106659308,0.160849888112872,0.0642967939569348
+"87",96,9,32880.8460527474,0.18012743391555,2846.62633876437,1249,0.267631190433523,1047360.29924452,4201168.56759614,0.150505872044896,0.144771286829169,0.0891507861849952
+"88",96,10,25630.7545162558,0.179468481304837,2604.04650371197,2986,0.302835926404653,1037770.6706408,3587728.06371643,0.223756383756574,0.170662527248198,0.0631259911684197
+"89",96,11,15962.7573628209,0.117512060199754,2757.9540044176,5079,0.32333088865103,1076798.35802591,3456030.99155059,0.302875467977239,0.194041947124781,0.0995576800829416
+"90",96,12,17055.911558795,0.127664451532515,2765.99722662171,6613,0.342250608960593,935518.300071363,2754268.28949649,0.259533386894674,0.179545989342842,0.0723163411388763
+"91",96,13,16601.1399415345,0.113396087877949,2996.68215705517,2235,0.377520211279662,1069149.3966338,2801346.5437311,0.41482526446172,0.290870156536146,0.134860107999842
+"92",97,1,287291.633188936,0.468561960949135,2375.16535859272,1016,0.154143648249629,1565919.530208,10909564.7831002,0.158095971314292,0.195357535164629,0.0755626148404651
+"93",97,2,107483.914551582,0.328882574843086,2170.93976246213,1385,0.195030600672384,1561336.2431049,8491833.10797331,0.30588807538789,0.18537961689642,0.0757589166181419
+"94",97,3,74151.0600244173,0.27900697626983,2231.49375734772,4699,0.228714911163808,1473595.83892761,6834742.23115729,0.339601808846541,0.179989801723482,0.0706280475817841
+"95",97,4,69491.2156734525,0.260826016633106,2403.68533940626,5349,0.242030250344315,1451464.99010635,6452731.17901025,0.312762395227266,0.200197095068077,0.0881011617076723
+"96",97,5,49788.6870716753,0.230590235469782,2396.85665094202,1911,0.251081942390975,1401164.57562662,5792726.00673642,0.365769338390962,0.218418565700465,0.0920818749048355
+"97",97,6,49867.0643089091,0.219643066210661,2517.73949829508,5147,0.262332444619331,1326919.38485742,5270545.43551996,0.270027540474625,0.157845392194212,0.0683751495172678
+"98",97,7,54496.050980309,0.241341150505558,2655.41812465557,801,0.307500893843062,1433266.52562629,4389561.86159966,0.47396106869092,0.305883480674726,0.171774388921686
+"99",97,8,76558.9215128173,0.282938803469557,2287.91419569063,1032,0.26893388605095,1399675.71077275,5782209.7420428,0.326607835921932,0.201778356469895,0.0775004215377216
+"100",97,9,37837.0562771401,0.180975974865664,2674.82440124596,1211,0.25959078591555,1333099.36597748,5660411.13450331,0.280941912077345,0.162688391666536,0.0697183884201241
+"101",97,10,32068.6154958868,0.191313547794939,2422.27193555496,2757,0.306071175122874,1278184.13675132,4442529.02009633,0.255471328577266,0.185397949601222,0.0775344542391091
+"102",97,11,19928.4047692746,0.112575462386334,2653.47227285254,4852,0.310814625799068,1340859.47700716,4424126.13124184,0.319098961705628,0.165173327087477,0.0830891158474389
+"103",97,12,21275.3145887517,0.132934712516731,2660.03786541325,6469,0.348833125805584,1198032.00810319,3599631.96949974,0.318683094746745,0.193009389222324,0.083598822587155
+"104",97,13,20025.2475280793,0.120297294180713,2619.40829437034,2216,0.364065892862714,1428703.09267672,3842349.79631238,0.507207060170148,0.309120918643843,0.154844107352391
+"105",98,1,371203.842237278,0.484621360265368,2178.78334076644,1105,0.143919458719065,2183561.1674862,15832709.2976244,0.228976726477674,0.180698897193447,0.0680428720817463
+"106",98,2,153187.599880172,0.351003649797755,2112.06726908078,1309,0.188214459329258,2170087.88908653,11788807.9978658,0.328361068260818,0.211971156641073,0.0959320114556486
+"107",98,3,100887.079834228,0.294497759477468,2100.63228485784,4606,0.226528356456473,2119221.15341172,9641995.78199621,0.373342609110797,0.209348032050113,0.0846543773891408
+"108",98,4,88592.5819555351,0.268520072181448,2433.01644339272,5195,0.259308207660897,2095131.66559807,9006391.75755093,0.387151827081895,0.244454801642458,0.118565140642728
+"109",98,5,62037.8042956327,0.245199249305414,2504.30096160667,1704,0.259843425747581,1996609.43550289,8139728.54430183,0.459882472972663,0.241615751095102,0.114994877608342
+"110",98,6,67310.3336090217,0.224906163542009,2517.738009547,4789,0.267135706717772,1998796.5442054,8042045.39534542,0.385859157409102,0.207950663355421,0.146291869047274
+"111",98,7,66233.3356805107,0.229732815884719,2623.49042613942,841,0.330987295533842,2249434.88066703,6670132.08352521,0.563253342650885,0.350127370688679,0.162523273727988
+"112",98,8,112237.6393971,0.311217899454242,2202.91286973847,1014,0.259156526848823,1995279.57709644,7952872.49707557,0.301761711696887,0.189502817480907,0.0748032247010391
+"113",98,9,51191.2688207443,0.185701299386166,2589.97487462815,1149,0.262154207967527,1952602.23526622,8534893.71807037,0.337717857121127,0.196685973426109,0.110027246018991
+"114",98,10,45756.4370277792,0.226031962102687,2353.6405631417,2549,0.298762270764769,1911057.97184757,6601210.10872662,0.382899784284396,0.220825549362805,0.0966723299533979
+"115",98,11,24653.4166859877,0.126391219904301,2610.80827875432,4598,0.333210042767609,1970984.66868915,6396566.49402268,0.448511584223342,0.216215575537966,0.12488429761025
+"116",98,12,27886.7209140899,0.138632761347054,2573.44480530351,6457,0.346036395483991,1842375.20033178,5565366.88854905,0.501078740003916,0.235839012503911,0.114606062007092
+"117",98,13,26739.295114887,0.125914707963194,2641.07286119034,2285,0.390209157313732,2074573.30527925,5667034.24530935,0.581936382178885,0.337028839340628,0.17086030981019
diff --git a/R/Archive/August 2020/Food Grams.R b/R/Archive/August 2020/Food Grams.R
new file mode 100644
index 00000000..86ace389
--- /dev/null
+++ b/R/Archive/August 2020/Food Grams.R
@@ -0,0 +1,49 @@
+#163- Step 3.R
+#
+# Copyright © 2018: Majid Einian & Arin Shahbazian
+# Licence: GPL-3
+
+rm(list=ls())
+
+starttime <- proc.time()
+cat("\n\n================ Food Grams =====================================\n")
+
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+library(readxl)
+library(stringr)
+library(data.table)
+library(ggplot2)
+library(spatstat)
+
+for(year in (Settings$startyear:Settings$endyear)){
+ cat(paste0("\n------------------------------\nYear:",year,"\n"))
+
+ # load data --------------------------------------
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"TotalFoodNonDurable.rda"))
+
+
+ #FoodGrams[FoodGrams == 0] <- NA
+ FoodGrams<-TotalFoodNonDurable[,.(HHID,LavashGram,TaftoonGram,BarbariGram,
+ Bread_FantasyGram,Rice_TaromGram,
+ Rice_AshGram,Rice_Khareji2Gram,
+ Rice_DomsiahGram,AdasGram,Loobia_ChitiGram,
+ Loobia_GhermezGram,NokhodGram,Sabzi_KhordanGram,
+ Sabzi_AshGram,KahooGram,KhiarGram,
+ Banana_CoconutGram,OrangeGram,CherryGram,
+ AppleGram,CowMeatGram,SheepMeatGram,
+ Fish_North_FreshGram,Fish_South_FreshGram,
+ Fish_ConservedGram,Cheese_PasturizedGram,
+ Cheese_NonPasturizedGram,Oil_AnimalGram,
+ Oil_NabatiGram,Butter_Animal_PasturizedGram,
+ Butter_NonAnimalGram,KeshmeshGram,
+ NokhodchiGram,PistachioGram,TokhmeGram,
+ GhandGram,ShekarGram)]
+ save(FoodGrams,file=paste0(Settings$HEISProcessedPath,"Y",year,"FoodGrams.rda"))
+
+}
+
+endtime <- proc.time()
+cat("\n\n============================\nIt took ")
+cat(endtime-starttime)
\ No newline at end of file
diff --git a/R/Archive/August 2020/Gini.R b/R/Archive/August 2020/Gini.R
new file mode 100644
index 00000000..91be85ed
--- /dev/null
+++ b/R/Archive/August 2020/Gini.R
@@ -0,0 +1,64 @@
+#Gini Coefficient.R
+#
+# Copyright © 2019:Majid Einian & Arin Shahbazian
+# Licence: GPL-3
+
+rm(list=ls())
+
+starttime <- proc.time()
+cat("\n\n================ Prepare Data =====================================\n")
+
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+#library(readxl)
+library(data.table)
+library(acid)
+library(DescTools)
+Gini <- data.table(Year=NA_integer_,Gini_Income=NA_integer_,Gini_Exp=NA_integer_,Decile=NA_integer_)[0]
+Pop <- data.table(Year=NA_integer_,Pop=NA_integer_,ProvinceCode=NA_integer_)[0]
+
+
+year<-97
+for(year in (Settings$startyear:Settings$endyear)){
+ cat(paste0("\n------------------------------\nYear:",year,"\n"))
+
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"Total_Income.rda"))
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"FINALPOORS.rda"))
+ IncomeTable<-as.data.table(IncomeTable)
+ MD<-as.data.table(MD)
+
+ IncomeTable<-merge(IncomeTable,MD[,.(HHID,EqSizeOECD,Weight,Total_Exp_Month_Per,Size,Decile)],by=c("HHID"),all.x = TRUE)
+
+
+ IncomeTable<-IncomeTable[,TotalIncome_Per:=NetIncome/EqSizeOECD]
+ IncomeTable<-IncomeTable[!is.na(Weight)]
+ g<-IncomeTable[,weighted.gini(TotalIncome_Per,Weight)]
+
+ print(IncomeTable[,weighted.gini(TotalIncome_Per,Weight*Size)])
+ print(IncomeTable[,weighted.gini(Total_Exp_Month_Per,Weight*Size)])
+ X1 <- IncomeTable[,.(Gini_Income=weighted.gini(TotalIncome_Per,Weight*Size),
+ Gini_Exp=weighted.gini(Total_Exp_Month_Per,Weight*Size)),by=c("Decile")]
+
+
+ X1[,Year:=year]
+
+ Gini <- rbind(Gini,X1)
+ Gini<-Gini[,.(Gini_Income=mean(as.numeric(Gini_Income)),
+ Gini_Exp=mean(as.numeric(Gini_Exp))),by=.(Year,Decile)]
+
+ X2 <- IncomeTable[,.(Pop=sum(Size*Weight))]
+ X2[,Year:=year]
+
+
+ #write.csv(Pop,file = "Pop.csv")
+}
+
+#Final_Dataset <- read_excel("C:/Users/pc1/Desktop/MRC fall 98/Dataset/Final Dataset.xlsx", sheet = "Sheet4")
+#Final_Dataset<-as.data.table(Final_Dataset)
+#Final_Dataset2<-Final_Dataset[,weighted.mean(Woman_Contribution,Pop),by=.(Year)]
+
+
+endtime <- proc.time()
+cat("\n\n============================\nIt took ")
+cat(endtime-starttime)
diff --git a/R/Archive/August 2020/High Exp.R b/R/Archive/August 2020/High Exp.R
new file mode 100644
index 00000000..0d677f48
--- /dev/null
+++ b/R/Archive/August 2020/High Exp.R
@@ -0,0 +1,97 @@
+
+rm(list=ls())
+
+starttime <- proc.time()
+cat("\n\n================ High Exp =====================================\n")
+
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+#library(readxl)
+library(data.table)
+library(ggplot2)
+
+year<-98
+
+load(file=paste0(Settings$HEISProcessedPath,"Y",year,"Deciles.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y",year,"FinalPoors.rda"))
+MD[,Decile:=NULL]
+MD[,Percentile:=NULL]
+MD<-merge(MD,Deciles,by="HHID")
+
+R10<-MD[Total_Exp_Month>50000000]
+R10[,sum(Weight)]
+R10[,weighted.mean(Size,Weight)]
+R10_Ostan<-R10[,.(Weight10=sum(Weight),Size10=weighted.mean(Size,Weight)),
+ by=c("ProvinceName","ProvinceCode")]
+
+R9<-MD[Total_Exp_Month>40000000 & Total_Exp_Month<50000000]
+R9[,sum(Weight)]
+R9[,weighted.mean(Size,Weight)]
+R9_Ostan<-R9[,.(Weight9=sum(Weight),Size9=weighted.mean(Size,Weight)),
+ by=c("ProvinceName","ProvinceCode")]
+
+R8<-MD[Total_Exp_Month>30000000 & Total_Exp_Month<40000000]
+R8[,sum(Weight)]
+R8[,weighted.mean(Size,Weight)]
+R8_Ostan<-R8[,.(Weight8=sum(Weight),Size8=weighted.mean(Size,Weight)),
+ by=c("ProvinceName","ProvinceCode")]
+
+R7<-MD[Total_Exp_Month>22500000 & Total_Exp_Month<30000000]
+R7[,sum(Weight)]
+R7[,weighted.mean(Size,Weight)]
+R7_Ostan<-R7[,.(Weight7=sum(Weight),Size7=weighted.mean(Size,Weight)),
+ by=c("ProvinceName","ProvinceCode")]
+
+R6<-MD[Total_Exp_Month>16250000 & Total_Exp_Month<22500000]
+R6[,sum(Weight)]
+R6[,weighted.mean(Size,Weight)]
+R6_Ostan<-R6[,.(Weight6=sum(Weight),Size6=weighted.mean(Size,Weight)),
+ by=c("ProvinceName","ProvinceCode")]
+
+R5<-MD[Total_Exp_Month>13750000 & Total_Exp_Month<16250000]
+R5[,sum(Weight)]
+R5[,weighted.mean(Size,Weight)]
+R5_Ostan<-R5[,.(Weight5=sum(Weight),Size5=weighted.mean(Size,Weight)),
+ by=c("ProvinceName","ProvinceCode")]
+
+R4<-MD[Total_Exp_Month>10000000 & Total_Exp_Month<13750000]
+R4[,sum(Weight)]
+R4[,weighted.mean(Size,Weight)]
+R4_Ostan<-R4[,.(Weight4=sum(Weight),Size4=weighted.mean(Size,Weight)),
+ by=c("ProvinceName","ProvinceCode")]
+
+R3<-MD[Total_Exp_Month>8333333 & Total_Exp_Month<10000000]
+R3[,sum(Weight)]
+R3[,weighted.mean(Size,Weight)]
+R3_Ostan<-R3[,.(Weight3=sum(Weight),Size3=weighted.mean(Size,Weight)),
+ by=c("ProvinceName","ProvinceCode")]
+
+R2<-MD[Total_Exp_Month>6250000 & Total_Exp_Month<8333333]
+R2[,sum(Weight)]
+R2[,weighted.mean(Size,Weight)]
+R2_Ostan<-R2[,.(Weight2=sum(Weight),Size2=weighted.mean(Size,Weight)),
+ by=c("ProvinceName","ProvinceCode")]
+
+R1<-MD[Total_Exp_Month<6250000]
+R1[,sum(Weight)]
+R1[,weighted.mean(Size,Weight)]
+R1_Ostan<-R1[,.(Weight1=sum(Weight),Size1=weighted.mean(Size,Weight)),
+ by=c("ProvinceName","ProvinceCode")]
+
+
+Data<-merge(R10_Ostan,R9_Ostan,by=c("ProvinceName","ProvinceCode"))
+Data<-merge(Data,R8_Ostan,by=c("ProvinceName","ProvinceCode"))
+Data<-merge(Data,R7_Ostan,by=c("ProvinceName","ProvinceCode"))
+Data<-merge(Data,R6_Ostan,by=c("ProvinceName","ProvinceCode"))
+Data<-merge(Data,R5_Ostan,by=c("ProvinceName","ProvinceCode"))
+Data<-merge(Data,R4_Ostan,by=c("ProvinceName","ProvinceCode"))
+Data<-merge(Data,R3_Ostan,by=c("ProvinceName","ProvinceCode"))
+Data<-merge(Data,R2_Ostan,by=c("ProvinceName","ProvinceCode"))
+Data<-merge(Data,R1_Ostan,by=c("ProvinceName","ProvinceCode"))
+
+
+
+
+
+
diff --git a/R/Archive/August 2020/Income Calculations.R b/R/Archive/August 2020/Income Calculations.R
new file mode 100644
index 00000000..4a39bc85
--- /dev/null
+++ b/R/Archive/August 2020/Income Calculations.R
@@ -0,0 +1,81 @@
+# 168- Step 8,9-Poverty Line.R
+#
+# Copyright © 2018:Majid Einian & Arin Shahbazian
+# Licence: GPL-3
+
+rm(list=ls())
+
+starttime <- proc.time()
+cat("\n\n================ Calculations =====================================\n")
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+library(readxl)
+library(data.table)
+library(ggplot2)
+library(stats)
+library(spatstat)
+
+for(year in (Settings$startyear:Settings$endyear)){
+ cat(paste0("\nYear:",year,"\t"))
+
+ # load data --------------------------------------
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"FINALPOORS.rda"))
+ #load(file = paste0(Settings$HEISProcessedPath,"Y",year,"TotalFoodCon.rda"))
+ #load(file = paste0(Settings$HEISProcessedPath,"Y",year,"TotalFoodExp.rda"))
+ load(file = paste0(Settings$HEISProcessedPath,"Y",year,"Durables.rda"))
+ load(file = paste0(Settings$HEISProcessedPath,"Y",year,"Deciles.rda"))
+
+ load( file = paste0(Settings$HEISProcessedPath,"Y",year,"PubWage.rda"))
+ load( file = paste0(Settings$HEISProcessedPath,"Y",year,"PrvWages.rda"))
+ load( file = paste0(Settings$HEISProcessedPath,"Y",year,"BussIncome.rda"))
+ load( file = paste0(Settings$HEISProcessedPath,"Y",year,"AgriWages.rda"))
+ load( file = paste0(Settings$HEISProcessedPath,"Y",year,"AidWage.rda"))
+ load( file = paste0(Settings$HEISProcessedPath,"Y",year,"HomemadeWage.rda"))
+ load( file = paste0(Settings$HEISProcessedPath,"Y",year,"InterestWage.rda"))
+ load( file = paste0(Settings$HEISProcessedPath,"Y",year,"IntraWage.rda"))
+ load( file = paste0(Settings$HEISProcessedPath,"Y",year,"OtherIncome.rda"))
+ load( file = paste0(Settings$HEISProcessedPath,"Y",year,"RentWage.rda"))
+ load( file = paste0(Settings$HEISProcessedPath,"Y",year,"RetirementWage.rda"))
+ load( file = paste0(Settings$HEISProcessedPath,"Y",year,"Subsidy.rda"))
+ load( file = paste0(Settings$HEISProcessedPath,"Y",year,"Total_Income.rda"))
+
+ Data<-merge(MD[,.(HHID,Region,ProvinceCode,Size,EqSizeOECD,Weight,Total_Exp_Month_Per,Total_Exp_Month)],Deciles
+ ,by="HHID",all.x = TRUE)
+ Data<-merge(Data,PubWageData[,.(HHID,PubWageNetIncomeY)],by="HHID",all.x = TRUE)
+ Data<-merge(Data,PrvWageData[,.(HHID,PrvWageNetIncomeY)],by="HHID",all.x = TRUE)
+ Data<-merge(Data,BussIncomeData[,.(HHID,BussNetIncomeY)],by="HHID",all.x = TRUE)
+ Data<-merge(Data,AgriIncomeData[,.(HHID,AgriNetIncomeY)],by="HHID",all.x = TRUE)
+ Data<-merge(Data,AidWageData[,.(HHID,aid)],by="HHID",all.x = TRUE)
+ Data<-merge(Data,HomemadeWageData[,.(HHID,homemade)],by="HHID",all.x = TRUE)
+ Data<-merge(Data,InterestWageData[,.(HHID,interest)],by="HHID",all.x = TRUE)
+ Data<-merge(Data,IntraWageData[,.(HHID,intra)],by="HHID",all.x = TRUE)
+ Data<-merge(Data,RentWageData[,.(HHID,rent)],by="HHID",all.x = TRUE)
+ Data<-merge(Data,RetirementWageData[,.(HHID,retirement)],by="HHID",all.x = TRUE)
+ Data<-merge(Data,SubsidyWageData[,.(HHID,Subsidy)],by="HHID",all.x = TRUE)
+
+
+ Data[is.na(Data)] <- 0
+ Data[,Income_HH:=(PubWageNetIncomeY+PrvWageNetIncomeY+BussNetIncomeY+AgriNetIncomeY+
+ aid+homemade+interest+intra+rent+retirement+Subsidy)/12]
+ Data[,Income_Per:=Income_HH/EqSizeOECD]
+
+ a1<- Data[,weighted.mean(Income_Per,Weight)]
+ a1<- as.data.table(a1)
+ b1<- Data[,weighted.mean(Income_Per,Weight),by=Region]
+ c1<- Data[,weighted.mean(Income_Per,Weight),by=Decile][order(Decile)]
+
+ a2<- Data[,weighted.mean(Total_Exp_Month_Per,Weight)]
+ a2<- as.data.table(a2)
+ b2<- Data[,weighted.mean(Total_Exp_Month_Per,Weight),by=Region]
+ c2<- Data[,weighted.mean(Total_Exp_Month_Per,Weight),by=Decile][order(Decile)]
+
+ cat(Data[,weighted.mean(Income_HH,Weight)],"\t")
+ cat(Data[,weighted.mean(Total_Exp_Month,Weight)])
+}
+
+
+endtime <- proc.time()
+cat("\n\n============================\nIt took ")
+cat((endtime-starttime)["elapsed"])
+cat(" seconds")
\ No newline at end of file
diff --git a/R/Archive/August 2020/IncomePoverty.R b/R/Archive/August 2020/IncomePoverty.R
new file mode 100644
index 00000000..47508ed1
--- /dev/null
+++ b/R/Archive/August 2020/IncomePoverty.R
@@ -0,0 +1,184 @@
+# 168- Step 8,9-Poverty Line.R
+#
+# Copyright © 2018:Majid Einian & Arin Shahbazian
+# Licence: GPL-3
+
+rm(list=ls())
+
+starttime <- proc.time()
+cat("\n\n================ Poverty Line =====================================\n")
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+library(readxl)
+library(data.table)
+library(ggplot2)
+library(stats)
+library(spatstat)
+library(writexl)
+
+FinalCountryResults <- data.table(Year=NA_integer_,PovertyLine=NA_real_,
+ Engle=NA_real_,Bundle_Value=NA_real_,
+ Total_Exp_Month_Per=NA_real_,PovertyHCR=NA_real_,
+ PovertyGap=NA_real_,PovertyDepth=NA_real_)[0]
+FinalRegionResults <- data.table(Year=NA_integer_,Region=NA_integer_,PovertyLine=NA_real_,PovertyHCR=NA_real_,
+ PovertyGap=NA_real_,PovertyDepth=NA_real_)[0]
+FinalClusterResults <- data.table(Year=NA_integer_,cluster3=NA_integer_,MetrPrice=NA_real_,
+ House_Share=NA_real_,FoodKCaloriesHH_Per=NA_real_,
+ SampleSize=NA_integer_,
+ Engle=NA_integer_,FPLine=NA_integer_,
+ PovertyLine=NA_real_,PovertyHCR=NA_real_,
+ PovertyGap=NA_real_,PovertyDepth=NA_real_)[0]
+FinalProvinceResults <- data.table(Year=NA_integer_,ProvinceName=NA_integer_,MetrPrice=NA_real_,
+ House_Share=NA_real_,FoodKCaloriesHH_Per=NA_real_,
+ SampleSize=NA_integer_,
+ Engle=NA_integer_,FPLine=NA_integer_,
+ PovertyLine=NA_real_,PovertyHCR=NA_real_,
+ PovertyGap=NA_real_,PovertyDepth=NA_real_)[0]
+
+year<-95
+for(year in (Settings$startyear:Settings$endyear)){
+ cat(paste0("\nYear:",year,"\t"))
+
+ # load data --------------------------------------
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"FinalFoodPoor.rda"))
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"FINALPOORS_Engle.rda"))
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"Total_Income.rda"))
+
+ MD<-merge(MD,IncomeTable[,.(HHID,NetIncome)],by=c("HHID"),all.x = TRUE)
+
+
+ # MD<-MD[Region=="Urban"]
+
+ # EngleD<- MD[ TOriginalFoodExpenditure_Per>0.8*FPLine &
+ # TOriginalFoodExpenditure_Per<1.2*FPLine,
+ # .(.N,Engel=weighted.mean(TOriginalFoodExpenditure/Total_Exp_Month_nondurable,Weight),
+ # FPLine=mean(FPLine)),by=.(Region,cluster3)]
+
+
+ # EngleD[,EngleFinal:=mean(EngleFinal)]
+ EngleD[,PovertyLine:=FPLine/EngleFinal]
+ EngleD[,PovertyLine2:=FPLine/Engel0]
+ MD <- merge(MD,EngleD[,.(cluster3,Region,PovertyLine,PovertyLine2,Engel)],by=c("Region","cluster3"))
+MD<-MD[,NetIncome:=NetIncome/(EqSizeOECD*12)]
+ MD[,FinalPoor:=ifelse(NetIncome < PovertyLine,1,0 )]
+ MD[,FinalPoor2:=ifelse(NetIncome < PovertyLine2,1,0 )]
+ MD<-MD[,HHEngle:=TOriginalFoodExpenditure/Total_Exp_Month,Weight]
+ save(MD,file=paste0(Settings$HEISProcessedPath,"Y",year,"FINALPOORS.rda"))
+
+
+
+ MD[,FGT1M:=(PovertyLine-Total_Exp_Month_Per)/PovertyLine]
+ MD[,FGT2M:=((PovertyLine-Total_Exp_Month_Per)/PovertyLine)^2]
+
+
+
+ ################Country##################
+
+ X1 <- MD[,.(PovertyLine=weighted.mean(PovertyLine,Weight*Size),
+ PovertyHCR=weighted.mean(FinalPoor,Weight*Size),
+ Engle=weighted.mean(HHEngle,Weight),
+ Bundle_Value=weighted.mean(Bundle_Value,Weight),
+ Total_Exp_Month_Per=weighted.mean(Total_Exp_Month_Per,Weight))]
+ X2 <- MD[FinalPoor==1,.(PovertyGap=weighted.mean(FGT1M,Weight*Size),
+ PovertyDepth=weighted.mean(FGT2M,Weight*Size))]
+ X1[,Year:=year]
+ X2[,Year:=year]
+ X <- merge(X1,X2,by="Year")
+ FinalCountryResults <- rbind(FinalCountryResults,X)
+
+ ################Region##################
+ X1 <- MD[,.(PovertyLine=weighted.mean(PovertyLine,Weight*Size),
+ PovertyHCR=weighted.mean(FinalPoor,Weight*Size)),by=Region]
+ X2 <- MD[FinalPoor==1,.(PovertyGap=weighted.mean(FGT1M,Weight*Size),
+ PovertyDepth=weighted.mean(FGT2M,Weight*Size)),by=Region]
+ X1[,Year:=year]
+ X2[,Year:=year]
+ X <- merge(X1,X2,by=c("Year","Region"))
+ FinalRegionResults <- rbind(FinalRegionResults,X)
+
+
+ ################Cluster##################
+ X1 <- MD[,.(SampleSize=.N,MetrPrice=weighted.mean(MetrPrice,Weight,na.rm = TRUE),
+ House_Share=weighted.mean(ServiceExp/Total_Exp_Month,Weight),
+ Engle=weighted.mean(TOriginalFoodExpenditure/Total_Exp_Month,Weight),
+ FPLine=weighted.mean(FPLine,Weight),
+ FoodKCaloriesHH_Per=weighted.mean(FoodKCaloriesHH_Per,Weight),
+ PovertyLine=weighted.mean(PovertyLine,Weight*Size),
+ PovertyHCR=weighted.mean(FinalPoor,Weight*Size)),by=cluster3]
+ X2 <- MD[FinalPoor==1,.(PovertyGap=weighted.mean(FGT1M,Weight*Size),
+ PovertyDepth=weighted.mean(FGT2M,Weight*Size)),by=cluster3]
+
+
+ X1[,Year:=year]
+ X2[,Year:=year]
+ X <- merge(X1,X2,by=c("Year","cluster3"))
+ FinalClusterResults <- rbind(FinalClusterResults,X)
+
+ ################Province##################
+ X1 <- MD[,.(SampleSize=.N,MetrPrice=weighted.mean(MetrPrice,Weight,na.rm = TRUE),
+ House_Share=weighted.mean(ServiceExp/Total_Exp_Month,Weight),
+ Engle=weighted.mean(TOriginalFoodExpenditure/Total_Exp_Month,Weight),
+ FPLine=weighted.mean(FPLine,Weight),
+ FoodKCaloriesHH_Per=weighted.mean(FoodKCaloriesHH_Per,Weight),
+ PovertyLine=weighted.mean(PovertyLine,Weight*Size),
+ PovertyHCR=weighted.mean(FinalPoor,Weight*Size)),by="ProvinceName"]
+ X2 <- MD[FinalPoor==1,.(PovertyGap=weighted.mean(FGT1M,Weight*Size),
+ PovertyDepth=weighted.mean(FGT2M,Weight*Size)),by="ProvinceName"]
+
+
+ X1[,Year:=year]
+ X2[,Year:=year]
+ X <- merge(X1,X2,by=c("Year","ProvinceName"))
+ FinalProvinceResults <- rbind(FinalProvinceResults,X)
+
+ ####################################################
+
+ cat(MD[, weighted.mean(FinalPoor,Weight*Size)],"\t")
+ cat(MD[, weighted.mean(FinalPoor2,Weight*Size)],"\t")
+ cat(MD[, weighted.mean(PovertyLine,Weight*Size)],"\t")
+ cat(MD[, weighted.mean(FPLine,Weight*Size)],"\t")
+ #cat(MD[, sum(Weight*Size)],"\t")
+
+ MD1<-MD[,.(HHID,FinalPoor)]
+ save(MD1,file=paste0(Settings$HEISProcessedPath,"Y",year,"POORS.rda"))
+
+ MD[, weighted.mean(FinalPoor,Weight*Size)]
+ MD[, weighted.mean(FinalPoor,Weight*Size),by=Region]
+ MD[, weighted.mean(FinalPoor,Weight*Size),by=cluster3]
+ MD[,weighted.mean(FinalPoor,Weight),by=ProvinceName][order(ProvinceName)]
+
+
+ DurableD<- MD[ Total_Exp_Month_Per_nondurable>0.8*PovertyLine &
+ Total_Exp_Month_Per_nondurable<1.2*PovertyLine,
+ .(.N,Durable_Adds_Final=weighted.mean((Durable_NoDep+Durable_Emergency)/Total_Exp_Month_nondurable,Weight),
+ PovertyLine=mean(PovertyLine)),
+ by=.(Region,cluster3)]
+
+ DurableD[,PovertyLine_Final:=PovertyLine*(1+Durable_Adds_Final)]
+ MD <- merge(MD,DurableD[,.(cluster3,Region,PovertyLine_Final)],by=c("Region","cluster3"))
+
+ # cat(MD[, weighted.mean(PovertyLine_Final,Weight*Size)])
+ MD[FinalPoor==1,weighted.mean(Total_Exp_Month_Per,Weight)]
+ MD[FinalPoor==1,weighted.mean(Total_Exp_Month_Per,Weight),by=Region]
+
+ # cat(MD[Decile==3, weighted.mean(FoodKCaloriesHH_Per,Weight*Size)])
+ # cat(MD[Decile==2, weighted.mean(FoodKCaloriesHH_Per,Weight*Size)])
+}
+write_xlsx(FinalClusterResults,path="ClusterResultsI.xlsx",col_names=T)
+write_xlsx(FinalCountryResults,path="CountryResultsI.xlsx",col_names=T)
+write_xlsx(FinalRegionResults,path="RegionResultsI.xlsx",col_names=T)
+
+pop<-MD[,sum(.N),by=c("Decile","cluster3")]
+
+#ggplot(FinalClusterResults)+
+# geom_line(mapping = aes(x=Year,y=PovertyHCR,col=factor(cluster3),linetype=factor(cluster3)))
+#write.csv(FinalClusterResults,file = "FinalClusterResults.csv")
+
+#z2<-MD[,.(HHID,Decile,Added,Added1,Added2,Added3,Added4,Added5,
+# Added6,Added7,Added8,computer,Added9,Added10,Added11)]
+
+endtime <- proc.time()
+cat("\n\n============================\nIt took ")
+cat((endtime-starttime)["elapsed"])
+cat(" seconds")
\ No newline at end of file
diff --git a/R/Archive/August 2020/Job distribution.R b/R/Archive/August 2020/Job distribution.R
new file mode 100644
index 00000000..e24e8446
--- /dev/null
+++ b/R/Archive/August 2020/Job distribution.R
@@ -0,0 +1,117 @@
+# 111-HHBase.R
+# Builds the base data.table for households
+
+rm(list=ls())
+
+starttime <- proc.time()
+cat("\n\n================ Job distribution =====================================\n")
+
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+#library(foreign)
+library(data.table)
+library(stringr)
+
+year<-98
+#for(year in (Settings$startyear:Settings$endyear)){
+ cat(paste0("\n------------------------------\nYear:",year,"\n"))
+
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"FINALPOORS.rda"))
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"Total2.rda"))
+ T2<-Total[,.(HHID,G01,G02,G03,G04,G05,G06,G07,G08,G09,G101,
+ G102,G103,G104,G105,G11,G12,G13,G041,G042,G044,G045,
+ G0451,G0452,G0453,G0454,Subsidy,
+ Job_Main_Code_Pub,Job_Original_Code_Pub,
+ Job_Main_Code_Cooperative,Job_Original_Code_Cooperative,
+ Job_Main_Code_Prv,Job_Original_Code_Prv,
+ Job_Main_Code_Buss,Job_Original_Code_Buss,
+ Job_Main_Code_Agri,Job_Original_Code_Agri)]
+ MD<-merge(MD,Total[,.(HHID,G01,G02,G03,G04,G05,G06,G07,G08,G09,G101,
+ G102,G103,G104,G105,G11,G12,G13,G041,G042,G044,G045,
+ G0451,G0452,G0453,G0454,Subsidy,
+ Job_Main_Code_Pub,Job_Original_Code_Pub,
+ Job_Main_Code_Cooperative,Job_Original_Code_Cooperative,
+ Job_Main_Code_Prv,Job_Original_Code_Prv,
+ Job_Main_Code_Buss,Job_Original_Code_Buss,
+ Job_Main_Code_Agri,Job_Original_Code_Agri,
+ Retirement,Aid,Homemade,Rent,Interest,Intra)],by="HHID")
+
+ MD[,All:=G01+G02+G03+G04+G05+G06+G07+G08+G09+G101+
+ G102+G103+G104+G105+G11+G12+G13]
+
+ for (col in c("ego","bathroom","electricity"))
+ MD[is.na(get(col)), (col) := "True"]
+
+
+MD[,Other_Income:=max(Retirement,Aid,Homemade,Rent,Interest,Intra),by="HHID"]
+MD[,Other_Income_Code:=ifelse(Other_Income>0,0.5,0),by="HHID"]
+
+MD[,Job_Code:=max(Job_Main_Code_Pub,Job_Main_Code_Cooperative,Job_Main_Code_Prv,
+ Job_Main_Code_Buss,Job_Main_Code_Agri,Other_Income_Code),by="HHID"]
+MD[,Job_Code:=ifelse(Job_Code==0,0.5,Job_Code)]
+
+T3<-MD[,.(Job_Main_Code_Pub,Job_Main_Code_Cooperative,Job_Main_Code_Prv,
+ Job_Main_Code_Buss,Job_Main_Code_Agri,Other_Income_Code,Job_Code)]
+
+A<-T3[Job_Code>0]
+
+MD[,Category:=ifelse(Job_Main_Code_Pub>0,"Pub",
+ ifelse(Job_Main_Code_Prv>0,"Prv",
+ ifelse(Job_Main_Code_Buss>0 | Job_Main_Code_Agri>0,
+ "Buss","Other")))]
+
+MD[,weighted.mean(Job_Code==9,Weight),by=Decile][order(Decile)]
+MD[,weighted.mean(Job_Main_Code_Pub>0,Weight),by=Decile][order(Decile)]
+MD[,weighted.mean(Job_Main_Code_Prv>0,Weight),by=Decile][order(Decile)]
+MD[,weighted.mean(Job_Main_Code_Buss>0,Weight),by=Decile][order(Decile)]
+MD[,weighted.mean(Job_Main_Code_Agri>0,Weight),by=Decile][order(Decile)]
+MD[,weighted.mean(Other_Income_Code>0,Weight),by=Decile][order(Decile)]
+
+MD[,HH_Decile:=sum(Weight),by=Decile]
+
+x1<-MD[Decile==1,.(sum(HIndivNo*Weight)/mean(HH_Decile)),by="Category"]#[order("Category")]
+x2<-MD[Decile==2,.(sum(HIndivNo*Weight)/mean(HH_Decile)),by="Category"]
+x3<-MD[Decile==3,.(sum(HIndivNo*Weight)/mean(HH_Decile)),by="Category"]
+x4<-MD[Decile==4,.(sum(HIndivNo*Weight)/mean(HH_Decile)),by="Category"]
+x5<-MD[Decile==5,.(sum(HIndivNo*Weight)/mean(HH_Decile)),by="Category"]
+x6<-MD[Decile==6,.(sum(HIndivNo*Weight)/mean(HH_Decile)),by="Category"]
+x7<-MD[Decile==7,.(sum(HIndivNo*Weight)/mean(HH_Decile)),by="Category"]
+x8<-MD[Decile==8,.(sum(HIndivNo*Weight)/mean(HH_Decile)),by="Category"]
+x9<-MD[Decile==9,.(sum(HIndivNo*Weight)/mean(HH_Decile)),by="Category"]
+x10<-MD[Decile==10,.(sum(HIndivNo*Weight)/mean(HH_Decile)),by="Category"]
+
+
+y1<-MD[Decile==1,.(sum(HIndivNo*Weight)/mean(HH_Decile)),by="Job_Code"]#[order("Job_Code")]
+y2<-MD[Decile==2,.(sum(HIndivNo*Weight)/mean(HH_Decile)),by="Job_Code"]
+y3<-MD[Decile==3,.(sum(HIndivNo*Weight)/mean(HH_Decile)),by="Job_Code"]
+y4<-MD[Decile==4,.(sum(HIndivNo*Weight)/mean(HH_Decile)),by="Job_Code"]
+y5<-MD[Decile==5,.(sum(HIndivNo*Weight)/mean(HH_Decile)),by="Job_Code"]
+y6<-MD[Decile==6,.(sum(HIndivNo*Weight)/mean(HH_Decile)),by="Job_Code"]
+y7<-MD[Decile==7,.(sum(HIndivNo*Weight)/mean(HH_Decile)),by="Job_Code"]
+y8<-MD[Decile==8,.(sum(HIndivNo*Weight)/mean(HH_Decile)),by="Job_Code"]
+y9<-MD[Decile==9,.(sum(HIndivNo*Weight)/mean(HH_Decile)),by="Job_Code"]
+y10<-MD[Decile==10,.(sum(HIndivNo*Weight)/mean(HH_Decile)),by="Job_Code"]
+#}
+
+
+Sale<-MD[Job_Original_Code_Prv==52 | Job_Original_Code_Buss==52]
+
+Sale[,sum(HIndivNo),by=Decile][order(Decile)]
+Sale[,sum(HIndivNo*Weight),by=Decile][order(Decile)]
+
+x1<-Sale[Decile==1,.(sum(HIndivNo*Weight)/mean(HH_Decile)),by="Category"]#[order("Category")]
+x2<-Sale[Decile==2,.(sum(HIndivNo*Weight)/mean(HH_Decile)),by="Category"]
+x3<-Sale[Decile==3,.(sum(HIndivNo*Weight)/mean(HH_Decile)),by="Category"]
+x4<-Sale[Decile==4,.(sum(HIndivNo*Weight)/mean(HH_Decile)),by="Category"]
+x5<-Sale[Decile==5,.(sum(HIndivNo*Weight)/mean(HH_Decile)),by="Category"]
+x6<-Sale[Decile==6,.(sum(HIndivNo*Weight)/mean(HH_Decile)),by="Category"]
+x7<-Sale[Decile==7,.(sum(HIndivNo*Weight)/mean(HH_Decile)),by="Category"]
+x8<-Sale[Decile==8,.(sum(HIndivNo*Weight)/mean(HH_Decile)),by="Category"]
+x9<-Sale[Decile==9,.(sum(HIndivNo*Weight)/mean(HH_Decile)),by="Category"]
+x10<-Sale[Decile==10,.(sum(HIndivNo*Weight)/mean(HH_Decile)),by="Category"]
+
+endtime <- proc.time()
+
+cat("\n\n============================\nIt took ")
+cat((endtime-starttime)[3])
\ No newline at end of file
diff --git a/R/Archive/August 2020/PoorFeatures.R b/R/Archive/August 2020/PoorFeatures.R
new file mode 100644
index 00000000..546ad44b
--- /dev/null
+++ b/R/Archive/August 2020/PoorFeatures.R
@@ -0,0 +1,120 @@
+
+rm(list=ls())
+starttime <- proc.time()
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+library(readxl)
+library(data.table)
+library(ggplot2)
+library(dplyr)
+library(data.table)
+library(stringr)
+library(readxl)
+library(spatstat)
+library(writexl)
+library(tidyr)
+for(year in (Settings$startyear:Settings$endyear)){
+ cat(paste0("\n------------------------------\nYear:",year,"\n"))
+
+ # load data --------------------------------------
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"FoodPrices.rda"))
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"FINALPOORS.rda"))
+
+load( file = paste0(Settings$HEISProcessedPath,"Y",year,"BigFData.rda"))
+
+goosht<-BigFData[FoodType=="Goosht"]
+goosht<-goosht[,Goosht_Grams:=FGrams ]
+morgh<-BigFData[FoodType=="Morgh"]
+morgh<-morgh[,Morgh_Grams:=FGrams ]
+mive<-BigFData[FoodType=="Mive"]
+mive<-mive[,Mive_Grams:=FGrams ]
+nan<-BigFData[FoodType=="Nan"]
+nan<-nan[,Nan_Grams:=FGrams ]
+sibzamini<-BigFData[FoodType=="Sibzamini"]
+sibzamini<-sibzamini[,Sibzamini_Grams:=FGrams ]
+makarooni<-BigFData[FoodType=="Makarooni"]
+makarooni<-makarooni[,Makarooni_Grams:=FGrams ]
+berenj<-BigFData[FoodType=="Berenj"]
+berenj<-berenj[,Berenj_Grams:=FGrams ]
+hoboobat<-BigFData[FoodType=="Hoboobat"]
+hoboobat<-hoboobat[,Hoboobat_Grams:=FGrams ]
+sabzi<-BigFData[FoodType=="Sabzi"]
+sabzi<-sabzi[,Sabzi_Grams:=FGrams ]
+roghan<-BigFData[FoodType=="Roghan"]
+roghan<-roghan[,Roghan_Grams:=FGrams ]
+ghand<-BigFData[FoodType=="Ghand"]
+ghand<-ghand[,Ghand_Grams:=FGrams ]
+shir<-BigFData[FoodType=="Shir"]
+shir<-shir[,Shir_Grams:=FGrams ]
+panir<-BigFData[FoodType=="Panir"]
+panir<-panir[,Panir_Grams:=FGrams ]
+mast<-BigFData[FoodType=="Mast"]
+mast<-mast[,Mast_Grams:=FGrams ]
+tokhmemorgh<-BigFData[FoodType=="Tokhmemorgh"]
+tokhmemorgh<-tokhmemorgh[,Tokhmemorgh_Grams:=FGrams ]
+mahi<-BigFData[FoodType=="Mahi"]
+mahi<-mahi[,Mahi_Grams:=FGrams ]
+
+MD<-merge(MD,goosht[,.(HHID,Goosht_Grams)],by=c("HHID"),all.x = T)
+MD<-merge(MD,morgh[,.(HHID,Morgh_Grams)],by=c("HHID"),all.x = T)
+MD<-merge(MD,mive[,.(HHID,Mive_Grams)],by=c("HHID"),all.x = T)
+MD<-merge(MD,nan[,.(HHID,Nan_Grams)],by=c("HHID"),all.x = T)
+MD<-merge(MD,sibzamini[,.(HHID,Sibzamini_Grams)],by=c("HHID"),all.x = T)
+MD<-merge(MD,makarooni[,.(HHID,Makarooni_Grams)],by=c("HHID"),all.x = T)
+MD<-merge(MD,berenj[,.(HHID,Berenj_Grams)],by=c("HHID"),all.x = T)
+MD<-merge(MD,hoboobat[,.(HHID,Hoboobat_Grams)],by=c("HHID"),all.x = T)
+MD<-merge(MD,sabzi[,.(HHID,Sabzi_Grams)],by=c("HHID"),all.x = T)
+MD<-merge(MD,roghan[,.(HHID,Roghan_Grams)],by=c("HHID"),all.x = T)
+MD<-merge(MD,ghand[,.(HHID,Ghand_Grams)],by=c("HHID"),all.x = T)
+MD<-merge(MD,shir[,.(HHID,Shir_Grams)],by=c("HHID"),all.x = T)
+MD<-merge(MD,panir[,.(HHID,Panir_Grams)],by=c("HHID"),all.x = T)
+MD<-merge(MD,mast[,.(HHID,Mast_Grams)],by=c("HHID"),all.x = T)
+MD<-merge(MD,tokhmemorgh[,.(HHID,Tokhmemorgh_Grams)],by=c("HHID"),all.x = T)
+MD<-merge(MD,mahi[,.(HHID,Mahi_Grams)],by=c("HHID"),all.x = T)
+
+MD<-MD[,Labaniat_Grams:=Shir_Grams+Mast_Grams]
+
+
+gram <-MD [FinalPoor==1,
+ .(Nan_Grams= weighted.mean(Nan_Grams/EqSizeCalory,Weight*Size,na.rm=TRUE),
+ Berenj_Grams= weighted.mean(Berenj_Grams/EqSizeCalory,Weight*Size,na.rm=TRUE),
+ Makarooni_Grams=weighted.mean(Makarooni_Grams/EqSizeCalory,Weight*Size,na.rm=TRUE),
+ Hoboobat_Grams=weighted.mean(Hoboobat_Grams/EqSizeCalory,Weight*Size,na.rm=TRUE),
+ Sibzamini_Grams=weighted.mean(Sibzamini_Grams/EqSizeCalory,Weight*Size,na.rm=TRUE),
+ Sabzi_Grams=weighted.mean(Sabzi_Grams/EqSizeCalory,Weight*Size,na.rm=TRUE),
+ Mive_Grams=weighted.mean(Mive_Grams/EqSizeCalory,Weight*Size,na.rm=TRUE),
+ Goosht_Grams=weighted.mean(Goosht_Grams/EqSizeCalory,Weight*Size,na.rm=TRUE),
+ Morgh_Grams=weighted.mean(Morgh_Grams/EqSizeCalory,Weight*Size,na.rm=TRUE),
+ Tokhmemorgh_Grams=weighted.mean(Tokhmemorgh_Grams/EqSizeCalory,Weight*Size,na.rm=TRUE),
+ Labaniat_Grams=weighted.mean(Labaniat_Grams/EqSizeCalory,Weight*Size,na.rm=TRUE),
+ Roghan_Grams=weighted.mean(Roghan_Grams/EqSizeCalory,Weight*Size,na.rm=TRUE),
+ Ghand_Grams=weighted.mean(Ghand_Grams/EqSizeCalory,Weight*Size,na.rm=TRUE),
+ Mahi_Grams=weighted.mean(Mahi_Grams/EqSizeCalory,Weight*Size,na.rm = TRUE),
+ Panir_Grams=weighted.mean(Panir_Grams/EqSizeCalory,Weight*Size,na.rm = TRUE),
+ Calory=weighted.mean(FoodKCaloriesHH_Per,Weight*Size,na.rm = TRUE),
+ Hygiene=weighted.mean(Hygiene_Exp/EqSizeOECD,Weight*Size),
+ Medical=weighted.mean(Medical_Exp/EqSizeOECD,Weight*Size),
+ Cloth=weighted.mean(Cloth_Exp/EqSizeOECD,Weight*Size),
+ Education=weighted.mean(Education_Exp/EqSizeOECD,Weight*Size)),by=c("cluster3")]
+
+Gram<-gram[,Year:=year]
+if (year==90){
+ PoorFeature<-Gram
+}else{
+PoorFeature<-rbind(Gram,PoorFeature)
+}
+}
+ PoorFeature<- PoorFeature[,Year:=as.factor(Year)]
+ PoorFeature<- PoorFeature[,cluster3:=as.factor(cluster3)]
+
+
+ggplot(data=PoorFeature,aes(x=Year, y=Goosht_Grams, group=cluster3, colour=cluster3))+geom_line()
+ggplot(data=PoorFeature,aes(x=Year, y=Berenj_Grams, group=cluster3, colour=cluster3))+geom_line()
+ggplot(data=PoorFeature,aes(x=Year, y=Makarooni_Grams, group=cluster3, colour=cluster3))+geom_line()
+ggplot(data=PoorFeature,aes(x=Year, y=Sibzamini_Grams, group=cluster3, colour=cluster3))+geom_line()
+ggplot(data=PoorFeature,aes(x=Year, y=Nan_Grams, group=cluster3, colour=cluster3))+geom_line()
+ggplot(data=PoorFeature,aes(x=Year, y=Morgh_Grams, group=cluster3, colour=cluster3))+geom_line()
+ggplot(data=PoorFeature,aes(x=Year, y=Calory, group=cluster3, colour=cluster3))+geom_line()
+ggplot(data=PoorFeature,aes(x=Year, y=Hygiene, group=cluster3, colour=cluster3))+geom_line()
+ggplot(data=PoorFeature,aes(x=Year, y=Cloth, group=cluster3, colour=cluster3))+geom_line()
+ggplot(data=PoorFeature,aes(x=Year, y=Education, group=cluster3, colour=cluster3))+geom_line()
diff --git a/R/Archive/August 2020/PoorPanel.R b/R/Archive/August 2020/PoorPanel.R
new file mode 100644
index 00000000..75fc082b
--- /dev/null
+++ b/R/Archive/August 2020/PoorPanel.R
@@ -0,0 +1,301 @@
+
+
+
+rm(list=ls())
+
+starttime <- proc.time()
+cat("\n\n================ Poverty Line =====================================\n")
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+library(readxl)
+library(data.table)
+library(ggplot2)
+library(stats)
+library(spatstat)
+year<-97
+
+for(year in (Settings$startyear:Settings$endyear)){
+ cat(paste0("\nYear:",year,"\t"))
+ inflation <- as.data.table(read_excel("~/GitHub/IRHEIS/Data/ProvinceCPI.xlsx",
+ sheet = "Province"))
+ I<-inflation[Year==year]
+ C<-MD[,.(HHID,cluster3,EqSizeCalory)]
+load(file = paste0(Settings$HEISProcessedPath,"Y",year,"Total_Income.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y",year,"FINALPOORS.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y",year,"Specific.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y",year,"POORS.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y",year,"Job.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y",year,"Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y",year,"BigFData.rda"))
+MD<-merge(BigFData,MD,by=c("HHID"),all.x = T)
+MD<-MD[FinalPoor=1]
+Calory<-MD[,weighted.mean(FoodKCaloriesHH_Per,Weight*Size),by=c("ProvinceCode")]
+MD<-merge(MD,FoodNames,by=c("FoodType"),all.x = T)
+base<-MD[,weighted.mean(FGrams/EqSizeCalory*KCalories,Weight*Size),by=c("ProvinceName","FoodType")]
+
+base<-MD[,fcalory:=FGrams*KCalories/EqSizeCalory]
+base<-base[,weighted.mean(V1,Weight*Size),by=c("ProvinceName","FoodType")]
+s<-base[,sum(V1),by=c("ProvinceName")]
+
+MD<-MD[,foodpoor:=ifelse(FoodKCaloriesHH0 | NDabestan>0 | NRahnamayi>0 | NPish>0 | KelasKonkoor>0]
+Dabestan<-Dabestan[,Enrollment:=Enrollment_Dabirestan_G+Enrollment_Dabirestan_NG+Enrollment_Dabirestan_Shabane+
+ Enrollment_Dabestan_G+Enrollment_Dabestan_NG+Enrollment_Rahnamayi_G+Enrollment_Rahnamayi_NG+
+ Enrollment_pish_G+Enrollment_pish_NG+Enrollment_Rahnamayi_Shabane+Enrollment_pish_Shabane+
+ KelasKonkoor]
+Dabestan<-MD[NDabestan>0]
+Dabestan<-Dabestan[,enrol:=Enrollment_Dabestan_NG/NDabestan]
+female<-MD[Size>1]
+
+female<-female[,female:=ifelse(HSex=="Female",1,0)]
+female<-female[,weighted.mean(female,Weight*Size,na.rm = T),by=c("ProvinceName","FinalPoor")]
+Dabestan2<-Dabestan[,weighted.mean(enrol/Total_Exp_Month_Per,Weight*Size),by=c("ProvinceName","FinalPoor")]
+Dabestan2<-MD[,weighted.mean(Enrollment_Rahnamayi_G,Weight*Size),by=c("ProvinceName","FinalPoor")]
+Dabestan3<-MD[,weighted.mean(Enrollment_Rahnamayi_NG,Weight*Size),by=c("ProvinceName","FinalPoor")]
+Dabestan4<-MD[,weighted.mean(Enrollment_Dabirestan_G,Weight*Size),by=c("ProvinceName","FinalPoor")]
+Dabestan5<-MD[,weighted.mean(Enrollment_Dabirestan_NG,Weight*Size),by=c("ProvinceName","FinalPoor")]
+Dabestan6<-MD[,weighted.mean(KelasKonkoor,Weight*Size),by=c("ProvinceName","FinalPoor")]
+
+edu<-as.data.table(cbind(Dabestan1$ProvinceName,Dabestan1$FinalPoor,Dabestan1$V1,
+ Dabestan2$V1))
+
+tooth<-MD[,weighted.mean(tooth_G,Weight*Size),by=c("ProvinceName","FinalPoor")]
+tooth<-MD[,weighted.mean(tooth_NG,Weight*Size),by=c("ProvinceName","FinalPoor")]
+
+visit<-MD[,weighted.mean(Visit_Omoomi_G,Weight*Size),by=c("ProvinceName","FinalPoor")]
+visit1<-MD[,weighted.mean(Visit_Omoomi_NG,Weight*Size),by=c("ProvinceName","FinalPoor")]
+visit2<-MD[,weighted.mean(Visit_Motekhases_G,Weight*Size),by=c("ProvinceName","FinalPoor")]
+visit3<-MD[,weighted.mean(Visit_Motekhases_NG,Weight*Size),by=c("ProvinceName","FinalPoor")]
+visit4<-MD[,weighted.mean(Visit_Mama_G,Weight*Size),by=c("ProvinceName","FinalPoor")]
+visit5<-MD[,weighted.mean(Visit_Mama_NG,Weight*Size),by=c("ProvinceName","FinalPoor")]
+visit<-as.data.table(cbind(visit$ProvinceName,visit$FinalPoor,visit$V1,visit1$V1,
+ visit2$V1,visit3$V1,visit4$V1,visit5$V1))
+
+phd<-MD[,weighted.mean(NPhD+NMasters+NBachelors,Weight*Size),by=c("ProvinceName")]
+inflation<-inflation[Year==year]
+cpi<-inflation$CPI
+cpi<-as.numeric(cpi)
+MD<-MD[,Medical_Exp1:=Medical_Exp/cpi]
+MD<-MD[,Medical_Exp:=Medical_Exp1/EqSizeOECD]
+MD<-MD[,Total_Exp_Month1:=Total_Exp_Month/cpi]
+MD<-MD[,Total_Exp_Month:=Total_Exp_Month1/EqSizeOECD]
+MD<-MD[,Durable_Exp1:=Durable_Exp/cpi]
+MD<-MD[,Durable_Exp:=Durable_Exp1/EqSizeOECD]
+MD<-merge(MD,MD1,by=c("HHID"))
+MD<-merge(MD,C,by=c("HHID"))
+MD<-MD[FinalPoor==1]
+MD<-MD[,poverty_R:=weighted.mean(Total_Exp_Month,Weight*Size)]
+MD<-MD[!is.na(Area)]
+MD<-MD[,House_PL:=Size*10]
+MD<-MD[,HousePoor:=ifelse(Area=6,.(HHID,Age,Literate,Student)]
+ P1<-P1[Literate==TRUE | Literate==FALSE]
+ P1<-P1[,Lit:=ifelse(Literate==FALSE | Student==FALSE,100,1)]
+ P<-P1[,lapply(.SD,sum),by="HHID"]
+ P<-P[,Knowledge:=ifelse(Lit>=100,0,1)]
+ MD<-merge(MD,P[,.(HHID,Knowledge)],all.x = TRUE)
+
+ A1<-MD[,.(HLiterate=weighted.mean(HLiterate==TRUE,Weight,na.rm=TRUE),
+ Knowledge=weighted.mean(Knowledge,Weight,na.rm=TRUE),
+ tenure=weighted.mean(tenure=="OwnLandandBuilding" | tenure=="Apartment",Weight,na.rm=TRUE),
+ area=weighted.mean(area/Size,Weight,na.rm=TRUE),
+ room=weighted.mean(room/Size,Weight,na.rm=TRUE),
+ car=weighted.mean(car=='True',Weight,na.rm=TRUE),
+ frez_refrig=weighted.mean(frez_refrig=="True" | refrigerator=="True",Weight,na.rm=TRUE),
+ oven=weighted.mean(oven=="True",Weight,na.rm=TRUE),
+ bathroom=weighted.mean(bathroom=="True",Weight,na.rm=TRUE),
+ ego=weighted.mean(ego=="True",Weight,na.rm=TRUE),
+ electricity=weighted.mean(electricity=="True",Weight,na.rm=TRUE),
+ pipewater=weighted.mean(pipewater=="True",Weight,na.rm=TRUE),
+ cookfuel=weighted.mean(cookfuel=="pipedgas",Weight,na.rm=TRUE),
+ heatfuel=weighted.mean(heatfuel=="pipedgas",Weight,na.rm=TRUE),
+ hotwater=weighted.mean(hotwater=="pipedgas",Weight,na.rm=TRUE),
+ G0451=weighted.mean(G0451/All,Weight,na.rm=TRUE),
+ G0452=weighted.mean(G0452/All,Weight,na.rm=TRUE),
+ G0453=weighted.mean((G0453+G0454)/All,Weight,na.rm=TRUE),
+ G044=weighted.mean(G044/All,Weight,na.rm=TRUE),
+ Subsidy=weighted.mean((Subsidy/12)/All,Weight,na.rm=TRUE),
+ Food_Share=weighted.mean(G01/All,Weight,na.rm=TRUE),
+ FoodKCaloriesHH_Per=weighted.mean(FoodKCaloriesHH_Per,Weight,na.rm=TRUE))]
+
+ A2<-MD[,.(HLiterate=weighted.mean(HLiterate==TRUE,Weight,na.rm=TRUE),
+ Knowledge=weighted.mean(Knowledge,Weight,na.rm=TRUE),
+ tenure=weighted.mean(tenure=="OwnLandandBuilding" | tenure=="Apartment",Weight,na.rm=TRUE),
+ area=weighted.mean(area/Size,Weight,na.rm=TRUE),
+ room=weighted.mean(room/Size,Weight,na.rm=TRUE),
+ car=weighted.mean(car=='True',Weight,na.rm=TRUE),
+ frez_refrig=weighted.mean(frez_refrig=="True" | refrigerator=="True",Weight,na.rm=TRUE),
+ oven=weighted.mean(oven=="True",Weight,na.rm=TRUE),
+ bathroom=weighted.mean(bathroom=="True",Weight,na.rm=TRUE),
+ ego=weighted.mean(ego=="True",Weight,na.rm=TRUE),
+ electricity=weighted.mean(electricity=="True",Weight,na.rm=TRUE),
+ pipewater=weighted.mean(pipewater=="True",Weight,na.rm=TRUE),
+ cookfuel=weighted.mean(cookfuel=="pipedgas",Weight,na.rm=TRUE),
+ heatfuel=weighted.mean(heatfuel=="pipedgas",Weight,na.rm=TRUE),
+ hotwater=weighted.mean(hotwater=="pipedgas",Weight,na.rm=TRUE),
+ G0451=weighted.mean(G0451/All,Weight,na.rm=TRUE),
+ G0452=weighted.mean(G0452/All,Weight,na.rm=TRUE),
+ G0453=weighted.mean((G0453+G0454)/All,Weight,na.rm=TRUE),
+ G044=weighted.mean(G044/All,Weight,na.rm=TRUE),
+ Subsidy=weighted.mean((Subsidy/12)/All,Weight,na.rm=TRUE),
+ Food_Share=weighted.mean(G01/All,Weight,na.rm=TRUE),
+ FoodKCaloriesHH_Per=weighted.mean(FoodKCaloriesHH_Per,Weight,na.rm=TRUE)),by=Region]
+
+ A3<-MD[,.(HLiterate=weighted.mean(HLiterate==TRUE,Weight,na.rm=TRUE),
+ Knowledge=weighted.mean(Knowledge,Weight,na.rm=TRUE),
+ tenure=weighted.mean(tenure=="OwnLandandBuilding" | tenure=="Apartment",Weight,na.rm=TRUE),
+ area=weighted.mean(area/Size,Weight,na.rm=TRUE),
+ room=weighted.mean(room/Size,Weight,na.rm=TRUE),
+ car=weighted.mean(car=='True',Weight,na.rm=TRUE),
+ frez_refrig=weighted.mean(frez_refrig=="True" | refrigerator=="True",Weight,na.rm=TRUE),
+ oven=weighted.mean(oven=="True",Weight,na.rm=TRUE),
+ bathroom=weighted.mean(bathroom=="True",Weight,na.rm=TRUE),
+ ego=weighted.mean(ego=="True",Weight,na.rm=TRUE),
+ electricity=weighted.mean(electricity=="True",Weight,na.rm=TRUE),
+ pipewater=weighted.mean(pipewater=="True",Weight,na.rm=TRUE),
+ cookfuel=weighted.mean(cookfuel=="pipedgas",Weight,na.rm=TRUE),
+ heatfuel=weighted.mean(heatfuel=="pipedgas",Weight,na.rm=TRUE),
+ hotwater=weighted.mean(hotwater=="pipedgas",Weight,na.rm=TRUE),
+ G0451=weighted.mean(G0451/All,Weight,na.rm=TRUE),
+ G0452=weighted.mean(G0452/All,Weight,na.rm=TRUE),
+ G0453=weighted.mean((G0453+G0454)/All,Weight,na.rm=TRUE),
+ G044=weighted.mean(G044/All,Weight,na.rm=TRUE),
+ Subsidy=weighted.mean((Subsidy/12)/All,Weight,na.rm=TRUE),
+ Food_Share=weighted.mean(G01/All,Weight,na.rm=TRUE),
+ FoodKCaloriesHH_Per=weighted.mean(FoodKCaloriesHH_Per,Weight,na.rm=TRUE)),by=ProvinceCode]
+
+ A4<-MD[,.(HLiterate=weighted.mean(HLiterate==TRUE,Weight,na.rm=TRUE),
+ Knowledge=weighted.mean(Knowledge,Weight,na.rm=TRUE),
+ tenure=weighted.mean(tenure=="OwnLandandBuilding" | tenure=="Apartment",Weight,na.rm=TRUE),
+ area=weighted.mean(area/Size,Weight,na.rm=TRUE),
+ room=weighted.mean(room/Size,Weight,na.rm=TRUE),
+ car=weighted.mean(car=='True',Weight,na.rm=TRUE),
+ frez_refrig=weighted.mean(frez_refrig=="True" | refrigerator=="True",Weight,na.rm=TRUE),
+ oven=weighted.mean(oven=="True",Weight,na.rm=TRUE),
+ bathroom=weighted.mean(bathroom=="True",Weight,na.rm=TRUE),
+ ego=weighted.mean(ego=="True",Weight,na.rm=TRUE),
+ electricity=weighted.mean(electricity=="True",Weight,na.rm=TRUE),
+ pipewater=weighted.mean(pipewater=="True",Weight,na.rm=TRUE),
+ cookfuel=weighted.mean(cookfuel=="pipedgas",Weight,na.rm=TRUE),
+ heatfuel=weighted.mean(heatfuel=="pipedgas",Weight,na.rm=TRUE),
+ hotwater=weighted.mean(hotwater=="pipedgas",Weight,na.rm=TRUE),
+ G0451=weighted.mean(G0451/All,Weight,na.rm=TRUE),
+ G0452=weighted.mean(G0452/All,Weight,na.rm=TRUE),
+ G0453=weighted.mean((G0453+G0454)/All,Weight,na.rm=TRUE),
+ G044=weighted.mean(G044/All,Weight,na.rm=TRUE),
+ Subsidy=weighted.mean((Subsidy/12)/All,Weight,na.rm=TRUE),
+ Food_Share=weighted.mean(G01/All,Weight,na.rm=TRUE),
+ FoodKCaloriesHH_Per=weighted.mean(FoodKCaloriesHH_Per,Weight,na.rm=TRUE)),by=Decile]
+
+ A1[,Year:=year]
+ X1 <- rbind(X1,A1)
+
+ A2[,Year:=year]
+ X2 <- rbind(X2,A2)
+
+ A3[,Year:=year]
+ X3 <- rbind(X3,A3)
+
+ A4[,Year:=year]
+ X4 <- rbind(X4,A4)
+
+}
+
+#write.csv(X1,file="X1.csv")
+#write.csv(X2,file="X2.csv")
+#write.csv(X3,file="X3.csv")
+#write.csv(X4,file="X4.csv")
+
+
+endtime <- proc.time()
+
+cat("\n\n============================\nIt took ")
+cat((endtime-starttime)[3])
\ No newline at end of file
diff --git a/R/Archive/August 2020/Poverty Indices2.R b/R/Archive/August 2020/Poverty Indices2.R
new file mode 100644
index 00000000..62f7a57f
--- /dev/null
+++ b/R/Archive/August 2020/Poverty Indices2.R
@@ -0,0 +1,587 @@
+# 111-HHBase.R
+# Builds the base data.table for households
+
+rm(list=ls())
+
+starttime <- proc.time()
+cat("\n\n================ Poverty Indices2 =====================================\n")
+
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+#library(foreign)
+library(data.table)
+library(stringr)
+library(ggplot2)
+
+X1 <- data.table(Year=NA_integer_,HLiterate=NA_real_,Knowledge=NA_real_
+ ,tenure=NA_real_,area=NA_real_,room=NA_real_
+ ,car=NA_real_,oven=NA_real_,frez_refrig=NA_real_
+ ,electricity=NA_real_,bathroom=NA_real_,ego=NA_real_,pipewater=NA_real_
+ ,cookfuel=NA_real_,heatfuel=NA_real_,hotwater=NA_real_
+ ,G0451=NA_real_,G0452=NA_real_,G0453=NA_real_,G044=NA_real_,Energy_Share=NA_real_
+ ,Subsidy=NA_real_,Food_Share=NA_real_,Low_Calorie=NA_real_,Low_Protein=NA_real_,
+ FoodKCaloriesHH_Per=NA_real_,No_Insurance=NA_real_,Area_Per=NA_real_
+ ,skeleton=NA_real_,House_High_Share=NA_real_,Tech_low=NA_real_,Equip_low=NA_real_)
+
+X2 <- data.table(Year=NA_integer_,Region=NA_character_
+ ,HLiterate=NA_real_,Knowledge=NA_real_
+ ,tenure=NA_real_,area=NA_real_,room=NA_real_
+ ,car=NA_real_,oven=NA_real_,frez_refrig=NA_real_
+ ,electricity=NA_real_,bathroom=NA_real_,ego=NA_real_,pipewater=NA_real_
+ ,cookfuel=NA_real_,heatfuel=NA_real_,hotwater=NA_real_
+ ,G0451=NA_real_,G0452=NA_real_,G0453=NA_real_,G044=NA_real_,Energy_Share=NA_real_
+ ,Subsidy=NA_real_,Food_Share=NA_real_,Low_Calorie=NA_real_,Low_Protein=NA_real_,
+ FoodKCaloriesHH_Per=NA_real_,No_Insurance=NA_real_,Area_Per=NA_real_
+ ,skeleton=NA_real_,House_High_Share=NA_real_,Tech_low=NA_real_,Equip_low=NA_real_)
+
+
+X3 <- data.table(Year=NA_integer_,Decile=NA_integer_
+ ,HLiterate=NA_real_,Knowledge=NA_real_
+ ,tenure=NA_real_,area=NA_real_,room=NA_real_
+ ,car=NA_real_,oven=NA_real_,frez_refrig=NA_real_
+ ,electricity=NA_real_,bathroom=NA_real_,ego=NA_real_,pipewater=NA_real_
+ ,cookfuel=NA_real_,heatfuel=NA_real_,hotwater=NA_real_
+ ,G0451=NA_real_,G0452=NA_real_,G0453=NA_real_,G044=NA_real_,Energy_Share=NA_real_
+ ,Subsidy=NA_real_,Food_Share=NA_real_,Low_Calorie=NA_real_,Low_Protein=NA_real_,
+ FoodKCaloriesHH_Per=NA_real_,No_Insurance=NA_real_,Area_Per=NA_real_
+ ,skeleton=NA_real_,House_High_Share=NA_real_,Tech_low=NA_real_,Equip_low=NA_real_)
+
+Province<-data.table(Year=NA_integer_,ProvinceCode=NA_integer_,Total_Exp_Month_Per=NA_real_)
+
+
+for(year in (Settings$startyear:Settings$endyear)){
+ cat(paste0("\n------------------------------\nYear:",year,"\n"))
+
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"FINALPOORS.rda"))
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"Total2.rda"))
+ MD<-merge(MD,Total[,.(HHID,G01,G02,G03,G04,G05,G06,G07,G08,G09,G101,
+ G102,G103,G104,G105,G11,G12,G13,G041,G042,G044,G045,
+ G0451,G0452,G0453,G0454,Subsidy,G125,G1253)],by="HHID")
+ MD[,Decile:=NULL]
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"Deciles.rda"))
+ MD<-merge(MD,Deciles,by="HHID")
+
+ MD[,All:=G01+G02+G03+G04+G05+G06+G07+G08+G09+G101+
+ G102+G103+G104+G105+G11+G12+G13]
+
+ for (col in c("ego","bathroom","electricity"))
+ MD[is.na(get(col)), (col) := "True"]
+
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"P1.rda"))
+ P1<-P1[Age<=16 & Age>=6,.(HHID,Age,Literate,Student)]
+ P1<-P1[Literate==TRUE | Literate==FALSE]
+ P1<-P1[,Lit:=ifelse(Literate==FALSE | Student==FALSE,100,1)]
+ P<-P1[,lapply(.SD,sum),by="HHID"]
+ P<-P[,Knowledge:=ifelse(Lit>=100,0,1)]
+ MD<-merge(MD,P[,.(HHID,Knowledge)],all.x = TRUE)
+
+ MD[,Low_Calorie:=ifelse(FoodKCaloriesHH_Per<2100,1,0)]
+ MD[,Low_Protein:=ifelse(FoodProtein_Per<60,1,0)]
+ MD[,No_Insurance:=ifelse(G1253==0,1,0)]
+ MD[,House_High_Share:=ifelse(((G041+G042)/All>0.3 & (tenure=="Rented" |
+ tenure=="Mortgage") & Region=="Urban") |
+ ((G041+G042)/All>0.2 & (tenure=="Rented" |
+ tenure=="Mortgage") & Region=="Rural"),1,0)]
+ MD[,Tech_low:=ifelse((phone=="False" & cellphone=="False" &
+ computer=="False") |
+ (phone=="False" & cellphone=="False" &
+ internet=="False") |
+ (phone=="False" &
+ computer=="False" & internet=="False") |
+ ( cellphone=="False" &
+ computer=="False" & internet=="False"),1,0)]
+ MD[,Yakhchal:=ifelse(refrigerator=="True" | freezer=="True" |
+ frez_refrig=="True","True","False")]
+ MD[,Equip_low:=ifelse((Yakhchal=="False" & washer=="False" &
+ oven=="False") |
+ (Yakhchal=="False" & washer=="False" &
+ tvcr=="False") |
+ (Yakhchal=="False" &
+ oven=="False" & tvcr=="False") |
+ ( washer=="False" &
+ oven=="False" & tvcr=="False") |
+ ( washer=="False" & oven=="False") |
+ ( washer=="False" & Yakhchal=="False") |
+ ( washer=="False" & tvcr=="False") |
+ ( tvcr=="False" & oven=="False") |
+ ( tvcr=="False" & Yakhchal=="False") |
+ ( Yakhchal=="False" & oven=="False") ,1,0)]
+
+ A4<-MD[,.(Total_Exp_Month_Per=weighted.mean(Total_Exp_Month_Per,Weight,na.rm=TRUE)),by=ProvinceCode]
+
+ A1<-MD[,.(HLiterate=weighted.mean(HLiterate==TRUE,Weight,na.rm=TRUE),
+ Knowledge=weighted.mean(Knowledge,Weight,na.rm=TRUE),
+ tenure=weighted.mean(tenure=="OwnLandandBuilding" | tenure=="Apartment",Weight,na.rm=TRUE),
+ area=weighted.mean(area/Size,Weight,na.rm=TRUE),
+ room=weighted.mean(room/Size,Weight,na.rm=TRUE),
+ car=weighted.mean(car=='True',Weight,na.rm=TRUE),
+ frez_refrig=weighted.mean(frez_refrig=="True" | refrigerator=="True",Weight,na.rm=TRUE),
+ oven=weighted.mean(oven=="True",Weight,na.rm=TRUE),
+ bathroom=weighted.mean(bathroom=="True",Weight,na.rm=TRUE),
+ ego=weighted.mean(ego=="True",Weight,na.rm=TRUE),
+ electricity=weighted.mean(electricity=="True",Weight,na.rm=TRUE),
+ pipewater=weighted.mean(pipewater=="True",Weight,na.rm=TRUE),
+ cookfuel=weighted.mean(cookfuel=="pipedgas",Weight,na.rm=TRUE),
+ heatfuel=weighted.mean(heatfuel=="pipedgas",Weight,na.rm=TRUE),
+ hotwater=weighted.mean(hotwater=="pipedgas",Weight,na.rm=TRUE),
+ G0451=weighted.mean(G0451/All,Weight,na.rm=TRUE),
+ G0452=weighted.mean(G0452/All,Weight,na.rm=TRUE),
+ G0453=weighted.mean((G0453+G0454)/All,Weight,na.rm=TRUE),
+ G044=weighted.mean(G044/All,Weight,na.rm=TRUE),
+ Energy_Share=weighted.mean((G044+G045)/All,Weight,na.rm=TRUE),
+ Subsidy=weighted.mean((Subsidy/12)/All,Weight,na.rm=TRUE),
+ Food_Share=weighted.mean(G01/All,Weight,na.rm=TRUE),
+ Low_Calorie=weighted.mean(Low_Calorie,Weight,na.rm=TRUE),
+ Low_Protein=weighted.mean(Low_Protein,Weight,na.rm=TRUE),
+ No_Insurance=weighted.mean(No_Insurance,Weight,na.rm=TRUE),
+ Area_Per=weighted.mean((area/Size)<16,Weight,na.rm=TRUE),
+ House_High_Share=weighted.mean(House_High_Share,Weight,na.rm=TRUE),
+ Tech_low=weighted.mean(Tech_low,Weight,na.rm=TRUE),
+ Equip_low=weighted.mean(Equip_low,Weight,na.rm=TRUE),
+ skeleton=weighted.mean(skeleton=="metal" | skeleton=="concrete" |
+ constmat=="BrickSteel_StoneSteel" |
+ constmat=="Brickwood_Stonewood" |
+ constmat=="CementBlocks" |
+ constmat=="AllBrick_Stone" ,Weight,na.rm=TRUE),
+ FoodKCaloriesHH_Per=weighted.mean(FoodKCaloriesHH_Per,Weight,na.rm=TRUE))]
+
+ A2<-MD[,.(HLiterate=weighted.mean(HLiterate==TRUE,Weight,na.rm=TRUE),
+ Knowledge=weighted.mean(Knowledge,Weight,na.rm=TRUE),
+ tenure=weighted.mean(tenure=="OwnLandandBuilding" | tenure=="Apartment",Weight,na.rm=TRUE),
+ area=weighted.mean(area/Size,Weight,na.rm=TRUE),
+ room=weighted.mean(room/Size,Weight,na.rm=TRUE),
+ car=weighted.mean(car=='True',Weight,na.rm=TRUE),
+ frez_refrig=weighted.mean(frez_refrig=="True" | refrigerator=="True",Weight,na.rm=TRUE),
+ oven=weighted.mean(oven=="True",Weight,na.rm=TRUE),
+ bathroom=weighted.mean(bathroom=="True",Weight,na.rm=TRUE),
+ ego=weighted.mean(ego=="True",Weight,na.rm=TRUE),
+ electricity=weighted.mean(electricity=="True",Weight,na.rm=TRUE),
+ pipewater=weighted.mean(pipewater=="True",Weight,na.rm=TRUE),
+ cookfuel=weighted.mean(cookfuel=="pipedgas",Weight,na.rm=TRUE),
+ heatfuel=weighted.mean(heatfuel=="pipedgas",Weight,na.rm=TRUE),
+ hotwater=weighted.mean(hotwater=="pipedgas",Weight,na.rm=TRUE),
+ G0451=weighted.mean(G0451/All,Weight,na.rm=TRUE),
+ G0452=weighted.mean(G0452/All,Weight,na.rm=TRUE),
+ G0453=weighted.mean((G0453+G0454)/All,Weight,na.rm=TRUE),
+ G044=weighted.mean(G044/All,Weight,na.rm=TRUE),
+ Energy_Share=weighted.mean((G044+G045)/All,Weight,na.rm=TRUE),
+ Subsidy=weighted.mean((Subsidy/12)/All,Weight,na.rm=TRUE),
+ Food_Share=weighted.mean(G01/All,Weight,na.rm=TRUE),
+ Low_Calorie=weighted.mean(Low_Calorie,Weight,na.rm=TRUE),
+ Low_Protein=weighted.mean(Low_Protein,Weight,na.rm=TRUE),
+ No_Insurance=weighted.mean(No_Insurance,Weight,na.rm=TRUE),
+ Area_Per=weighted.mean((area/Size)<16,Weight,na.rm=TRUE),
+ House_High_Share=weighted.mean(House_High_Share,Weight,na.rm=TRUE),
+ Tech_low=weighted.mean(Tech_low,Weight,na.rm=TRUE),
+ Equip_low=weighted.mean(Equip_low,Weight,na.rm=TRUE),
+ skeleton=weighted.mean(skeleton=="metal" | skeleton=="concrete" |
+ constmat=="BrickSteel_StoneSteel" |
+ constmat=="Brickwood_Stonewood" |
+ constmat=="CementBlocks" |
+ constmat=="AllBrick_Stone" ,Weight,na.rm=TRUE),
+ FoodKCaloriesHH_Per=weighted.mean(FoodKCaloriesHH_Per,Weight,na.rm=TRUE)),by=Region]
+
+
+ A3<-MD[,.(HLiterate=weighted.mean(HLiterate==TRUE,Weight,na.rm=TRUE),
+ Knowledge=weighted.mean(Knowledge,Weight,na.rm=TRUE),
+ tenure=weighted.mean(tenure=="OwnLandandBuilding" | tenure=="Apartment",Weight,na.rm=TRUE),
+ area=weighted.mean(area/Size,Weight,na.rm=TRUE),
+ room=weighted.mean(room/Size,Weight,na.rm=TRUE),
+ car=weighted.mean(car=='True',Weight,na.rm=TRUE),
+ frez_refrig=weighted.mean(frez_refrig=="True" | refrigerator=="True",Weight,na.rm=TRUE),
+ oven=weighted.mean(oven=="True",Weight,na.rm=TRUE),
+ bathroom=weighted.mean(bathroom=="True",Weight,na.rm=TRUE),
+ ego=weighted.mean(ego=="True",Weight,na.rm=TRUE),
+ electricity=weighted.mean(electricity=="True",Weight,na.rm=TRUE),
+ pipewater=weighted.mean(pipewater=="True",Weight,na.rm=TRUE),
+ cookfuel=weighted.mean(cookfuel=="pipedgas",Weight,na.rm=TRUE),
+ heatfuel=weighted.mean(heatfuel=="pipedgas",Weight,na.rm=TRUE),
+ hotwater=weighted.mean(hotwater=="pipedgas",Weight,na.rm=TRUE),
+ G0451=weighted.mean(G0451/All,Weight,na.rm=TRUE),
+ G0452=weighted.mean(G0452/All,Weight,na.rm=TRUE),
+ G0453=weighted.mean((G0453+G0454)/All,Weight,na.rm=TRUE),
+ G044=weighted.mean(G044/All,Weight,na.rm=TRUE),
+ Energy_Share=weighted.mean((G044+G045)/All,Weight,na.rm=TRUE),
+ Subsidy=weighted.mean((Subsidy/12)/All,Weight,na.rm=TRUE),
+ Food_Share=weighted.mean(G01/All,Weight,na.rm=TRUE),
+ Low_Calorie=weighted.mean(Low_Calorie,Weight,na.rm=TRUE),
+ Low_Protein=weighted.mean(Low_Protein,Weight,na.rm=TRUE),
+ No_Insurance=weighted.mean(No_Insurance,Weight,na.rm=TRUE),
+ Area_Per=weighted.mean((area/Size)<16,Weight,na.rm=TRUE),
+ House_High_Share=weighted.mean(House_High_Share,Weight,na.rm=TRUE),
+ Tech_low=weighted.mean(Tech_low,Weight,na.rm=TRUE),
+ Equip_low=weighted.mean(Equip_low,Weight,na.rm=TRUE),
+ skeleton=weighted.mean(skeleton=="metal" | skeleton=="concrete" |
+ constmat=="BrickSteel_StoneSteel" |
+ constmat=="Brickwood_Stonewood" |
+ constmat=="CementBlocks" |
+ constmat=="AllBrick_Stone" ,Weight,na.rm=TRUE),
+ FoodKCaloriesHH_Per=weighted.mean(FoodKCaloriesHH_Per,Weight,na.rm=TRUE)),by=Decile]
+
+ A1[,Year:=year]
+ X1 <- rbind(X1,A1)
+
+ A2[,Year:=year]
+ X2 <- rbind(X2,A2)
+
+ A3[,Year:=year]
+ X3 <- rbind(X3,A3)
+
+ A4[,Year:=year]
+ Province <- rbind(Province,A4)
+
+}
+X1<-X1[Year==90 | Year==91 | Year==92 | Year==93 | Year==94 |
+ Year==95 | Year==96 | Year==97 | Year==98]
+X2<-X2[Year==90 | Year==91 | Year==92 | Year==93 | Year==94 |
+ Year==95 | Year==96 | Year==97 | Year==98]
+X3<-X3[Year==90 | Year==91 | Year==92 | Year==93 | Year==94 |
+ Year==95 | Year==96 | Year==97 | Year==98]
+
+
+png(file="C:/IRHEIS/R/1.png",width=1200, height=600)
+ggplot(X1, aes(fill=factor(HLiterate), y=HLiterate, x=factor(Year))) +
+ geom_bar(position="dodge", stat="identity") + theme_bw() +
+ theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1)) + theme_grey(base_size = 22)
+dev.off()
+
+png(file="C:/IRHEIS/R/2.png",width=1200, height=600)
+ggplot(X2, aes(fill=factor(Region), y=HLiterate, x=factor(Year))) +
+ geom_bar(position="dodge", stat="identity") + theme_bw() +
+ theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1)) + theme_grey(base_size = 25)
+#+ geom_text(aes(label=HLiterate), position=position_dodge(width=0.9), vjust=-0.25)
+dev.off()
+
+png(file="C:/IRHEIS/R/3.png",width=1200, height=600)
+ggplot(X3)+
+geom_line(mapping = aes(x=Year,y=HLiterate,col=factor(Decile),
+linetype=factor(Decile)))+ theme_grey(base_size = 25)
+dev.off()
+
+###############################################################################
+png(file="C:/IRHEIS/R/4.png",width=1200, height=600)
+ggplot(X1, aes(fill=factor(Knowledge), y=Knowledge, x=factor(Year))) +
+ geom_bar(position="dodge", stat="identity") + theme_bw() +
+ theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1)) + theme_grey(base_size = 25)
+dev.off()
+
+png(file="C:/IRHEIS/R/5.png",width=1200, height=600)
+ggplot(X2, aes(fill=factor(Region), y=Knowledge, x=factor(Year))) +
+ geom_bar(position="dodge", stat="identity") + theme_bw() +
+ theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1)) + theme_grey(base_size = 25)
+#+ geom_text(aes(label=HLiterate), position=position_dodge(width=0.9), vjust=-0.25)
+dev.off()
+
+png(file="C:/IRHEIS/R/6.png",width=1200, height=600)
+ggplot(X3)+
+ geom_line(mapping = aes(x=Year,y=Knowledge,col=factor(Decile),
+ linetype=factor(Decile)))+ theme_grey(base_size = 25)
+dev.off()
+###############################################################################
+###############################################################################
+###############################################################################
+png(file="C:/IRHEIS/R/7.png",width=1200, height=600)
+ggplot(X1, aes(fill=factor(Energy_Share), y=Energy_Share, x=factor(Year))) +
+ geom_bar(position="dodge", stat="identity") + theme_bw() +
+ theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1)) + theme_grey(base_size = 25)
+dev.off()
+
+png(file="C:/IRHEIS/R/8.png",width=1200, height=600)
+ggplot(X2, aes(fill=factor(Region), y=Energy_Share, x=factor(Year))) +
+ geom_bar(position="dodge", stat="identity") + theme_bw() +
+ theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1)) + theme_grey(base_size = 25)
+#+ geom_text(aes(label=HLiterate), position=position_dodge(width=0.9), vjust=-0.25)
+dev.off()
+
+png(file="C:/IRHEIS/R/9.png",width=1200, height=600)
+ggplot(X3)+
+ geom_line(mapping = aes(x=Year,y=Energy_Share,col=factor(Decile),
+ linetype=factor(Decile)))+ theme_grey(base_size = 25)
+dev.off()
+###############################################################################
+png(file="C:/IRHEIS/R/10.png",width=1200, height=600)
+ggplot(X1, aes(fill=factor(electricity), y=electricity, x=factor(Year))) +
+ geom_bar(position="dodge", stat="identity") + theme_bw() +
+ theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1)) + theme_grey(base_size = 25)
+dev.off()
+
+png(file="C:/IRHEIS/R/11.png",width=1200, height=600)
+ggplot(X2, aes(fill=factor(Region), y=electricity, x=factor(Year))) +
+ geom_bar(position="dodge", stat="identity") + theme_bw() +
+ theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1)) + theme_grey(base_size = 25)
+#+ geom_text(aes(label=HLiterate), position=position_dodge(width=0.9), vjust=-0.25)
+dev.off()
+
+png(file="C:/IRHEIS/R/12.png",width=1200, height=600)
+ggplot(X3)+
+ geom_line(mapping = aes(x=Year,y=electricity,col=factor(Decile),
+ linetype=factor(Decile)))+ theme_grey(base_size = 25)
+dev.off()
+###############################################################################
+png(file="C:/IRHEIS/R/13.png",width=1200, height=600)
+ggplot(X1, aes(fill=factor(cookfuel), y=cookfuel, x=factor(Year))) +
+ geom_bar(position="dodge", stat="identity") + theme_bw() +
+ theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1)) + theme_grey(base_size = 25)
+dev.off()
+
+png(file="C:/IRHEIS/R/14.png",width=1200, height=600)
+ggplot(X2, aes(fill=factor(Region), y=cookfuel, x=factor(Year))) +
+ geom_bar(position="dodge", stat="identity") + theme_bw() +
+ theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1)) + theme_grey(base_size = 25)
+#+ geom_text(aes(label=HLiterate), position=position_dodge(width=0.9), vjust=-0.25)
+dev.off()
+
+png(file="C:/IRHEIS/R/15.png",width=1200, height=600)
+ggplot(X3)+
+ geom_line(mapping = aes(x=Year,y=cookfuel,col=factor(Decile),
+ linetype=factor(Decile)))+ theme_grey(base_size = 25)
+dev.off()
+###############################################################################
+###############################################################################
+###############################################################################
+png(file="C:/IRHEIS/R/16.png",width=1200, height=600)
+ggplot(X1, aes(fill=factor(Low_Calorie), y=Low_Calorie, x=factor(Year))) +
+ geom_bar(position="dodge", stat="identity") + theme_bw() +
+ theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1)) + theme_grey(base_size = 25)
+dev.off()
+
+png(file="C:/IRHEIS/R/17.png",width=1200, height=600)
+ggplot(X2, aes(fill=factor(Region), y=Low_Calorie, x=factor(Year))) +
+ geom_bar(position="dodge", stat="identity") + theme_bw() +
+ theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1)) + theme_grey(base_size = 25)
+#+ geom_text(aes(label=HLiterate), position=position_dodge(width=0.9), vjust=-0.25)
+dev.off()
+
+png(file="C:/IRHEIS/R/18.png",width=1200, height=600)
+ggplot(X3)+
+ geom_line(mapping = aes(x=Year,y=Low_Calorie,col=factor(Decile),
+ linetype=factor(Decile)))+ theme_grey(base_size = 25)
+dev.off()
+###############################################################################
+png(file="C:/IRHEIS/R/19.png",width=1200, height=600)
+ggplot(X1, aes(fill=factor(Low_Protein), y=Low_Protein, x=factor(Year))) +
+ geom_bar(position="dodge", stat="identity") + theme_bw() +
+ theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1)) + theme_grey(base_size = 25)
+dev.off()
+
+png(file="C:/IRHEIS/R/20.png",width=1200, height=600)
+ggplot(X2, aes(fill=factor(Region), y=Low_Protein, x=factor(Year))) +
+ geom_bar(position="dodge", stat="identity") + theme_bw() +
+ theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1)) + theme_grey(base_size = 25)
+#+ geom_text(aes(label=HLiterate), position=position_dodge(width=0.9), vjust=-0.25)
+dev.off()
+
+png(file="C:/IRHEIS/R/21.png",width=1200, height=600)
+ggplot(X3)+
+ geom_line(mapping = aes(x=Year,y=Low_Protein,col=factor(Decile),
+ linetype=factor(Decile)))+ theme_grey(base_size = 25)
+dev.off()
+###############################################################################
+png(file="C:/IRHEIS/R/22.png",width=1200, height=600)
+ggplot(X1, aes(fill=factor(No_Insurance), y=No_Insurance, x=factor(Year))) +
+ geom_bar(position="dodge", stat="identity") + theme_bw() +
+ theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1)) + theme_grey(base_size = 25)
+dev.off()
+
+png(file="C:/IRHEIS/R/23.png",width=1200, height=600)
+ggplot(X2, aes(fill=factor(Region), y=No_Insurance, x=factor(Year))) +
+ geom_bar(position="dodge", stat="identity") + theme_bw() +
+ theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1)) + theme_grey(base_size = 25)
+#+ geom_text(aes(label=HLiterate), position=position_dodge(width=0.9), vjust=-0.25)
+dev.off()
+
+png(file="C:/IRHEIS/R/24.png",width=1200, height=600)
+ggplot(X3)+
+ geom_line(mapping = aes(x=Year,y=No_Insurance,col=factor(Decile),
+ linetype=factor(Decile)))+ theme_grey(base_size = 25)
+dev.off()
+###############################################################################
+png(file="C:/IRHEIS/R/25.png",width=1200, height=600)
+ggplot(X1, aes(fill=factor(pipewater), y=pipewater, x=factor(Year))) +
+ geom_bar(position="dodge", stat="identity") + theme_bw() +
+ theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1)) + theme_grey(base_size = 25)
+dev.off()
+
+png(file="C:/IRHEIS/R/26.png",width=1200, height=600)
+ggplot(X2, aes(fill=factor(Region), y=pipewater, x=factor(Year))) +
+ geom_bar(position="dodge", stat="identity") + theme_bw() +
+ theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1)) + theme_grey(base_size = 25)
+#+ geom_text(aes(label=HLiterate), position=position_dodge(width=0.9), vjust=-0.25)
+dev.off()
+
+png(file="C:/IRHEIS/R/27.png",width=1200, height=600)
+ggplot(X3)+
+ geom_line(mapping = aes(x=Year,y=pipewater,col=factor(Decile),
+ linetype=factor(Decile)))+ theme_grey(base_size = 25)
+dev.off()
+###############################################################################
+###############################################################################
+###############################################################################
+png(file="C:/IRHEIS/R/28.png",width=1200, height=600)
+ggplot(X1, aes(fill=factor(Area_Per), y=Area_Per, x=factor(Year))) +
+ geom_bar(position="dodge", stat="identity") + theme_bw() +
+ theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1)) + theme_grey(base_size = 25)
+dev.off()
+
+png(file="C:/IRHEIS/R/29.png",width=1200, height=600)
+ggplot(X2, aes(fill=factor(Region), y=Area_Per, x=factor(Year))) +
+ geom_bar(position="dodge", stat="identity") + theme_bw() +
+ theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1)) + theme_grey(base_size = 25)
+#+ geom_text(aes(label=HLiterate), position=position_dodge(width=0.9), vjust=-0.25)
+dev.off()
+
+png(file="C:/IRHEIS/R/30.png",width=1200, height=600)
+ggplot(X3)+
+ geom_line(mapping = aes(x=Year,y=Area_Per,col=factor(Decile),
+ linetype=factor(Decile)))+ theme_grey(base_size = 25)
+dev.off()
+###############################################################################
+png(file="C:/IRHEIS/R/31.png",width=1200, height=600)
+ggplot(X1, aes(fill=factor(skeleton), y=skeleton, x=factor(Year))) +
+ geom_bar(position="dodge", stat="identity") + theme_bw() +
+ theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1)) + theme_grey(base_size = 25)
+dev.off()
+
+png(file="C:/IRHEIS/R/32.png",width=1200, height=600)
+ggplot(X2, aes(fill=factor(Region), y=skeleton, x=factor(Year))) +
+ geom_bar(position="dodge", stat="identity") + theme_bw() +
+ theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1)) + theme_grey(base_size = 25)
+#+ geom_text(aes(label=HLiterate), position=position_dodge(width=0.9), vjust=-0.25)
+dev.off()
+
+png(file="C:/IRHEIS/R/33.png",width=1200, height=600)
+ggplot(X3)+
+ geom_line(mapping = aes(x=Year,y=skeleton,col=factor(Decile),
+ linetype=factor(Decile)))+ theme_grey(base_size = 25)
+dev.off()
+###############################################################################
+png(file="C:/IRHEIS/R/34.png",width=1200, height=600)
+ggplot(X1, aes(fill=factor(House_High_Share), y=House_High_Share, x=factor(Year))) +
+ geom_bar(position="dodge", stat="identity") + theme_bw() +
+ theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1)) + theme_grey(base_size = 25)
+dev.off()
+
+png(file="C:/IRHEIS/R/35.png",width=1200, height=600)
+ggplot(X2, aes(fill=factor(Region), y=House_High_Share, x=factor(Year))) +
+ geom_bar(position="dodge", stat="identity") + theme_bw() +
+ theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1)) + theme_grey(base_size = 25)
+#+ geom_text(aes(label=HLiterate), position=position_dodge(width=0.9), vjust=-0.25)
+dev.off()
+
+png(file="C:/IRHEIS/R/36.png",width=1200, height=600)
+ggplot(X3)+
+ geom_line(mapping = aes(x=Year,y=House_High_Share,col=factor(Decile),
+ linetype=factor(Decile)))+ theme_grey(base_size = 25)
+dev.off()
+###############################################################################
+###############################################################################
+###############################################################################
+png(file="C:/IRHEIS/R/37.png",width=1200, height=600)
+ggplot(X1, aes(fill=factor(bathroom), y=bathroom, x=factor(Year))) +
+ geom_bar(position="dodge", stat="identity") + theme_bw() +
+ theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1)) + theme_grey(base_size = 25)
+dev.off()
+
+png(file="C:/IRHEIS/R/38.png",width=1200, height=600)
+ggplot(X2, aes(fill=factor(Region), y=bathroom, x=factor(Year))) +
+ geom_bar(position="dodge", stat="identity") + theme_bw() +
+ theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1)) + theme_grey(base_size = 25)
+#+ geom_text(aes(label=HLiterate), position=position_dodge(width=0.9), vjust=-0.25)
+dev.off()
+
+png(file="C:/IRHEIS/R/39.png",width=1200, height=600)
+ggplot(X3)+
+ geom_line(mapping = aes(x=Year,y=bathroom,col=factor(Decile),
+ linetype=factor(Decile)))+ theme_grey(base_size = 25)
+dev.off()
+###############################################################################
+png(file="C:/IRHEIS/R/40.png",width=1200, height=600)
+ggplot(X1, aes(fill=factor(bathroom), y=ego, x=factor(Year))) +
+ geom_bar(position="dodge", stat="identity") + theme_bw() +
+ theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1)) + theme_grey(base_size = 25)
+dev.off()
+
+png(file="C:/IRHEIS/R/41.png",width=1200, height=600)
+ggplot(X2, aes(fill=factor(Region), y=ego, x=factor(Year))) +
+ geom_bar(position="dodge", stat="identity") + theme_bw() +
+ theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1)) + theme_grey(base_size = 25)
+#+ geom_text(aes(label=HLiterate), position=position_dodge(width=0.9), vjust=-0.25)
+dev.off()
+
+png(file="C:/IRHEIS/R/42.png",width=1200, height=600)
+ggplot(X3)+
+ geom_line(mapping = aes(x=Year,y=ego,col=factor(Decile),
+ linetype=factor(Decile)))+ theme_grey(base_size = 25)
+dev.off()
+###############################################################################
+png(file="C:/IRHEIS/R/43.png",width=1200, height=600)
+ggplot(X1, aes(fill=factor(car), y=car, x=factor(Year))) +
+ geom_bar(position="dodge", stat="identity") + theme_bw() +
+ theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1)) + theme_grey(base_size = 25)
+dev.off()
+
+png(file="C:/IRHEIS/R/44.png",width=1200, height=600)
+ggplot(X2, aes(fill=factor(Region), y=car, x=factor(Year))) +
+ geom_bar(position="dodge", stat="identity") + theme_bw() +
+ theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1)) + theme_grey(base_size = 25)
+#+ geom_text(aes(label=HLiterate), position=position_dodge(width=0.9), vjust=-0.25)
+dev.off()
+
+png(file="C:/IRHEIS/R/45.png",width=1200, height=600)
+ggplot(X3)+
+ geom_line(mapping = aes(x=Year,y=car,col=factor(Decile),
+ linetype=factor(Decile)))+ theme_grey(base_size = 25)
+dev.off()
+###############################################################################
+png(file="C:/IRHEIS/R/46.png",width=1200, height=600)
+ggplot(X1, aes(fill=factor(Tech_low), y=Tech_low, x=factor(Year))) +
+ geom_bar(position="dodge", stat="identity") + theme_bw() +
+ theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1)) + theme_grey(base_size = 25)
+dev.off()
+
+png(file="C:/IRHEIS/R/47.png",width=1200, height=600)
+ggplot(X2, aes(fill=factor(Region), y=Tech_low, x=factor(Year))) +
+ geom_bar(position="dodge", stat="identity") + theme_bw() +
+ theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1)) + theme_grey(base_size = 25)
+#+ geom_text(aes(label=HLiterate), position=position_dodge(width=0.9), vjust=-0.25)
+dev.off()
+
+png(file="C:/IRHEIS/R/48.png",width=1200, height=600)
+ggplot(X3)+
+ geom_line(mapping = aes(x=Year,y=Tech_low,col=factor(Decile),
+ linetype=factor(Decile)))+ theme_grey(base_size = 25)
+dev.off()
+###############################################################################
+png(file="C:/IRHEIS/R/49.png",width=1200, height=600)
+ggplot(X1, aes(fill=factor(Equip_low), y=Equip_low, x=factor(Year))) +
+ geom_bar(position="dodge", stat="identity") + theme_bw() +
+ theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1)) + theme_grey(base_size = 25)
+dev.off()
+
+png(file="C:/IRHEIS/R/50.png",width=1200, height=600)
+ggplot(X2, aes(fill=factor(Region), y=Equip_low, x=factor(Year))) +
+ geom_bar(position="dodge", stat="identity") + theme_bw() +
+ theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1)) + theme_grey(base_size = 25)
+#+ geom_text(aes(label=HLiterate), position=position_dodge(width=0.9), vjust=-0.25)
+dev.off()
+
+png(file="C:/IRHEIS/R/51.png",width=1200, height=600)
+ggplot(X3)+
+ geom_line(mapping = aes(x=Year,y=Equip_low,col=factor(Decile),
+ linetype=factor(Decile)))+ theme_grey(base_size = 25)
+dev.off()
+
+
+
+
+#write.csv(X1,file="X1.csv")
+#write.csv(X2,file="X2.csv")
+#write.csv(X3,file="X3.csv")
+#write.csv(X4,file="X4.csv")
+#write.csv(Province,file="Province.csv")
+
+endtime <- proc.time()
+
+cat("\n\n============================\nIt took ")
+cat((endtime-starttime)[3])
\ No newline at end of file
diff --git a/R/Archive/August 2020/ProvinceResults.xlsx b/R/Archive/August 2020/ProvinceResults.xlsx
new file mode 100644
index 00000000..3e8aac3f
Binary files /dev/null and b/R/Archive/August 2020/ProvinceResults.xlsx differ
diff --git a/R/Archive/August 2020/Refah 98 months.R b/R/Archive/August 2020/Refah 98 months.R
new file mode 100644
index 00000000..8d468c23
--- /dev/null
+++ b/R/Archive/August 2020/Refah 98 months.R
@@ -0,0 +1,109 @@
+# 111-HHBase.R
+# Builds the base data.table for households
+
+rm(list=ls())
+
+starttime <- proc.time()
+cat("\n\n================ Refah Months =====================================\n")
+
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+#library(foreign)
+library(data.table)
+library(stringr)
+
+
+
+year<-98
+#for(year in (Settings$startyear:Settings$endyear)){
+ cat(paste0("\n------------------------------\nYear:",year,"\n"))
+
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"FINALPOORS.rda"))
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"Total2.rda"))
+ MD<-merge(MD,Total[,.(HHID,G01,G02,G03,G04,G05,G06,G07,G08,G09,G101,
+ G102,G103,G104,G105,G11,G12,G13,G041,G042,G044,G045,
+ G0451,G0452,G0453,G0454,Subsidy)],by="HHID")
+ MD[,Decile:=NULL]
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"Deciles.rda"))
+ MD<-merge(MD,Deciles,by="HHID")
+
+ MD[,All:=G01+G02+G03+G04+G05+G06+G07+G08+G09+G11+G12+G13]
+
+ for (col in c("ego","bathroom","electricity"))
+ MD[is.na(get(col)), (col) := "True"]
+
+MD[,Size2:=ifelse(Size>4,5,Size)]
+
+ A1<-MD[,.(Food_Share=weighted.mean(G01/All,Weight,na.rm=TRUE),
+ FoodExpenditure_Per=weighted.mean(FoodExpenditure/EqSizeCalory,Weight,na.rm=TRUE),
+ FoodExpenditure=weighted.mean(FoodExpenditure,Weight,na.rm=TRUE),
+ Total_Exp_Month_Per=weighted.mean(Total_Exp_Month_Per,Weight,na.rm=TRUE),
+ Total_Exp_Month=weighted.mean(Total_Exp_Month,Weight,na.rm=TRUE),
+ Size=weighted.mean(Size,Weight,na.rm=TRUE))]
+
+ A2<-MD[,.(Food_Share=weighted.mean(G01/All,Weight,na.rm=TRUE),
+ FoodExpenditure_Per=weighted.mean(FoodExpenditure/EqSizeCalory,Weight,na.rm=TRUE),
+ FoodExpenditure=weighted.mean(FoodExpenditure,Weight,na.rm=TRUE),
+ Total_Exp_Month_Per=weighted.mean(Total_Exp_Month_Per,Weight,na.rm=TRUE),
+ Total_Exp_Month=weighted.mean(Total_Exp_Month,Weight,na.rm=TRUE),
+ Size=weighted.mean(Size,Weight,na.rm=TRUE)),by=Month]
+
+ A3<-MD[,.(Food_Share=weighted.mean(G01/All,Weight,na.rm=TRUE),
+ FoodExpenditure_Per=weighted.mean(FoodExpenditure/EqSizeCalory,Weight,na.rm=TRUE),
+ FoodExpenditure=weighted.mean(FoodExpenditure,Weight,na.rm=TRUE),
+ Total_Exp_Month_Per=weighted.mean(Total_Exp_Month_Per,Weight,na.rm=TRUE),
+ Total_Exp_Month=weighted.mean(Total_Exp_Month,Weight,na.rm=TRUE),
+ Size=weighted.mean(Size,Weight,na.rm=TRUE)),by="Region"]
+
+ A4<-MD[,.(Food_Share=weighted.mean(G01/All,Weight,na.rm=TRUE),
+ FoodExpenditure_Per=weighted.mean(FoodExpenditure/EqSizeCalory,Weight,na.rm=TRUE),
+ FoodExpenditure=weighted.mean(FoodExpenditure,Weight,na.rm=TRUE),
+ Total_Exp_Month_Per=weighted.mean(Total_Exp_Month_Per,Weight,na.rm=TRUE),
+ Total_Exp_Month=weighted.mean(Total_Exp_Month,Weight,na.rm=TRUE),
+ Size=weighted.mean(Size,Weight,na.rm=TRUE)),by="Decile"]
+
+ A5<-MD[,.(Food_Share=weighted.mean(G01/All,Weight,na.rm=TRUE),
+ FoodExpenditure_Per=weighted.mean(FoodExpenditure/EqSizeCalory,Weight,na.rm=TRUE),
+ FoodExpenditure=weighted.mean(FoodExpenditure,Weight,na.rm=TRUE),
+ Total_Exp_Month_Per=weighted.mean(Total_Exp_Month_Per,Weight,na.rm=TRUE),
+ Total_Exp_Month=weighted.mean(Total_Exp_Month,Weight,na.rm=TRUE)),by=Size2]
+
+ A6<-MD[,.(.N,Food_Share=weighted.mean(G01/All,Weight,na.rm=TRUE),
+ FoodExpenditure_Per=weighted.mean(FoodExpenditure/EqSizeCalory,Weight,na.rm=TRUE),
+ FoodExpenditure=weighted.mean(FoodExpenditure,Weight,na.rm=TRUE),
+ Total_Exp_Month_Per=weighted.mean(Total_Exp_Month_Per,Weight,na.rm=TRUE),
+ Total_Exp_Month=weighted.mean(Total_Exp_Month,Weight,na.rm=TRUE),
+ Size=weighted.mean(Size,Weight,na.rm=TRUE))
+ ,by=c("Region","Decile")]
+
+ A7<-MD[,.(.N,Food_Share=weighted.mean(G01/All,Weight,na.rm=TRUE),
+ FoodExpenditure_Per=weighted.mean(FoodExpenditure/EqSizeCalory,Weight,na.rm=TRUE),
+ FoodExpenditure=weighted.mean(FoodExpenditure,Weight,na.rm=TRUE),
+ Total_Exp_Month_Per=weighted.mean(Total_Exp_Month_Per,Weight,na.rm=TRUE),
+ Total_Exp_Month=weighted.mean(Total_Exp_Month,Weight,na.rm=TRUE),
+ Size=weighted.mean(Size,Weight,na.rm=TRUE))
+ ,by=c("Month","Decile")]
+
+ # write.csv(A7,file="A7.csv")
+
+ A8<-MD[,.(.N,Food_Share=weighted.mean(G01/All,Weight,na.rm=TRUE),
+ FoodExpenditure_Per=weighted.mean(FoodExpenditure/EqSizeCalory,Weight,na.rm=TRUE),
+ FoodExpenditure=weighted.mean(FoodExpenditure,Weight,na.rm=TRUE),
+ Total_Exp_Month_Per=weighted.mean(Total_Exp_Month_Per,Weight,na.rm=TRUE),
+ Total_Exp_Month=weighted.mean(Total_Exp_Month,Weight,na.rm=TRUE),
+ Size=weighted.mean(Size,Weight,na.rm=TRUE))
+ ,by=c("Month","Region")]
+
+#}
+
+#write.csv(X1,file="X1.csv")
+#write.csv(X2,file="X2.csv")
+#write.csv(X3,file="X3.csv")
+#write.csv(X4,file="X4.csv")
+
+
+endtime <- proc.time()
+
+cat("\n\n============================\nIt took ")
+cat((endtime-starttime)[3])
\ No newline at end of file
diff --git a/R/Archive/August 2020/Refah Calculations.R b/R/Archive/August 2020/Refah Calculations.R
new file mode 100644
index 00000000..da9c16df
--- /dev/null
+++ b/R/Archive/August 2020/Refah Calculations.R
@@ -0,0 +1,695 @@
+# 168- Step 8,9-Poverty Line.R
+#
+# Copyright © 2018:Majid Einian & Arin Shahbazian
+# Licence: GPL-3
+
+rm(list=ls())
+
+starttime <- proc.time()
+cat("\n\n================ Refah Calculations =====================================\n")
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+library(readxl)
+library(data.table)
+library(ggplot2)
+library(stats)
+library(spatstat)
+
+Data1 <- data.table(Year=NA_integer_,Number=NA_real_,Region=NA_character_,
+ HSex=NA_character_,Decile=NA_real_)[0]
+Data2 <- data.table(Year=NA_integer_,Number=NA_real_,HSex=NA_character_,
+ Decile=NA_real_)[0]
+Data3 <- data.table(Year=NA_integer_,Total_Exp_Month=NA_real_,Region=NA_character_,
+ HSex=NA_character_,Decile=NA_real_)[0]
+Data4 <- data.table(Year=NA_integer_,Total_Exp_Month=NA_real_,HSex=NA_character_,
+ Decile=NA_real_)[0]
+Data5 <- data.table(Year=NA_integer_,Total_Exp_Month=NA_real_, Decile=NA_real_)[0]
+Data6 <- data.table(Year=NA_integer_,Total_Exp_Month=NA_real_,Region=NA_character_,
+ Decile=NA_real_)[0]
+Data7 <- data.table(Year=NA_integer_,Total_Exp_Month=NA_real_,Region=NA_character_,
+ HSex=NA_character_,Decile=NA_real_)[0]
+Data8 <- data.table(Year=NA_integer_,Total_Exp_Month=NA_real_,HSex=NA_character_,
+ Decile=NA_real_)[0]
+Data9 <- data.table(Year=NA_integer_,Total_Exp_Month=NA_real_, Decile=NA_real_)[0]
+Data10 <- data.table(Year=NA_integer_,Total_Exp_Month=NA_real_,Region=NA_character_,
+ Decile=NA_real_)[0]
+Data11 <- data.table(Year=NA_integer_,Total_Exp_Month=NA_real_,Region=NA_character_,
+ HSex=NA_character_,Decile=NA_real_)[0]
+Data12 <- data.table(Year=NA_integer_,Total_Exp_Month=NA_real_,HSex=NA_character_,
+ Decile=NA_real_)[0]
+Data13 <- data.table(Year=NA_integer_,Total_Exp_Month=NA_real_, Decile=NA_real_)[0]
+Data14 <- data.table(Year=NA_integer_,Total_Exp_Month=NA_real_,Region=NA_character_,
+ Decile=NA_real_)[0]
+Data15 <- data.table(Year=NA_integer_,Total_Exp_Month=NA_real_,Region=NA_character_,
+ HSex=NA_character_,Decile=NA_real_)[0]
+Data16 <- data.table(Year=NA_integer_,Total_Exp_Month=NA_real_,HSex=NA_character_,
+ Decile=NA_real_)[0]
+Data17 <- data.table(Year=NA_integer_,Total_Exp_Month=NA_real_, Decile=NA_real_)[0]
+Data18 <- data.table(Year=NA_integer_,Total_Exp_Month=NA_real_,Region=NA_character_,
+ Decile=NA_real_)[0]
+Data19 <- data.table(Year=NA_integer_,Total_Exp_Month=NA_real_,Region=NA_character_,
+ HSex=NA_character_,Decile=NA_real_)[0]
+Data20 <- data.table(Year=NA_integer_,Total_Exp_Month=NA_real_,HSex=NA_character_,
+ Decile=NA_real_)[0]
+Data21 <- data.table(Year=NA_integer_,Total_Exp_Month=NA_real_, Decile=NA_real_)[0]
+Data22 <- data.table(Year=NA_integer_,Total_Exp_Month=NA_real_,Region=NA_character_,
+ Decile=NA_real_)[0]
+Data23 <- data.table(Year=NA_integer_,Total_Exp_Month=NA_real_,Region=NA_character_,
+ HSex=NA_character_,Decile=NA_real_)[0]
+Data24 <- data.table(Year=NA_integer_,Total_Exp_Month=NA_real_,HSex=NA_character_,
+ Decile=NA_real_)[0]
+Data25 <- data.table(Year=NA_integer_,Total_Exp_Month=NA_real_, Decile=NA_real_)[0]
+Data26 <- data.table(Year=NA_integer_,Total_Exp_Month=NA_real_,Region=NA_character_,
+ Decile=NA_real_)[0]
+Data27 <- data.table(Year=NA_integer_,Total_Exp_Month=NA_real_,Region=NA_character_,
+ HSex=NA_character_,Decile=NA_real_)[0]
+Data28 <- data.table(Year=NA_integer_,Total_Exp_Month=NA_real_,HSex=NA_character_,
+ Decile=NA_real_)[0]
+Data29 <- data.table(Year=NA_integer_,Total_Exp_Month=NA_real_, Decile=NA_real_)[0]
+Data30 <- data.table(Year=NA_integer_,Total_Exp_Month=NA_real_,Region=NA_character_,
+ Decile=NA_real_)[0]
+Data31 <- data.table(Year=NA_integer_,Total_Exp_Month=NA_real_,Region=NA_character_,
+ HSex=NA_character_,Decile=NA_real_)[0]
+Data32 <- data.table(Year=NA_integer_,Total_Exp_Month=NA_real_,HSex=NA_character_,
+ Decile=NA_real_)[0]
+Data33 <- data.table(Year=NA_integer_,Total_Exp_Month=NA_real_, Decile=NA_real_)[0]
+Data34 <- data.table(Year=NA_integer_,Total_Exp_Month=NA_real_,Region=NA_character_,
+ Decile=NA_real_)[0]
+Data35 <- data.table(Year=NA_integer_,Total_Exp_Month=NA_real_,Region=NA_character_,
+ HSex=NA_character_,Decile=NA_real_)[0]
+Data36 <- data.table(Year=NA_integer_,Total_Exp_Month=NA_real_,HSex=NA_character_,
+ Decile=NA_real_)[0]
+Data37 <- data.table(Year=NA_integer_,Total_Exp_Month=NA_real_, Decile=NA_real_)[0]
+Data38 <- data.table(Year=NA_integer_,Total_Exp_Month=NA_real_,Region=NA_character_,
+ Decile=NA_real_)[0]
+Data39 <- data.table(Year=NA_integer_,Total_Exp_Month=NA_real_,Region=NA_character_,
+ HSex=NA_character_,Decile=NA_real_)[0]
+Data40 <- data.table(Year=NA_integer_,Total_Exp_Month=NA_real_,HSex=NA_character_,
+ Decile=NA_real_)[0]
+Data41 <- data.table(Year=NA_integer_,Total_Exp_Month=NA_real_, Decile=NA_real_)[0]
+Data42 <- data.table(Year=NA_integer_,Total_Exp_Month=NA_real_,Region=NA_character_,
+ Decile=NA_real_)[0]
+Data43 <- data.table(Year=NA_integer_,Total_Exp_Month=NA_real_,Region=NA_character_,
+ HSex=NA_character_,Decile=NA_real_)[0]
+Data44 <- data.table(Year=NA_integer_,Total_Exp_Month=NA_real_,HSex=NA_character_,
+ Decile=NA_real_)[0]
+Data45 <- data.table(Year=NA_integer_,Total_Exp_Month=NA_real_, Decile=NA_real_)[0]
+Data46 <- data.table(Year=NA_integer_,Total_Exp_Month=NA_real_,Region=NA_character_,
+ Decile=NA_real_)[0]
+Data47 <- data.table(Year=NA_integer_,Total_Exp_Month=NA_real_,Region=NA_character_,
+ HSex=NA_character_,Decile=NA_real_)[0]
+Data48 <- data.table(Year=NA_integer_,Total_Exp_Month=NA_real_,HSex=NA_character_,
+ Decile=NA_real_)[0]
+Data49 <- data.table(Year=NA_integer_,Total_Exp_Month=NA_real_, Decile=NA_real_)[0]
+Data50 <- data.table(Year=NA_integer_,Total_Exp_Month=NA_real_,Region=NA_character_,
+ Decile=NA_real_)[0]
+Data51 <- data.table(Year=NA_integer_,Total_Exp_Month=NA_real_,Region=NA_character_,
+ HSex=NA_character_,Decile=NA_real_)[0]
+Data52 <- data.table(Year=NA_integer_,Total_Exp_Month=NA_real_,HSex=NA_character_,
+ Decile=NA_real_)[0]
+Data53 <- data.table(Year=NA_integer_,Total_Exp_Month=NA_real_, Decile=NA_real_)[0]
+Data54 <- data.table(Year=NA_integer_,Total_Exp_Month=NA_real_,Region=NA_character_,
+ Decile=NA_real_)[0]
+Data55 <- data.table(Year=NA_integer_,Total_Exp_Month=NA_real_,Region=NA_character_,
+ HSex=NA_character_,Decile=NA_real_)[0]
+Data56 <- data.table(Year=NA_integer_,Total_Exp_Month=NA_real_,HSex=NA_character_,
+ Decile=NA_real_)[0]
+Data57 <- data.table(Year=NA_integer_,Total_Exp_Month=NA_real_, Decile=NA_real_)[0]
+Data58 <- data.table(Year=NA_integer_,Total_Exp_Month=NA_real_,Region=NA_character_,
+ Decile=NA_real_)[0]
+Data61 <- data.table(Year=NA_integer_,FPLine=NA_real_,PovertyLine=NA_real_,
+ FinalFoodPoor=NA_real_,FinalPoor=NA_real_,
+ Region=NA_real_,HSex=NA_character_)[0]
+Data62 <- data.table(Year=NA_integer_,FPLine=NA_real_,PovertyLine=NA_real_,
+ FinalFoodPoor=NA_real_,FinalPoor=NA_real_,
+ Region=NA_real_)[0]
+Data63 <- data.table(Year=NA_integer_,FPLine=NA_real_,PovertyLine=NA_real_,
+ FinalFoodPoor=NA_real_,FinalPoor=NA_real_,
+ HSex=NA_character_)[0]
+Data64 <- data.table(Year=NA_integer_,FPLine=NA_real_,PovertyLine=NA_real_,
+ FinalFoodPoor=NA_real_,FinalPoor=NA_real_)[0]
+Data65 <- data.table(Year=NA_integer_,FPLine=NA_real_,PovertyLine=NA_real_,
+ FinalFoodPoor=NA_real_,FinalPoor=NA_real_,
+ Region=NA_real_,HSex=NA_character_)[0]
+Data66 <- data.table(Year=NA_integer_,FPLine=NA_real_,PovertyLine=NA_real_,
+ FinalFoodPoor=NA_real_,FinalPoor=NA_real_,
+ Region=NA_real_)[0]
+Data67 <- data.table(Year=NA_integer_,FPLine=NA_real_,PovertyLine=NA_real_,
+ FinalFoodPoor=NA_real_,FinalPoor=NA_real_,
+ HSex=NA_character_)[0]
+Data68 <- data.table(Year=NA_integer_,FPLine=NA_real_,PovertyLine=NA_real_,
+ FinalFoodPoor=NA_real_,FinalPoor=NA_real_)[0]
+Data71 <- data.table(Year=NA_integer_,Oil_NabatiGram=NA_real_,
+ Decile=NA_real_)[0]
+Data72 <- data.table(Year=NA_integer_,BreadGrams=NA_real_,
+ Decile=NA_real_)[0]
+Data73 <- data.table(Year=NA_integer_,SibzaminiGram=NA_real_,
+ Decile=NA_real_)[0]
+Data81 <- data.table(Year=NA_integer_,x=NA_real_,
+ Decile=NA_real_)[0]
+Data82 <- data.table(Year=NA_integer_,x=NA_real_,
+ Decile=NA_real_)[0]
+Data83 <- data.table(Year=NA_integer_,x=NA_real_,
+ Decile=NA_real_)[0]
+Data84 <- data.table(Year=NA_integer_,x=NA_real_,
+ Decile=NA_real_)[0]
+Data85 <- data.table(Year=NA_integer_,x=NA_real_,
+ Decile=NA_real_)[0]
+Data86 <- data.table(Year=NA_integer_,x=NA_real_,
+ Decile=NA_real_)[0]
+Data87 <- data.table(Year=NA_integer_,x=NA_real_,
+ Decile=NA_real_)[0]
+Data91 <- data.table(Year=NA_integer_,Total_Exp_Month=NA_real_,Region=NA_character_,
+ HSex=NA_character_,Decile=NA_real_)[0]
+Data92 <- data.table(Year=NA_integer_,Total_Exp_Month=NA_real_,
+ HSex=NA_character_,Decile=NA_real_)[0]
+Data93 <- data.table(Year=NA_integer_,Total_Exp_Month=NA_real_,
+ Decile=NA_real_)[0]
+Data94 <- data.table(Year=NA_integer_,Total_Exp_Month=NA_real_,Region=NA_character_,
+ Decile=NA_real_)[0]
+Data191 <- data.table(Year=NA_integer_,Total_Exp_Month=NA_real_,Region=NA_character_,
+ HSex=NA_character_,Decile=NA_real_)[0]
+Data192 <- data.table(Year=NA_integer_,Total_Exp_Month=NA_real_,
+ HSex=NA_character_,Decile=NA_real_)[0]
+Data193 <- data.table(Year=NA_integer_,Total_Exp_Month=NA_real_,
+ Decile=NA_real_)[0]
+Data194 <- data.table(Year=NA_integer_,Total_Exp_Month=NA_real_,Region=NA_character_,
+ Decile=NA_real_)[0]
+Data291 <- data.table(Year=NA_integer_,Total_Exp_Month=NA_real_,Region=NA_character_,
+ HSex=NA_character_,Decile=NA_real_)[0]
+Data292 <- data.table(Year=NA_integer_,Total_Exp_Month=NA_real_,
+ HSex=NA_character_,Decile=NA_real_)[0]
+Data293 <- data.table(Year=NA_integer_,Total_Exp_Month=NA_real_,
+ Decile=NA_real_)[0]
+Data294 <- data.table(Year=NA_integer_,Total_Exp_Month=NA_real_,Region=NA_character_,
+ Decile=NA_real_)[0]
+for(year in (Settings$startyear:Settings$endyear)){
+ cat(paste0("\nYear:",year,"\t"))
+
+ # load data --------------------------------------
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"FINALPOORS.rda"))
+ load(file = paste0(Settings$HEISProcessedPath,"Y",year,"TotalFoodCon.rda"))
+ load(file = paste0(Settings$HEISProcessedPath,"Y",year,"TotalFoodExp.rda"))
+ #load(file = paste0(Settings$HEISProcessedPath,"Y",year,"TotalDurable.rda"))
+ load(file = paste0(Settings$HEISProcessedPath,"Y",year,"Durables.rda"))
+
+ MD[,Durable_Exp:=NULL]
+ MD[,Durable_Sale:=NULL]
+
+ if (year >= 90){
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"Deciles.rda"))
+ MD[,Decile:=NULL]
+ MD[,Percentile:=NULL]
+ MD<-merge(MD,Deciles,by="HHID")
+ }
+
+ if (year < 90){
+ MD<-merge(MD,TotalFoodCon,by="HHID",all.x=TRUE)
+ }
+
+ MD<-merge(MD,TotalFoodExp[,.(HHID,G01111,G01114,G01121,G01123,G0114,G01153,`011731`)],by="HHID",all.x=TRUE)
+ MD<-merge(MD,DurableData,by="HHID",all.x=TRUE)
+ #cat(MD[,weighted.mean(FPLine*Size,Weight,na.rm = TRUE)],"\t")
+ #cat(MD[,weighted.mean(PovertyLine*Size,Weight,na.rm = TRUE)],"\t")
+ #cat(MD[,weighted.mean(FinalFoodPoor,Weight,na.rm = TRUE)],"\t")
+ #cat(MD[,weighted.mean(FinalPoor,Weight,na.rm = TRUE)],"\t")
+
+ #cat(MD[,weighted.mean(FPLine,Weight,na.rm = TRUE)],"\t")
+ #cat(MD[,weighted.mean(PovertyLine,Weight,na.rm = TRUE)],"\t")
+ #cat(MD[,weighted.mean(FinalFoodPoor,Weight*Size,na.rm = TRUE)],"\t")
+ #cat(MD[,weighted.mean(FinalPoor,Weight*Size,na.rm = TRUE)],"\t")
+
+
+ X <- MD[,.(Number=sum(Weight)),by=c("Region","HSex","Decile")]
+ X[,Year:=year]
+ Data1 <- rbind(Data1,X)
+ write.csv(Data1,file="Data1.csv")
+
+ X <- MD[,.(Number=sum(Weight)),by=c("HSex","Decile")]
+ X[,Year:=year]
+ Data2 <- rbind(Data2,X)
+ write.csv(Data2,file="Data2.csv")
+
+ X <- MD[,.(Total_Exp_Month=weighted.mean(Total_Exp_Month,Weight)),by=c("Region","HSex","Decile")]
+ X[,Year:=year]
+ Data3 <- rbind(Data3,X)
+ write.csv(Data3,file="Data3.csv")
+
+ X <- MD[,.(Total_Exp_Month=weighted.mean(Total_Exp_Month,Weight)),by=c("HSex","Decile")]
+ X[,Year:=year]
+ Data4 <- rbind(Data4,X)
+ write.csv(Data4,file="Data4.csv")
+
+ X <- MD[,.(Total_Exp_Month=weighted.mean(Total_Exp_Month,Weight)),by=c("Decile")]
+ X[,Year:=year]
+ Data5 <- rbind(Data5,X)
+ write.csv(Data5,file="Data5.csv")
+
+ X <- MD[,.(Total_Exp_Month=weighted.mean(Total_Exp_Month,Weight)),by=c("Region","Decile")]
+ X[,Year:=year]
+ Data6 <- rbind(Data6,X)
+ write.csv(Data6,file="Data6.csv")
+
+ X <- MD[,.(Total_Exp_Month=weighted.mean(Total_Exp_Month-FoodExpenditure,Weight)),by=c("Region","HSex","Decile")]
+ X[,Year:=year]
+ Data7 <- rbind(Data7,X)
+ write.csv(Data7,file="Data7.csv")
+
+ X <- MD[,.(Total_Exp_Month=weighted.mean(Total_Exp_Month-FoodExpenditure,Weight)),by=c("HSex","Decile")]
+ X[,Year:=year]
+ Data8 <- rbind(Data8,X)
+ write.csv(Data8,file="Data8.csv")
+
+ X <- MD[,.(Total_Exp_Month=weighted.mean(Total_Exp_Month-FoodExpenditure,Weight)),by=c("Decile")]
+ X[,Year:=year]
+ Data9 <- rbind(Data9,X)
+ write.csv(Data9,file="Data9.csv")
+
+ X <- MD[,.(Total_Exp_Month=weighted.mean(Total_Exp_Month-FoodExpenditure,Weight)),by=c("Region","Decile")]
+ X[,Year:=year]
+ Data10 <- rbind(Data10,X)
+ write.csv(Data10,file="Data10.csv")
+
+ X <- MD[,.(Total_Exp_Month=weighted.mean(FoodExpenditure,Weight)),by=c("Region","HSex","Decile")]
+ X[,Year:=year]
+ Data11 <- rbind(Data11,X)
+ write.csv(Data11,file="Data11.csv")
+
+ X <- MD[,.(Total_Exp_Month=weighted.mean(FoodExpenditure,Weight)),by=c("HSex","Decile")]
+ X[,Year:=year]
+ Data12 <- rbind(Data12,X)
+ write.csv(Data12,file="Data12.csv")
+
+ X <- MD[,.(Total_Exp_Month=weighted.mean(FoodExpenditure,Weight)),by=c("Decile")]
+ X[,Year:=year]
+ Data13 <- rbind(Data13,X)
+ write.csv(Data13,file="Data13.csv")
+
+ X <- MD[,.(Total_Exp_Month=weighted.mean(FoodExpenditure,Weight)),by=c("Region","Decile")]
+ X[,Year:=year]
+ Data14 <- rbind(Data14,X)
+ write.csv(Data14,file="Data14.csv")
+
+ X <- MD[,.(Total_Exp_Month=weighted.mean(ServiceExp,Weight)),by=c("Region","HSex","Decile")]
+ X[,Year:=year]
+ Data15 <- rbind(Data15,X)
+ write.csv(Data15,file="Data15.csv")
+
+ X <- MD[,.(Total_Exp_Month=weighted.mean(ServiceExp,Weight)),by=c("HSex","Decile")]
+ X[,Year:=year]
+ Data16 <- rbind(Data16,X)
+ write.csv(Data16,file="Data16.csv")
+
+ X <- MD[,.(Total_Exp_Month=weighted.mean(ServiceExp,Weight)),by=c("Decile")]
+ X[,Year:=year]
+ Data17 <- rbind(Data17,X)
+ write.csv(Data17,file="Data17.csv")
+
+ X <- MD[,.(Total_Exp_Month=weighted.mean(ServiceExp,Weight)),by=c("Region","Decile")]
+ X[,Year:=year]
+ Data18 <- rbind(Data18,X)
+ write.csv(Data18,file="Data18.csv")
+
+ X <- MD[,.(Total_Exp_Month=weighted.mean(Hygiene_Exp+Medical_Exp,Weight)),by=c("Region","HSex","Decile")]
+ X[,Year:=year]
+ Data19 <- rbind(Data19,X)
+ write.csv(Data19,file="Data19.csv")
+
+ X <- MD[,.(Total_Exp_Month=weighted.mean(Hygiene_Exp+Medical_Exp,Weight)),by=c("HSex","Decile")]
+ X[,Year:=year]
+ Data20 <- rbind(Data20,X)
+ write.csv(Data20,file="Data20.csv")
+
+ X <- MD[,.(Total_Exp_Month=weighted.mean(Hygiene_Exp+Medical_Exp,Weight)),by=c("Decile")]
+ X[,Year:=year]
+ Data21 <- rbind(Data21,X)
+ write.csv(Data21,file="Data21.csv")
+
+ X <- MD[,.(Total_Exp_Month=weighted.mean(Hygiene_Exp+Medical_Exp,Weight)),by=c("Region","Decile")]
+ X[,Year:=year]
+ Data22 <- rbind(Data22,X)
+ write.csv(Data22,file="Data22.csv")
+
+ X <- MD[,.(Total_Exp_Month=weighted.mean(Education_Exp,Weight)),by=c("Region","HSex","Decile")]
+ X[,Year:=year]
+ Data23 <- rbind(Data23,X)
+ write.csv(Data23,file="Data23.csv")
+
+ X <- MD[,.(Total_Exp_Month=weighted.mean(Education_Exp,Weight)),by=c("HSex","Decile")]
+ X[,Year:=year]
+ Data24 <- rbind(Data24,X)
+ write.csv(Data24,file="Data24.csv")
+
+ X <- MD[,.(Total_Exp_Month=weighted.mean(Education_Exp,Weight)),by=c("Decile")]
+ X[,Year:=year]
+ Data25 <- rbind(Data25,X)
+ write.csv(Data25,file="Data25.csv")
+
+ X <- MD[,.(Total_Exp_Month=weighted.mean(Education_Exp,Weight)),by=c("Region","Decile")]
+ X[,Year:=year]
+ Data26 <- rbind(Data26,X)
+ write.csv(Data26,file="Data26.csv")
+
+ X <- MD[,.(Total_Exp_Month=weighted.mean(HotelRestaurant_Exp+Amusement_Exp,Weight)),by=c("Region","HSex","Decile")]
+ X[,Year:=year]
+ Data27 <- rbind(Data27,X)
+ write.csv(Data27,file="Data27.csv")
+
+ X <- MD[,.(Total_Exp_Month=weighted.mean(HotelRestaurant_Exp+Amusement_Exp,Weight)),by=c("HSex","Decile")]
+ X[,Year:=year]
+ Data28 <- rbind(Data28,X)
+ write.csv(Data28,file="Data28.csv")
+
+ X <- MD[,.(Total_Exp_Month=weighted.mean(HotelRestaurant_Exp+Amusement_Exp,Weight)),by=c("Decile")]
+ X[,Year:=year]
+ Data29 <- rbind(Data29,X)
+ write.csv(Data29,file="Data29.csv")
+
+ X <- MD[,.(Total_Exp_Month=weighted.mean(HotelRestaurant_Exp+Amusement_Exp,Weight)),by=c("Region","Decile")]
+ X[,Year:=year]
+ Data30 <- rbind(Data30,X)
+ write.csv(Data30,file="Data30.csv")
+
+ X <- MD[,.(Total_Exp_Month=weighted.mean(Durable_Sale,Weight,na.rm = TRUE)/weighted.mean(Durable_Exp,Weight,na.rm = TRUE)),by=c("Region","HSex","Decile")]
+ X[,Year:=year]
+ Data31 <- rbind(Data31,X)
+ write.csv(Data31,file="Data31.csv")
+
+ X <- MD[,.(Total_Exp_Month=weighted.mean(Durable_Sale,Weight,na.rm = TRUE)/weighted.mean(Durable_Exp,Weight,na.rm = TRUE)),by=c("HSex","Decile")]
+ X[,Year:=year]
+ Data32 <- rbind(Data32,X)
+ write.csv(Data32,file="Data32.csv")
+
+ X <- MD[,.(Total_Exp_Month=weighted.mean(Durable_Sale,Weight,na.rm = TRUE)/weighted.mean(Durable_Exp,Weight,na.rm = TRUE)),by=c("Decile")]
+ X[,Year:=year]
+ Data33 <- rbind(Data33,X)
+ write.csv(Data33,file="Data33.csv")
+
+ X <- MD[,.(Total_Exp_Month=weighted.mean(Durable_Sale,Weight,na.rm = TRUE)/weighted.mean(Durable_Exp,Weight,na.rm = TRUE)),by=c("Region","Decile")]
+ X[,Year:=year]
+ Data34 <- rbind(Data34,X)
+ write.csv(Data34,file="Data34.csv")
+
+ X <- MD[,.(Total_Exp_Month=weighted.mean(Total_Exp_Month_Per,Weight,na.rm = TRUE)),by=c("Region","HSex","Decile")]
+ X[,Year:=year]
+ Data35 <- rbind(Data35,X)
+ write.csv(Data35,file="Data35.csv")
+
+ X <- MD[,.(Total_Exp_Month=weighted.mean(Total_Exp_Month_Per,Weight,na.rm = TRUE)),by=c("HSex","Decile")]
+ X[,Year:=year]
+ Data36 <- rbind(Data36,X)
+ write.csv(Data36,file="Data36.csv")
+
+ X <- MD[,.(Total_Exp_Month=weighted.mean(Total_Exp_Month_Per,Weight,na.rm = TRUE)),by=c("Decile")]
+ X[,Year:=year]
+ Data37 <- rbind(Data37,X)
+ write.csv(Data37,file="Data37.csv")
+
+ X <- MD[,.(Total_Exp_Month=weighted.mean(Total_Exp_Month_Per,Weight,na.rm = TRUE)),by=c("Region","Decile")]
+ X[,Year:=year]
+ Data38 <- rbind(Data38,X)
+ write.csv(Data38,file="Data38.csv")
+
+ X <- MD[,.(Total_Exp_Month=weighted.mean(FoodExpenditure/EqSizeCalory,Weight,na.rm = TRUE)),by=c("Region","HSex","Decile")]
+ X[,Year:=year]
+ Data39 <- rbind(Data39,X)
+ write.csv(Data39,file="Data39.csv")
+
+ X <- MD[,.(Total_Exp_Month=weighted.mean(FoodExpenditure/EqSizeCalory,Weight,na.rm = TRUE)),by=c("HSex","Decile")]
+ X[,Year:=year]
+ Data40 <- rbind(Data40,X)
+ write.csv(Data40,file="Data40.csv")
+
+ X <- MD[,.(Total_Exp_Month=weighted.mean(FoodExpenditure/EqSizeCalory,Weight,na.rm = TRUE)),by=c("Decile")]
+ X[,Year:=year]
+ Data41 <- rbind(Data41,X)
+ write.csv(Data41,file="Data41.csv")
+
+ X <- MD[,.(Total_Exp_Month=weighted.mean(FoodExpenditure/EqSizeCalory,Weight,na.rm = TRUE)),by=c("Region","Decile")]
+ X[,Year:=year]
+ Data42 <- rbind(Data42,X)
+ write.csv(Data42,file="Data42.csv")
+
+ X <- MD[,.(Total_Exp_Month=weighted.mean(LivestockGrams,Weight,na.rm = TRUE)),by=c("Region","HSex","Decile")]
+ X[,Year:=year]
+ Data43 <- rbind(Data43,X)
+ write.csv(Data43,file="Data43.csv")
+
+ X <- MD[,.(Total_Exp_Month=weighted.mean(LivestockGrams,Weight,na.rm = TRUE)),by=c("HSex","Decile")]
+ X[,Year:=year]
+ Data44 <- rbind(Data44,X)
+ write.csv(Data44,file="Data44.csv")
+
+ X <- MD[,.(Total_Exp_Month=weighted.mean(LivestockGrams,Weight,na.rm = TRUE)),by=c("Decile")]
+ X[,Year:=year]
+ Data45 <- rbind(Data45,X)
+ write.csv(Data45,file="Data45.csv")
+
+ X <- MD[,.(Total_Exp_Month=weighted.mean(LivestockGrams,Weight,na.rm = TRUE)),by=c("Region","Decile")]
+ X[,Year:=year]
+ Data46 <- rbind(Data46,X)
+ write.csv(Data46,file="Data46.csv")
+
+ X <- MD[,.(Total_Exp_Month=weighted.mean(PoultryMeat_MGram,Weight,na.rm = TRUE)),by=c("Region","HSex","Decile")]
+ X[,Year:=year]
+ Data47 <- rbind(Data47,X)
+ write.csv(Data47,file="Data47.csv")
+
+ X <- MD[,.(Total_Exp_Month=weighted.mean(PoultryMeat_MGram,Weight,na.rm = TRUE)),by=c("HSex","Decile")]
+ X[,Year:=year]
+ Data48 <- rbind(Data48,X)
+ write.csv(Data48,file="Data48.csv")
+
+ X <- MD[,.(Total_Exp_Month=weighted.mean(PoultryMeat_MGram,Weight,na.rm = TRUE)),by=c("Decile")]
+ X[,Year:=year]
+ Data49 <- rbind(Data49,X)
+ write.csv(Data49,file="Data49.csv")
+
+ X <- MD[,.(Total_Exp_Month=weighted.mean(PoultryMeat_MGram,Weight,na.rm = TRUE)),by=c("Region","Decile")]
+ X[,Year:=year]
+ Data50 <- rbind(Data50,X)
+ write.csv(Data50,file="Data50.csv")
+
+ X <- MD[,.(Total_Exp_Month=weighted.mean(MilkGrams+MilkproductsGrams,Weight,na.rm = TRUE)),by=c("Region","HSex","Decile")]
+ X[,Year:=year]
+ Data51 <- rbind(Data51,X)
+ write.csv(Data51,file="Data51.csv")
+
+ X <- MD[,.(Total_Exp_Month=weighted.mean(MilkGrams+MilkproductsGrams,Weight,na.rm = TRUE)),by=c("HSex","Decile")]
+ X[,Year:=year]
+ Data52 <- rbind(Data52,X)
+ write.csv(Data52,file="Data52.csv")
+
+ X <- MD[,.(Total_Exp_Month=weighted.mean(MilkGrams+MilkproductsGrams,Weight,na.rm = TRUE)),by=c("Decile")]
+ X[,Year:=year]
+ Data53 <- rbind(Data53,X)
+ write.csv(Data53,file="Data53.csv")
+
+ X <- MD[,.(Total_Exp_Month=weighted.mean(MilkGrams+MilkproductsGrams,Weight,na.rm = TRUE)),by=c("Region","Decile")]
+ X[,Year:=year]
+ Data54 <- rbind(Data54,X)
+ write.csv(Data54,file="Data54.csv")
+
+ X <- MD[,.(Total_Exp_Month=weighted.mean(GrainGrams,Weight,na.rm = TRUE)),by=c("Region","HSex","Decile")]
+ X[,Year:=year]
+ Data55 <- rbind(Data55,X)
+ write.csv(Data55,file="Data55.csv")
+
+ X <- MD[,.(Total_Exp_Month=weighted.mean(GrainGrams,Weight,na.rm = TRUE)),by=c("HSex","Decile")]
+ X[,Year:=year]
+ Data56 <- rbind(Data56,X)
+ write.csv(Data56,file="Data56.csv")
+
+ X <- MD[,.(Total_Exp_Month=weighted.mean(GrainGrams,Weight,na.rm = TRUE)),by=c("Decile")]
+ X[,Year:=year]
+ Data57 <- rbind(Data57,X)
+ write.csv(Data57,file="Data57.csv")
+
+ X <- MD[,.(Total_Exp_Month=weighted.mean(GrainGrams,Weight,na.rm = TRUE)),by=c("Region","Decile")]
+ X[,Year:=year]
+ Data58 <- rbind(Data58,X)
+ write.csv(Data58,file="Data58.csv")
+
+ X <- MD[,.(FPLine=weighted.mean(FPLine*Size,Weight,na.rm = TRUE),
+ PovertyLine=weighted.mean(PovertyLine*Size,Weight,na.rm = TRUE),
+ FinalFoodPoor=weighted.mean(FinalFoodPoor,Weight,na.rm = TRUE),
+ FinalPoor=weighted.mean(FinalPoor,Weight,na.rm = TRUE)),by=c("Region","HSex")]
+ X[,Year:=year]
+ Data61 <- rbind(Data61,X)
+ write.csv(Data61,file="Data61.csv")
+
+ X <- MD[,.(FPLine=weighted.mean(FPLine*Size,Weight,na.rm = TRUE),
+ PovertyLine=weighted.mean(PovertyLine*Size,Weight,na.rm = TRUE),
+ FinalFoodPoor=weighted.mean(FinalFoodPoor,Weight,na.rm = TRUE),
+ FinalPoor=weighted.mean(FinalPoor,Weight,na.rm = TRUE)),by=c("Region")]
+ X[,Year:=year]
+ Data62 <- rbind(Data62,X)
+ write.csv(Data62,file="Data62.csv")
+
+ X <- MD[,.(FPLine=weighted.mean(FPLine*Size,Weight,na.rm = TRUE),
+ PovertyLine=weighted.mean(PovertyLine*Size,Weight,na.rm = TRUE),
+ FinalFoodPoor=weighted.mean(FinalFoodPoor,Weight,na.rm = TRUE),
+ FinalPoor=weighted.mean(FinalPoor,Weight,na.rm = TRUE)),by=c("HSex")]
+ X[,Year:=year]
+ Data63 <- rbind(Data63,X)
+ write.csv(Data63,file="Data63.csv")
+
+ X <- MD[,.(FPLine=weighted.mean(FPLine*Size,Weight,na.rm = TRUE),
+ PovertyLine=weighted.mean(PovertyLine*Size,Weight,na.rm = TRUE),
+ FinalFoodPoor=weighted.mean(FinalFoodPoor,Weight,na.rm = TRUE),
+ FinalPoor=weighted.mean(FinalPoor,Weight,na.rm = TRUE))]
+ X[,Year:=year]
+ Data64 <- rbind(Data64,X)
+ write.csv(Data64,file="Data64.csv")
+
+ X <- MD[,.(FPLine=weighted.mean(FPLine,Weight,na.rm = TRUE),
+ PovertyLine=weighted.mean(PovertyLine,Weight,na.rm = TRUE),
+ FinalFoodPoor=weighted.mean(FinalFoodPoor,Weight*Size,na.rm = TRUE),
+ FinalPoor=weighted.mean(FinalPoor,Weight*Size,na.rm = TRUE)),by=c("Region","HSex")]
+ X[,Year:=year]
+ Data65 <- rbind(Data65,X)
+ write.csv(Data65,file="Data65.csv")
+
+ X <- MD[,.(FPLine=weighted.mean(FPLine,Weight,na.rm = TRUE),
+ PovertyLine=weighted.mean(PovertyLine,Weight,na.rm = TRUE),
+ FinalFoodPoor=weighted.mean(FinalFoodPoor,Weight*Size,na.rm = TRUE),
+ FinalPoor=weighted.mean(FinalPoor,Weight*Size,na.rm = TRUE)),by=c("Region")]
+ X[,Year:=year]
+ Data66 <- rbind(Data66,X)
+ write.csv(Data66,file="Data66.csv")
+
+ X <- MD[,.(FPLine=weighted.mean(FPLine,Weight,na.rm = TRUE),
+ PovertyLine=weighted.mean(PovertyLine,Weight,na.rm = TRUE),
+ FinalFoodPoor=weighted.mean(FinalFoodPoor,Weight*Size,na.rm = TRUE),
+ FinalPoor=weighted.mean(FinalPoor,Weight*Size,na.rm = TRUE)),by=c("HSex")]
+ X[,Year:=year]
+ Data67 <- rbind(Data67,X)
+ write.csv(Data67,file="Data67.csv")
+
+ X <- MD[,.(FPLine=weighted.mean(FPLine,Weight,na.rm = TRUE),
+ PovertyLine=weighted.mean(PovertyLine,Weight,na.rm = TRUE),
+ FinalFoodPoor=weighted.mean(FinalFoodPoor,Weight,na.rm = TRUE),
+ FinalPoor=weighted.mean(FinalPoor,Weight,na.rm = TRUE))]
+ X[,Year:=year]
+ Data68 <- rbind(Data68,X)
+ write.csv(Data68,file="Data68.csv")
+
+
+ X <- MD[,.(Oil_NabatiGram=weighted.mean(Oil_NabatiGram,Weight,na.rm = TRUE)),by=c("Decile")]
+ X[,Year:=year]
+ Data71 <- rbind(Data71,X)
+ write.csv(Data71,file="Data71.csv")
+
+ X <- MD[,.(BreadGrams=weighted.mean(BreadGrams,Weight,na.rm = TRUE)),by=c("Decile")]
+ X[,Year:=year]
+ Data72 <- rbind(Data72,X)
+ write.csv(Data72,file="Data72.csv")
+
+ X <- MD[,.(SibzaminiGram=weighted.mean(SibzaminiGram,Weight,na.rm = TRUE)),by=c("Decile")]
+ X[,Year:=year]
+ Data73 <- rbind(Data73,X)
+ write.csv(Data73,file="Data73.csv")
+
+
+ X <- MD[,.(x=weighted.mean(G01111/FoodExpenditure,Weight,na.rm = TRUE)),by=c("Decile")]
+ X[,Year:=year]
+ Data81 <- rbind(Data81,X)
+ write.csv(Data81,file="Data81.csv")
+
+ X <- MD[,.(x=weighted.mean(G01114/FoodExpenditure,Weight,na.rm = TRUE)),by=c("Decile")]
+ X[,Year:=year]
+ Data82 <- rbind(Data82,X)
+ write.csv(Data82,file="Data82.csv")
+
+ X <- MD[,.(x=weighted.mean(G01121/FoodExpenditure,Weight,na.rm = TRUE)),by=c("Decile")]
+ X[,Year:=year]
+ Data83 <- rbind(Data83,X)
+ write.csv(Data83,file="Data83.csv")
+
+ X <- MD[,.(x=weighted.mean(G01123/FoodExpenditure,Weight,na.rm = TRUE)),by=c("Decile")]
+ X[,Year:=year]
+ Data84 <- rbind(Data84,X)
+ write.csv(Data84,file="Data84.csv")
+
+ X <- MD[,.(x=weighted.mean(G0114/FoodExpenditure,Weight,na.rm = TRUE)),by=c("Decile")]
+ X[,Year:=year]
+ Data85 <- rbind(Data85,X)
+ write.csv(Data85,file="Data85.csv")
+
+ X <- MD[,.(x=weighted.mean(G01153/FoodExpenditure,Weight,na.rm = TRUE)),by=c("Decile")]
+ X[,Year:=year]
+ Data86 <- rbind(Data86,X)
+ write.csv(Data86,file="Data86.csv")
+
+ X <- MD[,.(x=weighted.mean(`011731`/FoodExpenditure,Weight,na.rm = TRUE)),by=c("Decile")]
+ X[,Year:=year]
+ Data87 <- rbind(Data87,X)
+ write.csv(Data87,file="Data87.csv")
+
+ X <- MD[,.(Total_Exp_Month=weighted.mean(Egg_MashinGram,Weight,na.rm = TRUE)),by=c("Region","HSex","Decile")]
+ X[,Year:=year]
+ Data91 <- rbind(Data91,X)
+ write.csv(Data91,file="Data91.csv")
+
+ X <- MD[,.(Total_Exp_Month=weighted.mean(Egg_MashinGram,Weight,na.rm = TRUE)),by=c("HSex","Decile")]
+ X[,Year:=year]
+ Data92 <- rbind(Data92,X)
+ write.csv(Data92,file="Data92.csv")
+
+ X <- MD[,.(Total_Exp_Month=weighted.mean(Egg_MashinGram,Weight,na.rm = TRUE)),by=c("Decile")]
+ X[,Year:=year]
+ Data93 <- rbind(Data93,X)
+ write.csv(Data93,file="Data93.csv")
+
+ X <- MD[,.(Total_Exp_Month=weighted.mean(Egg_MashinGram,Weight,na.rm = TRUE)),by=c("Region","Decile")]
+ X[,Year:=year]
+ Data94 <- rbind(Data94,X)
+ write.csv(Data94,file="Data94.csv")
+
+ X <- MD[,.(Total_Exp_Month=weighted.mean(Oil_NabatiGram,Weight,na.rm = TRUE)),by=c("Region","HSex","Decile")]
+ X[,Year:=year]
+ Data191 <- rbind(Data191,X)
+ write.csv(Data191,file="Data191.csv")
+
+ X <- MD[,.(Total_Exp_Month=weighted.mean(Oil_NabatiGram,Weight,na.rm = TRUE)),by=c("HSex","Decile")]
+ X[,Year:=year]
+ Data192 <- rbind(Data192,X)
+ write.csv(Data192,file="Data192.csv")
+
+ X <- MD[,.(Total_Exp_Month=weighted.mean(Oil_NabatiGram,Weight,na.rm = TRUE)),by=c("Decile")]
+ X[,Year:=year]
+ Data193 <- rbind(Data193,X)
+ write.csv(Data193,file="Data193.csv")
+
+ X <- MD[,.(Total_Exp_Month=weighted.mean(Oil_NabatiGram,Weight,na.rm = TRUE)),by=c("Region","Decile")]
+ X[,Year:=year]
+ Data194 <- rbind(Data194,X)
+ write.csv(Data194,file="Data194.csv")
+
+ X <- MD[,.(Total_Exp_Month=weighted.mean(GhandGram+ShekarGram,Weight,na.rm = TRUE)),by=c("Region","HSex","Decile")]
+ X[,Year:=year]
+ Data291 <- rbind(Data291,X)
+ write.csv(Data291,file="Data291.csv")
+
+ X <- MD[,.(Total_Exp_Month=weighted.mean(GhandGram+ShekarGram,Weight,na.rm = TRUE)),by=c("HSex","Decile")]
+ X[,Year:=year]
+ Data292 <- rbind(Data292,X)
+ write.csv(Data292,file="Data292.csv")
+
+ X <- MD[,.(Total_Exp_Month=weighted.mean(GhandGram+ShekarGram,Weight,na.rm = TRUE)),by=c("Decile")]
+ X[,Year:=year]
+ Data293 <- rbind(Data293,X)
+ write.csv(Data293,file="Data293.csv")
+
+ X <- MD[,.(Total_Exp_Month=weighted.mean(GhandGram+ShekarGram,Weight,na.rm = TRUE)),by=c("Region","Decile")]
+ X[,Year:=year]
+ Data294 <- rbind(Data294,X)
+ write.csv(Data294,file="Data294.csv")
+}
+
+
+endtime <- proc.time()
+cat("\n\n============================\nIt took ")
+cat((endtime-starttime)["elapsed"])
+cat(" seconds")
\ No newline at end of file
diff --git a/R/Archive/August 2020/RegionResults.xlsx b/R/Archive/August 2020/RegionResults.xlsx
new file mode 100644
index 00000000..23c434bb
Binary files /dev/null and b/R/Archive/August 2020/RegionResults.xlsx differ
diff --git a/R/Archive/August 2020/Some Specific Calculations.R b/R/Archive/August 2020/Some Specific Calculations.R
new file mode 100644
index 00000000..81289762
--- /dev/null
+++ b/R/Archive/August 2020/Some Specific Calculations.R
@@ -0,0 +1,51 @@
+ # Some Specific Calculations.R
+
+rm(list=ls())
+
+starttime <- proc.time()
+cat("\n\n================ Some Specific Calculations =====================================\n")
+
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+#library(foreign)
+library(data.table)
+library(stringr)
+
+for(year in (Settings$startyear:Settings$endyear)){
+ cat(paste0("\n------------------------------\nYear:",year,"\n"))
+
+load( file = paste0(Settings$HEISProcessedPath,"Y",year,"LivestockExp.rda"))
+load( file = paste0(Settings$HEISProcessedPath,"Y",year,"BirdsMeatExp.rda"))
+load( file = paste0(Settings$HEISProcessedPath,"Y",year,"FishandShrimpExp.rda"))
+load(file = paste0(Settings$HEISProcessedPath,"Y",year,"Behdasht1",".rda"))
+load(file = paste0(Settings$HEISProcessedPath,"Y",year,"Behdasht2",".rda"))
+load(file = paste0(Settings$HEISProcessedPath,"Y",year,"Behdasht3",".rda"))
+load(file = paste0(Settings$HEISProcessedPath,"Y",year,"Durable17",".rda"))
+load(file = paste0(Settings$HEISProcessedPath,"Y",year,"Durable18",".rda"))
+load(file = paste0(Settings$HEISProcessedPath,"Y",year,"Durable19",".rda"))
+load(file = paste0(Settings$HEISProcessedPath,"Y",year,"Durable20",".rda"))
+load(file = paste0(Settings$HEISProcessedPath,"Y",year,"Durable21",".rda"))
+
+Specific<-merge(LivestockData,BirdsMeatData,all = TRUE)
+Specific<-merge(Specific,FishandShrimpData,all = TRUE)
+Specific<-merge(Specific,Behdasht1,all = TRUE)
+Specific<-merge(Specific,Behdasht2,all = TRUE)
+Specific<-merge(Specific,Behdasht3,all = TRUE)
+Specific<-merge(Specific,Durable17,all = TRUE)
+Specific<-merge(Specific,Durable18,all = TRUE)
+Specific<-merge(Specific,Durable19,all = TRUE)
+Specific<-merge(Specific,Durable20,all = TRUE)
+Specific<-merge(Specific,Durable21,all = TRUE)
+
+Specific[is.na(Specific)] <- 0
+save(Specific, file=paste0(Settings$HEISProcessedPath,"Y",year,"Specific.rda"))
+
+}
+
+endtime <- proc.time()
+
+cat("\n\n============================\nIt took ")
+cat((endtime-starttime)[3])
+
+
diff --git a/R/Archive/August 2020/Step 7 ,8,9-PovertyLines - Copy.R b/R/Archive/August 2020/Step 7 ,8,9-PovertyLines - Copy.R
new file mode 100644
index 00000000..13d6a474
--- /dev/null
+++ b/R/Archive/August 2020/Step 7 ,8,9-PovertyLines - Copy.R
@@ -0,0 +1,154 @@
+# 168- Step 8,9-Poverty Line.R
+#
+# Copyright © 2018:Majid Einian & Arin Shahbazian
+# Licence: GPL-3
+
+rm(list=ls())
+
+starttime <- proc.time()
+cat("\n\n================ Poverty Line =====================================\n")
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+library(readxl)
+library(data.table)
+library(ggplot2)
+library(stats)
+library(spatstat)
+
+FinalCountryResults <- data.table(Year=NA_integer_,PovertyLine=NA_real_,
+ Engle=NA_real_,FPLine=NA_real_,
+ Total_Exp_Month_Per=NA_real_,PovertyHCR=NA_real_,
+ PovertyGap=NA_real_,PovertyDepth=NA_real_)[0]
+FinalRegionResults <- data.table(Year=NA_integer_,Region=NA_integer_,PovertyLine=NA_real_,PovertyHCR=NA_real_,
+ Engle=NA_real_,FPLine=NA_real_,
+ Total_Exp_Month_Per=NA_real_,
+ PovertyGap=NA_real_,PovertyDepth=NA_real_)[0]
+FinalClusterResults <- data.table(Year=NA_integer_,cluster3=NA_integer_,MetrPrice=NA_real_,
+ House_Share=NA_real_,FoodKCaloriesHH_Per=NA_real_,
+ SampleSize=NA_integer_,
+ Engle=NA_integer_,FPLine=NA_integer_,
+ PovertyLine=NA_real_,PovertyHCR=NA_real_,
+ PovertyGap=NA_real_,PovertyDepth=NA_real_)[0]
+
+
+for(year in (Settings$startyear:Settings$endyear)){
+ cat(paste0("\nYear:",year,"\t"))
+
+ # load data --------------------------------------
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"FinalFoodPoor.rda"))
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"FINALPOORS_Engle.rda"))
+
+ # MD<-MD[Region=="Urban"]
+
+ # EngleD<- MD[ TOriginalFoodExpenditure_Per>0.8*FPLine &
+ # TOriginalFoodExpenditure_Per<1.2*FPLine,
+ # .(.N,Engel=weighted.mean(TOriginalFoodExpenditure/Total_Exp_Month_nondurable,Weight),
+ # FPLine=mean(FPLine)),by=.(Region,cluster3)]
+
+
+ # EngleD[,EngleFinal:=mean(EngleFinal)]
+ EngleD[,PovertyLine:=FPLine/EngleFinal]
+ EngleD[,PovertyLine2:=FPLine/Engel]
+ MD <- merge(MD,EngleD[,.(cluster3,Region,PovertyLine,PovertyLine2,Engel)],by=c("Region","cluster3"))
+ MD[,FinalPoor:=ifelse(Total_Exp_Month_Per_nondurable < PovertyLine,1,0 )]
+ MD[,FinalPoor2:=ifelse(Total_Exp_Month_Per_nondurable < PovertyLine2,1,0 )]
+ MD<-MD[,HHEngle:=TOriginalFoodExpenditure/Total_Exp_Month,Weight]
+ save(MD,file=paste0(Settings$HEISProcessedPath,"Y",year,"FINALPOORS.rda"))
+
+
+ MD[,Old:=ifelse(HAge>59,1,0)]
+ MD[,FGT1M:=(PovertyLine-Total_Exp_Month_Per)/PovertyLine]
+ MD[,FGT2M:=((PovertyLine-Total_Exp_Month_Per)/PovertyLine)^2]
+
+
+
+ ################Country##################
+
+ X1 <- MD[,.(PovertyLine=weighted.mean(PovertyLine,Weight*Size),
+ PovertyHCR=weighted.mean(FinalPoor,Weight*Size),
+ Engle=weighted.mean(HHEngle,Weight),
+ FPLine=weighted.mean(FPLine,Weight),
+ Total_Exp_Month_Per=weighted.mean(Total_Exp_Month_Per,Weight))]
+ X2 <- MD[FinalPoor==1,.(PovertyGap=weighted.mean(FGT1M,Weight*Size),
+ PovertyDepth=weighted.mean(FGT2M,Weight*Size))]
+ X1[,Year:=year]
+ X2[,Year:=year]
+ X <- merge(X1,X2,by="Year")
+ FinalCountryResults <- rbind(FinalCountryResults,X)
+
+ ################Region##################
+ X1 <- MD[,.(PovertyLine=weighted.mean(PovertyLine,Weight*Size),
+ PovertyHCR=weighted.mean(FinalPoor,Weight*Size),
+ Engle=weighted.mean(HHEngle,Weight),
+ FPLine=weighted.mean(FPLine,Weight),
+ Total_Exp_Month_Per=weighted.mean(Total_Exp_Month_Per,Weight)),by=Region]
+ X2 <- MD[FinalPoor==1,.(PovertyGap=weighted.mean(FGT1M,Weight*Size),
+ PovertyDepth=weighted.mean(FGT2M,Weight*Size)),by=Region]
+ X1[,Year:=year]
+ X2[,Year:=year]
+ X <- merge(X1,X2,by=c("Year","Region"))
+ FinalRegionResults <- rbind(FinalRegionResults,X)
+
+
+ ################Cluster##################
+ X1 <- MD[,.(SampleSize=.N,MetrPrice=weighted.mean(MetrPrice,Weight,na.rm = TRUE),
+ House_Share=weighted.mean(ServiceExp/Total_Exp_Month,Weight),
+ Engle=weighted.mean(TOriginalFoodExpenditure/Total_Exp_Month,Weight),
+ FPLine=weighted.mean(FPLine,Weight),
+ FoodKCaloriesHH_Per=weighted.mean(FoodKCaloriesHH_Per,Weight),
+ PovertyLine=weighted.mean(PovertyLine,Weight*Size),
+ PovertyHCR=weighted.mean(FinalPoor,Weight*Size)),by=cluster3]
+ X2 <- MD[FinalPoor==1,.(PovertyGap=weighted.mean(FGT1M,Weight*Size),
+ PovertyDepth=weighted.mean(FGT2M,Weight*Size)),by=cluster3]
+
+
+ X1[,Year:=year]
+ X2[,Year:=year]
+ X <- merge(X1,X2,by=c("Year","cluster3"))
+ FinalClusterResults <- rbind(FinalClusterResults,X)
+
+ # cat(MD[, weighted.mean(FinalPoor,Weight*Size)],"\t")
+ #cat(MD[, weighted.mean(FinalFoodPoor,Weight*Size)],"\t")
+ #cat(MD[, weighted.mean(PovertyLine,Weight*Size)],"\t")
+ #cat(MD[, weighted.mean(FPLine,Weight*Size)],"\t")
+ #cat(MD[, sum(Weight*Size)],"\t")
+
+ MD1<-MD[,.(HHID,FinalPoor)]
+ save(MD1,file=paste0(Settings$HEISProcessedPath,"Y",year,"POORS.rda"))
+
+ MD[, weighted.mean(FinalPoor,Weight*Size)]
+ MD[, weighted.mean(FinalPoor,Weight*Size),by=Region]
+ MD[, weighted.mean(FinalPoor,Weight*Size),by=Old]
+ MD[, weighted.mean(FinalPoor,Weight*Size),by=cluster3]
+ MD[,weighted.mean(FinalPoor,Weight),by=ProvinceName][order(ProvinceName)]
+
+ cat(MD[, weighted.mean(FinalFoodPoor,Weight*Size)],"\t")
+ cat(MD[Old==1, weighted.mean(FinalFoodPoor,Weight*Size)],"\t")
+ cat(MD[Old==0, weighted.mean(FinalFoodPoor,Weight*Size)],"\t")
+
+ DurableD<- MD[ Total_Exp_Month_Per_nondurable>0.8*PovertyLine &
+ Total_Exp_Month_Per_nondurable<1.2*PovertyLine,
+ .(.N,Durable_Adds_Final=weighted.mean((Durable_NoDep+Durable_Emergency)/Total_Exp_Month_nondurable,Weight),
+ PovertyLine=mean(PovertyLine)),
+ by=.(Region,cluster3)]
+
+ DurableD[,PovertyLine_Final:=PovertyLine*(1+Durable_Adds_Final)]
+ MD <- merge(MD,DurableD[,.(cluster3,Region,PovertyLine_Final)],by=c("Region","cluster3"))
+
+ #cat(MD[, weighted.mean(PovertyLine_Final,Weight*Size)])
+ MD[FinalPoor==1,weighted.mean(Total_Exp_Month_Per,Weight)]
+ MD[FinalPoor==1,weighted.mean(Total_Exp_Month_Per,Weight),by=Region]
+
+}
+
+write.csv(FinalClusterResults,file = "FinalClusterResults.csv")
+
+#ggplot(FinalClusterResults)+
+ # geom_line(mapping = aes(x=Year,y=PovertyHCR,col=factor(cluster3),linetype=factor(cluster3)))
+
+
+endtime <- proc.time()
+cat("\n\n============================\nIt took ")
+cat((endtime-starttime)["elapsed"])
+cat(" seconds")
\ No newline at end of file
diff --git a/R/Archive/August 2020/TestPovertyModelsForAllNewAreas.R b/R/Archive/August 2020/TestPovertyModelsForAllNewAreas.R
new file mode 100644
index 00000000..84f3376b
--- /dev/null
+++ b/R/Archive/August 2020/TestPovertyModelsForAllNewAreas.R
@@ -0,0 +1,299 @@
+rm(list=ls())
+
+wtable <- function(dataframe, weights=NULL){
+ if(is.null(weights))
+ weights(dataframe$weigths)
+ if(is.null(weights))
+ return(table(dataframe))
+ t <- table(dataframe)
+ l <- attr(t,"dimnames")
+ v1 <- names(l)[1]
+ v2 <- names(l)[2]
+ vals1 <- l[[v1]]
+ vals2 <- l[[v2]]
+ t[1,1] <- sum(weights[which(dataframe[[v1]]==vals1[1] & dataframe[[v2]]==vals2[1])])
+ t[1,2] <- sum(weights[which(dataframe[[v1]]==vals1[1] & dataframe[[v2]]==vals2[2])])
+ t[2,1] <- sum(weights[which(dataframe[[v1]]==vals1[2] & dataframe[[v2]]==vals2[1])])
+ t[2,2] <- sum(weights[which(dataframe[[v1]]==vals1[2] & dataframe[[v2]]==vals2[2])])
+ return(t)
+}
+
+starttime <- proc.time()
+cat("\n\n================ Classification Models =====================================\n")
+
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+# options(java.parameters = "-Xmx5g")
+# library(readxl)
+library(data.table)
+# library(stringr)
+# library(janitor)
+# library(dplyr)
+# library(Hmisc)
+library(caret)
+# library(caretEnsemble)
+library(gbm)
+library(nnet)
+# library(pROC)
+# library(glmnet)
+library(parallel)
+library(doParallel)
+library(factoextra)
+library(rpart)
+
+#sink("classificationmodelsresults.txt")
+acml <- c("tree","logit","probit","bernoulli","adaboost","huberized","nnet")
+acml <- "tree"
+year <- 94
+for(year in 97:97){
+
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"Data4ClassifactionModels.rda"))
+ #Data <- Data[,-39,with=FALSE]
+ # Data <- Data[,Percentile:=as.numeric(paste0(Percentile))]
+ # Data <- Data[,Percentile_Nominal:=as.numeric(paste0(Percentile_Nominal))]
+ D <- copy(Data)
+ D <- D[,ProvinceName:=NULL]
+ D <- D[,Percentile:=NULL]
+ D <- D[,Percentile_Nominal:=NULL]
+ D <- D[,Decile:=NULL]
+ D <- D[,Decile_Nominal:=NULL]
+ D <- D[,NewArea:=NULL]
+ D <- D[,cluster3:=as.factor(cluster3)]
+ remnames <- c("Total_Exp_Month_Per_nondurable","PovertyLine","TOriginalFoodExpenditure_Per",
+ "Engel","InitialPoor","FPLine","HHID","Real_Total_Exp_Month","Weight","Year","NetIncome",
+ "Real_FoodExpenditure","Real_Durable_Exp","cluster3","NewArea_Name")
+ ClusterList <- unique(D$cluster3)
+
+ # ResultsTestsData <- data.table()
+ Results <- data.table()
+ SepRes <- data.table()
+
+
+ registerDoParallel(6)
+ getDoParWorkers()
+
+
+ Cluster <- "13"
+
+ # XResults <- data.table()
+
+# for(Reg in c("Rural","Urban")){
+ for(Cluster in ClusterList){
+ cat("\n\n======================\n",":",Cluster,"\n")
+ D <- D[,ThisArea := ifelse(cluster3 == Cluster,1,0)]
+ D <- D[,SIS := ifelse(cluster3 %in% c(7,13),1,0)]
+
+
+ dm <- dummyVars("~.",data = D[,setdiff(names(D),remnames),with=FALSE], fullRank = FALSE)
+ D2 <- as.data.table(predict(dm,D))
+ #prop.table(table(D2$FinalPoor))
+
+ outN <- "FinalPoor"
+ predictornames <- names(D2)[! names(D2) %in% c(outN,"ThisArea","SIS")]
+ if(Cluster=="1"){
+ predictornames <- setdiff(predictornames,c("Car"))
+ }
+ D2[is.na(D2)] <- 0
+
+ D2 <- D2[,FP:=as.factor(ifelse(FinalPoor==1,"Poor","NotPoor"))]
+ outF <- "FP"
+
+ pc <- prcomp(D2[,predictornames,with=FALSE])
+ sepid <- which(D2$ThisArea==1)
+ ttid <- which(D2$ThisArea==0 & D2$SIS==0)
+
+ # SepD <- D2[ThisArea==1,c(outF,outN,predictornames),with=FALSE]
+ # D3 <- D2[ThisArea == 0 & SIS==0,]
+ t0 <- Sys.time()
+ imp <- summary(pc)$importance[3,]
+ pidx <- min(which(imp>.99))
+ XcD <- data.frame(pc$x[ttid,1:pidx])
+ XScD <- data.frame(pc$x[sepid,1:pidx])
+
+ t1 <- Sys.time()
+ cat("\nPCA ...",as.character(t1),"\t[",as.character(t1-t0),"]\n")
+
+ XoD <- D2[ttid,predictornames,with=FALSE]
+ yfD <- D2[[outF]][ttid]
+ ynD <- D2[[outN]][ttid]
+
+
+ XSoD <- D2[sepid,predictornames,with=FALSE]
+
+ splitIndex <- createDataPartition(yfD,p=.75,list = FALSE,times = 1)
+
+ for(dtype in c("o")){#},"c")){
+ if(dtype=="o"){
+ XD <- XoD
+ XSep <- XSoD
+ }else{
+ XD <- XcD
+ XSep <- XScD
+ }
+
+ X_train <- XD[splitIndex,] #D3[splitIndex,predictornames,with=FALSE]
+ y_trainF <- yfD[splitIndex]#[[outF]]
+ y_trainN <- ynD[splitIndex]#[[outN]]
+
+ X_test <- XD[-splitIndex,] # D3[-splitIndex,predictornames,with=FALSE]
+ y_testF <- yfD[-splitIndex]#[[outF]]
+ y_testN <- ynD[-splitIndex]#[[outN]]
+
+ X_Sep <- XSep
+ y_SepF <- D2[[outF]][sepid]
+ y_SepN <- D2[[outN]][sepid]
+
+ DTrainN <- data.frame(y=y_trainN, X_train)
+ DTrainF <- data.frame(y=y_trainF, X_train)
+ DTestN <- data.frame(y=y_testN, X_test)
+ DTestF <- data.frame(y=y_testF, X_test)
+ DSepN <- data.frame(y=y_SepN, X_Sep)
+ DSepF <- data.frame(y=y_SepF, X_Sep)
+
+
+ # for(ratio in 10:40/10){
+ # cat(".")
+ #
+ # loss_matr <- matrix(c(0, 1, ratio, 0), nrow = 2, byrow = TRUE)
+ #
+ # objModel <- rpart(y ~ .,DTrainF ,
+ # control=rpart.control(maxdepth=10),
+ # method="class",
+ # parms = list(loss = loss_matr))
+ #
+ # predictions_test <- predict(object = objModel, X_test, type="class")
+ # predictions_sep <- predict(object = objModel, X_Sep, type="class")
+ # testresults <- data.frame(alg=y_testF,
+ # pred=predictions_test)
+ #
+ # ttab <- table(testresults)
+ # ttab
+ # XResults <- rbind(XResults,data.table(AreaName,Reg,"tree",ratio,
+ # Accuracy=sum(diag(ttab))/sum(ttab),
+ # Precision=sum(ttab[1,1])/sum(ttab[,1]),
+ # Recall=sum(ttab[1,1])/sum(ttab[1,]),
+ # FalsePositive=sum(ttab[2,1])/sum(ttab[2,]),
+ # DataHCR=sum(ttab[2,])/sum(ttab),
+ # PredHCR=sum(ttab[,2])/sum(ttab)))
+ # }
+ #describe(X_train)
+ # featurePlot(x = X_test,y = y_test,
+ # between=list(x=1,y=1),
+ # type=c("g","p","smooth"))
+
+ # myctl <- trainControl(method = "cv",
+ # number = 5,
+ # savePredictions = "final",
+ # allowParallel = TRUE,
+ # classProbs = TRUE)
+
+ mdl <- acml[1]
+ for(mdl in acml){
+ cat("\n",mdl,"-",dtype," ... ")
+ t0 <- Sys.time()
+
+ if(mdl=="tree"){
+ loss_matr <- matrix(c(0, 1, 2.1, 0), nrow = 2, byrow = TRUE)
+
+ objModel <- rpart(y ~ .,DTrainF ,
+ control=rpart.control(maxdepth=8),
+ method="class",
+ parms = list(loss = loss_matr))
+
+ predictions_test <- predict(object = objModel, X_test, type="class")
+ predictions_sep <- predict(object = objModel, X_Sep, type="class")
+
+ }else if(mdl %in% c("logit","probit")){
+ objModel <- glm(y ~ . ,data=DTrainF,
+ family = binomial(link = mdl))
+
+ predictions_test_prob <- predict(object = objModel, X_test, type="response")
+ predictions_test <- ifelse(predictions_test_prob > .5, "Poor", "NotPoor")
+ predictions_sep_prob <- predict(object = objModel, X_Sep, type="response")
+ predictions_sep <- ifelse(predictions_sep_prob > .5, "Poor", "NotPoor")
+
+
+ }else if(mdl %in% c("bernoulli","adaboost","huberized")){
+ fmla <- as.formula(paste("FinalPoor ~",paste(names(DTrainN)[-1],collapse = "+")))
+ objModel <- gbm.fit(x = X_train,y = y_trainN ,distribution = mdl,verbose = FALSE)
+ predictions_test_prob <- predict(object = objModel, X_test, type="response", n.trees = 3)
+ predictions_test <- ifelse(predictions_test_prob > .5, "Poor", "NotPoor")
+ predictions_sep_prob <- predict(object = objModel, X_Sep, type="response", n.trees = 3)
+ predictions_sep <- ifelse(predictions_sep_prob > .5, "Poor", "NotPoor")
+ # }else if(mdl=="nnet"){
+ # # objModel <- nnet(x = X_train,y = y_trainN,size = 2)
+ # # predict(object = objModel, X_test, type="raw")
+ # #
+ }else{ #nnet
+
+ objModel <- caret::train(X_train,y_trainF,
+ method = mdl,
+ trControl = myctl,
+ # metric = "ROC",
+ preProcess = c("center","scale"),
+ verbose=FALSE)
+
+ predictions_test <- predict(object = objModel, X_test, type="raw")
+ predictions_Sep <- predict(object = objModel, X_Sep, type="raw")
+ }
+
+
+ testresults <- data.frame(alg=y_testF,
+ pred=predictions_test)
+
+ ttab <- wtable(testresults,D[ttid][-splitIndex]$Weight*D[ttid][-splitIndex]$Size)
+ #ttab
+ Results <- rbind(Results,data.table(dtype,Cluster,mdl,
+ Accuracy=sum(diag(ttab))/sum(ttab),
+ Precision=sum(ttab[1,1])/sum(ttab[,1]),
+ Recall=sum(ttab[1,1])/sum(ttab[1,]),
+ FalsePositive=sum(ttab[2,1])/sum(ttab[2,]),
+ DataHCR=sum(ttab[2,])/sum(ttab),
+ PredHCR=sum(ttab[,2])/sum(ttab)))
+
+ sepresults <- data.frame(alg=y_SepF,
+ pred=predictions_sep)
+
+ ttab <- wtable(sepresults,D[sepid]$Weight*D[sepid]$Size)
+ SepRes <- rbind(SepRes,data.table(dtype,Cluster,mdl,
+ Accuracy=sum(diag(ttab))/sum(ttab),
+ Precision=sum(ttab[1,1])/sum(ttab[,1]),
+ Recall=sum(ttab[1,1])/sum(ttab[1,]),
+ FalsePositive=sum(ttab[2,1])/sum(ttab[2,]),
+ DataHCR=sum(ttab[2,])/sum(ttab),
+ PredHCR=sum(ttab[,2])/sum(ttab)))
+ t1 <- Sys.time()
+ cat(as.character(t1),"\t[",as.character(t1-t0),"]\n")
+
+ }
+ }
+ }
+ }
+#}
+Results[,DiffHCR:=DataHCR-PredHCR]
+Results[,Diff:=(DataHCR/PredHCR-1)^2]
+Results <- Results[!is.na(Diff)]
+View(Results)
+SepRes[,DiffHCR:=DataHCR-PredHCR]
+SepRes[,Diff:=(DataHCR/PredHCR-1)^2]
+SeSepRes <- SepRes[!is.na(Diff)]
+View(SepRes)
+#sink()
+#View(ResultsTestsData)
+
+
+
+D[cluster3==12,weighted.mean(Total_Exp_Month_Per_nondurable76,lapply(.SD, mean,na.rm=TRUE)]
+View(rbind(S1,S2,S3,S4))
diff --git a/R/Archive/August 2020/TornqvistPriceIndex.R b/R/Archive/August 2020/TornqvistPriceIndex.R
new file mode 100644
index 00000000..8b4edbe1
--- /dev/null
+++ b/R/Archive/August 2020/TornqvistPriceIndex.R
@@ -0,0 +1,185 @@
+# Tornqvist Price Index
+#
+# Copyright 2020 Zahra Shahidi & Majid Einian
+
+
+rm(list=ls())
+
+starttime <- proc.time()
+cat("\n\n================ Nominal to Real =====================================\n")
+
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+# Settings$InitialPoorPercentile <- 1:22
+# Settings$startyear <- 77
+#library(readxl)
+library(data.table)
+#library(ggplot2)
+
+# Function Defs ---------------------------------------------------------------------------------
+CalcTornqvistIndex <- function(DataTable,by=c("Region","NewArea2")){
+ X <- DataTable[,.(N=.N,wi1=weighted.mean(FoodExpenditure/Total_Exp_Month,Weight,na.rm = TRUE),
+ wi2=weighted.mean(ServiceExp/Total_Exp_Month,Weight,na.rm = TRUE),
+ pi1=weighted.mean(Bundle_Value,Weight,na.rm = TRUE),
+ pi2=weighted.mean(MetrPrice,Weight,na.rm = TRUE)),by=by]
+
+ X[,wi:=wi1+wi2]
+ X[,wi1:=wi1/wi]
+ X[,wi2:=wi2/wi]
+ XTeh<-X[NewArea2=="Sh_Tehran",lapply(.SD, mean),.SDcols=setdiff(names(X),by)]
+ wk1<-XTeh$wi1 # k == Sh_Tehran
+ wk2<-XTeh$wi2
+ pk1<-XTeh$pi1
+ pk2<-XTeh$pi2
+
+ X[,SimpleIndex:= .5 * pi1/pk1 + .5 * pi2/pk2]
+ X[,AnotherIndex:= wi1 * pi1/pk1 + wi2 * pi2/pk2]
+
+ X[,TornqvistIndex:= exp( (wk1+wi1)/2 * log(pi1/pk1) + (wk2+wi2)/2 * log(pi2/pk2) ) ]
+
+
+ # print(X[Region=="Rural" & NewArea2=="Semnan",])
+ # if("Percentile" %in% names(DataTable))
+ # print(DataTable[Region=="Rural" & NewArea2=="Semnan",.(min=min(as.integer(Percentile)),max=max(as.integer(Percentile))),by=.(Region,NewArea2)])
+ if(any(X$N<10))
+ warning(paste0("Less than 10: "))#,X[N<10,paste0(Region,NewArea2,Quintile)],": ",X[N<10,N],"\n"))
+ X[,PriceIndex:=TornqvistIndex]
+ return(X[,c(by,"PriceIndex"),with=FALSE])
+}
+
+
+DoDeciling_SetInitialPoor <- function(DataTable,PriceIndexDT,by=c("Region","NewArea2")){
+
+ if("PriceIndex" %in% names(DataTable)){
+ DataTable <- DataTable[,PriceIndex:=NULL]
+ }
+ DataTable <- merge(DataTable,PriceIndexDT,by=by)
+
+
+ DataTable <- DataTable[,Total_Exp_Month_Per_nondurable_Real:=Total_Exp_Month_Per_nondurable/PriceIndex]
+
+ DataTable <- DataTable[order(Total_Exp_Month_Per_nondurable_Real)]
+ DataTable <- DataTable[,xr25th:=.SD[25,Total_Exp_Month_Per_nondurable_Real],by=by]
+ DataTable <- DataTable[,First25:=ifelse(Total_Exp_Month_Per_nondurable_Real<=xr25th,1,0)]
+
+ DataTable <- DataTable[order(Total_Exp_Month_Per_nondurable_Real)] # I removed Region from ordering, deciling is not divided into rural/urban (M.E. 5/11/2020)
+ DataTable <- DataTable[,crw:=cumsum(Weight*Size)/sum(Weight*Size)] # Cumulative Relative Weight
+
+ #Calculate deciles by weights
+ DataTable <- DataTable[,Quartile:=cut(crw,breaks = seq(0,1,.25),labels = 1:4)]
+ DataTable <- DataTable[,Quintile:=cut(crw,breaks = seq(0,1,.2),labels = 1:5)]
+ DataTable <- DataTable[,Decile:=cut(crw,breaks = seq(0,1,.1),labels = 1:10)]
+ DataTable <- DataTable[,Percentile:=cut(crw,breaks=seq(0,1,.01),labels=1:100)]
+
+ DataTable <- DataTable[,InitialPoorBasedOnPercentile:=ifelse(Percentile %in% Settings$InitialPoorPercentile,1,0)]
+
+ return(DataTable)
+}
+
+ # Main loop for years ----------------------------------------------------------------
+for(year in (Settings$startyear:Settings$endyear)){
+ cat(paste0("\n------------------------------\nYear:",year,"\n"))
+
+ # load data --------------------------------------
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"Merged4CBN3.rda"))
+
+ SMD <- MD[,.(HHID,Region,
+ ServiceExp,FoodExpenditure,Total_Exp_Month,
+ NewArea,NewArea2,Total_Exp_Month_Per_nondurable,TOriginalFoodExpenditure_Per,
+ # Total_Exp_Month_Per_nondurable2,TFoodExpenditure_Per2,
+ TFoodKCaloriesHH_Per,Calorie_Need_WorldBank,Calorie_Need_Anstitoo,
+ Weight,MetrPrice,Size,EqSizeOECD)]
+
+ #Choose one of these
+ SMD[,Bundle_Value:=TOriginalFoodExpenditure_Per*Calorie_Need_WorldBank/TFoodKCaloriesHH_Per]
+ #SMD[,Bundle_Value:=TOriginalFoodExpenditure_Per*Calorie_Need_Anstitoo/TFoodKCaloriesHH_Per]
+ #SMD[,Bundle_Value:=TOriginalFoodExpenditure_Per*Settings$KCaloryNeed_Adult_WorldBank/TFoodKCaloriesHH_Per]
+ #SMD[,Bundle_Value:=TOriginalFoodExpenditure_Per*Settings$KCaloryNeed_Adult_Anstitoo/TFoodKCaloriesHH_Per]
+
+
+ SMD <- SMD[Bundle_Value<=5000000 | TFoodKCaloriesHH_Per>=300] #arbitrary measures, TODO: check in diff years
+
+ PriceDT <- CalcTornqvistIndex(SMD)
+ SMD <- DoDeciling_SetInitialPoor(SMD,PriceDT)
+
+ SMD <- SMD[,QuartileOnPricesForAll:=Quartile]
+ SMD <- SMD[,QuintileOnPricesForAll:=Quintile]
+ SMD <- SMD[,DecileOnPricesForAll:=Decile]
+ SMD <- SMD[,PercentileOnPricesForAll:=Percentile]
+
+
+
+ SMD[,InitialPoorBasedOnPercentileLastIteration:=1]
+ i <- 0
+ while(SMD[,sum((InitialPoorBasedOnPercentile-InitialPoorBasedOnPercentileLastIteration)^2)]>0.002*nrow(SMD) & i <50){
+ i <- i+1
+ SMD[,InitialPoorBasedOnPercentileLastIteration:=InitialPoorBasedOnPercentile]
+
+ SMDIterationPoor <- SMD[InitialPoorBasedOnPercentileLastIteration==1 | First25==1 ]
+
+ # if(nrow(SMDIterationPoor[,.N,by=.(Region,NewArea2)])<78)
+ # stop("HERE Some Area goes missing!")
+ # if(min(SMDIterationPoor[,.N,by=.(Region,NewArea2)]$N)==0)
+ # stop("HERE Some Area goes missing!")
+ #
+ PriceDTBasedOnThisIterationPoor <- CalcTornqvistIndex(SMDIterationPoor)
+ # print(PriceDTBasedOnThisIterationPoor[Region=="Rural" & NewArea2=="Semnan",])
+ SMD <- DoDeciling_SetInitialPoor(SMD,PriceDTBasedOnThisIterationPoor)
+
+ cat("\n",i,":",SMD[,sum((InitialPoorBasedOnPercentile-InitialPoorBasedOnPercentileLastIteration)^2)])
+ }
+
+ SMD <- SMD[,QuartileOnPricesForInitialPoor:=Quartile]
+ SMD <- SMD[,QuintileOnPricesForInitialPoor:=Quintile]
+ SMD <- SMD[,DecileOnPricesForInitialPoor:=Decile]
+ SMD <- SMD[,PercentileOnPricesForInitialPoor:=Percentile]
+ save(SMD,file=paste0(Settings$HEISProcessedPath,"Y",year,"SMD.rda"))
+
+ table(SMD[,.(QuintileOnPricesForAll,QuintileOnPricesForInitialPoor)])
+
+ SMD[,Quartile:=QuintileOnPricesForAll]
+ SMD[,QuartileLastIteration:=QuintileOnPricesForInitialPoor]
+ i <- 0
+ while(SMD[,mean((as.integer(Quartile)-as.integer(QuartileLastIteration))^2)]>.4 & i <=12){
+ i <- i+1
+ SMD[,QuartileLastIteration:=Quartile]
+
+ PriceDTBasedOnThisIteration <- CalcTornqvistIndex(SMD,by=c("Region","NewArea2","Quartile"))
+ SMD <- DoDeciling_SetInitialPoor(SMD,PriceDTBasedOnThisIteration,by=c("Region","NewArea2","Quartile"))
+
+ SMD <- SMD[,X:=Total_Exp_Month_Per_nondurable]
+
+ SMD <- SMD[,NewP:=PriceIndex]
+ SMD <- SMD[,NewXR:=Total_Exp_Month_Per_nondurable_Real]
+ SMD <- SMD[,NewQ:=Quartile]
+
+ setnames(SMD,"NewP",sprintf("P%02d", i))
+ setnames(SMD,"NewXR",sprintf("XR%02d", i))
+ setnames(SMD,"NewQ",sprintf("Q%02d", i))
+
+ cat("\n",i,":",SMD[,mean((as.integer(Quartile)-as.integer(QuartileLastIteration))^2)])
+ # cat("\n")
+ # print(table(SMD[,.(Quintile,QuartileLastIteration)]))
+ }
+
+ SMD <- SMD[,QuartileOnPricesForEachQuartile:=Quartile]
+ SMD <- SMD[,QuintileOnPricesForEachQuartile:=Quintile]
+ SMD <- SMD[,DecileOnPricesForEachQuartile:=Decile]
+ SMD <- SMD[,PercentileOnPricesForEachQuartile:=Percentile]
+ save(SMD,file=paste0(Settings$HEISProcessedPath,"Y",year,"SMD.rda"))
+
+
+
+ MD <- merge(MD,SMD[,.(HHID,Bundle_Value,InitialPoorBasedOnPercentile,Decile,Percentile)],by="HHID")
+ setnames(MD,"InitialPoorBasedOnPercentile","InitialPoor") # or maybe InitialPoorBasedOnRealIterativePercentile !
+
+
+ MD[,weighted.mean(InitialPoor,Weight,na.rm = TRUE), by=.(NewArea2,Region)]
+
+ save(MD,file=paste0(Settings$HEISProcessedPath,"Y",year,"InitialPoor.rda"))
+
+}
+
+
+endtime <- proc.time()
+cat("\n\n============================\nIt took ",(endtime-starttime)["elapsed"]," seconds")
diff --git a/R/Archive/August 2020/berenj.pdf b/R/Archive/August 2020/berenj.pdf
new file mode 100644
index 00000000..4764a941
Binary files /dev/null and b/R/Archive/August 2020/berenj.pdf differ
diff --git a/R/Archive/August 2020/calory.pdf b/R/Archive/August 2020/calory.pdf
new file mode 100644
index 00000000..7918297f
Binary files /dev/null and b/R/Archive/August 2020/calory.pdf differ
diff --git a/R/Archive/August 2020/ejare.R b/R/Archive/August 2020/ejare.R
new file mode 100644
index 00000000..9f888b3b
--- /dev/null
+++ b/R/Archive/August 2020/ejare.R
@@ -0,0 +1,68 @@
+# 168- Step 8,9-Poverty Line.R
+#
+# Copyright © 2018:Majid Einian & Arin Shahbazian
+# Licence: GPL-3
+
+rm(list=ls())
+
+starttime <- proc.time()
+cat("\n\n================ Ejare =====================================\n")
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+library(readxl)
+library(data.table)
+library(ggplot2)
+library(stats)
+library(spatstat)
+
+DT1 <- data.table(Year=NA_integer_,Exp=NA_real_,Exp_Pure=NA_real_,
+ Region=NA_character_,
+ Malek=NA_integer_,Decile=NA_real_)[0]
+
+DT2 <- data.table(Year=NA_integer_,Exp=NA_real_,Region=NA_character_,
+ Malek=NA_integer_,Decile=NA_real_)[0]
+
+for(year in (Settings$startyear:Settings$endyear)){
+ cat(paste0("\nYear:",year,"\t"))
+
+ # load data --------------------------------------
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"FINALPOORS.rda"))
+ load(file = paste0(Settings$HEISProcessedPath,"Y",year,"TotalFoodCon.rda"))
+ load(file = paste0(Settings$HEISProcessedPath,"Y",year,"TotalFoodExp.rda"))
+ #load(file = paste0(Settings$HEISProcessedPath,"Y",year,"TotalDurable.rda"))
+ load(file = paste0(Settings$HEISProcessedPath,"Y",year,"Durables.rda"))
+
+ MD[,Durable_Exp:=NULL]
+ MD[,Durable_Sale:=NULL]
+
+ if (year >= 90){
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"Deciles.rda"))
+ MD[,Decile:=NULL]
+ MD[,Percentile:=NULL]
+ MD<-merge(MD,Deciles,by="HHID")
+ }
+
+ if (year < 90){
+ MD<-merge(MD,TotalFoodCon,by="HHID",all.x=TRUE)
+ }
+
+ MD<-merge(MD,TotalFoodExp[,.(HHID,G01111,G01114,G01121,G01123,G0114,G01153,`011731`)],by="HHID",all.x=TRUE)
+ MD<-merge(MD,DurableData,by="HHID",all.x=TRUE)
+ MD[,Malek:=ifelse(tenure=="OwnLandandBuilding" | tenure=="Apartment" ,1,0)]
+
+ X <- MD[,.(Exp_Pure=weighted.mean(Total_Exp_Month_Per-(ServiceExp/EqSizeOECD),Weight),
+ Exp=weighted.mean(Total_Exp_Month_Per,Weight)),by=c("Region","Malek","Decile")]
+ X[,Year:=year]
+ DT1 <- rbind(DT1,X)
+ write.csv(DT1,file="DT1.csv")
+
+
+
+}
+
+
+endtime <- proc.time()
+cat("\n\n============================\nIt took ")
+cat((endtime-starttime)["elapsed"])
+cat(" seconds")
\ No newline at end of file
diff --git a/R/Archive/August 2020/goosht.pdf b/R/Archive/August 2020/goosht.pdf
new file mode 100644
index 00000000..481578bc
Binary files /dev/null and b/R/Archive/August 2020/goosht.pdf differ
diff --git a/R/Archive/August 2020/makaroni.pdf b/R/Archive/August 2020/makaroni.pdf
new file mode 100644
index 00000000..d92c85e8
Binary files /dev/null and b/R/Archive/August 2020/makaroni.pdf differ
diff --git a/R/Archive/August 2020/mive.pdf b/R/Archive/August 2020/mive.pdf
new file mode 100644
index 00000000..bcb3bd91
Binary files /dev/null and b/R/Archive/August 2020/mive.pdf differ
diff --git a/R/Archive/August 2020/morgh.pdf b/R/Archive/August 2020/morgh.pdf
new file mode 100644
index 00000000..787bd1a6
Binary files /dev/null and b/R/Archive/August 2020/morgh.pdf differ
diff --git a/R/Archive/August 2020/nan.pdf b/R/Archive/August 2020/nan.pdf
new file mode 100644
index 00000000..4e9697dd
Binary files /dev/null and b/R/Archive/August 2020/nan.pdf differ
diff --git a/R/Archive/August 2020/sabad23.R b/R/Archive/August 2020/sabad23.R
new file mode 100644
index 00000000..27939023
--- /dev/null
+++ b/R/Archive/August 2020/sabad23.R
@@ -0,0 +1,194 @@
+# 703-Bundle 2100
+# Builds the Food Groups data.table for households
+#
+# Copyright © 2019: Arin Shahbazian
+# Licence: GPL-3
+
+rm(list=ls())
+starttime <- proc.time()
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+library(readxl)
+library(data.table)
+library(ggplot2)
+
+library(data.table)
+library(stringr)
+library(readxl)
+library(spatstat)
+library(writexl)
+year<-95
+for(year in (Settings$startyear:Settings$endyear)){
+ cat(paste0("\n------------------------------\nYear:",year,"\n"))
+
+ # load data --------------------------------------
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"InitialPoorClustered.rda"))
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"FoodPrices.rda"))
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"FoodGrams.rda"))
+
+ MD<-merge(MD,FoodPrices,all.x=TRUE,by="HHID")
+ MD<-merge(MD,FoodGrams,all.x=TRUE,by="HHID")
+ load( file = paste0(Settings$HEISProcessedPath,"Y",year,"BigFData.rda"))
+ load(file = paste0(Settings$HEISProcessedPath,"Y",year,"Food_Calories.rda"))
+ MetaData <- read_excel(Settings$MetaDataFilePath, Settings$MDS_FoodGroups)
+ MetaData<-as.data.table(MetaData)
+ MetaData<-MetaData[,SheetName:=NULL]
+ FoodNames<-MetaData
+ save(FoodNames,file ="FoodNames.rda" )
+ load(file = "FoodNames.rda")
+
+ # y<-MD[,weighted.mean(FoodKCaloriesHH_Per,Weight),by=c("Region","Decile")]
+
+
+ MD[,NewPoor:=InitialPoor]
+ MD[,OldPoor:=1]
+ load( file = paste0(Settings$HEISProcessedPath,"Y",year,"BigFData.rda"))
+ goosht<-BigFData[FoodType=="Goosht"]
+ goosht<-goosht[,Goosht_Grams:=FGrams*30]
+ morgh<-BigFData[FoodType=="Morgh"]
+ morgh<-morgh[,Morgh_Grams:=FGrams*30]
+ mive<-BigFData[FoodType=="Mive"]
+ mive<-mive[,Mive_Grams:=FGrams*30]
+ nan<-BigFData[FoodType=="Nan"]
+ nan<-nan[,Nan_Grams:=FGrams*30]
+ sibzamini<-BigFData[FoodType=="Sibzamini"]
+ sibzamini<-sibzamini[,Sibzamini_Grams:=FGrams*30]
+ makarooni<-BigFData[FoodType=="Makarooni"]
+ makarooni<-makarooni[,Makarooni_Grams:=FGrams*30]
+ berenj<-BigFData[FoodType=="Berenj"]
+ berenj<-berenj[,Berenj_Grams:=FGrams*30]
+ hoboobat<-BigFData[FoodType=="Hoboobat"]
+ hoboobat<-hoboobat[,Hoboobat_Grams:=FGrams*30]
+ sabzi<-BigFData[FoodType=="Sabzi"]
+ sabzi<-sabzi[,Sabzi_Grams:=FGrams*30]
+ roghan<-BigFData[FoodType=="Roghan"]
+ roghan<-roghan[,Roghan_Grams:=FGrams*30]
+ ghand<-BigFData[FoodType=="Ghand"]
+ ghand<-ghand[,Ghand_Grams:=FGrams*30]
+ labaniat<-BigFData[FoodType=="Shir" | FoodType=="Mast" | FoodType=="Panir"]
+ labaniat<-labaniat[,.(HHID,FGrams)]
+ labaniat<-labaniat[,lapply(.SD,sum),by=c("HHID")]
+ labaniat<-labaniat[,Labaniat_Grams:=FGrams*30]
+ tokhmemorgh<-BigFData[FoodType=="Tokhmemorgh"]
+ tokhmemorgh<-tokhmemorgh[,Tokhmemorgh_Grams:=FGrams*30]
+ MD<-merge(MD,goosht[,.(HHID,Goosht_Grams)],by=c("HHID"),all.x = T)
+ MD<-merge(MD,morgh[,.(HHID,Morgh_Grams)],by=c("HHID"),all.x = T)
+ MD<-merge(MD,mive[,.(HHID,Mive_Grams)],by=c("HHID"),all.x = T)
+ MD<-merge(MD,nan[,.(HHID,Nan_Grams)],by=c("HHID"),all.x = T)
+ MD<-merge(MD,sibzamini[,.(HHID,Sibzamini_Grams)],by=c("HHID"),all.x = T)
+ MD<-merge(MD,makarooni[,.(HHID,Makarooni_Grams)],by=c("HHID"),all.x = T)
+ MD<-merge(MD,berenj[,.(HHID,Berenj_Grams)],by=c("HHID"),all.x = T)
+ MD<-merge(MD,hoboobat[,.(HHID,Hoboobat_Grams)],by=c("HHID"),all.x = T)
+ MD<-merge(MD,sabzi[,.(HHID,Sabzi_Grams)],by=c("HHID"),all.x = T)
+ MD<-merge(MD,roghan[,.(HHID,Roghan_Grams)],by=c("HHID"),all.x = T)
+ MD<-merge(MD,ghand[,.(HHID,Ghand_Grams)],by=c("HHID"),all.x = T)
+ MD<-merge(MD,labaniat[,.(HHID,Labaniat_Grams)],by=c("HHID"),all.x = T)
+ MD<-merge(MD,tokhmemorgh[,.(HHID,Tokhmemorgh_Grams)],by=c("HHID"),all.x = T)
+
+ i <- 0
+ while(MD[(NewPoor-OldPoor)!=0,.N]>0.001*nrow(MD[NewPoor==1]) & i <=15){
+ # cat(nrow(MD[NewPoor==1]))
+ i <- i + 1
+ MD[,ThisIterationPoor:=NewPoor]
+ MD[,FPLine:=NULL]
+ MD[,Selected_Group:=ifelse((Region=="Urban" & Decile==3) |
+ (Region=="Rural" & Decile==2),1,0)]
+
+ MDP <- MD [Selected_Group==1,
+ .(FPLine=0.001*
+ (weighted.mean(LavashPrice,Weight,na.rm = TRUE)*weighted.mean(Nan_Grams/EqSizeCalory,Weight*Size,na.rm=TRUE)+
+ weighted.mean(Rice_TaromPrice,Weight,na.rm = TRUE)*weighted.mean(Berenj_Grams/EqSizeCalory,Weight*Size,na.rm=TRUE)+
+ weighted.mean(MacaroniPrice,Weight,na.rm = TRUE)*weighted.mean(Makarooni_Grams/EqSizeCalory,Weight*Size,na.rm=TRUE)+
+ weighted.mean(AdasPrice,Weight,na.rm = TRUE)*weighted.mean(Hoboobat_Grams/EqSizeCalory,Weight*Size,na.rm=TRUE)+
+ weighted.mean(SibzaminiPrice,Weight,na.rm = TRUE)*weighted.mean(Sibzamini_Grams/EqSizeCalory,Weight*Size,na.rm=TRUE)+
+ weighted.mean(Sabzi_KhordanPrice,Weight,na.rm = TRUE)*weighted.mean(Sabzi_Grams/EqSizeCalory,Weight*Size,na.rm=TRUE)+
+ weighted.mean(Banana_CoconutPrice,Weight,na.rm = TRUE)*weighted.mean(Mive_Grams/EqSizeCalory,Weight*Size,na.rm=TRUE)+
+ weighted.mean(LivestockGrams,Weight,na.rm = TRUE)*weighted.mean(Goosht_Grams/EqSizeCalory,Weight*Size,na.rm=TRUE)+
+ weighted.mean(PoultryMeat_MPrice,Weight,na.rm = TRUE)*weighted.mean(Morgh_Grams/EqSizeCalory,Weight*Size,na.rm=TRUE)+
+ weighted.mean(Egg_MashinPrice,Weight,na.rm = TRUE)*weighted.mean(Tokhmemorgh_Grams/EqSizeCalory,Weight*Size,na.rm=TRUE)+
+ weighted.mean(Milk_PasteurizedPrice,Weight,na.rm = TRUE)*weighted.mean(Labaniat_Grams/EqSizeCalory,Weight*Size,na.rm=TRUE)+
+ weighted.mean(Oil_NabatiPrice,Weight,na.rm = TRUE)*weighted.mean(Roghan_Grams/EqSizeCalory,Weight*Size,na.rm=TRUE)+
+ weighted.mean(GhandPrice,Weight,na.rm = TRUE)*weighted.mean(Ghand_Grams/EqSizeCalory,Weight*Size,na.rm=TRUE))),
+ by=.(cluster3,Region)]
+ MDP<-MDP[,lapply(.SD,sum),by=c("cluster3","Region")]
+ price<- MD[Selected_Group==1,
+ .(LavashPrice=weighted.mean(LavashPrice,Weight,na.rm = TRUE),
+ Rice_TaromPrice=weighted.mean(Rice_TaromPrice,Weight,na.rm = TRUE),
+ MacaroniPrice=weighted.mean(MacaroniPrice,Weight,na.rm = TRUE),
+ HobubatPrice=weighted.mean(AdasPrice,Weight,na.rm = TRUE),
+ SibzaminiPrice=weighted.mean(SibzaminiPrice,Weight,na.rm = TRUE),
+ Sabzi_KhordanPrice=weighted.mean(Sabzi_KhordanPrice,Weight,na.rm = TRUE),
+ Banana_CoconutPrice=weighted.mean(Banana_CoconutPrice,Weight,na.rm = TRUE),
+ LivestockGrams=weighted.mean(LivestockGrams,Weight,na.rm = TRUE),
+ PoultryMeat_MPrice=weighted.mean(PoultryMeat_MPrice,Weight,na.rm = TRUE),
+ Egg_MashinPrice=weighted.mean(Egg_MashinPrice,Weight,na.rm = TRUE),
+ Milk_PasteurizedPrice=weighted.mean(Milk_PasteurizedPrice,Weight,na.rm = TRUE),
+ Oil_NabatiPrice=weighted.mean(Oil_NabatiPrice,Weight,na.rm = TRUE),
+ GhandPrice=weighted.mean(GhandPrice,Weight,na.rm = TRUE))]
+ #by=.(cluster3,Region)]
+ gram <-MD [Selected_Group==1,
+ .(Nan_Grams= weighted.mean(Nan_Grams/EqSizeCalory,Weight*Size,na.rm=TRUE),
+ Berenj_Grams= weighted.mean(Berenj_Grams/EqSizeCalory,Weight*Size,na.rm=TRUE),
+ Makarooni_Grams=weighted.mean(Makarooni_Grams/EqSizeCalory,Weight*Size,na.rm=TRUE),
+ Hoboobat_Grams=weighted.mean(Hoboobat_Grams/EqSizeCalory,Weight*Size,na.rm=TRUE),
+ Sibzamini_Grams=weighted.mean(Sibzamini_Grams/EqSizeCalory,Weight*Size,na.rm=TRUE),
+ Sabzi_Grams=weighted.mean(Sabzi_Grams/EqSizeCalory,Weight*Size,na.rm=TRUE),
+ Mive_Grams=weighted.mean(Mive_Grams/EqSizeCalory,Weight*Size,na.rm=TRUE),
+ Goosht_Grams=weighted.mean(Goosht_Grams/EqSizeCalory,Weight*Size,na.rm=TRUE),
+ Morgh_Grams=weighted.mean(Morgh_Grams/EqSizeCalory,Weight*Size,na.rm=TRUE),
+ Tokhmemorgh_Grams=weighted.mean(Tokhmemorgh_Grams/EqSizeCalory,Weight*Size,na.rm=TRUE),
+ Labaniat_Grams=weighted.mean(Labaniat_Grams/EqSizeCalory,Weight*Size,na.rm=TRUE),
+ Roghan_Grams=weighted.mean(Roghan_Grams/EqSizeCalory,Weight*Size,na.rm=TRUE),
+ Ghand_Grams=weighted.mean(Ghand_Grams/EqSizeCalory,Weight*Size,na.rm=TRUE)),
+ by=.(cluster3,Region)]
+
+ MDP[is.na(MDP)] <- 0
+ min<-MDP[FPLine>0,min(FPLine)]
+ MDP[,FPLine:=ifelse(FPLine==0,min,FPLine)]
+
+ MD <- merge(MD,MDP,all.x=TRUE,by=c("Region","cluster3"))
+ # print(MDP)
+ #x<-MD[,.(NewArea,Region,FPLine,InitialPoor)]
+ MD[,NewPoor:=ifelse(TOriginalFoodExpenditure_Per < FPLine,1,0)]
+ # print(table(MD[,.(ThisIterationPoor,NewPoor)]))
+ MD[,OldPoor:=ThisIterationPoor]
+ }
+
+ MD[,FinalFoodPoor:=OldPoor]
+
+ # MD <- MD[,.(HHID,HIndivNo,Region,NewArea,NewArea_Name,cluster3,ProvinceCode,Size,HAge,HSex,Month,ServiceExp,
+ # HLiterate,HEduLevel0,HActivityState,Area,Rooms,MetrPrice,Total_Exp_Month_nondurable,
+ # Total_Exp_Month_Per_nondurable,TOriginalFoodExpenditure_Per,
+ # OriginalFoodExpenditure_Per,FPLine,Weight,Percentile,FinalFoodPoor,
+ # Total_Exp_Month_Per,TFoodKCaloriesHH_Per,TOriginalFoodExpenditure,Total_Exp_Month,
+ # TFoodExpenditure2,Total_Exp_Month_nondurable2,Total_Exp_Month2,
+ # Total_Exp_Month_Per2,
+ # EqSizeOECD,EqSizeCalory,Decile,Bundle_Value)]
+ save(MD,file=paste0(Settings$HEISProcessedPath,"Y",year,"FinalFoodPoor.rda"))
+ MD[,weighted.mean(FinalFoodPoor,Weight)]
+ # MDFinalfood<-MD[,.(HHID,Region,NewArea,cluster3,Percentile,FinalFoodPoor)]
+ # UrbanFinalfood<-MDFinalfood[Region=="Urban"]
+ # RuralFinalfood<-MDFinalfood[Region=="Rural"]
+ # save(UrbanFinalfood, file=paste0(Settings$HEISProcessedPath,"Y",year,"UrbanFinalfood.rda"))
+ # save(RuralFinalfood, file=paste0(Settings$HEISProcessedPath,"Y",year,"RuralFinalfood.rda"))
+ #
+ MD[,weighted.mean(FinalFoodPoor,Weight),by=c("Region","ProvinceCode")][order(Region,ProvinceCode)]
+ MD[,weighted.mean(FinalFoodPoor,Weight),by=cluster3][order(cluster3)]
+ # cat(MD[,weighted.mean(FPLine,Weight)])
+ # cat(MD[cluster3==13,weighted.mean(Calory_Price,Weight)])
+ #cat(MD[cluster3==1,weighted.mean(TOriginalFoodExpenditure_Per,Weight)])
+ x<-MD[,weighted.mean(FPLine,Weight),by="cluster3"]
+
+
+ # cat(MD[,weighted.mean(TOriginalFoodExpenditure_Per,Weight)],"\n")
+ # cat(MD[,weighted.mean(TFoodKCaloriesHH_Per,Weight,na.rm = TRUE)],"\n")
+ # cat(MD[,weighted.mean(Calory_Price,Weight,na.rm = TRUE)],"\n")
+ # cat(MD[cluster3==1,weighted.mean(FPLine,Weight,na.rm = TRUE)],"\n")
+ cat(MD[,weighted.mean(FPLine,Weight,na.rm = TRUE)],"\n")
+}
+
+endtime <- proc.time()
+cat("\n\n============================\nIt took ")
+cat((endtime-starttime)["elapsed"])
+cat(" seconds")
+
diff --git a/R/Archive/August 2020/sibzamini.pdf b/R/Archive/August 2020/sibzamini.pdf
new file mode 100644
index 00000000..ec1eb012
Binary files /dev/null and b/R/Archive/August 2020/sibzamini.pdf differ
diff --git a/R/Archive/December 2020/168 other.R b/R/Archive/December 2020/168 other.R
new file mode 100644
index 00000000..881a5c13
--- /dev/null
+++ b/R/Archive/December 2020/168 other.R
@@ -0,0 +1,312 @@
+# 168-Step8-PovertyStats.R
+#
+# Copyright © 2018-2020:Majid Einian & Arin Shahbazian
+# Licence: GPL-3
+
+rm(list=ls())
+
+starttime <- proc.time()
+cat("\n\n================ Poverty Line =====================================\n")
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+library(readxl)
+library(data.table)
+library(writexl)
+
+
+FinalCountryResults <- data.table(Year = numeric(0),
+ SampleSize = integer(0), MeterPrice = numeric(0),
+ House_Share = numeric(0), FPLine = numeric(0), Bundle_Value = numeric(0),
+ FoodKCaloriesHH_Per = numeric(0), Engel = numeric(0), Total_Exp_Month_Per = numeric(0),
+ Total_Exp_Month_Per_nondurable = numeric(0), PovertyLine = numeric(0),
+ PovertyHCR = numeric(0), PoorSampleSize = integer(0), PovertyGap = numeric(0), Durable_Adds_Final = numeric(0),
+ PovertyDepth = numeric(0),PovertyLine_Final= numeric(0))
+FinalRegionResults <- data.table(Year = numeric(0),
+ Region=character(0),
+ SampleSize = integer(0), MeterPrice = numeric(0),
+ House_Share = numeric(0), FPLine = numeric(0), Bundle_Value = numeric(0),
+ FoodKCaloriesHH_Per = numeric(0), Engel = numeric(0), Total_Exp_Month_Per = numeric(0),
+ Total_Exp_Month_Per_nondurable = numeric(0), PovertyLine = numeric(0), Durable_Adds_Final = numeric(0),
+ PovertyHCR = numeric(0), PoorSampleSize = integer(0), PovertyGap = numeric(0),
+ PovertyDepth = numeric(0),PovertyLine_Final= numeric(0))
+FinalClusterResults <- data.table(Year = numeric(0),
+ cluster3=character(0),
+ SampleSize = integer(0), MeterPrice = numeric(0),
+ House_Share = numeric(0), FPLine = numeric(0), Bundle_Value = numeric(0),
+ FoodKCaloriesHH_Per = numeric(0), Engel = numeric(0), Total_Exp_Month_Per = numeric(0),
+ Total_Exp_Month_Per_nondurable = numeric(0), PovertyLine = numeric(0), Durable_Adds_Final = numeric(0),
+ PovertyHCR = numeric(0), PoorSampleSize = integer(0), PovertyGap = numeric(0),
+ PovertyDepth = numeric(0),PovertyLine_Final= numeric(0))
+FinalProvinceResults <- data.table(Year = numeric(0),
+ ProvinceName=character(0),
+ SampleSize = integer(0), MeterPrice = numeric(0),
+ House_Share = numeric(0), FPLine = numeric(0), Bundle_Value = numeric(0),
+ FoodKCaloriesHH_Per = numeric(0), Engel = numeric(0), Total_Exp_Month_Per = numeric(0),
+ Total_Exp_Month_Per_nondurable = numeric(0), PovertyLine = numeric(0), Durable_Adds_Final = numeric(0),
+ PovertyHCR = numeric(0), PoorSampleSize = integer(0), PovertyGap = numeric(0),
+ PovertyDepth = numeric(0),PovertyLine_Final= numeric(0))
+
+OriginalFoodShare <- data.table(Year=NA_integer_,Share=NA_integer_,FinalPoor=NA_integer_)[0]
+
+year<-98
+for(year in (Settings$startyear:Settings$endyear)){
+ cat(paste0("\nYear:",year,"\t"))
+
+ # load data --------------------------------------
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"FoodPoor.rda"))
+ load(file=paste0(Settings$HEISProcessedPath,"BigEngelTable.rda"))
+
+ #MD<-MD[Region=="Rural"]
+
+ MD <- merge(MD,BigEngelTable[Year==year,
+ .(cluster3,Region,
+ PovertyLine,PovertyLine0,
+ Engel,ModifiedEngel)],
+ by=c("Region","cluster3"))
+ MD[,FinalPoor:=ifelse(Total_Exp_Month_Per_nondurable < PovertyLine,1,0 )]
+ MD[,FinalPoor0:=ifelse(Total_Exp_Month_Per_nondurable < PovertyLine0,1,0 )]
+ cat(MD[,.(weighted.mean(FinalPoor,Weight*Size))]$V1,"\t")
+ MD[,HHEngle:=TOriginalFoodExpenditure/Total_Exp_Month]
+ save(MD,file=paste0(Settings$HEISProcessedPath,"Y",year,"FinalPoor.rda"))
+ MD10<-MD[,.(HHID,NMiddle,NStudents)]
+ save(MD10,file=paste0(Settings$HEISProcessedPath,"Y",year,"school.rda"))
+
+ MD[,FGT1M:=(PovertyLine-Total_Exp_Month_Per_nondurable)/PovertyLine]
+ MD[,FGT2M:=((PovertyLine-Total_Exp_Month_Per_nondurable)/PovertyLine)^2]
+
+
+ MD[,Durable_Adds_Final:=(Durable_NoDep+Durable_Emergency)/Total_Exp_Month_nondurable]
+
+ ################Country##################
+
+ X1 <- MD[,.(SampleSize=.N,
+ MeterPrice=weighted.mean(MeterPrice,Weight,na.rm = TRUE),
+ House_Share=weighted.mean(House_Exp/Total_Exp_Month,Weight),
+ FPLine=weighted.mean(FPLine,Weight),
+ Bundle_Value=weighted.mean(Bundle_Value,Weight),
+ FoodKCaloriesHH_Per=weighted.mean(FoodKCaloriesHH_Per,Weight),
+ Engel=weighted.mean(TOriginalFoodExpenditure/Total_Exp_Month,Weight),
+ Total_Exp_Month_Per=weighted.mean(Total_Exp_Month_Per,Weight),
+ Total_Exp_Month_Per_nondurable=weighted.mean(Total_Exp_Month_Per_nondurable,Weight),
+ PovertyLine=weighted.mean(PovertyLine,Weight*Size),
+ PovertyHCR=weighted.mean(FinalPoor,Weight*Size),
+ Durable_Adds_Final=weighted.mean((Durable_NoDep+Durable_Emergency)/Total_Exp_Month_nondurable,Weight))
+ ]
+ X2 <- MD[FinalPoor==1,
+ .(PoorSampleSize=.N,
+ PovertyGap=weighted.mean(FGT1M,Weight*Size),
+ PovertyDepth=weighted.mean(FGT2M,Weight*Size)),
+ ]
+ X1[,Year:=year]
+ X1[,PovertyLine_Final:=PovertyLine*(1+Durable_Adds_Final)]
+ X2[,Year:=year]
+ X <- merge(X1,X2,by="Year")
+ FinalCountryResults <- rbind(FinalCountryResults,X)
+
+ ################Region##################
+ X1 <- MD[,.(SampleSize=.N,
+ MeterPrice=weighted.mean(MeterPrice,Weight,na.rm = TRUE),
+ House_Share=weighted.mean(House_Exp/Total_Exp_Month,Weight),
+ FPLine=weighted.mean(FPLine,Weight),
+ Bundle_Value=weighted.mean(Bundle_Value,Weight),
+ FoodKCaloriesHH_Per=weighted.mean(FoodKCaloriesHH_Per,Weight),
+ Engel=weighted.mean(TOriginalFoodExpenditure/Total_Exp_Month,Weight),
+ Total_Exp_Month_Per=weighted.mean(Total_Exp_Month_Per,Weight),
+ Total_Exp_Month_Per_nondurable=weighted.mean(Total_Exp_Month_Per_nondurable,Weight),
+ PovertyLine=weighted.mean(PovertyLine,Weight*Size),
+ PovertyHCR=weighted.mean(FinalPoor,Weight*Size),
+ Durable_Adds_Final=weighted.mean((Durable_NoDep+Durable_Emergency)/Total_Exp_Month_nondurable,Weight))
+ ,by=Region]
+ X2 <- MD[FinalPoor==1,
+ .(PoorSampleSize=.N,
+ PovertyGap=weighted.mean(FGT1M,Weight*Size),
+ PovertyDepth=weighted.mean(FGT2M,Weight*Size)),
+ ,by=Region]
+ X1[,Year:=year]
+ X1[,PovertyLine_Final:=PovertyLine*(1+Durable_Adds_Final)]
+ X2[,Year:=year]
+ X <- merge(X1,X2,by=c("Year","Region"))
+ FinalRegionResults <- rbind(FinalRegionResults,X)
+
+
+ ################Cluster##################
+ X1 <- MD[,.(SampleSize=.N,
+ MeterPrice=weighted.mean(MeterPrice,Weight,na.rm = TRUE),
+ House_Share=weighted.mean(House_Exp/Total_Exp_Month,Weight),
+ FPLine=weighted.mean(FPLine,Weight),
+ Bundle_Value=weighted.mean(Bundle_Value,Weight),
+ FoodKCaloriesHH_Per=weighted.mean(FoodKCaloriesHH_Per,Weight),
+ Engel=weighted.mean(TOriginalFoodExpenditure/Total_Exp_Month,Weight),
+ Total_Exp_Month_Per=weighted.mean(Total_Exp_Month_Per,Weight),
+ Total_Exp_Month_Per_nondurable=weighted.mean(Total_Exp_Month_Per_nondurable,Weight),
+ PovertyLine=weighted.mean(PovertyLine,Weight*Size),
+ PovertyHCR=weighted.mean(FinalPoor,Weight*Size),
+ Durable_Adds_Final=weighted.mean((Durable_NoDep+Durable_Emergency)/Total_Exp_Month_nondurable,Weight))
+ ,by=cluster3]
+ X2 <- MD[FinalPoor==1,
+ .(PoorSampleSize=.N,
+ PovertyGap=weighted.mean(FGT1M,Weight*Size),
+ PovertyDepth=weighted.mean(FGT2M,Weight*Size)),
+ by=cluster3]
+
+
+ X1[,Year:=year]
+ X1[,PovertyLine_Final:=PovertyLine*(1+Durable_Adds_Final)]
+ X2[,Year:=year]
+ X <- merge(X1,X2,by=c("Year","cluster3"))
+ FinalClusterResults <- rbind(FinalClusterResults,X)
+
+ ################Province##################
+ X1 <- MD[,.(SampleSize=.N,
+ MeterPrice=weighted.mean(MeterPrice,Weight,na.rm = TRUE),
+ House_Share=weighted.mean(House_Exp/Total_Exp_Month,Weight),
+ FPLine=weighted.mean(FPLine,Weight),
+ Bundle_Value=weighted.mean(Bundle_Value,Weight),
+ FoodKCaloriesHH_Per=weighted.mean(FoodKCaloriesHH_Per,Weight),
+ Engel=weighted.mean(TOriginalFoodExpenditure/Total_Exp_Month,Weight),
+ Total_Exp_Month_Per=weighted.mean(Total_Exp_Month_Per,Weight),
+ Total_Exp_Month_Per_nondurable=weighted.mean(Total_Exp_Month_Per_nondurable,Weight),
+ PovertyLine=weighted.mean(PovertyLine,Weight*Size),
+ PovertyHCR=weighted.mean(FinalPoor,Weight*Size),
+ Durable_Adds_Final=weighted.mean((Durable_NoDep+Durable_Emergency)/Total_Exp_Month_nondurable,Weight))
+ ,by="ProvinceName"]
+ X2 <- MD[FinalPoor==1,
+ .(PoorSampleSize=.N,
+ PovertyGap=weighted.mean(FGT1M,Weight*Size),
+ PovertyDepth=weighted.mean(FGT2M,Weight*Size)),
+ ,by="ProvinceName"]
+
+
+ X1[,Year:=year]
+ X1[,PovertyLine_Final:=PovertyLine*(1+Durable_Adds_Final)]
+ X2[,Year:=year]
+ X <- merge(X1,X2,by=c("Year","ProvinceName"))
+ FinalProvinceResults <- rbind(FinalProvinceResults,X)
+
+
+ ####################################################
+
+ cat(MD[, weighted.mean(FinalPoor,Weight*Size)],"\t")
+ #cat(MD[, weighted.mean(FinalPoor0,Weight*Size)],"\t")
+ #cat(MD[, weighted.mean(PovertyLine,Weight*Size)],"\t")
+ #cat(MD[, weighted.mean(FPLine,Weight*Size)],"\n")
+ cat(MD[, sum(FinalPoor*Weight*Size)],"\n")
+ #cat(MD[, sum(Weight*Size)],"\t")
+
+ MD1<-MD[,.(HHID,FinalPoor)]
+ save(MD1,file=paste0(Settings$HEISProcessedPath,"Y",year,"POORS.rda"))
+
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"tahsil.rda"))
+ School<-as.data.table(School)
+ MD<-merge(MD,School,all.x=TRUE,by="HHID")
+
+ DurableD<- MD[ Total_Exp_Month_Per_nondurable>0.8*PovertyLine &
+ Total_Exp_Month_Per_nondurable<1.2*PovertyLine,
+ .(.N,Durable_Adds_Final=weighted.mean((Durable_NoDep+Durable_Emergency)/Total_Exp_Month_nondurable,Weight),
+ PovertyLine=mean(PovertyLine)),
+ by=.(Region,cluster3)]
+
+ DurableD[,PovertyLine_Final:=PovertyLine*(1+Durable_Adds_Final)]
+ ## Total_Exp_Month/TOriginalFoodExpenditure * FPLIne *(Total_Exp_Month_nondurable+Durable_NoDep+Durable_Emergency)/Total_Exp_Month_nondurable )
+ MD <- merge(MD,DurableD[,.(cluster3,Region,PovertyLine_Final)],by=c("Region","cluster3"))
+
+ Z1 <- MD[,.(Share=weighted.mean(TOriginalFoodExpenditure/FoodExpenditure,Weight)),by=FinalPoor]
+ Z1[,Year:=year]
+
+ OriginalFoodShare <- rbind(OriginalFoodShare,Z1)
+
+ #cat(MD[as.numeric(Decile)<2,weighted.mean(Total_Exp_Month_Per,Weight)],"\t")
+ #cat(MD[as.numeric(Decile)>9,weighted.mean(Total_Exp_Month_Per,Weight)])
+
+ #cat(MD[,weighted.mean(Total_Exp_Month_Per,Weight)],"\t")
+ #cat(MD[,weighted.mean(FoodExpenditure_Per,Weight)],"\t")
+
+ # a<-MD[,weighted.mean(PovertyLine,Weight)]
+ # MD[,F_P:=ifelse(Total_Exp_Month_Per_nondurable < a,1,0 )]
+ #cat(MD[, weighted.mean(F_P,Weight*Size)],"\t")
+}
+MD[FinalPoor==1,sum(Weight*Size),by=Region]
+MD[CountyCode==2301 & FinalPoor==1,sum(Weight*Size)]
+
+MD[ProvinceCode==11 & CountyCode!=1105 & Region=="Urban", weighted.mean(FinalPoor,Weight*Size)]
+MD[ProvinceCode==30 & Region=="Rural", weighted.mean(FinalPoor,Weight*Size)]
+MD[Region=="Rural", weighted.mean(FinalPoor,Weight*Size),by=ProvinceName]
+
+MD[,1-weighted.mean(Knowledge,Weight,na.rm = TRUE)]
+MD[,1-weighted.mean(Knowledge,Weight,na.rm = TRUE),by="Region"]
+MD[,1-weighted.mean(Knowledge,Weight,na.rm = TRUE),by="ProvinceName"][order(V1)]
+
+MD[FinalPoor==1,1-weighted.mean(Knowledge,Weight,na.rm = TRUE)]
+MD[FinalPoor==1,1-weighted.mean(Knowledge,Weight,na.rm = TRUE),by="Region"]
+MD[FinalPoor==1,1-weighted.mean(Knowledge,Weight,na.rm = TRUE),by="ProvinceName"]
+
+MD[,weighted.mean(bathroom=="FALSE",Weight,na.rm = TRUE)]
+MD[,weighted.mean(bathroom=="FALSE",Weight,na.rm = TRUE),by="Region"]
+MD[,weighted.mean(bathroom=="FALSE",Weight,na.rm = TRUE),by="ProvinceName"]
+
+MD[,weighted.mean(bathroom=="FALSE",Weight,na.rm = TRUE)]
+MD[,weighted.mean(bathroom=="FALSE",Weight,na.rm = TRUE),by="Region"]
+MD[,weighted.mean(bathroom=="FALSE",Weight,na.rm = TRUE),by="ProvinceName"]
+
+MD[FinalPoor==1,weighted.mean(bathroom=="False",Weight,na.rm = TRUE)]
+MD[FinalPoor==1,weighted.mean(bathroom=="False",Weight,na.rm = TRUE),by="Region"]
+MD[FinalPoor==1,weighted.mean(bathroom=="False",Weight,na.rm = TRUE),by="ProvinceName"]
+MD[FinalPoor==1 & ProvinceCode==11,weighted.mean(bathroom=="False",Weight,na.rm = TRUE)]
+
+MD[,weighted.mean(pipewater=="False",Weight,na.rm = TRUE)]
+MD[,weighted.mean(pipewater=="False",Weight,na.rm = TRUE),by="Region"]
+#MD[FinalPoor==1,weighted.mean(pipewater=="False",Weight,na.rm = TRUE),by="ProvinceName"]
+MD[FinalPoor==0 & ProvinceCode==11,weighted.mean(pipewater=="False",Weight,na.rm = TRUE)]
+
+MD[,weighted.mean(No_Insurance,Weight,na.rm = TRUE)]
+MD[,weighted.mean(No_Insurance,Weight,na.rm = TRUE),by="Region"]
+#MD[FinalPoor==1,weighted.mean(pipewater=="False",Weight,na.rm = TRUE),by="ProvinceName"]
+MD[FinalPoor==1 & ProvinceCode==11,weighted.mean(No_Insurance,Weight,na.rm = TRUE)]
+
+Pooldar<-MD[as.numeric((Decile))>7]
+Pooldar[,sum(Weight*Size),by=ProvinceName][order(V1)]
+
+#A1<-MD[,weighted.mean(Total_Exp_Month,Weight),by=Decile]
+#A2<-MD[,weighted.mean(Total_Exp_Month,Weight),by=ProvinceCode]
+#A3<-MD[,weighted.mean(Total_Exp_Month_Per,Weight),by=Decile]
+#A4<-MD[,weighted.mean(Total_Exp_Month_Per,Weight),by=ProvinceCode]
+
+#A5<-MD[,weighted.mean(Total_Exp_Month,Weight),by=c("Decile","ProvinceCode")]
+#A6<-MD[,weighted.mean(Total_Exp_Month_Per,Weight),by=c("Decile","ProvinceCode")]
+#write.csv(A5,file="A5.csv")
+#write.csv(A6,file="A6.csv")
+
+AA<-MD[,.(food=weighted.mean(FoodExpenditure_Per,Weight),
+ total=weighted.mean(Total_Exp_Month_Per,Weight),
+ foodshare=weighted.mean(FoodExpenditure/Total_Exp_Month,Weight),
+ houseshare=weighted.mean(House_Exp/Total_Exp_Month,Weight),
+ pooshakshare=weighted.mean(Cloth_Exp/Total_Exp_Month,Weight),
+ Transportation_Exp=weighted.mean(Transportation_Exp/Total_Exp_Month,Weight),
+ Amusement_Exp=weighted.mean(Amusement_Exp/Total_Exp_Month,Weight),
+ behdasht=weighted.mean(Hygiene_Exp/Total_Exp_Month,Weight)),by=Region]
+
+Pop<-MD[,sum(Weight*Size)]
+
+MD[TFoodKCaloriesHH_Per<1200,sum(Weight*Size)/Pop]
+MD[TFoodKCaloriesHH_Per>1200 & TFoodKCaloriesHH_Per<1500,sum(Weight*Size)/Pop]
+MD[TFoodKCaloriesHH_Per>1500 & TFoodKCaloriesHH_Per<1800,sum(Weight*Size)/Pop]
+MD[TFoodKCaloriesHH_Per>1800 & TFoodKCaloriesHH_Per<2100,sum(Weight*Size)/Pop]
+MD[TFoodKCaloriesHH_Per>2100 & TFoodKCaloriesHH_Per<3000,sum(Weight*Size)/Pop]
+MD[TFoodKCaloriesHH_Per>3000,sum(Weight*Size)/Pop]
+
+MD[,weighted.mean(TFoodKCaloriesHH_Per,Weight),by=Decile][order(Decile)]
+MD[,weighted.mean(TFoodKCaloriesHH_Per,Weight),by=c("Region","Decile")][order(Region,Decile)]
+
+MD[,Under2100:=ifelse(TFoodKCaloriesHH_Per<2100,1,0)]
+MD[,weighted.mean(Under2100,Weight*Size)]
+MD[,weighted.mean(Under2100,Weight*Size),by=Region]
+MD[,weighted.mean(Under2100,Weight*Size),by=ProvinceCode][order(ProvinceCode)]
+
+write_xlsx(FinalClusterResults,path=paste0(Settings$HEISResultsPath,"/ClusterResults.xlsx"),col_names=T)
+write_xlsx(FinalCountryResults,path=paste0(Settings$HEISResultsPath,"/CountryResults.xlsx"),col_names=T)
+write_xlsx(FinalRegionResults,path=paste0(Settings$HEISResultsPath,"/RegionResults.xlsx"),col_names=T)
+#write_xlsx(FinalProvinceResults,path=paste0(Settings$HEWeightsultsPath,"/ProvinceResults.xlsx"),col_names=T)
+
+endtime <- proc.time()
+cat("\n\n============================\nIt took",(endtime-starttime)["elapsed"],"seconds")
\ No newline at end of file
diff --git a/R/Archive/December 2020/Map.R b/R/Archive/December 2020/Map.R
new file mode 100644
index 00000000..5e9c72b3
--- /dev/null
+++ b/R/Archive/December 2020/Map.R
@@ -0,0 +1,52 @@
+#Engle's Map
+#
+# Copyright © 2019:Majid Einian & Arin Shahbazian
+# Licence: GPL-3
+rm(list=ls())
+
+library(data.table)
+library(readxl)
+library(rworldmap)
+library(rgdal)
+
+
+Engle <- data.table(read_excel("Engle.xlsx","Province")) # Data to be plotted, see the excell file
+
+tfs <- paste0("+proj=lcc +lat_1=30 +lat_2=36 +lat_0=24 +lon_0=54 ",
+ "+x_0=0 +y_0=0 +datum=WGS84 +units=m +no_defs ",
+ "+ellps=WGS84 +towgs84=0,0,0") # Transformation to make all shapefiles in one coordinate system
+
+o <- capture.output(Seas <- readOGR("Shapefiles/1385",
+ layer = "Sea")) # Maps of Caspian Sea, Persian Gulf, & Oman Sea
+Seas <- spTransform(Seas,CRS(tfs))
+
+o <- capture.output(Lakes <- readOGR("Shapefiles/1385", # Maps of Lakes
+ layer = "Lake"))
+Lakes <- spTransform(Lakes,CRS(tfs))
+
+o <- capture.output(ProvMap <- readOGR("Shapefiles/OSM", # Maps of provinces based on latest admin. areas.
+ layer = "Iran_AL4")) # extracted from openstreetmaps.org
+ProvMap <- spTransform(ProvMap,CRS(tfs))
+
+MapData <- rworldmap::joinData2Map(Engle,nameMap="ProvMap", # Joining the data to map
+ nameJoinIDMap="ENNAME", # province name in shapefile
+ nameJoinColumnData="NameEn2", # province name in data excel
+ verbose = TRUE)
+MapData2<-MapData
+
+plot(Seas,col="lightblue", border="lightblue") # plot seas
+plot(Lakes[c(15,25),],add=TRUE,col="lightblue", border="lightblue") # plot just Urmia and Qom lakes
+
+#Urban Areas
+mapUrban <- rworldmap::mapPolys(MapData, add = TRUE, nameColumnToPlot = "b",
+ colourPalette = "heat",
+ mapTitle = paste0("Engle Rate in Urban Areas"),
+ addLegend = FALSE) # Plot data
+do.call( addMapLegend, c( mapUrban
+ , legendLabels = "all" # add legend
+ , digits = 2
+ , legendWidth = 0.7
+ , legendShrink = .5
+ , horizontal = TRUE))
+
+
diff --git a/R/Archive/December 2020/Poverty Indices2.R b/R/Archive/December 2020/Poverty Indices2.R
new file mode 100644
index 00000000..97559b3f
--- /dev/null
+++ b/R/Archive/December 2020/Poverty Indices2.R
@@ -0,0 +1,815 @@
+# 111-HHBase.R
+# Builds the base data.table for households
+
+rm(list=ls())
+
+starttime <- proc.time()
+cat("\n\n================ Poverty Indices2 =====================================\n")
+
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+#library(foreign)
+library(data.table)
+library(stringr)
+library(ggplot2)
+
+X1 <- data.table(Year=NA_integer_,HLiterate=NA_real_,Knowledge=NA_real_
+ ,tenure=NA_real_,area=NA_real_,room=NA_real_
+ ,car=NA_real_,oven=NA_real_,frez_refrig=NA_real_
+ ,electricity=NA_real_,bathroom=NA_real_,ego=NA_real_,pipewater=NA_real_
+ ,cookfuel=NA_real_,heatfuel=NA_real_,hotwater=NA_real_
+ ,G0451=NA_real_,G0452=NA_real_,G0453=NA_real_,G044=NA_real_,Energy_Share=NA_real_
+ ,Subsidy=NA_real_,Food_Share=NA_real_,Low_Calorie=NA_real_,Low_Protein=NA_real_,
+ FoodKCaloriesHH_Per=NA_real_,No_Insurance=NA_real_,Area_Per=NA_real_
+ ,skeleton=NA_real_,House_High_Share=NA_real_,Tech_low=NA_real_,Equip_low=NA_real_)
+
+X2 <- data.table(Year=NA_integer_,Region=NA_character_
+ ,HLiterate=NA_real_,Knowledge=NA_real_
+ ,tenure=NA_real_,area=NA_real_,room=NA_real_
+ ,car=NA_real_,oven=NA_real_,frez_refrig=NA_real_
+ ,electricity=NA_real_,bathroom=NA_real_,ego=NA_real_,pipewater=NA_real_
+ ,cookfuel=NA_real_,heatfuel=NA_real_,hotwater=NA_real_
+ ,G0451=NA_real_,G0452=NA_real_,G0453=NA_real_,G044=NA_real_,Energy_Share=NA_real_
+ ,Subsidy=NA_real_,Food_Share=NA_real_,Low_Calorie=NA_real_,Low_Protein=NA_real_,
+ FoodKCaloriesHH_Per=NA_real_,No_Insurance=NA_real_,Area_Per=NA_real_
+ ,skeleton=NA_real_,House_High_Share=NA_real_,Tech_low=NA_real_,Equip_low=NA_real_)
+
+
+X3 <- data.table(Year=NA_integer_,Decile=NA_integer_
+ ,HLiterate=NA_real_,Knowledge=NA_real_
+ ,tenure=NA_real_,area=NA_real_,room=NA_real_
+ ,car=NA_real_,oven=NA_real_,frez_refrig=NA_real_
+ ,electricity=NA_real_,bathroom=NA_real_,ego=NA_real_,pipewater=NA_real_
+ ,cookfuel=NA_real_,heatfuel=NA_real_,hotwater=NA_real_
+ ,G0451=NA_real_,G0452=NA_real_,G0453=NA_real_,G044=NA_real_,Energy_Share=NA_real_
+ ,Subsidy=NA_real_,Food_Share=NA_real_,Low_Calorie=NA_real_,Low_Protein=NA_real_,
+ FoodKCaloriesHH_Per=NA_real_,No_Insurance=NA_real_,Area_Per=NA_real_
+ ,skeleton=NA_real_,House_High_Share=NA_real_,Tech_low=NA_real_,Equip_low=NA_real_)
+
+Province<-data.table(Year=NA_integer_,ProvinceCode=NA_integer_,Total_Exp_Month_Per=NA_real_)
+
+Y1 <- data.table(Year=NA_integer_,H=NA_real_)
+
+Y2 <- data.table(Year=NA_integer_,H=NA_real_,Region=NA_character_)
+
+Y3 <- data.table(Year=NA_integer_,H=NA_real_,ProvinceCode=NA_integer_)
+
+Z1 <- data.table(Year=NA_integer_,A=NA_real_)
+
+Z2 <- data.table(Year=NA_integer_,A=NA_real_,Region=NA_character_)
+
+Z3 <- data.table(Year=NA_integer_,A=NA_real_,ProvinceCode=NA_integer_)
+
+Q1 <- data.table(Year=NA_integer_,MPI=NA_real_)
+
+Q2 <- data.table(Year=NA_integer_,MPI=NA_real_,Region=NA_character_)
+
+Q3 <- data.table(Year=NA_integer_,MPI=NA_real_,ProvinceCode=NA_integer_)
+
+for(year in (Settings$startyear:Settings$endyear)){
+ cat(paste0("\n------------------------------\nYear:",year,"\n"))
+
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"FINALPOORS.rda"))
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"Total2.rda"))
+ MD<-merge(MD,Total[,.(HHID,G01,G02,G03,G04,G05,G06,G07,G08,G09,G101,
+ G102,G103,G104,G105,G11,G12,G13,G041,G042,G044,G045,
+ G0451,G0452,G0453,G0454,Subsidy,G125,G1253)],by="HHID")
+ MD[,Decile:=NULL]
+
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"Deciles.rda"))
+ if (year==98){
+ names(Deciles)<-c("HHID","Decile","Percentile")
+ }
+
+ MD<-merge(MD,Deciles,by="HHID")
+
+ MD[,All:=G01+G02+G03+G04+G05+G06+G07+G08+G09+G101+
+ G102+G103+G104+G105+G11+G12+G13]
+
+ for (col in c("ego","bathroom","electricity"))
+ MD[is.na(get(col)), (col) := "True"]
+
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"P1.rda"))
+ P1<-P1[Age<=16 & Age>=6,.(HHID,Age,Literate,Student)]
+ P1<-P1[Literate==TRUE | Literate==FALSE]
+ P1<-P1[,Lit:=ifelse(Literate==FALSE | Student==FALSE,100,1)]
+ P<-P1[,lapply(.SD,sum),by="HHID"]
+ P<-P[,Knowledge:=ifelse(Lit>=100,0,1)]
+ MD<-merge(MD,P[,.(HHID,Knowledge)],all.x = TRUE)
+
+
+
+ MD[,Low_Calorie:=ifelse(FoodKCaloriesHH_Per<2100,1,0)]
+ MD[,Low_Protein:=ifelse(FoodProtein_Per<60,1,0)]
+ MD[,No_Insurance:=ifelse(G1253==0,1,0)]
+ MD[,House_High_Share:=ifelse(((G041+G042)/All>0.3 & (tenure=="Rented" |
+ tenure=="Mortgage") & Region=="Urban") |
+ ((G041+G042)/All>0.2 & (tenure=="Rented" |
+ tenure=="Mortgage") & Region=="Rural"),1,0)]
+ if (year==90){
+ MD[,phone:=ifelse(is.na(phone),"True","False")]
+ MD[,internet:=ifelse(is.na(internet),"True","False")]
+ }
+
+ MD[,Tech_low:=ifelse((phone=="False" & cellphone=="False" &
+ computer=="False") |
+ (phone=="False" & cellphone=="False" &
+ internet=="False") |
+ (phone=="False" &
+ computer=="False" & internet=="False") |
+ ( cellphone=="False" &
+ computer=="False" & internet=="False"),1,0)]
+ MD[,Yakhchal:=ifelse(refrigerator=="True" | freezer=="True" |
+ frez_refrig=="True","True","False")]
+ MD[,Equip_low:=ifelse((Yakhchal=="False" & washer=="False" &
+ oven=="False") |
+ (Yakhchal=="False" & washer=="False" &
+ tvcr=="False") |
+ (Yakhchal=="False" &
+ oven=="False" & tvcr=="False") |
+ ( washer=="False" &
+ oven=="False" & tvcr=="False") |
+ ( washer=="False" & oven=="False") |
+ ( washer=="False" & Yakhchal=="False") |
+ ( washer=="False" & tvcr=="False") |
+ ( tvcr=="False" & oven=="False") |
+ ( tvcr=="False" & Yakhchal=="False") |
+ ( Yakhchal=="False" & oven=="False") ,1,0)]
+
+ School<-MD[,.(HHID,Knowledge,No_Insurance,bathroom,pipewater)]
+ save(School,file=paste0(Settings$HEISProcessedPath,"Y",year,"tahsil.rda"))
+
+ A4<-MD[,.(Total_Exp_Month_Per=weighted.mean(Total_Exp_Month_Per,Weight,na.rm=TRUE)),by=ProvinceCode]
+
+ A1<-MD[,.(HLiterate=weighted.mean(HLiterate==FALSE,Weight,na.rm=TRUE),
+ Knowledge=weighted.mean(Knowledge==0,Weight,na.rm=TRUE),
+ tenure=weighted.mean(tenure=="OwnLandandBuilding" | tenure=="Apartment",Weight,na.rm=TRUE),
+ area=weighted.mean(area/Size,Weight,na.rm=TRUE),
+ room=weighted.mean(room/Size,Weight,na.rm=TRUE),
+ car=weighted.mean(car=='False',Weight,na.rm=TRUE),
+ frez_refrig=weighted.mean(frez_refrig=="True" | refrigerator=="True",Weight,na.rm=TRUE),
+ oven=weighted.mean(oven=="False",Weight,na.rm=TRUE),
+ bathroom=weighted.mean(bathroom=="False",Weight,na.rm=TRUE),
+ ego=weighted.mean(ego=="False",Weight,na.rm=TRUE),
+ electricity=weighted.mean(electricity=="False",Weight,na.rm=TRUE),
+ pipewater=weighted.mean(pipewater=="False",Weight,na.rm=TRUE),
+ cookfuel=weighted.mean(cookfuel!="pipedgas",Weight,na.rm=TRUE),
+ heatfuel=weighted.mean(heatfuel!="pipedgas",Weight,na.rm=TRUE),
+ hotwater=weighted.mean(hotwater!="pipedgas",Weight,na.rm=TRUE),
+ G0451=weighted.mean(G0451/All,Weight,na.rm=TRUE),
+ G0452=weighted.mean(G0452/All,Weight,na.rm=TRUE),
+ G0453=weighted.mean((G0453+G0454)/All,Weight,na.rm=TRUE),
+ G044=weighted.mean(G044/All,Weight,na.rm=TRUE),
+ Energy_Share=weighted.mean((G044+G045)/All,Weight,na.rm=TRUE),
+ Subsidy=weighted.mean((Subsidy/12)/All,Weight,na.rm=TRUE),
+ Food_Share=weighted.mean(G01/All,Weight,na.rm=TRUE),
+ Low_Calorie=weighted.mean(Low_Calorie,Weight,na.rm=TRUE),
+ Low_Protein=weighted.mean(Low_Protein,Weight,na.rm=TRUE),
+ No_Insurance=weighted.mean(No_Insurance,Weight,na.rm=TRUE),
+ Area_Per=weighted.mean((area/Size)<16,Weight,na.rm=TRUE),
+ House_High_Share=weighted.mean(House_High_Share,Weight,na.rm=TRUE),
+ Tech_low=weighted.mean(Tech_low,Weight,na.rm=TRUE),
+ Equip_low=weighted.mean(Equip_low,Weight,na.rm=TRUE),
+ skeleton=1-weighted.mean(skeleton=="metal" | skeleton=="concrete" |
+ constmat=="BrickSteel_StoneSteel" |
+ constmat=="Brickwood_Stonewood" |
+ constmat=="CementBlocks" |
+ constmat=="AllBrick_Stone" ,Weight,na.rm=TRUE),
+ FoodKCaloriesHH_Per=weighted.mean(FoodKCaloriesHH_Per,Weight,na.rm=TRUE))]
+
+ A2<-MD[,.(HLiterate=weighted.mean(HLiterate==FALSE,Weight,na.rm=TRUE),
+ Knowledge=weighted.mean(Knowledge==0,Weight,na.rm=TRUE),
+ tenure=weighted.mean(tenure=="OwnLandandBuilding" | tenure=="Apartment",Weight,na.rm=TRUE),
+ area=weighted.mean(area/Size,Weight,na.rm=TRUE),
+ room=weighted.mean(room/Size,Weight,na.rm=TRUE),
+ car=weighted.mean(car=='False',Weight,na.rm=TRUE),
+ frez_refrig=weighted.mean(frez_refrig=="True" | refrigerator=="True",Weight,na.rm=TRUE),
+ oven=weighted.mean(oven=="False",Weight,na.rm=TRUE),
+ bathroom=weighted.mean(bathroom=="False",Weight,na.rm=TRUE),
+ ego=weighted.mean(ego=="False",Weight,na.rm=TRUE),
+ electricity=weighted.mean(electricity=="False",Weight,na.rm=TRUE),
+ pipewater=weighted.mean(pipewater=="False",Weight,na.rm=TRUE),
+ cookfuel=weighted.mean(cookfuel!="pipedgas",Weight,na.rm=TRUE),
+ heatfuel=weighted.mean(heatfuel!="pipedgas",Weight,na.rm=TRUE),
+ hotwater=weighted.mean(hotwater!="pipedgas",Weight,na.rm=TRUE),
+ G0451=weighted.mean(G0451/All,Weight,na.rm=TRUE),
+ G0452=weighted.mean(G0452/All,Weight,na.rm=TRUE),
+ G0453=weighted.mean((G0453+G0454)/All,Weight,na.rm=TRUE),
+ G044=weighted.mean(G044/All,Weight,na.rm=TRUE),
+ Energy_Share=weighted.mean((G044+G045)/All,Weight,na.rm=TRUE),
+ Subsidy=weighted.mean((Subsidy/12)/All,Weight,na.rm=TRUE),
+ Food_Share=weighted.mean(G01/All,Weight,na.rm=TRUE),
+ Low_Calorie=weighted.mean(Low_Calorie,Weight,na.rm=TRUE),
+ Low_Protein=weighted.mean(Low_Protein,Weight,na.rm=TRUE),
+ No_Insurance=weighted.mean(No_Insurance,Weight,na.rm=TRUE),
+ Area_Per=weighted.mean((area/Size)<16,Weight,na.rm=TRUE),
+ House_High_Share=weighted.mean(House_High_Share,Weight,na.rm=TRUE),
+ Tech_low=weighted.mean(Tech_low,Weight,na.rm=TRUE),
+ Equip_low=weighted.mean(Equip_low,Weight,na.rm=TRUE),
+ skeleton=1-weighted.mean(skeleton=="metal" | skeleton=="concrete" |
+ constmat=="BrickSteel_StoneSteel" |
+ constmat=="Brickwood_Stonewood" |
+ constmat=="CementBlocks" |
+ constmat=="AllBrick_Stone" ,Weight,na.rm=TRUE),
+ FoodKCaloriesHH_Per=weighted.mean(FoodKCaloriesHH_Per,Weight,na.rm=TRUE)),by=Region]
+
+
+ A3<-MD[,.(HLiterate=weighted.mean(HLiterate==FALSE,Weight,na.rm=TRUE),
+ Knowledge=weighted.mean(Knowledge==0,Weight,na.rm=TRUE),
+ tenure=weighted.mean(tenure=="OwnLandandBuilding" | tenure=="Apartment",Weight,na.rm=TRUE),
+ area=weighted.mean(area/Size,Weight,na.rm=TRUE),
+ room=weighted.mean(room/Size,Weight,na.rm=TRUE),
+ car=weighted.mean(car=='False',Weight,na.rm=TRUE),
+ frez_refrig=weighted.mean(frez_refrig=="True" | refrigerator=="True",Weight,na.rm=TRUE),
+ oven=weighted.mean(oven=="False",Weight,na.rm=TRUE),
+ bathroom=weighted.mean(bathroom=="False",Weight,na.rm=TRUE),
+ ego=weighted.mean(ego=="False",Weight,na.rm=TRUE),
+ electricity=weighted.mean(electricity=="False",Weight,na.rm=TRUE),
+ pipewater=weighted.mean(pipewater=="False",Weight,na.rm=TRUE),
+ cookfuel=weighted.mean(cookfuel!="pipedgas",Weight,na.rm=TRUE),
+ heatfuel=weighted.mean(heatfuel!="pipedgas",Weight,na.rm=TRUE),
+ hotwater=weighted.mean(hotwater!="pipedgas",Weight,na.rm=TRUE),
+ G0451=weighted.mean(G0451/All,Weight,na.rm=TRUE),
+ G0452=weighted.mean(G0452/All,Weight,na.rm=TRUE),
+ G0453=weighted.mean((G0453+G0454)/All,Weight,na.rm=TRUE),
+ G044=weighted.mean(G044/All,Weight,na.rm=TRUE),
+ Energy_Share=weighted.mean((G044+G045)/All,Weight,na.rm=TRUE),
+ Subsidy=weighted.mean((Subsidy/12)/All,Weight,na.rm=TRUE),
+ Food_Share=weighted.mean(G01/All,Weight,na.rm=TRUE),
+ Low_Calorie=weighted.mean(Low_Calorie,Weight,na.rm=TRUE),
+ Low_Protein=weighted.mean(Low_Protein,Weight,na.rm=TRUE),
+ No_Insurance=weighted.mean(No_Insurance,Weight,na.rm=TRUE),
+ Area_Per=weighted.mean((area/Size)<16,Weight,na.rm=TRUE),
+ House_High_Share=weighted.mean(House_High_Share,Weight,na.rm=TRUE),
+ Tech_low=weighted.mean(Tech_low,Weight,na.rm=TRUE),
+ Equip_low=weighted.mean(Equip_low,Weight,na.rm=TRUE),
+ skeleton=1-weighted.mean(skeleton=="metal" | skeleton=="concrete" |
+ constmat=="BrickSteel_StoneSteel" |
+ constmat=="Brickwood_Stonewood" |
+ constmat=="CementBlocks" |
+ constmat=="AllBrick_Stone" ,Weight,na.rm=TRUE),
+ FoodKCaloriesHH_Per=weighted.mean(FoodKCaloriesHH_Per,Weight,na.rm=TRUE)),by=Decile]
+
+ A1[,Year:=year]
+ X1 <- rbind(X1,A1)
+
+ A2[,Year:=year]
+ X2 <- rbind(X2,A2)
+
+ A3[,Year:=year]
+ X3 <- rbind(X3,A3)
+
+ A4[,Year:=year]
+ Province <- rbind(Province,A4)
+
+ MD[,Illiterte:=ifelse(HLiterate==FALSE,1,0)]
+ MD[,No_knowledge:=ifelse(Knowledge==1 | is.na(Knowledge),0,1)]
+ MD[,High_Energy_Share:=ifelse((G044+G045)/All >0.07 ,1,0)]
+ MD[,No_electricity:=ifelse(electricity=="False" ,1,0)]
+ MD[,No_cookefuel:=ifelse(cookfuel!="pipedgas",1,0)]
+ MD[,No_pipewater:=ifelse(pipewater=="False",1,0)]
+ MD[,Small_House:=ifelse((area/Size)<16,1,0)]
+ MD[,No_Skeleton:=1-ifelse(skeleton=="metal" | skeleton=="concrete" |
+ constmat=="BrickSteel_StoneSteel" |
+ constmat=="Brickwood_Stonewood" |
+ constmat=="CementBlocks" |
+ constmat=="AllBrick_Stone",1,0)]
+ MD[,No_bathroom:=ifelse(bathroom=="False",1,0)]
+ MD[,No_ego:=ifelse(ego=="False",1,0)]
+ MD[,No_car:=ifelse(car=="False",1,0)]
+
+
+ W_Edu1<-0.1
+ W_Edu2<-0.1
+ W_Energy1<-1/15
+ W_Energy2<-1/15
+ W_Energy3<-1/15
+ W_Health1<-1/20
+ W_Health2<-1/20
+ W_Health3<-1/20
+ W_Health4<-1/20
+ W_House1<-1/20
+ W_House2<-1/20
+ W_House3<-1/20
+ W_House4<-1/20
+ W_Equip1<-0
+ W_Equip2<-1/15
+ W_Equip3<-1/15
+ W_Equip4<-1/15
+
+ MD[,Poor_Edu:=ifelse(Illiterte==1 | No_knowledge==1,1,0)]
+ a<-MD[,weighted.mean(Poor_Edu,Weight),by=ProvinceCode]
+
+ MD[,Poor_Energy:=ifelse(High_Energy_Share==1 | No_electricity==1 |
+ No_cookefuel==1,1,0)]
+ a<-MD[,weighted.mean(Poor_Energy,Weight),by=ProvinceCode]
+
+ MD[,Poor_Health:=ifelse((Low_Calorie==1 & Low_Protein==1) |
+ No_Insurance==1 | No_pipewater==1,1,0)]
+ a<-MD[,weighted.mean(Poor_Health,Weight),by=ProvinceCode]
+
+ MD[,Poor_House:=ifelse(Small_House==1 | House_High_Share==1 |
+ No_Skeleton==1 | No_bathroom==1,1,0)]
+ a<-MD[,weighted.mean(Poor_House,Weight),by=ProvinceCode]
+
+ MD[,Poor_Equip:=ifelse(No_car==1 &
+ (Equip_low==1 | Tech_low==1),1,0)]
+ a<-MD[,weighted.mean(Poor_Equip,Weight),by=ProvinceCode]
+
+ MD[,Poverty_Score:=W_Edu1*Illiterte+W_Edu2*No_knowledge+
+ W_Energy1*High_Energy_Share+W_Energy2*No_electricity+
+ W_Energy3*No_cookefuel+
+ W_Health1*Low_Calorie+W_Health2*Low_Protein+
+ W_Health3*No_Insurance+W_Health4*No_pipewater+
+ W_House1*Small_House+W_House2*House_High_Share+
+ W_House3*No_Skeleton+W_House4*No_bathroom+
+ W_Equip1*No_ego+W_Equip2*No_car+
+ W_Equip3*Equip_low+W_Equip4*Tech_low]
+
+ z1<-MD[,.(Illiterte=weighted.mean(Illiterte,Weight)
+ ,No_knowledge=weighted.mean(No_knowledge,Weight)
+ ,High_Energy_Share=weighted.mean(High_Energy_Share,Weight)
+ ,No_electricity=weighted.mean(No_electricity,Weight)
+ ,No_cookefuel=weighted.mean(No_cookefuel,Weight)
+ ,Low_Calorie=weighted.mean(Low_Calorie,Weight)
+ ,Low_Protein=weighted.mean(Low_Protein,Weight)
+ ,No_Insurance=weighted.mean(No_Insurance,Weight)
+ ,No_pipewater=weighted.mean(No_pipewater,Weight)
+ ,Small_House=weighted.mean(Small_House,Weight)
+ ,House_High_Share=weighted.mean(House_High_Share,Weight)
+ ,No_Skeleton=weighted.mean(No_Skeleton,Weight)
+ ,No_bathroom=weighted.mean(No_bathroom,Weight)
+ ,No_ego=weighted.mean(No_ego,Weight)
+ ,No_car=weighted.mean(No_car,Weight)
+ ,Equip_low=weighted.mean(Equip_low,Weight)
+ ,Tech_low=weighted.mean(Tech_low,Weight))]
+
+ z2<-MD[,.(Illiterte=weighted.mean(Illiterte,Weight)
+ ,No_knowledge=weighted.mean(No_knowledge,Weight)
+ ,High_Energy_Share=weighted.mean(High_Energy_Share,Weight)
+ ,No_electricity=weighted.mean(No_electricity,Weight)
+ ,No_cookefuel=weighted.mean(No_cookefuel,Weight)
+ ,Low_Calorie=weighted.mean(Low_Calorie,Weight)
+ ,Low_Protein=weighted.mean(Low_Protein,Weight)
+ ,No_Insurance=weighted.mean(No_Insurance,Weight)
+ ,No_pipewater=weighted.mean(No_pipewater,Weight)
+ ,Small_House=weighted.mean(Small_House,Weight)
+ ,House_High_Share=weighted.mean(House_High_Share,Weight)
+ ,No_Skeleton=weighted.mean(No_Skeleton,Weight)
+ ,No_bathroom=weighted.mean(No_bathroom,Weight)
+ ,No_ego=weighted.mean(No_ego,Weight)
+ ,No_car=weighted.mean(No_car,Weight)
+ ,Equip_low=weighted.mean(Equip_low,Weight)
+ ,Tech_low=weighted.mean(Tech_low,Weight)),by=Region]
+
+ z3<-MD[,.(Illiterte=weighted.mean(Illiterte,Weight)
+ ,No_knowledge=weighted.mean(No_knowledge,Weight)
+ ,High_Energy_Share=weighted.mean(High_Energy_Share,Weight)
+ ,No_electricity=weighted.mean(No_electricity,Weight)
+ ,No_cookefuel=weighted.mean(No_cookefuel,Weight)
+ ,Low_Calorie=weighted.mean(Low_Calorie,Weight)
+ ,Low_Protein=weighted.mean(Low_Protein,Weight)
+ ,No_Insurance=weighted.mean(No_Insurance,Weight)
+ ,No_pipewater=weighted.mean(No_pipewater,Weight)
+ ,Small_House=weighted.mean(Small_House,Weight)
+ ,House_High_Share=weighted.mean(House_High_Share,Weight)
+ ,No_Skeleton=weighted.mean(No_Skeleton,Weight)
+ ,No_bathroom=weighted.mean(No_bathroom,Weight)
+ ,No_ego=weighted.mean(No_ego,Weight)
+ ,No_car=weighted.mean(No_car,Weight)
+ ,Equip_low=weighted.mean(Equip_low,Weight)
+ ,Tech_low=weighted.mean(Tech_low,Weight)),by=Decile]
+
+ z4<-MD[,.(Illiterte=weighted.mean(Illiterte,Weight)
+ ,No_knowledge=weighted.mean(No_knowledge,Weight)
+ ,High_Energy_Share=weighted.mean(High_Energy_Share,Weight)
+ ,No_electricity=weighted.mean(No_electricity,Weight)
+ ,No_cookefuel=weighted.mean(No_cookefuel,Weight)
+ ,Low_Calorie=weighted.mean(Low_Calorie,Weight)
+ ,Low_Protein=weighted.mean(Low_Protein,Weight)
+ ,No_Insurance=weighted.mean(No_Insurance,Weight)
+ ,No_pipewater=weighted.mean(No_pipewater,Weight)
+ ,Small_House=weighted.mean(Small_House,Weight)
+ ,House_High_Share=weighted.mean(House_High_Share,Weight)
+ ,No_Skeleton=weighted.mean(No_Skeleton,Weight)
+ ,No_bathroom=weighted.mean(No_bathroom,Weight)
+ ,No_ego=weighted.mean(No_ego,Weight)
+ ,No_car=weighted.mean(No_car,Weight)
+ ,Equip_low=weighted.mean(Equip_low,Weight)
+ ,Tech_low=weighted.mean(Tech_low,Weight)),by=ProvinceCode]
+
+
+ MD[,FinalPoor:=ifelse(Poverty_Score>0.2,1,0)]
+ MD[,Poverty_Score_Revised:=ifelse(Poverty_Score>0.2,Poverty_Score,0)]
+ B1<-MD[,.(H=weighted.mean(FinalPoor,Weight))]
+ B2<-MD[,.(H=weighted.mean(FinalPoor,Weight)),by=Region]
+ B3<-MD[,.(H=weighted.mean(FinalPoor,Weight)),by=ProvinceCode]
+ MD[,weighted.mean(FinalPoor,Weight),by=Decile]
+
+ cat(MD[,weighted.mean(FinalPoor,Weight)],"\n")
+
+ B1[,Year:=year]
+ Y1 <- rbind(Y1,B1)
+
+ B2[,Year:=year]
+ Y2 <- rbind(Y2,B2)
+
+ B3[,Year:=year]
+ Y3 <- rbind(Y3,B3)
+ #write.csv(Y3,file = "Y3.csv")
+
+ C1<-MD[,.(A=sum(Poverty_Score_Revised)/sum(FinalPoor))]
+ C2<-MD[,.(A=sum(Poverty_Score_Revised)/sum(FinalPoor)),by=Region]
+ C3<-MD[,.(A=sum(Poverty_Score_Revised)/sum(FinalPoor)),by=ProvinceCode]
+
+ C1[,Year:=year]
+ Z1 <- rbind(Z1,C1)
+
+ C2[,Year:=year]
+ Z2 <- rbind(Z2,C2)
+
+ C3[,Year:=year]
+ Z3 <- rbind(Z3,C3)
+
+ D1<-MD[,.(MPI=weighted.mean(FinalPoor,Weight)*(sum(Poverty_Score_Revised)/sum(FinalPoor)))]
+ D2<-MD[,.(MPI=weighted.mean(FinalPoor,Weight)*(sum(Poverty_Score_Revised)/sum(FinalPoor))),by=Region]
+ D3<-MD[,.(MPI=weighted.mean(FinalPoor,Weight)*(sum(Poverty_Score_Revised)/sum(FinalPoor))),by=ProvinceCode]
+
+ D1[,Year:=year]
+ Q1 <- rbind(Q1,D1)
+
+ D2[,Year:=year]
+ Q2 <- rbind(Q2,D2)
+
+ D3[,Year:=year]
+ Q3 <- rbind(Q3,D3)
+
+}
+
+
+
+load(file=paste0(Settings$HEISProcessedPath,"Y",year,"P1.rda"))
+D1<-P1[,.(HHID,Age,Literate,Student,Sex)]
+D1<-merge(D1,MD[,.(HHID,ProvinceCode,Decile,Weight,Region)],all.x = TRUE)
+D1[Age>6,weighted.mean(Literate=="FALSE",Weight,na.rm = TRUE),by="Region"]
+x1<-D1[Age>6,weighted.mean(Literate=="FALSE",Weight,na.rm = TRUE),by="ProvinceCode"]
+x2<-D1[Age>7,weighted.mean(Literate=="FALSE",Weight,na.rm = TRUE),by="Decile"]
+
+a1<-MD[,weighted.mean(HLiterate==FALSE,Weight),by="ProvinceCode"][order(ProvinceCode)]
+a2<-MD[,weighted.mean(Knowledge==0,Weight,na.rm = TRUE),by="ProvinceCode"][order(ProvinceCode)]
+
+
+X1<-X1[Year==90 | Year==91 | Year==92 | Year==93 | Year==94 |
+ Year==95 | Year==96 | Year==97 | Year==98]
+X2<-X2[Year==90 | Year==91 | Year==92 | Year==93 | Year==94 |
+ Year==95 | Year==96 | Year==97 | Year==98]
+X3<-X3[Year==90 | Year==91 | Year==92 | Year==93 | Year==94 |
+ Year==95 | Year==96 | Year==97 | Year==98]
+
+
+png(file="C:/IRHEIS/R/1.png",width=1200, height=600)
+ggplot(X1, aes(fill=factor(HLiterate), y=HLiterate, x=factor(Year))) +
+ geom_bar(position="dodge", stat="identity") + theme_bw() +
+ theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1)) + theme_grey(base_size = 22)
+dev.off()
+
+png(file="C:/IRHEIS/R/2.png",width=1200, height=600)
+ggplot(X2, aes(fill=factor(Region), y=HLiterate, x=factor(Year))) +
+ geom_bar(position="dodge", stat="identity") + theme_bw() +
+ theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1)) + theme_grey(base_size = 25)
+#+ geom_text(aes(label=HLiterate), position=position_dodge(width=0.9), vjust=-0.25)
+dev.off()
+
+png(file="C:/IRHEIS/R/3.png",width=1200, height=600)
+ggplot(X3)+
+geom_line(mapping = aes(x=Year,y=HLiterate,col=factor(Decile),
+linetype=factor(Decile)))+ theme_grey(base_size = 25)
+dev.off()
+
+###############################################################################
+png(file="C:/IRHEIS/R/4.png",width=1200, height=600)
+ggplot(X1, aes(fill=factor(Knowledge), y=Knowledge, x=factor(Year))) +
+ geom_bar(position="dodge", stat="identity") + theme_bw() +
+ theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1)) + theme_grey(base_size = 25)
+dev.off()
+
+png(file="C:/IRHEIS/R/5.png",width=1200, height=600)
+ggplot(X2, aes(fill=factor(Region), y=Knowledge, x=factor(Year))) +
+ geom_bar(position="dodge", stat="identity") + theme_bw() +
+ theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1)) + theme_grey(base_size = 25)
+#+ geom_text(aes(label=HLiterate), position=position_dodge(width=0.9), vjust=-0.25)
+dev.off()
+
+png(file="C:/IRHEIS/R/6.png",width=1200, height=600)
+ggplot(X3)+
+ geom_line(mapping = aes(x=Year,y=Knowledge,col=factor(Decile),
+ linetype=factor(Decile)))+ theme_grey(base_size = 25)
+dev.off()
+###############################################################################
+###############################################################################
+###############################################################################
+png(file="C:/IRHEIS/R/7.png",width=1200, height=600)
+ggplot(X1, aes(fill=factor(Energy_Share), y=Energy_Share, x=factor(Year))) +
+ geom_bar(position="dodge", stat="identity") + theme_bw() +
+ theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1)) + theme_grey(base_size = 25)
+dev.off()
+
+png(file="C:/IRHEIS/R/8.png",width=1200, height=600)
+ggplot(X2, aes(fill=factor(Region), y=Energy_Share, x=factor(Year))) +
+ geom_bar(position="dodge", stat="identity") + theme_bw() +
+ theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1)) + theme_grey(base_size = 25)
+#+ geom_text(aes(label=HLiterate), position=position_dodge(width=0.9), vjust=-0.25)
+dev.off()
+
+png(file="C:/IRHEIS/R/9.png",width=1200, height=600)
+ggplot(X3)+
+ geom_line(mapping = aes(x=Year,y=Energy_Share,col=factor(Decile),
+ linetype=factor(Decile)))+ theme_grey(base_size = 25)
+dev.off()
+###############################################################################
+png(file="C:/IRHEIS/R/10.png",width=1200, height=600)
+ggplot(X1, aes(fill=factor(electricity), y=electricity, x=factor(Year))) +
+ geom_bar(position="dodge", stat="identity") + theme_bw() +
+ theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1)) + theme_grey(base_size = 25)
+dev.off()
+
+png(file="C:/IRHEIS/R/11.png",width=1200, height=600)
+ggplot(X2, aes(fill=factor(Region), y=electricity, x=factor(Year))) +
+ geom_bar(position="dodge", stat="identity") + theme_bw() +
+ theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1)) + theme_grey(base_size = 25)
+#+ geom_text(aes(label=HLiterate), position=position_dodge(width=0.9), vjust=-0.25)
+dev.off()
+
+png(file="C:/IRHEIS/R/12.png",width=1200, height=600)
+ggplot(X3)+
+ geom_line(mapping = aes(x=Year,y=electricity,col=factor(Decile),
+ linetype=factor(Decile)))+ theme_grey(base_size = 25)
+dev.off()
+###############################################################################
+png(file="C:/IRHEIS/R/13.png",width=1200, height=600)
+ggplot(X1, aes(fill=factor(cookfuel), y=cookfuel, x=factor(Year))) +
+ geom_bar(position="dodge", stat="identity") + theme_bw() +
+ theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1)) + theme_grey(base_size = 25)
+dev.off()
+
+png(file="C:/IRHEIS/R/14.png",width=1200, height=600)
+ggplot(X2, aes(fill=factor(Region), y=cookfuel, x=factor(Year))) +
+ geom_bar(position="dodge", stat="identity") + theme_bw() +
+ theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1)) + theme_grey(base_size = 25)
+#+ geom_text(aes(label=HLiterate), position=position_dodge(width=0.9), vjust=-0.25)
+dev.off()
+
+png(file="C:/IRHEIS/R/15.png",width=1200, height=600)
+ggplot(X3)+
+ geom_line(mapping = aes(x=Year,y=cookfuel,col=factor(Decile),
+ linetype=factor(Decile)))+ theme_grey(base_size = 25)
+dev.off()
+###############################################################################
+###############################################################################
+###############################################################################
+png(file="C:/IRHEIS/R/16.png",width=1200, height=600)
+ggplot(X1, aes(fill=factor(Low_Calorie), y=Low_Calorie, x=factor(Year))) +
+ geom_bar(position="dodge", stat="identity") + theme_bw() +
+ theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1)) + theme_grey(base_size = 25)
+dev.off()
+
+png(file="C:/IRHEIS/R/17.png",width=1200, height=600)
+ggplot(X2, aes(fill=factor(Region), y=Low_Calorie, x=factor(Year))) +
+ geom_bar(position="dodge", stat="identity") + theme_bw() +
+ theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1)) + theme_grey(base_size = 25)
+#+ geom_text(aes(label=HLiterate), position=position_dodge(width=0.9), vjust=-0.25)
+dev.off()
+
+png(file="C:/IRHEIS/R/18.png",width=1200, height=600)
+ggplot(X3)+
+ geom_line(mapping = aes(x=Year,y=Low_Calorie,col=factor(Decile),
+ linetype=factor(Decile)))+ theme_grey(base_size = 25)
+dev.off()
+###############################################################################
+png(file="C:/IRHEIS/R/19.png",width=1200, height=600)
+ggplot(X1, aes(fill=factor(Low_Protein), y=Low_Protein, x=factor(Year))) +
+ geom_bar(position="dodge", stat="identity") + theme_bw() +
+ theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1)) + theme_grey(base_size = 25)
+dev.off()
+
+png(file="C:/IRHEIS/R/20.png",width=1200, height=600)
+ggplot(X2, aes(fill=factor(Region), y=Low_Protein, x=factor(Year))) +
+ geom_bar(position="dodge", stat="identity") + theme_bw() +
+ theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1)) + theme_grey(base_size = 25)
+#+ geom_text(aes(label=HLiterate), position=position_dodge(width=0.9), vjust=-0.25)
+dev.off()
+
+png(file="C:/IRHEIS/R/21.png",width=1200, height=600)
+ggplot(X3)+
+ geom_line(mapping = aes(x=Year,y=Low_Protein,col=factor(Decile),
+ linetype=factor(Decile)))+ theme_grey(base_size = 25)
+dev.off()
+###############################################################################
+png(file="C:/IRHEIS/R/22.png",width=1200, height=600)
+ggplot(X1, aes(fill=factor(No_Insurance), y=No_Insurance, x=factor(Year))) +
+ geom_bar(position="dodge", stat="identity") + theme_bw() +
+ theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1)) + theme_grey(base_size = 25)
+dev.off()
+
+png(file="C:/IRHEIS/R/23.png",width=1200, height=600)
+ggplot(X2, aes(fill=factor(Region), y=No_Insurance, x=factor(Year))) +
+ geom_bar(position="dodge", stat="identity") + theme_bw() +
+ theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1)) + theme_grey(base_size = 25)
+#+ geom_text(aes(label=HLiterate), position=position_dodge(width=0.9), vjust=-0.25)
+dev.off()
+
+png(file="C:/IRHEIS/R/24.png",width=1200, height=600)
+ggplot(X3)+
+ geom_line(mapping = aes(x=Year,y=No_Insurance,col=factor(Decile),
+ linetype=factor(Decile)))+ theme_grey(base_size = 25)
+dev.off()
+###############################################################################
+png(file="C:/IRHEIS/R/25.png",width=1200, height=600)
+ggplot(X1, aes(fill=factor(pipewater), y=pipewater, x=factor(Year))) +
+ geom_bar(position="dodge", stat="identity") + theme_bw() +
+ theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1)) + theme_grey(base_size = 25)
+dev.off()
+
+png(file="C:/IRHEIS/R/26.png",width=1200, height=600)
+ggplot(X2, aes(fill=factor(Region), y=pipewater, x=factor(Year))) +
+ geom_bar(position="dodge", stat="identity") + theme_bw() +
+ theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1)) + theme_grey(base_size = 25)
+#+ geom_text(aes(label=HLiterate), position=position_dodge(width=0.9), vjust=-0.25)
+dev.off()
+
+png(file="C:/IRHEIS/R/27.png",width=1200, height=600)
+ggplot(X3)+
+ geom_line(mapping = aes(x=Year,y=pipewater,col=factor(Decile),
+ linetype=factor(Decile)))+ theme_grey(base_size = 25)
+dev.off()
+###############################################################################
+###############################################################################
+###############################################################################
+png(file="C:/IRHEIS/R/28.png",width=1200, height=600)
+ggplot(X1, aes(fill=factor(Area_Per), y=Area_Per, x=factor(Year))) +
+ geom_bar(position="dodge", stat="identity") + theme_bw() +
+ theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1)) + theme_grey(base_size = 25)
+dev.off()
+
+png(file="C:/IRHEIS/R/29.png",width=1200, height=600)
+ggplot(X2, aes(fill=factor(Region), y=Area_Per, x=factor(Year))) +
+ geom_bar(position="dodge", stat="identity") + theme_bw() +
+ theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1)) + theme_grey(base_size = 25)
+#+ geom_text(aes(label=HLiterate), position=position_dodge(width=0.9), vjust=-0.25)
+dev.off()
+
+png(file="C:/IRHEIS/R/30.png",width=1200, height=600)
+ggplot(X3)+
+ geom_line(mapping = aes(x=Year,y=Area_Per,col=factor(Decile),
+ linetype=factor(Decile)))+ theme_grey(base_size = 25)
+dev.off()
+###############################################################################
+png(file="C:/IRHEIS/R/31.png",width=1200, height=600)
+ggplot(X1, aes(fill=factor(skeleton), y=skeleton, x=factor(Year))) +
+ geom_bar(position="dodge", stat="identity") + theme_bw() +
+ theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1)) + theme_grey(base_size = 25)
+dev.off()
+
+png(file="C:/IRHEIS/R/32.png",width=1200, height=600)
+ggplot(X2, aes(fill=factor(Region), y=skeleton, x=factor(Year))) +
+ geom_bar(position="dodge", stat="identity") + theme_bw() +
+ theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1)) + theme_grey(base_size = 25)
+#+ geom_text(aes(label=HLiterate), position=position_dodge(width=0.9), vjust=-0.25)
+dev.off()
+
+png(file="C:/IRHEIS/R/33.png",width=1200, height=600)
+ggplot(X3)+
+ geom_line(mapping = aes(x=Year,y=skeleton,col=factor(Decile),
+ linetype=factor(Decile)))+ theme_grey(base_size = 25)
+dev.off()
+###############################################################################
+png(file="C:/IRHEIS/R/34.png",width=1200, height=600)
+ggplot(X1, aes(fill=factor(House_High_Share), y=House_High_Share, x=factor(Year))) +
+ geom_bar(position="dodge", stat="identity") + theme_bw() +
+ theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1)) + theme_grey(base_size = 25)
+dev.off()
+
+png(file="C:/IRHEIS/R/35.png",width=1200, height=600)
+ggplot(X2, aes(fill=factor(Region), y=House_High_Share, x=factor(Year))) +
+ geom_bar(position="dodge", stat="identity") + theme_bw() +
+ theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1)) + theme_grey(base_size = 25)
+#+ geom_text(aes(label=HLiterate), position=position_dodge(width=0.9), vjust=-0.25)
+dev.off()
+
+png(file="C:/IRHEIS/R/36.png",width=1200, height=600)
+ggplot(X3)+
+ geom_line(mapping = aes(x=Year,y=House_High_Share,col=factor(Decile),
+ linetype=factor(Decile)))+ theme_grey(base_size = 25)
+dev.off()
+###############################################################################
+###############################################################################
+###############################################################################
+png(file="C:/IRHEIS/R/37.png",width=1200, height=600)
+ggplot(X1, aes(fill=factor(bathroom), y=bathroom, x=factor(Year))) +
+ geom_bar(position="dodge", stat="identity") + theme_bw() +
+ theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1)) + theme_grey(base_size = 25)
+dev.off()
+
+png(file="C:/IRHEIS/R/38.png",width=1200, height=600)
+ggplot(X2, aes(fill=factor(Region), y=bathroom, x=factor(Year))) +
+ geom_bar(position="dodge", stat="identity") + theme_bw() +
+ theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1)) + theme_grey(base_size = 25)
+#+ geom_text(aes(label=HLiterate), position=position_dodge(width=0.9), vjust=-0.25)
+dev.off()
+
+png(file="C:/IRHEIS/R/39.png",width=1200, height=600)
+ggplot(X3)+
+ geom_line(mapping = aes(x=Year,y=bathroom,col=factor(Decile),
+ linetype=factor(Decile)))+ theme_grey(base_size = 25)
+dev.off()
+###############################################################################
+png(file="C:/IRHEIS/R/40.png",width=1200, height=600)
+ggplot(X1, aes(fill=factor(bathroom), y=ego, x=factor(Year))) +
+ geom_bar(position="dodge", stat="identity") + theme_bw() +
+ theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1)) + theme_grey(base_size = 25)
+dev.off()
+
+png(file="C:/IRHEIS/R/41.png",width=1200, height=600)
+ggplot(X2, aes(fill=factor(Region), y=ego, x=factor(Year))) +
+ geom_bar(position="dodge", stat="identity") + theme_bw() +
+ theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1)) + theme_grey(base_size = 25)
+#+ geom_text(aes(label=HLiterate), position=position_dodge(width=0.9), vjust=-0.25)
+dev.off()
+
+png(file="C:/IRHEIS/R/42.png",width=1200, height=600)
+ggplot(X3)+
+ geom_line(mapping = aes(x=Year,y=ego,col=factor(Decile),
+ linetype=factor(Decile)))+ theme_grey(base_size = 25)
+dev.off()
+###############################################################################
+png(file="C:/IRHEIS/R/43.png",width=1200, height=600)
+ggplot(X1, aes(fill=factor(car), y=car, x=factor(Year))) +
+ geom_bar(position="dodge", stat="identity") + theme_bw() +
+ theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1)) + theme_grey(base_size = 25)
+dev.off()
+
+png(file="C:/IRHEIS/R/44.png",width=1200, height=600)
+ggplot(X2, aes(fill=factor(Region), y=car, x=factor(Year))) +
+ geom_bar(position="dodge", stat="identity") + theme_bw() +
+ theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1)) + theme_grey(base_size = 25)
+#+ geom_text(aes(label=HLiterate), position=position_dodge(width=0.9), vjust=-0.25)
+dev.off()
+
+png(file="C:/IRHEIS/R/45.png",width=1200, height=600)
+ggplot(X3)+
+ geom_line(mapping = aes(x=Year,y=car,col=factor(Decile),
+ linetype=factor(Decile)))+ theme_grey(base_size = 25)
+dev.off()
+###############################################################################
+png(file="C:/IRHEIS/R/46.png",width=1200, height=600)
+ggplot(X1, aes(fill=factor(Tech_low), y=Tech_low, x=factor(Year))) +
+ geom_bar(position="dodge", stat="identity") + theme_bw() +
+ theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1)) + theme_grey(base_size = 25)
+dev.off()
+
+png(file="C:/IRHEIS/R/47.png",width=1200, height=600)
+ggplot(X2, aes(fill=factor(Region), y=Tech_low, x=factor(Year))) +
+ geom_bar(position="dodge", stat="identity") + theme_bw() +
+ theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1)) + theme_grey(base_size = 25)
+#+ geom_text(aes(label=HLiterate), position=position_dodge(width=0.9), vjust=-0.25)
+dev.off()
+
+png(file="C:/IRHEIS/R/48.png",width=1200, height=600)
+ggplot(X3)+
+ geom_line(mapping = aes(x=Year,y=Tech_low,col=factor(Decile),
+ linetype=factor(Decile)))+ theme_grey(base_size = 25)
+dev.off()
+###############################################################################
+png(file="C:/IRHEIS/R/49.png",width=1200, height=600)
+ggplot(X1, aes(fill=factor(Equip_low), y=Equip_low, x=factor(Year))) +
+ geom_bar(position="dodge", stat="identity") + theme_bw() +
+ theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1)) + theme_grey(base_size = 25)
+dev.off()
+
+png(file="C:/IRHEIS/R/50.png",width=1200, height=600)
+ggplot(X2, aes(fill=factor(Region), y=Equip_low, x=factor(Year))) +
+ geom_bar(position="dodge", stat="identity") + theme_bw() +
+ theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1)) + theme_grey(base_size = 25)
+#+ geom_text(aes(label=HLiterate), position=position_dodge(width=0.9), vjust=-0.25)
+dev.off()
+
+png(file="C:/IRHEIS/R/51.png",width=1200, height=600)
+ggplot(X3)+
+ geom_line(mapping = aes(x=Year,y=Equip_low,col=factor(Decile),
+ linetype=factor(Decile)))+ theme_grey(base_size = 25)
+dev.off()
+
+
+
+
+write.csv(X1,file="X1.csv")
+write.csv(X2,file="X2.csv")
+write.csv(X3,file="X3.csv")
+write.csv(X4,file="X4.csv")
+#write.csv(Province,file="Province.csv")
+
+endtime <- proc.time()
+
+cat("\n\n============================\nIt took ")
+cat((endtime-starttime)[3])
\ No newline at end of file
diff --git a/R/Archive/December 2020/Poverty Indices22.R b/R/Archive/December 2020/Poverty Indices22.R
new file mode 100644
index 00000000..8ee5f65c
--- /dev/null
+++ b/R/Archive/December 2020/Poverty Indices22.R
@@ -0,0 +1,812 @@
+# 111-HHBase.R
+# Builds the base data.table for households
+
+rm(list=ls())
+
+starttime <- proc.time()
+cat("\n\n================ Poverty Indices2 =====================================\n")
+
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+#library(foreign)
+library(data.table)
+library(stringr)
+library(ggplot2)
+
+X1 <- data.table(Year=NA_integer_,HLiterate=NA_real_,Knowledge=NA_real_
+ ,tenure=NA_real_,area=NA_real_,room=NA_real_
+ ,car=NA_real_,oven=NA_real_,frez_refrig=NA_real_
+ ,electricity=NA_real_,bathroom=NA_real_,ego=NA_real_,pipewater=NA_real_
+ ,cookfuel=NA_real_,heatfuel=NA_real_,hotwater=NA_real_
+ ,G0451=NA_real_,G0452=NA_real_,G0453=NA_real_,G044=NA_real_,Energy_Share=NA_real_
+ ,Subsidy=NA_real_,Food_Share=NA_real_,Low_Calorie=NA_real_,Low_Protein=NA_real_,
+ FoodKCaloriesHH_Per=NA_real_,No_Insurance=NA_real_,Area_Per=NA_real_
+ ,skeleton=NA_real_,House_High_Share=NA_real_,Tech_low=NA_real_,Equip_low=NA_real_)
+
+X2 <- data.table(Year=NA_integer_,Region=NA_character_
+ ,HLiterate=NA_real_,Knowledge=NA_real_
+ ,tenure=NA_real_,area=NA_real_,room=NA_real_
+ ,car=NA_real_,oven=NA_real_,frez_refrig=NA_real_
+ ,electricity=NA_real_,bathroom=NA_real_,ego=NA_real_,pipewater=NA_real_
+ ,cookfuel=NA_real_,heatfuel=NA_real_,hotwater=NA_real_
+ ,G0451=NA_real_,G0452=NA_real_,G0453=NA_real_,G044=NA_real_,Energy_Share=NA_real_
+ ,Subsidy=NA_real_,Food_Share=NA_real_,Low_Calorie=NA_real_,Low_Protein=NA_real_,
+ FoodKCaloriesHH_Per=NA_real_,No_Insurance=NA_real_,Area_Per=NA_real_
+ ,skeleton=NA_real_,House_High_Share=NA_real_,Tech_low=NA_real_,Equip_low=NA_real_)
+
+
+X3 <- data.table(Year=NA_integer_,Decile=NA_integer_
+ ,HLiterate=NA_real_,Knowledge=NA_real_
+ ,tenure=NA_real_,area=NA_real_,room=NA_real_
+ ,car=NA_real_,oven=NA_real_,frez_refrig=NA_real_
+ ,electricity=NA_real_,bathroom=NA_real_,ego=NA_real_,pipewater=NA_real_
+ ,cookfuel=NA_real_,heatfuel=NA_real_,hotwater=NA_real_
+ ,G0451=NA_real_,G0452=NA_real_,G0453=NA_real_,G044=NA_real_,Energy_Share=NA_real_
+ ,Subsidy=NA_real_,Food_Share=NA_real_,Low_Calorie=NA_real_,Low_Protein=NA_real_,
+ FoodKCaloriesHH_Per=NA_real_,No_Insurance=NA_real_,Area_Per=NA_real_
+ ,skeleton=NA_real_,House_High_Share=NA_real_,Tech_low=NA_real_,Equip_low=NA_real_)
+
+Province<-data.table(Year=NA_integer_,ProvinceCode=NA_integer_,Total_Exp_Month_Per=NA_real_)
+
+Y1 <- data.table(Year=NA_integer_,H=NA_real_)
+
+Y2 <- data.table(Year=NA_integer_,H=NA_real_,Region=NA_character_)
+
+Y3 <- data.table(Year=NA_integer_,H=NA_real_,ProvinceCode=NA_integer_)
+
+Z1 <- data.table(Year=NA_integer_,A=NA_real_)
+
+Z2 <- data.table(Year=NA_integer_,A=NA_real_,Region=NA_character_)
+
+Z3 <- data.table(Year=NA_integer_,A=NA_real_,ProvinceCode=NA_integer_)
+
+Q1 <- data.table(Year=NA_integer_,MPI=NA_real_)
+
+Q2 <- data.table(Year=NA_integer_,MPI=NA_real_,Region=NA_character_)
+
+Q3 <- data.table(Year=NA_integer_,MPI=NA_real_,ProvinceCode=NA_integer_)
+
+for(year in (Settings$startyear:Settings$endyear)){
+ cat(paste0("\n------------------------------\nYear:",year,"\n"))
+
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"FINALPOORS.rda"))
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"Total2.rda"))
+ MD<-merge(MD,Total[,.(HHID,G01,G02,G03,G04,G05,G06,G07,G08,G09,G101,
+ G102,G103,G104,G105,G11,G12,G13,G041,G042,G044,G045,
+ G0451,G0452,G0453,G0454,Subsidy,G125,G1253)],by="HHID")
+ MD[,Decile:=NULL]
+
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"Deciles.rda"))
+ if (year==98){
+ names(Deciles)<-c("HHID","Decile","Percentile")
+ }
+
+ MD<-merge(MD,Deciles,by="HHID")
+
+ MD[,All:=G01+G02+G03+G04+G05+G06+G07+G08+G09+G101+
+ G102+G103+G104+G105+G11+G12+G13]
+
+ for (col in c("ego","bathroom","electricity"))
+ MD[is.na(get(col)), (col) := "True"]
+
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"P1.rda"))
+ P1<-P1[Age<=16 & Age>=6,.(HHID,Age,Literate,Student)]
+ P1<-P1[Literate==TRUE | Literate==FALSE]
+ P1<-P1[,Lit:=ifelse(Literate==FALSE | Student==FALSE,100,1)]
+ P<-P1[,lapply(.SD,sum),by="HHID"]
+ P<-P[,Knowledge:=ifelse(Lit>=100,0,1)]
+ MD<-merge(MD,P[,.(HHID,Knowledge)],all.x = TRUE)
+
+
+
+ MD[,Low_Calorie:=ifelse(FoodKCaloriesHH_Per<2100,1,0)]
+ MD[,Low_Protein:=ifelse(FoodProtein_Per<60,1,0)]
+ MD[,No_Insurance:=ifelse(G1253==0,1,0)]
+ MD[,House_High_Share:=ifelse(((G041+G042)/All>0.3 & (tenure=="Rented" |
+ tenure=="Mortgage") & Region=="Urban") |
+ ((G041+G042)/All>0.2 & (tenure=="Rented" |
+ tenure=="Mortgage") & Region=="Rural"),1,0)]
+ if (year==90){
+ MD[,phone:=ifelse(is.na(phone),"True","False")]
+ MD[,internet:=ifelse(is.na(internet),"True","False")]
+ }
+
+ MD[,Tech_low:=ifelse((phone=="False" & cellphone=="False" &
+ computer=="False") |
+ (phone=="False" & cellphone=="False" &
+ internet=="False") |
+ (phone=="False" &
+ computer=="False" & internet=="False") |
+ ( cellphone=="False" &
+ computer=="False" & internet=="False"),1,0)]
+ MD[,Yakhchal:=ifelse(refrigerator=="True" | freezer=="True" |
+ frez_refrig=="True","True","False")]
+ MD[,Equip_low:=ifelse((Yakhchal=="False" & washer=="False" &
+ oven=="False") |
+ (Yakhchal=="False" & washer=="False" &
+ tvcr=="False") |
+ (Yakhchal=="False" &
+ oven=="False" & tvcr=="False") |
+ ( washer=="False" &
+ oven=="False" & tvcr=="False") |
+ ( washer=="False" & oven=="False") |
+ ( washer=="False" & Yakhchal=="False") |
+ ( washer=="False" & tvcr=="False") |
+ ( tvcr=="False" & oven=="False") |
+ ( tvcr=="False" & Yakhchal=="False") |
+ ( Yakhchal=="False" & oven=="False") ,1,0)]
+
+ A4<-MD[,.(Total_Exp_Month_Per=weighted.mean(Total_Exp_Month_Per,Weight,na.rm=TRUE)),by=ProvinceCode]
+
+ A1<-MD[,.(HLiterate=weighted.mean(HLiterate==FALSE,Weight,na.rm=TRUE),
+ Knowledge=weighted.mean(Knowledge==0,Weight,na.rm=TRUE),
+ tenure=weighted.mean(tenure=="OwnLandandBuilding" | tenure=="Apartment",Weight,na.rm=TRUE),
+ area=weighted.mean(area/Size,Weight,na.rm=TRUE),
+ room=weighted.mean(room/Size,Weight,na.rm=TRUE),
+ car=weighted.mean(car=='False',Weight,na.rm=TRUE),
+ frez_refrig=weighted.mean(frez_refrig=="True" | refrigerator=="True",Weight,na.rm=TRUE),
+ oven=weighted.mean(oven=="False",Weight,na.rm=TRUE),
+ bathroom=weighted.mean(bathroom=="False",Weight,na.rm=TRUE),
+ ego=weighted.mean(ego=="False",Weight,na.rm=TRUE),
+ electricity=weighted.mean(electricity=="False",Weight,na.rm=TRUE),
+ pipewater=weighted.mean(pipewater=="False",Weight,na.rm=TRUE),
+ cookfuel=weighted.mean(cookfuel!="pipedgas",Weight,na.rm=TRUE),
+ heatfuel=weighted.mean(heatfuel!="pipedgas",Weight,na.rm=TRUE),
+ hotwater=weighted.mean(hotwater!="pipedgas",Weight,na.rm=TRUE),
+ G0451=weighted.mean(G0451/All,Weight,na.rm=TRUE),
+ G0452=weighted.mean(G0452/All,Weight,na.rm=TRUE),
+ G0453=weighted.mean((G0453+G0454)/All,Weight,na.rm=TRUE),
+ G044=weighted.mean(G044/All,Weight,na.rm=TRUE),
+ Energy_Share=weighted.mean((G044+G045)/All,Weight,na.rm=TRUE),
+ Subsidy=weighted.mean((Subsidy/12)/All,Weight,na.rm=TRUE),
+ Food_Share=weighted.mean(G01/All,Weight,na.rm=TRUE),
+ Low_Calorie=weighted.mean(Low_Calorie,Weight,na.rm=TRUE),
+ Low_Protein=weighted.mean(Low_Protein,Weight,na.rm=TRUE),
+ No_Insurance=weighted.mean(No_Insurance,Weight,na.rm=TRUE),
+ Area_Per=weighted.mean((area/Size)<16,Weight,na.rm=TRUE),
+ House_High_Share=weighted.mean(House_High_Share,Weight,na.rm=TRUE),
+ Tech_low=weighted.mean(Tech_low,Weight,na.rm=TRUE),
+ Equip_low=weighted.mean(Equip_low,Weight,na.rm=TRUE),
+ skeleton=1-weighted.mean(skeleton=="metal" | skeleton=="concrete" |
+ constmat=="BrickSteel_StoneSteel" |
+ constmat=="Brickwood_Stonewood" |
+ constmat=="CementBlocks" |
+ constmat=="AllBrick_Stone" ,Weight,na.rm=TRUE),
+ FoodKCaloriesHH_Per=weighted.mean(FoodKCaloriesHH_Per,Weight,na.rm=TRUE))]
+
+ A2<-MD[,.(HLiterate=weighted.mean(HLiterate==FALSE,Weight,na.rm=TRUE),
+ Knowledge=weighted.mean(Knowledge==0,Weight,na.rm=TRUE),
+ tenure=weighted.mean(tenure=="OwnLandandBuilding" | tenure=="Apartment",Weight,na.rm=TRUE),
+ area=weighted.mean(area/Size,Weight,na.rm=TRUE),
+ room=weighted.mean(room/Size,Weight,na.rm=TRUE),
+ car=weighted.mean(car=='False',Weight,na.rm=TRUE),
+ frez_refrig=weighted.mean(frez_refrig=="True" | refrigerator=="True",Weight,na.rm=TRUE),
+ oven=weighted.mean(oven=="False",Weight,na.rm=TRUE),
+ bathroom=weighted.mean(bathroom=="False",Weight,na.rm=TRUE),
+ ego=weighted.mean(ego=="False",Weight,na.rm=TRUE),
+ electricity=weighted.mean(electricity=="False",Weight,na.rm=TRUE),
+ pipewater=weighted.mean(pipewater=="False",Weight,na.rm=TRUE),
+ cookfuel=weighted.mean(cookfuel!="pipedgas",Weight,na.rm=TRUE),
+ heatfuel=weighted.mean(heatfuel!="pipedgas",Weight,na.rm=TRUE),
+ hotwater=weighted.mean(hotwater!="pipedgas",Weight,na.rm=TRUE),
+ G0451=weighted.mean(G0451/All,Weight,na.rm=TRUE),
+ G0452=weighted.mean(G0452/All,Weight,na.rm=TRUE),
+ G0453=weighted.mean((G0453+G0454)/All,Weight,na.rm=TRUE),
+ G044=weighted.mean(G044/All,Weight,na.rm=TRUE),
+ Energy_Share=weighted.mean((G044+G045)/All,Weight,na.rm=TRUE),
+ Subsidy=weighted.mean((Subsidy/12)/All,Weight,na.rm=TRUE),
+ Food_Share=weighted.mean(G01/All,Weight,na.rm=TRUE),
+ Low_Calorie=weighted.mean(Low_Calorie,Weight,na.rm=TRUE),
+ Low_Protein=weighted.mean(Low_Protein,Weight,na.rm=TRUE),
+ No_Insurance=weighted.mean(No_Insurance,Weight,na.rm=TRUE),
+ Area_Per=weighted.mean((area/Size)<16,Weight,na.rm=TRUE),
+ House_High_Share=weighted.mean(House_High_Share,Weight,na.rm=TRUE),
+ Tech_low=weighted.mean(Tech_low,Weight,na.rm=TRUE),
+ Equip_low=weighted.mean(Equip_low,Weight,na.rm=TRUE),
+ skeleton=1-weighted.mean(skeleton=="metal" | skeleton=="concrete" |
+ constmat=="BrickSteel_StoneSteel" |
+ constmat=="Brickwood_Stonewood" |
+ constmat=="CementBlocks" |
+ constmat=="AllBrick_Stone" ,Weight,na.rm=TRUE),
+ FoodKCaloriesHH_Per=weighted.mean(FoodKCaloriesHH_Per,Weight,na.rm=TRUE)),by=Region]
+
+
+ A3<-MD[,.(HLiterate=weighted.mean(HLiterate==FALSE,Weight,na.rm=TRUE),
+ Knowledge=weighted.mean(Knowledge==0,Weight,na.rm=TRUE),
+ tenure=weighted.mean(tenure=="OwnLandandBuilding" | tenure=="Apartment",Weight,na.rm=TRUE),
+ area=weighted.mean(area/Size,Weight,na.rm=TRUE),
+ room=weighted.mean(room/Size,Weight,na.rm=TRUE),
+ car=weighted.mean(car=='False',Weight,na.rm=TRUE),
+ frez_refrig=weighted.mean(frez_refrig=="True" | refrigerator=="True",Weight,na.rm=TRUE),
+ oven=weighted.mean(oven=="False",Weight,na.rm=TRUE),
+ bathroom=weighted.mean(bathroom=="False",Weight,na.rm=TRUE),
+ ego=weighted.mean(ego=="False",Weight,na.rm=TRUE),
+ electricity=weighted.mean(electricity=="False",Weight,na.rm=TRUE),
+ pipewater=weighted.mean(pipewater=="False",Weight,na.rm=TRUE),
+ cookfuel=weighted.mean(cookfuel!="pipedgas",Weight,na.rm=TRUE),
+ heatfuel=weighted.mean(heatfuel!="pipedgas",Weight,na.rm=TRUE),
+ hotwater=weighted.mean(hotwater!="pipedgas",Weight,na.rm=TRUE),
+ G0451=weighted.mean(G0451/All,Weight,na.rm=TRUE),
+ G0452=weighted.mean(G0452/All,Weight,na.rm=TRUE),
+ G0453=weighted.mean((G0453+G0454)/All,Weight,na.rm=TRUE),
+ G044=weighted.mean(G044/All,Weight,na.rm=TRUE),
+ Energy_Share=weighted.mean((G044+G045)/All,Weight,na.rm=TRUE),
+ Subsidy=weighted.mean((Subsidy/12)/All,Weight,na.rm=TRUE),
+ Food_Share=weighted.mean(G01/All,Weight,na.rm=TRUE),
+ Low_Calorie=weighted.mean(Low_Calorie,Weight,na.rm=TRUE),
+ Low_Protein=weighted.mean(Low_Protein,Weight,na.rm=TRUE),
+ No_Insurance=weighted.mean(No_Insurance,Weight,na.rm=TRUE),
+ Area_Per=weighted.mean((area/Size)<16,Weight,na.rm=TRUE),
+ House_High_Share=weighted.mean(House_High_Share,Weight,na.rm=TRUE),
+ Tech_low=weighted.mean(Tech_low,Weight,na.rm=TRUE),
+ Equip_low=weighted.mean(Equip_low,Weight,na.rm=TRUE),
+ skeleton=1-weighted.mean(skeleton=="metal" | skeleton=="concrete" |
+ constmat=="BrickSteel_StoneSteel" |
+ constmat=="Brickwood_Stonewood" |
+ constmat=="CementBlocks" |
+ constmat=="AllBrick_Stone" ,Weight,na.rm=TRUE),
+ FoodKCaloriesHH_Per=weighted.mean(FoodKCaloriesHH_Per,Weight,na.rm=TRUE)),by=Decile]
+
+ A1[,Year:=year]
+ X1 <- rbind(X1,A1)
+
+ A2[,Year:=year]
+ X2 <- rbind(X2,A2)
+
+ A3[,Year:=year]
+ X3 <- rbind(X3,A3)
+
+ A4[,Year:=year]
+ Province <- rbind(Province,A4)
+
+ MD[,Illiterte:=ifelse(HLiterate==FALSE,1,0)]
+ MD[,No_knowledge:=ifelse(Knowledge==1 | is.na(Knowledge),0,1)]
+ MD[,High_Energy_Share:=ifelse((G044+G045)/All >0.07 ,1,0)]
+ MD[,No_electricity:=ifelse(electricity=="False" ,1,0)]
+ MD[,No_cookefuel:=ifelse(cookfuel!="pipedgas",1,0)]
+ MD[,No_pipewater:=ifelse(pipewater=="False",1,0)]
+ MD[,Small_House:=ifelse((area/Size)<16,1,0)]
+ MD[,No_Skeleton:=1-ifelse(skeleton=="metal" | skeleton=="concrete" |
+ constmat=="BrickSteel_StoneSteel" |
+ constmat=="Brickwood_Stonewood" |
+ constmat=="CementBlocks" |
+ constmat=="AllBrick_Stone",1,0)]
+ MD[,No_bathroom:=ifelse(bathroom=="False",1,0)]
+ MD[,No_ego:=ifelse(ego=="False",1,0)]
+ MD[,No_car:=ifelse(car=="False",1,0)]
+
+
+ W_Edu1<-0.1
+ W_Edu2<-0.1
+ W_Energy1<-1/15
+ W_Energy2<-1/15
+ W_Energy3<-1/15
+ W_Health1<-1/20
+ W_Health2<-1/20
+ W_Health3<-1/20
+ W_Health4<-1/20
+ W_House1<-1/20
+ W_House2<-1/20
+ W_House3<-1/20
+ W_House4<-1/20
+ W_Equip1<-0
+ W_Equip2<-1/15
+ W_Equip3<-1/15
+ W_Equip4<-1/15
+
+ MD[,Poor_Edu:=ifelse(Illiterte==1 | No_knowledge==1,1,0)]
+ a<-MD[,weighted.mean(Poor_Edu,Weight),by=ProvinceCode]
+
+ MD[,Poor_Energy:=ifelse(High_Energy_Share==1 | No_electricity==1 |
+ No_cookefuel==1,1,0)]
+ a<-MD[,weighted.mean(Poor_Energy,Weight),by=ProvinceCode]
+
+ MD[,Poor_Health:=ifelse((Low_Calorie==1 & Low_Protein==1) |
+ No_Insurance==1 | No_pipewater==1,1,0)]
+ a<-MD[,weighted.mean(Poor_Health,Weight),by=ProvinceCode]
+
+ MD[,Poor_House:=ifelse(Small_House==1 | House_High_Share==1 |
+ No_Skeleton==1 | No_bathroom==1,1,0)]
+ a<-MD[,weighted.mean(Poor_House,Weight),by=ProvinceCode]
+
+ MD[,Poor_Equip:=ifelse(No_car==1 &
+ (Equip_low==1 | Tech_low==1),1,0)]
+ a<-MD[,weighted.mean(Poor_Equip,Weight),by=ProvinceCode]
+
+ MD[,Poverty_Score:=W_Edu1*Illiterte+W_Edu2*No_knowledge+
+ W_Energy1*High_Energy_Share+W_Energy2*No_electricity+
+ W_Energy3*No_cookefuel+
+ W_Health1*Low_Calorie+W_Health2*Low_Protein+
+ W_Health3*No_Insurance+W_Health4*No_pipewater+
+ W_House1*Small_House+W_House2*House_High_Share+
+ W_House3*No_Skeleton+W_House4*No_bathroom+
+ W_Equip1*No_ego+W_Equip2*No_car+
+ W_Equip3*Equip_low+W_Equip4*Tech_low]
+
+ z1<-MD[,.(Illiterte=weighted.mean(Illiterte,Weight)
+ ,No_knowledge=weighted.mean(No_knowledge,Weight)
+ ,High_Energy_Share=weighted.mean(High_Energy_Share,Weight)
+ ,No_electricity=weighted.mean(No_electricity,Weight)
+ ,No_cookefuel=weighted.mean(No_cookefuel,Weight)
+ ,Low_Calorie=weighted.mean(Low_Calorie,Weight)
+ ,Low_Protein=weighted.mean(Low_Protein,Weight)
+ ,No_Insurance=weighted.mean(No_Insurance,Weight)
+ ,No_pipewater=weighted.mean(No_pipewater,Weight)
+ ,Small_House=weighted.mean(Small_House,Weight)
+ ,House_High_Share=weighted.mean(House_High_Share,Weight)
+ ,No_Skeleton=weighted.mean(No_Skeleton,Weight)
+ ,No_bathroom=weighted.mean(No_bathroom,Weight)
+ ,No_ego=weighted.mean(No_ego,Weight)
+ ,No_car=weighted.mean(No_car,Weight)
+ ,Equip_low=weighted.mean(Equip_low,Weight)
+ ,Tech_low=weighted.mean(Tech_low,Weight))]
+
+ z2<-MD[,.(Illiterte=weighted.mean(Illiterte,Weight)
+ ,No_knowledge=weighted.mean(No_knowledge,Weight)
+ ,High_Energy_Share=weighted.mean(High_Energy_Share,Weight)
+ ,No_electricity=weighted.mean(No_electricity,Weight)
+ ,No_cookefuel=weighted.mean(No_cookefuel,Weight)
+ ,Low_Calorie=weighted.mean(Low_Calorie,Weight)
+ ,Low_Protein=weighted.mean(Low_Protein,Weight)
+ ,No_Insurance=weighted.mean(No_Insurance,Weight)
+ ,No_pipewater=weighted.mean(No_pipewater,Weight)
+ ,Small_House=weighted.mean(Small_House,Weight)
+ ,House_High_Share=weighted.mean(House_High_Share,Weight)
+ ,No_Skeleton=weighted.mean(No_Skeleton,Weight)
+ ,No_bathroom=weighted.mean(No_bathroom,Weight)
+ ,No_ego=weighted.mean(No_ego,Weight)
+ ,No_car=weighted.mean(No_car,Weight)
+ ,Equip_low=weighted.mean(Equip_low,Weight)
+ ,Tech_low=weighted.mean(Tech_low,Weight)),by=Region]
+
+ z3<-MD[,.(Illiterte=weighted.mean(Illiterte,Weight)
+ ,No_knowledge=weighted.mean(No_knowledge,Weight)
+ ,High_Energy_Share=weighted.mean(High_Energy_Share,Weight)
+ ,No_electricity=weighted.mean(No_electricity,Weight)
+ ,No_cookefuel=weighted.mean(No_cookefuel,Weight)
+ ,Low_Calorie=weighted.mean(Low_Calorie,Weight)
+ ,Low_Protein=weighted.mean(Low_Protein,Weight)
+ ,No_Insurance=weighted.mean(No_Insurance,Weight)
+ ,No_pipewater=weighted.mean(No_pipewater,Weight)
+ ,Small_House=weighted.mean(Small_House,Weight)
+ ,House_High_Share=weighted.mean(House_High_Share,Weight)
+ ,No_Skeleton=weighted.mean(No_Skeleton,Weight)
+ ,No_bathroom=weighted.mean(No_bathroom,Weight)
+ ,No_ego=weighted.mean(No_ego,Weight)
+ ,No_car=weighted.mean(No_car,Weight)
+ ,Equip_low=weighted.mean(Equip_low,Weight)
+ ,Tech_low=weighted.mean(Tech_low,Weight)),by=Decile]
+
+ z4<-MD[,.(Illiterte=weighted.mean(Illiterte,Weight)
+ ,No_knowledge=weighted.mean(No_knowledge,Weight)
+ ,High_Energy_Share=weighted.mean(High_Energy_Share,Weight)
+ ,No_electricity=weighted.mean(No_electricity,Weight)
+ ,No_cookefuel=weighted.mean(No_cookefuel,Weight)
+ ,Low_Calorie=weighted.mean(Low_Calorie,Weight)
+ ,Low_Protein=weighted.mean(Low_Protein,Weight)
+ ,No_Insurance=weighted.mean(No_Insurance,Weight)
+ ,No_pipewater=weighted.mean(No_pipewater,Weight)
+ ,Small_House=weighted.mean(Small_House,Weight)
+ ,House_High_Share=weighted.mean(House_High_Share,Weight)
+ ,No_Skeleton=weighted.mean(No_Skeleton,Weight)
+ ,No_bathroom=weighted.mean(No_bathroom,Weight)
+ ,No_ego=weighted.mean(No_ego,Weight)
+ ,No_car=weighted.mean(No_car,Weight)
+ ,Equip_low=weighted.mean(Equip_low,Weight)
+ ,Tech_low=weighted.mean(Tech_low,Weight)),by=ProvinceCode]
+
+
+ MD[,FinalPoor:=ifelse(Poverty_Score>0.2,1,0)]
+ MD[,Poverty_Score_Revised:=ifelse(Poverty_Score>0.2,Poverty_Score,0)]
+ B1<-MD[,.(H=weighted.mean(FinalPoor,Weight))]
+ B2<-MD[,.(H=weighted.mean(FinalPoor,Weight)),by=Region]
+ B3<-MD[,.(H=weighted.mean(FinalPoor,Weight)),by=ProvinceCode]
+ MD[,weighted.mean(FinalPoor,Weight),by=Decile]
+
+ cat(MD[,weighted.mean(FinalPoor,Weight)],"\n")
+
+ B1[,Year:=year]
+ Y1 <- rbind(Y1,B1)
+
+ B2[,Year:=year]
+ Y2 <- rbind(Y2,B2)
+
+ B3[,Year:=year]
+ Y3 <- rbind(Y3,B3)
+ #write.csv(Y3,file = "Y3.csv")
+
+ C1<-MD[,.(A=sum(Poverty_Score_Revised)/sum(FinalPoor))]
+ C2<-MD[,.(A=sum(Poverty_Score_Revised)/sum(FinalPoor)),by=Region]
+ C3<-MD[,.(A=sum(Poverty_Score_Revised)/sum(FinalPoor)),by=ProvinceCode]
+
+ C1[,Year:=year]
+ Z1 <- rbind(Z1,C1)
+
+ C2[,Year:=year]
+ Z2 <- rbind(Z2,C2)
+
+ C3[,Year:=year]
+ Z3 <- rbind(Z3,C3)
+
+ D1<-MD[,.(MPI=weighted.mean(FinalPoor,Weight)*(sum(Poverty_Score_Revised)/sum(FinalPoor)))]
+ D2<-MD[,.(MPI=weighted.mean(FinalPoor,Weight)*(sum(Poverty_Score_Revised)/sum(FinalPoor))),by=Region]
+ D3<-MD[,.(MPI=weighted.mean(FinalPoor,Weight)*(sum(Poverty_Score_Revised)/sum(FinalPoor))),by=ProvinceCode]
+
+ D1[,Year:=year]
+ Q1 <- rbind(Q1,D1)
+
+ D2[,Year:=year]
+ Q2 <- rbind(Q2,D2)
+
+ D3[,Year:=year]
+ Q3 <- rbind(Q3,D3)
+
+}
+
+
+
+load(file=paste0(Settings$HEISProcessedPath,"Y",year,"P1.rda"))
+D1<-P1[,.(HHID,Age,Literate,Student,Sex)]
+D1<-merge(D1,MD[,.(HHID,ProvinceCode,Decile,Weight,Region)],all.x = TRUE)
+D1[Age>6,weighted.mean(Literate=="FALSE",Weight,na.rm = TRUE),by="Region"]
+x1<-D1[Age>6,weighted.mean(Literate=="FALSE",Weight,na.rm = TRUE),by="ProvinceCode"]
+x2<-D1[Age>7,weighted.mean(Literate=="FALSE",Weight,na.rm = TRUE),by="Decile"]
+
+a1<-MD[,weighted.mean(HLiterate==FALSE,Weight),by="ProvinceCode"][order(ProvinceCode)]
+a2<-MD[,weighted.mean(Knowledge==0,Weight,na.rm = TRUE),by="ProvinceCode"][order(ProvinceCode)]
+
+
+X1<-X1[Year==90 | Year==91 | Year==92 | Year==93 | Year==94 |
+ Year==95 | Year==96 | Year==97 | Year==98]
+X2<-X2[Year==90 | Year==91 | Year==92 | Year==93 | Year==94 |
+ Year==95 | Year==96 | Year==97 | Year==98]
+X3<-X3[Year==90 | Year==91 | Year==92 | Year==93 | Year==94 |
+ Year==95 | Year==96 | Year==97 | Year==98]
+
+
+png(file="C:/IRHEIS/R/1.png",width=1200, height=600)
+ggplot(X1, aes(fill=factor(HLiterate), y=HLiterate, x=factor(Year))) +
+ geom_bar(position="dodge", stat="identity") + theme_bw() +
+ theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1)) + theme_grey(base_size = 22)
+dev.off()
+
+png(file="C:/IRHEIS/R/2.png",width=1200, height=600)
+ggplot(X2, aes(fill=factor(Region), y=HLiterate, x=factor(Year))) +
+ geom_bar(position="dodge", stat="identity") + theme_bw() +
+ theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1)) + theme_grey(base_size = 25)
+#+ geom_text(aes(label=HLiterate), position=position_dodge(width=0.9), vjust=-0.25)
+dev.off()
+
+png(file="C:/IRHEIS/R/3.png",width=1200, height=600)
+ggplot(X3)+
+geom_line(mapping = aes(x=Year,y=HLiterate,col=factor(Decile),
+linetype=factor(Decile)))+ theme_grey(base_size = 25)
+dev.off()
+
+###############################################################################
+png(file="C:/IRHEIS/R/4.png",width=1200, height=600)
+ggplot(X1, aes(fill=factor(Knowledge), y=Knowledge, x=factor(Year))) +
+ geom_bar(position="dodge", stat="identity") + theme_bw() +
+ theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1)) + theme_grey(base_size = 25)
+dev.off()
+
+png(file="C:/IRHEIS/R/5.png",width=1200, height=600)
+ggplot(X2, aes(fill=factor(Region), y=Knowledge, x=factor(Year))) +
+ geom_bar(position="dodge", stat="identity") + theme_bw() +
+ theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1)) + theme_grey(base_size = 25)
+#+ geom_text(aes(label=HLiterate), position=position_dodge(width=0.9), vjust=-0.25)
+dev.off()
+
+png(file="C:/IRHEIS/R/6.png",width=1200, height=600)
+ggplot(X3)+
+ geom_line(mapping = aes(x=Year,y=Knowledge,col=factor(Decile),
+ linetype=factor(Decile)))+ theme_grey(base_size = 25)
+dev.off()
+###############################################################################
+###############################################################################
+###############################################################################
+png(file="C:/IRHEIS/R/7.png",width=1200, height=600)
+ggplot(X1, aes(fill=factor(Energy_Share), y=Energy_Share, x=factor(Year))) +
+ geom_bar(position="dodge", stat="identity") + theme_bw() +
+ theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1)) + theme_grey(base_size = 25)
+dev.off()
+
+png(file="C:/IRHEIS/R/8.png",width=1200, height=600)
+ggplot(X2, aes(fill=factor(Region), y=Energy_Share, x=factor(Year))) +
+ geom_bar(position="dodge", stat="identity") + theme_bw() +
+ theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1)) + theme_grey(base_size = 25)
+#+ geom_text(aes(label=HLiterate), position=position_dodge(width=0.9), vjust=-0.25)
+dev.off()
+
+png(file="C:/IRHEIS/R/9.png",width=1200, height=600)
+ggplot(X3)+
+ geom_line(mapping = aes(x=Year,y=Energy_Share,col=factor(Decile),
+ linetype=factor(Decile)))+ theme_grey(base_size = 25)
+dev.off()
+###############################################################################
+png(file="C:/IRHEIS/R/10.png",width=1200, height=600)
+ggplot(X1, aes(fill=factor(electricity), y=electricity, x=factor(Year))) +
+ geom_bar(position="dodge", stat="identity") + theme_bw() +
+ theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1)) + theme_grey(base_size = 25)
+dev.off()
+
+png(file="C:/IRHEIS/R/11.png",width=1200, height=600)
+ggplot(X2, aes(fill=factor(Region), y=electricity, x=factor(Year))) +
+ geom_bar(position="dodge", stat="identity") + theme_bw() +
+ theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1)) + theme_grey(base_size = 25)
+#+ geom_text(aes(label=HLiterate), position=position_dodge(width=0.9), vjust=-0.25)
+dev.off()
+
+png(file="C:/IRHEIS/R/12.png",width=1200, height=600)
+ggplot(X3)+
+ geom_line(mapping = aes(x=Year,y=electricity,col=factor(Decile),
+ linetype=factor(Decile)))+ theme_grey(base_size = 25)
+dev.off()
+###############################################################################
+png(file="C:/IRHEIS/R/13.png",width=1200, height=600)
+ggplot(X1, aes(fill=factor(cookfuel), y=cookfuel, x=factor(Year))) +
+ geom_bar(position="dodge", stat="identity") + theme_bw() +
+ theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1)) + theme_grey(base_size = 25)
+dev.off()
+
+png(file="C:/IRHEIS/R/14.png",width=1200, height=600)
+ggplot(X2, aes(fill=factor(Region), y=cookfuel, x=factor(Year))) +
+ geom_bar(position="dodge", stat="identity") + theme_bw() +
+ theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1)) + theme_grey(base_size = 25)
+#+ geom_text(aes(label=HLiterate), position=position_dodge(width=0.9), vjust=-0.25)
+dev.off()
+
+png(file="C:/IRHEIS/R/15.png",width=1200, height=600)
+ggplot(X3)+
+ geom_line(mapping = aes(x=Year,y=cookfuel,col=factor(Decile),
+ linetype=factor(Decile)))+ theme_grey(base_size = 25)
+dev.off()
+###############################################################################
+###############################################################################
+###############################################################################
+png(file="C:/IRHEIS/R/16.png",width=1200, height=600)
+ggplot(X1, aes(fill=factor(Low_Calorie), y=Low_Calorie, x=factor(Year))) +
+ geom_bar(position="dodge", stat="identity") + theme_bw() +
+ theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1)) + theme_grey(base_size = 25)
+dev.off()
+
+png(file="C:/IRHEIS/R/17.png",width=1200, height=600)
+ggplot(X2, aes(fill=factor(Region), y=Low_Calorie, x=factor(Year))) +
+ geom_bar(position="dodge", stat="identity") + theme_bw() +
+ theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1)) + theme_grey(base_size = 25)
+#+ geom_text(aes(label=HLiterate), position=position_dodge(width=0.9), vjust=-0.25)
+dev.off()
+
+png(file="C:/IRHEIS/R/18.png",width=1200, height=600)
+ggplot(X3)+
+ geom_line(mapping = aes(x=Year,y=Low_Calorie,col=factor(Decile),
+ linetype=factor(Decile)))+ theme_grey(base_size = 25)
+dev.off()
+###############################################################################
+png(file="C:/IRHEIS/R/19.png",width=1200, height=600)
+ggplot(X1, aes(fill=factor(Low_Protein), y=Low_Protein, x=factor(Year))) +
+ geom_bar(position="dodge", stat="identity") + theme_bw() +
+ theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1)) + theme_grey(base_size = 25)
+dev.off()
+
+png(file="C:/IRHEIS/R/20.png",width=1200, height=600)
+ggplot(X2, aes(fill=factor(Region), y=Low_Protein, x=factor(Year))) +
+ geom_bar(position="dodge", stat="identity") + theme_bw() +
+ theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1)) + theme_grey(base_size = 25)
+#+ geom_text(aes(label=HLiterate), position=position_dodge(width=0.9), vjust=-0.25)
+dev.off()
+
+png(file="C:/IRHEIS/R/21.png",width=1200, height=600)
+ggplot(X3)+
+ geom_line(mapping = aes(x=Year,y=Low_Protein,col=factor(Decile),
+ linetype=factor(Decile)))+ theme_grey(base_size = 25)
+dev.off()
+###############################################################################
+png(file="C:/IRHEIS/R/22.png",width=1200, height=600)
+ggplot(X1, aes(fill=factor(No_Insurance), y=No_Insurance, x=factor(Year))) +
+ geom_bar(position="dodge", stat="identity") + theme_bw() +
+ theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1)) + theme_grey(base_size = 25)
+dev.off()
+
+png(file="C:/IRHEIS/R/23.png",width=1200, height=600)
+ggplot(X2, aes(fill=factor(Region), y=No_Insurance, x=factor(Year))) +
+ geom_bar(position="dodge", stat="identity") + theme_bw() +
+ theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1)) + theme_grey(base_size = 25)
+#+ geom_text(aes(label=HLiterate), position=position_dodge(width=0.9), vjust=-0.25)
+dev.off()
+
+png(file="C:/IRHEIS/R/24.png",width=1200, height=600)
+ggplot(X3)+
+ geom_line(mapping = aes(x=Year,y=No_Insurance,col=factor(Decile),
+ linetype=factor(Decile)))+ theme_grey(base_size = 25)
+dev.off()
+###############################################################################
+png(file="C:/IRHEIS/R/25.png",width=1200, height=600)
+ggplot(X1, aes(fill=factor(pipewater), y=pipewater, x=factor(Year))) +
+ geom_bar(position="dodge", stat="identity") + theme_bw() +
+ theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1)) + theme_grey(base_size = 25)
+dev.off()
+
+png(file="C:/IRHEIS/R/26.png",width=1200, height=600)
+ggplot(X2, aes(fill=factor(Region), y=pipewater, x=factor(Year))) +
+ geom_bar(position="dodge", stat="identity") + theme_bw() +
+ theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1)) + theme_grey(base_size = 25)
+#+ geom_text(aes(label=HLiterate), position=position_dodge(width=0.9), vjust=-0.25)
+dev.off()
+
+png(file="C:/IRHEIS/R/27.png",width=1200, height=600)
+ggplot(X3)+
+ geom_line(mapping = aes(x=Year,y=pipewater,col=factor(Decile),
+ linetype=factor(Decile)))+ theme_grey(base_size = 25)
+dev.off()
+###############################################################################
+###############################################################################
+###############################################################################
+png(file="C:/IRHEIS/R/28.png",width=1200, height=600)
+ggplot(X1, aes(fill=factor(Area_Per), y=Area_Per, x=factor(Year))) +
+ geom_bar(position="dodge", stat="identity") + theme_bw() +
+ theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1)) + theme_grey(base_size = 25)
+dev.off()
+
+png(file="C:/IRHEIS/R/29.png",width=1200, height=600)
+ggplot(X2, aes(fill=factor(Region), y=Area_Per, x=factor(Year))) +
+ geom_bar(position="dodge", stat="identity") + theme_bw() +
+ theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1)) + theme_grey(base_size = 25)
+#+ geom_text(aes(label=HLiterate), position=position_dodge(width=0.9), vjust=-0.25)
+dev.off()
+
+png(file="C:/IRHEIS/R/30.png",width=1200, height=600)
+ggplot(X3)+
+ geom_line(mapping = aes(x=Year,y=Area_Per,col=factor(Decile),
+ linetype=factor(Decile)))+ theme_grey(base_size = 25)
+dev.off()
+###############################################################################
+png(file="C:/IRHEIS/R/31.png",width=1200, height=600)
+ggplot(X1, aes(fill=factor(skeleton), y=skeleton, x=factor(Year))) +
+ geom_bar(position="dodge", stat="identity") + theme_bw() +
+ theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1)) + theme_grey(base_size = 25)
+dev.off()
+
+png(file="C:/IRHEIS/R/32.png",width=1200, height=600)
+ggplot(X2, aes(fill=factor(Region), y=skeleton, x=factor(Year))) +
+ geom_bar(position="dodge", stat="identity") + theme_bw() +
+ theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1)) + theme_grey(base_size = 25)
+#+ geom_text(aes(label=HLiterate), position=position_dodge(width=0.9), vjust=-0.25)
+dev.off()
+
+png(file="C:/IRHEIS/R/33.png",width=1200, height=600)
+ggplot(X3)+
+ geom_line(mapping = aes(x=Year,y=skeleton,col=factor(Decile),
+ linetype=factor(Decile)))+ theme_grey(base_size = 25)
+dev.off()
+###############################################################################
+png(file="C:/IRHEIS/R/34.png",width=1200, height=600)
+ggplot(X1, aes(fill=factor(House_High_Share), y=House_High_Share, x=factor(Year))) +
+ geom_bar(position="dodge", stat="identity") + theme_bw() +
+ theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1)) + theme_grey(base_size = 25)
+dev.off()
+
+png(file="C:/IRHEIS/R/35.png",width=1200, height=600)
+ggplot(X2, aes(fill=factor(Region), y=House_High_Share, x=factor(Year))) +
+ geom_bar(position="dodge", stat="identity") + theme_bw() +
+ theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1)) + theme_grey(base_size = 25)
+#+ geom_text(aes(label=HLiterate), position=position_dodge(width=0.9), vjust=-0.25)
+dev.off()
+
+png(file="C:/IRHEIS/R/36.png",width=1200, height=600)
+ggplot(X3)+
+ geom_line(mapping = aes(x=Year,y=House_High_Share,col=factor(Decile),
+ linetype=factor(Decile)))+ theme_grey(base_size = 25)
+dev.off()
+###############################################################################
+###############################################################################
+###############################################################################
+png(file="C:/IRHEIS/R/37.png",width=1200, height=600)
+ggplot(X1, aes(fill=factor(bathroom), y=bathroom, x=factor(Year))) +
+ geom_bar(position="dodge", stat="identity") + theme_bw() +
+ theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1)) + theme_grey(base_size = 25)
+dev.off()
+
+png(file="C:/IRHEIS/R/38.png",width=1200, height=600)
+ggplot(X2, aes(fill=factor(Region), y=bathroom, x=factor(Year))) +
+ geom_bar(position="dodge", stat="identity") + theme_bw() +
+ theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1)) + theme_grey(base_size = 25)
+#+ geom_text(aes(label=HLiterate), position=position_dodge(width=0.9), vjust=-0.25)
+dev.off()
+
+png(file="C:/IRHEIS/R/39.png",width=1200, height=600)
+ggplot(X3)+
+ geom_line(mapping = aes(x=Year,y=bathroom,col=factor(Decile),
+ linetype=factor(Decile)))+ theme_grey(base_size = 25)
+dev.off()
+###############################################################################
+png(file="C:/IRHEIS/R/40.png",width=1200, height=600)
+ggplot(X1, aes(fill=factor(bathroom), y=ego, x=factor(Year))) +
+ geom_bar(position="dodge", stat="identity") + theme_bw() +
+ theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1)) + theme_grey(base_size = 25)
+dev.off()
+
+png(file="C:/IRHEIS/R/41.png",width=1200, height=600)
+ggplot(X2, aes(fill=factor(Region), y=ego, x=factor(Year))) +
+ geom_bar(position="dodge", stat="identity") + theme_bw() +
+ theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1)) + theme_grey(base_size = 25)
+#+ geom_text(aes(label=HLiterate), position=position_dodge(width=0.9), vjust=-0.25)
+dev.off()
+
+png(file="C:/IRHEIS/R/42.png",width=1200, height=600)
+ggplot(X3)+
+ geom_line(mapping = aes(x=Year,y=ego,col=factor(Decile),
+ linetype=factor(Decile)))+ theme_grey(base_size = 25)
+dev.off()
+###############################################################################
+png(file="C:/IRHEIS/R/43.png",width=1200, height=600)
+ggplot(X1, aes(fill=factor(car), y=car, x=factor(Year))) +
+ geom_bar(position="dodge", stat="identity") + theme_bw() +
+ theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1)) + theme_grey(base_size = 25)
+dev.off()
+
+png(file="C:/IRHEIS/R/44.png",width=1200, height=600)
+ggplot(X2, aes(fill=factor(Region), y=car, x=factor(Year))) +
+ geom_bar(position="dodge", stat="identity") + theme_bw() +
+ theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1)) + theme_grey(base_size = 25)
+#+ geom_text(aes(label=HLiterate), position=position_dodge(width=0.9), vjust=-0.25)
+dev.off()
+
+png(file="C:/IRHEIS/R/45.png",width=1200, height=600)
+ggplot(X3)+
+ geom_line(mapping = aes(x=Year,y=car,col=factor(Decile),
+ linetype=factor(Decile)))+ theme_grey(base_size = 25)
+dev.off()
+###############################################################################
+png(file="C:/IRHEIS/R/46.png",width=1200, height=600)
+ggplot(X1, aes(fill=factor(Tech_low), y=Tech_low, x=factor(Year))) +
+ geom_bar(position="dodge", stat="identity") + theme_bw() +
+ theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1)) + theme_grey(base_size = 25)
+dev.off()
+
+png(file="C:/IRHEIS/R/47.png",width=1200, height=600)
+ggplot(X2, aes(fill=factor(Region), y=Tech_low, x=factor(Year))) +
+ geom_bar(position="dodge", stat="identity") + theme_bw() +
+ theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1)) + theme_grey(base_size = 25)
+#+ geom_text(aes(label=HLiterate), position=position_dodge(width=0.9), vjust=-0.25)
+dev.off()
+
+png(file="C:/IRHEIS/R/48.png",width=1200, height=600)
+ggplot(X3)+
+ geom_line(mapping = aes(x=Year,y=Tech_low,col=factor(Decile),
+ linetype=factor(Decile)))+ theme_grey(base_size = 25)
+dev.off()
+###############################################################################
+png(file="C:/IRHEIS/R/49.png",width=1200, height=600)
+ggplot(X1, aes(fill=factor(Equip_low), y=Equip_low, x=factor(Year))) +
+ geom_bar(position="dodge", stat="identity") + theme_bw() +
+ theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1)) + theme_grey(base_size = 25)
+dev.off()
+
+png(file="C:/IRHEIS/R/50.png",width=1200, height=600)
+ggplot(X2, aes(fill=factor(Region), y=Equip_low, x=factor(Year))) +
+ geom_bar(position="dodge", stat="identity") + theme_bw() +
+ theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1)) + theme_grey(base_size = 25)
+#+ geom_text(aes(label=HLiterate), position=position_dodge(width=0.9), vjust=-0.25)
+dev.off()
+
+png(file="C:/IRHEIS/R/51.png",width=1200, height=600)
+ggplot(X3)+
+ geom_line(mapping = aes(x=Year,y=Equip_low,col=factor(Decile),
+ linetype=factor(Decile)))+ theme_grey(base_size = 25)
+dev.off()
+
+
+
+
+write.csv(X1,file="X1.csv")
+write.csv(X2,file="X2.csv")
+write.csv(X3,file="X3.csv")
+write.csv(X4,file="X4.csv")
+#write.csv(Province,file="Province.csv")
+
+endtime <- proc.time()
+
+cat("\n\n============================\nIt took ")
+cat((endtime-starttime)[3])
\ No newline at end of file
diff --git a/R/Archive/Deciles Matrix.R b/R/Archive/Deciles Matrix.R
new file mode 100644
index 00000000..a8516b84
--- /dev/null
+++ b/R/Archive/Deciles Matrix.R
@@ -0,0 +1,443 @@
+#170-Deciling for normal calculations.R
+#
+# Copyright © 2018:Majid Einian & Arin Shahbazian
+# Licence: GPL-3
+
+rm(list=ls())
+
+starttime <- proc.time()
+cat("\n\n================ Deciles matrix =====================================\n")
+
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+#library(readxl)
+library(data.table)
+library(ggplot2)
+
+for(year in (Settings$startyear:Settings$endyear)){
+ cat(paste0("\n------------------------------\nYear:",year,"\n"))
+
+
+ # load data --------------------------------------
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"Merged4CBN3.rda"))
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"Total2.rda"))
+
+ ###Nominal- Country
+ MD<- MD[order(Total_Exp_Month_Per_nondurable)] #Deciling in Country(Nominal)
+ MD[,crw2:=cumsum(Weight*Size)/sum(Weight*Size)] # Cumulative Relative Weight
+ MD[,Decile:=cut(crw2,breaks = seq(0,1,.1),labels = 1:10)]
+ MD[,Percentile:=cut(crw2,breaks=seq(0,1,.01),labels=1:100)]
+
+
+ A1<-MD[(`71111`+`71112`+`71116`+`71117`>0),
+ .(A1=weighted.mean(`71111`+`71112`+`71116`+
+ `71117`,Weight)),by=Decile]
+ A2<-MD[(`91128`+`91129`>0),
+ .(A2=weighted.mean(`91128`+`91129`,Weight)),by=Decile]
+ A3<-MD[`53112`>0 ,.(A3=weighted.mean(`53112`,Weight)),by=Decile]
+ A4<-MD[`53116`>0 , .(A4=weighted.mean(`53116`,Weight)),by=Decile]
+ A5<-MD[`53113`>0 ,.(A5=weighted.mean(`53113`,Weight)),by=Decile]
+ A6<-MD[`82113`>0, .(A6=weighted.mean(`82113`,Weight)),by=Decile]
+ A7<-MD[`53125`>0,.(A7=weighted.mean(`53125`,Weight)),by=Decile]
+ A8<-MD[`91311`>0 ,.(A8= weighted.mean(`91311`,Weight)),by=Decile]
+ A9<-MD[`72111`>0,.(A9=weighted.mean(`72111`,Weight)),by=Decile]
+ if (year!=90 & year!=92 & year!=93 & year!=95){
+ A10<-MD[`72118`>0 ,.(A10=weighted.mean(`72118`,Weight)),by=Decile]
+ }
+ A11<-MD[`72319`>0 ,.(A11=weighted.mean(`72319`,Weight)),by=Decile]
+
+ MD<-merge(MD,A1,by="Decile")
+ MD<-merge(MD,A2,by="Decile")
+ MD<-merge(MD,A3,by="Decile")
+ MD<-merge(MD,A4,by="Decile")
+ MD<-merge(MD,A5,by="Decile")
+ MD<-merge(MD,A6,by="Decile")
+ MD<-merge(MD,A7,by="Decile")
+ MD<-merge(MD,A8,by="Decile")
+ MD[,A8:=as.numeric(A8)]
+ MD<-merge(MD,A9,by="Decile")
+ if (year!=90 & year!=92 & year!=93 & year!=95){
+ MD<-merge(MD,A10,by="Decile")
+ }
+ MD<-merge(MD,A11,by="Decile")
+
+ MD[car=="True",Added1:=A1]
+ MD[tvcr=="True",Added2:=A2]
+ MD[freezer=="True" | frez_refrig=="True" | refrigerator=="True",
+ Added3:=A3]
+ MD[oven=="True",Added4:=A4]
+ MD[washer=="True",Added5:=A5]
+ MD[cellphone=="True",Added6:=A6]
+ MD[cooler_gas=="True",Added7:=A7]
+ MD[computer=="True",Added8:=A8]
+ MD[car=="True",Added9:=A9]
+ if (year!=90 & year!=92 & year!=93 & year!=95){
+ MD[car=="True",Added10:=A10]
+ }
+ MD[car=="True",Added11:=A11]
+
+ x<-MD[,.(HHID,Decile,car,Added1)]
+
+ if (year!=90 & year!=92 & year!=93 & year!=95){
+ dep <- c( "71111", "71112","71116", "71117",
+ "91128", "91129","53112", "53116",
+ "53113", "82113","53125", "91311",
+ "72111", "72118","72319")
+ }
+
+ if (year==90 | year==92 | year==93 | year==95){
+ dep <- c( "71111", "71112","71116", "71117",
+ "91128", "91129","53112", "53116",
+ "53113", "82113","53125", "91311",
+ "72111","72319")
+ }
+
+ MD[, Total_Depreciated_Durable := Reduce(`+`, .SD), .SDcols=dep]
+ MD[is.na(MD)] <- 0
+
+ if (year!=90 & year!=92 & year!=93 & year!=95){
+ MD[,Added:=Added1+Added2+Added3+Added4+Added5+Added6+
+ Added7+Added8+Added9+Added10+Added11]
+ }
+ if (year==90 | year==92 | year==93 | year==95){
+ MD[,Added:=Added1+Added2+Added3+Added4+Added5+Added6+
+ Added7+Added8+Added9+Added11]
+ }
+
+ #Calculate Monthly Total Expenditures
+ nw <- c("OriginalFoodExpenditure","FoodOtherExpenditure", "Cigar_Exp", "Cloth_Exp",
+ "Amusement_Exp", "Communication_Exp",
+ "HouseandEnergy_Exp", "Furniture_Exp", "HotelRestaurant_Exp", "Hygiene_Exp",
+ "Transportation_Exp", "Other_Exp"
+ ,"Add_to_NonDurable"
+ ,"Added"
+ #, "Total_Depreciated_Durable"
+ )
+ w <- c(nw, "Medical_Exp",
+ "Durable_NoDep","Durable_Emergency")
+
+
+ MD[, Total_Exp_Month := Reduce(`+`, .SD), .SDcols=w]
+ MD[, Total_Exp_Month_nondurable := Reduce(`+`, .SD), .SDcols=nw]
+
+ MD[,weighted.mean(Total_Exp_Month,Weight)]
+ MD[,weighted.mean(Total_Exp_Month_nondurable,Weight)]
+
+ MD[,Total_Exp_Month_Per:=Total_Exp_Month/EqSizeOECD]
+ MD[,Total_Exp_Month_Per_nondurable:=Total_Exp_Month_nondurable/EqSizeOECD]
+
+ ###################################################################
+
+
+
+
+ SMD <- MD[,.(HHID,Region,ProvinceCode,
+ ServiceExp,FoodExpenditure,Total_Exp_Month,
+ NewArea,NewArea_Name,Total_Exp_Month_Per_nondurable,TOriginalFoodExpenditure_Per,
+ # Total_Exp_Month_Per_nondurable2,TFoodExpenditure_Per2,
+ Durable_Exp,
+ TFoodKCaloriesHH_Per,Calorie_Need_WorldBank,#Calorie_Need_NutritionInstitute,
+ Weight,MetrPrice,Size,EqSizeOECD)]
+
+ #Choose one of these
+ SMD[,Bundle_Value:=TOriginalFoodExpenditure_Per*Calorie_Need_WorldBank/TFoodKCaloriesHH_Per]
+ #SMD[,Bundle_Value:=TOriginalFoodExpenditure_Per*Calorie_Need_NutritionInstitute/TFoodKCaloriesHH_Per]
+ #SMD[,Bundle_Value:=TOriginalFoodExpenditure_Per*Settings$KCaloryNeed_Adult_WorldBank/TFoodKCaloriesHH_Per]
+ #SMD[,Bundle_Value:=TOriginalFoodExpenditure_Per*Settings$KCaloryNeed_Adult_NutritionInstitute/TFoodKCaloriesHH_Per]
+
+
+ SMD <- SMD[Bundle_Value<=5000000 | TFoodKCaloriesHH_Per>=300] #arbitrary measures, TODO: check in diff years
+
+
+ X <- SMD[,.(N=.N,wi1=weighted.mean(FoodExpenditure/Total_Exp_Month,Weight,na.rm = TRUE),
+ wi2=weighted.mean(ServiceExp/Total_Exp_Month,Weight,na.rm = TRUE),
+ pi1=weighted.mean(Bundle_Value,Weight,na.rm = TRUE),
+ pi2=weighted.mean(MetrPrice,Weight,na.rm = TRUE)),by=.(Region,NewArea_Name)]
+
+ X[,wi:=wi1+wi2]
+ X[,wi1:=wi1/wi]
+ X[,wi2:=wi2/wi]
+ XTeh<-X[NewArea_Name=="Sh_Tehran"]
+ wk1<-XTeh$wi1 # k == Sh_Tehran
+ wk2<-XTeh$wi2
+ pk1<-XTeh$pi1
+ pk2<-XTeh$pi2
+
+ X[,SimpleIndex:= .5 * pi1/pk1 + .5 * pi2/pk2]
+ X[,AnotherIndex:= wi1 * pi1/pk1 + wi2 * pi2/pk2]
+
+ X[,TornqvistIndex:= exp( (wk1+wi1)/2 * log(pi1/pk1) + (wk2+wi2)/2 * log(pi2/pk2) ) ]
+
+ SMD<-merge(SMD,X,by=c("Region","NewArea_Name"))
+
+ SMD[,Total_Exp_Month_Per_nondurable_Real:=Total_Exp_Month_Per_nondurable/TornqvistIndex]
+
+
+ ###Real- Country
+ SMD<- SMD[order(Total_Exp_Month_Per_nondurable_Real)] #Deciling in Country
+ SMD[,crw:=cumsum(Weight*Size)/sum(Weight*Size)] # Cumulative Relative Weight
+ SMD[,Decile:=cut(crw,breaks = seq(0,1,.1),labels = 1:10)]
+ SMD[,Percentile:=cut(crw,breaks=seq(0,1,.01),labels=1:100)]
+
+
+
+ Deciles1<-SMD[,.(HHID,Decile)]
+ names(Deciles1)<-c("HHID","Decile1")
+
+ save(Deciles1,file=paste0(Settings$HEISProcessedPath,"Y",year,"Deciles1.rda"))
+
+ MD[,Decile:=NULL]
+ MD<-merge(MD,Deciles1)
+ a<-MD[,weighted.mean(tenure=="OwnLandandBuilding" | tenure=="Apartment",Weight,
+ na.rm=TRUE),by=Decile1]
+ b<-MD[,weighted.mean(tenure=="OwnLandandBuilding" | tenure=="Apartment",Weight,
+ na.rm=TRUE),by=c("Decile1","Region")]
+}
+
+
+for(year in (Settings$startyear:Settings$endyear)){
+ cat(paste0("\n------------------------------\nYear:",year,"\n"))
+
+
+ # load data --------------------------------------
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"Merged4CBN3.rda"))
+ MD<-merge(MD,Total[,.(HHID,G041,G042)])
+
+ MD[,HouseandEnergy_Exp:=ifelse(tenure=="Rented" | tenure=="Mortgage",HouseandEnergy_Exp+G041+G042,HouseandEnergy_Exp)]
+
+ ###Nominal- Country
+ MD<- MD[order(Total_Exp_Month_Per_nondurable)] #Deciling in Country(Nominal)
+ MD[,crw2:=cumsum(Weight*Size)/sum(Weight*Size)] # Cumulative Relative Weight
+ MD[,Decile:=cut(crw2,breaks = seq(0,1,.1),labels = 1:10)]
+ MD[,Percentile:=cut(crw2,breaks=seq(0,1,.01),labels=1:100)]
+
+
+ A1<-MD[(`71111`+`71112`+`71116`+`71117`>0),
+ .(A1=weighted.mean(`71111`+`71112`+`71116`+
+ `71117`,Weight)),by=Decile]
+ A2<-MD[(`91128`+`91129`>0),
+ .(A2=weighted.mean(`91128`+`91129`,Weight)),by=Decile]
+ A3<-MD[`53112`>0 ,.(A3=weighted.mean(`53112`,Weight)),by=Decile]
+ A4<-MD[`53116`>0 , .(A4=weighted.mean(`53116`,Weight)),by=Decile]
+ A5<-MD[`53113`>0 ,.(A5=weighted.mean(`53113`,Weight)),by=Decile]
+ A6<-MD[`82113`>0, .(A6=weighted.mean(`82113`,Weight)),by=Decile]
+ A7<-MD[`53125`>0,.(A7=weighted.mean(`53125`,Weight)),by=Decile]
+ A8<-MD[`91311`>0 ,.(A8= weighted.mean(`91311`,Weight)),by=Decile]
+ A9<-MD[`72111`>0,.(A9=weighted.mean(`72111`,Weight)),by=Decile]
+ if (year!=90 & year!=92 & year!=93 & year!=95){
+ A10<-MD[`72118`>0 ,.(A10=weighted.mean(`72118`,Weight)),by=Decile]
+ }
+ A11<-MD[`72319`>0 ,.(A11=weighted.mean(`72319`,Weight)),by=Decile]
+
+ MD<-merge(MD,A1,by="Decile")
+ MD<-merge(MD,A2,by="Decile")
+ MD<-merge(MD,A3,by="Decile")
+ MD<-merge(MD,A4,by="Decile")
+ MD<-merge(MD,A5,by="Decile")
+ MD<-merge(MD,A6,by="Decile")
+ MD<-merge(MD,A7,by="Decile")
+ MD<-merge(MD,A8,by="Decile")
+ MD[,A8:=as.numeric(A8)]
+ MD<-merge(MD,A9,by="Decile")
+ if (year!=90 & year!=92 & year!=93 & year!=95){
+ MD<-merge(MD,A10,by="Decile")
+ }
+ MD<-merge(MD,A11,by="Decile")
+
+ MD[car=="True",Added1:=A1]
+ MD[tvcr=="True",Added2:=A2]
+ MD[freezer=="True" | frez_refrig=="True" | refrigerator=="True",
+ Added3:=A3]
+ MD[oven=="True",Added4:=A4]
+ MD[washer=="True",Added5:=A5]
+ MD[cellphone=="True",Added6:=A6]
+ MD[cooler_gas=="True",Added7:=A7]
+ MD[computer=="True",Added8:=A8]
+ MD[car=="True",Added9:=A9]
+ if (year!=90 & year!=92 & year!=93 & year!=95){
+ MD[car=="True",Added10:=A10]
+ }
+ MD[car=="True",Added11:=A11]
+
+ x<-MD[,.(HHID,Decile,car,Added1)]
+
+ if (year!=90 & year!=92 & year!=93 & year!=95){
+ dep <- c( "71111", "71112","71116", "71117",
+ "91128", "91129","53112", "53116",
+ "53113", "82113","53125", "91311",
+ "72111", "72118","72319")
+ }
+
+ if (year==90 | year==92 | year==93 | year==95){
+ dep <- c( "71111", "71112","71116", "71117",
+ "91128", "91129","53112", "53116",
+ "53113", "82113","53125", "91311",
+ "72111","72319")
+ }
+
+ MD[, Total_Depreciated_Durable := Reduce(`+`, .SD), .SDcols=dep]
+ MD[is.na(MD)] <- 0
+
+ if (year!=90 & year!=92 & year!=93 & year!=95){
+ MD[,Added:=Added1+Added2+Added3+Added4+Added5+Added6+
+ Added7+Added8+Added9+Added10+Added11]
+ }
+ if (year==90 | year==92 | year==93 | year==95){
+ MD[,Added:=Added1+Added2+Added3+Added4+Added5+Added6+
+ Added7+Added8+Added9+Added11]
+ }
+
+ #Calculate Monthly Total Expenditures
+ nw <- c("OriginalFoodExpenditure","FoodOtherExpenditure", "Cigar_Exp", "Cloth_Exp",
+ "Amusement_Exp", "Communication_Exp",
+ "HouseandEnergy_Exp", "Furniture_Exp", "HotelRestaurant_Exp", "Hygiene_Exp",
+ "Transportation_Exp", "Other_Exp"
+ ,"Add_to_NonDurable"
+ ,"Added"
+ #, "Total_Depreciated_Durable"
+ )
+ w <- c(nw, "Medical_Exp",
+ "Durable_NoDep","Durable_Emergency")
+
+
+ MD[, Total_Exp_Month := Reduce(`+`, .SD), .SDcols=w]
+ MD[, Total_Exp_Month_nondurable := Reduce(`+`, .SD), .SDcols=nw]
+
+ MD[,weighted.mean(Total_Exp_Month,Weight)]
+ MD[,weighted.mean(Total_Exp_Month_nondurable,Weight)]
+
+ MD[,Total_Exp_Month_Per:=Total_Exp_Month/EqSizeOECD]
+ MD[,Total_Exp_Month_Per_nondurable:=Total_Exp_Month_nondurable/EqSizeOECD]
+
+ ###################################################################
+
+
+
+
+ SMD <- MD[,.(HHID,Region,ProvinceCode,
+ ServiceExp,FoodExpenditure,Total_Exp_Month,
+ NewArea,NewArea_Name,Total_Exp_Month_Per_nondurable,TOriginalFoodExpenditure_Per,
+ # Total_Exp_Month_Per_nondurable2,TFoodExpenditure_Per2,
+ Durable_Exp,
+ TFoodKCaloriesHH_Per,Calorie_Need_WorldBank,#Calorie_Need_NutritionInstitute,
+ Weight,MetrPrice,Size,EqSizeOECD)]
+
+ #Choose one of these
+ SMD[,Bundle_Value:=TOriginalFoodExpenditure_Per*Calorie_Need_WorldBank/TFoodKCaloriesHH_Per]
+ #SMD[,Bundle_Value:=TOriginalFoodExpenditure_Per*Calorie_Need_NutritionInstitute/TFoodKCaloriesHH_Per]
+ #SMD[,Bundle_Value:=TOriginalFoodExpenditure_Per*Settings$KCaloryNeed_Adult_WorldBank/TFoodKCaloriesHH_Per]
+ #SMD[,Bundle_Value:=TOriginalFoodExpenditure_Per*Settings$KCaloryNeed_Adult_NutritionInstitute/TFoodKCaloriesHH_Per]
+
+
+ SMD <- SMD[Bundle_Value<=5000000 | TFoodKCaloriesHH_Per>=300] #arbitrary measures, TODO: check in diff years
+
+
+ X <- SMD[,.(N=.N,wi1=weighted.mean(FoodExpenditure/Total_Exp_Month,Weight,na.rm = TRUE),
+ wi2=weighted.mean(ServiceExp/Total_Exp_Month,Weight,na.rm = TRUE),
+ pi1=weighted.mean(Bundle_Value,Weight,na.rm = TRUE),
+ pi2=weighted.mean(MetrPrice,Weight,na.rm = TRUE)),by=.(Region,NewArea_Name)]
+
+ X[,wi:=wi1+wi2]
+ X[,wi1:=wi1/wi]
+ X[,wi2:=wi2/wi]
+ XTeh<-X[NewArea_Name=="Sh_Tehran"]
+ wk1<-XTeh$wi1 # k == Sh_Tehran
+ wk2<-XTeh$wi2
+ pk1<-XTeh$pi1
+ pk2<-XTeh$pi2
+
+ X[,SimpleIndex:= .5 * pi1/pk1 + .5 * pi2/pk2]
+ X[,AnotherIndex:= wi1 * pi1/pk1 + wi2 * pi2/pk2]
+
+ X[,TornqvistIndex:= exp( (wk1+wi1)/2 * log(pi1/pk1) + (wk2+wi2)/2 * log(pi2/pk2) ) ]
+
+ SMD<-merge(SMD,X,by=c("Region","NewArea_Name"))
+
+ SMD[,Total_Exp_Month_Per_nondurable_Real:=Total_Exp_Month_Per_nondurable/TornqvistIndex]
+
+
+ ###Real- Country
+ SMD<- SMD[order(Total_Exp_Month_Per_nondurable_Real)] #Deciling in Country
+ SMD[,crw:=cumsum(Weight*Size)/sum(Weight*Size)] # Cumulative Relative Weight
+ SMD[,Decile:=cut(crw,breaks = seq(0,1,.1),labels = 1:10)]
+ SMD[,Percentile:=cut(crw,breaks=seq(0,1,.01),labels=1:100)]
+
+
+
+
+ Deciles2<-SMD[,.(HHID,Decile)]
+ names(Deciles2)<-c("HHID","Decile2")
+
+ save(Deciles2,file=paste0(Settings$HEISProcessedPath,"Y",year,"Deciles2.rda"))
+
+}
+
+Comparison<-merge(Deciles1,Deciles2)
+Comparison[,Diff:=as.numeric(Decile2)-as.numeric(Decile1)]
+Comparison<-merge(Comparison,MD[,.(HHID,Weight,Size,tenure)])
+Comparison[,Weight2:=Weight*83075/86772]
+
+###Tests
+Comparison[,sum(Weight*Size)]
+Comparison[,sum(Weight2*Size)]
+Comparison[,sum(Weight*Size),by="Decile1"][order(Decile1)]
+Comparison[,sum(Weight*Size),by="Decile2"][order(Decile2)]
+Comparison[,sum(Weight2*Size),by="Decile1"][order(Decile1)]
+Comparison[,sum(Weight2*Size),by="Decile2"][order(Decile2)]
+
+Table1<-Comparison[Decile1==1,.(N1=sum(Weight2*Size)),by="Decile2"]
+Table2<-Comparison[Decile1==2,.(N2=sum(Weight2*Size)),by="Decile2"]
+Table3<-Comparison[Decile1==3,.(N3=sum(Weight2*Size)),by="Decile2"]
+Table4<-Comparison[Decile1==4,.(N4=sum(Weight2*Size)),by="Decile2"]
+Table5<-Comparison[Decile1==5,.(N5=sum(Weight2*Size)),by="Decile2"]
+Table6<-Comparison[Decile1==6,.(N6=sum(Weight2*Size)),by="Decile2"]
+Table7<-Comparison[Decile1==7,.(N7=sum(Weight2*Size)),by="Decile2"]
+Table8<-Comparison[Decile1==8,.(N8=sum(Weight2*Size)),by="Decile2"]
+Table9<-Comparison[Decile1==9,.(N9=sum(Weight2*Size)),by="Decile2"]
+Table10<-Comparison[Decile1==10,.(N10=sum(Weight2*Size)),by="Decile2"]
+
+Table<-merge(Table1,Table2,all = TRUE)
+Table<-merge(Table,Table3,all = TRUE)
+Table<-merge(Table,Table4,all = TRUE)
+Table<-merge(Table,Table5,all = TRUE)
+Table<-merge(Table,Table6,all = TRUE)
+Table<-merge(Table,Table7,all = TRUE)
+Table<-merge(Table,Table8,all = TRUE)
+Table<-merge(Table,Table9,all = TRUE)
+Table<-merge(Table,Table10,all = TRUE)
+
+Table[is.na(Table)] <- 0
+
+
+Table1<-Comparison[Decile1==1,.(N1=sum(Weight*Size)),by="Decile2"]
+Table2<-Comparison[Decile1==2,.(N2=sum(Weight*Size)),by="Decile2"]
+Table3<-Comparison[Decile1==3,.(N3=sum(Weight*Size)),by="Decile2"]
+Table4<-Comparison[Decile1==4,.(N4=sum(Weight*Size)),by="Decile2"]
+Table5<-Comparison[Decile1==5,.(N5=sum(Weight*Size)),by="Decile2"]
+Table6<-Comparison[Decile1==6,.(N6=sum(Weight*Size)),by="Decile2"]
+Table7<-Comparison[Decile1==7,.(N7=sum(Weight*Size)),by="Decile2"]
+Table8<-Comparison[Decile1==8,.(N8=sum(Weight*Size)),by="Decile2"]
+Table9<-Comparison[Decile1==9,.(N9=sum(Weight*Size)),by="Decile2"]
+Table10<-Comparison[Decile1==10,.(N10=sum(Weight*Size)),by="Decile2"]
+
+Table<-merge(Table1,Table2,all = TRUE)
+Table<-merge(Table,Table3,all = TRUE)
+Table<-merge(Table,Table4,all = TRUE)
+Table<-merge(Table,Table5,all = TRUE)
+Table<-merge(Table,Table6,all = TRUE)
+Table<-merge(Table,Table7,all = TRUE)
+Table<-merge(Table,Table8,all = TRUE)
+Table<-merge(Table,Table9,all = TRUE)
+Table<-merge(Table,Table10,all = TRUE)
+
+Table[is.na(Table)] <- 0
+
+
+
+
+
+endtime <- proc.time()
+cat("\n\n============================\nIt took ")
+cat((endtime-starttime)["elapsed"])
+cat(" seconds")
diff --git a/R/Archive/Deciles.R b/R/Archive/Deciles.R
new file mode 100644
index 00000000..41b9b308
--- /dev/null
+++ b/R/Archive/Deciles.R
@@ -0,0 +1,219 @@
+#170-Deciling for normal calculations.R
+#
+# Copyright © 2018:Majid Einian & Arin Shahbazian
+# Licence: GPL-3
+
+rm(list=ls())
+
+starttime <- proc.time()
+cat("\n\n================ Deciles matrix =====================================\n")
+
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+#library(readxl)
+library(data.table)
+library(ggplot2)
+
+for(year in (Settings$startyear:Settings$endyear)){
+ cat(paste0("\n------------------------------\nYear:",year,"\n"))
+
+
+ # load data --------------------------------------
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"Merged4CBN3.rda"))
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"Total2.rda"))
+ MD<-merge(MD,Total[,.(HHID,G041,G042)])
+
+ ###Nominal- Country
+ MD<- MD[order(Total_Exp_Month_Per_nondurable)] #Deciling in Country(Nominal)
+ MD[,crw2:=cumsum(Weight*Size)/sum(Weight*Size)] # Cumulative Relative Weight
+ MD[,Decile:=cut(crw2,breaks = seq(0,1,.1),labels = 1:10)]
+ MD[,Percentile:=cut(crw2,breaks=seq(0,1,.01),labels=1:100)]
+
+
+ A1<-MD[(`71111`+`71112`+`71116`+`71117`>0),
+ .(A1=weighted.mean(`71111`+`71112`+`71116`+
+ `71117`,Weight)),by=Decile]
+ A2<-MD[(`91128`+`91129`>0),
+ .(A2=weighted.mean(`91128`+`91129`,Weight)),by=Decile]
+ A3<-MD[`53112`>0 ,.(A3=weighted.mean(`53112`,Weight)),by=Decile]
+ A4<-MD[`53116`>0 , .(A4=weighted.mean(`53116`,Weight)),by=Decile]
+ A5<-MD[`53113`>0 ,.(A5=weighted.mean(`53113`,Weight)),by=Decile]
+ A6<-MD[`82113`>0, .(A6=weighted.mean(`82113`,Weight)),by=Decile]
+ A7<-MD[`53125`>0,.(A7=weighted.mean(`53125`,Weight)),by=Decile]
+ A8<-MD[`91311`>0 ,.(A8= weighted.mean(`91311`,Weight)),by=Decile]
+ A9<-MD[`72111`>0,.(A9=weighted.mean(`72111`,Weight)),by=Decile]
+ if (year!=90 & year!=92 & year!=93 & year!=95){
+ A10<-MD[`72118`>0 ,.(A10=weighted.mean(`72118`,Weight)),by=Decile]
+ }
+ A11<-MD[`72319`>0 ,.(A11=weighted.mean(`72319`,Weight)),by=Decile]
+
+ MD<-merge(MD,A1,by="Decile")
+ MD<-merge(MD,A2,by="Decile")
+ MD<-merge(MD,A3,by="Decile")
+ MD<-merge(MD,A4,by="Decile")
+ MD<-merge(MD,A5,by="Decile")
+ MD<-merge(MD,A6,by="Decile")
+ MD<-merge(MD,A7,by="Decile")
+ MD<-merge(MD,A8,by="Decile")
+ MD[,A8:=as.numeric(A8)]
+ MD<-merge(MD,A9,by="Decile")
+ if (year!=90 & year!=92 & year!=93 & year!=95){
+ MD<-merge(MD,A10,by="Decile")
+ }
+ MD<-merge(MD,A11,by="Decile")
+
+ MD[car=="True",Added1:=A1]
+ MD[tvcr=="True",Added2:=A2]
+ MD[freezer=="True" | frez_refrig=="True" | refrigerator=="True",
+ Added3:=A3]
+ MD[oven=="True",Added4:=A4]
+ MD[washer=="True",Added5:=A5]
+ MD[cellphone=="True",Added6:=A6]
+ MD[cooler_gas=="True",Added7:=A7]
+ MD[computer=="True",Added8:=A8]
+ MD[car=="True",Added9:=A9]
+ if (year!=90 & year!=92 & year!=93 & year!=95){
+ MD[car=="True",Added10:=A10]
+ }
+ MD[car=="True",Added11:=A11]
+
+ x<-MD[,.(HHID,Decile,car,Added1)]
+
+ if (year!=90 & year!=92 & year!=93 & year!=95){
+ dep <- c( "71111", "71112","71116", "71117",
+ "91128", "91129","53112", "53116",
+ "53113", "82113","53125", "91311",
+ "72111", "72118","72319")
+ }
+
+ if (year==90 | year==92 | year==93 | year==95){
+ dep <- c( "71111", "71112","71116", "71117",
+ "91128", "91129","53112", "53116",
+ "53113", "82113","53125", "91311",
+ "72111","72319")
+ }
+
+ MD[, Total_Depreciated_Durable := Reduce(`+`, .SD), .SDcols=dep]
+ MD[is.na(MD)] <- 0
+
+ if (year!=90 & year!=92 & year!=93 & year!=95){
+ MD[,Added:=Added1+Added2+Added3+Added4+Added5+Added6+
+ Added7+Added8+Added9+Added10+Added11]
+ }
+ if (year==90 | year==92 | year==93 | year==95){
+ MD[,Added:=Added1+Added2+Added3+Added4+Added5+Added6+
+ Added7+Added8+Added9+Added11]
+ }
+
+ #Calculate Monthly Total Expenditures
+ nw <- c("OriginalFoodExpenditure","FoodOtherExpenditure", "Cigar_Exp", "Cloth_Exp",
+ "Amusement_Exp", "Communication_Exp",
+ "HouseandEnergy_Exp", "Furniture_Exp", "HotelRestaurant_Exp", "Hygiene_Exp",
+ "Transportation_Exp", "Other_Exp"
+ ,"Add_to_NonDurable"
+ ,"Added"
+ #, "Total_Depreciated_Durable"
+ )
+ w <- c(nw, "Medical_Exp",
+ "Durable_NoDep","Durable_Emergency")
+
+
+ MD[, Total_Exp_Month := Reduce(`+`, .SD), .SDcols=w]
+ MD[, Total_Exp_Month_nondurable := Reduce(`+`, .SD), .SDcols=nw]
+
+ MD[,weighted.mean(Total_Exp_Month,Weight)]
+ MD[,weighted.mean(Total_Exp_Month_nondurable,Weight)]
+
+ MD[,Total_Exp_Month_Per:=Total_Exp_Month/EqSizeOECD]
+ MD[,Total_Exp_Month_Per_nondurable:=Total_Exp_Month_nondurable/EqSizeOECD]
+
+ ###################################################################
+
+
+
+
+ SMD <- MD[,.(HHID,Region,ProvinceCode,
+ ServiceExp,FoodExpenditure,Total_Exp_Month,
+ NewArea,NewArea_Name,Total_Exp_Month_Per_nondurable,TOriginalFoodExpenditure_Per,
+ # Total_Exp_Month_Per_nondurable2,TFoodExpenditure_Per2,
+ Durable_Exp,
+ TFoodKCaloriesHH_Per,Calorie_Need_WorldBank,#Calorie_Need_NutritionInstitute,
+ Weight,MetrPrice,Size,EqSizeOECD)]
+
+ #Choose one of these
+ SMD[,Bundle_Value:=TOriginalFoodExpenditure_Per*Calorie_Need_WorldBank/TFoodKCaloriesHH_Per]
+ #SMD[,Bundle_Value:=TOriginalFoodExpenditure_Per*Calorie_Need_NutritionInstitute/TFoodKCaloriesHH_Per]
+ #SMD[,Bundle_Value:=TOriginalFoodExpenditure_Per*Settings$KCaloryNeed_Adult_WorldBank/TFoodKCaloriesHH_Per]
+ #SMD[,Bundle_Value:=TOriginalFoodExpenditure_Per*Settings$KCaloryNeed_Adult_NutritionInstitute/TFoodKCaloriesHH_Per]
+
+
+ SMD <- SMD[Bundle_Value<=5000000 | TFoodKCaloriesHH_Per>=300] #arbitrary measures, TODO: check in diff years
+
+
+ X <- SMD[,.(N=.N,wi1=weighted.mean(FoodExpenditure/Total_Exp_Month,Weight,na.rm = TRUE),
+ wi2=weighted.mean(ServiceExp/Total_Exp_Month,Weight,na.rm = TRUE),
+ pi1=weighted.mean(Bundle_Value,Weight,na.rm = TRUE),
+ pi2=weighted.mean(MetrPrice,Weight,na.rm = TRUE)),by=.(Region,NewArea_Name)]
+
+ X[,wi:=wi1+wi2]
+ X[,wi1:=wi1/wi]
+ X[,wi2:=wi2/wi]
+ XTeh<-X[NewArea_Name=="Sh_Tehran"]
+ wk1<-XTeh$wi1 # k == Sh_Tehran
+ wk2<-XTeh$wi2
+ pk1<-XTeh$pi1
+ pk2<-XTeh$pi2
+
+ X[,SimpleIndex:= .5 * pi1/pk1 + .5 * pi2/pk2]
+ X[,AnotherIndex:= wi1 * pi1/pk1 + wi2 * pi2/pk2]
+
+ X[,TornqvistIndex:= exp( (wk1+wi1)/2 * log(pi1/pk1) + (wk2+wi2)/2 * log(pi2/pk2) ) ]
+
+ SMD<-merge(SMD,X,by=c("Region","NewArea_Name"))
+
+ SMD[,Total_Exp_Month_Per_nondurable_Real:=Total_Exp_Month_Per_nondurable/TornqvistIndex]
+
+
+ ###Real- Country
+ SMD<- SMD[order(Total_Exp_Month_Per_nondurable_Real)] #Deciling in Country
+ SMD[,crw:=cumsum(Weight*Size)/sum(Weight*Size)] # Cumulative Relative Weight
+ SMD[,Decile:=cut(crw,breaks = seq(0,1,.1),labels = 1:10)]
+ SMD[,Percentile:=cut(crw,breaks=seq(0,1,.01),labels=1:100)]
+
+
+
+ Deciles1<-SMD[,.(HHID,Decile)]
+ names(Deciles1)<-c("HHID","Decile1")
+
+ save(Deciles1,file=paste0(Settings$HEISProcessedPath,"Y",year,"Deciles1.rda"))
+
+ MD[,Decile:=NULL]
+ MD<-merge(MD,Deciles1)
+
+ MD[,weighted.mean(Total_Exp_Month_Per,Weight)]
+ MD[,weighted.mean(Total_Exp_Month_Per,Weight),by="Region"]
+ z<- MD[,weighted.mean(Total_Exp_Month_Per,Weight),by=c("Region","Decile1")]
+
+ MD[,weighted.mean(Total_Exp_Month,Weight)]
+ MD[,weighted.mean(Total_Exp_Month,Weight),by="Region"]
+ z<- MD[,weighted.mean(Total_Exp_Month,Weight),by=c("Region","Decile1")]
+
+ MD[,weighted.mean(G041+G042,Weight)]
+ MD[,weighted.mean(G041+G042,Weight),by="Region"]
+ a<-MD[,weighted.mean(G041+G042,Weight),by="Decile1"]
+ b<-MD[,weighted.mean(G041+G042,Weight),by=c("Decile1","Region")]
+
+ MD[,weighted.mean((G041+G042)/EqSizeOECD,Weight)]
+ MD[,weighted.mean((G041+G042)/EqSizeOECD,Weight),by="Region"]
+ a<-MD[,weighted.mean((G041+G042)/EqSizeOECD,Weight),by="Decile1"]
+ b<-MD[,weighted.mean((G041+G042)/EqSizeOECD,Weight),by=c("Decile1","Region")]
+}
+
+
+
+
+endtime <- proc.time()
+cat("\n\n============================\nIt took ")
+cat((endtime-starttime)["elapsed"])
+cat(" seconds")
diff --git a/R/Archive/Engle.xlsx b/R/Archive/Engle.xlsx
new file mode 100644
index 00000000..75995f21
Binary files /dev/null and b/R/Archive/Engle.xlsx differ
diff --git a/R/Archive/Income Calculations.R b/R/Archive/Income Calculations.R
new file mode 100644
index 00000000..2022fcd5
--- /dev/null
+++ b/R/Archive/Income Calculations.R
@@ -0,0 +1,121 @@
+# 168- Step 8,9-Poverty Line.R
+#
+# Copyright © 2018:Majid Einian & Arin Shahbazian
+# Licence: GPL-3
+
+rm(list=ls())
+
+starttime <- proc.time()
+cat("\n\n================ Calculations =====================================\n")
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+library(readxl)
+library(data.table)
+library(ggplot2)
+library(stats)
+library(spatstat)
+
+X1<-data.table(Year = numeric(0), Income = numeric(0), Exp = numeric(0),
+ Income_Per = numeric(0), Exp_Per = numeric(0), Income_Per_kari= numeric(0),
+ Decile= numeric(0))
+
+X2<-data.table(Year = numeric(0), Income = numeric(0), Exp = numeric(0),
+ Income_Per = numeric(0), Income_Per_kari= numeric(0),
+ Exp_Per = numeric(0),Region= NA_character_)
+
+for(year in (Settings$startyear:Settings$endyear)){
+ cat(paste0("\nYear:",year,"\t"))
+
+ # load data --------------------------------------
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"FinalPoor.rda"))
+ #load(file = paste0(Settings$HEISProcessedPath,"Y",year,"TotalFoodCon.rda"))
+ #load(file = paste0(Settings$HEISProcessedPath,"Y",year,"TotalFoodExp.rda"))
+ load(file = paste0(Settings$HEISProcessedPath,"Y",year,"Durables.rda"))
+ #load(file = paste0(Settings$HEISProcessedPath,"Y",year,"Deciles.rda"))
+ load(file = paste0(Settings$HEISProcessedPath,"Y",year,"Deciles_Nonreal.rda"))
+
+ load( file = paste0(Settings$HEISProcessedPath,"Y",year,"PubWage.rda"))
+ load( file = paste0(Settings$HEISProcessedPath,"Y",year,"PrvWages.rda"))
+ load( file = paste0(Settings$HEISProcessedPath,"Y",year,"BussIncome.rda"))
+ load( file = paste0(Settings$HEISProcessedPath,"Y",year,"AgriWages.rda"))
+ load( file = paste0(Settings$HEISProcessedPath,"Y",year,"AidWage.rda"))
+ load( file = paste0(Settings$HEISProcessedPath,"Y",year,"HomemadeWage.rda"))
+ load( file = paste0(Settings$HEISProcessedPath,"Y",year,"InterestWage.rda"))
+ load( file = paste0(Settings$HEISProcessedPath,"Y",year,"IntraWage.rda"))
+ load( file = paste0(Settings$HEISProcessedPath,"Y",year,"OtherIncome.rda"))
+ load( file = paste0(Settings$HEISProcessedPath,"Y",year,"RentWage.rda"))
+ load( file = paste0(Settings$HEISProcessedPath,"Y",year,"RetirementWage.rda"))
+ load( file = paste0(Settings$HEISProcessedPath,"Y",year,"Subsidy.rda"))
+ load( file = paste0(Settings$HEISProcessedPath,"Y",year,"Total_Income.rda"))
+ # Decile<-as.data.table(Decile)
+ Data<-MD[,.(HHID,Region,ProvinceCode,Size,EqSizeOECD,Weight,Total_Exp_Month_Per,Total_Exp_Month_Per_nondurable,Add_to_NonDurable,Total_Exp_Month)]
+ Data<-merge(Data,PubWageData[,.(HHID,PubWageNetIncomeY)],by="HHID",all.x = TRUE)
+ Data<-merge(Data,PrvWageData[,.(HHID,PrvWageNetIncomeY)],by="HHID",all.x = TRUE)
+ Data<-merge(Data,BussIncomeData[,.(HHID,BussNetIncomeY)],by="HHID",all.x = TRUE)
+ Data<-merge(Data,AgriIncomeData[,.(HHID,AgriNetIncomeY)],by="HHID",all.x = TRUE)
+ Data<-merge(Data,AidWageData[,.(HHID,aid)],by="HHID",all.x = TRUE)
+ Data<-merge(Data,HomemadeWageData[,.(HHID,homemade)],by="HHID",all.x = TRUE)
+ Data<-merge(Data,InterestWageData[,.(HHID,interest)],by="HHID",all.x = TRUE)
+ Data<-merge(Data,IntraWageData[,.(HHID,intra)],by="HHID",all.x = TRUE)
+ Data<-merge(Data,RentWageData[,.(HHID,rent)],by="HHID",all.x = TRUE)
+ Data<-merge(Data,RetirementWageData[,.(HHID,retirement)],by="HHID",all.x = TRUE)
+ Data<-merge(Data,SubsidyWageData[,.(HHID,Subsidy)],by="HHID",all.x = TRUE)
+
+
+ Data[is.na(Data)] <- 0
+ Data[,Income_HH:=(PubWageNetIncomeY+PrvWageNetIncomeY+BussNetIncomeY+AgriNetIncomeY+
+ aid+homemade+interest+intra+rent+retirement+Subsidy)/12]
+
+ Data[,Income_HH_kari:=(PubWageNetIncomeY+PrvWageNetIncomeY+BussNetIncomeY+AgriNetIncomeY)/12]
+ Data[,Income_Per:=Income_HH/EqSizeOECD]
+ Data[,Income_Per_kari:=Income_HH_kari/EqSizeOECD]
+ Data<-Data[order(Total_Exp_Month_Per_nondurable)]
+ Data<-as.data.table(Data)
+ # Data <- Data[,crw:=cumsum(Weight*Size)/sum(Weight*Size)] # Cumulative Relative Weight
+ #Data <- Data[,Decile:=cut(crw,breaks = seq(0,1,.1),labels = 1:10)]
+ Data<-merge(Data,NRMD,by="HHID",all.x = TRUE)
+ a1<- Data[,weighted.mean(Income_HH,Weight)]
+ a1<- as.data.table(a1)
+ b1<- Data[,weighted.mean(Income_Per,Weight),by=Region]
+ c1<- Data[,weighted.mean(Income_Per,Weight),by=Decile][order(Decile)]
+
+ a2<- Data[,weighted.mean(Total_Exp_Month_Per,Weight)]
+ a2<- as.data.table(a2)
+ b2<- Data[,weighted.mean(Total_Exp_Month_Per,Weight),by=Region]
+ c2<- Data[,weighted.mean(Total_Exp_Month_Per,Weight),by=Decile][order(Decile)]
+
+ cat(Data[,weighted.mean(Income_HH,Weight)],"\t")
+ cat(Data[,weighted.mean(Total_Exp_Month,Weight)])
+
+ #cat(Data[,weighted.mean(Income_HH/EqSizeOECD,Weight)],"\t")
+ #cat(Data[,weighted.mean(Total_Exp_Month/EqSizeOECD,Weight)])
+
+
+ A1<-Data[,.(Income=weighted.mean(Income_HH,Weight),
+ Income_Per=weighted.mean(Income_HH/EqSizeOECD,Weight),
+ Income_Per_kari=weighted.mean(Income_Per_kari/EqSizeOECD,Weight),
+ Exp=weighted.mean(Total_Exp_Month,Weight),
+ Exp_Per=weighted.mean(Total_Exp_Month/EqSizeOECD,Weight)),by=Decile]
+
+ A1[,Year:=year]
+ X1 <- rbind(X1,A1)
+
+ A2<-Data[,.(Income=weighted.mean(Income_HH,Weight),
+ Income_Per=weighted.mean(Income_HH/EqSizeOECD,Weight),
+ Income_Per_kari=weighted.mean(Income_Per_kari/EqSizeOECD,Weight),
+ Exp=weighted.mean(Total_Exp_Month,Weight),
+ Exp_Per=weighted.mean(Total_Exp_Month/EqSizeOECD,Weight)),by=Region]
+
+ A2[,Year:=year]
+ X2 <- rbind(X2,A2)
+
+ save(Data,file=paste0(Settings$HEISProcessedPath,"Y",year,
+ "Activared.rda"))
+ }
+
+
+endtime <- proc.time()
+cat("\n\n============================\nIt took ")
+cat((endtime-starttime)["elapsed"])
+cat(" seconds")
\ No newline at end of file
diff --git a/R/Archive/Inflation9098.rda b/R/Archive/Inflation9098.rda
new file mode 100644
index 00000000..f1c2abbc
Binary files /dev/null and b/R/Archive/Inflation9098.rda differ
diff --git a/R/Archive/Job distribution.R b/R/Archive/Job distribution.R
new file mode 100644
index 00000000..baf45777
--- /dev/null
+++ b/R/Archive/Job distribution.R
@@ -0,0 +1,117 @@
+# 111-HHBase.R
+# Builds the base data.table for households
+
+rm(list=ls())
+
+starttime <- proc.time()
+cat("\n\n================ Job distribution =====================================\n")
+
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+#library(foreign)
+library(data.table)
+library(stringr)
+
+year<-98
+#for(year in (Settings$startyear:Settings$endyear)){
+ cat(paste0("\n------------------------------\nYear:",year,"\n"))
+
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"FinalPoor.rda"))
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"Total2.rda"))
+ T2<-Total[,.(HHID,G01,G02,G03,G04,G05,G06,G07,G08,G09,G101,
+ G102,G103,G104,G105,G11,G12,G13,G041,G042,G044,G045,
+ G0451,G0452,G0453,G0454,Subsidy,
+ Job_Main_Code_Pub,Job_Original_Code_Pub,
+ Job_Main_Code_Cooperative,Job_Original_Code_Cooperative,
+ Job_Main_Code_Prv,Job_Original_Code_Prv,
+ Job_Main_Code_Buss,Job_Original_Code_Buss,
+ Job_Main_Code_Agri,Job_Original_Code_Agri)]
+ MD<-merge(MD,Total[,.(HHID,G01,G02,G03,G04,G05,G06,G07,G08,G09,G101,
+ G102,G103,G104,G105,G11,G12,G13,G041,G042,G044,G045,
+ G0451,G0452,G0453,G0454,Subsidy,
+ Job_Main_Code_Pub,Job_Original_Code_Pub,
+ Job_Main_Code_Cooperative,Job_Original_Code_Cooperative,
+ Job_Main_Code_Prv,Job_Original_Code_Prv,
+ Job_Main_Code_Buss,Job_Original_Code_Buss,
+ Job_Main_Code_Agri,Job_Original_Code_Agri,
+ Retirement,Aid,Homemade,Rent,Interest,Intra)],by="HHID")
+
+ MD[,All:=G01+G02+G03+G04+G05+G06+G07+G08+G09+G101+
+ G102+G103+G104+G105+G11+G12+G13]
+
+ for (col in c("ego","bathroom","electricity"))
+ MD[is.na(get(col)), (col) := "True"]
+
+
+MD[,Other_Income:=max(Retirement,Aid,Homemade,Rent,Interest,Intra),by="HHID"]
+MD[,Other_Income_Code:=ifelse(Other_Income>0,0.5,0),by="HHID"]
+
+MD[,Job_Code:=max(Job_Main_Code_Pub,Job_Main_Code_Cooperative,Job_Main_Code_Prv,
+ Job_Main_Code_Buss,Job_Main_Code_Agri,Other_Income_Code),by="HHID"]
+MD[,Job_Code:=ifelse(Job_Code==0,0.5,Job_Code)]
+
+T3<-MD[,.(Job_Main_Code_Pub,Job_Main_Code_Cooperative,Job_Main_Code_Prv,
+ Job_Main_Code_Buss,Job_Main_Code_Agri,Other_Income_Code,Job_Code)]
+
+A<-T3[Job_Code>0]
+
+MD[,Category:=ifelse(Job_Main_Code_Pub>0,"Pub",
+ ifelse(Job_Main_Code_Prv>0,"Prv",
+ ifelse(Job_Main_Code_Buss>0 | Job_Main_Code_Agri>0,
+ "Buss","Other")))]
+
+MD[,weighted.mean(Job_Code==9,Weight),by=Decile][order(Decile)]
+MD[,weighted.mean(Job_Main_Code_Pub>0,Weight),by=Decile][order(Decile)]
+MD[,weighted.mean(Job_Main_Code_Prv>0,Weight),by=Decile][order(Decile)]
+MD[,weighted.mean(Job_Main_Code_Buss>0,Weight),by=Decile][order(Decile)]
+MD[,weighted.mean(Job_Main_Code_Agri>0,Weight),by=Decile][order(Decile)]
+MD[,weighted.mean(Other_Income_Code>0,Weight),by=Decile][order(Decile)]
+
+MD[,HH_Decile:=sum(Weight),by=Decile]
+
+x1<-MD[Decile==1,.(sum(HIndivNo*Weight)/mean(HH_Decile)),by="Category"]#[order("Category")]
+x2<-MD[Decile==2,.(sum(HIndivNo*Weight)/mean(HH_Decile)),by="Category"]
+x3<-MD[Decile==3,.(sum(HIndivNo*Weight)/mean(HH_Decile)),by="Category"]
+x4<-MD[Decile==4,.(sum(HIndivNo*Weight)/mean(HH_Decile)),by="Category"]
+x5<-MD[Decile==5,.(sum(HIndivNo*Weight)/mean(HH_Decile)),by="Category"]
+x6<-MD[Decile==6,.(sum(HIndivNo*Weight)/mean(HH_Decile)),by="Category"]
+x7<-MD[Decile==7,.(sum(HIndivNo*Weight)/mean(HH_Decile)),by="Category"]
+x8<-MD[Decile==8,.(sum(HIndivNo*Weight)/mean(HH_Decile)),by="Category"]
+x9<-MD[Decile==9,.(sum(HIndivNo*Weight)/mean(HH_Decile)),by="Category"]
+x10<-MD[Decile==10,.(sum(HIndivNo*Weight)/mean(HH_Decile)),by="Category"]
+
+
+y1<-MD[Decile==1,.(sum(HIndivNo*Weight)/mean(HH_Decile)),by="Job_Code"]#[order("Job_Code")]
+y2<-MD[Decile==2,.(sum(HIndivNo*Weight)/mean(HH_Decile)),by="Job_Code"]
+y3<-MD[Decile==3,.(sum(HIndivNo*Weight)/mean(HH_Decile)),by="Job_Code"]
+y4<-MD[Decile==4,.(sum(HIndivNo*Weight)/mean(HH_Decile)),by="Job_Code"]
+y5<-MD[Decile==5,.(sum(HIndivNo*Weight)/mean(HH_Decile)),by="Job_Code"]
+y6<-MD[Decile==6,.(sum(HIndivNo*Weight)/mean(HH_Decile)),by="Job_Code"]
+y7<-MD[Decile==7,.(sum(HIndivNo*Weight)/mean(HH_Decile)),by="Job_Code"]
+y8<-MD[Decile==8,.(sum(HIndivNo*Weight)/mean(HH_Decile)),by="Job_Code"]
+y9<-MD[Decile==9,.(sum(HIndivNo*Weight)/mean(HH_Decile)),by="Job_Code"]
+y10<-MD[Decile==10,.(sum(HIndivNo*Weight)/mean(HH_Decile)),by="Job_Code"]
+#}
+
+
+Sale<-MD[Job_Original_Code_Prv==52 | Job_Original_Code_Buss==52]
+
+Sale[,sum(HIndivNo),by=Decile][order(Decile)]
+Sale[,sum(HIndivNo*Weight),by=Decile][order(Decile)]
+
+x1<-Sale[Decile==1,.(sum(HIndivNo*Weight)/mean(HH_Decile)),by="Category"]#[order("Category")]
+x2<-Sale[Decile==2,.(sum(HIndivNo*Weight)/mean(HH_Decile)),by="Category"]
+x3<-Sale[Decile==3,.(sum(HIndivNo*Weight)/mean(HH_Decile)),by="Category"]
+x4<-Sale[Decile==4,.(sum(HIndivNo*Weight)/mean(HH_Decile)),by="Category"]
+x5<-Sale[Decile==5,.(sum(HIndivNo*Weight)/mean(HH_Decile)),by="Category"]
+x6<-Sale[Decile==6,.(sum(HIndivNo*Weight)/mean(HH_Decile)),by="Category"]
+x7<-Sale[Decile==7,.(sum(HIndivNo*Weight)/mean(HH_Decile)),by="Category"]
+x8<-Sale[Decile==8,.(sum(HIndivNo*Weight)/mean(HH_Decile)),by="Category"]
+x9<-Sale[Decile==9,.(sum(HIndivNo*Weight)/mean(HH_Decile)),by="Category"]
+x10<-Sale[Decile==10,.(sum(HIndivNo*Weight)/mean(HH_Decile)),by="Category"]
+
+endtime <- proc.time()
+
+cat("\n\n============================\nIt took ")
+cat((endtime-starttime)[3])
\ No newline at end of file
diff --git a/R/Archive/June 2020 (removed code files)/166- Anstitoo bundle - Copy.R b/R/Archive/June 2020 (removed code files)/166- Anstitoo bundle - Copy.R
new file mode 100644
index 00000000..8a73ad97
--- /dev/null
+++ b/R/Archive/June 2020 (removed code files)/166- Anstitoo bundle - Copy.R
@@ -0,0 +1,98 @@
+#166-Step 6- FoodBasicNeeds.R
+#
+# Copyright © 2018:Majid Einian & Arin Shahbazian
+# Licence: GPL-3
+
+rm(list=ls())
+
+starttime <- proc.time()
+cat("\n\n================ Prepare Data =====================================\n")
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+library(readxl)
+library(data.table)
+library(ggplot2)
+
+for(year in (Settings$startyear:Settings$endyear)){
+ cat(paste0("\n------------------------------\nYear:",year,"\n"))
+
+ # load data --------------------------------------
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"InitialPoorClustered.rda"))
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"FoodPrices.rda"))
+
+ MD<-merge(MD,FoodPrices,all.x=TRUE,by="HHID")
+
+
+ MD[,NewPoor:=InitialPoor]
+ MD[,OldPoor:=1]
+
+ i <- 0
+ while(MD[(NewPoor-OldPoor)!=0,.N]>0.001*nrow(MD[NewPoor==1]) & i <=15){
+ # cat(nrow(MD[NewPoor==1]))
+ i <- i + 1
+ MD[,ThisIterationPoor:=NewPoor]
+ MD[,FPLine:=NULL]
+ MDP <- MD[ThisIterationPoor==1,
+ .(FPLine=0.001*30*0.5*(310*weighted.mean(LavashPrice,Weight,na.rm = TRUE)+
+ 95*weighted.mean(Rice_TaromPrice,Weight,na.rm = TRUE)+
+ 20*weighted.mean(MacaroniPrice,Weight,na.rm = TRUE)+
+ 26*weighted.mean(AdasPrice,Weight,na.rm = TRUE)+
+ 70*weighted.mean(SibzaminiPrice,Weight,na.rm = TRUE)+
+ 300*weighted.mean(Sabzi_KhordanPrice,Weight,na.rm = TRUE)+
+ 280*weighted.mean(Banana_CoconutPrice,Weight,na.rm = TRUE)+
+ 38*weighted.mean(CowMeatPrice,Weight,na.rm = TRUE)+
+ 64*weighted.mean(PoultryMeat_MPrice,Weight,na.rm = TRUE)+
+ 35*weighted.mean(Egg_MashinPrice,Weight,na.rm = TRUE)+
+ 250*weighted.mean(Milk_PasteurizedPrice,Weight,na.rm = TRUE)+
+ 35*weighted.mean(Oil_NabatiPrice,Weight,na.rm = TRUE)+
+ 40*weighted.mean(GhandPrice,Weight,na.rm = TRUE))),
+ by=.(cluster3,Region)]
+ MDP[is.na(MDP)] <- 0
+ min<-MDP[FPLine>0,min(FPLine)]
+ MDP[,FPLine:=ifelse(FPLine==0,min,FPLine)]
+
+ MD <- merge(MD,MDP,by=c("Region","cluster3"))
+ # print(MDP)
+ #x<-MD[,.(NewArea,Region,FPLine,InitialPoor)]
+ MD[,NewPoor:=ifelse(TOriginalFoodExpenditure_Per < FPLine,1,0)]
+ # print(table(MD[,.(ThisIterationPoor,NewPoor)]))
+ MD[,OldPoor:=ThisIterationPoor]
+ }
+
+ MD[,FinalFoodPoor:=OldPoor]
+
+ # MD <- MD[,.(HHID,HIndivNo,Region,NewArea,NewArea_Name,cluster3,ProvinceCode,Size,HAge,HSex,Month,ServiceExp,
+ # HLiterate,HEduLevel0,HActivityState,Area,Rooms,MetrPrice,Total_Exp_Month_nondurable,
+ # Total_Exp_Month_Per_nondurable,TOriginalFoodExpenditure_Per,
+ # OriginalFoodExpenditure_Per,FPLine,Weight,Percentile,FinalFoodPoor,
+ # Total_Exp_Month_Per,TFoodKCaloriesHH_Per,TOriginalFoodExpenditure,Total_Exp_Month,
+ # TFoodExpenditure2,Total_Exp_Month_nondurable2,Total_Exp_Month2,
+ # Total_Exp_Month_Per2,
+ # EqSizeOECD,EqSizeCalory,Decile,Bundle_Value)]
+ save(MD,file=paste0(Settings$HEISProcessedPath,"Y",year,"FinalFoodPoor.rda"))
+ MD[,weighted.mean(FinalFoodPoor,Weight)]
+ # MDFinalfood<-MD[,.(HHID,Region,NewArea,cluster3,Percentile,FinalFoodPoor)]
+ # UrbanFinalfood<-MDFinalfood[Region=="Urban"]
+ # RuralFinalfood<-MDFinalfood[Region=="Rural"]
+ # save(UrbanFinalfood, file=paste0(Settings$HEISProcessedPath,"Y",year,"UrbanFinalfood.rda"))
+ # save(RuralFinalfood, file=paste0(Settings$HEISProcessedPath,"Y",year,"RuralFinalfood.rda"))
+ #
+ MD[,weighted.mean(FinalFoodPoor,Weight),by=c("Region","ProvinceCode")][order(Region,ProvinceCode)]
+ MD[,weighted.mean(FinalFoodPoor,Weight),by=cluster3][order(cluster3)]
+ # cat(MD[,weighted.mean(FPLine,Weight)])
+ # cat(MD[cluster3==13,weighted.mean(Calory_Price,Weight)])
+ #cat(MD[cluster3==1,weighted.mean(TOriginalFoodExpenditure_Per,Weight)])
+ x<-MD[,weighted.mean(OriginalFoodExpenditure,Weight),by="cluster3"]
+
+
+# cat(MD[,weighted.mean(TOriginalFoodExpenditure_Per,Weight)],"\n")
+# cat(MD[,weighted.mean(TFoodKCaloriesHH_Per,Weight,na.rm = TRUE)],"\n")
+# cat(MD[,weighted.mean(Calory_Price,Weight,na.rm = TRUE)],"\n")
+ cat(MD[cluster3==1,weighted.mean(FPLine,Weight,na.rm = TRUE)],"\n")
+}
+
+endtime <- proc.time()
+cat("\n\n============================\nIt took ")
+cat((endtime-starttime)["elapsed"])
+cat(" seconds")
\ No newline at end of file
diff --git a/R/Archive/June 2020 (removed code files)/166- FPLine decile - Copy.R b/R/Archive/June 2020 (removed code files)/166- FPLine decile - Copy.R
new file mode 100644
index 00000000..ff56e13f
--- /dev/null
+++ b/R/Archive/June 2020 (removed code files)/166- FPLine decile - Copy.R
@@ -0,0 +1,124 @@
+#166-Step 6- FoodBasicNeeds.R
+#
+# Copyright © 2018:Majid Einian & Arin Shahbazian
+# Licence: GPL-3
+
+rm(list=ls())
+
+starttime <- proc.time()
+cat("\n\n================ Prepare Data =====================================\n")
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+library(readxl)
+library(data.table)
+library(ggplot2)
+
+for(year in (Settings$startyear:Settings$endyear)){
+ cat(paste0("\n------------------------------\nYear:",year,"\n"))
+
+ # load data --------------------------------------
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"InitialPoorClustered.rda"))
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"FoodPrices.rda"))
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"FoodGrams.rda"))
+
+ MD<-merge(MD,FoodPrices,all.x=TRUE,by="HHID")
+ MD<-merge(MD,FoodGrams,all.x=TRUE,by="HHID")
+
+ # y<-MD[,weighted.mean(FoodKCaloriesHH_Per,Weight),by=c("Region","Decile")]
+
+
+ MD[,NewPoor:=InitialPoor]
+ MD[,OldPoor:=1]
+
+ i <- 0
+ while(MD[(NewPoor-OldPoor)!=0,.N]>0.001*nrow(MD[NewPoor==1]) & i <=15){
+ # cat(nrow(MD[NewPoor==1]))
+ i <- i + 1
+ MD[,ThisIterationPoor:=NewPoor]
+ MD[,FPLine:=NULL]
+ MD[,Selected_Group:=ifelse((Region=="Urban" & Decile==3) |
+ (Region=="Rural" & Decile==2),1,0)]
+ MDP <- MD[Selected_Group==1,
+ .(FPLine=0.001*
+ (weighted.mean(LavashPrice,Weight,na.rm = TRUE)*weighted.mean(BreadGrams,Weight,na.rm = TRUE)+
+ weighted.mean(Rice_TaromPrice,Weight,na.rm = TRUE)*weighted.mean(GrainGrams,Weight,na.rm = TRUE)+
+ weighted.mean(MacaroniPrice,Weight,na.rm = TRUE)*weighted.mean(MacaroniGram,Weight,na.rm = TRUE)+
+ weighted.mean(AdasPrice,Weight,na.rm = TRUE)*weighted.mean(AdasGram+Loobia_ChitiGram+NokhodGram,Weight,na.rm = TRUE)+
+ weighted.mean(SibzaminiPrice,Weight,na.rm = TRUE)*weighted.mean(SibzaminiGram,Weight,na.rm = TRUE)+
+ weighted.mean(Sabzi_KhordanPrice,Weight,na.rm = TRUE)*weighted.mean(VegetableShrubsGrams,Weight,na.rm = TRUE)+
+ weighted.mean(Banana_CoconutPrice,Weight,na.rm = TRUE)*weighted.mean(TreeFruitsGrams,Weight,na.rm = TRUE)+
+ weighted.mean(LivestockGrams,Weight,na.rm = TRUE)*weighted.mean(LivestockGrams,Weight,na.rm = TRUE)+
+ weighted.mean(PoultryMeat_MPrice,Weight,na.rm = TRUE)*weighted.mean(PoultryMeat_MGram,Weight,na.rm = TRUE)+
+ weighted.mean(Egg_MashinPrice,Weight,na.rm = TRUE)*weighted.mean(Egg_MashinGram,Weight,na.rm = TRUE)+
+ weighted.mean(Milk_PasteurizedPrice,Weight,na.rm = TRUE)*weighted.mean(MilkproductsGrams+MilkGrams,Weight,na.rm = TRUE)+
+ weighted.mean(Oil_NabatiPrice,Weight,na.rm = TRUE)*weighted.mean(Oil_NabatiGram,Weight,na.rm = TRUE)+
+ weighted.mean(GhandPrice,Weight,na.rm = TRUE)*weighted.mean(GhandGram,Weight,na.rm = TRUE))),
+ by=.(cluster3,Region)]
+ MDP[is.na(MDP)] <- 0
+ min<-MDP[FPLine>0,min(FPLine)]
+ MDP[,FPLine:=ifelse(FPLine==0,min,FPLine)]
+
+ Bundle <- MD[Selected_Group==1,
+ .( BreadGrams=weighted.mean(BreadGrams/EqSizeCalory,Weight,na.rm = TRUE),
+ BerenjKhareji= weighted.mean((Rice_Khareji1Gram+Rice_Khareji2Gram)/EqSizeCalory,Weight,na.rm = TRUE),
+ MacaroniGram= weighted.mean(MacaroniGram/EqSizeCalory,Weight,na.rm = TRUE),
+ HoboobatGram= weighted.mean((AdasGram+Loobia_ChitiGram+NokhodGram)/EqSizeCalory,Weight,na.rm = TRUE),
+ SibzaminiGram= weighted.mean(SibzaminiGram/EqSizeCalory,Weight,na.rm = TRUE),
+ VegetableShrubsGrams= weighted.mean(VegetableShrubsGrams/EqSizeCalory,Weight,na.rm = TRUE),
+ TreeFruitsGrams= weighted.mean(TreeFruitsGrams/EqSizeCalory,Weight,na.rm = TRUE),
+ CowMeatGram= weighted.mean(CowMeatGram/EqSizeCalory,Weight,na.rm = TRUE),
+ SheepGrams= weighted.mean(SheepMeatGram/EqSizeCalory,Weight,na.rm = TRUE),
+ PoultryMeat_MGram= weighted.mean(PoultryMeat_MGram/EqSizeCalory,Weight,na.rm = TRUE),
+ Egg_MashinGram= weighted.mean(Egg_MashinGram/EqSizeCalory,Weight,na.rm = TRUE),
+ MilkproductsGrams= weighted.mean((MilkproductsGrams+MilkGrams)/EqSizeCalory,Weight,na.rm = TRUE),
+ Oil_NabatiGram= weighted.mean(Oil_NabatiGram/EqSizeCalory,Weight,na.rm = TRUE),
+ GhandGram= weighted.mean((GhandGram+ShekarGram)/EqSizeCalory,Weight,na.rm = TRUE))
+ ,by="Region"
+ ]
+
+ MD <- merge(MD,MDP,by=c("Region","cluster3"))
+ # print(MDP)
+ #x<-MD[,.(NewArea,Region,FPLine,InitialPoor)]
+ MD[,NewPoor:=ifelse(TOriginalFoodExpenditure_Per < FPLine,1,0)]
+ # print(table(MD[,.(ThisIterationPoor,NewPoor)]))
+ MD[,OldPoor:=ThisIterationPoor]
+ }
+
+ MD[,FinalFoodPoor:=OldPoor]
+
+ # MD <- MD[,.(HHID,HIndivNo,Region,NewArea,NewArea_Name,cluster3,ProvinceCode,Size,HAge,HSex,Month,ServiceExp,
+ # HLiterate,HEduLevel0,HActivityState,Area,Rooms,MetrPrice,Total_Exp_Month_nondurable,
+ # Total_Exp_Month_Per_nondurable,TOriginalFoodExpenditure_Per,
+ # OriginalFoodExpenditure_Per,FPLine,Weight,Percentile,FinalFoodPoor,
+ # Total_Exp_Month_Per,TFoodKCaloriesHH_Per,TOriginalFoodExpenditure,Total_Exp_Month,
+ # TFoodExpenditure2,Total_Exp_Month_nondurable2,Total_Exp_Month2,
+ # Total_Exp_Month_Per2,
+ # EqSizeOECD,EqSizeCalory,Decile,Bundle_Value)]
+ save(MD,file=paste0(Settings$HEISProcessedPath,"Y",year,"FinalFoodPoor.rda"))
+ MD[,weighted.mean(FinalFoodPoor,Weight)]
+ # MDFinalfood<-MD[,.(HHID,Region,NewArea,cluster3,Percentile,FinalFoodPoor)]
+ # UrbanFinalfood<-MDFinalfood[Region=="Urban"]
+ # RuralFinalfood<-MDFinalfood[Region=="Rural"]
+ # save(UrbanFinalfood, file=paste0(Settings$HEISProcessedPath,"Y",year,"UrbanFinalfood.rda"))
+ # save(RuralFinalfood, file=paste0(Settings$HEISProcessedPath,"Y",year,"RuralFinalfood.rda"))
+ #
+ MD[,weighted.mean(FinalFoodPoor,Weight),by=c("Region","ProvinceCode")][order(Region,ProvinceCode)]
+ MD[,weighted.mean(FinalFoodPoor,Weight),by=cluster3][order(cluster3)]
+ # cat(MD[,weighted.mean(FPLine,Weight)])
+ # cat(MD[cluster3==13,weighted.mean(Calory_Price,Weight)])
+ #cat(MD[cluster3==1,weighted.mean(TOriginalFoodExpenditure_Per,Weight)])
+ x<-MD[,weighted.mean(FPLine,Weight),by="cluster3"]
+
+
+ # cat(MD[,weighted.mean(TOriginalFoodExpenditure_Per,Weight)],"\n")
+ # cat(MD[,weighted.mean(TFoodKCaloriesHH_Per,Weight,na.rm = TRUE)],"\n")
+ # cat(MD[,weighted.mean(Calory_Price,Weight,na.rm = TRUE)],"\n")
+ # cat(MD[cluster3==1,weighted.mean(FPLine,Weight,na.rm = TRUE)],"\n")
+ cat(MD[,weighted.mean(FPLine,Weight,na.rm = TRUE)],"\n")
+}
+
+endtime <- proc.time()
+cat("\n\n============================\nIt took ")
+cat((endtime-starttime)["elapsed"])
+cat(" seconds")
\ No newline at end of file
diff --git a/R/Archive/June 2020 (removed code files)/171-Step1-MergeData.R b/R/Archive/June 2020 (removed code files)/171-Step1-MergeData.R
new file mode 100644
index 00000000..ad574ab6
--- /dev/null
+++ b/R/Archive/June 2020 (removed code files)/171-Step1-MergeData.R
@@ -0,0 +1,129 @@
+#171-Step 1.R
+#
+# Copyright © 2018: Majid Einian & Arin Shahbazian
+# Licence: GPL-3
+
+rm(list=ls())
+
+starttime <- proc.time()
+cat("\n\n================ Merge Data =====================================\n")
+
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+library(readxl)
+library(stringr)
+library(data.table)
+library(ggplot2)
+library(spatstat)
+
+for(year in (Settings$startyear:Settings$endyear)){
+ cat(paste0("\n------------------------------\nYear:",year,"\n"))
+
+ #load Demos+FoodPrices+Weights
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"HHBase.rda"))
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"lactating.rda"))
+ HHBase<-merge(HHBase,lactating,by="HHID")
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"Calorie_Need.rda"))
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"HHI.rda"))
+ #load(file=paste0(Settings$HEISProcessedPath,"Y",year,"BigFoodPrice.rda"))
+ load(file=paste0(Settings$HEISWeightsPath,Settings$HEISWeightFileName,year,".rda"))
+ HHWeights<- as.data.table(HHWeights)
+ HHWeights<-HHWeights[,HHID:=as.numeric(HHID)]
+ HHWeights[,Year:=NULL]
+
+
+
+ #load Expenditures
+
+ for(G in c("Foods","Cigars","Cloths","Amusements","Communications",
+ "Durables", "Education", "Furnitures","HotelRestaurants",
+ "HouseandEnergys","House", "Medicals","Hygienes","Transportations","Others",
+ "Resturants"
+ #,"Durablele_Detail"
+ )){
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,G,".rda"))
+ load(file = paste0(Settings$HEISProcessedPath,"Y",year,"NonFreeDurableData.rda"))
+
+ }
+
+ # load(file=paste0(Settings$HEISProcessedPath,"Y",year,"Added_Food.rda"))
+
+ #load Calories
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"Food_Calories.rda"))
+ FData[,Region:=NULL]
+ #for (col in c("FoodKCaloriesHH")) FData[is.na(get(col)), (col) := 0]
+ FData <- FData[FoodKCaloriesHH>0]
+
+ #merge groups
+ MD<-merge(HHBase,HHI ,by =c("HHID"),all=TRUE)
+ FData[,Size:=NULL]
+ MD<-merge(MD,FData ,by =c("HHID"),all=TRUE)
+ MD<-merge(MD,HHWeights ,by =c("HHID"),all=TRUE)
+ MD<-merge(MD,FoodData,by =c("HHID"),all=TRUE)
+ # MD<-merge(MD,Added_Food,by =c("HHID"),all=TRUE)
+ MD<-merge(MD,CigarData,by =c("HHID"),all=TRUE)
+ MD<-merge(MD,ClothData,by =c("HHID"),all=TRUE)
+ MD<-merge(MD,AmusementData,by =c("HHID"),all=TRUE)
+ MD<-merge(MD,CommunicationData,by =c("HHID"),all=TRUE)
+ MD<-merge(MD,EducData,by =c("HHID"),all=TRUE)
+ MD<-merge(MD,HouseandEnergyData,by =c("HHID"),all=TRUE)
+ MD<-merge(MD,HouseData,by =c("HHID"),all=TRUE)
+ MD<-merge(MD,FurnitureData,by =c("HHID"),all=TRUE)
+ MD<-merge(MD,HotelRestaurantData,by =c("HHID"),all=TRUE)
+ MD<-merge(MD,HygieneData,by =c("HHID"),all=TRUE)
+ MD<-merge(MD,TransportationData,by =c("HHID"),all=TRUE)
+ #MD<-merge(MD,BenzinData,by =c("HHID"),all=TRUE)
+ #MD<-merge(MD,GazData,by =c("HHID"),all=TRUE)
+ #MD<-merge(MD,BarghData,by =c("HHID"),all=TRUE)
+ #MD<-merge(MD,NaftSefidData,by =c("HHID"),all=TRUE)
+ MD<-merge(MD,OtherData,by =c("HHID"),all=TRUE)
+ MD<-merge(MD,MedicalData,by =c("HHID"),all=TRUE)
+ MD<-merge(MD,NonFreeDurableData,by =c("HHID"),all=TRUE)
+ MD<-merge(MD,ResturantData,by =c("HHID"),all=TRUE)
+ #MD<-merge(MD,Durablele_Detail,by =c("HHID"),all=TRUE)
+ #MD<-merge(MD,InvestmentData,by =c("HHID"),all=TRUE)
+ for (col in c("OriginalFoodExpenditure","FoodOtherExpenditure", "Cigar_Exp", "Cloth_Exp", "Amusement_Exp",
+ "Communication_Exp", "Education_Exp", "HouseandEnergy_Exp",
+ "Furniture_Exp", "HotelRestaurant_Exp", "Hygiene_Exp", "Transportation_Exp",
+ "Other_Exp", "Medical_Exp", "NonFreeDurable_Exp",
+ "Resturant_Exp","ServiceExp"
+ #,"Add_to_NonDurable","Durable_Dep",
+ #"Durable_NoDep","Durable_Emergency"
+ ))
+ MD[is.na(get(col)), (col) := 0]
+ # MD<-MD[,Yaraneh:=416000*Size]
+
+ MD<-merge(MD,Calorie_Need)
+
+ #load(file=paste0(Settings$HEISProcessedPath,"Y",year,"Durablele_Detail.rda"))
+ #MD<-merge(MD,Durablele_Detail)
+
+ #Calculate Monthly Total Expenditures
+ nw <- c("OriginalFoodExpenditure","FoodOtherExpenditure", "Cigar_Exp", "Cloth_Exp",
+ "Amusement_Exp", "Communication_Exp",
+ "HouseandEnergy_Exp", "Furniture_Exp", "HotelRestaurant_Exp", "Hygiene_Exp",
+ "Transportation_Exp", "Other_Exp"
+ #,"Add_to_NonDurable"
+ )
+ # w <- c(nw, "Medical_Exp","Durable_Dep",
+ # "Durable_NoDep","Durable_Emergency")
+ w <- c(nw, "Medical_Exp", "NonFreeDurable_Exp")
+ #w <- c(nw, "Medical_Exp", "Durable_Pure_Exp")
+ # pw <- c(nw, "Added_Food_Exp_Month")
+ #Lw <- c(pw, "Medical_Exp", "Durable_Exp")
+
+ MD[, Total_Exp_Month := Reduce(`+`, .SD), .SDcols=w]
+ MD[, Total_Exp_Month_nondurable := Reduce(`+`, .SD), .SDcols=nw]
+
+ MD[,weighted.mean(Total_Exp_Month,Weight)]
+ MD[,weighted.mean(Total_Exp_Month_nondurable,Weight)]
+
+ save(MD, file=paste0(Settings$HEISProcessedPath,"Y",year,"Merged4CBN1.rda"))
+}
+
+
+
+endtime <- proc.time()
+cat("\n\n============================\nIt took ")
+cat(endtime-starttime)
\ No newline at end of file
diff --git a/R/Archive/June 2020 (removed code files)/172-Step2-CaloryEqSize.R b/R/Archive/June 2020 (removed code files)/172-Step2-CaloryEqSize.R
new file mode 100644
index 00000000..5bde2dc6
--- /dev/null
+++ b/R/Archive/June 2020 (removed code files)/172-Step2-CaloryEqSize.R
@@ -0,0 +1,191 @@
+#172- Step 2.R
+#
+# Copyright © 2018: Majid Einian & Arin Shahbazian
+# Licence: GPL-3
+
+rm(list=ls())
+
+starttime <- proc.time()
+cat("\n\n================ Calculationg Equal size calorie =====================================\n")
+
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+library(readxl)
+library(stringr)
+library(data.table)
+library(ggplot2)
+library(spatstat)
+
+Final <- data.table(Year=NA_integer_,Exp=NA_integer_,ProvinceCode=NA_real_)[0]
+Educ <- data.table(Year=NA_integer_,Educ=NA_integer_,ProvinceCode=NA_real_)[0]
+Marrital <- data.table(Year=NA_integer_,Marrital=NA_integer_,ProvinceCode=NA_real_)[0]
+Sex <- data.table(Year=NA_integer_,Sex=NA_integer_,ProvinceCode=NA_real_)[0]
+HeadEmploy <- data.table(Year=NA_integer_,HeadEmploy=NA_integer_,ProvinceCode=NA_real_)[0]
+WomanEmploy <- data.table(Year=NA_integer_,WomanEmploy=NA_integer_,ProvinceCode=NA_real_)[0]
+NumberEmploy <- data.table(Year=NA_integer_,NumberEmploy=NA_integer_,ProvinceCode=NA_real_)[0]
+
+
+
+for(year in (Settings$startyear:Settings$endyear)){
+ cat(paste0("\n------------------------------\nYear:",year,"\n"))
+ cat("\n")
+
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"Merged4CBN1.rda"))
+
+ MD[,Total_Exp_Month_Per:=Total_Exp_Month/EqSizeOECD]
+ MD[,Total_Exp_Month_Per_nondurable:=Total_Exp_Month_nondurable/EqSizeOECD]
+
+
+ #MD<-merge(MD,BigFoodPrice,by=c("NewArea","Region"),all.x = TRUE)
+ MD<-MD[Size!=0 & OriginalFoodExpenditure!=0 & !is.na(FoodKCaloriesHH)]
+ #MD[,Home_Per_Metr:=MetrPrice/EqSizeOECD]
+
+ #Calculate Per Values
+ MD[,EqSizeCalory3 :=(Size-NKids) + NKids*(Settings$KCaloryNeed_Child/Settings$KCaloryNeed_Adult)]
+
+ MD[,EqSizeCalory :=
+ NAge1B *(Settings$ KCaloryNeed_B1 /Calorie_Need_WorldBank)+
+ NAge2B *(Settings$ KCaloryNeed_B2 /Calorie_Need_WorldBank)+
+ NAge3B *(Settings$ KCaloryNeed_B3 /Calorie_Need_WorldBank)+
+ NAge4B *(Settings$ KCaloryNeed_B4 /Calorie_Need_WorldBank)+
+ NAge5B *(Settings$ KCaloryNeed_B5 /Calorie_Need_WorldBank)+
+ NAge6B *(Settings$ KCaloryNeed_B6 /Calorie_Need_WorldBank)+
+ NAge7B *(Settings$ KCaloryNeed_B7 /Calorie_Need_WorldBank)+
+ NAge8B *(Settings$ KCaloryNeed_B8 /Calorie_Need_WorldBank)+
+ NAge9B *(Settings$ KCaloryNeed_B9 /Calorie_Need_WorldBank)+
+ NAge10B *(Settings$ KCaloryNeed_B10 /Calorie_Need_WorldBank)+
+ NAge1G *(Settings$ KCaloryNeed_G1 /Calorie_Need_WorldBank)+
+ NAge2G *(Settings$ KCaloryNeed_G2 /Calorie_Need_WorldBank)+
+ NAge3G *(Settings$ KCaloryNeed_G3 /Calorie_Need_WorldBank)+
+ NAge4G *(Settings$ KCaloryNeed_G4 /Calorie_Need_WorldBank)+
+ NAge5G *(Settings$ KCaloryNeed_G5 /Calorie_Need_WorldBank)+
+ NAge6G *(Settings$ KCaloryNeed_G6 /Calorie_Need_WorldBank)+
+ NAge7G *(Settings$ KCaloryNeed_G7 /Calorie_Need_WorldBank)+
+ NAge8G *(Settings$ KCaloryNeed_G8 /Calorie_Need_WorldBank)+
+ NAge9G *(Settings$ KCaloryNeed_G9 /Calorie_Need_WorldBank)+
+ NAge10G *(Settings$ KCaloryNeed_G10 /Calorie_Need_WorldBank)+
+ lactating*(Settings$KCaloryNeed_lactating/Calorie_Need_WorldBank)]
+
+ MD[,EqSizeCalory2 :=
+ NAge1_A_B*(Settings$KCaloryNeed_A_B1/Calorie_Need_Anstitoo) +
+ NAge2_A_B*(Settings$KCaloryNeed_A_B2/Calorie_Need_Anstitoo) +
+ NAge3_A_B*(Settings$KCaloryNeed_A_B3/Calorie_Need_Anstitoo) +
+ NAge4_A_B*(Settings$KCaloryNeed_A_B4/Calorie_Need_Anstitoo) +
+ NAge5_A_B*(Settings$KCaloryNeed_A_B5/Calorie_Need_Anstitoo) +
+ NAge6_A_B*(Settings$KCaloryNeed_A_B6/Calorie_Need_Anstitoo) +
+ NAge7_A_B*(Settings$KCaloryNeed_A_B7/Calorie_Need_Anstitoo) +
+ NAge8_A_B*(Settings$KCaloryNeed_A_B8/Calorie_Need_Anstitoo) +
+ NAge9_A_B*(Settings$KCaloryNeed_A_B9/Calorie_Need_Anstitoo) +
+ NAge1_A_G*(Settings$KCaloryNeed_A_G1/Calorie_Need_Anstitoo) +
+ NAge2_A_G*(Settings$KCaloryNeed_A_G2/Calorie_Need_Anstitoo) +
+ NAge3_A_G*(Settings$KCaloryNeed_A_G3/Calorie_Need_Anstitoo) +
+ NAge4_A_G*(Settings$KCaloryNeed_A_G4/Calorie_Need_Anstitoo) +
+ NAge5_A_G*(Settings$KCaloryNeed_A_G5/Calorie_Need_Anstitoo) +
+ NAge6_A_G*(Settings$KCaloryNeed_A_G6/Calorie_Need_Anstitoo) +
+ NAge7_A_G*(Settings$KCaloryNeed_A_G7/Calorie_Need_Anstitoo) +
+ NAge8_A_G*(Settings$KCaloryNeed_A_G8/Calorie_Need_Anstitoo) +
+ NAge9_A_G*(Settings$KCaloryNeed_A_G9/Calorie_Need_Anstitoo)+
+ lactating*(Settings$KCaloryNeed_lactating/Calorie_Need_Anstitoo)]
+
+ MD[,EqSizeCalory4 :=
+ NAge1B*(Settings$KCaloryNeed_B1/Settings$KCaloryNeed_Adult_WorldBank) +
+ NAge2B*(Settings$KCaloryNeed_B2/Settings$KCaloryNeed_Adult_WorldBank) +
+ NAge3B*(Settings$KCaloryNeed_B3/Settings$KCaloryNeed_Adult_WorldBank) +
+ NAge4B*(Settings$KCaloryNeed_B4/Settings$KCaloryNeed_Adult_WorldBank) +
+ NAge5B*(Settings$KCaloryNeed_B5/Settings$KCaloryNeed_Adult_WorldBank) +
+ NAge6B*(Settings$KCaloryNeed_B6/Settings$KCaloryNeed_Adult_WorldBank) +
+ NAge7B*(Settings$KCaloryNeed_B7/Settings$KCaloryNeed_Adult_WorldBank) +
+ NAge8B*(Settings$KCaloryNeed_B8/Settings$KCaloryNeed_Adult_WorldBank) +
+ NAge9B*(Settings$KCaloryNeed_B9/Settings$KCaloryNeed_Adult_WorldBank) +
+ NAge10B*(Settings$KCaloryNeed_B10/Settings$KCaloryNeed_Adult_WorldBank)+
+ NAge1G*(Settings$KCaloryNeed_G1/Settings$KCaloryNeed_Adult_WorldBank) +
+ NAge2G*(Settings$KCaloryNeed_G2/Settings$KCaloryNeed_Adult_WorldBank) +
+ NAge3G*(Settings$KCaloryNeed_G3/Settings$KCaloryNeed_Adult_WorldBank) +
+ NAge4G*(Settings$KCaloryNeed_G4/Settings$KCaloryNeed_Adult_WorldBank) +
+ NAge5G*(Settings$KCaloryNeed_G5/Settings$KCaloryNeed_Adult_WorldBank) +
+ NAge6G*(Settings$KCaloryNeed_G6/Settings$KCaloryNeed_Adult_WorldBank) +
+ NAge7G*(Settings$KCaloryNeed_G7/Settings$KCaloryNeed_Adult_WorldBank) +
+ NAge8G*(Settings$KCaloryNeed_G8/Settings$KCaloryNeed_Adult_WorldBank) +
+ NAge9G*(Settings$KCaloryNeed_G9/Settings$KCaloryNeed_Adult_WorldBank) +
+ NAge10G*(Settings$KCaloryNeed_G10/Settings$KCaloryNeed_Adult_WorldBank)+
+ lactating*(Settings$KCaloryNeed_lactating/Settings$KCaloryNeed_Adult_WorldBank)]
+
+ MD[,EqSizeCalory5 :=
+ NAge1_A_B*(Settings$KCaloryNeed_A_B1/Settings$KCaloryNeed_Adult_Anstitoo) +
+ NAge2_A_B*(Settings$KCaloryNeed_A_B2/Settings$KCaloryNeed_Adult_Anstitoo) +
+ NAge3_A_B*(Settings$KCaloryNeed_A_B3/Settings$KCaloryNeed_Adult_Anstitoo) +
+ NAge4_A_B*(Settings$KCaloryNeed_A_B4/Settings$KCaloryNeed_Adult_Anstitoo) +
+ NAge5_A_B*(Settings$KCaloryNeed_A_B5/Settings$KCaloryNeed_Adult_Anstitoo) +
+ NAge6_A_B*(Settings$KCaloryNeed_A_B6/Settings$KCaloryNeed_Adult_Anstitoo) +
+ NAge7_A_B*(Settings$KCaloryNeed_A_B7/Settings$KCaloryNeed_Adult_Anstitoo) +
+ NAge8_A_B*(Settings$KCaloryNeed_A_B8/Settings$KCaloryNeed_Adult_Anstitoo) +
+ NAge9_A_B*(Settings$KCaloryNeed_A_B9/Settings$KCaloryNeed_Adult_Anstitoo) +
+ NAge1_A_G*(Settings$KCaloryNeed_A_G1/Settings$KCaloryNeed_Adult_Anstitoo) +
+ NAge2_A_G*(Settings$KCaloryNeed_A_G2/Settings$KCaloryNeed_Adult_Anstitoo) +
+ NAge3_A_G*(Settings$KCaloryNeed_A_G3/Settings$KCaloryNeed_Adult_Anstitoo) +
+ NAge4_A_G*(Settings$KCaloryNeed_A_G4/Settings$KCaloryNeed_Adult_Anstitoo) +
+ NAge5_A_G*(Settings$KCaloryNeed_A_G5/Settings$KCaloryNeed_Adult_Anstitoo) +
+ NAge6_A_G*(Settings$KCaloryNeed_A_G6/Settings$KCaloryNeed_Adult_Anstitoo) +
+ NAge7_A_G*(Settings$KCaloryNeed_A_G7/Settings$KCaloryNeed_Adult_Anstitoo) +
+ NAge8_A_G*(Settings$KCaloryNeed_A_G8/Settings$KCaloryNeed_Adult_Anstitoo) +
+ NAge9_A_G*(Settings$KCaloryNeed_A_G9/Settings$KCaloryNeed_Adult_Anstitoo)+
+ lactating*(Settings$KCaloryNeed_lactating/Settings$KCaloryNeed_Adult_Anstitoo)]
+
+ save(MD, file=paste0(Settings$HEISProcessedPath,"Y",year,"Merged4CBN2.rda"))
+
+ MD[,weighted.mean(EqSizeCalory,Weight)]
+ MD[,weighted.mean(EqSizeCalory2,Weight)]
+ MD[,weighted.mean(EqSizeCalory4,Weight)]
+ MD[,weighted.mean(EqSizeCalory5,Weight)]
+ MD[,weighted.mean(EqSizeCalory3,Weight)]
+
+ # X1 <- MD[,.(Exp=weighted.mean(Total_Exp_Month_Per,Weight)),by=ProvinceCode]
+ # X1[,Year:=year]
+ #Final <- rbind(Final,X1)
+ #write.csv(Final,file = "Exp.csv")
+
+ # X2 <- MD[,.(Educ=weighted.mean(HEduYears>12,Weight,na.rm = TRUE)),by=ProvinceCode]
+ # X2[,Year:=year]
+ # Educ <- rbind(Educ,X2)
+ # write.csv(Educ,file = "Educ.csv")
+
+ #X3 <- MD[,.(Marrital=weighted.mean(HMarritalState=="Married",Weight,na.rm = TRUE)),by=ProvinceCode]
+ #X3[,Year:=year]
+ #Marrital <- rbind(Marrital,X3)
+ #write.csv(Marrital,file = "Marrital.csv")
+
+ # X4 <- MD[,.(Sex=weighted.mean(HSex=="Female",Weight,na.rm = TRUE)),by=ProvinceCode]
+ # X4[,Year:=year]
+ #Sex <- rbind(Sex,X4)
+ #write.csv(Sex,file = "Sex.csv")
+
+ # X5 <- MD[,.(HeadEmploy=weighted.mean(HActivityState=="Employed",Weight,na.rm = TRUE)),by=ProvinceCode]
+ # X5[,Year:=year]
+ #HeadEmploy <- rbind(HeadEmploy,X5)
+ # write.csv(HeadEmploy,file = "HeadEmploy.csv")
+
+ # load(file = paste0(Settings$HEISProcessedPath,"Y",year,"WomanEmployed.rda"))
+ #load(file = paste0(Settings$HEISProcessedPath,"Y",year,"NumberEmployed.rda"))
+
+ # MD<-merge(MD,WomanEmployed,all.x = TRUE)
+ # MD<-merge(MD,NumberEmployed,all.x = TRUE)
+ # MD[is.na(MD)] <- 0
+
+ # X6 <- MD[,.(WomanEmploy=weighted.mean(indivsum,Weight,na.rm = TRUE)),by=ProvinceCode]
+ # X6[,Year:=year]
+ #WomanEmploy <- rbind(WomanEmploy,X6)
+ # write.csv(WomanEmploy,file = "WomanEmploy.csv")
+
+ #X7 <- MD[,.(NumberEmploy=weighted.mean(numbersum,Weight,na.rm = TRUE)),by=ProvinceCode]
+ #X7[,Year:=year]
+ # NumberEmploy <- rbind(NumberEmploy,X7)
+ #write.csv(NumberEmploy,file = "NumberEmploy.csv")
+
+ cat(MD[,weighted.mean(Total_Exp_Month_Per,Weight)])
+}
+
+
+endtime <- proc.time()
+cat("\n\n============================\nIt took ")
+cat(endtime-starttime)
\ No newline at end of file
diff --git a/R/Archive/June 2020 (removed code files)/173-Step3-TFoodPer.R b/R/Archive/June 2020 (removed code files)/173-Step3-TFoodPer.R
new file mode 100644
index 00000000..1f5c0740
--- /dev/null
+++ b/R/Archive/June 2020 (removed code files)/173-Step3-TFoodPer.R
@@ -0,0 +1,54 @@
+#173- Step 3.R
+#
+# Copyright © 2018: Majid Einian & Arin Shahbazian
+# Licence: GPL-3
+
+rm(list=ls())
+
+starttime <- proc.time()
+cat("\n\n================ Calculationg Per values =====================================\n")
+
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+library(readxl)
+library(stringr)
+library(data.table)
+library(ggplot2)
+library(spatstat)
+
+for(year in (Settings$startyear:Settings$endyear)){
+ cat(paste0("\n------------------------------\nYear:",year,"\n"))
+
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"Merged4CBN2.rda"))
+
+
+ #MD[,Relative_Calorie1 :=FoodKCaloriesHH/Calorie_Need1]
+ #MD[,Relative_Calorie2 :=FoodKCaloriesHH/Calorie_Need2]
+ MD[,OriginalFoodExpenditure_Per :=OriginalFoodExpenditure/EqSizeCalory]
+ MD[,FoodKCaloriesHH_Per:=FoodKCaloriesHH/EqSizeCalory]
+ MD[,FoodProtein_Per:=FoodProteinHH/EqSizeCalory]
+
+ #Calculate per_Calory from resturants
+ MD[,Calory_Price:=(OriginalFoodExpenditure_Per/FoodKCaloriesHH_Per)]
+ MD[,Calory_Price_Area:=weighted.median(Calory_Price,Weight,na.rm = TRUE),by=.(Region,NewArea)]
+ MD[,ResturantKCalories:=(Settings$OutFoodKCXShare*Resturant_Exp)/Calory_Price_Area]
+ for (col in c("ResturantKCalories")) MD[is.na(get(col)), (col) := 0]
+ MD[,TFoodKCaloriesHH:=FoodKCaloriesHH+ResturantKCalories]
+ MD[,TOriginalFoodExpenditure:=OriginalFoodExpenditure+Resturant_Exp]
+
+ MD[,TOriginalFoodExpenditure_Per :=TOriginalFoodExpenditure/EqSizeCalory]
+ MD[,TFoodKCaloriesHH_Per:=TFoodKCaloriesHH/EqSizeCalory]
+
+ ##############################################################
+
+ save(MD, file=paste0(Settings$HEISProcessedPath,"Y",year,"Merged4CBN3.rda"))
+
+
+}
+
+
+
+endtime <- proc.time()
+cat("\n\n============================\nIt took ")
+cat(endtime-starttime)
\ No newline at end of file
diff --git a/R/Archive/June 2020 (removed code files)/174-Step4-RealDeciles.R b/R/Archive/June 2020 (removed code files)/174-Step4-RealDeciles.R
new file mode 100644
index 00000000..d11a29a4
--- /dev/null
+++ b/R/Archive/June 2020 (removed code files)/174-Step4-RealDeciles.R
@@ -0,0 +1,265 @@
+#174-FindInitialPoor.R
+#
+# Copyright © 2018:Majid Einian & Arin Shahbazian
+# Licence: GPL-3
+
+rm(list=ls())
+
+starttime <- proc.time()
+cat("\n\n================ Nominal to Real =====================================\n")
+
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+#library(readxl)
+library(data.table)
+library(ggplot2)
+
+for(year in (Settings$startyear:Settings$endyear)){
+ cat(paste0("\n------------------------------\nYear:",year,"\n"))
+
+ # load data --------------------------------------
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"Merged4CBN3.rda"))
+
+ SMD <- MD[,.(HHID,Region,ProvinceCode,
+ ServiceExp,FoodExpenditure,Total_Exp_Month,
+ NewArea,NewArea_Name,Total_Exp_Month_Per_nondurable,TOriginalFoodExpenditure_Per,
+ # Total_Exp_Month_Per_nondurable2,TFoodExpenditure_Per2,
+ Durable_Exp,
+ TFoodKCaloriesHH_Per,Calorie_Need_WorldBank,Calorie_Need_Anstitoo,
+ Weight,MetrPrice,Size,EqSizeOECD)]
+
+ #Choose one of these
+ SMD[,Bundle_Value:=TOriginalFoodExpenditure_Per*Calorie_Need_WorldBank/TFoodKCaloriesHH_Per]
+ #SMD[,Bundle_Value:=TOriginalFoodExpenditure_Per*Calorie_Need_Anstitoo/TFoodKCaloriesHH_Per]
+ #SMD[,Bundle_Value:=TOriginalFoodExpenditure_Per*Settings$KCaloryNeed_Adult_WorldBank/TFoodKCaloriesHH_Per]
+ #SMD[,Bundle_Value:=TOriginalFoodExpenditure_Per*Settings$KCaloryNeed_Adult_Anstitoo/TFoodKCaloriesHH_Per]
+
+
+ SMD <- SMD[Bundle_Value<=5000000 | TFoodKCaloriesHH_Per>=300] #arbitrary measures, TODO: check in diff years
+
+ #Real Prices
+ T_Bundle_Value <- SMD[NewArea==2301, .(Bundle_Value,MetrPrice,Weight)]
+ TBV1 <- T_Bundle_Value[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE)]
+ TBV2 <- T_Bundle_Value[,weighted.mean(MetrPrice,Weight,na.rm = TRUE)]
+
+ SMD[,PriceIndex2:=(weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/TBV1
+ +weighted.mean(MetrPrice,Weight,na.rm = TRUE)/TBV2)/2
+ ,by=.(Region,NewArea_Name)]
+
+ X <- SMD[,.(weighted.mean(FoodExpenditure/Total_Exp_Month,Weight),
+ weighted.mean(ServiceExp/Total_Exp_Month,Weight)),by=.(Region,NewArea_Name)]
+ X[,V:=V1+V2]
+
+ SMD <- merge(SMD,X,by=c("Region","NewArea_Name"))
+
+ SMD[,PriceIndex:=(weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/TBV1*V1
+ +weighted.mean(MetrPrice,Weight,na.rm = TRUE)/TBV2*V2)/V
+ ,by=.(Region,NewArea_Name)]
+
+ Compare1<-SMD[,.(Old=mean(PriceIndex2),
+ New=mean(PriceIndex)),by=.(Region,NewArea_Name)]
+
+ SMD[,V1:=NULL]
+ SMD[,V2:=NULL]
+ SMD[,V:=NULL]
+
+
+ SMD[,Total_Exp_Month_Per_nondurable_Real:=Total_Exp_Month_Per_nondurable/PriceIndex]
+
+ ###Real- Urban & Rural
+ #SMD<- SMD[order(Region,Total_Exp_Month_Per_nondurable_Real)] #Deciling in Urban- Rural
+ #SMD[,crw:=cumsum(Weight*Size)/sum(Weight*Size),by=Region] # Cumulative Relative Weight
+ #SMD[,Decile:=cut(crw,breaks = seq(0,1,.1),labels = 1:10),by=Region]
+ #SMD[,Percentile:=cut(crw,breaks=seq(0,1,.01),labels=1:100),by=Region]
+
+ ###Real- Country
+ SMD<- SMD[order(Total_Exp_Month_Per_nondurable_Real)] #Deciling in Country
+ SMD[,crw:=cumsum(Weight*Size)/sum(Weight*Size)] # Cumulative Relative Weight
+ SMD[,Decile:=cut(crw,breaks = seq(0,1,.1),labels = 1:10)]
+ SMD[,Percentile:=cut(crw,breaks=seq(0,1,.01),labels=1:100)]
+
+ ###Nominal- Urban & Rural
+ #SMD<- SMD[order(Region,Total_Exp_Month_Per_nondurable)] #Deciling in Urban- Rural(Nominal)
+ #SMD[,crw2:=cumsum(Weight*Size)/sum(Weight*Size),by=Region] # Cumulative Relative Weight
+ #SMD[,Decile_Nominal:=cut(crw2,breaks = seq(0,1,.1),labels = 1:10),by=Region]
+ #SMD[,Percentile_Nominal:=cut(crw2,breaks=seq(0,1,.01),labels=1:100),by=Region]
+
+ ###Nominal- Country
+ SMD<- SMD[order(Total_Exp_Month_Per_nondurable)] #Deciling in Country(Nominal)
+ SMD[,crw2:=cumsum(Weight*Size)/sum(Weight*Size)] # Cumulative Relative Weight
+ SMD[,Decile_Nominal:=cut(crw2,breaks = seq(0,1,.1),labels = 1:10)]
+ SMD[,Percentile_Nominal:=cut(crw2,breaks=seq(0,1,.01),labels=1:100)]
+
+
+
+ SMD[,NewPoor:=1]
+ SMD[,ThisIterationPoor:=0]
+ i <- 0
+ while(sum(SMD[,(ThisIterationPoor-NewPoor)^2])>=0.002*nrow(SMD) & i <=50){
+ i <- i+1
+ SMD[,pold:=Percentile]
+ SMD[,ThisIterationPoor:=ifelse(pold %in% Settings$InitialPoorPercentile,1,0)]
+ SMDIterationPoor<-SMD[ThisIterationPoor==TRUE]
+ SMDIterationPoor[,sum(ThisIterationPoor),by=.(Region,NewArea_Name)][order(Region,NewArea_Name)]
+
+ T_P_Bundle_Value <- SMDIterationPoor[NewArea==2301, .(Bundle_Value,MetrPrice,Weight)]
+ TPBV1 <- T_P_Bundle_Value[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE)]
+ TPBV2 <- T_P_Bundle_Value[,weighted.mean(MetrPrice,Weight,na.rm = TRUE)]
+
+
+ X <- SMDIterationPoor[,.(weighted.mean(FoodExpenditure/Total_Exp_Month,Weight),
+ weighted.mean(ServiceExp/Total_Exp_Month,Weight)),by=.(Region,NewArea_Name)]
+ X[,V:=V1+V2]
+
+ SMDIterationPoor <- merge(SMDIterationPoor,X,by=c("Region","NewArea_Name"))
+ SMDIterationPoor[,PriceIndex:=NULL]
+
+ Index <- SMDIterationPoor[,.(PriceIndex=(weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/TPBV1*V1+
+ weighted.mean(MetrPrice,Weight,na.rm = TRUE)/TPBV2*V2)/V)
+ ,by=.(Region,NewArea_Name)]
+ Index <- Index[,.(PriceIndex=mean(PriceIndex)),by=.(Region,NewArea_Name)]
+
+
+ SMD[,PriceIndex:=NULL]
+ SMD <- merge(SMD,Index,by=c("Region","NewArea_Name"))
+
+ SMD[,Total_Exp_Month_Per_nondurable_Real:=Total_Exp_Month_Per_nondurable/PriceIndex]
+
+
+ ###Real- Urban & Rural
+ #SMD<- SMD[order(Region,Total_Exp_Month_Per_nondurable_Real)] #Deciling in Urban- Rural
+ #SMD[,crw:=cumsum(Weight*Size)/sum(Weight*Size),by=Region] # Cumulative Relative Weight
+ #SMD[,Decile:=cut(crw,breaks = seq(0,1,.1),labels = 1:10),by=Region]
+ #SMD[,Percentile:=cut(crw,breaks=seq(0,1,.01),labels=1:100),by=Region]
+
+ ###Real- Country
+ SMD<- SMD[order(Total_Exp_Month_Per_nondurable_Real)] #Deciling in Country
+ SMD[,crw:=cumsum(Weight*Size)/sum(Weight*Size)] # Cumulative Relative Weight
+ SMD[,Decile:=cut(crw,breaks = seq(0,1,.1),labels = 1:10)]
+ SMD[,Percentile:=cut(crw,breaks=seq(0,1,.01),labels=1:100)]
+
+ SMD[,NewPoor:=ifelse(Percentile %in% Settings$InitialPoorPercentile,1,0)]
+ save(SMD,file=paste0(Settings$HEISProcessedPath,"Y",year,"SMD.rda"))
+
+ #cat("\n",sum(SMD[ProvinceCode==2,.N]))
+ cat("\n",sum(SMD[,(ThisIterationPoor-NewPoor)^2]))
+ SMD[,weighted.mean(Size,Weight),by=.(Region)][order(Region)]
+ SMD[,sum(Size*Weight),by=.(Region,Decile)][order(Region,Decile)]
+
+ SMD[,weighted.mean(Size,Weight,na.rm = TRUE),by=.(Decile)][order(Decile)]
+ # NewDecile<-SMD[,.(HHID,Decile)]
+ # names(NewDecile)<-c("HHID","NewDecile")
+ # save(NewDecile,file=paste0(Settings$HEISProcessedPath,"Y",year,"NewDecile.rda"))
+
+ # OldDecile<-SMD[,.(HHID,Decile)]
+ # names(OldDecile)<-c("HHID","OldDecile")
+ # save(OldDecile,file=paste0(Settings$HEISProcessedPath,"Y",year,"OldDecile.rda"))
+
+ }
+
+ #load(file=paste0(Settings$HEISProcessedPath,"Y",year,"NewDecile.rda"))
+ #DecileCompare<-merge(as.data.table(OldDecile),NewDecile,by="HHID")
+ #DecileCompare[,Diff:=as.numeric(NewDecile)-as.numeric(OldDecile)]
+ #DecileCompare2<- DecileCompare[,.(.N),by=Diff]
+
+ #ggplot(DecileCompare2, aes(fill=factor(Diff), y=N, x=factor(Diff))) +
+ # geom_bar(position="dodge", stat="identity") + theme_bw() +
+ # theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1)) +
+ # geom_text(aes(label=N), position=position_dodge(width=0.9), vjust=-0.25)
+
+ MD <- merge(MD,SMD[,.(HHID,Bundle_Value,NewPoor,Decile,Percentile,Decile_Nominal,Percentile_Nominal)],by="HHID")
+ setnames(MD,"NewPoor","InitialPoor")
+
+
+ MD[,weighted.mean(InitialPoor,Weight), by=.(NewArea_Name,Region)]
+ MD[,sum(Weight*Size), by=.(Decile,Region)][order(Region,Decile)]
+ MD[,sum(Weight*Size), by=.(Decile_Nominal,Region)][order(Region,Decile_Nominal)]
+
+ save(MD,file=paste0(Settings$HEISProcessedPath,"Y",year,"InitialPoor.rda"))
+
+ ########################################
+ ########################################
+ ########################################
+
+ load(file = paste0(Settings$HEISProcessedPath,"Y",year,"AidWage.rda"))
+ MD<-merge(MD,AidWageData,all.x = TRUE)
+ for (col in c("aid")) MD[is.na(get(col)), (col) := 0]
+ MD[,PositiveAid:=ifelse(aid>0,1,0)]
+ MD[,weighted.mean(PositiveAid,Weight*Size),by=.(Region,Decile)][order(Region,Decile)]
+ MD[,weighted.mean(PositiveAid,Weight*Size),by=.(Decile)][order(Decile)]
+
+
+ load(file = paste0(Settings$HEISProcessedPath,"Y",year,"Subsidy.rda"))
+ MD<-merge(MD,SubsidyWageData,all.x = TRUE)
+ for (col in c("Subsidy")) MD[is.na(get(col)), (col) := 0]
+ MD[,PositiveSubsidy:=ifelse(Subsidy>0,1,0)]
+ MD[,weighted.mean(PositiveSubsidy,Weight*Size),by=.(Region,Decile)][order(Region,Decile)]
+ MD[,weighted.mean(PositiveSubsidy,Weight*Size),by=.(Decile)][order(Decile)]
+
+
+ load(file = paste0(Settings$HEISProcessedPath,"Y",year,"UTSubsidyW.rda"))
+ load(file = paste0(Settings$HEISProcessedPath,"Y",year,"RTSubsidyW.rda"))
+
+ TSubsidy<-rbind(UTSubsidyW,RTSubsidyW)
+ TSubsidy<-TSubsidy[,HHID:=Address]
+ MD<-merge(MD,TSubsidy[,.(HHID,check1)],all.x = TRUE)
+ MD[,Subsidy3:=ifelse(check1>800000,1,0)]
+ y<-MD[Subsidy3==1,.(HHID,Decile,Region)]
+ MD[,weighted.mean(Subsidy3,Weight*Size,na.rm = TRUE),by=.(Region,Decile)][order(Region,Decile)]
+ MD[,weighted.mean(Subsidy3,Weight*Size,na.rm = TRUE),by=.(Decile)][order(Decile)]
+
+ MD[,TotalAid:=(Subsidy+aid)/12]
+ MD_Ok<- MD[TotalAid>0]
+ MD_Ok[,ratio:=TotalAid/Total_Exp_Month]
+ MD_Ok[,.(.N,weighted.mean(ratio,Weight*Size,na.rm = TRUE)),by=.(Region,Decile)][order(Region,Decile)]
+ MD_Ok[,.(weighted.mean(ratio,Weight*Size,na.rm = TRUE)),by=.(Decile)][order(Decile)]
+
+ load(file = paste0(Settings$HEISProcessedPath,"Y",year,"BreadExp.rda"))
+ load(file = paste0(Settings$HEISProcessedPath,"Y",year,"BreadCon.rda"))
+ SMD<-merge(SMD,BreadData,by="HHID")
+ SMD<-merge(SMD,BreadConsumption,by="HHID")
+
+ SMD[is.na(SMD)] <- 0
+
+ SMD[,weighted.mean(G01114+G01115,Weight),by=.(Region,Decile)][order(Region,Decile)]
+ SMD[,weighted.mean(G01114+G01115,Weight),by=.(Decile)][order(Decile)]
+
+ SMD[,weighted.mean(BreadGrams,Weight),by=.(Region,Decile)][order(Region,Decile)]
+ SMD[,weighted.mean(BreadGrams,Weight),by=.(Decile)][order(Decile)]
+
+ load(file = paste0(Settings$HEISProcessedPath,"Y",year,"DrugsExp.rda"))
+ SMD<-merge(SMD,DrugsExp,all.x = TRUE)
+ SMD[is.na(SMD)] <- 0
+
+ SMD[,weighted.mean(DrugsExp,Weight),by=.(Region,Decile)][order(Region,Decile)]
+ SMD[,weighted.mean(DrugsExp,Weight),by=.(Decile)][order(Decile)]
+
+ load(file = paste0(Settings$HEISProcessedPath,"Y",year,"TotalFoodExp.rda"))
+ TotalFoodExp<-merge(TotalFoodExp,SMD[,.(HHID,Decile)])
+
+ TotalFoodExp[,weighted.mean(`011211`+`011212`+`011213`+
+ `011214`,Weight),by=.(Decile)][order(Decile)]
+
+ TotalFoodExp[,weighted.mean(`011117`+`011118`,Weight),by=.(Decile)][order(Decile)]
+
+ TotalFoodExp[,weighted.mean(`011231`+`011232`,Weight),by=.(Decile)][order(Decile)]
+
+ TotalFoodExp[,weighted.mean(`011411`+`011412`+`011413`+`011414`+
+ `011421`+`011422`+`011423`+`011424`+
+ `011425`+`011426`+`011427`+`011428`+
+ `011429`+`011431`+`011432`+`011433`,Weight),by=.(Decile)][order(Decile)]
+
+ TotalFoodExp[,weighted.mean(`011441`+`011442`+`011443`,Weight),by=.(Decile)][order(Decile)]
+
+ TotalFoodExp[,weighted.mean(`011531`+`011532`+`011533`,Weight),by=.(Decile)][order(Decile)]
+
+ TotalFoodExp[,weighted.mean(`011812`,Weight),by=.(Decile)][order(Decile)]
+
+ }
+
+
+endtime <- proc.time()
+cat("\n\n============================\nIt took ")
+cat((endtime-starttime)["elapsed"])
+cat(" seconds")
diff --git a/R/Archive/June 2020 (removed code files)/175-Step5-AddClusterInfo.R b/R/Archive/June 2020 (removed code files)/175-Step5-AddClusterInfo.R
new file mode 100644
index 00000000..6b6dbde2
--- /dev/null
+++ b/R/Archive/June 2020 (removed code files)/175-Step5-AddClusterInfo.R
@@ -0,0 +1,117 @@
+#183-Clustering(93-96).R
+#
+# Copyright © 2018: Majid Einian & Arin Shahbazian
+# Licence: GPL-3
+
+rm(list=ls())
+
+starttime <- proc.time()
+cat("\n\n================ Prepare Data =====================================\n")
+library(yaml)
+library(dplyr)
+Settings <- yaml.load_file("Settings.yaml")
+
+library(readxl)
+library(data.table)
+library(ggplot2)
+for(year in (Settings$startyear:Settings$endyear)){
+ cat(paste0("\n------------------------------\nYear:",year,"\n"))
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"InitialPoor.rda"))
+
+ #####Clustering#####
+ dt2Urban<-MD[Region=="Urban",.(NewArea,NewArea_Name,Region,HHID)]
+ dt2Rural<-MD[Region=="Rural",.(NewArea,NewArea_Name,Region,HHID)]
+
+ #####Urban#####
+ dt2Urban<-dt2Urban[NewArea_Name=="Sh_Tehran",cluster3:=1]
+
+ dt2Urban<-dt2Urban[NewArea_Name=="Sh_Shiraz" | NewArea_Name=="Sh_Esfahan" |
+ NewArea_Name=="Sh_Bandarabas" |
+ NewArea_Name=="Sh_Karaj" |
+ NewArea_Name=="Sh_Rasht",
+ cluster3:=2]
+
+ dt2Urban<-dt2Urban[NewArea_Name=="Gilan" | NewArea_Name=="Alborz" |
+ NewArea_Name=="Kohkilooye" | NewArea_Name=="Ghazvin" |
+ NewArea_Name=="Markazi" | NewArea_Name=="Esfahan" |
+ NewArea_Name=="Ghom" | NewArea_Name=="Sh_Arak" |
+ NewArea_Name=="Tehran" | NewArea_Name=="Sh_Tabriz" |
+ NewArea_Name=="Mazandaran" | NewArea_Name=="Sh_Yazd" ,
+ cluster3:=3]
+
+ dt2Urban<-dt2Urban[ NewArea_Name=="Yazd" |
+ NewArea_Name=="Sh_Kerman" |
+ NewArea_Name=="Sh_Hamedan" |
+ NewArea_Name=="Chaharmahal" |
+ NewArea_Name=="Zanjan" | NewArea_Name=="Hamedan" |
+ NewArea_Name=="Sh_Mashhad" | NewArea_Name=="Sh_Urmia" |
+ NewArea_Name=="Sh_Ahvaz" | NewArea_Name=="Hormozgan"|
+ NewArea_Name=="Booshehr" |
+ NewArea_Name=="Semnan" | NewArea_Name=="Fars",
+ cluster3:=4]
+
+ dt2Urban<-dt2Urban[ NewArea_Name=="Sh_Kermanshah" | NewArea_Name== "Az_Sharghi" |
+ NewArea_Name=="Kerman" |
+ NewArea_Name=="Ardebil" |
+ NewArea_Name=="Ilam" ,
+ cluster3:=5]
+
+ dt2Urban<-dt2Urban[NewArea_Name=="Khoozestan" | NewArea_Name=="Kordestan" |
+ NewArea_Name=="Khorasan_Razavi" |
+ NewArea_Name=="Khorasan_Jonoobi" | NewArea_Name=="Az_Gharbi" |
+ NewArea_Name=="Kermanshah" | NewArea_Name=="Lorestan" |
+ NewArea_Name=="Khorasan_Shomali" | NewArea_Name=="Golestan",
+ cluster3:=6]
+
+ dt2Urban<-dt2Urban[NewArea_Name=="Sistan" | NewArea_Name=="Sh_Zahedan",
+ cluster3:=7]
+
+ save(dt2Urban,file ="dt2Urban.rda")
+ #####Rural#####
+ dt2Rural<-dt2Rural[ NewArea_Name=="Tehran" | NewArea_Name=="Alborz",
+ cluster3:=8]
+
+ dt2Rural<-dt2Rural[NewArea_Name=="Esfahan" | NewArea_Name=="Mazandaran" ,
+ cluster3:=9]
+
+ dt2Rural<-dt2Rural[ NewArea_Name=="Ghazvin" | NewArea_Name=="Yazd" |
+ NewArea_Name=="Gilan" |
+ NewArea_Name=="Kohkilooye" | NewArea_Name=="Booshehr",
+ cluster3:=10]
+
+ dt2Rural<-dt2Rural[ NewArea_Name=="Zanjan" |
+ NewArea_Name=="Chaharmahal"| NewArea_Name=="Hormozgan" | NewArea_Name=="Az_Sharghi" |
+ NewArea_Name=="Ghom" |
+ NewArea_Name=="Fars" |
+ NewArea_Name=="Markazi" | NewArea_Name=="Semnan",
+ cluster3:=11]
+
+ dt2Rural<-dt2Rural[ NewArea_Name=="Hamedan" |
+ NewArea_Name=="Az_Gharbi" | NewArea_Name=="Kermanshah" |
+ NewArea_Name=="Kerman" | NewArea_Name=="Golestan" |
+ NewArea_Name=="Khorasan_Jonoobi" | NewArea_Name=="Lorestan" |
+ NewArea_Name=="Kordestan"|
+ NewArea_Name=="Khoozestan" |
+ NewArea_Name=="Ardebil" | NewArea_Name=="Ilam",
+ cluster3:=12]
+
+ dt2Rural<-dt2Rural[ NewArea_Name=="Khorasan_Shomali" | NewArea_Name=="Khorasan_Razavi" |
+ NewArea_Name=="Sistan" ,
+ cluster3:=13]
+
+ save(dt2Rural,file ="dt2Rural.rda")
+ #####Merge#####
+ dt2total<-rbind(dt2Urban,dt2Rural)
+
+
+ dt2total[,HHID:=NULL]
+ dt2total<-distinct(dt2total)
+
+ MD<-merge(MD,dt2total,by=c("NewArea","NewArea_Name","Region"))
+ save(MD,file=paste0(Settings$HEISProcessedPath,"Y",year,"InitialPoorClustered.rda"))
+}
+
+endtime <- proc.time()
+cat("\n\n============================\nIt took ")
+cat((endtime-starttime)["elapsed"])
+cat(" seconds")
\ No newline at end of file
diff --git a/R/Archive/June 2020 (removed code files)/176-Step6-FoodBasicNeeds.R b/R/Archive/June 2020 (removed code files)/176-Step6-FoodBasicNeeds.R
new file mode 100644
index 00000000..727686e9
--- /dev/null
+++ b/R/Archive/June 2020 (removed code files)/176-Step6-FoodBasicNeeds.R
@@ -0,0 +1,76 @@
+#176-Step 6- FoodBasicNeeds.R
+#
+# Copyright © 2018:Majid Einian & Arin Shahbazian
+# Licence: GPL-3
+
+rm(list=ls())
+
+starttime <- proc.time()
+cat("\n\n================ Prepare Data =====================================\n")
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+library(readxl)
+library(data.table)
+library(ggplot2)
+
+for(year in (Settings$startyear:Settings$endyear)){
+ cat(paste0("\n------------------------------\nYear:",year,"\n"))
+
+ # load data --------------------------------------
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"InitialPoorClustered.rda"))
+
+ #load(file = "CPI.rda")
+ #CPI<-as.data.table(CPI)
+ #CPI<-CPI[,Decile:=as.character(Decile)]
+ #MD<-merge(MD,CPI,by="Decile")
+
+ #Determine Food (Equal 2100 KCal) Bundle
+ #MDPoors<-MD[InitialPoor==1]
+ MD[,NewPoor:=InitialPoor]
+ #MD[,NewPoor:=ifelse(Decile %in% c(1,2,3,4),1,0)]
+ MD[,OldPoor:=1]
+
+ i <- 0
+ while(MD[(NewPoor-OldPoor)!=0,.N]>0.001*nrow(MD[NewPoor==1]) & i <=15){
+# cat(nrow(MD[NewPoor==1]))
+ i <- i + 1
+ MD[,ThisIterationPoor:=NewPoor]
+ MD[,FPLine:=NULL]
+ MDP <- MD[ThisIterationPoor==1,
+ .(FPLine=weighted.mean(Bundle_Value,Weight,na.rm = TRUE)),
+ by=.(cluster3,Region)]
+ MD <- merge(MD,MDP,by=c("Region","cluster3"))
+# print(MDP)
+ #x<-MD[,.(NewArea,Region,FPLine,InitialPoor)]
+ MD[,NewPoor:=ifelse(TOriginalFoodExpenditure_Per < FPLine,1,0)]
+ print(table(MD[,.(ThisIterationPoor,NewPoor)]))
+ MD[,OldPoor:=ThisIterationPoor]
+ }
+
+ MD[,FinalFoodPoor:=OldPoor]
+
+ # MD <- MD[,.(HHID,HIndivNo,Region,NewArea,NewArea_Name,cluster3,ProvinceCode,Size,HAge,HSex,Month,ServiceExp,
+ # HLiterate,HEduLevel0,HActivityState,Area,Rooms,MetrPrice,Total_Exp_Month_nondurable,
+ # Total_Exp_Month_Per_nondurable,TOriginalFoodExpenditure_Per,
+ # OriginalFoodExpenditure_Per,FPLine,Weight,Percentile,FinalFoodPoor,
+ # Total_Exp_Month_Per,TFoodKCaloriesHH_Per,TOriginalFoodExpenditure,Total_Exp_Month,
+ # TFoodExpenditure2,Total_Exp_Month_nondurable2,Total_Exp_Month2,
+ # Total_Exp_Month_Per2,
+ # EqSizeOECD,EqSizeCalory,Decile,Bundle_Value)]
+ save(MD,file=paste0(Settings$HEISProcessedPath,"Y",year,"FinalFoodPoor.rda"))
+ MD[,weighted.mean(FinalFoodPoor,Weight)]
+ # MDFinalfood<-MD[,.(HHID,Region,NewArea,cluster3,Percentile,FinalFoodPoor)]
+ # UrbanFinalfood<-MDFinalfood[Region=="Urban"]
+ # RuralFinalfood<-MDFinalfood[Region=="Rural"]
+ # save(UrbanFinalfood, file=paste0(Settings$HEISProcessedPath,"Y",year,"UrbanFinalfood.rda"))
+ # save(RuralFinalfood, file=paste0(Settings$HEISProcessedPath,"Y",year,"RuralFinalfood.rda"))
+ #
+ MD[,weighted.mean(FinalFoodPoor,Weight),by=c("Region","ProvinceCode")][order(Region,ProvinceCode)]
+ MD[,weighted.mean(FinalFoodPoor,Weight),by=cluster3][order(cluster3)]
+}
+
+endtime <- proc.time()
+cat("\n\n============================\nIt took ")
+cat((endtime-starttime)["elapsed"])
+cat(" seconds")
\ No newline at end of file
diff --git a/R/Archive/June 2020 (removed code files)/177- pline with durable.R b/R/Archive/June 2020 (removed code files)/177- pline with durable.R
new file mode 100644
index 00000000..a2a553d2
--- /dev/null
+++ b/R/Archive/June 2020 (removed code files)/177- pline with durable.R
@@ -0,0 +1,245 @@
+# 177- Step 7,8,9-Poverty Line.R
+#
+# Copyright © 2018:Majid Einian & Arin Shahbazian
+# Licence: GPL-3
+
+rm(list=ls())
+
+starttime <- proc.time()
+cat("\n\n================ Poverty Line =====================================\n")
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+library(readxl)
+library(data.table)
+library(ggplot2)
+library(stats)
+library(spatstat)
+
+FinalCountryResults <- data.table(Year=NA_integer_,PovertyLine=NA_real_,
+ Engle=NA_real_,Bundle_Value=NA_real_,
+ Total_Exp_Month_Per=NA_real_,PovertyHCR=NA_real_,
+ PovertyGap=NA_real_,PovertyDepth=NA_real_)[0]
+FinalRegionResults <- data.table(Year=NA_integer_,Region=NA_integer_,PovertyLine=NA_real_,PovertyHCR=NA_real_,
+ PovertyGap=NA_real_,PovertyDepth=NA_real_)[0]
+FinalClusterResults <- data.table(Year=NA_integer_,cluster3=NA_integer_,MetrPrice=NA_real_,
+ House_Share=NA_real_,FoodKCaloriesHH_Per=NA_real_,
+ SampleSize=NA_integer_,
+ Engle=NA_integer_,FPLine=NA_integer_,
+ PovertyLine=NA_real_,PovertyHCR=NA_real_,
+ PovertyGap=NA_real_,PovertyDepth=NA_real_)[0]
+
+
+
+
+
+for(year in (Settings$startyear:Settings$endyear)){
+ cat(paste0("\nYear:",year,"\t"))
+
+ # load data --------------------------------------
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"FinalFoodPoor.rda"))
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"Value.rda"))
+
+ MD<-merge(MD,Value,by="HHID")
+
+ A1<- MD[as.numeric(Decile)>1 & as.numeric(Decile)<4,
+ weighted.mean(Auto2_rani+Auto1_Khareji+Auto2_Khareji+Auto1_Irani,Weight),by=cluster3]
+ A2<- MD[as.numeric(Decile)>1 & as.numeric(Decile)<4 &
+ (Auto2_rani>0 | Auto1_Khareji>0 |
+ Auto2_Khareji>0 | Auto1_Irani>0),
+ weighted.mean(Auto2_rani+Auto1_Khareji+Auto2_Khareji+Auto1_Irani,Weight)]
+
+ B1<- MD[as.numeric(Decile)>1 & as.numeric(Decile)<4,
+ weighted.mean(TV_Rangi_Irani+TV_Rangi_Khareji,Weight),by=cluster3]
+ B2<- MD[as.numeric(Decile)>1 & as.numeric(Decile)<4 &
+ (TV_Rangi_Irani>0 | TV_Rangi_Khareji>0),weighted.mean(TV_Rangi_Irani+TV_Rangi_Khareji,Weight)]
+
+ C1<- MD[as.numeric(Decile)>1 & as.numeric(Decile)<4,
+ weighted.mean(freezer2,Weight),by=cluster3]
+ C2<- MD[as.numeric(Decile)>1 & as.numeric(Decile)<4 &
+ (freezer2>0),weighted.mean(freezer2,Weight)]
+
+ D1<- MD[as.numeric(Decile)>1 & as.numeric(Decile)<4,
+ weighted.mean(OjaghGaz,Weight),by=cluster3]
+ D2<- MD[as.numeric(Decile)>1 & as.numeric(Decile)<4 &
+ (OjaghGaz>0),weighted.mean(OjaghGaz,Weight)]
+
+ E1<- MD[as.numeric(Decile)>1 & as.numeric(Decile)<4,
+ weighted.mean(Mashin_Lebasshooyi,Weight),by=cluster3]
+ E2<- MD[as.numeric(Decile)>1 & as.numeric(Decile)<4 &
+ (Mashin_Lebasshooyi>0),weighted.mean(Mashin_Lebasshooyi,Weight)]
+
+ F1<- MD[as.numeric(Decile)>1 & as.numeric(Decile)<4,
+ weighted.mean(Mobile,Weight),by=cluster3]
+ F2<- MD[as.numeric(Decile)>1 & as.numeric(Decile)<4 &
+ (Mobile>0),weighted.mean(Mobile,Weight)]
+
+ G1<- MD[as.numeric(Decile)>1 & as.numeric(Decile)<4,
+ weighted.mean(Cooler_Gaz,Weight),by=cluster3]
+ G2<- MD[as.numeric(Decile)>1 & as.numeric(Decile)<4 &
+ (Cooler_Gaz>0),weighted.mean(Cooler_Gaz,Weight)]
+
+ H1<- MD[as.numeric(Decile)>1 & as.numeric(Decile)<4,
+ weighted.mean(PC,Weight),by=cluster3]
+ H2<- MD[as.numeric(Decile)>1 & as.numeric(Decile)<4 &
+ (PC>0),weighted.mean(PC,Weight)]
+
+ I1<- MD[as.numeric(Decile)>1 & as.numeric(Decile)<4,
+ weighted.mean(Lastik_Mashin,Weight),by=cluster3]
+ I2<- MD[as.numeric(Decile)>1 & as.numeric(Decile)<4 &
+ (Lastik_Mashin>0),weighted.mean(Lastik_Mashin,Weight)]
+
+ J1<- MD[as.numeric(Decile)>1 & as.numeric(Decile)<4,
+ weighted.mean(Motor_Machin,Weight),by=cluster3]
+ J2<- MD[as.numeric(Decile)>1 & as.numeric(Decile)<4 &
+ (Motor_Machin>0),weighted.mean(Motor_Machin,Weight)]
+
+ K1<- MD[as.numeric(Decile)>1 & as.numeric(Decile)<4,
+ weighted.mean(Tamirat_Asasi,Weight),by=cluster3]
+ K2<- MD[as.numeric(Decile)>1 & as.numeric(Decile)<4 &
+ (Tamirat_Asasi>0),weighted.mean(Tamirat_Asasi,Weight)]
+
+ MD[,Added_Dep:=0.1*(Auto2_rani+Auto1_Khareji+Auto2_Khareji+Auto1_Irani)+
+ 0.033*(TV_Rangi_Irani>0 | TV_Rangi_Khareji>0)+
+ 0.033*(freezer2)+
+ 0.033*(OjaghGaz)+
+ 0.033*(Mashin_Lebasshooyi)+
+ 0.11*(Mobile)+
+ 0.05*(Cooler_Gaz)+
+ 0.06*(PC)+
+ 0.5*(Lastik_Mashin)+
+ 0.033*(Motor_Machin)+
+ 0.05*(Tamirat_Asasi) ]
+
+
+ names(A1)<-c("cluster3","A1")
+ names(B1)<-c("cluster3","B1")
+ names(C1)<-c("cluster3","C1")
+ names(D1)<-c("cluster3","D1")
+ names(E1)<-c("cluster3","E1")
+ names(F1)<-c("cluster3","F1")
+ names(G1)<-c("cluster3","G1")
+ names(H1)<-c("cluster3","H1")
+ names(I1)<-c("cluster3","I1")
+ names(J1)<-c("cluster3","J1")
+ names(K1)<-c("cluster3","K1")
+
+
+ V<-merge(A1,B1,by="cluster3")
+ V<-merge(V,C1,by="cluster3")
+ V<-merge(V,D1,by="cluster3")
+ V<-merge(V,E1,by="cluster3")
+ V<-merge(V,F1,by="cluster3")
+ V<-merge(V,G1,by="cluster3")
+ V<-merge(V,H1,by="cluster3")
+ V<-merge(V,I1,by="cluster3")
+ V<-merge(V,J1,by="cluster3")
+ V<-merge(V,K1,by="cluster3")
+ V[,Added:=A1+B1+C1+D1+E1+F1+G1+H1+I1+J1+H1+K1]
+ MD<-merge(MD,V,by="cluster3")
+
+ EngleD<- MD[ TOriginalFoodExpenditure_Per>0.8*FPLine &
+ TOriginalFoodExpenditure_Per<1.2*FPLine,
+ .(.N,Engel=weighted.mean(TOriginalFoodExpenditure/Total_Exp_Month_nondurable,Weight),
+ FPLine=mean(FPLine),
+ Added=mean(Added)),by=.(Region,cluster3)]
+
+
+
+ EngleD[,PovertyLine:=FPLine/Engel]
+ EngleD[,PovertyLine2:=PovertyLine+Added]
+ MD <- merge(MD,EngleD[,.(cluster3,Region,PovertyLine,PovertyLine2,Engel)],by=c("Region","cluster3"))
+ MD[,FinalPoor:=ifelse(Total_Exp_Month_Per_nondurable+Added_Dep < PovertyLine2,1,0 )]
+ MD<-MD[,HHEngle:=TOriginalFoodExpenditure/Total_Exp_Month,Weight]
+ save(MD,file=paste0(Settings$HEISProcessedPath,"Y",year,"FINALPOORS.rda"))
+
+ MD[,weighted.mean(Added,Weight)]
+ MD[,weighted.mean(Added,Weight),by=Region]
+
+ MD[,weighted.mean(PovertyLine2,Weight)]
+ MD[,weighted.mean(PovertyLine2,Weight),by=Region]
+
+ MD[,FGT1M:=(PovertyLine-Total_Exp_Month_Per)/PovertyLine]
+ MD[,FGT2M:=((PovertyLine-Total_Exp_Month_Per)/PovertyLine)^2]
+
+
+
+ ################Country##################
+
+ X1 <- MD[,.(PovertyLine=weighted.mean(PovertyLine,Weight*Size),
+ PovertyHCR=weighted.mean(FinalPoor,Weight*Size),
+ Engle=weighted.mean(HHEngle,Weight),
+ Bundle_Value=weighted.mean(Bundle_Value,Weight),
+ Total_Exp_Month_Per=weighted.mean(Total_Exp_Month_Per,Weight))]
+ X2 <- MD[FinalPoor==1,.(PovertyGap=weighted.mean(FGT1M,Weight*Size),
+ PovertyDepth=weighted.mean(FGT2M,Weight*Size))]
+ X1[,Year:=year]
+ X2[,Year:=year]
+ X <- merge(X1,X2,by="Year")
+ FinalCountryResults <- rbind(FinalCountryResults,X)
+
+ ################Region##################
+ X1 <- MD[,.(PovertyLine=weighted.mean(PovertyLine,Weight*Size),
+ PovertyHCR=weighted.mean(FinalPoor,Weight*Size)),by=Region]
+ X2 <- MD[FinalPoor==1,.(PovertyGap=weighted.mean(FGT1M,Weight*Size),
+ PovertyDepth=weighted.mean(FGT2M,Weight*Size)),by=Region]
+ X1[,Year:=year]
+ X2[,Year:=year]
+ X <- merge(X1,X2,by=c("Year","Region"))
+ FinalRegionResults <- rbind(FinalRegionResults,X)
+
+
+ ################Cluster##################
+ X1 <- MD[,.(SampleSize=.N,MetrPrice=weighted.mean(MetrPrice,Weight,na.rm = TRUE),
+ House_Share=weighted.mean(ServiceExp/Total_Exp_Month,Weight),
+ Engle=weighted.mean(TOriginalFoodExpenditure/Total_Exp_Month,Weight),
+ FPLine=weighted.mean(FPLine,Weight),
+ FoodKCaloriesHH_Per=weighted.mean(FoodKCaloriesHH_Per,Weight),
+ PovertyLine=weighted.mean(PovertyLine,Weight*Size),
+ PovertyHCR=weighted.mean(FinalPoor,Weight*Size)),by=cluster3]
+ X2 <- MD[FinalPoor==1,.(PovertyGap=weighted.mean(FGT1M,Weight*Size),
+ PovertyDepth=weighted.mean(FGT2M,Weight*Size)),by=cluster3]
+
+
+ X1[,Year:=year]
+ X2[,Year:=year]
+ X <- merge(X1,X2,by=c("Year","cluster3"))
+ FinalClusterResults <- rbind(FinalClusterResults,X)
+
+ cat(MD[, weighted.mean(FinalPoor,Weight*Size)],"\t")
+ cat(MD[, weighted.mean(PovertyLine2,Weight*Size)],"\t")
+ cat(MD[, weighted.mean(FPLine,Weight*Size)],"\t")
+ cat(MD[, sum(Weight*Size)],"\t")
+
+ MD1<-MD[,.(HHID,FinalPoor)]
+ save(MD1,file=paste0(Settings$HEISProcessedPath,"Y",year,"POORS.rda"))
+
+ MD[, weighted.mean(FinalPoor,Weight*Size)]
+ MD[, weighted.mean(FinalPoor,Weight*Size),by=Region]
+ MD[, weighted.mean(FinalPoor,Weight*Size),by=cluster3]
+
+ MD[,weighted.mean(FinalPoor,Weight),by=ProvinceCode][order(ProvinceCode)]
+}
+
+MD[,sum(Weight),by=Decile][order(Decile)]
+MD[,sum(Weight),by=.(Region,Decile)][order(Region,Decile)]
+MD[,sum(Weight)]
+MD[,sum(Weight*Size)]
+
+# compare Engle & Engle_prime in 178
+FinalClusterEngel <- FinalClusterResults[,.(Year,cluster3,FPLine,PovertyHCR)]
+save(FinalClusterEngel,file=paste0(Settings$HEISProcessedPath,"FINALPOORS_normal.rda"))
+
+#ggplot(HighEngles)+
+# geom_line(mapping = aes(x=Year,y=N50/N,col=factor(cluster3)))
+
+#ggplot(FinalClusterResults)+
+# geom_line(mapping = aes(x=Year,y=PovertyHCR,col=factor(cluster3)))
+
+#write.csv(FinalClusterResults,file = FinalClusterResults.csv)
+
+
+endtime <- proc.time()
+cat("\n\n============================\nIt took ")
+cat((endtime-starttime)["elapsed"])
+cat(" seconds")
\ No newline at end of file
diff --git a/R/Archive/June 2020 (removed code files)/177-Step 7 ,8,9-PovertyLines.R b/R/Archive/June 2020 (removed code files)/177-Step 7 ,8,9-PovertyLines.R
new file mode 100644
index 00000000..cd24df90
--- /dev/null
+++ b/R/Archive/June 2020 (removed code files)/177-Step 7 ,8,9-PovertyLines.R
@@ -0,0 +1,149 @@
+# 177- Step 7,8,9-Poverty Line.R
+#
+# Copyright © 2018:Majid Einian & Arin Shahbazian
+# Licence: GPL-3
+
+rm(list=ls())
+
+starttime <- proc.time()
+cat("\n\n================ Poverty Line =====================================\n")
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+library(readxl)
+library(data.table)
+library(ggplot2)
+library(stats)
+library(spatstat)
+library(writexl)
+FinalCountryResults <- data.table(Year=NA_integer_,PovertyLine=NA_real_,
+ Engle=NA_real_,Bundle_Value=NA_real_,
+ Total_Exp_Month_Per=NA_real_,PovertyHCR=NA_real_,
+ PovertyGap=NA_real_,PovertyDepth=NA_real_)[0]
+FinalRegionResults <- data.table(Year=NA_integer_,Region=NA_integer_,PovertyLine=NA_real_,PovertyHCR=NA_real_,
+ PovertyGap=NA_real_,PovertyDepth=NA_real_)[0]
+FinalClusterResults <- data.table(Year=NA_integer_,cluster3=NA_integer_,MetrPrice=NA_real_,
+ House_Share=NA_real_,FoodKCaloriesHH_Per=NA_real_,
+ SampleSize=NA_integer_,
+ Engle=NA_integer_,FPLine=NA_integer_,
+ PovertyLine=NA_real_,PovertyHCR=NA_real_,
+ PovertyGap=NA_real_,PovertyDepth=NA_real_)[0]
+
+
+
+
+
+for(year in (Settings$startyear:Settings$endyear)){
+ cat(paste0("\nYear:",year,"\t"))
+
+ # load data --------------------------------------
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"FinalFoodPoor.rda"))
+#MD<-MD[CountyCode==2301]
+
+ EngleD<- MD[ TOriginalFoodExpenditure_Per>0.8*FPLine &
+ TOriginalFoodExpenditure_Per<1.2*FPLine,
+ .(.N,Engel=weighted.mean(TOriginalFoodExpenditure/Total_Exp_Month,Weight),
+ FPLine=mean(FPLine)),by=.(Region,cluster3)]
+
+
+
+ EngleD[,PovertyLine:=FPLine/Engel]
+
+
+ MD <- merge(MD,EngleD[,.(cluster3,Region,PovertyLine,Engel)],by=c("Region","cluster3"))
+MD<-MD[,FPLine1:=weighted.mean(FPLine,Weight)]
+MD<-MD[,PovertyLine:=FPLine1/Engel]
+
+ MD[,FinalPoor:=ifelse(Total_Exp_Month_Per < PovertyLine,1,0 )]
+ MD<-MD[,HHEngle:=TOriginalFoodExpenditure/Total_Exp_Month,Weight]
+ save(MD,file=paste0(Settings$HEISProcessedPath,"Y",year,"FINALPOORS.rda"))
+
+
+
+ MD[,FGT1M:=(PovertyLine-Total_Exp_Month_Per)/PovertyLine]
+ MD[,FGT2M:=((PovertyLine-Total_Exp_Month_Per)/PovertyLine)^2]
+
+
+
+ ################Country##################
+
+ X1 <- MD[,.(PovertyLine=weighted.mean(PovertyLine,Weight*Size),
+ PovertyHCR=weighted.mean(FinalPoor,Weight*Size),
+ Engle=weighted.mean(HHEngle,Weight),
+ Bundle_Value=weighted.mean(Bundle_Value,Weight),
+ Total_Exp_Month_Per=weighted.mean(Total_Exp_Month_Per,Weight))]
+ X2 <- MD[FinalPoor==1,.(PovertyGap=weighted.mean(FGT1M,Weight*Size),
+ PovertyDepth=weighted.mean(FGT2M,Weight*Size))]
+ X1[,Year:=year]
+ X2[,Year:=year]
+ X <- merge(X1,X2,by="Year")
+ FinalCountryResults <- rbind(FinalCountryResults,X)
+
+ ################Region##################
+ X1 <- MD[,.(PovertyLine=weighted.mean(PovertyLine,Weight*Size),
+ PovertyHCR=weighted.mean(FinalPoor,Weight*Size)),by=Region]
+ X2 <- MD[FinalPoor==1,.(PovertyGap=weighted.mean(FGT1M,Weight*Size),
+ PovertyDepth=weighted.mean(FGT2M,Weight*Size)),by=Region]
+ X1[,Year:=year]
+ X2[,Year:=year]
+ X <- merge(X1,X2,by=c("Year","Region"))
+ FinalRegionResults <- rbind(FinalRegionResults,X)
+
+
+ ################Cluster##################
+ X1 <- MD[,.(SampleSize=.N,MetrPrice=weighted.mean(MetrPrice,Weight,na.rm = TRUE),
+ House_Share=weighted.mean(ServiceExp/Total_Exp_Month,Weight),
+ Engle=weighted.mean(TOriginalFoodExpenditure/Total_Exp_Month,Weight),
+ FPLine=weighted.mean(FPLine,Weight),
+ FoodKCaloriesHH_Per=weighted.mean(FoodKCaloriesHH_Per,Weight),
+ PovertyLine=weighted.mean(PovertyLine,Weight*Size),
+ PovertyHCR=weighted.mean(FinalPoor,Weight*Size)),by=cluster3]
+ X2 <- MD[FinalPoor==1,.(PovertyGap=weighted.mean(FGT1M,Weight*Size),
+ PovertyDepth=weighted.mean(FGT2M,Weight*Size)),by=cluster3]
+
+
+ X1[,Year:=year]
+ X2[,Year:=year]
+ X <- merge(X1,X2,by=c("Year","cluster3"))
+ FinalClusterResults <- rbind(FinalClusterResults,X)
+
+ cat(MD[, weighted.mean(FinalPoor,Weight*Size)],"\t")
+ cat(MD[, weighted.mean(PovertyLine,Weight*Size)],"\t")
+ cat(MD[, weighted.mean(FPLine,Weight*Size)],"\t")
+ cat(MD[, sum(Weight*Size)],"\t")
+
+ MD1<-MD[,.(HHID,FinalPoor)]
+ save(MD1,file=paste0(Settings$HEISProcessedPath,"Y",year,"POORS.rda"))
+
+ MD[, weighted.mean(FinalPoor,Weight*Size)]
+ MD[, weighted.mean(FinalPoor,Weight*Size),by=Region]
+ MD[, weighted.mean(FinalPoor,Weight*Size),by=cluster3]
+
+ MD[,weighted.mean(FinalPoor,Weight),by=ProvinceCode][order(ProvinceCode)]
+}
+
+MD[,sum(Weight),by=Decile][order(Decile)]
+MD[,sum(Weight),by=.(Region,Decile)][order(Region,Decile)]
+MD[,sum(Weight)]
+MD[,sum(Weight*Size)]
+
+# compare Engle & Engle_prime in 178
+FinalClusterEngel <- FinalClusterResults[,.(Year,cluster3,FPLine,PovertyHCR)]
+save(FinalClusterEngel,file=paste0(Settings$HEISProcessedPath,"FINALPOORS_normal.rda"))
+
+#ggplot(HighEngles)+
+# geom_line(mapping = aes(x=Year,y=N50/N,col=factor(cluster3)))
+
+#ggplot(FinalClusterResults)+
+# geom_line(mapping = aes(x=Year,y=PovertyHCR,col=factor(cluster3)))
+
+#write.csv(FinalClusterResults,file = FinalClusterResults.csv)
+FinalClusterResults<-FinalClusterResults[,cluster3:=as.factor(cluster3)]
+FinalClusterResults<-FinalClusterResults[,Year:=as.factor(Year)]
+ggplot(data=FinalClusterResults,aes(x=Year, y=PovertyHCR, group=cluster3, colour=cluster3))+geom_line()
+write_xlsx(FinalClusterResults,path="FinalClusterResults.xlsx",col_names=T)
+
+endtime <- proc.time()
+cat("\n\n============================\nIt took ")
+cat((endtime-starttime)["elapsed"])
+cat(" seconds")
\ No newline at end of file
diff --git a/R/Archive/June 2020 (removed code files)/178- Other related calculation.R b/R/Archive/June 2020 (removed code files)/178- Other related calculation.R
new file mode 100644
index 00000000..f7250bd1
--- /dev/null
+++ b/R/Archive/June 2020 (removed code files)/178- Other related calculation.R
@@ -0,0 +1,270 @@
+# 178- Other related calculation.R
+#
+# Copyright © 2020:Arin Shahbazian
+# Licence: GPL-3
+
+rm(list=ls())
+
+starttime <- proc.time()
+cat("\n\n================ Other related calculation =====================================\n")
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+library(readxl)
+library(data.table)
+library(ggplot2)
+library(stats)
+library(spatstat)
+library(sm)
+
+FinalCountryResults <- data.table(Year=NA_integer_,PovertyLine=NA_real_,PovertyHCR=NA_real_,
+ PovertyGap=NA_real_,PovertyDepth=NA_real_)[0]
+FinalRegionResults <- data.table(Year=NA_integer_,Region=NA_integer_,PovertyLine=NA_real_,PovertyHCR=NA_real_,
+ PovertyGap=NA_real_,PovertyDepth=NA_real_)[0]
+FinalClusterResults <- data.table(Year=NA_integer_,cluster3=NA_integer_,MetrPrice=NA_real_,
+ House_Share=NA_real_,FoodKCaloriesHH_Per=NA_real_,
+ SampleSize=NA_integer_,
+ Engle=NA_integer_,FPLine=NA_integer_,
+ PovertyLine=NA_real_,PovertyHCR=NA_real_,
+ PovertyGap=NA_real_,PovertyDepth=NA_real_)[0]
+
+FinalClusterDiff <- data.table(Year=NA_integer_,cluster3=NA_integer_,MetrPrice=NA_real_,
+ House_Share=NA_real_,Food_Share=NA_real_,Durable_Share=NA_real_,
+ SampleSize=NA_integer_,Clusterdiff=NA_integer_,
+ Engle=NA_integer_,FPLine=NA_integer_,FoodKCaloriesHH_Per=NA_real_,
+ Total_Exp_Month_Per_nondurable=NA_real_,
+ Total_Exp_Month_Per=NA_real_,
+ PovertyLine=NA_real_,PovertyHCR=NA_real_,
+ PovertyGap=NA_real_,PovertyDepth=NA_real_)[0]
+
+ProvinceResults <- data.table(Year=NA_integer_,ProvinceCode=NA_integer_,
+ Total_Exp_Per=NA_real_,HSex=NA_character_)[0]
+
+for(year in (Settings$startyear:Settings$endyear)){
+ cat(paste0("\nYear:",year,"\t"))
+
+ # load data --------------------------------------
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"FinalFoodPoor.rda"))
+
+ #MD<-MD[Region=="Rural"]
+ #MD<-MD[cluster3==7]
+ MD<-MD[,Clusterdiff:=ifelse(cluster3==7,1,0)]
+
+ EngleD <- MD[ TOriginalFoodExpenditure_Per>0.8*FPLine & TOriginalFoodExpenditure_Per<1.2*FPLine,
+ .(.N,Engel=weighted.mean(TOriginalFoodExpenditure/Total_Exp_Month,Weight),
+ FPLine=mean(FPLine)),by=.(Region,cluster3)]
+
+
+ EngleD[,PovertyLine:=FPLine/Engel]
+ MD <- merge(MD,EngleD[,.(cluster3,Region,PovertyLine,Engel)],by=c("Region","cluster3"))
+ MD[,FinalPoor:=ifelse(Total_Exp_Month_Per < PovertyLine,1,0 )]
+ MD<-MD[,HHEngle:=TOriginalFoodExpenditure/Total_Exp_Month,Weight]
+ save(MD,file=paste0(Settings$HEISProcessedPath,"Y",year,"FINALPOORS.rda"))
+
+
+ MD[,FGT1M:=(PovertyLine-Total_Exp_Month_Per)/PovertyLine]
+ MD[,FGT2M:=((PovertyLine-Total_Exp_Month_Per)/PovertyLine)^2]
+
+ ################Country##################
+
+ X1 <- MD[,.(PovertyLine=weighted.mean(PovertyLine,Weight*Size),
+ PovertyHCR=weighted.mean(FinalPoor,Weight*Size))]
+ X2 <- MD[FinalPoor==1,.(PovertyGap=weighted.mean(FGT1M,Weight*Size),
+ PovertyDepth=weighted.mean(FGT2M,Weight*Size))]
+ X1[,Year:=year]
+ X2[,Year:=year]
+ X <- merge(X1,X2,by="Year")
+ FinalCountryResults <- rbind(FinalCountryResults,X)
+
+ ################Region##################
+ X1 <- MD[,.(PovertyLine=weighted.mean(PovertyLine,Weight*Size),
+ PovertyHCR=weighted.mean(FinalPoor,Weight*Size)),by=Region]
+ X2 <- MD[FinalPoor==1,.(PovertyGap=weighted.mean(FGT1M,Weight*Size),
+ PovertyDepth=weighted.mean(FGT2M,Weight*Size)),by=Region]
+ X1[,Year:=year]
+ X2[,Year:=year]
+ X <- merge(X1,X2,by=c("Year","Region"))
+ FinalRegionResults <- rbind(FinalRegionResults,X)
+
+ ################Cluster Diff##################
+ X1 <- MD[,.(SampleSize=.N,MetrPrice=weighted.mean(MetrPrice,Weight,na.rm = TRUE),
+ House_Share=weighted.mean(ServiceExp/Total_Exp_Month,Weight),
+ Food_Share=weighted.mean(FoodExpenditure/Total_Exp_Month,Weight),
+ Durable_Share=weighted.mean(Durable_Exp/Total_Exp_Month,Weight),
+ Engle=weighted.mean(FoodExpenditure/Total_Exp_Month,Weight),
+ FPLine=weighted.mean(FPLine,Weight),
+ FoodKCaloriesHH_Per=weighted.mean(FoodKCaloriesHH_Per,Weight),
+ Total_Exp_Month_Per_nondurable=weighted.mean(Total_Exp_Month_Per_nondurable,Weight),
+ Total_Exp_Month_Per=weighted.mean(Total_Exp_Month_Per,Weight),
+ cluster3=weighted.mean(cluster3,Weight),
+ PovertyLine=weighted.mean(PovertyLine,Weight*Size),
+ PovertyHCR=weighted.mean(FinalPoor,Weight*Size)),by=Clusterdiff]
+ X2 <- MD[FinalPoor==1,.(PovertyGap=weighted.mean(FGT1M,Weight*Size),
+ PovertyDepth=weighted.mean(FGT2M,Weight*Size)),by=Clusterdiff]
+
+
+ X1[,Year:=year]
+ X2[,Year:=year]
+ X <- merge(X1,X2,by=c("Year","Clusterdiff"))
+ FinalClusterDiff <- rbind(FinalClusterDiff,X)
+
+ ################Cluster##################
+ X1 <- MD[,.(SampleSize=.N,MetrPrice=weighted.mean(MetrPrice,Weight,na.rm = TRUE),
+ House_Share=weighted.mean(ServiceExp/Total_Exp_Month,Weight),
+ Engle=weighted.mean(TOriginalFoodExpenditure/Total_Exp_Month,Weight),
+ FPLine=weighted.mean(FPLine,Weight),
+ FoodKCaloriesHH_Per=weighted.mean(FoodKCaloriesHH_Per,Weight),
+ PovertyLine=weighted.mean(PovertyLine,Weight*Size),
+ PovertyHCR=weighted.mean(FinalPoor,Weight*Size)),by=cluster3]
+ X2 <- MD[FinalPoor==1,.(PovertyGap=weighted.mean(FGT1M,Weight*Size),
+ PovertyDepth=weighted.mean(FGT2M,Weight*Size)),by=cluster3]
+
+
+ X1[,Year:=year]
+ X2[,Year:=year]
+ X <- merge(X1,X2,by=c("Year","cluster3"))
+ FinalClusterResults <- rbind(FinalClusterResults,X)
+
+
+ ################Province##################
+ X1 <- MD[,.(Total_Exp_Per=weighted.mean(Total_Exp_Month_Per,Weight,na.rm = TRUE)),by=.(ProvinceCode,HSex)]
+
+ X1[,Year:=year]
+ ProvinceResults <- rbind(ProvinceResults,X1)
+
+ write.csv(ProvinceResults,file = "ProvinceResults.csv")
+
+ cat(MD[, weighted.mean(FinalPoor,Weight*Size)])
+ #cat(MD[TOriginalFoodExpenditure_Per>0.8*FPLine &
+ # TOriginalFoodExpenditure_Per<1.2*FPLine &
+ # Region=="Rural" & NewArea==11,
+ # weighted.mean(Engel,Weight)])
+ MD1<-MD[,.(HHID,FinalPoor)]
+ save(MD1,file=paste0(Settings$HEISProcessedPath,"Y",year,"POORS.rda"))
+
+ Poors<-MD[FinalPoor==1]
+
+
+ MDR<-MD[Region=="Rural"]
+ #MDRP<-MDR[FinalPoor==1]
+ MDRN<-MDR[TOriginalFoodExpenditure_Per>0.8*FPLine & TOriginalFoodExpenditure_Per<1.2*FPLine]
+ a<-ggplot(MDRN,aes(x=HHEngle, fill=factor(cluster3))) + geom_density(alpha=0.25)+
+ ggtitle(year)
+
+#plot(a)
+}
+save(FinalClusterResults,file=paste0(Settings$HEISProcessedPath,"FinalClusterResults.rda"))
+save(FinalCountryResults,file=paste0(Settings$HEISProcessedPath,"FinalCountryResults.rda"))
+
+ggplot(FinalClusterResults)+
+ geom_line(mapping = aes(x=Year,y=log(FoodKCaloriesHH_Per),col=factor(cluster3)))
+
+ggplot(FinalClusterDiff)+
+ geom_line(mapping = aes(x=Year,y=MetrPrice,col=factor(Clusterdiff)))
+
+ggplot(FinalClusterDiff)+
+ geom_line(mapping = aes(x=Year,y=MetrPrice,col=factor(Clusterdiff)))
+
+ggplot(FinalClusterDiff)+
+ geom_line(mapping = aes(x=Year,y=FPLine,col=factor(Clusterdiff)))
+
+ggplot(FinalClusterDiff)+
+ geom_line(mapping = aes(x=Year,y=Engle,col=factor(Clusterdiff)))
+
+ggplot(FinalClusterDiff)+
+ geom_line(mapping = aes(x=Year,y=PovertyLine,col=factor(Clusterdiff)))
+
+ggplot(FinalClusterDiff)+
+ geom_line(mapping = aes(x=Year,y=House_Share,col=factor(Clusterdiff)))
+
+ggplot(FinalClusterDiff)+
+ geom_line(mapping = aes(x=Year,y=Food_Share,col=factor(Clusterdiff)))
+
+ggplot(FinalClusterDiff)+
+ geom_line(mapping = aes(x=Year,y=Durable_Share,col=factor(Clusterdiff)))
+
+ggplot(FinalClusterDiff)+
+ geom_line(mapping = aes(x=Year,y=Total_Exp_Month_Per_nondurable,col=factor(Clusterdiff)))
+
+ggplot(FinalClusterDiff)+
+ geom_line(mapping = aes(x=Year,y=Total_Exp_Month_Per,col=factor(Clusterdiff)))
+
+MD7<-MD[cluster3==7]
+plot(MD7$TOriginalFoodExpenditure_Per~MD7$HHEngle)
+abline(h = MD7$FPLine*1.2, col="blue")
+abline(h = MD7$FPLine*0.8, col="blue")
+plot(MD7$Total_Exp_Month_Per~MD7$HHEngle)
+abline(h = MD7$PovertyLine, col="blue")
+
+plot(log(MD7$TOriginalFoodExpenditure_Per)~log(MD7$Total_Exp_Month_Per))
+smoothScatter(log(MD$TOriginalFoodExpenditure_Per),log(MD$Total_Exp_Month_Per))
+smoothScatter(log(MD$Total_Exp_Month_Per),(MD$TOriginalFoodExpenditure_Per/MD$Total_Exp_Month_Per))
+
+Area7<-MD[,.(HHID,Size,Decile,Region,ProvinceCode,FinalPoor,Area,Weight)]
+Area7[FinalPoor==1,weighted.mean(Area,Weight,na.rm = TRUE)]
+
+
+
+MD77<-MD7[,.(.N,Total_Exp_Month_Per_nondurable=mean(Total_Exp_Month_Per_nondurable),
+ HHEngle=mean(HHEngle)),by="Percentile"]
+plot(MD77$HHEngle~MD77$Percentile)
+
+
+###Engle distribution###
+MDU<-MD[Region=="Urban"]
+sm.density.compare(MDU$HHEngle, MDU$cluster3==7)
+
+MDUP<-MDU[FinalPoor==1]
+sm.density.compare(MDUP$HHEngle, MDUP$cluster3==7)
+
+MDUN<-MDU[TOriginalFoodExpenditure_Per>0.8*FPLine & TOriginalFoodExpenditure_Per<1.2*FPLine]
+sm.density.compare(MDUN$HHEngle, MDUN$cluster3==7)
+sm.density.compare(MDUN$HHEngle, MDUN$cluster3)
+
+MDR<-MD[Region=="Rural"]
+sm.density.compare(MDR$HHEngle, MDR$cluster3==13)
+
+MDRP<-MDR[FinalPoor==1]
+sm.density.compare(MDRP$HHEngle, MDRP$cluster3==13)
+
+MDRN<-MDR[TOriginalFoodExpenditure_Per>0.8*FPLine & TOriginalFoodExpenditure_Per<1.2*FPLine]
+sm.density.compare(MDRN$HHEngle, MDRN$cluster3==13)
+
+D1 <- MD[Decile==1 & Region=="Urban",.(N1=sum(Weight)),by=NewArea_Name]
+D2 <- MD[Decile==2 & Region=="Urban",.(N2=sum(Weight)),by=NewArea_Name]
+D3 <- MD[Decile==3 & Region=="Urban",.(N3=sum(Weight)),by=NewArea_Name]
+D4 <- MD[Decile==4 & Region=="Urban",.(N4=sum(Weight)),by=NewArea_Name]
+D5 <- MD[Decile==5 & Region=="Urban",.(N5=sum(Weight)),by=NewArea_Name]
+D6 <- MD[Decile==6 & Region=="Urban",.(N6=sum(Weight)),by=NewArea_Name]
+D7 <- MD[Decile==7 & Region=="Urban",.(N7=sum(Weight)),by=NewArea_Name]
+D8 <- MD[Decile==8 & Region=="Urban",.(N8=sum(Weight)),by=NewArea_Name]
+D9 <- MD[Decile==9 & Region=="Urban",.(N9=sum(Weight)),by=NewArea_Name]
+D10 <- MD[Decile==10 & Region=="Urban",.(N10=sum(Weight)),by=NewArea_Name]
+Dx <- MD[Region=="Urban",.(Nx=sum(Weight)),by=NewArea_Name]
+Dxx <- merge(Dx,D1)
+Dxx <- merge(Dxx,D2)
+Dxx <- merge(Dxx,D3)
+Dxx <- merge(Dxx,D4)
+Dxx <- merge(Dxx,D5)
+Dxx <- merge(Dxx,D6)
+Dxx <- merge(Dxx,D7)
+Dxx <- merge(Dxx,D8)
+Dxx <- merge(Dxx,D9)
+Dxx <- merge(Dxx,D10)
+Dxx[,p1:=N1/Nx*100]
+Dxx[,p2:=N2/Nx*100]
+Dxx[,p3:=N3/Nx*100]
+Dxx[,p4:=N4/Nx*100]
+Dxx[,p5:=N5/Nx*100]
+Dxx[,p6:=N6/Nx*100]
+Dxx[,p7:=N7/Nx*100]
+Dxx[,p8:=N8/Nx*100]
+Dxx[,p9:=N9/Nx*100]
+Dxx[,p10:=N10/Nx*100]
+
+#write.csv(ProvinceResults,file = ProvinceResults.csv)
+
+endtime <- proc.time()
+cat("\n\n============================\nIt took ")
+cat((endtime-starttime)["elapsed"])
+cat(" seconds")
diff --git a/R/Archive/June 2020 (removed code files)/178- Poverty line for Engel_prime.R b/R/Archive/June 2020 (removed code files)/178- Poverty line for Engel_prime.R
new file mode 100644
index 00000000..3576fea5
--- /dev/null
+++ b/R/Archive/June 2020 (removed code files)/178- Poverty line for Engel_prime.R
@@ -0,0 +1,205 @@
+# 177- Step 7,8,9-Poverty Line.R
+#
+# Copyright © 2018:Majid Einian & Arin Shahbazian
+# Licence: GPL-3
+
+rm(list=ls())
+
+starttime <- proc.time()
+cat("\n\n================ Poverty Line =====================================\n")
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+library(readxl)
+library(data.table)
+library(ggplot2)
+library(stats)
+library(spatstat)
+
+FinalCountryResults <- data.table(Year=NA_integer_,PovertyLine=NA_real_,
+ Engle=NA_real_,Bundle_Value=NA_real_,
+ Total_Exp_Month_Per=NA_real_,PovertyHCR=NA_real_,
+ PovertyGap=NA_real_,PovertyDepth=NA_real_)[0]
+FinalRegionResults <- data.table(Year=NA_integer_,Region=NA_integer_,PovertyLine=NA_real_,PovertyHCR=NA_real_,
+ PovertyGap=NA_real_,PovertyDepth=NA_real_)[0]
+FinalClusterResults <- data.table(Year=NA_integer_,cluster3=NA_integer_,MetrPrice=NA_real_,
+ House_Share=NA_real_,FoodKCaloriesHH_Per=NA_real_,
+ SampleSize=NA_integer_,
+ Engle=NA_integer_,FPLine=NA_integer_,
+ PovertyLine=NA_real_,PovertyHCR=NA_real_,
+ PovertyGap=NA_real_,PovertyDepth=NA_real_)[0]
+
+FinalClusterDiff <- data.table(Year=NA_integer_,cluster3=NA_integer_,MetrPrice=NA_real_,
+ House_Share=NA_real_,Food_Share=NA_real_,Durable_Share=NA_real_,
+ SampleSize=NA_integer_,Clusterdiff=NA_integer_,
+ Engle=NA_integer_,FPLine=NA_integer_,FoodKCaloriesHH_Per=NA_real_,
+ Total_Exp_Month_Per_nondurable=NA_real_,
+ Total_Exp_Month_Per=NA_real_,
+ PovertyLine=NA_real_,PovertyHCR=NA_real_,
+ PovertyGap=NA_real_,PovertyDepth=NA_real_)[0]
+
+for(year in (84:Settings$endyear)){
+ cat(paste0("\nYear:",year,"\t"))
+
+
+ # load data --------------------------------------
+
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"FinalFoodPoor.rda"))
+
+ #MD<-MD[Region=="Rural"]
+ #MD<-MD[cluster3==7]
+ MD<-MD[,Clusterdiff:=ifelse(cluster3==7,1,0)]
+ MD<-MD[,EngleH:=(TOriginalFoodExpenditure/Total_Exp_Month)]
+
+
+
+ HighEngle1 <- MD[ TOriginalFoodExpenditure_Per>0.8*FPLine &
+ TOriginalFoodExpenditure_Per<1.2*FPLine &
+ (EngleH) > 0.4,
+ .(.N),by=.(Region,cluster3)]
+
+ HighEngle2 <- MD[ TOriginalFoodExpenditure_Per>0.8*FPLine &
+ TOriginalFoodExpenditure_Per<1.2*FPLine &
+ (EngleH) > 0.45,
+ .(.N),by=.(Region,cluster3)]
+
+ HighEngle3 <- MD[ TOriginalFoodExpenditure_Per>0.8*FPLine &
+ TOriginalFoodExpenditure_Per<1.2*FPLine &
+ (EngleH) > 0.5,
+ .(.N),by=.(Region,cluster3)]
+
+ HighEngle<-rbind(HighEngle1,HighEngle2,HighEngle3)
+
+ EngleD1 <- MD[ TOriginalFoodExpenditure_Per>0.8*FPLine &
+ TOriginalFoodExpenditure_Per<1.2*FPLine &
+ (EngleH) < 0.5 &
+ (cluster3!=6 & cluster3!=7 & cluster3!=11 &
+ cluster3!=12 & cluster3!=13),
+ .(.N,Engel=weighted.mean(EngleH,Weight),
+ FPLine=mean(FPLine)),by=.(Region,cluster3)]
+
+ EngleD2 <- MD[ TOriginalFoodExpenditure_Per>0.8*FPLine &
+ TOriginalFoodExpenditure_Per<1.2*FPLine &
+ (EngleH) < 0.45 &
+ (cluster3==6 | cluster3==7 | cluster3==11 |
+ cluster3==12 | cluster3==13),
+ .(.N,Engel=weighted.mean(EngleH,Weight),
+ FPLine=mean(FPLine)),by=.(Region,cluster3)]
+
+
+ EngleD<-rbind(EngleD1,EngleD2)
+ EngleD<-EngleD[,Year:=year]
+ EngleDD <- EngleD
+ EngleDD <- subset(EngleDD, select = c(Year,cluster3,Engel,Region))
+ save(EngleDD,file=paste0(Settings$HEISProcessedPath,"Y",year,"EngleD.rda"))
+ lyear=year-1
+ load(file=paste0(Settings$HEISProcessedPath,"Y",lyear,"EngleD.rda"))
+
+ EngleDD[,Engel:=ifelse(Year==84,Engel*0.9937,
+ ifelse(Year==85,Engel*0.9938,
+ ifelse(Year==86,Engel*0.9936,
+ ifelse(Year==87,Engel*1.0012,
+ ifelse(Year==88,Engel*0.9963,
+ ifelse(Year==89,Engel*0.9898,
+ ifelse(Year==90,Engel*0.9664,
+ ifelse(Year==91,Engel*1.0269,
+ ifelse(Year==92,Engel*1.0250,
+ ifelse(Year==93,Engel*1.0080,
+ ifelse(Year==94,Engel*1.0006,
+ ifelse(Year==95,Engel*0.9996,
+ ifelse(Year==96,Engel*1.0000,
+ ifelse(Year==97,Engel*1.0379,0))))))))))))))]
+
+ EngleD <- subset(EngleD,select = c(1,2,3,5,6))
+
+ EngleDD <- subset(EngleDD, select = c(cluster3,Engel,Region))
+
+ EngleD<-merge(EngleD,EngleDD)
+
+ EngleD[,PovertyLine:=FPLine/Engel]
+
+ colnames(MD)[colnames(MD) == 'FPLine'] <- 'FPLine1'
+
+ MNNN=subset(MD,select=c(FPLine1))
+ MD <- merge(MD,EngleD[,.(cluster3,Region,FPLine,Engel,PovertyLine)],by=c("Region","cluster3"))
+ MD[,FinalPoor:=ifelse(Total_Exp_Month_Per < PovertyLine,1,0 )]
+ MD<-MD[,HHEngle:=EngleH,Weight]
+ save(MD,file=paste0(Settings$HEISProcessedPath,"Y",year,"FINALPOORS_Engle.rda"))
+
+
+ MD[,FGT1M:=(PovertyLine-Total_Exp_Month_Per)/PovertyLine]
+ MD[,FGT2M:=((PovertyLine-Total_Exp_Month_Per)/PovertyLine)^2]
+
+ ################Country##################
+
+
+ X1 <- MD[,.(PovertyLine=weighted.mean(PovertyLine,Weight*Size),
+ PovertyHCR=weighted.mean(FinalPoor,Weight*Size),
+ Engle=weighted.mean(HHEngle,Weight),
+ Bundle_Value=weighted.mean(Bundle_Value,Weight),
+ Total_Exp_Month_Per=weighted.mean(Total_Exp_Month_Per,Weight))]
+ X2 <- MD[FinalPoor==1,.(PovertyGap=weighted.mean(FGT1M,Weight*Size),
+ PovertyDepth=weighted.mean(FGT2M,Weight*Size))]
+ X1[,Year:=year]
+ X2[,Year:=year]
+ X <- merge(X1,X2,by="Year")
+ FinalCountryResults <- rbind(FinalCountryResults,X)
+
+ ################Region##################
+ X1 <- MD[,.(PovertyLine=weighted.mean(PovertyLine,Weight*Size),
+ PovertyHCR=weighted.mean(FinalPoor,Weight*Size)),by=Region]
+ X2 <- MD[FinalPoor==1,.(PovertyGap=weighted.mean(FGT1M,Weight*Size),
+ PovertyDepth=weighted.mean(FGT2M,Weight*Size)),by=Region]
+ X1[,Year:=year]
+ X2[,Year:=year]
+ X <- merge(X1,X2,by=c("Year","Region"))
+ FinalRegionResults <- rbind(FinalRegionResults,X)
+
+
+ ################Cluster##################
+ X1 <- MD[,.(SampleSize=.N,MetrPrice=weighted.mean(MetrPrice,Weight,na.rm = TRUE),
+ House_Share=weighted.mean(ServiceExp/Total_Exp_Month,Weight),
+ Engle=weighted.mean(EngleH,Weight),
+ FPLine=weighted.mean(FPLine,Weight),
+ FoodKCaloriesHH_Per=weighted.mean(FoodKCaloriesHH_Per,Weight),
+ PovertyLine=weighted.mean(PovertyLine,Weight*Size),
+ PovertyHCR=weighted.mean(FinalPoor,Weight*Size)),by=cluster3]
+ X2 <- MD[FinalPoor==1,.(PovertyGap=weighted.mean(FGT1M,Weight*Size),
+ PovertyDepth=weighted.mean(FGT2M,Weight*Size)),by=cluster3]
+
+
+ X1[,Year:=year]
+ X2[,Year:=year]
+ X <- merge(X1,X2,by=c("Year","cluster3"))
+ FinalClusterResults <- rbind(FinalClusterResults,X)
+
+ cat(MD[, weighted.mean(FinalPoor,Weight*Size)])
+
+ MD1<-MD[,.(HHID,FinalPoor)]
+ save(MD1,file=paste0(Settings$HEISProcessedPath,"Y",year,"POORS_Engle.rda"))
+
+ Poors<-MD[FinalPoor==1]
+
+ a<-MD[ TOriginalFoodExpenditure_Per>0.8*FPLine &
+ TOriginalFoodExpenditure_Per<1.2*FPLine &
+ cluster3==7,
+ .(x=EngleH)]
+
+}
+FinalClusterEngelPrime <- FinalClusterResults[,.(Year,cluster3,FPLine,PovertyHCR)]
+colnames(FinalClusterEngelPrime)[colnames(FinalClusterEngelPrime) == 'FPLine'] <- 'FPLine_p'
+colnames(FinalClusterEngelPrime)[colnames(FinalClusterEngelPrime) == 'PovertyHCR'] <- 'PovertyHCR_p'
+
+load(file=paste0(Settings$HEISProcessedPath,"FINALPOORS_normal.rda"))
+FinalClusterEngelPrime <- merge(FinalClusterEngelPrime,FinalClusterEngel[,.(Year,cluster3,FPLine,PovertyHCR)])
+save(FinalClusterEngelPrime,file=paste0(Settings$HEISProcessedPath,"FINALPOORS_prime.rda"))
+
+library(xlsx)
+write.xlsx(FinalClusterEngelPrime, "E:/FinalClusterEngelPrime.xlsx")
+ggplot(FinalClusterResults)+
+ geom_line(mapping = aes(x=Year,y=MetrPrice,col=factor(cluster3),line=factor(cluster3)))
+
+endtime <- proc.time()
+cat("\n\n============================\nIt took ")
+cat((endtime-starttime)["elapsed"])
+cat(" seconds")
\ No newline at end of file
diff --git a/R/Archive/June 2020 (removed code files)/178- Poverty line for Engel_prime_moving_average.R b/R/Archive/June 2020 (removed code files)/178- Poverty line for Engel_prime_moving_average.R
new file mode 100644
index 00000000..caa8b500
--- /dev/null
+++ b/R/Archive/June 2020 (removed code files)/178- Poverty line for Engel_prime_moving_average.R
@@ -0,0 +1,302 @@
+# 177- Step 7,8,9-Poverty Line.R
+#
+# Copyright © 2018:Majid Einian & Arin Shahbazian
+# Licence: GPL-3
+
+rm(list=ls())
+
+starttime <- proc.time()
+cat("\n\n================ Poverty Line =====================================\n")
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+library(readxl)
+library(data.table)
+library(ggplot2)
+library(stats)
+library(spatstat)
+
+FinalCountryResults <- data.table(Year=NA_integer_,PovertyLine=NA_real_,
+ Engle=NA_real_,Bundle_Value=NA_real_,
+ Total_Exp_Month_Per=NA_real_,PovertyHCR=NA_real_,
+ PovertyGap=NA_real_,PovertyDepth=NA_real_)[0]
+FinalRegionResults <- data.table(Year=NA_integer_,Region=NA_integer_,PovertyLine=NA_real_,PovertyHCR=NA_real_,
+ PovertyGap=NA_real_,PovertyDepth=NA_real_)[0]
+FinalClusterResults <- data.table(Year=NA_integer_,cluster3=NA_integer_,MetrPrice=NA_real_,
+ House_Share=NA_real_,FoodKCaloriesHH_Per=NA_real_,
+ SampleSize=NA_integer_,
+ Engle=NA_integer_,FPLine=NA_integer_,
+ PovertyLine=NA_real_,PovertyHCR=NA_real_,
+ PovertyGap=NA_real_,PovertyDepth=NA_real_)[0]
+
+FinalClusterDiff <- data.table(Year=NA_integer_,cluster3=NA_integer_,MetrPrice=NA_real_,
+ House_Share=NA_real_,Food_Share=NA_real_,Durable_Share=NA_real_,
+ SampleSize=NA_integer_,Clusterdiff=NA_integer_,
+ Engle=NA_integer_,FPLine=NA_integer_,FoodKCaloriesHH_Per=NA_real_,
+ Total_Exp_Month_Per_nondurable=NA_real_,
+ Total_Exp_Month_Per=NA_real_,
+ PovertyLine=NA_real_,PovertyHCR=NA_real_,
+ PovertyGap=NA_real_,PovertyDepth=NA_real_)[0]
+
+for(year in (Settings$startyear:Settings$endyear)){
+ cat(paste0("\nYear:",year,"\t"))
+
+ # load data --------------------------------------
+
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"FinalFoodPoor.rda"))
+
+ #MD<-MD[Region=="Rural"]
+ #MD<-MD[cluster3==7]
+ MD<-MD[,Clusterdiff:=ifelse(cluster3==7,1,0)]
+ MD<-MD[,EngleH:=(TOriginalFoodExpenditure/Total_Exp_Month)]
+
+
+
+ HighEngle1 <- MD[ TOriginalFoodExpenditure_Per>0.8*FPLine &
+ TOriginalFoodExpenditure_Per<1.2*FPLine &
+ (EngleH) > 0.4,
+ .(.N),by=.(Region,cluster3)]
+
+ HighEngle2 <- MD[ TOriginalFoodExpenditure_Per>0.8*FPLine &
+ TOriginalFoodExpenditure_Per<1.2*FPLine &
+ (EngleH) > 0.45,
+ .(.N),by=.(Region,cluster3)]
+
+ HighEngle3 <- MD[ TOriginalFoodExpenditure_Per>0.8*FPLine &
+ TOriginalFoodExpenditure_Per<1.2*FPLine &
+ (EngleH) > 0.5,
+ .(.N),by=.(Region,cluster3)]
+
+ HighEngle<-rbind(HighEngle1,HighEngle2,HighEngle3)
+
+ EngleD1 <- MD[ TOriginalFoodExpenditure_Per>0.8*FPLine &
+ TOriginalFoodExpenditure_Per<1.2*FPLine &
+ (EngleH) < 0.5 &
+ (cluster3!=6 & cluster3!=7 & cluster3!=11 &
+ cluster3!=12 & cluster3!=13),
+ .(.N,Engel=weighted.mean(EngleH,Weight),
+ FPLine=mean(FPLine)),by=.(Region,cluster3)]
+
+ EngleD2 <- MD[ TOriginalFoodExpenditure_Per>0.8*FPLine &
+ TOriginalFoodExpenditure_Per<1.2*FPLine &
+ (EngleH) < 0.45 &
+ (cluster3==6 | cluster3==7 | cluster3==11 |
+ cluster3==12 | cluster3==13),
+ .(.N,Engel=weighted.mean(EngleH,Weight),
+ FPLine=mean(FPLine)),by=.(Region,cluster3)]
+
+
+ EngleD<-rbind(EngleD1,EngleD2)
+ EngleD<-EngleD[,Year:=year]
+ EngleDD <- EngleD
+ EngleDD <- subset(EngleDD, select = c(Year,cluster3,Engel,Region))
+ save(EngleDD,file=paste0(Settings$HEISProcessedPath,"Y",year,"EngleDD.rda"))
+ save(EngleD,file=paste0(Settings$HEISProcessedPath,"Y",year,"EngleD.rda"))
+}
+for(year in (84:Settings$endyear)){
+
+
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"FinalFoodPoor.rda"))
+
+ MD<-MD[,Clusterdiff:=ifelse(cluster3==7,1,0)]
+ MD<-MD[,EngleH:=(TOriginalFoodExpenditure/Total_Exp_Month)]
+
+
+ cat(paste0("\nYear:",year,"\t"))
+ #nyear=year+1
+ #if(Settings$endyear==year){nyear=year}
+ #load(file=paste0(Settings$HEISProcessedPath,"Y",nyear,"EngleDD.rda"))
+ #EngleND <- EngleDD
+ #colnames(EngleND)[colnames(EngleND) == 'Engel'] <- 'Engeln'
+ #colnames(EngleND)[colnames(EngleND) == 'Year'] <- 'Yearn'
+ #nnyear=year+2
+ #if(year >Settings$endyear-2){nnyear=year}
+ #load(file=paste0(Settings$HEISProcessedPath,"Y",nnyear,"EngleDD.rda"))
+ #EngleNND <- EngleDD
+ #colnames(EngleNND)[colnames(EngleNND) == 'Engel'] <- 'Engelnn'
+ #colnames(EngleNND)[colnames(EngleNND) == 'Year'] <- 'Yearnn'
+
+ pyear=year-2
+ load(file=paste0(Settings$HEISProcessedPath,"Y",pyear,"EngleDD.rda"))
+ EnglePPD <- EngleDD
+ colnames(EnglePPD)[colnames(EnglePPD) == 'Engel'] <- 'Engelpp'
+ colnames(EnglePPD)[colnames(EnglePPD) == 'Year'] <- 'Yearpp'
+ pyear=year-1
+ load(file=paste0(Settings$HEISProcessedPath,"Y",pyear,"EngleDD.rda"))
+ EnglePD <- EngleDD
+ colnames(EnglePD)[colnames(EnglePD) == 'Engel'] <- 'Engelp'
+ colnames(EnglePD)[colnames(EnglePD) == 'Year'] <- 'Yearp'
+
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"EngleDD.rda"))
+
+
+ EngleMD<-merge(EnglePPD,EnglePD)
+ EngleMD<-merge(EngleMD,EngleDD)
+# EngleMD<-merge(,EngleND)
+# EngleMD<-merge(EngleMD,EngleNND)
+
+ #EngleMD <- EngleMD[,Engelm:=(Engel+Engelp+Engelpp+Engelnn+Engeln)/5]
+ #if(year==97){ EngleMD <- EngleMD[,Engelm:=(Engel+Engelp+Engelpp)/3] }
+ #if(year==96){ EngleMD <- EngleMD[,Engelm:=(Engel+Engelp+Engelpp+Engeln)/4] }
+
+# EngleMD <- EngleMD[,Engelm:=Engel]
+
+
+
+ EngleMD[,Engel:= ifelse(Year==84,Engel*0.9937,
+ ifelse(Year==85,Engel*0.9938,
+ ifelse(Year==86,Engel*0.9936,
+ ifelse(Year==87,Engel*1.0012,
+ ifelse(Year==88,Engel*0.9963,
+ ifelse(Year==89,Engel*0.9898,
+ ifelse(Year==90,Engel*0.9664,
+ ifelse(Year==91,Engel*1.0269,
+ ifelse(Year==92,Engel*1.0250,
+ ifelse(Year==93,Engel*1.0080,
+ ifelse(Year==94,Engel*1.0006,
+ ifelse(Year==95,Engel*0.9996,
+ ifelse(Year==96,Engel*1.0000,
+ ifelse(Year==97,Engel*1.0379,0))))))))))))))]
+ EngleMD[,Engelp:= ifelse(Yearp==83,Engelp*1.0063,
+ ifelse(Yearp==84,Engelp*1.0125,
+ ifelse(Yearp==85,Engelp*1.0127,
+ ifelse(Yearp==86,Engelp*1.0053,
+ ifelse(Yearp==87,Engelp*1.0025,
+ ifelse(Yearp==88,Engelp*1.0141,
+ ifelse(Yearp==89,Engelp*1.0454,
+ ifelse(Yearp==90,Engelp*1.0076,
+ ifelse(Yearp==91,Engelp*0.95,
+ ifelse(Yearp==92,Engelp*0.9679,
+ ifelse(Yearp==93,Engelp*0.9915,
+ ifelse(Yearp==94,Engelp*0.9999,
+ ifelse(Yearp==95,Engelp*1.0004,
+ ifelse(Yearp==96,Engelp*0.9635,0))))))))))))))]
+
+
+
+
+
+
+
+ EngleMD[,Engelpp:= ifelse(Yearpp==82,Engelpp*1.0063,
+ ifelse(Yearpp==83,Engelpp*1.0125,
+ ifelse(Yearpp==84,Engelpp*1.0191,
+ ifelse(Yearpp==85,Engelpp*1.0115,
+ ifelse(Yearpp==86,Engelpp*1.009,
+ ifelse(Yearpp==87,Engelpp*1.0128,
+ ifelse(Yearpp==88,Engelpp*1.0493,
+ ifelse(Yearpp==89,Engelpp*1.018,
+ ifelse(Yearpp==90,Engelpp*0.983,
+ ifelse(Yearpp==91,Engelpp*0.9425,
+ ifelse(Yearpp==92,Engelpp*0.9673,
+ ifelse(Yearpp==93,Engelpp*0.9919,
+ ifelse(Yearpp==94,Engelpp*0.9999,
+ ifelse(Yearpp==95,Engelpp*0.9639,0))))))))))))))]
+ EngleMD[,Engelm:=(Engel+Engelp+Engelpp)/3 ]
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"EngleD.rda"))
+ EngleD <- subset(EngleD,select = c(1,2,3,5,6))
+
+ EngleMD <- EngleMD[,Engel:=Engelm]
+ EngleDD <- subset(EngleMD, select = c(cluster3,Engel,Region))
+
+ EngleD<-merge(EngleD,EngleDD,by=c("cluster3","Region"))
+
+ EngleD[,PovertyLine:=FPLine/Engel]
+
+
+
+ MD <- merge(MD,EngleD[,.(cluster3,Region,Engel,PovertyLine)],by=c("Region","cluster3"))
+ MD[,FinalPoor:=ifelse(Total_Exp_Month_Per < PovertyLine,1,0 )]
+ MD<-MD[,HHEngle:=EngleH,Weight]
+ save(MD,file=paste0(Settings$HEISProcessedPath,"Y",year,"FINALPOORS_Engle.rda"))
+
+
+ MD[,FGT1M:=(PovertyLine-Total_Exp_Month_Per)/PovertyLine]
+ MD[,FGT2M:=((PovertyLine-Total_Exp_Month_Per)/PovertyLine)^2]
+
+ ################Country##################
+
+
+ X1 <- MD[,.(PovertyLine=weighted.mean(PovertyLine,Weight*Size),
+ PovertyHCR=weighted.mean(FinalPoor,Weight*Size),
+ Engle=weighted.mean(HHEngle,Weight),
+ Bundle_Value=weighted.mean(Bundle_Value,Weight),
+ Total_Exp_Month_Per=weighted.mean(Total_Exp_Month_Per,Weight))]
+ X2 <- MD[FinalPoor==1,.(PovertyGap=weighted.mean(FGT1M,Weight*Size),
+ PovertyDepth=weighted.mean(FGT2M,Weight*Size))]
+ X1[,Year:=year]
+ X2[,Year:=year]
+ X <- merge(X1,X2,by="Year")
+ FinalCountryResults <- rbind(FinalCountryResults,X)
+
+ ################Region##################
+ X1 <- MD[,.(PovertyLine=weighted.mean(PovertyLine,Weight*Size),
+ PovertyHCR=weighted.mean(FinalPoor,Weight*Size)),by=Region]
+ X2 <- MD[FinalPoor==1,.(PovertyGap=weighted.mean(FGT1M,Weight*Size),
+ PovertyDepth=weighted.mean(FGT2M,Weight*Size)),by=Region]
+ X1[,Year:=year]
+ X2[,Year:=year]
+ X <- merge(X1,X2,by=c("Year","Region"))
+ FinalRegionResults <- rbind(FinalRegionResults,X)
+
+
+ ################Cluster##################
+ X1 <- MD[,.(SampleSize=.N,MetrPrice=weighted.mean(MetrPrice,Weight,na.rm = TRUE),
+ House_Share=weighted.mean(ServiceExp/Total_Exp_Month,Weight),
+ Engle=weighted.mean(EngleH,Weight),
+ FPLine=weighted.mean(FPLine,Weight),
+ FoodKCaloriesHH_Per=weighted.mean(FoodKCaloriesHH_Per,Weight),
+ PovertyLine=weighted.mean(PovertyLine,Weight*Size),
+ PovertyHCR=weighted.mean(FinalPoor,Weight*Size)),by=cluster3]
+ X2 <- MD[FinalPoor==1,.(PovertyGap=weighted.mean(FGT1M,Weight*Size),
+ PovertyDepth=weighted.mean(FGT2M,Weight*Size)),by=cluster3]
+
+
+ X1[,Year:=year]
+ X2[,Year:=year]
+ X <- merge(X1,X2,by=c("Year","cluster3"))
+ FinalClusterResults <- rbind(FinalClusterResults,X)
+
+ cat(MD[, weighted.mean(FinalPoor,Weight*Size)])
+
+ MD1<-MD[,.(HHID,FinalPoor)]
+ save(MD1,file=paste0(Settings$HEISProcessedPath,"Y",year,"POORS_Engle.rda"))
+
+ Poors<-MD[FinalPoor==1]
+
+ a<-MD[ TOriginalFoodExpenditure_Per>0.8*FPLine &
+ TOriginalFoodExpenditure_Per<1.2*FPLine &
+ cluster3==7,
+ .(x=EngleH)]
+
+}
+FinalClusterEngelPrime_ave <- FinalClusterResults[,.(Year,cluster3,FPLine,PovertyHCR, Engle)]
+colnames(FinalClusterEngelPrime_ave)[colnames(FinalClusterEngelPrime_ave) == 'FPLine'] <- 'FPLine_a'
+colnames(FinalClusterEngelPrime_ave)[colnames(FinalClusterEngelPrime_ave) == 'PovertyHCR'] <- 'PovertyHCR_a'
+load(file=paste0(Settings$HEISProcessedPath,"FINALPOORS_prime.rda"))
+FinalClusterEngelPrime_ave <- merge(FinalClusterEngelPrime_ave,FinalClusterEngelPrime, by=c("Year","cluster3"))
+
+for(year in (1:13)){
+
+ ggplot(FinalClusterEngelPrime_ave)+
+ geom_line(mapping = aes(x=Year,y=PovertyHCR_a,col=factor(cluster3),linetype=factor(cluster3)))
+}
+
+library(xlsx)
+write.xlsx(FinalClusterEngelPrime_ave, "E:/FinalClusterEngelPrime_ave.xlsx")
+ggplot(FinalClusterEngelPrime_ave)+
+ geom_line(mapping = aes(x=Year,y=PovertyHCR_a,col=factor(cluster3),linetype=factor(cluster3)))
+
+ggplot(FinalClusterEngelPrime_ave)+
+ geom_line(mapping = aes(x=Year,y=Engle,col=factor(cluster3),linetype=factor(cluster3)))
+
+nemo <- FinalClusterEngelPrime_ave[cluster3==3,]
+ggplot(nemo)+
+ geom_line(mapping = aes(x=Year,y=PovertyHCR_a,col="red"))+
+ geom_line(mapping = aes(x=Year,y=PovertyHCR_p,col="blue"))
+
+
+endtime <- proc.time()
+cat("\n\n============================\nIt took ")
+cat((endtime-starttime)["elapsed"])
+cat(" seconds")
diff --git a/R/Archive/June 2020 (removed code files)/179-Poor_Education.R b/R/Archive/June 2020 (removed code files)/179-Poor_Education.R
new file mode 100644
index 00000000..7a8242fc
--- /dev/null
+++ b/R/Archive/June 2020 (removed code files)/179-Poor_Education.R
@@ -0,0 +1,47 @@
+
+rm(list=ls())
+
+starttime <- proc.time()
+cat("\n\n================ POoRS =====================================\n")
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+library(readxl)
+library(data.table)
+library(ggplot2)
+library(stats)
+library(spatstat)
+library(readxl)
+library(sm)
+Eduyears<- data.table(Year=NA_integer_,cluster3=NA_integer_,H_lit_np=NA_integer_ ,
+ H_lit_p=NA_integer_,Region=NA_integer_,
+ ED_Exp_p=NA_integer_,ED_Exp_np=NA_integer_)
+
+
+for(year in (Settings$startyear:Settings$endyear)){
+ cat(paste0("\nYear:",year,"\t"))
+ #year=97
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"FINALPOORS.rda"))
+
+ Edu_k<- MD[NKids>0,.(.N,ED_Exp=weighted.mean(Education_Exp,Weight)),by=.(Region,cluster3)]
+ Edu_poor<- MD[FinalPoor==1&NKids>0,.(.N,H_lit_p=weighted.mean(HLiterate,Weight),
+ ED_Exp_p=weighted.mean(Education_Exp/Total_Exp_Month,Weight)),by=.(Region,cluster3)]
+ Edu_Npoor<- MD[FinalPoor==0&NKids>0,.(.N,H_lit_np=weighted.mean(HLiterate,Weight),
+ ED_Exp_np=weighted.mean(Education_Exp/Total_Exp_Month,Weight)),by=.(Region,cluster3)]
+ Edu <-merge(Edu_poor,Edu_Npoor)
+ Edu <-merge(Edu,Edu_k)
+ Eduy <- Edu
+ Eduy <- Eduy[,.(H_lit_p,H_lit_np,ED_Exp_np,ED_Exp_p,Region,cluster3)]
+ Eduy <- Eduy[,Year:=year]
+
+ Eduyears <- rbind(Eduyears,Eduy)
+
+ }
+ggplot(Eduyears)+
+ geom_line(mapping = aes(x=Year,y=H_lit_p,col=factor(cluster3)))
+
+ggplot(Eduyears)+
+ geom_line(mapping = aes(x=Year,y=ED_Exp_np,col=factor(cluster3)))
+pol...
+ggplot(Eduyears)+
+ geom_line(mapping = aes(x=Year,y=ED_Exp_p,col=factor(cluster3)))
diff --git a/R/Archive/June 2020 (removed code files)/180-ShowSomeResults.R b/R/Archive/June 2020 (removed code files)/180-ShowSomeResults.R
new file mode 100644
index 00000000..fcd3e413
--- /dev/null
+++ b/R/Archive/June 2020 (removed code files)/180-ShowSomeResults.R
@@ -0,0 +1,53 @@
+# 180-ShowSomeResults.R
+#
+# Copyright © 2019:Majid Einian & Arin Shahbazian
+# Licence: GPL-3
+
+rm(list=ls())
+
+starttime <- proc.time()
+cat("\n\n================ Poverty Line =====================================\n")
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+library(readxl)
+library(data.table)
+library(ggplot2)
+library(stats)
+
+for(year in (Settings$startyear:Settings$endyear)){
+ cat(paste0("\nYear:",year,"\t"))
+ #MD<-MD[Region=="Urban"]
+
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"FINALPOORS.rda"))
+
+ # MD[,FinalPoor2:=ifelse(Total_Exp_Month_Per < PovertyLine2,1,0 )]
+ cat(MD[,weighted.mean(FinalPoor,Weight*Size)],"\t",
+ MD[,weighted.mean(PovertyLine,Weight*Size)],"\t",
+ # MD[,weighted.mean(PovertyLine2,Weight*Size)],"\t",
+ MD[,weighted.mean(Engel,Weight*Size)],"\t",
+ MD[,weighted.mean(FPLine,Weight*Size)])
+
+ MD[FinalPoor==1,weighted.mean(TFoodKCaloriesHH_Per,Weight)]
+ MD[FinalPoor==1,weighted.mean(TFoodKCaloriesHH_Per,Weight),by=.(Region)]
+ MD[FinalPoor==1,weighted.mean(TFoodKCaloriesHH_Per,Weight),by=.(Region,cluster3)]
+
+ #MD[,crw:=sum(Size*Weight),by=Region]
+ #MD[,sum((Size*Weight)/crw),by=.(Region,Decile)][order(Region,Decile)]
+ #MD[,weighted.mean(HIndivNo,Weight)*sum(Weight),by=.(Region,Decile)][order(Region,Decile)]
+
+ MD[FinalPoor==1,weighted.mean(TFoodKCaloriesHH_Per,Weight),by=c("ProvinceCode")][order(ProvinceCode)]
+
+
+ MD[,weighted.mean(FinalPoor,Weight*Size),by=c("ProvinceCode")][order(ProvinceCode)]
+ MD[,weighted.mean(FinalPoor,Weight*Size),by=c("Region","cluster3")][order(Region,cluster3)]
+ MD[,weighted.mean(FinalPoor,Weight*Size),by=c("Region")]
+ MD[,weighted.mean(FinalPoor,Weight*Size)]
+ MD3<-MD[,.(HHID,FinalPoor,Weight)]
+ save(MD3,file=paste0(Settings$HEISProcessedPath,"Y",year,"PoorsforMerge.rda"))
+}
+
+endtime <- proc.time()
+cat("\n\n============================\nIt took ")
+cat((endtime-starttime)["elapsed"])
+cat(" seconds")
diff --git a/R/Archive/June 2020 (removed code files)/181-Poverty Line for Provinces.R b/R/Archive/June 2020 (removed code files)/181-Poverty Line for Provinces.R
new file mode 100644
index 00000000..a8f49f53
--- /dev/null
+++ b/R/Archive/June 2020 (removed code files)/181-Poverty Line for Provinces.R
@@ -0,0 +1,282 @@
+#181-Poverty Line for Provinces
+#
+# Copyright © 2019:Majid Einian & Arin Shahbazian
+# Licence: GPL-3
+
+rm(list=ls())
+
+starttime <- proc.time()
+cat("\n\n================ Prepare Data =====================================\n")
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+library(readxl)
+library(data.table)
+library(ggplot2)
+library(spatstat)
+
+for(year in (Settings$startyear:Settings$endyear)){
+ cat(paste0("\n------------------------------\nYear:",year,"\n"))
+
+ # load data --------------------------------------
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"InitialPoor.rda"))
+
+ #Determine Food (Equal 2100 KCal) Bundle
+ MD[,NewPoor:=InitialPoor]
+ MD[,OldPoor:=1]
+
+ i <- 0
+ while(MD[(NewPoor-OldPoor)!=0,.N]>5 & i <=15){
+ i <- i + 1
+ MD[,ThisIterationPoor:=NewPoor]
+ MD[,FPLine:=NULL]
+ MDP <- MD[ThisIterationPoor==1,
+ .(FPLine=weighted.mean(Bundle_Value,Weight,na.rm = TRUE)),
+ by=.(NewArea,Region)]
+ MD <- merge(MD,MDP,by=c("Region","NewArea"))
+
+ x<-MD[,.(NewArea,Region,FPLine,InitialPoor)]
+ MD[,NewPoor:=ifelse(TOriginalFoodExpenditure_Per < FPLine,1,0)]
+ print(table(MD[,.(ThisIterationPoor,NewPoor)]))
+ MD[,OldPoor:=ThisIterationPoor]
+ }
+
+ MD[,FinalFoodPoor:=OldPoor]
+
+
+ save(MD,file=paste0(Settings$HEISProcessedPath,"Y",year,"FinalFoodPoor.rda"))
+
+ MDFinalfood<-MD[,.(HHID,Region,NewArea,NewArea_Name,Percentile,FinalFoodPoor)]
+}
+
+for(year in (Settings$startyear:Settings$endyear)){
+ cat(paste0("\nYear:",year,"\t"))
+
+ # load data --------------------------------------
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"FinalFoodPoor.rda"))
+
+
+ EngleD <- MD[TOriginalFoodExpenditure_Per<1.2*FPLine & TOriginalFoodExpenditure_Per>0.8*FPLine,
+ .(.N,Engel=weighted.median(TOriginalFoodExpenditure/Total_Exp_Month,Weight),
+ FPLine=mean(FPLine),ProvinceCode=mean(ProvinceCode)),by=.(Region,NewArea_Name)]
+ EngleD[,PovertyLine:=FPLine/Engel]
+
+ MD[,EngelPersonal:=TOriginalFoodExpenditure/Total_Exp_Month]
+ TD<-MD[,PersonalPLine:=FPLine/EngelPersonal]
+ save(TD,file = paste0(Settings$HEISProcessedPath,"Y",year,"MD4test.rda"))
+
+ MD <- merge(MD,EngleD[,.(NewArea_Name,Region,PovertyLine,Engel)],by=c("Region","NewArea_Name"))
+ #MD<-MD[Region=="Urban" & NewArea==2301]
+ MD[,FinalPoor:=ifelse(Total_Exp_Month_Per < PovertyLine,1,0 )]
+ cat(MD[,weighted.mean(FinalPoor,Weight*Size)],"\t",
+ MD[,weighted.mean(PovertyLine,Weight* Size)],"\t",
+ MD[,weighted.mean(Engel,Weight*Size)],"\t",
+ MD[,weighted.mean(FPLine,Weight*Size)])
+
+ MD[,weighted.mean(FinalPoor,Weight*Size),by=c("ProvinceCode")][order(ProvinceCode)]
+
+ MD[,weighted.mean(FinalPoor,Weight*Size),by=c("Region","NewArea_Name")][order(Region,NewArea_Name)]
+ #MD[,weighted.mean(FinalPoor,Weight*Size),by=c("Region","cluster3")]
+ save(MD,file=paste0(Settings$HEISProcessedPath,"Y",year,"FINALPOORS.rda"))
+
+ y2<-EngleD[Region=="Urban",.(PovertyLine,NewArea_Name)]
+ y2$NewArea <- factor(y2$NewArea, levels = y2$NewArea[order(y2$PovertyLine)])
+ ggplot(y2, aes(x = y2$NewArea, y = y2$PovertyLine)) + theme_bw() + geom_bar(stat = "identity") + theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1))
+
+
+ x2<-EngleD[Region=="Rural",.(PovertyLine,NewArea_Name)]
+ x2$NewArea <- factor(x2$NewArea, levels = x2$NewArea[order(x2$PovertyLine)])
+ ggplot(x2, aes(x = x2$NewArea, y = x2$PovertyLine)) + theme_bw() + geom_bar(stat = "identity") + theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1))
+
+
+ load(file="Inflation9096.rda")
+ EngleD<-merge(EngleD,Inflation9096,by="ProvinceCode")
+
+ if (year==90) {
+ EngleD90<-EngleD[,PovertyLine9096:=PovertyLine*y9091*y9192*y9293*y9394*y9495*y9596]
+ EngleD90[,y9091:=NULL]
+ EngleD90[,y9192:=NULL]
+ EngleD90[,y9293:=NULL]
+ EngleD90[,y9394:=NULL]
+ EngleD90[,y9495:=NULL]
+ EngleD90[,y9596:=NULL]
+ save(EngleD90,file="EngleD90.rda")
+ }
+
+ if (year==91) {
+ EngleD91<-EngleD[,PovertyLine9196:=PovertyLine*y9192*y9293*y9394*y9495*y9596]
+ EngleD91[,y9091:=NULL]
+ EngleD91[,y9192:=NULL]
+ EngleD91[,y9293:=NULL]
+ EngleD91[,y9394:=NULL]
+ EngleD91[,y9495:=NULL]
+ EngleD91[,y9596:=NULL]
+ save(EngleD91,file="EngleD91.rda")
+ }
+
+ if (year==92) {
+ EngleD92<-EngleD[,PovertyLine9296:=PovertyLine*y9293*y9394*y9495*y9596]
+ EngleD92[,y9091:=NULL]
+ EngleD92[,y9192:=NULL]
+ EngleD92[,y9293:=NULL]
+ EngleD92[,y9394:=NULL]
+ EngleD92[,y9495:=NULL]
+ EngleD92[,y9596:=NULL]
+ save(EngleD92,file="EngleD92.rda")
+ }
+
+ if (year==93) {
+ EngleD93<-EngleD[,PovertyLine9396:=PovertyLine*y9394*y9495*y9596]
+ EngleD93[,y9091:=NULL]
+ EngleD93[,y9192:=NULL]
+ EngleD93[,y9293:=NULL]
+ EngleD93[,y9394:=NULL]
+ EngleD93[,y9495:=NULL]
+ EngleD93[,y9596:=NULL]
+ save(EngleD93,file="EngleD93.rda")
+ }
+
+ if (year==94) {
+ EngleD94<-EngleD[,PovertyLine9496:=PovertyLine*y9495*y9596]
+ EngleD94[,y9091:=NULL]
+ EngleD94[,y9192:=NULL]
+ EngleD94[,y9293:=NULL]
+ EngleD94[,y9394:=NULL]
+ EngleD94[,y9495:=NULL]
+ EngleD94[,y9596:=NULL]
+ save(EngleD94,file="EngleD94.rda")
+ }
+
+ if (year==95) {
+ EngleD95<-EngleD[,PovertyLine9596:=PovertyLine*y9596]
+ EngleD95[,y9091:=NULL]
+ EngleD95[,y9192:=NULL]
+ EngleD95[,y9293:=NULL]
+ EngleD95[,y9394:=NULL]
+ EngleD95[,y9495:=NULL]
+ EngleD95[,y9596:=NULL]
+ save(EngleD95,file="EngleD95.rda")
+ }
+
+ if (year==96) {
+ load(file="EngleD95.rda" )
+ load(file="EngleD94.rda" )
+ load(file="EngleD93.rda" )
+ load(file="EngleD92.rda" )
+ load(file="EngleD91.rda" )
+ load(file="EngleD90.rda" )
+ EngleD96<-EngleD[,PovertyLine9696:=PovertyLine]
+ save(EngleD96,file="EngleD96.rda")
+ EngleD96[,N:=NULL]
+ EngleD96[,Engel:=NULL]
+ EngleD96[,FPLine:=NULL]
+ EngleD96[,PovertyLine:=NULL]
+ EngleD96[,ProvinceCode:=NULL]
+ EngleD<-merge(EngleD96,EngleD95,by=c("Region","NewArea_Name"),all=TRUE)
+ EngleD[,y9091:=NULL]
+ EngleD[,y9192:=NULL]
+ EngleD[,y9293:=NULL]
+ EngleD[,y9394:=NULL]
+ EngleD[,y9495:=NULL]
+ EngleD[,y9596:=NULL]
+ EngleD[,N:=NULL]
+ EngleD[,Engel:=NULL]
+ EngleD[,FPLine:=NULL]
+ EngleD[,PovertyLine:=NULL]
+ EngleD[,ProvinceCode:=NULL]
+ EngleD<-merge(EngleD,EngleD94,by=c("Region","NewArea_Name"),all=TRUE)
+ EngleD[,y9091:=NULL]
+ EngleD[,y9192:=NULL]
+ EngleD[,y9293:=NULL]
+ EngleD[,y9394:=NULL]
+ EngleD[,y9495:=NULL]
+ EngleD[,y9596:=NULL]
+ EngleD[,N:=NULL]
+ EngleD[,Engel:=NULL]
+ EngleD[,FPLine:=NULL]
+ EngleD[,PovertyLine:=NULL]
+ EngleD[,ProvinceCode:=NULL]
+ EngleD<-merge(EngleD,EngleD93,by=c("Region","NewArea_Name"),all=TRUE)
+ EngleD[,y9091:=NULL]
+ EngleD[,y9192:=NULL]
+ EngleD[,y9293:=NULL]
+ EngleD[,y9394:=NULL]
+ EngleD[,y9495:=NULL]
+ EngleD[,y9596:=NULL]
+ EngleD[,N:=NULL]
+ EngleD[,Engel:=NULL]
+ EngleD[,FPLine:=NULL]
+ EngleD[,PovertyLine:=NULL]
+ EngleD[,ProvinceCode:=NULL]
+ EngleD<-merge(EngleD,EngleD92,by=c("Region","NewArea_Name"),all=TRUE)
+ EngleD[,y9091:=NULL]
+ EngleD[,y9192:=NULL]
+ EngleD[,y9293:=NULL]
+ EngleD[,y9394:=NULL]
+ EngleD[,y9495:=NULL]
+ EngleD[,y9596:=NULL]
+ EngleD[,N:=NULL]
+ EngleD[,Engel:=NULL]
+ EngleD[,FPLine:=NULL]
+ EngleD[,PovertyLine:=NULL]
+ EngleD[,ProvinceCode:=NULL]
+ EngleD<-merge(EngleD,EngleD91,by=c("Region","NewArea_Name"),all=TRUE)
+ EngleD[,y9091:=NULL]
+ EngleD[,y9192:=NULL]
+ EngleD[,y9293:=NULL]
+ EngleD[,y9394:=NULL]
+ EngleD[,y9495:=NULL]
+ EngleD[,y9596:=NULL]
+ EngleD[,N:=NULL]
+ EngleD[,Engel:=NULL]
+ EngleD[,FPLine:=NULL]
+ EngleD[,PovertyLine:=NULL]
+ EngleD[,ProvinceCode:=NULL]
+ EngleD<-merge(EngleD,EngleD90,by=c("Region","NewArea_Name"),all=TRUE)
+ EngleD[,y9091.x:=NULL]
+ EngleD[,y9192.x:=NULL]
+ EngleD[,y9293.x:=NULL]
+ EngleD[,y9394.x:=NULL]
+ EngleD[,y9495.x:=NULL]
+ EngleD[,y9091.y:=NULL]
+ EngleD[,y9192.y:=NULL]
+ EngleD[,y9293.y:=NULL]
+ EngleD[,y9394.y:=NULL]
+ EngleD[,y9495.y:=NULL]
+ EngleD[,N:=NULL]
+ EngleD[,Engel:=NULL]
+ EngleD[,FPLine:=NULL]
+ EngleD[,PovertyLine:=NULL]
+ EngleD[,ProvinceCode:=NULL]
+ EngleD[is.na(EngleD)] <- 0
+ w <- c( "PovertyLine9696", "PovertyLine9596",
+ "PovertyLine9496", "PovertyLine9396",
+ "PovertyLine9296",
+ "PovertyLine9196",
+ "PovertyLine9096"
+ )
+
+ EngleD[, PovertyLineSum := Reduce(`+`, .SD), .SDcols=w]
+ EngleD[, PovertyLineMean :=ifelse((NewArea_Name=="Khorasan_Jonoobi" & Region=="Urban") |
+ (NewArea_Name=="Alborz"),
+ PovertyLineSum/5,PovertyLineSum/7)]
+
+
+ y2<-EngleD[Region=="Urban",.(PovertyLineMean,NewArea_Name)]
+ y2$NewArea <- factor(y2$NewArea, levels = y2$NewArea[order(y2$PovertyLineMean)])
+ ggplot(y2, aes(x = y2$NewArea, y = y2$PovertyLineMean)) + theme_bw() + geom_bar(stat = "identity") + theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1))
+
+
+ x2<-EngleD[Region=="Rural",.(PovertyLineMean,NewArea_Name)]
+ x2$NewArea <- factor(x2$NewArea, levels = x2$NewArea[order(x2$PovertyLineMean)])
+ ggplot(x2, aes(x = x2$NewArea, y = x2$PovertyLineMean)) + theme_bw() + geom_bar(stat = "identity") + theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1))
+
+ }
+
+}
+
+
+endtime <- proc.time()
+cat("\n\n============================\nIt took ")
+cat((endtime-starttime)["elapsed"])
+cat(" seconds")
\ No newline at end of file
diff --git a/R/Archive/June 2020 (removed code files)/182- TTests for PLines (other).R b/R/Archive/June 2020 (removed code files)/182- TTests for PLines (other).R
new file mode 100644
index 00000000..d33f2f95
--- /dev/null
+++ b/R/Archive/June 2020 (removed code files)/182- TTests for PLines (other).R
@@ -0,0 +1,357 @@
+# 57-T-Test for PLines in Clusters.R
+#
+# Copyright © 2019: Arin Shahbazian
+# Licence: GPL-3
+
+rm(list=ls())
+
+starttime <- proc.time()
+cat("\n\n================ T-Tests =====================================\n")
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+library(readxl)
+library(data.table)
+library(ggplot2)
+library(spatstat)
+
+year<-93
+load(file=paste0(Settings$HEISProcessedPath,"Y",year,"MD4test.rda"))
+
+MDH <- TD[ TFoodExpenditure_Per>0.8*FPLine & TFoodExpenditure_Per<1.2*FPLine]
+
+##############################################
+PPH <- MDH[ ,.(.N,PPLine=weighted.mean(PersonalPLine,Weight),
+ FPLine=mean(FPLine),EngelPersonal=mean(EngelPersonal)),by=.(Region,NewArea_Name)]
+
+
+y2<-PPH[Region=="Urban",.(PPLine,NewArea_Name)]
+y2$NewArea <- factor(y2$NewArea, levels = y2$NewArea[order(y2$PPLine)])
+ggplot(y2, aes(x = y2$NewArea, y = y2$PPLine)) + theme_bw() + geom_bar(stat = "identity") + theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1))
+
+
+x2<-PPH[Region=="Rural",.(PPLine,NewArea_Name)]
+x2$NewArea <- factor(x2$NewArea, levels = x2$NewArea[order(x2$PPLine)])
+ggplot(x2, aes(x = x2$NewArea, y = x2$PPLine)) + theme_bw() + geom_bar(stat = "identity") + theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1))
+
+###############Urban###############
+#####Cluster 2
+a<-MDH[Region=="Urban" & NewArea==707,.(PersonalPLine,cluster3,NewArea_Name)]
+b<-MDH[Region=="Urban" & NewArea!=707 & cluster3==2,.(PersonalPLine,cluster3,NewArea_Name)]
+t.test(a$PersonalPLine,b$PersonalPLine, var.equal=TRUE, paired=FALSE)
+
+a<-MDH[Region=="Urban" & NewArea==1002,.(PersonalPLine,cluster3,NewArea_Name)]
+b<-MDH[Region=="Urban" & NewArea!=1002 & cluster3==2,.(PersonalPLine,cluster3,NewArea_Name)]
+t.test(a$PersonalPLine,b$PersonalPLine, var.equal=TRUE, paired=FALSE)
+
+a<-MDH[Region=="Urban" & NewArea==3001,.(PersonalPLine,cluster3,NewArea_Name)]
+b<-MDH[Region=="Urban" & NewArea!=3001 & cluster3==2,.(PersonalPLine,cluster3,NewArea_Name)]
+t.test(a$PersonalPLine,b$PersonalPLine, var.equal=TRUE, paired=FALSE)
+
+a<-MDH[Region=="Urban" & NewArea==2202,.(PersonalPLine,cluster3,NewArea_Name)]
+b<-MDH[Region=="Urban" & NewArea!=2202 & cluster3==2,.(PersonalPLine,cluster3,NewArea_Name)]
+t.test(a$PersonalPLine,b$PersonalPLine, var.equal=TRUE, paired=FALSE)
+
+#####Cluster 8
+a<-MDH[Region=="Urban" & NewArea==30,.(PersonalPLine,cluster3,NewArea_Name)]
+b<-MDH[Region=="Urban" & NewArea!=30 & cluster3==8,.(PersonalPLine,cluster3,NewArea_Name)]
+t.test(a$PersonalPLine,b$PersonalPLine, var.equal=TRUE, paired=FALSE)
+
+a<-MDH[Region=="Urban" & NewArea_Name=="Gilan",.(PersonalPLine,cluster3,NewArea_Name)]
+b<-MDH[Region=="Urban" & NewArea_Name!="Gilan" & cluster3==8,.(PersonalPLine,cluster3,NewArea_Name)]
+t.test(a$PersonalPLine,b$PersonalPLine, var.equal=TRUE, paired=FALSE)
+
+
+#####Cluster 3
+a<-MDH[Region=="Urban" & NewArea==23,.(PersonalPLine,cluster3,NewArea_Name)]
+b<-MDH[Region=="Urban" & NewArea!=23 & cluster3==3,.(PersonalPLine,cluster3,NewArea_Name)]
+t.test(a$PersonalPLine,b$PersonalPLine, var.equal=TRUE, paired=FALSE)
+
+
+a<-MDH[Region=="Urban" & NewArea_Name=="Sh_Arak",.(PersonalPLine,cluster3,NewArea_Name)]
+b<-MDH[Region=="Urban" & NewArea_Name!="Sh_Arak" & cluster3==3,.(PersonalPLine,cluster3,NewArea_Name)]
+t.test(a$PersonalPLine,b$PersonalPLine, var.equal=TRUE, paired=FALSE)
+
+a<-MDH[Region=="Urban" & NewArea==17,.(PersonalPLine,cluster3,NewArea_Name)]
+b<-MDH[Region=="Urban" & NewArea!=17 & cluster3==3,.(PersonalPLine,cluster3,NewArea_Name)]
+t.test(a$PersonalPLine,b$PersonalPLine, var.equal=TRUE, paired=FALSE)
+
+a<-MDH[Region=="Urban" & NewArea==2,.(PersonalPLine,cluster3,NewArea_Name)]
+b<-MDH[Region=="Urban" & NewArea!=2 & cluster3==3,.(PersonalPLine,cluster3,NewArea_Name)]
+t.test(a$PersonalPLine,b$PersonalPLine, var.equal=TRUE, paired=FALSE)
+
+
+a<-MDH[Region=="Urban" & NewArea==916,.(PersonalPLine,cluster3,NewArea_Name)]
+b<-MDH[Region=="Urban" & NewArea!=916 & cluster3==3,.(PersonalPLine,cluster3,NewArea_Name)]
+t.test(a$PersonalPLine,b$PersonalPLine, var.equal=TRUE, paired=FALSE)
+
+a<-MDH[Region=="Urban" & NewArea==303,.(PersonalPLine,cluster3,NewArea_Name)]
+b<-MDH[Region=="Urban" & NewArea!=303 & cluster3==3,.(PersonalPLine,cluster3,NewArea_Name)]
+t.test(a$PersonalPLine,b$PersonalPLine, var.equal=TRUE, paired=FALSE)
+
+a<-MDH[Region=="Urban" & NewArea==25,.(PersonalPLine,cluster3,NewArea_Name)]
+b<-MDH[Region=="Urban" & NewArea!=25 & cluster3==3,.(PersonalPLine,cluster3,NewArea_Name)]
+t.test(a$PersonalPLine,b$PersonalPLine, var.equal=TRUE, paired=FALSE)
+
+a<-MDH[Region=="Urban" & NewArea==808,.(PersonalPLine,cluster3,NewArea_Name)]
+b<-MDH[Region=="Urban" & NewArea!=808 & cluster3==3,.(PersonalPLine,cluster3,NewArea_Name)]
+t.test(a$PersonalPLine,b$PersonalPLine, var.equal=TRUE, paired=FALSE)
+
+a<-MDH[Region=="Urban" & NewArea==603,.(PersonalPLine,cluster3,NewArea_Name)]
+b<-MDH[Region=="Urban" & NewArea!=603 & cluster3==3,.(PersonalPLine,cluster3,NewArea_Name)]
+t.test(a$PersonalPLine,b$PersonalPLine, var.equal=TRUE, paired=FALSE)
+
+a<-MDH[Region=="Urban" & NewArea==0,.(PersonalPLine,cluster3,NewArea_Name)]
+b<-MDH[Region=="Urban" & NewArea!=0 & cluster3==3,.(PersonalPLine,cluster3,NewArea_Name)]
+t.test(a$PersonalPLine,b$PersonalPLine, var.equal=TRUE, paired=FALSE)
+
+a<-MDH[Region=="Urban" & NewArea==22,.(PersonalPLine,cluster3,NewArea_Name)]
+b<-MDH[Region=="Urban" & NewArea!=22 & cluster3==3,.(PersonalPLine,cluster3,NewArea_Name)]
+t.test(a$PersonalPLine,b$PersonalPLine, var.equal=TRUE, paired=FALSE)
+
+a<-MDH[Region=="Urban" & NewArea==21,.(PersonalPLine,cluster3,NewArea_Name)]
+b<-MDH[Region=="Urban" & NewArea!=21 & cluster3==3,.(PersonalPLine,cluster3,NewArea_Name)]
+t.test(a$PersonalPLine,b$PersonalPLine, var.equal=TRUE, paired=FALSE)
+
+a<-MDH[Region=="Urban" & NewArea==7,.(PersonalPLine,cluster3,NewArea_Name)]
+b<-MDH[Region=="Urban" & NewArea!=7 & cluster3==3,.(PersonalPLine,cluster3,NewArea_Name)]
+t.test(a$PersonalPLine,b$PersonalPLine, var.equal=TRUE, paired=FALSE)
+
+a<-MDH[Region=="Urban" & NewArea==26,.(PersonalPLine,cluster3,NewArea_Name)]
+b<-MDH[Region=="Urban" & NewArea!=26 & cluster3==3,.(PersonalPLine,cluster3,NewArea_Name)]
+t.test(a$PersonalPLine,b$PersonalPLine, var.equal=TRUE, paired=FALSE)
+
+a<-MDH[Region=="Urban" & NewArea==10,.(PersonalPLine,cluster3,NewArea_Name)]
+b<-MDH[Region=="Urban" & NewArea!=10 & cluster3==3,.(PersonalPLine,cluster3,NewArea_Name)]
+t.test(a$PersonalPLine,b$PersonalPLine, var.equal=TRUE, paired=FALSE)
+
+a<-MDH[Region=="Urban" & NewArea==13,.(PersonalPLine,cluster3,NewArea_Name)]
+b<-MDH[Region=="Urban" & NewArea!=13 & cluster3==3,.(PersonalPLine,cluster3,NewArea_Name)]
+t.test(a$PersonalPLine,b$PersonalPLine, var.equal=TRUE, paired=FALSE)
+
+a<-MDH[Region=="Urban" & NewArea==20,.(PersonalPLine,cluster3,NewArea_Name)]
+b<-MDH[Region=="Urban" & NewArea!=20 & cluster3==3,.(PersonalPLine,cluster3,NewArea_Name)]
+t.test(a$PersonalPLine,b$PersonalPLine, var.equal=TRUE, paired=FALSE)
+
+
+#####Cluster 4
+a<-MDH[Region=="Urban" & NewArea==3,.(PersonalPLine,cluster3,NewArea_Name)]
+b<-MDH[Region=="Urban" & NewArea!=3 & cluster3==4,.(PersonalPLine,cluster3,NewArea_Name)]
+t.test(a$PersonalPLine,b$PersonalPLine, var.equal=TRUE, paired=FALSE)
+
+a<-MDH[Region=="Urban" & NewArea==8,.(PersonalPLine,cluster3,NewArea_Name)]
+b<-MDH[Region=="Urban" & NewArea!=8 & cluster3==4,.(PersonalPLine,cluster3,NewArea_Name)]
+t.test(a$PersonalPLine,b$PersonalPLine, var.equal=TRUE, paired=FALSE)
+
+a<-MDH[Region=="Urban" & NewArea==19,.(PersonalPLine,cluster3,NewArea_Name)]
+b<-MDH[Region=="Urban" & NewArea!=19 & cluster3==4,.(PersonalPLine,cluster3,NewArea_Name)]
+t.test(a$PersonalPLine,b$PersonalPLine, var.equal=TRUE, paired=FALSE)
+
+a<-MDH[Region=="Urban" & NewArea==12,.(PersonalPLine,cluster3,NewArea_Name)]
+b<-MDH[Region=="Urban" & NewArea!=12 & cluster3==4,.(PersonalPLine,cluster3,NewArea_Name)]
+t.test(a$PersonalPLine,b$PersonalPLine, var.equal=TRUE, paired=FALSE)
+
+a<-MDH[Region=="Urban" & NewArea==18,.(PersonalPLine,cluster3,NewArea_Name)]
+b<-MDH[Region=="Urban" & NewArea!=18 & cluster3==4,.(PersonalPLine,cluster3,NewArea_Name)]
+t.test(a$PersonalPLine,b$PersonalPLine, var.equal=TRUE, paired=FALSE)
+
+a<-MDH[Region=="Urban" & NewArea==24,.(PersonalPLine,cluster3,NewArea_Name)]
+b<-MDH[Region=="Urban" & NewArea!=24 & cluster3==4,.(PersonalPLine,cluster3,NewArea_Name)]
+t.test(a$PersonalPLine,b$PersonalPLine, var.equal=TRUE, paired=FALSE)
+
+a<-MDH[Region=="Urban" & NewArea==14,.(PersonalPLine,cluster3,NewArea_Name)]
+b<-MDH[Region=="Urban" & NewArea!=14 & cluster3==4,.(PersonalPLine,cluster3,NewArea_Name)]
+t.test(a$PersonalPLine,b$PersonalPLine, var.equal=TRUE, paired=FALSE)
+
+a<-MDH[Region=="Urban" & NewArea==9,.(PersonalPLine,cluster3,NewArea_Name)]
+b<-MDH[Region=="Urban" & NewArea!=9 & cluster3==4,.(PersonalPLine,cluster3,NewArea_Name)]
+t.test(a$PersonalPLine,b$PersonalPLine, var.equal=TRUE, paired=FALSE)
+
+#####Cluster 5
+a<-MDH[Region=="Urban" & NewArea==6,.(PersonalPLine,cluster3,NewArea_Name)]
+b<-MDH[Region=="Urban" & NewArea!=6 & cluster3==5,.(PersonalPLine,cluster3,NewArea_Name)]
+t.test(a$PersonalPLine,b$PersonalPLine, var.equal=TRUE, paired=FALSE)
+
+a<-MDH[Region=="Urban" & NewArea==16,.(PersonalPLine,cluster3,NewArea_Name)]
+b<-MDH[Region=="Urban" & NewArea!=16 & cluster3==5,.(PersonalPLine,cluster3,NewArea_Name)]
+t.test(a$PersonalPLine,b$PersonalPLine, var.equal=TRUE, paired=FALSE)
+
+a<-MDH[Region=="Urban" & NewArea==29,.(PersonalPLine,cluster3,NewArea_Name)]
+b<-MDH[Region=="Urban" & NewArea!=29 & cluster3==5,.(PersonalPLine,cluster3,NewArea_Name)]
+t.test(a$PersonalPLine,b$PersonalPLine, var.equal=TRUE, paired=FALSE)
+
+a<-MDH[Region=="Urban" & NewArea==4,.(PersonalPLine,cluster3,NewArea_Name)]
+b<-MDH[Region=="Urban" & NewArea!=4 & cluster3==5,.(PersonalPLine,cluster3,NewArea_Name)]
+t.test(a$PersonalPLine,b$PersonalPLine, var.equal=TRUE, paired=FALSE)
+
+a<-MDH[Region=="Urban" & NewArea==401,.(PersonalPLine,cluster3,NewArea_Name)]
+b<-MDH[Region=="Urban" & NewArea!=401 & cluster3==5,.(PersonalPLine,cluster3,NewArea_Name)]
+t.test(a$PersonalPLine,b$PersonalPLine, var.equal=TRUE, paired=FALSE)
+
+a<-MDH[Region=="Urban" & NewArea==15,.(PersonalPLine,cluster3,NewArea_Name)]
+b<-MDH[Region=="Urban" & NewArea!=15 & cluster3==5,.(PersonalPLine,cluster3,NewArea_Name)]
+t.test(a$PersonalPLine,b$PersonalPLine, var.equal=TRUE, paired=FALSE)
+
+a<-MDH[Region=="Urban" & NewArea==5,.(PersonalPLine,cluster3,NewArea_Name)]
+b<-MDH[Region=="Urban" & NewArea!=5 & cluster3==5,.(PersonalPLine,cluster3,NewArea_Name)]
+t.test(a$PersonalPLine,b$PersonalPLine, var.equal=TRUE, paired=FALSE)
+
+a<-MDH[Region=="Urban" & NewArea==502,.(PersonalPLine,cluster3,NewArea_Name)]
+b<-MDH[Region=="Urban" & NewArea!=502 & cluster3==5,.(PersonalPLine,cluster3,NewArea_Name)]
+t.test(a$PersonalPLine,b$PersonalPLine, var.equal=TRUE, paired=FALSE)
+
+#####Cluster 6
+a<-MDH[Region=="Urban" & NewArea==28,.(PersonalPLine,cluster3,NewArea_Name)]
+b<-MDH[Region=="Urban" & NewArea!=28 & cluster3==6,.(PersonalPLine,cluster3,NewArea_Name)]
+t.test(a$PersonalPLine,b$PersonalPLine, var.equal=TRUE, paired=FALSE)
+
+a<-MDH[Region=="Urban" & NewArea==27,.(PersonalPLine,cluster3,NewArea_Name)]
+b<-MDH[Region=="Urban" & NewArea!=27 & cluster3==6,.(PersonalPLine,cluster3,NewArea_Name)]
+t.test(a$PersonalPLine,b$PersonalPLine, var.equal=TRUE, paired=FALSE)
+
+a<-MDH[Region=="Urban" & NewArea==1105,.(PersonalPLine,cluster3,NewArea_Name)]
+b<-MDH[Region=="Urban" & NewArea!=1105 & cluster3==6,.(PersonalPLine,cluster3,NewArea_Name)]
+t.test(a$PersonalPLine,b$PersonalPLine, var.equal=TRUE, paired=FALSE)
+
+###############Rural###############
+#####Cluster 1
+a<-MDH[Region=="Rural" & NewArea==30,.(PersonalPLine,cluster3,NewArea_Name)]
+b<-MDH[Region=="Rural" & NewArea!=30 & cluster3==1,.(PersonalPLine,cluster3,NewArea_Name)]
+t.test(a$PersonalPLine,b$PersonalPLine, var.equal=TRUE, paired=FALSE)
+
+a<-MDH[Region=="Rural" & NewArea==23,.(PersonalPLine,cluster3,NewArea_Name)]
+b<-MDH[Region=="Rural" & NewArea!=23 & cluster3==1,.(PersonalPLine,cluster3,NewArea_Name)]
+t.test(a$PersonalPLine,b$PersonalPLine, var.equal=TRUE, paired=FALSE)
+
+#####Cluster 2
+a<-MDH[Region=="Rural" & NewArea==2,.(PersonalPLine,cluster3,NewArea_Name)]
+b<-MDH[Region=="Rural" & NewArea!=2 & cluster3==2,.(PersonalPLine,cluster3,NewArea_Name)]
+t.test(a$PersonalPLine,b$PersonalPLine, var.equal=TRUE, paired=FALSE)
+
+a<-MDH[Region=="Rural" & NewArea==10,.(PersonalPLine,cluster3,NewArea_Name)]
+b<-MDH[Region=="Rural" & NewArea!=10 & cluster3==2,.(PersonalPLine,cluster3,NewArea_Name)]
+t.test(a$PersonalPLine,b$PersonalPLine, var.equal=TRUE, paired=FALSE)
+
+###Cluster3
+a<-MDH[Region=="Rural" & NewArea==1,.(PersonalPLine,cluster3,NewArea_Name)]
+b<-MDH[Region=="Rural" & NewArea!=1 & cluster3==3,.(PersonalPLine,cluster3,NewArea_Name)]
+t.test(a$PersonalPLine,b$PersonalPLine, var.equal=TRUE, paired=FALSE)
+
+
+a<-MDH[Region=="Rural" & NewArea==21,.(PersonalPLine,cluster3,NewArea_Name)]
+b<-MDH[Region=="Rural" & NewArea!=21 & cluster3==3,.(PersonalPLine,cluster3,NewArea_Name)]
+t.test(a$PersonalPLine,b$PersonalPLine, var.equal=TRUE, paired=FALSE)
+
+a<-MDH[Region=="Rural" & NewArea==17,.(PersonalPLine,cluster3,NewArea_Name)]
+b<-MDH[Region=="Rural" & NewArea!=17 & cluster3==3,.(PersonalPLine,cluster3,NewArea_Name)]
+t.test(a$PersonalPLine,b$PersonalPLine, var.equal=TRUE, paired=FALSE)
+
+a<-MDH[Region=="Rural" & NewArea==18,.(PersonalPLine,cluster3,NewArea_Name)]
+b<-MDH[Region=="Rural" & NewArea!=18 & cluster3==3,.(PersonalPLine,cluster3,NewArea_Name)]
+t.test(a$PersonalPLine,b$PersonalPLine, var.equal=TRUE, paired=FALSE)
+
+
+#####Cluster 4
+a<-MDH[Region=="Rural" & NewArea==22,.(PersonalPLine,cluster3,NewArea_Name)]
+b<-MDH[Region=="Rural" & NewArea!=22 & cluster3==4,.(PersonalPLine,cluster3,NewArea_Name)]
+t.test(a$PersonalPLine,b$PersonalPLine, var.equal=TRUE, paired=FALSE)
+
+a<-MDH[Region=="Rural" & NewArea==3,.(PersonalPLine,cluster3,NewArea_Name)]
+b<-MDH[Region=="Rural" & NewArea!=3 & cluster3==4,.(PersonalPLine,cluster3,NewArea_Name)]
+t.test(a$PersonalPLine,b$PersonalPLine, var.equal=TRUE, paired=FALSE)
+
+a<-MDH[Region=="Rural" & NewArea==7,.(PersonalPLine,cluster3,NewArea_Name)]
+b<-MDH[Region=="Rural" & NewArea!=7 & cluster3==4,.(PersonalPLine,cluster3,NewArea_Name)]
+t.test(a$PersonalPLine,b$PersonalPLine, var.equal=TRUE, paired=FALSE)
+
+a<-MDH[Region=="Rural" & NewArea==25,.(PersonalPLine,cluster3,NewArea_Name)]
+b<-MDH[Region=="Rural" & NewArea!=25 & cluster3==4,.(PersonalPLine,cluster3,NewArea_Name)]
+t.test(a$PersonalPLine,b$PersonalPLine, var.equal=TRUE, paired=FALSE)
+
+a<-MDH[Region=="Rural" & NewArea==26,.(PersonalPLine,cluster3,NewArea_Name)]
+b<-MDH[Region=="Rural" & NewArea!=26 & cluster3==4,.(PersonalPLine,cluster3,NewArea_Name)]
+t.test(a$PersonalPLine,b$PersonalPLine, var.equal=TRUE, paired=FALSE)
+
+a<-MDH[Region=="Rural" & NewArea==20,.(PersonalPLine,cluster3,NewArea_Name)]
+b<-MDH[Region=="Rural" & NewArea!=20 & cluster3==4,.(PersonalPLine,cluster3,NewArea_Name)]
+t.test(a$PersonalPLine,b$PersonalPLine, var.equal=TRUE, paired=FALSE)
+
+#####Cluster 8
+a<-MDH[Region=="Rural" & NewArea==0,.(PersonalPLine,cluster3,NewArea_Name)]
+b<-MDH[Region=="Rural" & NewArea!=0 & cluster3==8,.(PersonalPLine,cluster3,NewArea_Name)]
+t.test(a$PersonalPLine,b$PersonalPLine, var.equal=TRUE, paired=FALSE)
+
+a<-MDH[Region=="Rural" & NewArea==19,.(PersonalPLine,cluster3,NewArea_Name)]
+b<-MDH[Region=="Rural" & NewArea!=19 & cluster3==8,.(PersonalPLine,cluster3,NewArea_Name)]
+t.test(a$PersonalPLine,b$PersonalPLine, var.equal=TRUE, paired=FALSE)
+
+a<-MDH[Region=="Rural" & NewArea==13,.(PersonalPLine,cluster3,NewArea_Name)]
+b<-MDH[Region=="Rural" & NewArea!=13 & cluster3==8,.(PersonalPLine,cluster3,NewArea_Name)]
+t.test(a$PersonalPLine,b$PersonalPLine, var.equal=TRUE, paired=FALSE)
+
+
+#####Cluster 5
+
+a<-MDH[Region=="Rural" & NewArea==6,.(PersonalPLine,cluster3,NewArea_Name)]
+b<-MDH[Region=="Rural" & NewArea!=6 & cluster3==5,.(PersonalPLine,cluster3,NewArea_Name)]
+t.test(a$PersonalPLine,b$PersonalPLine, var.equal=TRUE, paired=FALSE)
+
+a<-MDH[Region=="Rural" & NewArea==12,.(PersonalPLine,cluster3,NewArea_Name)]
+b<-MDH[Region=="Rural" & NewArea!=12 & cluster3==5,.(PersonalPLine,cluster3,NewArea_Name)]
+t.test(a$PersonalPLine,b$PersonalPLine, var.equal=TRUE, paired=FALSE)
+
+a<-MDH[Region=="Rural" & NewArea==14,.(PersonalPLine,cluster3,NewArea_Name)]
+b<-MDH[Region=="Rural" & NewArea!=14 & cluster3==5,.(PersonalPLine,cluster3,NewArea_Name)]
+t.test(a$PersonalPLine,b$PersonalPLine, var.equal=TRUE, paired=FALSE)
+
+
+a<-MDH[Region=="Rural" & NewArea==24,.(PersonalPLine,cluster3,NewArea_Name)]
+b<-MDH[Region=="Rural" & NewArea!=24 & cluster3==5,.(PersonalPLine,cluster3,NewArea_Name)]
+t.test(a$PersonalPLine,b$PersonalPLine, var.equal=TRUE, paired=FALSE)
+
+a<-MDH[Region=="Rural" & NewArea==5,.(PersonalPLine,cluster3,NewArea_Name)]
+b<-MDH[Region=="Rural" & NewArea!=5 & cluster3==5,.(PersonalPLine,cluster3,NewArea_Name)]
+t.test(a$PersonalPLine,b$PersonalPLine, var.equal=TRUE, paired=FALSE)
+
+a<-MDH[Region=="Rural" & NewArea==8,.(PersonalPLine,cluster3,NewArea_Name)]
+b<-MDH[Region=="Rural" & NewArea!=8 & cluster3==5,.(PersonalPLine,cluster3,NewArea_Name)]
+t.test(a$PersonalPLine,b$PersonalPLine, var.equal=TRUE, paired=FALSE)
+
+a<-MDH[Region=="Rural" & NewArea==9,.(PersonalPLine,cluster3,NewArea_Name)]
+b<-MDH[Region=="Rural" & NewArea!=9 & cluster3==5,.(PersonalPLine,cluster3,NewArea_Name)]
+t.test(a$PersonalPLine,b$PersonalPLine, var.equal=TRUE, paired=FALSE)
+
+
+a<-MDH[Region=="Rural" & NewArea==27,.(PersonalPLine,cluster3,NewArea_Name)]
+b<-MDH[Region=="Rural" & NewArea!=27 & cluster3==5,.(PersonalPLine,cluster3,NewArea_Name)]
+t.test(a$PersonalPLine,b$PersonalPLine, var.equal=TRUE, paired=FALSE)
+
+
+#####Cluster 6
+a<-MDH[Region=="Rural" & NewArea==4,.(PersonalPLine,cluster3,NewArea_Name)]
+b<-MDH[Region=="Rural" & NewArea!=4 & cluster3==6,.(PersonalPLine,cluster3,NewArea_Name)]
+t.test(a$PersonalPLine,b$PersonalPLine, var.equal=TRUE, paired=FALSE)
+
+a<-MDH[Region=="Rural" & NewArea==15,.(PersonalPLine,cluster3,NewArea_Name)]
+b<-MDH[Region=="Rural" & NewArea!=15 & cluster3==6,.(PersonalPLine,cluster3,NewArea_Name)]
+t.test(a$PersonalPLine,b$PersonalPLine, var.equal=TRUE, paired=FALSE)
+
+a<-MDH[Region=="Rural" & NewArea==16,.(PersonalPLine,cluster3,NewArea_Name)]
+b<-MDH[Region=="Rural" & NewArea!=16 & cluster3==6,.(PersonalPLine,cluster3,NewArea_Name)]
+t.test(a$PersonalPLine,b$PersonalPLine, var.equal=TRUE, paired=FALSE)
+
+a<-MDH[Region=="Rural" & NewArea==28,.(PersonalPLine,cluster3,NewArea_Name)]
+b<-MDH[Region=="Rural" & NewArea!=28 & cluster3==6,.(PersonalPLine,cluster3,NewArea_Name)]
+t.test(a$PersonalPLine,b$PersonalPLine, var.equal=TRUE, paired=FALSE)
+
+a<-MDH[Region=="Rural" & NewArea==29,.(PersonalPLine,cluster3,NewArea_Name)]
+b<-MDH[Region=="Rural" & NewArea!=29 & cluster3==6,.(PersonalPLine,cluster3,NewArea_Name)]
+t.test(a$PersonalPLine,b$PersonalPLine, var.equal=TRUE, paired=FALSE)
+
+
+
+
+endtime <- proc.time()
+cat("\n\n============================\nIt took ")
+cat((endtime-starttime)["elapsed"])
+cat(" seconds")
\ No newline at end of file
diff --git a/R/Archive/June 2020 (removed code files)/201-ActivityState.R b/R/Archive/June 2020 (removed code files)/201-ActivityState.R
new file mode 100644
index 00000000..b21f679a
--- /dev/null
+++ b/R/Archive/June 2020 (removed code files)/201-ActivityState.R
@@ -0,0 +1,56 @@
+# 30-ActivityState.R
+# Builds the Wages data.table for households
+#
+# Copyright © 2018: Majid Einian
+# Licence: GPL-3
+
+rm(list=ls())
+
+starttime <- proc.time()
+cat("\n\n================ HHPubWage =====================================\n")
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+library(data.table)
+library(stringr)
+library(readxl)
+
+
+ActivityStateTables <- data.table(read_excel(Settings$MetaDataFilePath,sheet=Settings$MDS_ActivityState))
+
+
+for(year in (Settings$startyear:Settings$endyear)){
+ cat(paste0("\n------------------------------\nYear:",year,"\n"))
+ load(file=paste0(Settings$HEISRawPath,"Y",year,"Raw.rda"))
+
+ act <- ActivityStateTables[Year==year]
+ tab <- act$Table
+ if(is.na(tab))
+ next
+ UTAct <- Tables[[paste0("U",year,tab)]]
+ RTAct <- Tables[[paste0("R",year,tab)]]
+ TAct <- rbind(UTAct,RTAct,fill=TRUE)
+
+ TAct <- TAct[,lapply(.SD, as.numeric)]
+ summary(TAct)
+
+ for(n in names(TAct)){
+ x <- which(act==n)
+ if(length(x)>0)
+ setnames(TAct,n,names(act)[x])
+ }
+
+ pcols <- intersect(names(TAct),c("HHID","IndivNo","ActivityState"))
+ TAct <- TAct[,pcols,with=FALSE]
+ TAct <- TAct[!is.na(ActivityState)]
+ save(TAct, file = paste0(Settings$HEISProcessedPath,"Y",year,"ActivityState.rda"))
+ TAct2<-TAct[ActivityState==1]
+ TAct2<-TAct2[,kar:=1]
+ TAct2 <- TAct2[,lapply(.SD,sum),by=HHID]
+ TAct2[,ActivityState:=NULL]
+ TAct2[,IndivNo:=NULL]
+ save(TAct2, file = paste0(Settings$HEISProcessedPath,"Y",year,"ActivityState2.rda"))
+
+
+}
+
\ No newline at end of file
diff --git a/R/Archive/June 2020 (removed code files)/202-PubWage.R b/R/Archive/June 2020 (removed code files)/202-PubWage.R
new file mode 100644
index 00000000..b2ab5988
--- /dev/null
+++ b/R/Archive/June 2020 (removed code files)/202-PubWage.R
@@ -0,0 +1,105 @@
+# 31-PubWage.R
+# Builds the PubWageData data.table for wage income data of
+# households working in public sector.
+#
+# Copyright © 2017-2018: Arin Shahbazian & Majid Einian
+# Licence: GPL-3
+
+rm(list=ls())
+
+starttime <- proc.time()
+cat("\n\n================ PubWage =====================================\n")
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+library(data.table)
+library(stringr)
+library(readxl)
+
+
+PubWageTable <- data.table(read_excel(Settings$MetaDataFilePath,sheet=Settings$MDS_PubWage))
+
+year<-98
+for(year in 84:98){#(Settings$startyear:Settings$endyear)){
+ cat(paste0("\n------------------------------\nYear:",year,"\n"))
+ load(file=paste0(Settings$HEISRawPath,"Y",year,"Raw.rda"))
+ pubwt <- PubWageTable[Year==year]
+ tab <- pubwt$Table
+ if(is.na(tab))
+ next
+ if(length(tab)>1){
+ pubwtu <- pubwt[Region=="U"]
+ pubwtr <- pubwt[Region=="R"]
+ }else{
+ pubwtu <- pubwt
+ pubwtr <- pubwt
+ }
+
+
+ tab <- pubwtu$Table
+ UTpubW <- Tables[[paste0("U",year,tab)]]
+ for(n in names(UTpubW)){
+ x <- which(pubwtu==n)
+ if(length(x)>0)
+ setnames(UTpubW,n,names(pubwtu)[x])
+ }
+
+ tab <- pubwtr$Table
+ RTpubW <- Tables[[paste0("R",year,tab)]]
+ for(n in names(RTpubW)){
+ x <- which(pubwtr==n)
+ if(length(x)>0)
+ setnames(RTpubW,n,names(pubwtr)[x])
+ }
+
+ TpubW <- rbind(RTpubW,UTpubW,fill=TRUE)
+
+
+ # print(names(TpubW))
+
+ pcols <- intersect(names(TpubW),c("HHID","IndivNo","WageSector","HoursPerDay","DayPerWeek","PubWageNetIncomeY","JobCode"))
+ #pcols <- intersect(names(TpubW),c("HHID","indiv","shaghel","shoghl","current_shoghl","faaliat","section","hour_in_day","day_in_week","gross_income_m","gross_income_y","mostameri_m","mostameri_y","gheyremostameri_m","gheyremostameri_y","net_income_m","net_income_y"))
+ TpubW <- TpubW[,pcols,with=FALSE]
+
+ if(year <=68){
+ TpubW[,WageSector:=1]
+ }else{
+ TpubW <- TpubW[WageSector==1]
+ }
+ if(year >= 66){
+ TpubW[,HHID:=as.numeric(HHID)]
+ }
+
+ if(year >= 86){
+ TpubW[,PubWageNetIncomeY:=as.numeric(PubWageNetIncomeY)]
+ }
+ TpubW[,IndivNo:=as.numeric(IndivNo)]
+ TpubW[is.na(IndivNo),IndivNo:=1]
+
+ TpubW[is.na(TpubW)] <- 0
+ TpubW <- TpubW[PubWageNetIncomeY>0]
+
+ if("HoursPerDay" %in% names(TpubW)){
+ print(year)
+ }
+ save(TpubW, file = paste0(Settings$HEISProcessedPath,"Y",year,"TpubW.rda"))
+
+ PubWageData <- TpubW[,.(PubWageNetIncomeY=sum(PubWageNetIncomeY),
+ Hours=sum(HoursPerDay*DayPerWeek),
+ PubEarners=.N,
+ Sector=1)
+# Sector=factor(WageSector,levels = Settings$SectorsNumbers, labels = Settings$SectorsNames))
+ ,by=HHID]
+
+ save(PubWageData, file = paste0(Settings$HEISProcessedPath,"Y",year,"PubWage.rda"))
+
+ Pub1<-PubWageData[,.(HHID,PubEarners)]
+ save(Pub1, file = paste0(Settings$HEISProcessedPath,"Y",year,"Pub1.rda"))
+
+ Pub2<-TpubW[,.(HHID,IndivNo)]
+ save(Pub2, file = paste0(Settings$HEISProcessedPath,"Y",year,"Pub2.rda"))
+
+ }
+endtime <- proc.time()
+cat("\n\n============================\nIt took ")
+cat(endtime-starttime)
diff --git a/R/Archive/June 2020 (removed code files)/203-PrvWage.R b/R/Archive/June 2020 (removed code files)/203-PrvWage.R
new file mode 100644
index 00000000..a5a1ea3c
--- /dev/null
+++ b/R/Archive/June 2020 (removed code files)/203-PrvWage.R
@@ -0,0 +1,107 @@
+# 32-PrvWage.R
+# Builds the PrvWageData data.table for wage income data of
+# households working in private sector.
+#
+# Copyright © 2017-2018: Arin Shahbazian & Majid Einian
+# Licence: GPL-3
+
+rm(list=ls())
+
+starttime <- proc.time()
+cat("\n\n================ PrvWage =====================================\n")
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+library(data.table)
+library(stringr)
+library(readxl)
+
+
+PrvWageTable <- data.table(read_excel(Settings$MetaDataFilePath,sheet=Settings$MDS_PrvWage))
+
+
+for(year in 84:98){#(Settings$startyear:Settings$endyear)){
+ cat(paste0("\n------------------------------\nYear:",year,"\n"))
+ load(file=paste0(Settings$HEISRawPath,"Y",year,"Raw.rda"))
+ prvwt <- PrvWageTable[Year==year]
+ tab <- prvwt$Table
+ if(is.na(tab))
+ next
+ if(length(tab)>1){
+ prvwtu <- prvwt[Region=="U"]
+ prvwtr <- prvwt[Region=="R"]
+ }else{
+ prvwtu <- prvwt
+ prvwtr <- prvwt
+ }
+
+
+ tab <- prvwtu$Table
+ UTprvW <- Tables[[paste0("U",year,tab)]]
+ for(n in names(UTprvW)){
+ x <- which(prvwtu==n)
+ if(length(x)>0)
+ setnames(UTprvW,n,names(prvwtu)[x])
+ }
+
+ tab <- prvwtr$Table
+ RTprvW <- Tables[[paste0("R",year,tab)]]
+ for(n in names(RTprvW)){
+ x <- which(prvwtr==n)
+ if(length(x)>0)
+ setnames(RTprvW,n,names(prvwtr)[x])
+ }
+
+ TprvW <- rbind(RTprvW,UTprvW,fill=TRUE)
+
+ pcols <- intersect(names(TprvW),c("HHID","IndivNo","WageSector","PrvWageNetIncomeY","JobCode"))
+ TprvW <- TprvW[,pcols,with=FALSE]
+
+ # Consider Cooperative sector as prviate sector
+ if(year <= 68){
+ TprvW[,WageSector:= 3]
+ }else{
+ TprvW <- TprvW[ WageSector !=1 ]
+ if(year <=76){
+ TprvW[,WageSector:=WageSector+1]
+ }
+ }
+ # if(year %in% 69:76){
+ # TPrvW <- TPrvW[ WageSector ==2 ]
+ # } else if(year %in% 77:94){
+ # TPrvW <- TPrvW[ WageSector ==3 ]
+ # }
+
+ if(year >= 66){
+ TprvW[,HHID:=as.numeric(HHID)]
+ }
+
+ if(year >= 86){
+ TprvW[,PrvWageNetIncomeY:=as.numeric(PrvWageNetIncomeY)]
+ }
+ TprvW[,IndivNo:=as.numeric(IndivNo)]
+ TprvW[is.na(IndivNo),IndivNo:=1]
+
+ TprvW[is.na(TprvW)] <- 0
+ TprvW <- TprvW[PrvWageNetIncomeY>0]
+ save(TprvW, file = paste0(Settings$HEISProcessedPath,"Y",year,"TprvW.rda"))
+
+ PrvWageData <- TprvW[,.(PrvWageNetIncomeY=sum(PrvWageNetIncomeY),
+ PrvEarners=.N,
+ Sector=10)
+ # Sector=factor(WageSector,levels = Settings$SectorsNumbers, labels = Settings$SectorsNames))
+ ,by=HHID]
+
+ save(PrvWageData, file = paste0(Settings$HEISProcessedPath,"Y",year,"PrvWages.rda"))
+ # print(mean(PrvWageData$PrvWageNetIncomeY))
+
+ Prv1<-PrvWageData[,.(HHID,PrvEarners)]
+ save(Prv1, file = paste0(Settings$HEISProcessedPath,"Y",year,"Prv1.rda"))
+
+ Prv2<-TprvW[,.(HHID,IndivNo)]
+ save(Prv2, file = paste0(Settings$HEISProcessedPath,"Y",year,"Prv2.rda"))
+
+}
+endtime <- proc.time()
+cat("\n\n============================\nIt took ")
+cat(endtime-starttime)
diff --git a/R/Archive/June 2020 (removed code files)/204-BussInc.R b/R/Archive/June 2020 (removed code files)/204-BussInc.R
new file mode 100644
index 00000000..1255cbfb
--- /dev/null
+++ b/R/Archive/June 2020 (removed code files)/204-BussInc.R
@@ -0,0 +1,77 @@
+# 33- HHBussInc.R
+#
+# Builds the bussiness income data.table for households
+# Copyright © 2017: Arin Shahbazian
+# Licence: GPL-3
+
+rm(list=ls())
+
+starttime <- proc.time()
+cat("\n\n================ BussInc =====================================\n")
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+library(data.table)
+library(stringr)
+library(readxl)
+
+
+bussWageTable <- data.table(read_excel(Settings$MetaDataFilePath,sheet=Settings$MDS_BussInc))
+
+
+for(year in (Settings$startyear:Settings$endyear)){
+ cat(paste0("\n------------------------------\nYear:",year,"\n"))
+ load(file=paste0(Settings$HEISRawPath,"Y",year,"Raw.rda"))
+ busswt <- bussWageTable[Year==year]
+ tab <- busswt$Table
+ if(is.na(tab))
+ next
+ UTbussW <- Tables[[paste0("U",year,tab)]]
+ RTbussW <- Tables[[paste0("R",year,tab)]]
+ TbussW <- rbind(UTbussW,RTbussW,fill=TRUE)
+
+
+ for(n in names(TbussW)){
+ x <- which(busswt==n)
+ if(length(x)>0)
+ setnames(TbussW,n,names(busswt)[x])
+ }
+ pcols <- intersect(names(TbussW),c("HHID","IndivNo","WorkType","BSector","BussNetIncomeY","JobCode"))
+ TbussW <- TbussW[,pcols,with=FALSE]
+
+
+ if(year <= 68){
+ TbussW[,BSector:=2]
+ }else{
+ TbussW <- TbussW[BSector==2]
+ }
+
+
+ if(year >= 84){
+ TbussW[,BussNetIncomeY:=as.numeric(BussNetIncomeY)]
+ }
+
+ TbussW[is.na(TbussW)] <- 0
+ TbussW2<-TbussW[WorkType==4,.(HHID,WorkType)]
+ save(TbussW, file = paste0(Settings$HEISProcessedPath,"Y",year,"TbussW.rda"))
+
+
+ BussIncomeData <- TbussW[,.(BussNetIncomeY=sum(BussNetIncomeY),
+ BussEarners=.N,
+ Sector=100),
+ # Sector=factor(4,levels = Settings$SectorsNumbers, labels = Settings$SectorsNames))
+ ,by=HHID]
+
+
+ save(BussIncomeData, file = paste0(Settings$HEISProcessedPath,"Y",year,"BussIncome.rda"))
+
+ Buss1<-BussIncomeData[,.(HHID,BussEarners)]
+ save(Buss1, file = paste0(Settings$HEISProcessedPath,"Y",year,"Buss1.rda"))
+
+ Buss2<-TbussW[,.(HHID,IndivNo)]
+ save(Buss2, file = paste0(Settings$HEISProcessedPath,"Y",year,"Buss2.rda"))
+
+ }
+endtime <- proc.time()
+cat("\n\n============================\nIt took ")
+cat(endtime-starttime)
diff --git a/R/Archive/June 2020 (removed code files)/205-AgriInc.R b/R/Archive/June 2020 (removed code files)/205-AgriInc.R
new file mode 100644
index 00000000..f2924a2f
--- /dev/null
+++ b/R/Archive/June 2020 (removed code files)/205-AgriInc.R
@@ -0,0 +1,73 @@
+# 34-AggrInc.R
+#Builds the Agricultral Wages data.table for households
+#
+# Copyright © 2017: Arin Shahbazian
+# Licence: GPL-3
+
+rm(list=ls())
+
+starttime <- proc.time()
+cat("\n\n================ HHAggrIncTable =====================================\n")
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+library(data.table)
+library(stringr)
+library(readxl)
+
+
+AgriIncTable <- data.table(read_excel(Settings$MetaDataFilePath,sheet=Settings$MDS_AgriInc))
+
+
+for(year in (Settings$startyear:Settings$endyear)){
+ cat(paste0("\n------------------------------\nYear:",year,"\n"))
+ load(file=paste0(Settings$HEISRawPath,"Y",year,"Raw.rda"))
+ Agriwt <- AgriIncTable[Year==year]
+ tab <- Agriwt$Table
+ if(is.na(tab))
+ next
+ UTAgriW <- Tables[[paste0("U",year,tab)]]
+ RTAgriW <- Tables[[paste0("R",year,tab)]]
+ TAgriW <- rbind(UTAgriW,RTAgriW,fill=TRUE)
+ for(n in names(TAgriW)){
+ x <- which(Agriwt==n)
+ if(length(x)>0)
+ setnames(TAgriW,n,names(Agriwt)[x])
+ }
+ pcols <- intersect(names(TAgriW),c("HHID","IndivNo","WorkType","BSector","AgriNetIncomeY","JobCode"))
+ TAgriW <- TAgriW[,pcols,with=FALSE]
+
+ if(year <= 68){
+ TAgriW[,BSector:=1]
+ }else{
+ TAgriW <- TAgriW[BSector==1]
+ }
+
+ if(year >= 84){
+ TAgriW[,AgriNetIncomeY:=as.numeric(AgriNetIncomeY)]
+ }
+
+ TAgriW[is.na(TAgriW)] <- 0
+ TAgriW2<-TAgriW[WorkType==4,.(HHID,WorkType)]
+ save(TAgriW, file = paste0(Settings$HEISProcessedPath,"Y",year,"TAgriW.rda"))
+
+
+ AgriIncomeData <- TAgriW[,.(AgriNetIncomeY=sum(AgriNetIncomeY),
+ AgriEarners=.N,
+ Sector=1000)
+ # Sector=factor(5,levels = Settings$SectorsNumbers, labels = Settings$SectorsNames))
+ ,by=HHID]
+
+
+ save(AgriIncomeData, file = paste0(Settings$HEISProcessedPath,"Y",year,"AgriWages.rda"))
+
+ Agri1<-AgriIncomeData[,.(HHID,AgriEarners)]
+ save(Agri1, file = paste0(Settings$HEISProcessedPath,"Y",year,"Agri1.rda"))
+
+ Agri2<-TAgriW[,.(HHID,IndivNo)]
+ save(Agri2, file = paste0(Settings$HEISProcessedPath,"Y",year,"Agri2.rda"))
+
+ }
+endtime <- proc.time()
+cat("\n\n============================\nIt took ")
+cat(endtime-starttime)
diff --git a/R/Archive/June 2020 (removed code files)/206-Aid.R b/R/Archive/June 2020 (removed code files)/206-Aid.R
new file mode 100644
index 00000000..2168acc1
--- /dev/null
+++ b/R/Archive/June 2020 (removed code files)/206-Aid.R
@@ -0,0 +1,53 @@
+# 35-Aid.R
+# Builds the AidIncome data.table for households
+#
+# Copyright © 2017: Arin Shahbazian
+# Licence: GPL-3
+
+rm(list=ls())
+
+starttime <- proc.time()
+cat("\n\n================ HHAidIncome =====================================\n")
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+library(data.table)
+library(stringr)
+library(readxl)
+
+
+AidTable <- data.table(read_excel(Settings$MetaDataFilePath,sheet=Settings$MDS_Aid))
+
+
+for(year in (Settings$startyear:Settings$endyear)){
+ cat(paste0("\n------------------------------\nYear:",year,"\n"))
+ load(file=paste0(Settings$HEISRawPath,"Y",year,"Raw.rda"))
+ Aidwt <- AidTable[Year==year]
+ tab <- Aidwt$Table
+ if(is.na(tab))
+ next
+ UTAidW <- Tables[[paste0("U",year,tab)]]
+ RTAidW <- Tables[[paste0("R",year,tab)]]
+ TAidW <- rbind(UTAidW,RTAidW,fill=TRUE)
+ for(n in names(TAidW)){
+ x <- which(Aidwt==n)
+ if(length(x)>0)
+ setnames(TAidW,n,names(Aidwt)[x])
+ }
+ pcols <- intersect(names(TAidW),c("HHID","Code","aid","IndivNo"))
+ TAidW <- TAidW[,pcols,with=FALSE]
+ if(year %in% 63:68){
+ TAidW <- TAidW[Code %in% Aidwt$StartCode:Aidwt$EndCode]
+ }
+ if(year %in% 84:94){
+ TAidW[,aid:=as.numeric(aid)]
+ }
+ TAidW[is.na(TAidW)] <- 0
+ save(TAidW, file = paste0(Settings$HEISProcessedPath,"Y",year,"TAidW.rda"))
+
+ AidWageData <- TAidW[,lapply(.SD,sum),by=HHID]
+ save(AidWageData, file = paste0(Settings$HEISProcessedPath,"Y",year,"AidWage.rda"))
+}
+endtime <- proc.time()
+cat("\n\n============================\nIt took ")
+cat(endtime-starttime)
diff --git a/R/Archive/June 2020 (removed code files)/207-Homemade.R b/R/Archive/June 2020 (removed code files)/207-Homemade.R
new file mode 100644
index 00000000..d8226721
--- /dev/null
+++ b/R/Archive/June 2020 (removed code files)/207-Homemade.R
@@ -0,0 +1,51 @@
+# 35-Homemade.R
+# Builds the HomemadeIncome data.table for households
+#
+# Copyright © 2017: Arin Shahbazian
+# Licence: GPL-3
+
+rm(list=ls())
+
+starttime <- proc.time()
+cat("\n\n================ HHHomemadeIncome =====================================\n")
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+library(data.table)
+library(stringr)
+library(readxl)
+
+
+HomemadeTable <- data.table(read_excel(Settings$MetaDataFilePath,sheet=Settings$MDS_Homemade))
+
+
+for(year in (Settings$startyear:Settings$endyear)){
+ cat(paste0("\n------------------------------\nYear:",year,"\n"))
+ load(file=paste0(Settings$HEISRawPath,"Y",year,"Raw.rda"))
+ Homemadewt <- HomemadeTable[Year==year]
+ tab <- Homemadewt$Table
+ if(is.na(tab))
+ next
+ UTHomemadeW <- Tables[[paste0("U",year,tab)]]
+ RTHomemadeW <- Tables[[paste0("R",year,tab)]]
+ THomemadeW <- rbind(UTHomemadeW,RTHomemadeW,fill=TRUE)
+ for(n in names(THomemadeW)){
+ x <- which(Homemadewt==n)
+ if(length(x)>0)
+ setnames(THomemadeW,n,names(Homemadewt)[x])
+ }
+ pcols <- intersect(names(THomemadeW),c("HHID","Code","homemade","IndivNo"))
+ THomemadeW <- THomemadeW[,pcols,with=FALSE]
+ if(year %in% 63:68){
+ THomemadeW <- THomemadeW[Code %in% Homemadewt$StartCode:Homemadewt$EndCode]
+ }
+
+ THomemadeW[is.na(THomemadeW)] <- 0
+ save(THomemadeW, file = paste0(Settings$HEISProcessedPath,"Y",year,"THomemadeW.rda"))
+
+ HomemadeWageData <- THomemadeW[,lapply(.SD,sum),by=HHID]
+ save(HomemadeWageData, file = paste0(Settings$HEISProcessedPath,"Y",year,"HomemadeWage.rda"))
+}
+endtime <- proc.time()
+cat("\n\n============================\nIt took ")
+cat(endtime-starttime)
diff --git a/R/Archive/June 2020 (removed code files)/208-Interest.R b/R/Archive/June 2020 (removed code files)/208-Interest.R
new file mode 100644
index 00000000..374a579c
--- /dev/null
+++ b/R/Archive/June 2020 (removed code files)/208-Interest.R
@@ -0,0 +1,50 @@
+# 35-Interest.R
+# Builds the InterestIncome data.table for households
+#
+# Copyright © 2017: Arin Shahbazian
+# Licence: GPL-3
+
+rm(list=ls())
+
+starttime <- proc.time()
+cat("\n\n================ HHInterestIncome =====================================\n")
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+library(data.table)
+library(stringr)
+library(readxl)
+
+
+InterestTable <- data.table(read_excel(Settings$MetaDataFilePath,sheet=Settings$MDS_Interest))
+
+
+for(year in (Settings$startyear:Settings$endyear)){
+ cat(paste0("\n------------------------------\nYear:",year,"\n"))
+ load(file=paste0(Settings$HEISRawPath,"Y",year,"Raw.rda"))
+ Interestwt <- InterestTable[Year==year]
+ tab <- Interestwt$Table
+ if(is.na(tab))
+ next
+ UTInterestW <- Tables[[paste0("U",year,tab)]]
+ RTInterestW <- Tables[[paste0("R",year,tab)]]
+ TInterestW <- rbind(UTInterestW,RTInterestW,fill=TRUE)
+ for(n in names(TInterestW)){
+ x <- which(Interestwt==n)
+ if(length(x)>0)
+ setnames(TInterestW,n,names(Interestwt)[x])
+ }
+ pcols <- intersect(names(TInterestW),c("HHID","Code","interest","IndivNo"))
+ TInterestW <- TInterestW[,pcols,with=FALSE]
+ if(year %in% 63:68){
+ TInterestW <- TInterestW[Code %in% Interestwt$StartCode:Interestwt$EndCode]
+ }
+ TInterestW[is.na(TInterestW)] <- 0
+ save(TInterestW, file = paste0(Settings$HEISProcessedPath,"Y",year,"TInterestW.rda"))
+
+ InterestWageData <- TInterestW[,lapply(.SD,sum),by=HHID]
+ save(InterestWageData, file = paste0(Settings$HEISProcessedPath,"Y",year,"InterestWage.rda"))
+}
+endtime <- proc.time()
+cat("\n\n============================\nIt took ")
+cat(endtime-starttime)
diff --git a/R/Archive/June 2020 (removed code files)/209-Intra.R b/R/Archive/June 2020 (removed code files)/209-Intra.R
new file mode 100644
index 00000000..5d620500
--- /dev/null
+++ b/R/Archive/June 2020 (removed code files)/209-Intra.R
@@ -0,0 +1,51 @@
+# 35-Intra.R
+# Builds the IntraIncome data.table for households
+#
+# Copyright © 2017: Arin Shahbazian
+# Licence: GPL-3
+
+rm(list=ls())
+
+starttime <- proc.time()
+cat("\n\n================ HHIntraIncome =====================================\n")
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+library(data.table)
+library(stringr)
+library(readxl)
+
+
+IntraTable <- data.table(read_excel(Settings$MetaDataFilePath,sheet=Settings$MDS_Intra))
+
+
+for(year in (Settings$startyear:Settings$endyear)){
+ cat(paste0("\n------------------------------\nYear:",year,"\n"))
+ load(file=paste0(Settings$HEISRawPath,"Y",year,"Raw.rda"))
+ Intrawt <- IntraTable[Year==year]
+ tab <- Intrawt$Table
+ if(is.na(tab))
+ next
+ UTIntraW <- Tables[[paste0("U",year,tab)]]
+ RTIntraW <- Tables[[paste0("R",year,tab)]]
+ TIntraW <- rbind(UTIntraW,RTIntraW,fill=TRUE)
+ for(n in names(TIntraW)){
+ x <- which(Intrawt==n)
+ if(length(x)>0)
+ setnames(TIntraW,n,names(Intrawt)[x])
+ }
+ pcols <- intersect(names(TIntraW),c("HHID","Code","intra","IndivNo"))
+ TIntraW <- TIntraW[,pcols,with=FALSE]
+ if(year %in% 63:68){
+ TIntraW <- TIntraW[Code %in% Intrawt$StartCode:Intrawt$EndCode]
+ }
+
+ TIntraW[is.na(TIntraW)] <- 0
+ save(TIntraW, file = paste0(Settings$HEISProcessedPath,"Y",year,"TIntraW.rda"))
+
+ IntraWageData <- TIntraW[,lapply(.SD,sum),by=HHID]
+ save(IntraWageData, file = paste0(Settings$HEISProcessedPath,"Y",year,"IntraWage.rda"))
+}
+endtime <- proc.time()
+cat("\n\n============================\nIt took ")
+cat(endtime-starttime)
diff --git a/R/Archive/June 2020 (removed code files)/210-OtherIncome.R b/R/Archive/June 2020 (removed code files)/210-OtherIncome.R
new file mode 100644
index 00000000..aef08554
--- /dev/null
+++ b/R/Archive/June 2020 (removed code files)/210-OtherIncome.R
@@ -0,0 +1,70 @@
+# 35-OtherIncome.R
+# Builds the OtherIncome data.table for households
+#
+# Copyright © 2018: Arin Shahbazian, Majid Einian
+# Licence: GPL-3
+
+rm(list=ls())
+
+starttime <- proc.time()
+cat("\n\n================ OtherIncome =====================================\n")
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+#source("funcdefs.R")
+
+library(data.table)
+library(stringr)
+library(readxl)
+
+OtherIncomeTable <- data.table(read_excel(Settings$MetaDataFilePath,
+ sheet=Settings$MDS_OtherInc))
+
+for(year in (Settings$startyear:Settings$endyear)){
+ cat(paste0("\n------------------------------\nYear:",year,"\n"))
+ load(file=paste0(Settings$HEISRawPath,"Y",year,"Raw.rda"))
+ OtherITb <- OtherIncomeTable[Year==year]
+ tab <- OtherITb$Table
+ if(is.na(tab))
+ next
+ UOtherIncomeData <- Tables[[paste0("U",year,tab)]]
+ ROtherIncomeData <- Tables[[paste0("R",year,tab)]]
+ OtherIncomeData <- rbind(UOtherIncomeData,ROtherIncomeData,fill=TRUE)
+
+ OtherIncomeData <- OtherIncomeData[,lapply(.SD, as.numeric)]
+
+ if(!is.na(OtherITb$Code)){ # 63 to 68
+ setnames(OtherIncomeData,OtherITb$HHID,"HHID")
+ setnames(OtherIncomeData,OtherITb$Code,"Code")
+ setnames(OtherIncomeData,OtherITb$Value,"Value")
+ OtherIncomeData[Code %in% eval(parse(text = OtherITb$Retirement)),
+ Retirement:=sum(Value),by=HHID]
+ OtherIncomeData[Code %in% eval(parse(text = OtherITb$Rent)),
+ Rent:=sum(Value),by=HHID]
+ OtherIncomeData[Code %in% eval(parse(text = OtherITb$Interest)),
+ Interest:=sum(Value),by=HHID]
+ OtherIncomeData[Code %in% eval(parse(text = OtherITb$Aid)),
+ Aid:=sum(Value),by=HHID]
+ OtherIncomeData[Code %in% eval(parse(text = OtherITb$HomeProduction)),
+ HomeProduction:=sum(Value),by=HHID]
+ }else{ # 69+
+ for(n in names(OtherIncomeData)){
+ x <- which(OtherITb==n)
+ if(length(x)>0)
+ setnames(OtherIncomeData,n,names(OtherITb)[x])
+ }
+ }
+ pcols <- intersect(names(OtherIncomeData),
+ c("Code","Retirement","Rent",
+ "Interest","Aid","HomeProduction","Intra"))
+ OtherIncomeData <- OtherIncomeData[,lapply(.SD, sum, na.rm=TRUE),
+ by=HHID,.SDcols=pcols]
+ OtherIncomeData <- OtherIncomeData[,lapply(.SD, function(x){x[is.na(x)]<-0;return(x)}), by=HHID, .SDcols=pcols]
+ OtherIncomeData[, OtherIncome := Reduce(`+`, .SD), .SDcols=pcols]
+ save(OtherIncomeData,
+ file = paste0(Settings$HEISProcessedPath,"Y",year,"OtherIncome.rda"))
+}
+endtime <- proc.time()
+cat("\n\n============================\nIt took ")
+cat((endtime-starttime)[3])
+cat(" seconds. ")
\ No newline at end of file
diff --git a/R/Archive/June 2020 (removed code files)/211-Rent.R b/R/Archive/June 2020 (removed code files)/211-Rent.R
new file mode 100644
index 00000000..64d5e6f3
--- /dev/null
+++ b/R/Archive/June 2020 (removed code files)/211-Rent.R
@@ -0,0 +1,50 @@
+# 35-Rent.R
+# Builds the RentIncome data.table for households
+#
+# Copyright © 2017: Arin Shahbazian
+# Licence: GPL-3
+
+rm(list=ls())
+
+starttime <- proc.time()
+cat("\n\n================ HHRentIncome =====================================\n")
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+library(data.table)
+library(stringr)
+library(readxl)
+
+
+RentTable <- data.table(read_excel(Settings$MetaDataFilePath,sheet=Settings$MDS_Rent))
+
+
+for(year in (Settings$startyear:Settings$endyear)){
+ cat(paste0("\n------------------------------\nYear:",year,"\n"))
+ load(file=paste0(Settings$HEISRawPath,"Y",year,"Raw.rda"))
+ Rentwt <- RentTable[Year==year]
+ tab <- Rentwt$Table
+ if(is.na(tab))
+ next
+ UTRentW <- Tables[[paste0("U",year,tab)]]
+ RTRentW <- Tables[[paste0("R",year,tab)]]
+ TRentW <- rbind(UTRentW,RTRentW,fill=TRUE)
+ for(n in names(TRentW)){
+ x <- which(Rentwt==n)
+ if(length(x)>0)
+ setnames(TRentW,n,names(Rentwt)[x])
+ }
+ pcols <- intersect(names(TRentW),c("HHID","Code","rent","IndivNo"))
+ TRentW <- TRentW[,pcols,with=FALSE]
+ if(year %in% 63:68){
+ TRentW <- TRentW[Code %in% Rentwt$StartCode:Rentwt$EndCode]
+ }
+ TRentW[is.na(TRentW)] <- 0
+ save(TRentW, file = paste0(Settings$HEISProcessedPath,"Y",year,"TRentW.rda"))
+
+ RentWageData <- TRentW[,lapply(.SD,sum),by=HHID]
+ save(RentWageData, file = paste0(Settings$HEISProcessedPath,"Y",year,"RentWage.rda"))
+}
+endtime <- proc.time()
+cat("\n\n============================\nIt took ")
+cat(endtime-starttime)
diff --git a/R/Archive/June 2020 (removed code files)/212-Retirement.R b/R/Archive/June 2020 (removed code files)/212-Retirement.R
new file mode 100644
index 00000000..48bfc512
--- /dev/null
+++ b/R/Archive/June 2020 (removed code files)/212-Retirement.R
@@ -0,0 +1,51 @@
+# 35-Retirement.R
+# Builds the RetirementIncome data.table for households
+#
+# Copyright © 2017: Arin Shahbazian
+# Licence: GPL-3
+
+rm(list=ls())
+
+starttime <- proc.time()
+cat("\n\n================ HHRetirementIncome =====================================\n")
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+library(data.table)
+library(stringr)
+library(readxl)
+
+
+RetirementTable <- data.table(read_excel(Settings$MetaDataFilePath,sheet=Settings$MDS_Retirement))
+
+
+for(year in (Settings$startyear:Settings$endyear)){
+ cat(paste0("\n------------------------------\nYear:",year,"\n"))
+ load(file=paste0(Settings$HEISRawPath,"Y",year,"Raw.rda"))
+ Retirementwt <- RetirementTable[Year==year]
+ tab <- Retirementwt$Table
+ if(is.na(tab))
+ next
+ UTRetirementW <- Tables[[paste0("U",year,tab)]]
+ RTRetirementW <- Tables[[paste0("R",year,tab)]]
+ TRetirementW <- rbind(UTRetirementW,RTRetirementW,fill=TRUE)
+ for(n in names(TRetirementW)){
+ x <- which(Retirementwt==n)
+ if(length(x)>0)
+ setnames(TRetirementW,n,names(Retirementwt)[x])
+ }
+ pcols <- intersect(names(TRetirementW),c("HHID","Code","retirement","IndivNo"))
+ TRetirementW <- TRetirementW[,pcols,with=FALSE]
+ if(year %in% 63:68){
+ TRetirementW <- TRetirementW[Code %in% Retirementwt$StartCode:Retirementwt$EndCode]
+ }
+
+ TRetirementW[is.na(TRetirementW)] <- 0
+ save(TRetirementW, file = paste0(Settings$HEISProcessedPath,"Y",year,"TRetirementW.rda"))
+
+ RetirementWageData <- TRetirementW[,lapply(.SD,sum),by=HHID]
+ save(RetirementWageData, file = paste0(Settings$HEISProcessedPath,"Y",year,"RetirementWage.rda"))
+}
+endtime <- proc.time()
+cat("\n\n============================\nIt took ")
+cat(endtime-starttime)
diff --git a/R/Archive/June 2020 (removed code files)/213-Subsidy.R b/R/Archive/June 2020 (removed code files)/213-Subsidy.R
new file mode 100644
index 00000000..b4a6557a
--- /dev/null
+++ b/R/Archive/June 2020 (removed code files)/213-Subsidy.R
@@ -0,0 +1,50 @@
+# 36-Subsidy.R
+# Builds the SubsidyIncome data.table for households
+#
+# Copyright © 2017: Arin Shahbazian
+# Licence: GPL-3
+
+rm(list=ls())
+
+starttime <- proc.time()
+cat("\n\n================ HHSubsidy =====================================\n")
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+library(data.table)
+library(stringr)
+library(readxl)
+
+
+SubsidyTable <- data.table(read_excel(Settings$MetaDataFilePath,sheet=Settings$MDS_Subsidy))
+
+
+for(year in (Settings$startyear:Settings$endyear)){
+ cat(paste0("\n------------------------------\nYear:",year,"\n"))
+ Subsidywt <- SubsidyTable[Year==year]
+ tab <- Subsidywt$Table
+ if(is.na(tab))
+ next
+ load(file=paste0(Settings$HEISRawPath,"Y",year,"Raw.rda"))
+ UTSubsidyW <- Tables[[paste0("U",year,tab)]]
+ RTSubsidyW <- Tables[[paste0("R",year,tab)]]
+ TSubsidyW <- rbind(UTSubsidyW,RTSubsidyW,fill=TRUE)
+ for(n in names(TSubsidyW)){
+ x <- which(Subsidywt==n)
+ if(length(x)>0)
+ setnames(TSubsidyW,n,names(Subsidywt)[x])
+ }
+ pcols <- intersect(names(TSubsidyW),c("HHID","IndivNo","dimension","Subsidy"))
+ TSubsidyW <- TSubsidyW[,pcols,with=FALSE]
+
+
+
+ TSubsidyW[is.na(TSubsidyW)] <- 0
+ save(TSubsidyW, file = paste0(Settings$HEISProcessedPath,"Y",year,"TSubsidyW.rda"))
+
+ SubsidyWageData <- TSubsidyW[,lapply(.SD,sum),by=HHID]
+ save(SubsidyWageData, file = paste0(Settings$HEISProcessedPath,"Y",year,"Subsidy.rda"))
+}
+endtime <- proc.time()
+cat("\n\n============================\nIt took ")
+cat(endtime-starttime)
diff --git a/R/Archive/June 2020 (removed code files)/214-Total_Income.R b/R/Archive/June 2020 (removed code files)/214-Total_Income.R
new file mode 100644
index 00000000..155ab230
--- /dev/null
+++ b/R/Archive/June 2020 (removed code files)/214-Total_Income.R
@@ -0,0 +1,66 @@
+# 38-Total_Income.R
+#
+# Copyright © 2017:Arin Shahbazian
+# Licence: GPL-3
+#
+rm(list=ls())
+
+starttime <- proc.time()
+cat("\n\n================ TotalIncome =====================================\n")
+
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+
+#source("funcdefs.R")
+
+library(readxl)
+library(data.table)
+bigdt <- data.table(V1=NA_integer_,N=NA_integer_,year=NA_integer_)[0]
+for(year in (Settings$startyear:Settings$endyear)){
+ cat(paste0("\n------------------------------\nYear: ",year,"\n"))
+
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"HHBase.rda"))
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"PubWage.rda"))
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"PrvWages.rda"))
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"BussIncome.rda"))
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"AgriWages.rda"))
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"OtherIncome.rda"))
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"Subsidy.rda"))
+
+ PubWageData[,Sector:=NULL]
+ PrvWageData[,Sector:=NULL]
+ BussIncomeData[,Sector:=NULL]
+ AgriIncomeData[,Sector:=NULL]
+
+ #MyIncome<-merge(HHBase,PubWageData,by =c("HHID"),all=TRUE)
+
+ IncomeTable <- merge(HHBase[,.(HHID)],PubWageData,by="HHID",all.x = TRUE)
+ IncomeTable <- merge(IncomeTable,PrvWageData,by="HHID",all.x = TRUE)
+ IncomeTable <- merge(IncomeTable,BussIncomeData,by="HHID",all.x = TRUE)
+ IncomeTable <- merge(IncomeTable,AgriIncomeData,by="HHID",all.x = TRUE)
+ IncomeTable <- merge(IncomeTable,OtherIncomeData,by="HHID",all.x = TRUE)
+ IncomeTable <- merge(IncomeTable,SubsidyWageData,by="HHID",all.x = TRUE)
+
+
+ IncomeTable <- IncomeTable[,lapply(.SD, function(x){x[is.na(x)]<-0;return(x)})]
+
+
+ IncomeTable[, NetIncome := PubWageNetIncomeY+PrvWageNetIncomeY+BussNetIncomeY+AgriNetIncomeY+OtherIncome]
+
+ IncomeTable[PubWageNetIncomeY>0 | PubEarners>0, WorkClass:="Pub"]
+ IncomeTable[is.na(WorkClass) & PrvWageNetIncomeY >0, WorkClass:="Prv"]
+ IncomeTable[is.na(WorkClass) & BussNetIncomeY>0 , WorkClass:="Buss"]
+ IncomeTable[is.na(WorkClass) & AgriNetIncomeY>0 , WorkClass:="Agri"]
+ IncomeTable[is.na(WorkClass) & OtherIncome>0, WorkClass:="Retr"]
+
+ IncomeTable[,WorkClass:=factor(WorkClass)]
+
+
+ save(IncomeTable, file = paste0(Settings$HEISProcessedPath,"Y",year,"Total_Income.rda"))
+
+}
+endtime <- proc.time()
+cat("\n\n============================\nIt took ")
+cat((endtime-starttime)[3])
+cat(" seconds. ")
\ No newline at end of file
diff --git a/R/Archive/June 2020 (removed code files)/221-Loans.R b/R/Archive/June 2020 (removed code files)/221-Loans.R
new file mode 100644
index 00000000..517a73e4
--- /dev/null
+++ b/R/Archive/June 2020 (removed code files)/221-Loans.R
@@ -0,0 +1,80 @@
+# 40-Loans
+#
+# Copyright © 2016: Majid Einian
+# Licence: GPL-3
+#
+rm(list=ls())
+
+starttime <- proc.time()
+cat("\n\n================ Loans =====================================\n")
+
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+library(readxl)
+library(data.table)
+
+LoanTables <- data.table(read_excel(Settings$MetaDataFilePath,sheet=Settings$MDS_Loans))
+
+
+for(year in (Settings$startyear:Settings$endyear)){
+ cat(paste0("\n------------------------------\nYear:",year,"\n"))
+
+ load(file=paste0(Settings$HEISRawPath,"Y",year,"Raw.rda"))
+
+ ty <- LoanTables[Year==year]
+ tab <- ty$Table
+ if(is.na(tab))
+ next
+
+ UTL <- Tables[[paste0("U",year,tab)]]
+ RTL <- Tables[[paste0("R",year,tab)]]
+ TL <- rbind(UTL,RTL)
+ for(n in names(TL)){
+ x <- which(ty==n)
+ if(length(x)>0)
+ setnames(TL,n,names(ty)[x])
+ }
+ pcols <- intersect(names(TL),c("HHID","Code","ServiceFee","LoanValue","BankName"))
+ TL <- TL[,pcols,with=FALSE]
+ TL <- TL[Code %in% c(ty$NonHousingLoan,ty$HousingLoan)]
+ TL[,ServiceFee:=as.numeric(ServiceFee)]
+ if("LoanValue" %in% pcols){
+ TL[,LoanValue:=as.numeric(LoanValue)]
+ TL[,p:=ServiceFee/LoanValue]
+ }
+ HTL <- TL[Code==ty$HousingLoan]
+ setnames(HTL,names(HTL)[3:ncol(HTL)],paste0("H",names(HTL)[3:ncol(HTL)]))
+ HTL[,Code:=NULL]
+ NTL <- TL[Code==ty$NonHousingLoan]
+ NTL[,Code:=NULL]
+
+ LoansData <- merge(NTL,HTL,all = TRUE,by="HHID")
+# LoansData[,BankName:=NULL]
+# LoansData[,HBankName:=NULL]
+ LoansData <- LoansData[,lapply(.SD, function(x){if(class(x)=="numeric"){x[is.na(x)]<-0};return(x)})]
+
+ LoansData <- LoansData[,lapply(.SD,sum),by=HHID]
+
+# if("LoanValue" %in% names(LoansData)){
+# cat("\n",year,",",
+# # mean(LoansData$ServiceFee/LoansData$LoanValue,na.rm = TRUE))
+# mean(LoansData$ServiceFee,na.rm = TRUE), mean(LoansData$LoanValue,na.rm = TRUE))
+#
+# }
+# if("HLoanValue" %in% names(LoansData)){
+# cat(",",
+# # mean(LoansData$HServiceFee/LoansData$HLoanValue,na.rm = TRUE))
+# mean(LoansData$HServiceFee,na.rm = TRUE), mean(LoansData$HLoanValue,na.rm = TRUE))
+# }
+
+ # cat("\n",year,",",mean(LoansData$ServiceFee,na.rm = TRUE),",",mean(LoansData$HServiceFee,na.rm = TRUE),
+ # ",",mean(LoansData$LoanValue,na.rm = TRUE),",",mean(LoansData$HLoanValue,na.rm = TRUE))
+
+ save(LoansData, file = paste0(Settings$HEISProcessedPath,"Y",year,"Loans.rda"))
+}
+
+endtime <- proc.time()
+
+cat("\n\n============================\nIt took ")
+cat(endtime-starttime)
diff --git a/R/Archive/June 2020 (removed code files)/222-HouseAsset.R b/R/Archive/June 2020 (removed code files)/222-HouseAsset.R
new file mode 100644
index 00000000..46de5eed
--- /dev/null
+++ b/R/Archive/June 2020 (removed code files)/222-HouseAsset.R
@@ -0,0 +1,92 @@
+# 40-Houses
+#
+#
+# Copyright © 2016: Majid Einian
+# Licence: GPL-3
+#
+rm(list=ls())
+
+starttime <- proc.time()
+cat("\n\n================ Houses =====================================\n")
+
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+library(readxl)
+library(data.table)
+
+HouseTables <- data.table(read_excel(Settings$MetaDataFilePath,sheet=Settings$MDS_House))
+
+for(year in (Settings$startyear:Settings$endyear)){
+ cat(paste0("\n------------------------------\nYear:",year,"\n"))
+
+ load(file=paste0(Settings$HEISRawPath,"Y",year,"Raw.rda"))
+
+ ty <- HouseTables[Year==year][,1:7]
+ tab <- ty$Table
+
+ UTL <- Tables[[paste0("U",year,tab)]]
+ RTL <- Tables[[paste0("R",year,tab)]]
+ TL <- rbind(UTL,RTL)
+ for(n in names(TL)){
+ x <- which(ty==n)
+ if(length(x)>0)
+ setnames(TL,n,names(ty)[x])
+ }
+ pcols <- intersect(names(TL),c("HHID","Code","ServiceExp"))
+ TL <- TL[,pcols,with=FALSE]
+ TL <- TL[Code %in% ty$StartCode:ty$EndCode]
+ TL[,ServiceExp:=as.numeric(ServiceExp)]
+
+ TL[,Code:=NULL]
+
+
+ TL[is.na(TL)] <- 0
+
+ HouseData <- TL[,lapply(.SD,sum),by=HHID]
+
+ # if("HouseValue" %in% names(HousesData)){
+ # cat("\n",year,",",
+ # # mean(HousesData$ServiceFee/HousesData$HouseValue,na.rm = TRUE))
+ # mean(HousesData$ServiceFee,na.rm = TRUE), mean(HousesData$HouseValue,na.rm = TRUE))
+ #
+ # }
+ # if("HHouseValue" %in% names(HousesData)){
+ # cat(",",
+ # # mean(HousesData$HServiceFee/HousesData$HHouseValue,na.rm = TRUE))
+ # mean(HousesData$HServiceFee,na.rm = TRUE), mean(HousesData$HHouseValue,na.rm = TRUE))
+ # }
+
+# cat("\n",year,",",mean(HouseData$ServiceExp,na.rm = TRUE))
+ ty <- HouseTables[Year==year]
+ rt <- Tables[[paste0("R",year,ty$HATable)]]
+ ut <- Tables[[paste0("U",year,ty$HATable)]]
+
+ if(year <= 68){
+ rt$New <- NA
+ setnames(rt,"New",ty$HACode)
+ }
+ ns <- c(ty$HAHHID,ty$HRCode,ty$HACode)
+
+ TRA <- rbind( rt[,ns,with=FALSE], ut[,ns,with=FALSE])
+
+ setnames(TRA,ty$HAHHID,"HHID")
+ setnames(TRA,ty$HRCode,"Rooms")
+ setnames(TRA,ty$HACode,"Area")
+
+ TRA[Area==0,Area:=NA]
+
+ HouseData <- merge(HouseData,TRA,by = "HHID", all = TRUE)
+ HouseData$MetrPrice <-HouseData$ServiceExp/HouseData$Area
+ save(HouseData, file = paste0(Settings$HEISProcessedPath,"Y",year,"House.rda"))
+ # cat(summary(HouseData[,ServiceExp/Area]))
+ cat(HouseData[,mean(MetrPrice)],"\n")
+ cat(HouseData[,median(MetrPrice)],"\n")
+ cat(HouseData[,mean(ServiceExp)],"\n")
+ cat(HouseData[,median(ServiceExp)],"\n")
+}
+
+endtime <- proc.time()
+
+cat("\n\n============================\nIt took ")
+cat(endtime-starttime)
diff --git a/R/Archive/June 2020 (removed code files)/224-Insurance.R b/R/Archive/June 2020 (removed code files)/224-Insurance.R
new file mode 100644
index 00000000..13e13884
--- /dev/null
+++ b/R/Archive/June 2020 (removed code files)/224-Insurance.R
@@ -0,0 +1,60 @@
+# 42-Insurance ### NOT WORKING ANYMORE
+# Note: for now only health insurance, TODO: add other insurance types
+#
+# Copyright © 2017: Majid Einian
+# Licence: GPL-3
+#
+rm(list=ls())
+
+starttime <- proc.time()
+cat("\n\n================ Insurance =====================================\n")
+
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+library(readxl)
+library(data.table)
+
+InsuranceTables <- data.table(read_excel(Settings$MetaDataFilePath,sheet=Settings$MDS_Insurance))
+
+
+for(year in (Settings$startyear:Settings$endyear)){
+
+ ty <- InsuranceTables[Year==year]
+ tab <- ty$Table
+ if(is.na(tab))
+ next
+
+ cat(paste0("\n------------------------------\nYear:",year,"\n"))
+
+ load(file=paste0(Settings$HEISRawPath,"Y",year,"Raw.rda"))
+
+ UTI <- Tables[[paste0("U",year,tab)]]
+ RTI <- Tables[[paste0("R",year,tab)]]
+ rm(Tables)
+ TI <- rbind(UTI,RTI)
+
+ for(n in names(TI)){
+ x <- which(ty==n)
+ if(length(x)>0)
+ setnames(TI,n,names(ty)[x])
+ }
+
+ pcols <- intersect(names(TI),c("HHID","Code","InsuredCount","InsuranceCosts"))
+ TI <- TI[,pcols,with=FALSE]
+ TI <- TI[Code %in% ty$StartCode:ty$EndCode]
+ TI[,InsuredCount:=as.numeric(InsuredCount)]
+
+ TI[is.na(TI)] <- 0
+ TI[,THI:=ifelse(Code %in% c(ty$SS1,ty$SS2),1,0)]
+
+ InsuranceData <- TI[,.(InsuredCount=sum(InsuredCount),THI=sum(THI)),by=HHID]
+ InsuranceData[,THI:=ifelse(THI>0,1,0)]
+
+ save(InsuranceData, file = paste0(Settings$HEISProcessedPath,"Y",year,"Insurance.rda"))
+}
+
+endtime <- proc.time()
+
+cat("\n\n============================\nIt took ")
+cat(endtime-starttime)
\ No newline at end of file
diff --git a/R/Archive/June 2020 (removed code files)/225--LoanAnalysis.R b/R/Archive/June 2020 (removed code files)/225--LoanAnalysis.R
new file mode 100644
index 00000000..4cf7246a
--- /dev/null
+++ b/R/Archive/June 2020 (removed code files)/225--LoanAnalysis.R
@@ -0,0 +1,64 @@
+# 43-Loans Analysis
+#
+#
+# Copyright © 2018: Majid Einian
+# Licence: GPL-3
+#
+rm(list=ls())
+
+starttime <- proc.time()
+cat("\n\n================ Loans Analysis =====================================\n")
+
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+library(data.table)
+library(survey)
+
+
+bigX <- data.table(WorkClass=NA_character_,ProvinceCode=NA_integer_,X=NA_real_,Year=NA_integer_)[0]
+
+for(year in (Settings$startyear:Settings$endyear)){
+# cat(paste0("\n------------------------------\nYear:",year,"\n"))
+ cat(paste0("\n",year,","))
+ if(!file.exists(paste0(Settings$HEISProcessedPath,"Y",year,"Loans.rda")) |
+ !file.exists(paste0(Settings$HEISWeightsPath,Settings$HEISWeightFileName,year,".rda")) )
+ next
+ load(file = paste0(Settings$HEISProcessedPath,"Y",year,"HHBase.rda"))
+ load(file = paste0(Settings$HEISProcessedPath,"Y",year,"Loans.rda"))
+ load(file = paste0(Settings$HEISProcessedPath,"Y",year,"HHI.rda"))
+ load(file = paste0(Settings$HEISWeightsPath,Settings$HEISWeightFileName,year,".rda"))
+ load(file = paste0(Settings$HEISProcessedPath,"Y",year,"Total_Income.rda"))
+ D <- merge(HHBase[,.(HHID, Region, Year, Quarter, Month, ProvinceCode)], LoansData,by="HHID", all.x = TRUE)
+ D[, GotLoan := ifelse(!is.na(ServiceFee),1,0)]
+ D <- merge(D, HHI,all = TRUE)
+ D <- merge(D, HHWeights[,.(HHID,Weight)], all = TRUE)
+ D <- merge(D, IncomeTable)
+ D <- D[!is.na(Weight)]
+
+ X <- D[,.(X=sum(GotLoan*Weight)/sum(Weight)*100),by=.(WorkClass,ProvinceCode)]
+ X[,Year:=year]
+ bigX <- rbind(bigX,X)
+
+ svDataL <- svydesign(ids = ~1,data = D,weights = D$Weight)
+
+ probit_model <- svyglm(GotLoan ~ Region + HSex + HAge + I(HAge^2)
+ + HEmployed + HMarritalState + Size + HLiterate + WorkClass + NetIncome
+ , design=svDataL, family=binomial(link="probit"))
+ print(summary(probit_model))
+ mgf <- svycontrast(probit_model, quote(
+ (exp(`(Intercept)` + WorkClassPub) / (exp(`(Intercept)` + WorkClassPub) + 1)) -
+ (exp(`(Intercept)`) / (exp(`(Intercept)`) + 1))))
+ x <- mgf[1]
+ y <- sqrt(attr(mgf,"var"))
+ cat(",",x*100,",",(x-1.96*y)*100,",",(x+1.96*y)*100)
+ # Can't use custom functions like expit :_(
+}
+
+endtime <- proc.time()
+
+cat("\n\n============================\nIt took ")
+cat(endtime-starttime)
+
+library(XLConnect)
+writeWorksheetToFile("D:/Loans.xlsx",bigX,"Sheet1")
diff --git a/R/Archive/June 2020 (removed code files)/226-Loan-TS.R b/R/Archive/June 2020 (removed code files)/226-Loan-TS.R
new file mode 100644
index 00000000..cc8a28c4
--- /dev/null
+++ b/R/Archive/June 2020 (removed code files)/226-Loan-TS.R
@@ -0,0 +1,86 @@
+# 45-Loan-TS
+#
+#
+# Copyright © 2017: Majid Einian
+# Licence: GPL-3
+#
+rm(list=ls())
+
+starttime <- proc.time()
+cat("\n\n================ Loans =====================================\n")
+
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+library(readxl)
+library(data.table)
+library(XLConnect)
+
+RegionWeights <- data.table(read_excel(Settings$MetaDataFilePath,sheet=Settings$MDS_Rough_Weights))
+
+BigD <- data.table(Region = character(0), HHID = numeric(0), Year = integer(0),
+ Quarter = numeric(0), Month = numeric(0), ProvinceCode = integer(0),
+ ServiceFee = numeric(0), HServiceFee = numeric(0),
+ Weight = numeric(0))
+
+
+for(year in (Settings$startyear:Settings$endyear)){
+ cat(paste0("\n------------------------------\nYear:",year,"\n"))
+ if(!file.exists(paste0(Settings$HEISProcessedPath,"Y",year,"Loans.rda")))
+ { cat("next")
+ next
+ }
+
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"HHBase.rda"))
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"Loans.rda"))
+
+ if(year >=76)
+ load(file = paste0(Settings$HEISWeightsPath,Settings$HEISWeightFileName,year,".rda"))
+ else
+ HHWeights <- data.table(Year=year)
+ D <- merge(HHBase,LoansData,by="HHID", all.x = TRUE)
+
+ W <- HHWeights
+ W[,Year:=NULL]
+ W_Rough <- RegionWeights[Year==year]
+ W_Rough <- W_Rough[,list(Region,Weight)]
+ if(nrow(W)==0){
+ D <- merge(D,W_Rough,by="Region", all.x = TRUE)
+ }else{
+ D <- merge(D,W,by="HHID", all.x = TRUE)
+ }
+
+ D <- D[,list(HHID, Region, Year, Quarter, Month, ProvinceCode, ServiceFee, HServiceFee, Weight)]
+
+ D[is.na(Quarter), Quarter:=4]
+
+ BigD <- rbind(BigD,D)
+
+# cat("\n",year,",",sum(D$ServiceFee*D$Weight, na.rm = TRUE))
+}
+
+BigD <- BigD[is.na(ServiceFee),ServiceFee:=0]
+BigD <- BigD[is.na(HServiceFee),HServiceFee:=0]
+BigD <- BigD[!is.na(Weight)]
+
+S.Q <- BigD[,.(SF=sum(ServiceFee*Weight, na.rm = TRUE),
+ HSF=sum(HServiceFee*Weight, na.rm = TRUE),
+ LP=weighted.mean(ifelse(ServiceFee>0,1,0),Weight, na.rm = TRUE),
+ HLP=weighted.mean(ifelse(HServiceFee>0,1,0),Weight, na.rm = TRUE)),
+ by=.(Year,Quarter)]
+S.Y <- BigD[,.(SF=sum(ServiceFee*Weight, na.rm = TRUE),
+ HSF=sum(HServiceFee*Weight, na.rm = TRUE),
+ LP=weighted.mean(ifelse(ServiceFee>0,1,0),Weight, na.rm = TRUE),
+ HLP=weighted.mean(ifelse(HServiceFee>0,1,0),Weight, na.rm = TRUE)),
+ by=Year]
+
+writeWorksheetToFile(data = S.Q, file = paste0(Settings$HEISResultsPath,"Timeseries.xlsx"),
+ sheet = "Loan.Q")
+writeWorksheetToFile(data = S.Y, file = paste0(Settings$HEISResultsPath,"Timeseries.xlsx"),
+ sheet = "Loan.Y")
+
+
+endtime <- proc.time()
+
+cat("\n\n============================\nIt took ")
+cat(endtime-starttime)
\ No newline at end of file
diff --git a/R/Archive/June 2020 (removed code files)/227-House-TS.R b/R/Archive/June 2020 (removed code files)/227-House-TS.R
new file mode 100644
index 00000000..59a6d3f5
--- /dev/null
+++ b/R/Archive/June 2020 (removed code files)/227-House-TS.R
@@ -0,0 +1,68 @@
+# 46-House-TS
+#
+#
+# Copyright © 2017: Majid Einian
+# Licence: GPL-3
+#
+rm(list=ls())
+
+starttime <- proc.time()
+cat("\n\n================ House =====================================\n")
+
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+library(readxl)
+library(data.table)
+library(XLConnect)
+
+RegionWeights <- data.table(read_excel(Settings$MetaDataFilePath,sheet=Settings$MDS_Rough_Weights))
+
+BigD <- data.table(Region = character(0), HHID = integer(0), Year = integer(0),
+ Quarter = integer(0), Month = integer(0), ProvinceCode = integer(0),
+ ServiceExp = numeric(0), Weight = numeric(0))
+
+
+for(year in (Settings$startyear:Settings$endyear)){
+ cat(paste0("\n------------------------------\nYear:",year,"\n"))
+
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"HHBase.rda"))
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"House.rda"))
+ load(file = paste0(Settings$HEISWeightsPath,Settings$HEISWeightFileName,year,".rda"))
+
+ D <- merge(HHBase,HouseData,by="HHID", all.x = TRUE)
+
+
+ W <- HHWeights
+ W[,Year:=NULL]
+ W_Rough <- RegionWeights[Year==year]
+ W_Rough <- W_Rough[,list(Region,Weight)]
+ if(nrow(W)==0){
+ D <- merge(D,W_Rough,by="Region", all.x = TRUE)
+ }else{
+ D <- merge(D,W,by="HHID", all.x = TRUE)
+ }
+ D <- D[,list(HHID, Region, Year, Quarter, Month, ProvinceCode, ServiceExp, Weight)]
+
+ D[is.na(Quarter), Quarter:=4]
+
+ BigD <- rbind(BigD,D)
+
+ # cat("\n",year,",",sum(D$ServiceExp, na.rm = TRUE),
+ # ",",sum(D$Weight, na.rm = TRUE),
+ # ",",sum(D$ServiceExp*D$Weight, na.rm = TRUE))
+}
+if(year %in% 63:69){
+ BigD[,ServiceExp:=as.numeric(ServiceExp)]
+ BigD[,ServiceExp=0]
+}
+S <- BigD[,list(SX=sum(ServiceExp*Weight, na.rm = TRUE)), by=list(Year,Quarter)]
+
+
+writeWorksheetToFile(data = S, file = paste0(Settings$HEISResultsPath,"Timeseries.xlsx"),
+ sheet = "House")
+
+endtime <- proc.time()
+
+cat("\n\n============================\nIt took ")
+cat(endtime-starttime)
\ No newline at end of file
diff --git a/R/Archive/June 2020 (removed code files)/228-Insurance-TS.R b/R/Archive/June 2020 (removed code files)/228-Insurance-TS.R
new file mode 100644
index 00000000..016f95b4
--- /dev/null
+++ b/R/Archive/June 2020 (removed code files)/228-Insurance-TS.R
@@ -0,0 +1,82 @@
+# 47-Insurance-TS ##
+#
+#
+# Copyright © 2017: Majid Einian
+# Licence: GPL-3
+#
+rm(list=ls())
+
+starttime <- proc.time()
+cat("\n\n================ Insurance =====================================\n")
+
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+library(readxl)
+library(data.table)
+library(XLConnect)
+
+RegionWeights <- data.table(read_excel(Settings$MetaDataFilePath,sheet=Settings$MDS_Rough_Weights))
+
+BigD <- data.table(HHID = integer(0), Region = character(0), Year = integer(0),
+ Quarter = integer(0), Month = integer(0), ProvinceCode = integer(0),
+ Size = numeric(0), InsuredCount = numeric(0), Weight = numeric(0))
+
+
+for(year in (Settings$startyear:Settings$endyear)){
+ if(!file.exists(paste0(Settings$HEISProcessedPath,"Y",year,"Insurance.rda")))
+ next
+
+ cat(paste0("\n------------------------------\nYear:",year,"\n"))
+
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"HHBase.rda"))
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"HHI.rda"))
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"Insurance.rda"))
+ load(file = paste0(Settings$HEISWeightsPath,Settings$HEISWeightFileName,year,".rda"))
+
+ D <- merge(HHBase,HHI,by="HHID",all.x = TRUE)
+ D <- merge(D,InsuranceData,by="HHID", all.x = TRUE)
+
+
+ W <- HHWeights
+ W[,Year:=NULL]
+ W_Rough <- RegionWeights[Year==year]
+ W_Rough <- W_Rough[,list(Region,Weight)]
+ if(nrow(W)==0){
+ D <- merge(D,W_Rough,by="Region", all.x = TRUE)
+ }else{
+ D <- merge(D,W,by="HHID", all.x = TRUE)
+ }
+
+ D <- D[,c("HHID","Region", "Year", "Quarter", "Month", "ProvinceCode",
+ "Size", "InsuredCount", "THI", "Weight"), with=FALSE]
+
+ D[is.na(Quarter), Quarter:=4]
+ D <- D[!is.na(Size)]
+
+ D[THI>0,InsuredCount:=Size]
+ D[InsuredCount>Size,InsuredCount:=Size]
+ D[,THI:=NULL]
+ D[is.na(InsuredCount),InsuredCount:=0]
+ BigD <- rbind(BigD,D)
+}
+
+S.Q <- BigD[,.(Pop = sum(Size*Weight), Insured = sum(InsuredCount*Weight, na.rm = TRUE)),
+ by = .(Year,Quarter)]
+S.Y <- BigD[,.(Pop = sum(Size*Weight), Insured = sum(InsuredCount*Weight, na.rm = TRUE)),
+ by = .(Year)]
+S.Q[,PctInsured := Insured / Pop * 100]
+S.Y[,PctInsured := Insured / Pop * 100]
+
+writeWorksheetToFile(data = S.Q, file = paste0(Settings$HEISResultsPath,"Timeseries.xlsx"),
+ sheet = "Insurance.Q")
+writeWorksheetToFile(data = S.Y, file = paste0(Settings$HEISResultsPath,"Timeseries.xlsx"),
+ sheet = "Insurance.Y")
+
+endtime <- proc.time()
+
+cat("\n\n============================\nIt took ")
+cat(endtime-starttime)
+
+
+
diff --git a/R/Archive/June 2020 (removed code files)/229-FinServices.R b/R/Archive/June 2020 (removed code files)/229-FinServices.R
new file mode 100644
index 00000000..37d5661f
--- /dev/null
+++ b/R/Archive/June 2020 (removed code files)/229-FinServices.R
@@ -0,0 +1,57 @@
+# 229-FinServices ### NOT WORKING ANYMORE
+
+# Copyright © 2017: Majid Einian
+# Licence: GPL-3
+#
+rm(list=ls())
+
+starttime <- proc.time()
+cat("\n\n================ FinServices =====================================\n")
+
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+library(readxl)
+library(data.table)
+
+FinServicesTables <- data.table(read_excel(Settings$MetaDataFilePath,sheet=Settings$MDS_FinServices))
+
+
+for(year in (Settings$startyear:Settings$endyear)){
+
+ ty <- FinServicesTables[Year==year]
+ tab <- ty$Table
+ if(is.na(tab))
+ next
+
+ cat(paste0("\n------------------------------\nYear:",year,"\n"))
+
+ load(file=paste0(Settings$HEISRawPath,"Y",year,"Raw.rda"))
+
+ UTI <- Tables[[paste0("U",year,tab)]]
+ RTI <- Tables[[paste0("R",year,tab)]]
+ rm(Tables)
+ TI <- rbind(UTI,RTI)
+
+ for(n in names(TI)){
+ x <- which(ty==n)
+ if(length(x)>0)
+ setnames(TI,n,names(ty)[x])
+ }
+
+ pcols <- intersect(names(TI),c("HHID","Code","FinServicesExp"))
+ TI <- TI[,pcols,with=FALSE]
+ TI <- TI[Code %in% ty$StartCode:ty$EndCode]
+ TI[,FinServicesExp:=as.numeric(FinServicesExp)]
+
+ TI[is.na(TI)] <- 0
+
+ FinServicesData <- TI[,.(FinServicesExp =sum(FinServicesExp)),by=HHID]
+
+ save(FinServicesData, file = paste0(Settings$HEISProcessedPath,"Y",year,"FinServices.rda"))
+}
+
+endtime <- proc.time()
+
+cat("\n\n============================\nIt took ")
+cat(endtime-starttime)
\ No newline at end of file
diff --git a/R/Archive/June 2020 (removed code files)/230-FinServices-TS.R b/R/Archive/June 2020 (removed code files)/230-FinServices-TS.R
new file mode 100644
index 00000000..c92ec77a
--- /dev/null
+++ b/R/Archive/June 2020 (removed code files)/230-FinServices-TS.R
@@ -0,0 +1,91 @@
+# 230-FinServices-TS ##
+#
+#
+# Copyright © 2017: Majid Einian
+# Licence: GPL-3
+#
+rm(list=ls())
+
+starttime <- proc.time()
+cat("\n\n================ FinServices =====================================\n")
+
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+library(readxl)
+library(data.table)
+library(XLConnect)
+
+RegionWeights <- data.table(read_excel(Settings$MetaDataFilePath,sheet=Settings$MDS_Rough_Weights))
+
+BigD <- data.table(HHID = integer(0), Region = character(0), Year = integer(0),
+ Quarter = integer(0), Month = integer(0), ProvinceCode = integer(0),
+ Size = numeric(0), FinServicesExp=numeric(0), Weight = numeric(0))
+
+
+for(year in (Settings$startyear:Settings$endyear)){
+ if(!file.exists(paste0(Settings$HEISProcessedPath,"Y",year,"FinServices.rda")))
+ next
+
+ cat(paste0("\n------------------------------\nYear:",year,"\n"))
+
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"HHBase.rda"))
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"HHI.rda"))
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"FinServices.rda"))
+ load(file = paste0(Settings$HEISWeightsPath,Settings$HEISWeightFileName,year,".rda"))
+
+ D <- merge(HHBase,HHI,by="HHID",all.x = TRUE)
+ D <- merge(D,FinServicesData,by="HHID", all.x = TRUE)
+
+
+ W <- data.table(HHWeights)
+ W[,Year:=NULL]
+ W[,HHID:=as.numeric(HHID)]
+ W_Rough <- RegionWeights[Year==year]
+ W_Rough <- W_Rough[,list(Region,Weight)]
+ if(nrow(W)==0){
+ D <- merge(D,W_Rough,by="Region", all.x = TRUE)
+ }else{
+ D <- merge(D,W,by="HHID", all.x = TRUE)
+ }
+
+ D <- D[,c("HHID","Region", "Year", "Quarter", "Month", "ProvinceCode",
+ "CountyCode","County_Name",
+ "Size", "FinServicesExp", "Weight"), with=FALSE]
+
+ D[is.na(Quarter), Quarter:=4]
+ D <- D[!is.na(Size)]
+
+ BigD <- rbind(BigD,D)
+}
+
+
+BigD[,HasFinService:=ifelse(is.na(FinServicesExp),0,1)]
+S.Q.P <- BigD[,.(SS=.N,
+ Pop = sum(Size*Weight),
+ FinServicesExp = sum(FinServicesExp*Weight, na.rm = TRUE),
+ HasFinService = sum(HasFinService*Weight)),
+ by = .(Year,Quarter,ProvinceCode)][order(ProvinceCode,Year,Quarter)]
+S.Y.P <- S.Q.P <- BigD[,.(SS=.N,
+ Pop = sum(Size*Weight),
+ FinServicesExp = sum(FinServicesExp*Weight, na.rm = TRUE),
+ HasFinService = sum(HasFinService*Weight)),
+ by = .(Year,ProvinceCode)][order(ProvinceCode,Year)]
+
+S.Q.P[,PctFinService := HasFinService / Pop * 100]
+S.Q.P[,PcpFinService := FinServicesExp / Pop * 100]
+S.Y.P[,PctFinService := HasFinService / Pop * 100]
+S.Y.P[,PcpFinService := FinServicesExp / Pop * 100]
+
+writeWorksheetToFile(data = S.Q.P, file = paste0(Settings$HEISResultsPath,"Panel.xlsx"),
+ sheet = "FinServices.Q")
+writeWorksheetToFile(data = S.Y.P, file = paste0(Settings$HEISResultsPath,"Panel.xlsx"),
+ sheet = "FinServices.Y")
+
+endtime <- proc.time()
+
+cat("\n\n============================\nIt took ")
+cat(endtime-starttime)
+
+
+
diff --git a/R/Archive/June 2020 (removed code files)/271-Step1-MergeData.R b/R/Archive/June 2020 (removed code files)/271-Step1-MergeData.R
new file mode 100644
index 00000000..543a6812
--- /dev/null
+++ b/R/Archive/June 2020 (removed code files)/271-Step1-MergeData.R
@@ -0,0 +1,170 @@
+#171-Step 1.R
+#
+# Copyright © 2018: Majid Einian & Arin Shahbazian
+# Licence: GPL-3
+
+rm(list=ls())
+
+starttime <- proc.time()
+cat("\n\n================ Merge Data =====================================\n")
+
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+library(readxl)
+library(stringr)
+library(data.table)
+library(ggplot2)
+library(spatstat)
+
+for(year in (Settings$startyear:Settings$endyear)){
+ cat(paste0("\n------------------------------\nYear:",year,"\n"))
+
+ #load Demos+FoodPrices+Weights
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"HHBase.rda"))
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"lactating.rda"))
+ HHBase<-merge(HHBase,lactating,by="HHID")
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"Calorie_Need.rda"))
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"HHI.rda"))
+ #load(file=paste0(Settings$HEISProcessedPath,"Y",year,"BigFoodPrice.rda"))
+ load(file=paste0(Settings$HEISWeightsPath,Settings$HEISWeightFileName,year,".rda"))
+ HHWeights<- as.data.table(HHWeights)
+ HHWeights<-HHWeights[,HHID:=as.numeric(HHID)]
+ HHWeights[,Year:=NULL]
+
+
+
+ #load Expenditures
+
+ for(G in c("Foods","Cigars","Cloths","Amusements","Communications",
+ "Durables", "Education", "Furnitures","HotelRestaurants",
+ "HouseandEnergys","House", "Medicals","Hygienes","Transportations","Others",
+ "Resturants"
+ )){
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,G,".rda"))
+ load(file = paste0(Settings$HEISProcessedPath,"Y",year,"NonFreeDurableData.rda"))
+
+ }
+
+ # load(file=paste0(Settings$HEISProcessedPath,"Y",year,"Added_Food.rda"))
+
+ #load Calories
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"Food_Calories.rda"))
+ FData[,Region:=NULL]
+ #for (col in c("FoodKCaloriesHH")) FData[is.na(get(col)), (col) := 0]
+ FData <- FData[FoodKCaloriesHH>0]
+
+ #merge groups
+ MD<-merge(HHBase,HHI ,by =c("HHID"),all=TRUE)
+ FData[,Size:=NULL]
+ MD<-merge(MD,FData ,by =c("HHID"),all=TRUE)
+ MD<-merge(MD,HHWeights ,by =c("HHID"),all=TRUE)
+ MD<-merge(MD,FoodData,by =c("HHID"),all=TRUE)
+ # MD<-merge(MD,Added_Food,by =c("HHID"),all=TRUE)
+ MD<-merge(MD,CigarData,by =c("HHID"),all=TRUE)
+ MD<-merge(MD,ClothData,by =c("HHID"),all=TRUE)
+ MD<-merge(MD,AmusementData,by =c("HHID"),all=TRUE)
+ MD<-merge(MD,CommunicationData,by =c("HHID"),all=TRUE)
+ MD<-merge(MD,EducData,by =c("HHID"),all=TRUE)
+ MD<-merge(MD,HouseandEnergyData,by =c("HHID"),all=TRUE)
+ MD<-merge(MD,HouseData,by =c("HHID"),all=TRUE)
+ MD<-merge(MD,FurnitureData,by =c("HHID"),all=TRUE)
+ MD<-merge(MD,HotelRestaurantData,by =c("HHID"),all=TRUE)
+ MD<-merge(MD,HygieneData,by =c("HHID"),all=TRUE)
+ MD<-merge(MD,TransportationData,by =c("HHID"),all=TRUE)
+ #MD<-merge(MD,BenzinData,by =c("HHID"),all=TRUE)
+ #MD<-merge(MD,GazData,by =c("HHID"),all=TRUE)
+ #MD<-merge(MD,BarghData,by =c("HHID"),all=TRUE)
+ #MD<-merge(MD,NaftSefidData,by =c("HHID"),all=TRUE)
+ MD<-merge(MD,OtherData,by =c("HHID"),all=TRUE)
+ MD<-merge(MD,MedicalData,by =c("HHID"),all=TRUE)
+ MD<-merge(MD,NonFreeDurableData,by =c("HHID"),all=TRUE)
+ MD<-merge(MD,ResturantData,by =c("HHID"),all=TRUE)
+ #MD<-merge(MD,InvestmentData,by =c("HHID"),all=TRUE)
+ for (col in c("OriginalFoodExpenditure","FoodExpenditure","FoodOtherExpenditure", "Cigar_Exp", "Cloth_Exp", "Amusement_Exp",
+ "Communication_Exp", "Education_Exp", "HouseandEnergy_Exp",
+ "Furniture_Exp", "HotelRestaurant_Exp", "Hygiene_Exp", "Transportation_Exp",
+ "Other_Exp", "Medical_Exp", "NonFreeDurable_Exp",
+ "Resturant_Exp","ServiceExp"
+ ))
+ MD[is.na(get(col)), (col) := 0]
+ # MD<-MD[,Yaraneh:=416000*Size]
+
+ MD<-merge(MD,Calorie_Need)
+
+ #load(file=paste0(Settings$HEISProcessedPath,"Y",year,"Durablele_Detail.rda"))
+ #MD<-merge(MD,Durablele_Detail)
+
+
+
+ cpi97 <- read_excel("C:/Users/pc1/Desktop/cpi97.xlsx")
+ cpi97<-as.data.table(cpi97)
+ cpi97<-cpi97[Month>0]
+ cpi97<-cpi97[,Year:=NULL]
+ cpi97<-cpi97[,PeriodYear:=NULL]
+ cpi97<-cpi97[,.(Month,FoodDrink_Index,Cigar_Index,Cloth_Index,HouseEnergy_Index,
+ Furniture_Index,Hygiene_Index,Transportation_Index,
+ Communication_Index,Amusement_Index,Hotel_Index,
+ Other_Index,Durable_Index,Total_Index)]
+
+ MD<-merge(MD,cpi97,by=c("Month"),all.x=TRUE)
+
+ FoodDrink_Index98<-219.7
+ Cigar_Index98<-281.1
+ Cloth_Index98<-197.8
+ HouseEnergy_Index98<-155.1
+ Furniture_Index98<-225.1
+ Hygiene_Index98<-158.1
+ Transportation_Index98<-195.9
+ Communication_Index98<-146.7
+ Amusement_Index98<-224.5
+ Hotel_Index98<-182.0
+ Other_Index98<-199.5
+ Durable_Index98<-259.2
+ Total_Index98<-185.1
+
+ #Calculate Monthly Total Expenditures
+ nw <- c("FoodExpenditure", "Cigar_Exp", "Cloth_Exp",
+ "Amusement_Exp", "Communication_Exp",
+ "HouseandEnergy_Exp", "Furniture_Exp", "HotelRestaurant_Exp", "Hygiene_Exp",
+ "Transportation_Exp", "Other_Exp" )
+ #w <- c(nw, "Medical_Exp", "Remain_Durable")
+ w <- c(nw, "Medical_Exp", "NonFreeDurable_Exp")
+ #w <- c(nw, "Medical_Exp", "Durable_Pure_Exp")
+ # pw <- c(nw, "Added_Food_Exp_Month")
+ #Lw <- c(pw, "Medical_Exp", "Durable_Exp")
+
+ MD<-MD[,FoodExpenditure:=FoodExpenditure*FoodDrink_Index98/FoodDrink_Index]
+ MD<-MD[,OriginalFoodExpenditure:=OriginalFoodExpenditure*FoodDrink_Index98/FoodDrink_Index]
+ MD<-MD[,Cigar_Exp:=Cigar_Exp*Cigar_Index98/Cigar_Index]
+ MD<-MD[,Cloth_Exp:=Cloth_Exp*Cloth_Index98/Cloth_Index]
+ MD<-MD[,HouseandEnergy_Exp:=HouseandEnergy_Exp*HouseEnergy_Index98/HouseEnergy_Index]
+ MD<-MD[,Furniture_Exp:=Furniture_Exp*Furniture_Index98/Furniture_Index]
+ MD<-MD[,Hygiene_Exp:=Hygiene_Exp*Hygiene_Index98/Hygiene_Index]
+ MD<-MD[,Medical_Exp:=Medical_Exp*Hygiene_Index98/Hygiene_Index]
+ MD<-MD[,Transportation_Exp:=Transportation_Exp*Transportation_Index98/Transportation_Index]
+ MD<-MD[,Communication_Exp:=Communication_Exp*Communication_Index98/Communication_Index]
+ MD<-MD[,Amusement_Exp:=Amusement_Exp*Amusement_Index98/Amusement_Index]
+ MD<-MD[,HotelRestaurant_Exp:=HotelRestaurant_Exp*Hotel_Index98/Hotel_Index]
+ MD<-MD[,Other_Exp:=Other_Exp*Other_Index98/Other_Index]
+ MD<-MD[,NonFreeDurable_Exp:=NonFreeDurable_Exp*Durable_Index98/Durable_Index]
+
+ MD[is.na(MD)] <- 0
+
+ MD[, Total_Exp_Month := Reduce(`+`, .SD), .SDcols=w]
+ MD[, Total_Exp_Month_nondurable := Reduce(`+`, .SD), .SDcols=nw]
+
+ MD[,weighted.mean(Total_Exp_Month,Weight)]
+ MD[,weighted.mean(Total_Exp_Month_nondurable,Weight)]
+
+ save(MD, file=paste0(Settings$HEISProcessedPath,"Y",year,"Merged4CBN198.rda"))
+ cat(MD[,weighted.mean(Total_Exp_Month,Weight)])
+
+ x<-MD[,.(FoodExpenditure,OriginalFoodExpenditure,FoodExpenditure-OriginalFoodExpenditure)]
+}
+
+
+
+endtime <- proc.time()
+cat("\n\n============================\nIt took ")
+cat(endtime-starttime)
\ No newline at end of file
diff --git a/R/Archive/June 2020 (removed code files)/272-Step2-CaloryEqSize.R b/R/Archive/June 2020 (removed code files)/272-Step2-CaloryEqSize.R
new file mode 100644
index 00000000..e2991031
--- /dev/null
+++ b/R/Archive/June 2020 (removed code files)/272-Step2-CaloryEqSize.R
@@ -0,0 +1,191 @@
+#172- Step 2.R
+#
+# Copyright © 2018: Majid Einian & Arin Shahbazian
+# Licence: GPL-3
+
+rm(list=ls())
+
+starttime <- proc.time()
+cat("\n\n================ Calculationg Equal size calorie =====================================\n")
+
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+library(readxl)
+library(stringr)
+library(data.table)
+library(ggplot2)
+library(spatstat)
+
+Final <- data.table(Year=NA_integer_,Exp=NA_integer_,ProvinceCode=NA_real_)[0]
+Educ <- data.table(Year=NA_integer_,Educ=NA_integer_,ProvinceCode=NA_real_)[0]
+Marrital <- data.table(Year=NA_integer_,Marrital=NA_integer_,ProvinceCode=NA_real_)[0]
+Sex <- data.table(Year=NA_integer_,Sex=NA_integer_,ProvinceCode=NA_real_)[0]
+HeadEmploy <- data.table(Year=NA_integer_,HeadEmploy=NA_integer_,ProvinceCode=NA_real_)[0]
+WomanEmploy <- data.table(Year=NA_integer_,WomanEmploy=NA_integer_,ProvinceCode=NA_real_)[0]
+NumberEmploy <- data.table(Year=NA_integer_,NumberEmploy=NA_integer_,ProvinceCode=NA_real_)[0]
+
+
+
+for(year in (Settings$startyear:Settings$endyear)){
+ cat(paste0("\n------------------------------\nYear:",year,"\n"))
+ cat("\n")
+
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"Merged4CBN198.rda"))
+
+ MD[,Total_Exp_Month_Per:=Total_Exp_Month/EqSizeOECD]
+ MD[,Total_Exp_Month_Per_nondurable:=Total_Exp_Month_nondurable/EqSizeOECD]
+
+
+ #MD<-merge(MD,BigFoodPrice,by=c("NewArea","Region"),all.x = TRUE)
+ MD<-MD[Size!=0 & OriginalFoodExpenditure!=0 & !is.na(FoodKCaloriesHH)]
+ #MD[,Home_Per_Metr:=MetrPrice/EqSizeOECD]
+
+ #Calculate Per Values
+ MD[,EqSizeCalory3 :=(Size-NKids) + NKids*(Settings$KCaloryNeed_Child/Settings$KCaloryNeed_Adult)]
+
+ MD[,EqSizeCalory :=
+ NAge1B *(Settings$ KCaloryNeed_B1 /Calorie_Need_WorldBank)+
+ NAge2B *(Settings$ KCaloryNeed_B2 /Calorie_Need_WorldBank)+
+ NAge3B *(Settings$ KCaloryNeed_B3 /Calorie_Need_WorldBank)+
+ NAge4B *(Settings$ KCaloryNeed_B4 /Calorie_Need_WorldBank)+
+ NAge5B *(Settings$ KCaloryNeed_B5 /Calorie_Need_WorldBank)+
+ NAge6B *(Settings$ KCaloryNeed_B6 /Calorie_Need_WorldBank)+
+ NAge7B *(Settings$ KCaloryNeed_B7 /Calorie_Need_WorldBank)+
+ NAge8B *(Settings$ KCaloryNeed_B8 /Calorie_Need_WorldBank)+
+ NAge9B *(Settings$ KCaloryNeed_B9 /Calorie_Need_WorldBank)+
+ NAge10B *(Settings$ KCaloryNeed_B10 /Calorie_Need_WorldBank)+
+ NAge1G *(Settings$ KCaloryNeed_G1 /Calorie_Need_WorldBank)+
+ NAge2G *(Settings$ KCaloryNeed_G2 /Calorie_Need_WorldBank)+
+ NAge3G *(Settings$ KCaloryNeed_G3 /Calorie_Need_WorldBank)+
+ NAge4G *(Settings$ KCaloryNeed_G4 /Calorie_Need_WorldBank)+
+ NAge5G *(Settings$ KCaloryNeed_G5 /Calorie_Need_WorldBank)+
+ NAge6G *(Settings$ KCaloryNeed_G6 /Calorie_Need_WorldBank)+
+ NAge7G *(Settings$ KCaloryNeed_G7 /Calorie_Need_WorldBank)+
+ NAge8G *(Settings$ KCaloryNeed_G8 /Calorie_Need_WorldBank)+
+ NAge9G *(Settings$ KCaloryNeed_G9 /Calorie_Need_WorldBank)+
+ NAge10G *(Settings$ KCaloryNeed_G10 /Calorie_Need_WorldBank)+
+ lactating*(Settings$KCaloryNeed_lactating/Calorie_Need_WorldBank)]
+
+ MD[,EqSizeCalory2 :=
+ NAge1_A_B*(Settings$KCaloryNeed_A_B1/Calorie_Need_Anstitoo) +
+ NAge2_A_B*(Settings$KCaloryNeed_A_B2/Calorie_Need_Anstitoo) +
+ NAge3_A_B*(Settings$KCaloryNeed_A_B3/Calorie_Need_Anstitoo) +
+ NAge4_A_B*(Settings$KCaloryNeed_A_B4/Calorie_Need_Anstitoo) +
+ NAge5_A_B*(Settings$KCaloryNeed_A_B5/Calorie_Need_Anstitoo) +
+ NAge6_A_B*(Settings$KCaloryNeed_A_B6/Calorie_Need_Anstitoo) +
+ NAge7_A_B*(Settings$KCaloryNeed_A_B7/Calorie_Need_Anstitoo) +
+ NAge8_A_B*(Settings$KCaloryNeed_A_B8/Calorie_Need_Anstitoo) +
+ NAge9_A_B*(Settings$KCaloryNeed_A_B9/Calorie_Need_Anstitoo) +
+ NAge1_A_G*(Settings$KCaloryNeed_A_G1/Calorie_Need_Anstitoo) +
+ NAge2_A_G*(Settings$KCaloryNeed_A_G2/Calorie_Need_Anstitoo) +
+ NAge3_A_G*(Settings$KCaloryNeed_A_G3/Calorie_Need_Anstitoo) +
+ NAge4_A_G*(Settings$KCaloryNeed_A_G4/Calorie_Need_Anstitoo) +
+ NAge5_A_G*(Settings$KCaloryNeed_A_G5/Calorie_Need_Anstitoo) +
+ NAge6_A_G*(Settings$KCaloryNeed_A_G6/Calorie_Need_Anstitoo) +
+ NAge7_A_G*(Settings$KCaloryNeed_A_G7/Calorie_Need_Anstitoo) +
+ NAge8_A_G*(Settings$KCaloryNeed_A_G8/Calorie_Need_Anstitoo) +
+ NAge9_A_G*(Settings$KCaloryNeed_A_G9/Calorie_Need_Anstitoo)+
+ lactating*(Settings$KCaloryNeed_lactating/Calorie_Need_Anstitoo)]
+
+ MD[,EqSizeCalory4 :=
+ NAge1B*(Settings$KCaloryNeed_B1/Settings$KCaloryNeed_Adult_WorldBank) +
+ NAge2B*(Settings$KCaloryNeed_B2/Settings$KCaloryNeed_Adult_WorldBank) +
+ NAge3B*(Settings$KCaloryNeed_B3/Settings$KCaloryNeed_Adult_WorldBank) +
+ NAge4B*(Settings$KCaloryNeed_B4/Settings$KCaloryNeed_Adult_WorldBank) +
+ NAge5B*(Settings$KCaloryNeed_B5/Settings$KCaloryNeed_Adult_WorldBank) +
+ NAge6B*(Settings$KCaloryNeed_B6/Settings$KCaloryNeed_Adult_WorldBank) +
+ NAge7B*(Settings$KCaloryNeed_B7/Settings$KCaloryNeed_Adult_WorldBank) +
+ NAge8B*(Settings$KCaloryNeed_B8/Settings$KCaloryNeed_Adult_WorldBank) +
+ NAge9B*(Settings$KCaloryNeed_B9/Settings$KCaloryNeed_Adult_WorldBank) +
+ NAge10B*(Settings$KCaloryNeed_B10/Settings$KCaloryNeed_Adult_WorldBank)+
+ NAge1G*(Settings$KCaloryNeed_G1/Settings$KCaloryNeed_Adult_WorldBank) +
+ NAge2G*(Settings$KCaloryNeed_G2/Settings$KCaloryNeed_Adult_WorldBank) +
+ NAge3G*(Settings$KCaloryNeed_G3/Settings$KCaloryNeed_Adult_WorldBank) +
+ NAge4G*(Settings$KCaloryNeed_G4/Settings$KCaloryNeed_Adult_WorldBank) +
+ NAge5G*(Settings$KCaloryNeed_G5/Settings$KCaloryNeed_Adult_WorldBank) +
+ NAge6G*(Settings$KCaloryNeed_G6/Settings$KCaloryNeed_Adult_WorldBank) +
+ NAge7G*(Settings$KCaloryNeed_G7/Settings$KCaloryNeed_Adult_WorldBank) +
+ NAge8G*(Settings$KCaloryNeed_G8/Settings$KCaloryNeed_Adult_WorldBank) +
+ NAge9G*(Settings$KCaloryNeed_G9/Settings$KCaloryNeed_Adult_WorldBank) +
+ NAge10G*(Settings$KCaloryNeed_G10/Settings$KCaloryNeed_Adult_WorldBank)+
+ lactating*(Settings$KCaloryNeed_lactating/Settings$KCaloryNeed_Adult_WorldBank)]
+
+ MD[,EqSizeCalory5 :=
+ NAge1_A_B*(Settings$KCaloryNeed_A_B1/Settings$KCaloryNeed_Adult_Anstitoo) +
+ NAge2_A_B*(Settings$KCaloryNeed_A_B2/Settings$KCaloryNeed_Adult_Anstitoo) +
+ NAge3_A_B*(Settings$KCaloryNeed_A_B3/Settings$KCaloryNeed_Adult_Anstitoo) +
+ NAge4_A_B*(Settings$KCaloryNeed_A_B4/Settings$KCaloryNeed_Adult_Anstitoo) +
+ NAge5_A_B*(Settings$KCaloryNeed_A_B5/Settings$KCaloryNeed_Adult_Anstitoo) +
+ NAge6_A_B*(Settings$KCaloryNeed_A_B6/Settings$KCaloryNeed_Adult_Anstitoo) +
+ NAge7_A_B*(Settings$KCaloryNeed_A_B7/Settings$KCaloryNeed_Adult_Anstitoo) +
+ NAge8_A_B*(Settings$KCaloryNeed_A_B8/Settings$KCaloryNeed_Adult_Anstitoo) +
+ NAge9_A_B*(Settings$KCaloryNeed_A_B9/Settings$KCaloryNeed_Adult_Anstitoo) +
+ NAge1_A_G*(Settings$KCaloryNeed_A_G1/Settings$KCaloryNeed_Adult_Anstitoo) +
+ NAge2_A_G*(Settings$KCaloryNeed_A_G2/Settings$KCaloryNeed_Adult_Anstitoo) +
+ NAge3_A_G*(Settings$KCaloryNeed_A_G3/Settings$KCaloryNeed_Adult_Anstitoo) +
+ NAge4_A_G*(Settings$KCaloryNeed_A_G4/Settings$KCaloryNeed_Adult_Anstitoo) +
+ NAge5_A_G*(Settings$KCaloryNeed_A_G5/Settings$KCaloryNeed_Adult_Anstitoo) +
+ NAge6_A_G*(Settings$KCaloryNeed_A_G6/Settings$KCaloryNeed_Adult_Anstitoo) +
+ NAge7_A_G*(Settings$KCaloryNeed_A_G7/Settings$KCaloryNeed_Adult_Anstitoo) +
+ NAge8_A_G*(Settings$KCaloryNeed_A_G8/Settings$KCaloryNeed_Adult_Anstitoo) +
+ NAge9_A_G*(Settings$KCaloryNeed_A_G9/Settings$KCaloryNeed_Adult_Anstitoo)+
+ lactating*(Settings$KCaloryNeed_lactating/Settings$KCaloryNeed_Adult_Anstitoo)]
+
+ save(MD, file=paste0(Settings$HEISProcessedPath,"Y",year,"Merged4CBN298.rda"))
+
+ MD[,weighted.mean(EqSizeCalory,Weight)]
+ MD[,weighted.mean(EqSizeCalory2,Weight)]
+ MD[,weighted.mean(EqSizeCalory4,Weight)]
+ MD[,weighted.mean(EqSizeCalory5,Weight)]
+ MD[,weighted.mean(EqSizeCalory3,Weight)]
+
+ # X1 <- MD[,.(Exp=weighted.mean(Total_Exp_Month_Per,Weight)),by=ProvinceCode]
+ # X1[,Year:=year]
+ #Final <- rbind(Final,X1)
+ #write.csv(Final,file = "Exp.csv")
+
+ # X2 <- MD[,.(Educ=weighted.mean(HEduYears>12,Weight,na.rm = TRUE)),by=ProvinceCode]
+ # X2[,Year:=year]
+ # Educ <- rbind(Educ,X2)
+ # write.csv(Educ,file = "Educ.csv")
+
+ #X3 <- MD[,.(Marrital=weighted.mean(HMarritalState=="Married",Weight,na.rm = TRUE)),by=ProvinceCode]
+ #X3[,Year:=year]
+ #Marrital <- rbind(Marrital,X3)
+ #write.csv(Marrital,file = "Marrital.csv")
+
+ # X4 <- MD[,.(Sex=weighted.mean(HSex=="Female",Weight,na.rm = TRUE)),by=ProvinceCode]
+ # X4[,Year:=year]
+ #Sex <- rbind(Sex,X4)
+ #write.csv(Sex,file = "Sex.csv")
+
+ # X5 <- MD[,.(HeadEmploy=weighted.mean(HActivityState=="Employed",Weight,na.rm = TRUE)),by=ProvinceCode]
+ # X5[,Year:=year]
+ #HeadEmploy <- rbind(HeadEmploy,X5)
+ # write.csv(HeadEmploy,file = "HeadEmploy.csv")
+
+ # load(file = paste0(Settings$HEISProcessedPath,"Y",year,"WomanEmployed.rda"))
+ #load(file = paste0(Settings$HEISProcessedPath,"Y",year,"NumberEmployed.rda"))
+
+ # MD<-merge(MD,WomanEmployed,all.x = TRUE)
+ # MD<-merge(MD,NumberEmployed,all.x = TRUE)
+ # MD[is.na(MD)] <- 0
+
+ # X6 <- MD[,.(WomanEmploy=weighted.mean(indivsum,Weight,na.rm = TRUE)),by=ProvinceCode]
+ # X6[,Year:=year]
+ #WomanEmploy <- rbind(WomanEmploy,X6)
+ # write.csv(WomanEmploy,file = "WomanEmploy.csv")
+
+ #X7 <- MD[,.(NumberEmploy=weighted.mean(numbersum,Weight,na.rm = TRUE)),by=ProvinceCode]
+ #X7[,Year:=year]
+ # NumberEmploy <- rbind(NumberEmploy,X7)
+ #write.csv(NumberEmploy,file = "NumberEmploy.csv")
+
+ cat(MD[,weighted.mean(Total_Exp_Month_Per,Weight)])
+}
+
+
+endtime <- proc.time()
+cat("\n\n============================\nIt took ")
+cat(endtime-starttime)
\ No newline at end of file
diff --git a/R/Archive/June 2020 (removed code files)/273-Step3-TFoodPer.R b/R/Archive/June 2020 (removed code files)/273-Step3-TFoodPer.R
new file mode 100644
index 00000000..770d8721
--- /dev/null
+++ b/R/Archive/June 2020 (removed code files)/273-Step3-TFoodPer.R
@@ -0,0 +1,54 @@
+#173- Step 3.R
+#
+# Copyright © 2018: Majid Einian & Arin Shahbazian
+# Licence: GPL-3
+
+rm(list=ls())
+
+starttime <- proc.time()
+cat("\n\n================ Calculationg Per values =====================================\n")
+
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+library(readxl)
+library(stringr)
+library(data.table)
+library(ggplot2)
+library(spatstat)
+
+for(year in (Settings$startyear:Settings$endyear)){
+ cat(paste0("\n------------------------------\nYear:",year,"\n"))
+
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"Merged4CBN298.rda"))
+
+
+ #MD[,Relative_Calorie1 :=FoodKCaloriesHH/Calorie_Need1]
+ #MD[,Relative_Calorie2 :=FoodKCaloriesHH/Calorie_Need2]
+ MD[,OriginalFoodExpenditure_Per :=OriginalFoodExpenditure/EqSizeCalory]
+ MD[,FoodKCaloriesHH_Per:=FoodKCaloriesHH/EqSizeCalory]
+ MD[,FoodProtein_Per:=FoodProteinHH/EqSizeCalory]
+
+ #Calculate per_Calory from resturants
+ MD[,Calory_Price:=(OriginalFoodExpenditure_Per/FoodKCaloriesHH_Per)]
+ MD[,Calory_Price_Area:=weighted.median(Calory_Price,Weight,na.rm = TRUE),by=.(Region,NewArea)]
+ MD[,ResturantKCalories:=(Settings$OutFoodKCXShare*Resturant_Exp)/Calory_Price_Area]
+ for (col in c("ResturantKCalories")) MD[is.na(get(col)), (col) := 0]
+ MD[,TFoodKCaloriesHH:=FoodKCaloriesHH+ResturantKCalories]
+ MD[,TOriginalFoodExpenditure:=OriginalFoodExpenditure+Resturant_Exp]
+
+ MD[,TOriginalFoodExpenditure_Per :=TOriginalFoodExpenditure/EqSizeCalory]
+ MD[,TFoodKCaloriesHH_Per:=TFoodKCaloriesHH/EqSizeCalory]
+
+ ##############################################################
+
+ save(MD, file=paste0(Settings$HEISProcessedPath,"Y",year,"Merged4CBN398.rda"))
+
+
+}
+
+
+
+endtime <- proc.time()
+cat("\n\n============================\nIt took ")
+cat(endtime-starttime)
\ No newline at end of file
diff --git a/R/Archive/June 2020 (removed code files)/274-Step4-RealDeciles.R b/R/Archive/June 2020 (removed code files)/274-Step4-RealDeciles.R
new file mode 100644
index 00000000..48889484
--- /dev/null
+++ b/R/Archive/June 2020 (removed code files)/274-Step4-RealDeciles.R
@@ -0,0 +1,187 @@
+#174-FindInitialPoor.R
+#
+# Copyright © 2018:Majid Einian & Arin Shahbazian
+# Licence: GPL-3
+
+rm(list=ls())
+
+starttime <- proc.time()
+cat("\n\n================ Nominal to Real =====================================\n")
+
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+#library(readxl)
+library(data.table)
+library(ggplot2)
+
+for(year in (Settings$startyear:Settings$endyear)){
+ cat(paste0("\n------------------------------\nYear:",year,"\n"))
+
+ # load data --------------------------------------
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"Merged4CBN398.rda"))
+
+ SMD <- MD[,.(HHID,Region,ProvinceCode,
+ ServiceExp,FoodExpenditure,Total_Exp_Month,
+ NewArea,NewArea_Name,Total_Exp_Month_Per_nondurable,TOriginalFoodExpenditure_Per,
+ # Total_Exp_Month_Per_nondurable2,TFoodExpenditure_Per2,
+ Durable_Exp,
+ TFoodKCaloriesHH_Per,Calorie_Need_WorldBank,Calorie_Need_Anstitoo,
+ Weight,MetrPrice,Size,EqSizeOECD)]
+
+ #Choose one of these
+ SMD[,Bundle_Value:=TOriginalFoodExpenditure_Per*Calorie_Need_WorldBank/TFoodKCaloriesHH_Per]
+ #SMD[,Bundle_Value:=TOriginalFoodExpenditure_Per*Calorie_Need_Anstitoo/TFoodKCaloriesHH_Per]
+ #SMD[,Bundle_Value:=TOriginalFoodExpenditure_Per*Settings$KCaloryNeed_Adult_WorldBank/TFoodKCaloriesHH_Per]
+ #SMD[,Bundle_Value:=TOriginalFoodExpenditure_Per*Settings$KCaloryNeed_Adult_Anstitoo/TFoodKCaloriesHH_Per]
+
+
+ SMD <- SMD[Bundle_Value<=5000000 | TFoodKCaloriesHH_Per>=300] #arbitrary measures, TODO: check in diff years
+
+ #Real Prices
+ T_Bundle_Value <- SMD[NewArea==2301, .(Bundle_Value,MetrPrice,Weight)]
+ TBV1 <- T_Bundle_Value[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE)]
+ TBV2 <- T_Bundle_Value[,weighted.mean(MetrPrice,Weight,na.rm = TRUE)]
+
+ SMD[,PriceIndex2:=(weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/TBV1
+ +weighted.mean(MetrPrice,Weight,na.rm = TRUE)/TBV2)/2
+ ,by=.(Region,NewArea_Name)]
+
+ X <- SMD[,.(weighted.mean(FoodExpenditure/Total_Exp_Month,Weight),
+ weighted.mean(ServiceExp/Total_Exp_Month,Weight)),by=.(Region,NewArea_Name)]
+ X[,V:=V1+V2]
+
+ SMD <- merge(SMD,X,by=c("Region","NewArea_Name"))
+
+ SMD[,PriceIndex:=(weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/TBV1*V1
+ +weighted.mean(MetrPrice,Weight,na.rm = TRUE)/TBV2*V2)/V
+ ,by=.(Region,NewArea_Name)]
+
+ Compare1<-SMD[,.(Old=mean(PriceIndex2),
+ New=mean(PriceIndex)),by=.(Region,NewArea_Name)]
+
+ SMD[,V1:=NULL]
+ SMD[,V2:=NULL]
+ SMD[,V:=NULL]
+
+
+ SMD[,Total_Exp_Month_Per_nondurable_Real:=Total_Exp_Month_Per_nondurable/PriceIndex]
+
+ ###Real- Urban & Rural
+ #SMD<- SMD[order(Region,Total_Exp_Month_Per_nondurable_Real)] #Deciling in Urban- Rural
+ #SMD[,crw:=cumsum(Weight*Size)/sum(Weight*Size),by=Region] # Cumulative Relative Weight
+ #SMD[,Decile:=cut(crw,breaks = seq(0,1,.1),labels = 1:10),by=Region]
+ #SMD[,Percentile:=cut(crw,breaks=seq(0,1,.01),labels=1:100),by=Region]
+
+ ###Real- Country
+ SMD<- SMD[order(Total_Exp_Month_Per_nondurable_Real)] #Deciling in Country
+ SMD[,crw:=cumsum(Weight*Size)/sum(Weight*Size)] # Cumulative Relative Weight
+ SMD[,Decile:=cut(crw,breaks = seq(0,1,.1),labels = 1:10)]
+ SMD[,Percentile:=cut(crw,breaks=seq(0,1,.01),labels=1:100)]
+
+ ###Nominal- Urban & Rural
+ #SMD<- SMD[order(Region,Total_Exp_Month_Per_nondurable)] #Deciling in Urban- Rural(Nominal)
+ #SMD[,crw2:=cumsum(Weight*Size)/sum(Weight*Size),by=Region] # Cumulative Relative Weight
+ #SMD[,Decile_Nominal:=cut(crw2,breaks = seq(0,1,.1),labels = 1:10),by=Region]
+ #SMD[,Percentile_Nominal:=cut(crw2,breaks=seq(0,1,.01),labels=1:100),by=Region]
+
+ ###Nominal- Country
+ SMD<- SMD[order(Total_Exp_Month_Per_nondurable)] #Deciling in Country(Nominal)
+ SMD[,crw2:=cumsum(Weight*Size)/sum(Weight*Size)] # Cumulative Relative Weight
+ SMD[,Decile_Nominal:=cut(crw2,breaks = seq(0,1,.1),labels = 1:10)]
+ SMD[,Percentile_Nominal:=cut(crw2,breaks=seq(0,1,.01),labels=1:100)]
+
+
+
+ SMD[,NewPoor:=1]
+ SMD[,ThisIterationPoor:=0]
+ i <- 0
+ while(sum(SMD[,(ThisIterationPoor-NewPoor)^2])>=0.002*nrow(SMD) & i <=50){
+ i <- i+1
+ SMD[,pold:=Percentile]
+ SMD[,ThisIterationPoor:=ifelse(pold %in% Settings$InitialPoorPercentile,1,0)]
+ SMDIterationPoor<-SMD[ThisIterationPoor==TRUE]
+ SMDIterationPoor[,sum(ThisIterationPoor),by=.(Region,NewArea_Name)][order(Region,NewArea_Name)]
+
+ T_P_Bundle_Value <- SMDIterationPoor[NewArea==2301, .(Bundle_Value,MetrPrice,Weight)]
+ TPBV1 <- T_P_Bundle_Value[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE)]
+ TPBV2 <- T_P_Bundle_Value[,weighted.mean(MetrPrice,Weight,na.rm = TRUE)]
+
+
+ X <- SMDIterationPoor[,.(weighted.mean(FoodExpenditure/Total_Exp_Month,Weight),
+ weighted.mean(ServiceExp/Total_Exp_Month,Weight)),by=.(Region,NewArea_Name)]
+ X[,V:=V1+V2]
+
+ SMDIterationPoor <- merge(SMDIterationPoor,X,by=c("Region","NewArea_Name"))
+ SMDIterationPoor[,PriceIndex:=NULL]
+
+ Index <- SMDIterationPoor[,.(PriceIndex=(weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/TPBV1*V1+
+ weighted.mean(MetrPrice,Weight,na.rm = TRUE)/TPBV2*V2)/V)
+ ,by=.(Region,NewArea_Name)]
+ Index <- Index[,.(PriceIndex=mean(PriceIndex)),by=.(Region,NewArea_Name)]
+
+
+ SMD[,PriceIndex:=NULL]
+ SMD <- merge(SMD,Index,by=c("Region","NewArea_Name"))
+
+ SMD[,Total_Exp_Month_Per_nondurable_Real:=Total_Exp_Month_Per_nondurable/PriceIndex]
+
+
+ ###Real- Urban & Rural
+ #SMD<- SMD[order(Region,Total_Exp_Month_Per_nondurable_Real)] #Deciling in Urban- Rural
+ #SMD[,crw:=cumsum(Weight*Size)/sum(Weight*Size),by=Region] # Cumulative Relative Weight
+ #SMD[,Decile:=cut(crw,breaks = seq(0,1,.1),labels = 1:10),by=Region]
+ #SMD[,Percentile:=cut(crw,breaks=seq(0,1,.01),labels=1:100),by=Region]
+
+ ###Real- Country
+ SMD<- SMD[order(Total_Exp_Month_Per_nondurable_Real)] #Deciling in Country
+ SMD[,crw:=cumsum(Weight*Size)/sum(Weight*Size)] # Cumulative Relative Weight
+ SMD[,Decile:=cut(crw,breaks = seq(0,1,.1),labels = 1:10)]
+ SMD[,Percentile:=cut(crw,breaks=seq(0,1,.01),labels=1:100)]
+
+ SMD[,NewPoor:=ifelse(Percentile %in% Settings$InitialPoorPercentile,1,0)]
+ save(SMD,file=paste0(Settings$HEISProcessedPath,"Y",year,"SMD98.rda"))
+
+ #cat("\n",sum(SMD[ProvinceCode==2,.N]))
+ cat("\n",sum(SMD[,(ThisIterationPoor-NewPoor)^2]))
+ SMD[,weighted.mean(Size,Weight),by=.(Region)][order(Region)]
+ SMD[,sum(Size*Weight),by=.(Region,Decile)][order(Region,Decile)]
+
+ SMD[,weighted.mean(Size,Weight,na.rm = TRUE),by=.(Decile)][order(Decile)]
+ # NewDecile<-SMD[,.(HHID,Decile)]
+ # names(NewDecile)<-c("HHID","NewDecile")
+ # save(NewDecile,file=paste0(Settings$HEISProcessedPath,"Y",year,"NewDecile.rda"))
+
+ # OldDecile<-SMD[,.(HHID,Decile)]
+ # names(OldDecile)<-c("HHID","OldDecile")
+ # save(OldDecile,file=paste0(Settings$HEISProcessedPath,"Y",year,"OldDecile.rda"))
+
+ }
+
+ #load(file=paste0(Settings$HEISProcessedPath,"Y",year,"NewDecile.rda"))
+ #DecileCompare<-merge(as.data.table(OldDecile),NewDecile,by="HHID")
+ #DecileCompare[,Diff:=as.numeric(NewDecile)-as.numeric(OldDecile)]
+ #DecileCompare2<- DecileCompare[,.(.N),by=Diff]
+
+ #ggplot(DecileCompare2, aes(fill=factor(Diff), y=N, x=factor(Diff))) +
+ # geom_bar(position="dodge", stat="identity") + theme_bw() +
+ # theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1)) +
+ # geom_text(aes(label=N), position=position_dodge(width=0.9), vjust=-0.25)
+
+ MD <- merge(MD,SMD[,.(HHID,Bundle_Value,NewPoor,Decile,Percentile,Decile_Nominal,Percentile_Nominal)],by="HHID")
+ setnames(MD,"NewPoor","InitialPoor")
+
+
+ MD[,weighted.mean(InitialPoor,Weight), by=.(NewArea_Name,Region)]
+ MD[,sum(Weight*Size), by=.(Decile,Region)][order(Region,Decile)]
+ MD[,sum(Weight*Size), by=.(Decile_Nominal,Region)][order(Region,Decile_Nominal)]
+
+ save(MD,file=paste0(Settings$HEISProcessedPath,"Y",year,"InitialPoor98.rda"))
+
+ }
+
+
+endtime <- proc.time()
+cat("\n\n============================\nIt took ")
+cat((endtime-starttime)["elapsed"])
+cat(" seconds")
diff --git a/R/Archive/June 2020 (removed code files)/275-Step5-AddClusterInfo.R b/R/Archive/June 2020 (removed code files)/275-Step5-AddClusterInfo.R
new file mode 100644
index 00000000..4ae1848f
--- /dev/null
+++ b/R/Archive/June 2020 (removed code files)/275-Step5-AddClusterInfo.R
@@ -0,0 +1,117 @@
+#183-Clustering(93-96).R
+#
+# Copyright © 2018: Majid Einian & Arin Shahbazian
+# Licence: GPL-3
+
+rm(list=ls())
+
+starttime <- proc.time()
+cat("\n\n================ Prepare Data =====================================\n")
+library(yaml)
+library(dplyr)
+Settings <- yaml.load_file("Settings.yaml")
+
+library(readxl)
+library(data.table)
+library(ggplot2)
+for(year in (Settings$startyear:Settings$endyear)){
+ cat(paste0("\n------------------------------\nYear:",year,"\n"))
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"InitialPoor98.rda"))
+
+ #####Clustering#####
+ dt2Urban<-MD[Region=="Urban",.(NewArea,NewArea_Name,Region,HHID)]
+ dt2Rural<-MD[Region=="Rural",.(NewArea,NewArea_Name,Region,HHID)]
+
+ #####Urban#####
+ dt2Urban<-dt2Urban[NewArea_Name=="Sh_Tehran",cluster3:=1]
+
+ dt2Urban<-dt2Urban[NewArea_Name=="Sh_Shiraz" | NewArea_Name=="Sh_Esfahan" |
+ NewArea_Name=="Sh_Bandarabas" |
+ NewArea_Name=="Sh_Karaj" |
+ NewArea_Name=="Sh_Rasht",
+ cluster3:=2]
+
+ dt2Urban<-dt2Urban[NewArea_Name=="Gilan" | NewArea_Name=="Alborz" |
+ NewArea_Name=="Kohkilooye" | NewArea_Name=="Ghazvin" |
+ NewArea_Name=="Markazi" | NewArea_Name=="Esfahan" |
+ NewArea_Name=="Ghom" | NewArea_Name=="Sh_Arak" |
+ NewArea_Name=="Tehran" | NewArea_Name=="Sh_Tabriz" |
+ NewArea_Name=="Mazandaran" | NewArea_Name=="Sh_Yazd" ,
+ cluster3:=3]
+
+ dt2Urban<-dt2Urban[ NewArea_Name=="Yazd" |
+ NewArea_Name=="Sh_Kerman" |
+ NewArea_Name=="Sh_Hamedan" |
+ NewArea_Name=="Chaharmahal" |
+ NewArea_Name=="Zanjan" | NewArea_Name=="Hamedan" |
+ NewArea_Name=="Sh_Mashhad" | NewArea_Name=="Sh_Urmia" |
+ NewArea_Name=="Sh_Ahvaz" | NewArea_Name=="Hormozgan"|
+ NewArea_Name=="Booshehr" |
+ NewArea_Name=="Semnan" | NewArea_Name=="Fars",
+ cluster3:=4]
+
+ dt2Urban<-dt2Urban[ NewArea_Name=="Sh_Kermanshah" | NewArea_Name== "Az_Sharghi" |
+ NewArea_Name=="Kerman" |
+ NewArea_Name=="Ardebil" |
+ NewArea_Name=="Ilam" ,
+ cluster3:=5]
+
+ dt2Urban<-dt2Urban[NewArea_Name=="Khoozestan" | NewArea_Name=="Kordestan" |
+ NewArea_Name=="Khorasan_Razavi" |
+ NewArea_Name=="Khorasan_Jonoobi" | NewArea_Name=="Az_Gharbi" |
+ NewArea_Name=="Kermanshah" | NewArea_Name=="Lorestan" |
+ NewArea_Name=="Khorasan_Shomali" | NewArea_Name=="Golestan",
+ cluster3:=6]
+
+ dt2Urban<-dt2Urban[NewArea_Name=="Sistan" | NewArea_Name=="Sh_Zahedan",
+ cluster3:=7]
+
+ save(dt2Urban,file ="dt2Urban.rda")
+ #####Rural#####
+ dt2Rural<-dt2Rural[ NewArea_Name=="Tehran" | NewArea_Name=="Alborz",
+ cluster3:=8]
+
+ dt2Rural<-dt2Rural[NewArea_Name=="Esfahan" | NewArea_Name=="Mazandaran" ,
+ cluster3:=9]
+
+ dt2Rural<-dt2Rural[ NewArea_Name=="Ghazvin" | NewArea_Name=="Yazd" |
+ NewArea_Name=="Gilan" |
+ NewArea_Name=="Kohkilooye" | NewArea_Name=="Booshehr",
+ cluster3:=10]
+
+ dt2Rural<-dt2Rural[ NewArea_Name=="Zanjan" |
+ NewArea_Name=="Chaharmahal"| NewArea_Name=="Hormozgan" | NewArea_Name=="Az_Sharghi" |
+ NewArea_Name=="Ghom" |
+ NewArea_Name=="Fars" |
+ NewArea_Name=="Markazi" | NewArea_Name=="Semnan",
+ cluster3:=11]
+
+ dt2Rural<-dt2Rural[ NewArea_Name=="Hamedan" |
+ NewArea_Name=="Az_Gharbi" | NewArea_Name=="Kermanshah" |
+ NewArea_Name=="Kerman" | NewArea_Name=="Golestan" |
+ NewArea_Name=="Khorasan_Jonoobi" | NewArea_Name=="Lorestan" |
+ NewArea_Name=="Kordestan"|
+ NewArea_Name=="Khoozestan" |
+ NewArea_Name=="Ardebil" | NewArea_Name=="Ilam",
+ cluster3:=12]
+
+ dt2Rural<-dt2Rural[ NewArea_Name=="Khorasan_Shomali" | NewArea_Name=="Khorasan_Razavi" |
+ NewArea_Name=="Sistan" ,
+ cluster3:=13]
+
+ save(dt2Rural,file ="dt2Rural.rda")
+ #####Merge#####
+ dt2total<-rbind(dt2Urban,dt2Rural)
+
+
+ dt2total[,HHID:=NULL]
+ dt2total<-distinct(dt2total)
+
+ MD<-merge(MD,dt2total,by=c("NewArea","NewArea_Name","Region"))
+ save(MD,file=paste0(Settings$HEISProcessedPath,"Y",year,"InitialPoorClustered98.rda"))
+}
+
+endtime <- proc.time()
+cat("\n\n============================\nIt took ")
+cat((endtime-starttime)["elapsed"])
+cat(" seconds")
\ No newline at end of file
diff --git a/R/Archive/June 2020 (removed code files)/276-Step6-FoodBasicNeeds.R b/R/Archive/June 2020 (removed code files)/276-Step6-FoodBasicNeeds.R
new file mode 100644
index 00000000..29c5698b
--- /dev/null
+++ b/R/Archive/June 2020 (removed code files)/276-Step6-FoodBasicNeeds.R
@@ -0,0 +1,76 @@
+#176-Step 6- FoodBasicNeeds.R
+#
+# Copyright © 2018:Majid Einian & Arin Shahbazian
+# Licence: GPL-3
+
+rm(list=ls())
+
+starttime <- proc.time()
+cat("\n\n================ Prepare Data =====================================\n")
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+library(readxl)
+library(data.table)
+library(ggplot2)
+
+for(year in (Settings$startyear:Settings$endyear)){
+ cat(paste0("\n------------------------------\nYear:",year,"\n"))
+
+ # load data --------------------------------------
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"InitialPoor98.rda"))
+ MD<-MD[CountyCode==2301]
+ #load(file = "CPI.rda")
+ #CPI<-as.data.table(CPI)
+ #CPI<-CPI[,Decile:=as.character(Decile)]
+ #MD<-merge(MD,CPI,by="Decile")
+
+ #Determine Food (Equal 2100 KCal) Bundle
+ #MDPoors<-MD[InitialPoor==1]
+ MD[,NewPoor:=InitialPoor]
+ #MD[,NewPoor:=ifelse(Decile %in% c(1,2,3,4),1,0)]
+ MD[,OldPoor:=1]
+
+ i <- 0
+ while(MD[(NewPoor-OldPoor)!=0,.N]>0.001*nrow(MD[NewPoor==1]) & i <=15){
+# cat(nrow(MD[NewPoor==1]))
+ i <- i + 1
+ MD[,ThisIterationPoor:=NewPoor]
+ MD[,FPLine:=NULL]
+ MDP <- MD[ThisIterationPoor==1,
+ .(FPLine=weighted.mean(Bundle_Value,Weight,na.rm = TRUE)),
+ by=.(Region)]
+ MD <- merge(MD,MDP,by=c("Region"))
+# print(MDP)
+ #x<-MD[,.(NewArea,Region,FPLine,InitialPoor)]
+ MD[,NewPoor:=ifelse(TOriginalFoodExpenditure_Per < FPLine,1,0)]
+ print(table(MD[,.(ThisIterationPoor,NewPoor)]))
+ MD[,OldPoor:=ThisIterationPoor]
+ }
+
+ MD[,FinalFoodPoor:=OldPoor]
+
+ # MD <- MD[,.(HHID,HIndivNo,Region,NewArea,NewArea_Name,cluster3,ProvinceCode,Size,HAge,HSex,Month,ServiceExp,
+ # HLiterate,HEduLevel0,HActivityState,Area,Rooms,MetrPrice,Total_Exp_Month_nondurable,
+ # Total_Exp_Month_Per_nondurable,TOriginalFoodExpenditure_Per,
+ # OriginalFoodExpenditure_Per,FPLine,Weight,Percentile,FinalFoodPoor,
+ # Total_Exp_Month_Per,TFoodKCaloriesHH_Per,TOriginalFoodExpenditure,Total_Exp_Month,
+ # TFoodExpenditure2,Total_Exp_Month_nondurable2,Total_Exp_Month2,
+ # Total_Exp_Month_Per2,
+ # EqSizeOECD,EqSizeCalory,Decile,Bundle_Value)]
+ save(MD,file=paste0(Settings$HEISProcessedPath,"Y",year,"FinalFoodPoor98.rda"))
+ MD[,weighted.mean(FinalFoodPoor,Weight)]
+ # MDFinalfood<-MD[,.(HHID,Region,NewArea,cluster3,Percentile,FinalFoodPoor)]
+ # UrbanFinalfood<-MDFinalfood[Region=="Urban"]
+ # RuralFinalfood<-MDFinalfood[Region=="Rural"]
+ # save(UrbanFinalfood, file=paste0(Settings$HEISProcessedPath,"Y",year,"UrbanFinalfood.rda"))
+ # save(RuralFinalfood, file=paste0(Settings$HEISProcessedPath,"Y",year,"RuralFinalfood.rda"))
+ #
+ MD[,weighted.mean(FinalFoodPoor,Weight),by=c("Region","ProvinceCode")][order(Region,ProvinceCode)]
+ #MD[,weighted.mean(FinalFoodPoor,Weight),by=cluster3][order(cluster3)]
+}
+
+endtime <- proc.time()
+cat("\n\n============================\nIt took ")
+cat((endtime-starttime)["elapsed"])
+cat(" seconds")
\ No newline at end of file
diff --git a/R/Archive/June 2020 (removed code files)/277-Step 7 ,8,9-PovertyLines.R b/R/Archive/June 2020 (removed code files)/277-Step 7 ,8,9-PovertyLines.R
new file mode 100644
index 00000000..d6eeca04
--- /dev/null
+++ b/R/Archive/June 2020 (removed code files)/277-Step 7 ,8,9-PovertyLines.R
@@ -0,0 +1,348 @@
+# 177- Step 7,8,9-Poverty Line.R
+#
+# Copyright © 2018:Majid Einian & Arin Shahbazian
+# Licence: GPL-3
+
+rm(list=ls())
+
+starttime <- proc.time()
+cat("\n\n================ Poverty Line =====================================\n")
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+library(readxl)
+library(data.table)
+library(ggplot2)
+library(stats)
+library(spatstat)
+
+FinalCountryResults <- data.table(Year=NA_integer_,PovertyLine=NA_real_,
+ Engle=NA_real_,Bundle_Value=NA_real_,
+ Total_Exp_Month_Per=NA_real_,PovertyHCR=NA_real_,
+ PovertyGap=NA_real_,PovertyDepth=NA_real_)[0]
+FinalRegionResults <- data.table(Year=NA_integer_,Region=NA_integer_,PovertyLine=NA_real_,PovertyHCR=NA_real_,
+ PovertyGap=NA_real_,PovertyDepth=NA_real_)[0]
+
+
+
+
+for(year in (Settings$startyear:Settings$endyear)){
+ cat(paste0("\nYear:",year,"\t"))
+
+ # load data --------------------------------------
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"FinalFoodPoor98.rda"))
+
+ #MD<-MD[Region=="Rural"]
+ #MD<-MD[cluster3==13]
+MD<-MD[CountyCode==2301]
+
+
+ EngleD<- MD[TOriginalFoodExpenditure_Per>0.8*FPLine &
+ TOriginalFoodExpenditure_Per<1.2*FPLine,
+ .(.N,Engel=weighted.mean(TOriginalFoodExpenditure/Total_Exp_Month,Weight),
+ FPLine=mean(FPLine)),by=.(Region)]
+
+
+
+ EngleD[,PovertyLine:=FPLine/Engel]
+ MD <- merge(MD,EngleD[,.(Region,PovertyLine,Engel)],by=c("Region"))
+ MD[,FinalPoor:=ifelse(Total_Exp_Month_Per < PovertyLine,1,0 )]
+ MD<-MD[,HHEngle:=TOriginalFoodExpenditure/Total_Exp_Month,Weight]
+ save(MD,file=paste0(Settings$HEISProcessedPath,"Y",year,"FINALPOORS98.rda"))
+
+
+ MD[,FGT1M:=(PovertyLine-Total_Exp_Month_Per)/PovertyLine]
+ MD[,FGT2M:=((PovertyLine-Total_Exp_Month_Per)/PovertyLine)^2]
+
+
+ ################Country##################
+
+ X1 <- MD[,.(PovertyLine=weighted.mean(PovertyLine,Weight*Size),
+ PovertyHCR=weighted.mean(FinalPoor,Weight*Size),
+ Engle=weighted.mean(HHEngle,Weight),
+ Bundle_Value=weighted.mean(Bundle_Value,Weight),
+ Total_Exp_Month_Per=weighted.mean(Total_Exp_Month_Per,Weight))]
+ X2 <- MD[FinalPoor==1,.(PovertyGap=weighted.mean(FGT1M,Weight*Size),
+ PovertyDepth=weighted.mean(FGT2M,Weight*Size))]
+ X1[,Year:=year]
+ X2[,Year:=year]
+ X <- merge(X1,X2,by="Year")
+ FinalCountryResults <- rbind(FinalCountryResults,X)
+
+ ################Region##################
+ X1 <- MD[,.(PovertyLine=weighted.mean(PovertyLine,Weight*Size),
+ PovertyHCR=weighted.mean(FinalPoor,Weight*Size)),by=Region]
+ X2 <- MD[FinalPoor==1,.(PovertyGap=weighted.mean(FGT1M,Weight*Size),
+ PovertyDepth=weighted.mean(FGT2M,Weight*Size)),by=Region]
+ X1[,Year:=year]
+ X2[,Year:=year]
+ X <- merge(X1,X2,by=c("Year","Region"))
+ FinalRegionResults <- rbind(FinalRegionResults,X)
+
+
+
+
+ cat(MD[, weighted.mean(FinalPoor,Weight*Size)],"\t")
+ cat(MD[, weighted.mean(PovertyLine,Weight*Size)],"\t")
+ cat(MD[, weighted.mean(FPLine,Weight*Size)],"\t")
+ cat(MD[, sum(Weight*Size)],"\t")
+ cat(MD[, weighted.mean(Engel,Weight*Size)],"\t")
+
+ MD1<-MD[,.(HHID,FinalPoor)]
+ save(MD1,file=paste0(Settings$HEISProcessedPath,"Y",year,"POORS.rda"))
+
+ Poors<-MD[FinalPoor==1]
+
+MD[,weighted.mean(Bundle_Value,Weight),by=.(Region,Decile)][order(Region,Decile)]
+MD[,weighted.mean(Bundle_Value,Weight),by=.(Decile)][order(Decile)]
+MD[,weighted.mean(Bundle_Value,Weight),by=.(Region)][order(Region)]
+MD[,weighted.mean(Bundle_Value,Weight)]
+
+MD[,weighted.mean(FPLine,Weight),by=.(Region,Decile)][order(Region,Decile)]
+MD[,weighted.mean(FPLine,Weight),by=.(Decile)][order(Decile)]
+MD[,weighted.mean(FPLine,Weight),by=.(Region)][order(Region)]
+MD[,weighted.mean(FPLine,Weight)]
+
+MD[,weighted.mean(TFoodKCaloriesHH_Per,Weight),by=.(Region,Decile)][order(Region,Decile)]
+MD[,weighted.mean(TFoodKCaloriesHH_Per,Weight),by=.(Decile)][order(Decile)]
+MD[,weighted.mean(TFoodKCaloriesHH_Per,Weight),by=.(Region)][order(Region)]
+MD[,weighted.mean(TFoodKCaloriesHH_Per,Weight)]
+
+MD[as.numeric(Decile)==1,weighted.mean(TFoodKCaloriesHH_Per,Weight),by=.(Region)][order(Region)]
+MD[as.numeric(Decile)==1,weighted.mean(TFoodKCaloriesHH_Per,Weight)]
+
+MD[,weighted.mean(OriginalFoodExpenditure_Per,Weight),by=.(Region,Decile)][order(Region,Decile)]
+MD[,weighted.mean(OriginalFoodExpenditure_Per,Weight),by=.(Decile)][order(Decile)]
+MD[,weighted.mean(OriginalFoodExpenditure_Per,Weight),by=.(Region)][order(Region)]
+MD[,weighted.mean(OriginalFoodExpenditure_Per,Weight)]
+
+MD[FinalPoor==1,weighted.mean(OriginalFoodExpenditure_Per,Weight),by=.(Region)][order(Region)]
+MD[FinalPoor==1,weighted.mean(OriginalFoodExpenditure_Per,Weight)]
+
+D<-MD[,.(Food=weighted.mean(FoodExpenditure,Weight.x),
+ Total=weighted.mean(Total_Exp_Month,Weight.x))]
+
+D1<-MD[,.(Food=weighted.mean(FoodExpenditure,Weight.x),
+ Total=weighted.mean(Total_Exp_Month,Weight.x)),by=Decile]
+
+D2<-MD[,.(Food=weighted.mean(FoodExpenditure/EqSizeCalory,Weight.x),
+ Total=weighted.mean(Total_Exp_Month_Per,Weight.x)),by=Decile]
+
+load(file = paste0(Settings$HEISProcessedPath,"Y",year,"TotalFoodCon.rda"))
+MD<-merge(MD,TotalFoodCon,by="HHID")
+
+load(file = paste0(Settings$HEISProcessedPath,"Y",year,"TotalFoodExp.rda"))
+MD<-merge(MD,TotalFoodExp,by="HHID")
+
+
+MD[,weighted.mean(G0111,Weight.x)]
+MD[,weighted.mean(G01181,Weight.x)]
+MD[,weighted.mean(G01121,Weight.x)]
+MD[,weighted.mean(G01176,Weight.x)]
+MD[,weighted.mean(G01131,Weight.x)]
+MD[,weighted.mean(`011164`,Weight.x)]
+MD[,weighted.mean(`011424`,Weight.x)]
+MD[,weighted.mean(G0116,Weight.x)]
+MD[,weighted.mean(G01123,Weight.x)]
+MD[,weighted.mean(G01114,Weight.x)]
+MD[,weighted.mean(`011428`,Weight.x)]
+MD[,weighted.mean(G01153+G01152+G01151,Weight.x)]
+MD[,weighted.mean(G0117,Weight.x)]
+MD[,weighted.mean(G01141,Weight.x)]
+MD[,weighted.mean(`011731`,Weight.x)]
+MD[,weighted.mean(G01144,Weight.x)]
+MD[,weighted.mean(G01165+G01166,Weight.x)]
+
+MD[FinalPoor==1,weighted.mean(G0111,Weight.x)]
+MD[FinalPoor==1,weighted.mean(G01181,Weight.x)]
+MD[FinalPoor==1,weighted.mean(G01121+SheepMeatGram,Weight.x)]
+MD[FinalPoor==1,weighted.mean(G01176,Weight.x)]
+MD[FinalPoor==1,weighted.mean(G01131,Weight.x)]
+MD[FinalPoor==1,weighted.mean(`011164`,Weight.x)]
+MD[FinalPoor==1,weighted.mean(`011424`,Weight.x)]
+MD[FinalPoor==1,weighted.mean(G0116,Weight.x)]
+MD[FinalPoor==1,weighted.mean(G01123,Weight.x)]
+MD[FinalPoor==1,weighted.mean(G01114,Weight.x)]
+MD[FinalPoor==1,weighted.mean(`011428`,Weight.x)]
+MD[FinalPoor==1,weighted.mean(G01153+G01152+G01151,Weight.x)]
+MD[FinalPoor==1,weighted.mean(G0117,Weight.x)]
+MD[FinalPoor==1,weighted.mean(G01141,Weight.x)]
+MD[FinalPoor==1,weighted.mean(`011731`,Weight.x)]
+MD[FinalPoor==1,weighted.mean(G01144,Weight.x)]
+MD[FinalPoor==1,weighted.mean(G01165+G01166,Weight.x)]
+
+MD[,weighted.mean(G0111,Weight.x), by=Decile][order(Decile)]
+MD[,weighted.mean(G01181,Weight.x), by=Decile][order(Decile)]
+MD[,weighted.mean(G01121+SheepMeatGram,Weight.x), by=Decile][order(Decile)]
+MD[,weighted.mean(G01176,Weight.x), by=Decile][order(Decile)]
+MD[,weighted.mean(G01131,Weight.x), by=Decile][order(Decile)]
+MD[,weighted.mean(`011164`,Weight.x), by=Decile][order(Decile)]
+MD[,weighted.mean(`011424`,Weight.x), by=Decile][order(Decile)]
+MD[,weighted.mean(G0116,Weight.x), by=Decile][order(Decile)]
+MD[,weighted.mean(G01123,Weight.x), by=Decile][order(Decile)]
+MD[,weighted.mean(G01114,Weight.x), by=Decile][order(Decile)]
+MD[,weighted.mean(`011428`,Weight.x), by=Decile][order(Decile)]
+MD[,weighted.mean(G01153+G01152+G01151,Weight.x), by=Decile][order(Decile)]
+MD[,weighted.mean(G0117,Weight.x), by=Decile][order(Decile)]
+MD[,weighted.mean(G01141,Weight.x), by=Decile][order(Decile)]
+MD[,weighted.mean(`011731`,Weight.x), by=Decile][order(Decile)]
+MD[,weighted.mean(G01144,Weight.x), by=Decile][order(Decile)]
+MD[,weighted.mean(G01165+G01166,Weight.x), by=Decile][order(Decile)]
+
+
+MD[,weighted.mean(GrainGrams,Weight), by=Decile][order(Decile)]
+MD[,weighted.mean(GhandGram,Weight), by=Decile][order(Decile)]
+MD[,weighted.mean(CowMeatGram+SheepMeatGram,Weight), by=Decile][order(Decile)]
+MD[,weighted.mean(BeansGrams,Weight), by=Decile][order(Decile)]
+MD[,weighted.mean(FishandShrimpsGrams,Weight), by=Decile][order(Decile)]
+MD[,weighted.mean(MacaroniGram,Weight), by=Decile][order(Decile)]
+MD[,weighted.mean(Yogurt_PasturizedGram,Weight), by=Decile][order(Decile)]
+MD[,weighted.mean(TreeFruitsGrams,Weight), by=Decile][order(Decile)]
+MD[,weighted.mean(PoultryMeat_MGram,Weight), by=Decile][order(Decile)]
+MD[,weighted.mean(BreadGrams,Weight), by=Decile][order(Decile)]
+MD[,weighted.mean(Cheese_PasturizedGram,Weight), by=Decile][order(Decile)]
+MD[,weighted.mean(Oil_NabatiGram+Oil_AnimalGram,Weight), by=Decile][order(Decile)]
+MD[,weighted.mean(Sabzi_AshGram+Sabzi_KhordanGram,Weight), by=Decile][order(Decile)]
+MD[,weighted.mean(MilkGrams,Weight), by=Decile][order(Decile)]
+MD[,weighted.mean(SibzaminiGram,Weight), by=Decile][order(Decile)]
+MD[,weighted.mean(Egg_MashinGram+Egg_NonMashinGram,Weight), by=Decile][order(Decile)]
+MD[,weighted.mean(NutsGrams,Weight), by=Decile][order(Decile)]
+
+MD[,weighted.mean(GrainGrams,Weight.x), by=Decile][order(Decile)]
+MD[,weighted.mean(GhandGram,Weight.x), by=Decile][order(Decile)]
+MD[,weighted.mean(CowMeatGram+SheepMeatGram,Weight.x), by=Decile][order(Decile)]
+MD[,weighted.mean(BeansGrams,Weight.x), by=Decile][order(Decile)]
+MD[,weighted.mean(FishandShrimpsGrams,Weight.x), by=Decile][order(Decile)]
+MD[,weighted.mean(MacaroniGram,Weight.x), by=Decile][order(Decile)]
+MD[,weighted.mean(Yogurt_PasturizedGram,Weight.x), by=Decile][order(Decile)]
+MD[,weighted.mean(TreeFruitsGrams,Weight.x), by=Decile][order(Decile)]
+MD[,weighted.mean(PoultryMeat_MGram,Weight.x), by=Decile][order(Decile)]
+MD[,weighted.mean(BreadGrams,Weight.x), by=Decile][order(Decile)]
+MD[,weighted.mean(Cheese_PasturizedGram,Weight.x), by=Decile][order(Decile)]
+MD[,weighted.mean(Oil_NabatiGram+Oil_AnimalGram,Weight.x), by=Decile][order(Decile)]
+MD[,weighted.mean(Sabzi_AshGram+Sabzi_KhordanGram,Weight.x), by=Decile][order(Decile)]
+MD[,weighted.mean(MilkGrams,Weight.x), by=Decile][order(Decile)]
+MD[,weighted.mean(SibzaminiGram,Weight.x), by=Decile][order(Decile)]
+MD[,weighted.mean(Egg_MashinGram+Egg_NonMashinGram,Weight.x), by=Decile][order(Decile)]
+MD[,weighted.mean(NutsGrams,Weight.x), by=Decile][order(Decile)]
+
+
+MD[FinalPoor==1,weighted.mean(GrainGrams,Weight)]
+MD[FinalPoor==1,weighted.mean(GhandGram,Weight)]
+MD[as.numeric(Decile)==1,weighted.mean(CowMeatGram+SheepMeatGram,Weight)]
+MD[FinalPoor==1,weighted.mean(BeansGrams,Weight)]
+MD[FinalPoor==1,weighted.mean(FishandShrimpsGrams,Weight)]
+MD[FinalPoor==1,weighted.mean(MacaroniGram,Weight)]
+MD[FinalPoor==1,weighted.mean(Yogurt_PasturizedGram,Weight)]
+MD[FinalPoor==1,weighted.mean(TreeFruitsGrams,Weight)]
+MD[FinalPoor==1,weighted.mean(PoultryMeat_MGram,Weight)]
+MD[FinalPoor==1,weighted.mean(BreadGrams,Weight)]
+MD[FinalPoor==1,weighted.mean(Cheese_PasturizedGram,Weight)]
+MD[FinalPoor==1,weighted.mean(Oil_NabatiGram+Oil_AnimalGram,Weight)]
+MD[FinalPoor==1,weighted.mean(Sabzi_AshGram+Sabzi_KhordanGram,Weight)]
+MD[FinalPoor==1,weighted.mean(MilkGrams,Weight)]
+MD[FinalPoor==1,weighted.mean(SibzaminiGram,Weight)]
+MD[FinalPoor==1,weighted.mean(Egg_MashinGram+Egg_NonMashinGram,Weight)]
+MD[FinalPoor==1,weighted.mean(NutsGrams,Weight)]
+
+
+MD[as.numeric(Decile)==1,weighted.mean(GrainGrams,Weight)]
+MD[as.numeric(Decile)==1,weighted.mean(GhandGram,Weight)]
+MD[as.numeric(Decile)==1,weighted.mean(Cow_LiveGram,Weight)]
+MD[as.numeric(Decile)==1,weighted.mean(BeansGrams,Weight)]
+MD[as.numeric(Decile)==1,weighted.mean(FishandShrimpsGrams,Weight)]
+MD[as.numeric(Decile)==1,weighted.mean(MacaroniGram,Weight)]
+MD[as.numeric(Decile)==1,weighted.mean(Yogurt_PasturizedGram,Weight)]
+MD[as.numeric(Decile)==1,weighted.mean(TreeFruitsGrams,Weight)]
+MD[as.numeric(Decile)==1,weighted.mean(PoultryMeat_MGram,Weight)]
+MD[as.numeric(Decile)==1,weighted.mean(BreadGrams,Weight)]
+MD[as.numeric(Decile)==1,weighted.mean(Cheese_PasturizedGram,Weight)]
+MD[as.numeric(Decile)==1,weighted.mean(Oil_NabatiGram+Oil_AnimalGram,Weight)]
+MD[as.numeric(Decile)==1,weighted.mean(Sabzi_AshGram+Sabzi_KhordanGram,Weight)]
+MD[as.numeric(Decile)==1,weighted.mean(MilkGrams,Weight)]
+MD[as.numeric(Decile)==1,weighted.mean(SibzaminiGram,Weight)]
+MD[as.numeric(Decile)==1,weighted.mean(Egg_MashinGram+Egg_NonMashinGram,Weight)]
+MD[as.numeric(Decile)==1,weighted.mean(NutsGrams,Weight)]
+
+
+
+
+
+
+MD[as.numeric(Decile)<2,weighted.mean(FinalPoor,Weight)]
+
+ MD5<-MD[ProvinceCode!=11]
+ MD5<-MD5[,Group:=ifelse(FinalPoor==0 & FinalFoodPoor==0,"NoPoor",
+ ifelse(FinalPoor==1 & FinalFoodPoor==0,"OnlyFinalPoor",
+ ifelse(FinalPoor==0 & FinalFoodPoor==1,"OnlyFoodPoor","Both")))]
+ a<-ggplot(MD5,aes(x=HHEngle, fill=factor(Group))) +
+ geom_density(alpha=0.25)+
+ xlim(0,1)+ylim(0,5)+
+ ggtitle(year)
+ plot(a)
+
+
+
+ MDD<-MD[,.(Population=sum(Weight*Size)), by=.(Decile,ProvinceName)][order(ProvinceName,Decile)]
+ ggplot(MDD, aes(fill=factor(Decile), y=Population, x=ProvinceName)) +
+ geom_bar(position="fill", stat="identity") + theme_bw() +
+ theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1))
+
+
+
+ Decile1<-MD[as.numeric(Decile)<2,.(HHID,Region,ProvinceName,NewArea_Name,Weight,FinalFoodPoor,FinalPoor,Durable_Exp)]
+ Decile1Poors<-Decile1[,.(Decile1Poors=weighted.mean(FinalPoor,Weight)),by=c("ProvinceName")][order(ProvinceName)]
+ ggplot(Decile1Poors, aes( y=Decile1Poors, x=ProvinceName)) +
+ geom_bar(position="dodge", stat="identity") + theme_bw() +
+ theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1))
+
+ Decile2<-MD[as.numeric(Decile)<3,.(HHID,Region,ProvinceName,NewArea_Name,Weight,FinalFoodPoor,FinalPoor,Durable_Exp)]
+ Decile2Poors<-Decile2[,.(Decile2Poors=weighted.mean(FinalPoor,Weight)),by=c("ProvinceName")][order(ProvinceName)]
+ ggplot(Decile2Poors, aes( y=Decile2Poors, x=ProvinceName)) +
+ geom_bar(position="dodge", stat="identity") + theme_bw() +
+ theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1))
+
+ Decile5<-MD[as.numeric(Decile)>3,.(HHID,Region,ProvinceName,NewArea_Name,Weight,FinalFoodPoor,FinalPoor,Durable_Exp)]
+ Decile5Poors<-Decile5[,.(Decile5Poors=weighted.mean(FinalPoor,Weight)),by=c("ProvinceName")][order(ProvinceName)]
+ ggplot(Decile5Poors, aes( y=Decile5Poors, x=ProvinceName)) +
+ geom_bar(position="dodge", stat="identity") + theme_bw() +
+ theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1))
+
+
+
+
+ MD[,weighted.mean(FinalPoor,Weight),by=ProvinceCode][order(ProvinceCode)]
+}
+
+MD[,sum(Weight),by=Decile][order(Decile)]
+MD[,sum(Weight),by=.(Region,Decile)][order(Region,Decile)]
+MD[,sum(Weight)]
+MD[,sum(Weight*Size)]
+
+MD<-MD[,Total:=OriginalFoodExpenditure+Cigar_Exp+Cloth_Exp+
+ HouseandEnergy_Exp+Furniture_Exp+Hygiene_Exp+
+ Transportation_Exp+Communication_Exp+Communication_Exp+
+ Amusement_Exp+Education_Exp+HotelRestaurant_Exp+
+ Other_Exp+Durable_Exp]
+m<-MD[,.(Total,Total_Exp_Month)]
+
+Share<-MD[,.(Foodshare=weighted.mean(OriginalFoodExpenditure/Total,Weight),
+ CigarShare=weighted.mean(Cigar_Exp/Total,Weight),
+ ClothShare=weighted.mean(Cloth_Exp/Total,Weight),
+ HouseandEnergyShare=weighted.mean(HouseandEnergy_Exp/Total,Weight),
+ FurnitureShare=weighted.mean(Furniture_Exp/Total,Weight),
+ HygieneShare=weighted.mean(Hygiene_Exp/Total,Weight),
+ TransportationShare=weighted.mean(Transportation_Exp/Total,Weight),
+ CommunicationShare=weighted.mean(Communication_Exp/Total,Weight),
+ AmusementShare=weighted.mean(Amusement_Exp/Total,Weight),
+ EducationShare=weighted.mean(Education_Exp/Total,Weight),
+ HotelShare=weighted.mean(HotelRestaurant_Exp/Total,Weight),
+ OtherShare=weighted.mean(Other_Exp/Total,Weight),
+ DurableShare=weighted.mean(Durable_Exp/Total,Weight)),by=Decile]
+
+
+
+endtime <- proc.time()
+cat("\n\n============================\nIt took ")
+cat((endtime-starttime)["elapsed"])
+cat(" seconds")
\ No newline at end of file
diff --git a/R/Archive/June 2020 (removed code files)/701-Total Food Calories (other).R b/R/Archive/June 2020 (removed code files)/701-Total Food Calories (other).R
new file mode 100644
index 00000000..d4dca041
--- /dev/null
+++ b/R/Archive/June 2020 (removed code files)/701-Total Food Calories (other).R
@@ -0,0 +1,103 @@
+# 701-All coleries.R
+# Builds the Food Groups data.table for households
+#
+# Copyright © 2018: Arin Shahbazian
+# Licence: GPL-3
+
+rm(list=ls())
+starttime <- proc.time()
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+library(data.table)
+library(stringr)
+library(readxl)
+
+cat("\n\n================ FoodGroups =====================================\n")
+TFoodGroups <- data.table(read_excel(Settings$MetaDataFilePath,Settings$MDS_FoodGroups))
+for(year in (Settings$startyear:Settings$endyear)){
+ cat(paste0("\n------------------------------\nYear:",year,"\n"))
+ BigFData <- data.table(HHID=NA_integer_,FGrams=NA_real_,Expenditure=NA_real_,
+ FoodType=NA_character_,FoodKCalories=NA_real_,FoodTKCalories=NA_real_)[0]
+ for(i in 1:nrow(TFoodGroups)){
+ cat(paste0(TFoodGroups[i,SheetName],", "))
+
+ ThisFoodTypeTable <- data.table(read_excel(Settings$MetaDataFilePath,sheet=TFoodGroups[i,SheetName]))
+ load(file=paste0(Settings$HEISRawPath,"Y",year,"Raw.rda"))
+ ft <- ThisFoodTypeTable[Year==year]
+ tab <- ft$Table
+ if(is.na(tab))
+ next
+ UTF <- Tables[[paste0("U",year,tab)]]
+ RTF <- Tables[[paste0("R",year,tab)]]
+ TF <- rbind(UTF,RTF)
+ for(n in names(TF)){
+ x <- which(ft==n)
+ if(length(x)>0)
+ setnames(TF,n,names(ft)[x])
+ }
+ if(year %in% 63:82){
+ pcols <- intersect(names(TF),c("HHID","Code","Kilos","Expenditure"))
+ TF <- TF[,pcols,with=FALSE]
+ TF <- TF[Code %in% ft$StartCode:ft$EndCode]
+
+ TF[,Kilos:=as.numeric(Kilos)]
+
+ load(file = "CaloriesTable.rda")
+ TF<-merge(TF,CalooriesTablee)
+ TF[is.na(TF)] <- 0
+ TF[,FGrams:=(Kilos*1000)/30]
+ FData <- TF[,lapply(.SD,sum),by=HHID]
+ FData[, FoodType:=TFoodGroups[i,FoodType]]
+ FData[, FoodKCalories:=TFoodGroups[i,KCalories]*FGrams]
+ FData[, FoodTKCalories:=Calorie_per_gram*FGrams]
+
+ BigFData <- rbind(BigFData,FData[,.(HHID,FGrams,Expenditure,FoodType,FoodKCalories,FoodTKCalories)])
+ save(BigFData, file = paste0(Settings$HEISProcessedPath,"Y",year,"BigFData.rda"))
+ }
+ if(year >=83){
+ pcols <- intersect(names(TF),c("HHID","Code","Grams","Kilos","Expenditure"))
+ TF <- TF[,pcols,with=FALSE]
+ TF <- TF[Code %in% ft$StartCode:ft$EndCode]
+
+ TF[,Kilos:=as.numeric(Kilos)]
+ TF[,Grams:=as.numeric(Grams)]
+ TF[,Expenditure:=as.numeric(Expenditure)]
+
+ load(file = "CaloriesTable.rda")
+ TF<-merge(TF,CalooriesTablee)
+ TF[is.na(TF)] <- 0
+ TF[,FGrams:=(Kilos*1000+Grams)/30]
+ FData <- TF[,lapply(.SD,sum),by=HHID]
+ FData[, FoodType:=TFoodGroups[i,FoodType]]
+ FData[, FoodKCalories:=TFoodGroups[i,KCalories]*FGrams]
+ FData[, FoodTKCalories:=Calorie_per_gram*FGrams]
+
+ BigFData <- rbind(BigFData,FData[,.(HHID,FGrams,Expenditure,FoodType,FoodKCalories,FoodTKCalories)])
+ }
+ }
+}
+save(BigFData, file = paste0(Settings$HEISProcessedPath,"Y",year,"BigFData.rda"))
+
+for(year in (Settings$startyear:Settings$endyear)){
+ cat(paste0("\n------------------------------\nYear:",year,"\n"))
+
+
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"HHBase.rda"))
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"HHI.rda"))
+ HHBase <- merge(HHBase,HHI[,.(HHID,Size)],by="HHID")
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"BigFData.rda"))
+ FData <- BigFData[,.(FoodTKCalories=sum(FoodTKCalories),
+ FoodKCalories=sum(FoodKCalories)),by=HHID]
+ FData <- merge(HHBase[,.(HHID,Region,Size)],
+ FData,by = "HHID",all.x = TRUE)
+
+ FData <- FData[FoodTKCalories<100000] # arbitrary removal of outliers
+
+ save(FData, file = paste0(Settings$HEISProcessedPath,"Y",year,"Food_Calories.rda"))
+}
+
+
+cat("\n\n==============Finish==============\nIt took ")
+endtime <- proc.time()
+cat((endtime-starttime)[3],"seconds.")
\ No newline at end of file
diff --git a/R/Archive/June 2020 (removed code files)/702-Food initial groups (other).R b/R/Archive/June 2020 (removed code files)/702-Food initial groups (other).R
new file mode 100644
index 00000000..473cc6d7
--- /dev/null
+++ b/R/Archive/June 2020 (removed code files)/702-Food initial groups (other).R
@@ -0,0 +1,337 @@
+# 702-Food initial groups.R
+#
+#
+# Copyright © 2019: Arin Shahbazian
+# Licence: GPL-3
+
+rm(list=ls())
+
+starttime <- proc.time()
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+library(data.table)
+library(stringr)
+library(readxl)
+options(warn=-1)
+################################################
+################ Morgh ########################
+################################################
+cat("\n\n================ Morgh =====================================\n")
+
+FoodTables <- data.table(read_excel(Settings$MetaDataFilePath,sheet=Settings$MDS_Morgh))
+
+for(year in (Settings$startyear:Settings$endyear)){
+ cat(paste0("\n------------------------------\nYear:",year,"\n"))
+ load(file=paste0(Settings$HEISRawPath,"Y",year,"Raw.rda"))
+ ft <- FoodTables[Year==year]
+ tab <- ft$Table
+ if(is.na(tab))
+ next
+ UTF <- Tables[[paste0("U",year,tab)]]
+ RTF <- Tables[[paste0("R",year,tab)]]
+ TF <- rbind(UTF,RTF)
+ for(n in names(TF)){
+ x <- which(ft==n)
+ if(length(x)>0)
+ setnames(TF,n,names(ft)[x])
+ }
+ pcols <- intersect(names(TF),c("HHID","Code","Kilos","Grams","MorghPrice","MorghExpenditure"))
+ TF <- TF[,pcols,with=FALSE]
+ TF <- TF[Code %in% ft$StartCode:ft$EndCode]
+ if(year >= 84){
+ TF[,MorghExpenditure:=as.numeric(MorghExpenditure)]
+ }
+ for (col in c("Kilos","Grams")) TF[is.na(get(col)), (col) := 0]
+ TF[,Kilos:=as.numeric(Kilos)]
+ TF[,Grams:=as.numeric(Grams)]
+ TF[is.na(TF)] <- 0
+ TF[,MorghKG:=Kilos+(Grams*0.001)]
+
+ TF[,Code:=NULL]
+ TF[,Kilos:=NULL]
+ TF[,Grams:=NULL]
+ TF[is.na(TF)] <- 0
+ TF[,MorghPrice:=MorghPrice*3]
+ TF[,MorghExpenditure:=MorghPrice*MorghKG]
+ MorghData <- TF[,lapply(.SD,sum),by=HHID]
+ save(MorghData, file = paste0(Settings$HEISProcessedPath,"Y",year,"Morghs.rda"))
+}
+
+################################################
+################ Cow ########################
+################################################
+cat("\n\n================ Cow =====================================\n")
+
+FoodTables <- data.table(read_excel(Settings$MetaDataFilePath,sheet=Settings$MDS_Cow))
+
+for(year in (Settings$startyear:Settings$endyear)){
+ cat(paste0("\n------------------------------\nYear:",year,"\n"))
+ load(file=paste0(Settings$HEISRawPath,"Y",year,"Raw.rda"))
+ ft <- FoodTables[Year==year]
+ tab <- ft$Table
+ if(is.na(tab))
+ next
+ UTF <- Tables[[paste0("U",year,tab)]]
+ RTF <- Tables[[paste0("R",year,tab)]]
+ TF <- rbind(UTF,RTF)
+ for(n in names(TF)){
+ x <- which(ft==n)
+ if(length(x)>0)
+ setnames(TF,n,names(ft)[x])
+ }
+
+ pcols <- intersect(names(TF),c("HHID","Code","Kilos","Grams","CowPrice","CowExpenditure"))
+ TF <- TF[,pcols,with=FALSE]
+ TF <- TF[Code %in% ft$StartCode:ft$EndCode]
+ if(year >= 84){
+ TF[,CowExpenditure:=as.numeric(CowExpenditure)]
+ }
+ for (col in c("Kilos","Grams")) TF[is.na(get(col)), (col) := 0]
+ TF[,Kilos:=as.numeric(Kilos)]
+ TF[,Grams:=as.numeric(Grams)]
+ TF[is.na(TF)] <- 0
+ TF[,CowKG:=Kilos+(Grams*0.001)]
+
+ TF[,Code:=NULL]
+ TF[,Kilos:=NULL]
+ TF[,Grams:=NULL]
+ TF[is.na(TF)] <- 0
+ TF[,CowPrice:=CowPrice*3]
+ TF[,CowExpenditure:=CowPrice*CowKG]
+ CowData <- TF[,lapply(.SD,sum),by=HHID]
+ save(CowData, file = paste0(Settings$HEISProcessedPath,"Y",year,"Cows.rda"))
+}
+
+################################################
+################ Sheep ########################
+################################################
+cat("\n\n================ Sheep =====================================\n")
+
+FoodTables <- data.table(read_excel(Settings$MetaDataFilePath,sheet=Settings$MDS_Sheep))
+
+for(year in (Settings$startyear:Settings$endyear)){
+ cat(paste0("\n------------------------------\nYear:",year,"\n"))
+ load(file=paste0(Settings$HEISRawPath,"Y",year,"Raw.rda"))
+ ft <- FoodTables[Year==year]
+ tab <- ft$Table
+ if(is.na(tab))
+ next
+ UTF <- Tables[[paste0("U",year,tab)]]
+ RTF <- Tables[[paste0("R",year,tab)]]
+ TF <- rbind(UTF,RTF)
+ for(n in names(TF)){
+ x <- which(ft==n)
+ if(length(x)>0)
+ setnames(TF,n,names(ft)[x])
+ }
+ pcols <- intersect(names(TF),c("HHID","Code","Kilos","Grams","SheepPrice","SheepExpenditure"))
+ TF <- TF[,pcols,with=FALSE]
+ TF <- TF[Code %in% ft$StartCode:ft$EndCode]
+ if(year >= 84){
+ TF[,SheepExpenditure:=as.numeric(SheepExpenditure)]
+ }
+ for (col in c("Kilos","Grams")) TF[is.na(get(col)), (col) := 0]
+ TF[,Kilos:=as.numeric(Kilos)]
+ TF[,Grams:=as.numeric(Grams)]
+ TF[is.na(TF)] <- 0
+ TF[,SheepKG:=Kilos+(Grams*0.001)]
+
+ TF[,Code:=NULL]
+ TF[,Kilos:=NULL]
+ TF[,Grams:=NULL]
+ TF[is.na(TF)] <- 0
+ TF[,SheepPrice:=SheepPrice*3]
+ TF[,SheepExpenditure:=SheepPrice*SheepKG]
+ SheepData <- TF[,lapply(.SD,sum),by=HHID]
+ save(SheepData, file = paste0(Settings$HEISProcessedPath,"Y",year,"Sheeps.rda"))
+}
+################################################
+################ Berenj ########################
+################################################
+cat("\n\n================ Berenj =====================================\n")
+
+FoodTables <- data.table(read_excel(Settings$MetaDataFilePath,sheet=Settings$MDS_BerenjF))
+
+for(year in (Settings$startyear:Settings$endyear)){
+ cat(paste0("\n------------------------------\nYear:",year,"\n"))
+ load(file=paste0(Settings$HEISRawPath,"Y",year,"Raw.rda"))
+ ft <- FoodTables[Year==year]
+ tab <- ft$Table
+ if(is.na(tab))
+ next
+ UTF <- Tables[[paste0("U",year,tab)]]
+ RTF <- Tables[[paste0("R",year,tab)]]
+ TF <- rbind(UTF,RTF)
+ for(n in names(TF)){
+ x <- which(ft==n)
+ if(length(x)>0)
+ setnames(TF,n,names(ft)[x])
+ }
+ pcols <- intersect(names(TF),c("HHID","Code","Kilos","Grams","BerenjPrice","BerenjFExpenditure"))
+ TF <- TF[,pcols,with=FALSE]
+ TF <- TF[Code %in% ft$StartCode:ft$EndCode]
+ if(year >= 84){
+ TF[,BerenjFExpenditure:=as.numeric(BerenjFExpenditure)]
+ }
+ for (col in c("Kilos","Grams")) TF[is.na(get(col)), (col) := 0]
+ TF[,Kilos:=as.numeric(Kilos)]
+ TF[,Grams:=as.numeric(Grams)]
+ TF[is.na(TF)] <- 0
+ TF[,BerenjKG:=Kilos+(Grams*0.001)]
+
+ TF[,Code:=NULL]
+ TF[,Kilos:=NULL]
+ TF[,Grams:=NULL]
+ TF[is.na(TF)] <- 0
+ TF[,BerenjPrice:=BerenjPrice*3]
+ TF[,BerenjExpenditure:=BerenjPrice*BerenjKG]
+ BerenjData <- TF[,lapply(.SD,sum),by=HHID]
+ save(BerenjData, file = paste0(Settings$HEISProcessedPath,"Y",year,"Berenjs.rda"))
+}
+################################################
+################ Roghan ########################
+################################################
+cat("\n\n================ Roghan =====================================\n")
+
+FoodTables <- data.table(read_excel(Settings$MetaDataFilePath,sheet=Settings$MDS_Roghan))
+
+for(year in (Settings$startyear:Settings$endyear)){
+ cat(paste0("\n------------------------------\nYear:",year,"\n"))
+ load(file=paste0(Settings$HEISRawPath,"Y",year,"Raw.rda"))
+ ft <- FoodTables[Year==year]
+ tab <- ft$Table
+ if(is.na(tab))
+ next
+ UTF <- Tables[[paste0("U",year,tab)]]
+ RTF <- Tables[[paste0("R",year,tab)]]
+ TF <- rbind(UTF,RTF)
+ for(n in names(TF)){
+ x <- which(ft==n)
+ if(length(x)>0)
+ setnames(TF,n,names(ft)[x])
+ }
+ pcols <- intersect(names(TF),c("HHID","Code","Kilos","Grams","RoghanPrice","RoghanExpenditure"))
+ TF <- TF[,pcols,with=FALSE]
+ TF <- TF[Code %in% ft$StartCode:ft$EndCode]
+ if(year >= 84){
+ TF[,RoghanExpenditure:=as.numeric(RoghanExpenditure)]
+ }
+ for (col in c("Kilos","Grams")) TF[is.na(get(col)), (col) := 0]
+ TF[,Kilos:=as.numeric(Kilos)]
+ TF[,Grams:=as.numeric(Grams)]
+ TF[is.na(TF)] <- 0
+ TF[,RoghanKG:=Kilos+(Grams*0.001)]
+
+ TF[,Code:=NULL]
+ TF[,Kilos:=NULL]
+ TF[,Grams:=NULL]
+ TF[is.na(TF)] <- 0
+ TF[,RoghanPrice:=RoghanPrice*3]
+ TF[,RoghanExpenditure:=RoghanPrice*RoghanKG]
+ RoghanData <- TF[,lapply(.SD,sum),by=HHID]
+ save(RoghanData, file = paste0(Settings$HEISProcessedPath,"Y",year,"Roghans.rda"))
+}
+################################################
+################ Tokhmemorgh ########################
+################################################
+cat("\n\n================ Tokhmemorgh =====================================\n")
+
+FoodTables <- data.table(read_excel(Settings$MetaDataFilePath,sheet=Settings$MDS_Tokhmemorgh))
+
+for(year in (Settings$startyear:Settings$endyear)){
+ cat(paste0("\n------------------------------\nYear:",year,"\n"))
+ load(file=paste0(Settings$HEISRawPath,"Y",year,"Raw.rda"))
+ ft <- FoodTables[Year==year]
+ tab <- ft$Table
+ if(is.na(tab))
+ next
+ UTF <- Tables[[paste0("U",year,tab)]]
+ RTF <- Tables[[paste0("R",year,tab)]]
+ TF <- rbind(UTF,RTF)
+ for(n in names(TF)){
+ x <- which(ft==n)
+ if(length(x)>0)
+ setnames(TF,n,names(ft)[x])
+ }
+ pcols <- intersect(names(TF),c("HHID","Code","Kilos","Grams","TokhmemorghPrice","TokhmemorghExpenditure"))
+ TF <- TF[,pcols,with=FALSE]
+ TF <- TF[Code %in% ft$StartCode:ft$EndCode | Code==11511]
+ if(year >= 84){
+ TF[,TokhmemorghExpenditure:=as.numeric(TokhmemorghExpenditure)]
+ }
+ for (col in c("Kilos","Grams")) TF[is.na(get(col)), (col) := 0]
+ TF[,Kilos:=as.numeric(Kilos)]
+ TF[,Grams:=as.numeric(Grams)]
+ TF[is.na(TF)] <- 0
+ TF[,TokhmemorghKG:=Kilos+(Grams*0.001)]
+
+ TF[,Code:=NULL]
+ TF[,Kilos:=NULL]
+ TF[,Grams:=NULL]
+ TF[is.na(TF)] <- 0
+ TF[,TokhmemorghPrice:=TokhmemorghPrice*3]
+ TF[,TokhmemorghExpenditure:=TokhmemorghPrice*TokhmemorghKG]
+ TokhmemorghData <- TF[,lapply(.SD,sum),by=HHID]
+ save(TokhmemorghData, file = paste0(Settings$HEISProcessedPath,"Y",year,"Tokhmemorghs.rda"))
+}
+
+################################################
+####### Load Additional Information #############
+################################################
+load(file=paste0(Settings$HEISProcessedPath,"Y",year,"HHBase.rda"))
+HHBase<-HHBase[,.(HHID,Region,ProvinceCode,Month)]
+
+load(file=paste0(Settings$HEISProcessedPath,"Y",year,"FinalFoodPoor.rda"))
+SMD<-MD[,.(HHID,Decile,Weight,Size,EqSizeOECD,
+ Total_Exp_Month,Total_Exp_Month_Per,TFoodExpenditure,
+ Total_Exp_Month_nondurable,Total_Exp_Month_Per_nondurable)]
+
+################################################
+####### Merge Information #############
+################################################
+
+Total<-merge(HHBase,SMD,all = TRUE)
+Total<-merge(Total,MorghData,all = TRUE)
+Total<-merge(Total,SheepData,all = TRUE)
+Total<-merge(Total,CowData,all = TRUE)
+Total<-merge(Total,BerenjData,all = TRUE)
+Total<-merge(Total,RoghanData,all = TRUE)
+Total<-merge(Total,TokhmemorghData,all = TRUE)
+
+for (col in c("MorghExpenditure","MorghKG",
+ "SheepExpenditure","SheepKG",
+ "CowExpenditure","CowKG",
+ "BerenjFExpenditure","BerenjKG",
+ "RoghanExpenditure","RoghanKG",
+ "TokhmemorghExpenditure","TokhmemorghKG")) Total[is.na(get(col)), (col) := 0]
+#"MorghPrice","SheepPrice","CowPrice",
+#"BerenjPrice","RoghanPrice","TokhmemorghPrice"
+
+Total<-Total[Decile %in% 1:10]
+
+#Price Indexes
+load(file="Index_Dataset.rda")
+Total<-merge(Total,Index_Dataset,by=c("Month"),all.x=TRUE)
+
+Berenj_Azar97<-185.5
+Morgh_Azar97<-151.3
+Cow_Azar97<-188.5
+Sheep_Azar97<-182.1
+Roghan_Azar97<-159.9
+Tokhmemorgh_Azar97<-218.5
+
+
+##########################################
+w <- c("BerenjFExpenditure","CowExpenditure",
+ "SheepExpenditure","MorghExpenditure",
+ "RoghanExpenditure","TokhmemorghExpenditure")
+
+Total[, Added_Food_Exp_Month := Reduce(`+`, .SD), .SDcols=w]
+Added_Food<-Total[,.(HHID,Added_Food_Exp_Month)]
+
+save(Added_Food,file=paste0(Settings$HEISProcessedPath,"Y",year,"Added_Food.rda"))
+
+endtime <- proc.time()
+cat("\n\n============================\nIt took ")
+cat(endtime-starttime)
diff --git a/R/Archive/June 2020 (removed code files)/703-Bundle 2100 (other).R b/R/Archive/June 2020 (removed code files)/703-Bundle 2100 (other).R
new file mode 100644
index 00000000..66220a3d
--- /dev/null
+++ b/R/Archive/June 2020 (removed code files)/703-Bundle 2100 (other).R
@@ -0,0 +1,106 @@
+# 703-Bundle 2100
+# Builds the Food Groups data.table for households
+#
+# Copyright © 2019: Arin Shahbazian
+# Licence: GPL-3
+
+rm(list=ls())
+starttime <- proc.time()
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+library(data.table)
+library(stringr)
+library(readxl)
+library(spatstat)
+
+cat("\n\n================ FoodGroups =====================================\n")
+year<-97
+ cat(paste0("\n------------------------------\nYear:",year,"\n"))
+ load( file = paste0(Settings$HEISProcessedPath,"Y",year,"BigFData.rda"))
+ load(file = paste0(Settings$HEISProcessedPath,"Y",year,"Food_Calories.rda"))
+ load( file = paste0(Settings$HEISProcessedPath,"Y",year,"FINALPOORS.rda"))
+ MetaData <- read_excel("C:/IRHEIS/Data/MetaData.xlsx", sheet = "FoodGroupTables")
+ MetaData<-as.data.table(MetaData)
+ MetaData<-MetaData[,SheetName:=NULL]
+ FoodNames<-MetaData
+ save(FoodNames,file ="FoodNames.rda" )
+ load(file = "FoodNames.rda")
+
+ Base2<-merge(BigFData,FData,by="HHID")
+
+ Base2<-merge(Base2,MD[,.(HHID,NewArea,NewArea_Name,ProvinceCode,cluster3,Decile,
+ FinalFoodPoor,FinalPoor,Weight,EqSizeOECD,EqSizeCalory)],by="HHID")
+
+ Base<-Base2
+ #Base<-Base2[FinalFoodPoor==1]
+ Base<-Base[,FGrams_Per:=FGrams/EqSizeCalory]
+ Base<-Base[,FoodKCalories_Per:=FoodKCaloriesHH/EqSizeCalory]
+ Base<-Base[,FoodProtein_Per:=FoodProteinHH/EqSizeCalory]
+ Base<-Base[,Coef:=FoodKCalories_Per/Settings$KCaloryNeed_Adult]
+
+ Base<-Base[,FoodKCalories_PerNew:=FoodKCalories_Per/Coef]
+ Base<-Base[,FGrams_PerNew:=FGrams_Per/Coef]
+ BaseX <- Base[,.(FoodKCalories2=mean(FoodKCalories_PerNew),
+ FoodKCalories3=mean(FoodKCalories_Per),
+ FoodProtein2=mean(FoodProtein_Per),
+ Weight=mean(Weight),
+ ProvinceCode=mean(ProvinceCode)),by=HHID]
+
+# BaseX1<-Base[,.(.N,Average_Consumption=weighted.mean(FGrams_PerNew,Weight),
+ # cluster3=mean(cluster3)),
+ # by=.(ProvinceCode,FoodType)]
+
+ BaseX1<-Base[,.(.N,Average_Consumption=weighted.mean(FGrams_PerNew,Weight),
+ cluster3=mean(cluster3)),
+ by=.(FoodType)]
+
+ BaseX1<-BaseX1[,N2:=max(N),by=.(ProvinceCode)]
+ BaseX1<-BaseX1[,Average_New:=N*Average_Consumption/N2]
+ BaseM<-BaseX1[,.(ProvinceCode,N,N2,FoodType,Average_New)]
+ BaseM2<-BaseM[FoodType=="Berenj"]
+ BaseM<-BaseM[,.(ProvinceCode,FoodType,N,Average_New)]
+ BaseM<-merge(BaseM,FoodNames)
+ BaseM<-BaseM[,Average_Protein:=Average_New*Protein]
+ BaseM<-BaseM[order(ProvinceCode,FoodType)]
+ write.csv(BaseM,file="BaseM.csv")
+
+ BaseP<-BaseM[,.(Total_Protein=sum(Average_Protein)),
+ by=.(ProvinceCode)]
+
+ BaseX<-BaseX[,Region:=as.integer(str_sub(HHID,1,1))]
+ BaseX[,weighted.mean(FoodProtein2,Weight)]
+ BaseX[,weighted.mean(FoodProtein2,Weight),by=.(Region,ProvinceCode)]
+
+
+ BaseXUrban<-BaseX[Region==1]
+ BaseXRural<-BaseX[Region==2]
+ plot(FoodKCalories3~FoodProtein2,data=BaseXUrban)
+ BaseXRural<-BaseXRural[FoodProtein2<700]
+
+ smoothScatter(BaseXRural$FoodKCalories3~BaseXRural$FoodProtein2)
+
+#Base2<-Base[FinalPoor==0,.(.N,Average_Consumption=weighted.mean(FGrams_Per,Weight),
+# cluster3=mean(cluster3)),by=.(ProvinceCode,FoodType)]
+
+# Base3<-MD[PEngel>0.6 & FinalPoor==1]
+
+# Base4<-MD[FinalPoor==0,.(.N,cluster3=mean(cluster3)),by=.(ProvinceCode)]
+
+# Base[FoodType=="Goosht" & FinalPoor==1 ,weighted.mean(FGrams_Per,Weight,na.rm = TRUE),by=.(ProvinceCode)]
+
+ Base3<-Base2[FinalPoor==1]
+ Base3<-Base3[,FGrams_Per:=FGrams/EqSizeCalory]
+ Base3<-Base3[,FoodKCalories_Per:=FoodKCaloriesHH/EqSizeCalory]
+ BaseX3<-Base3[,.(.N,Average_Consumption=weighted.mean(FGrams_Per,Weight),
+ cluster3=mean(cluster3)),
+ by=.(ProvinceCode,FoodType)]
+ BaseX3<-BaseX3[,N2:=max(N),by=.(ProvinceCode)]
+ BaseX3<-BaseX3[,Average_New:=N*Average_Consumption/N2]
+ BaseM3<-BaseX3[,.(ProvinceCode,N,N2,FoodType,Average_New)]
+ BaseM3<-BaseM3[order(ProvinceCode,FoodType)]
+ write.csv(BaseM3,file="BaseM3.csv")
+
+cat("\n\n==============Finish==============\nIt took ")
+endtime <- proc.time()
+cat((endtime-starttime)[3],"seconds.")
\ No newline at end of file
diff --git a/R/Archive/June 2020 (removed code files)/900-Calculation of CV- Benzin.R b/R/Archive/June 2020 (removed code files)/900-Calculation of CV- Benzin.R
new file mode 100644
index 00000000..4a7d1f1e
--- /dev/null
+++ b/R/Archive/June 2020 (removed code files)/900-Calculation of CV- Benzin.R
@@ -0,0 +1,304 @@
+# Calculation of CV- Benzin
+# Copyright © 2019: Arin Shahbazian
+# Licence: GPL-3
+
+rm(list=ls())
+
+starttime <- proc.time()
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+library(data.table)
+library(stringr)
+library(readxl)
+options(warn=-1)
+
+################################################
+################ Benzin ########################
+################################################
+cat("\n\n================ Benzin =====================================\n")
+
+BenzinTables <- data.table(read_excel(Settings$MetaDataFilePath,sheet=Settings$MDS_Benzin))
+
+for(year in (Settings$startyear:Settings$endyear)){
+ cat(paste0("\n------------------------------\nYear:",year,"\n"))
+ load(file=paste0(Settings$HEISRawPath,"Y",year,"Raw.rda"))
+ ft <- BenzinTables[Year==year]
+ tab <- ft$Table
+ if(is.na(tab))
+ next
+ UTF <- Tables[[paste0("U",year,tab)]]
+ RTF <- Tables[[paste0("R",year,tab)]]
+ TF <- rbind(UTF,RTF)
+ for(n in names(TF)){
+ x <- which(ft==n)
+ if(length(x)>0)
+ setnames(TF,n,names(ft)[x])
+ }
+
+ pcols <- intersect(names(TF),c("HHID","Code","Benzin_Exp"))
+ TF <- TF[,pcols,with=FALSE]
+ TF <- TF[Code %in% ft$StartCode:ft$EndCode]
+ if(year %in% 84:96){
+ TF[,BenzinExpenditure:=as.numeric(BenzinExpenditure)]
+ }
+
+
+ TF[,Code:=NULL]
+ TF[is.na(TF)] <- 0
+ BenzinData <- TF[,lapply(.SD,sum),by=HHID]
+ save(BenzinData, file = paste0(Settings$HEISProcessedPath,"Y",year,"Benzins.rda"))
+}
+
+################################################
+################ Transportation ########################
+################################################
+cat("\n\n================ Transportation =====================================\n")
+
+TransportationTables <- data.table(read_excel(Settings$MetaDataFilePath,sheet=Settings$MDS_Transportation))
+
+for(year in (Settings$startyear:Settings$endyear)){
+ cat(paste0("\n------------------------------\nYear:",year,"\n"))
+ load(file=paste0(Settings$HEISRawPath,"Y",year,"Raw.rda"))
+ ft <- TransportationTables[Year==year]
+ tab <- ft$Table
+ if(is.na(tab))
+ next
+ UTF <- Tables[[paste0("U",year,tab)]]
+ RTF <- Tables[[paste0("R",year,tab)]]
+ TF <- rbind(UTF,RTF)
+ for(n in names(TF)){
+ x <- which(ft==n)
+ if(length(x)>0)
+ setnames(TF,n,names(ft)[x])
+ }
+
+ pcols <- intersect(names(TF),c("HHID","Code","Transportation_Exp"))
+ TF <- TF[,pcols,with=FALSE]
+ TF <- TF[Code %in% ft$StartCode:ft$EndCode]
+ if(year %in% 84:96){
+ TF[,TransportationExpenditure:=as.numeric(TransportationExpenditure)]
+ }
+
+
+ TF[,Code:=NULL]
+ TF[is.na(TF)] <- 0
+ TransportationData <- TF[,lapply(.SD,sum),by=HHID]
+ save(TransportationData, file = paste0(Settings$HEISProcessedPath,"Y",year,"Transportations.rda"))
+}
+################################################
+################ Other Exp ########################
+################################################
+cat("\n\n================ Other =====================================\n")
+
+
+for(year in (Settings$startyear:Settings$endyear)){
+ cat(paste0("\n------------------------------\nYear:",year,"\n"))
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"InitialPoor.rda"))
+ MD<-MD[,.(HHID,HIndivNo,Region,ProvinceCode,NewArea_Name,Total_Exp_Month,Total_Exp_Month_nondurable,
+ Size,EqSizeOECD,Weight, Decile,HSex,HEduLevel,
+ HEduYears,HActivityState)]
+ save(MD, file = paste0(Settings$HEISProcessedPath,"Y",year,"MD.rda"))
+}
+MD[,weighted.mean(Total_Exp_Month,Weight),by=.(Region,Decile)][order(Region,Decile)]
+MD[,weighted.mean(Size,Weight),by=.(Region,Decile)][order(Region,Decile)]
+MD[NewArea_Name=="Sh_Tehran" ,weighted.mean(Total_Exp_Month,Weight),by=.(Decile)][order(Decile)]
+MD[NewArea_Name=="Sh_Tehran" ,weighted.mean(Size,Weight),by=.(Decile)][order(Decile)]
+
+cat("\n\n================ Merge =====================================\n")
+################################################
+####### Merge Information #############
+################################################
+
+Total<-merge(MD,BenzinData,all = TRUE)
+Total<-merge(Total,TransportationData,all = TRUE)
+Total[is.na(Total)] <- 0
+Total<-Total[,Other_Exp:=Total_Exp_Month-Benzin_Exp-Transportation_Exp]
+Total<-Total[,Benzin_Exp_Add:=ifelse(Benzin_Exp<600000,0,Benzin_Exp-600000)]
+
+Total<-Total[Decile %in% 1:10]
+
+#Price Indexes
+load(file="Index98.rda")
+Total<-merge(Total,Index98,by="ProvinceCode")
+Total[,Decile:=as.numeric(Decile)]
+Total<-Total[,Yaraneh2:=ifelse(Size==1,550000,
+ ifelse(Size==2,1030000,
+ ifelse(Size==3,1380000,
+ ifelse(Size==4,1720000,2050000))))]
+Total<-Total[,Yaraneh:=ifelse(Decile>7,0,Yaraneh2)]
+#Total<-Total[,Yaraneh:=Yaraneh2]
+Total[is.na(Total)] <- 0
+#Total<-Total[Benzin_Exp==0]
+############New Prices###########
+Total[,BenzinP1:=Benzin_Exp]
+Total[,TransportationP1:=Transportation_Exp*Mehr98/137]
+Total[,Other_ExpP1:=Other_Exp*Mehr98/137]
+
+#Total[,BenzinP2:=ifelse(Benzin_Exp<600000, Benzin_Exp*1.5,Benzin_Exp*3)]
+Total[,BenzinP2:=ifelse(Benzin_Exp<600000, Benzin_Exp*1.5,
+ 600000*1.5+Benzin_Exp_Add*3)]
+Total[,TransportationP2:=TransportationP1*3]
+Total[,Other_ExpP2:=Other_ExpP1*1.02]
+
+################################################
+################ CV #################
+################################################
+
+Total<-Total[,BenzinShare:=Benzin_Exp/Total_Exp_Month]
+Total<-Total[,TransportationShare:=Transportation_Exp/Total_Exp_Month]
+Total<-Total[,Other_ExpShare:=Other_Exp/Total_Exp_Month]
+
+
+Total<-Total[,CV:=Total_Exp_Month*(1-((BenzinP2/BenzinP1)^BenzinShare)*((TransportationP2/TransportationP1)^TransportationShare)*
+ ((Other_ExpP2/Other_ExpP1)^Other_ExpShare))]
+
+Total<-Total[,Loss:=ifelse(Yaraneh0.01,2,
+ ifelse(Loss_Share<0.03 & Loss_Share>0.02,3,
+ ifelse(Loss_Share<0.04 & Loss_Share>0.03,4,5))))]
+
+Loss2[,sum(HIndivNo*Weight),by=Loss_Section][order(Loss_Section)]
+Loss2[,sum(HIndivNo*Weight*Size),by=Loss_Section][order(Loss_Section)]
+Loss2[,sum(HIndivNo),by=Loss_Section][order(Loss_Section)]
+
+
+Win<-Total[Loss==0]
+Win<-Win[,Win_Amount:=Yaraneh-abs(CV)]
+Win[,weighted.mean(Win_Amount,Weight,na.rm = TRUE)]
+Win[,weighted.mean(Win_Amount,Weight,na.rm = TRUE),by=.(Region,Decile)][order(Region,Decile)]
+
+Win[,weighted.mean(Win_Amount/Total_Exp_Month,Weight,na.rm = TRUE)]
+Win[,weighted.mean(Win_Amount/Total_Exp_Month,Weight,na.rm = TRUE),by=.(Region,Decile)][order(Region,Decile)]
+Win[,Win_Share:=Win_Amount/Total_Exp_Month]
+Win2<-Win[Win_Share<0.3]
+
+Win[,Win_Section:=ifelse(Win_Share<0.025,1,
+ ifelse(Win_Share<0.05 & Win_Share>0.025,2,
+ ifelse(Win_Share<0.075 & Win_Share>0.05,3,
+ ifelse(Win_Share<0.1 & Win_Share>0.075,4,
+ ifelse(Win_Share<0.125 & Win_Share>0.1,5,
+ ifelse(Win_Share<0.15 & Win_Share>0.125,6,
+ ifelse(Win_Share<0.175 & Win_Share>0.15,7,
+ ifelse(Win_Share<0.2 & Win_Share>0.175,8,
+ ifelse(Win_Share<0.225 & Win_Share>0.2,9,
+ ifelse(Win_Share<0.25 & Win_Share>0.225,10,
+ ifelse(Win_Share<0.275 & Win_Share>0.25,11,12)))))))))))]
+
+Win[,sum(HIndivNo*Weight),by=Win_Section][order(Win_Section)]
+Win[,sum(HIndivNo*Weight*Size),by=Win_Section][order(Win_Section)]
+Win[,sum(HIndivNo),by=Win_Section][order(Win_Section)]
+Win[,sum(HIndivNo*Weight),by=.(Win_Section,Decile)][order(Decile,Win_Section)]
+
+plot(density(Win2$Win_Share),weights =Win2$Weight)
+sm.density.compare(Win2$Win_Share, Win2$Decile)
+
+Win[,weighted.mean(Total_Exp_Month,Weight,na.rm = TRUE),by=.(Region,Decile)][order(Region,Decile)]
+
+plot(density(Loss2$Loss_Share),weights =Loss2$Weight)
+#lines(density(Loss$Age),weights =Loss$Weight)
+sm.density.compare(Loss$Loss_Amount, Loss$Decile)
+
+Pop<-Loss[,sum(Weight)]
+Loss[,sum(Weight),by=.(ProvinceCode)]
+Loss[,sum(Weight),by=.(HSex)]
+Loss[,sum(Weight),by=.(HEduLevel)][order(HEduLevel)]
+Loss[,sum(Weight),by=.(Size)][order(Size)]
+Loss[,sum(Weight),by=.(HActivityState)]
+Loss[,sum(Weight),by=.(taxicode)]
+
+Pop2<-Total[,sum(Weight)]
+Total[,sum(Weight),by=.(ProvinceCode)]
+Total[,sum(Weight),by=.(HSex)]
+Total[,sum(Weight),by=.(HEduLevel)][order(HEduLevel)]
+Total[,sum(Weight),by=.(Size)][order(Size)]
+Total[,sum(Weight),by=.(HActivityState)]
+Total[,sum(Weight),by=.(taxicode)]
+
+
+Loss[,sum(Weight*Size),by=.(ProvinceCode)]
+Loss[,sum(Weight*Size),by=.(HSex)]
+Loss[,sum(Weight*Size),by=.(HEduLevel)][order(HEduLevel)]
+Loss[,sum(Weight*Size),by=.(Size)]
+Loss[,sum(Weight*Size),by=.(HActivityState)]
+Loss[,sum(Weight*Size),by=.(taxicode)]
+
+Loss[,sum(HIndivNo),by=.(ProvinceCode)]
+Loss[,sum(HIndivNo),by=.(HSex)]
+Loss[,sum(HIndivNo),by=.(HEduLevel)][order(HEduLevel)]
+Loss[,sum(HIndivNo),by=.(Size)]
+Loss[,sum(HIndivNo),by=.(HActivityState)]
+Loss[,sum(HIndivNo),by=.(taxicode)]
+
+
+LossR1<-Loss[Region=="Rural" & Decile==1,.(HHID,Size,Total_Exp_Month,CV,
+ Yaraneh,Loss_Amount)]
+
+LossU1<-Loss[Region=="Urban" & Decile==1,.(HHID,Size,Total_Exp_Month,CV,
+ Yaraneh,Loss_Amount)]
+
+#write.csv(Loss2,file = "loss2.csv")
+#write.csv(Loss,file = "loss.csv")
+#write.csv(Win,file = "Win.csv")
+#write.csv(Win2,file = "Win2.csv")
+
+endtime <- proc.time()
+cat("\n\n============================\nIt took ")
+cat(endtime-starttime)
diff --git a/R/Archive/June 2020 (removed code files)/Copy of 174.R b/R/Archive/June 2020 (removed code files)/Copy of 174.R
new file mode 100644
index 00000000..12390e0e
--- /dev/null
+++ b/R/Archive/June 2020 (removed code files)/Copy of 174.R
@@ -0,0 +1,270 @@
+#Copy of 174.R
+#
+# Copyright © 2018:Majid Einian & Arin Shahbazian
+# Licence: GPL-3
+
+rm(list=ls())
+
+starttime <- proc.time()
+cat("\n\n================ Nominal to Real =====================================\n")
+
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+#library(readxl)
+library(data.table)
+library(ggplot2)
+
+for(year in (Settings$startyear:Settings$endyear)){
+ cat(paste0("\n------------------------------\nYear:",year,"\n"))
+
+ # load data --------------------------------------
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"Merged4CBN3.rda"))
+
+ SMD <- MD[,.(HHID,Region,ProvinceCode,
+ ServiceExp,FoodExpenditure,Total_Exp_Month,
+ NewArea,NewArea_Name,Total_Exp_Month_Per_nondurable,TOriginalFoodExpenditure_Per,
+ # Total_Exp_Month_Per_nondurable2,TFoodExpenditure_Per2,
+ Durable_Exp,
+ TFoodKCaloriesHH_Per,Calorie_Need_WorldBank,Calorie_Need_Anstitoo,
+ Weight,MetrPrice,Size,EqSizeOECD)]
+
+ #Choose one of these
+ SMD[,Bundle_Value:=TOriginalFoodExpenditure_Per*Calorie_Need_WorldBank/TFoodKCaloriesHH_Per]
+ #SMD[,Bundle_Value:=TOriginalFoodExpenditure_Per*Calorie_Need_Anstitoo/TFoodKCaloriesHH_Per]
+ #SMD[,Bundle_Value:=TOriginalFoodExpenditure_Per*Settings$KCaloryNeed_Adult_WorldBank/TFoodKCaloriesHH_Per]
+ #SMD[,Bundle_Value:=TOriginalFoodExpenditure_Per*Settings$KCaloryNeed_Adult_Anstitoo/TFoodKCaloriesHH_Per]
+
+
+ SMD <- SMD[Bundle_Value<=5000000 | TFoodKCaloriesHH_Per>=300] #arbitrary measures, TODO: check in diff years
+
+ #Real Prices
+ T_Bundle_Value <- SMD[NewArea==2301, .(Bundle_Value,MetrPrice,Weight)]
+ TBV1 <- T_Bundle_Value[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE)]
+ TBV2 <- T_Bundle_Value[,weighted.mean(MetrPrice,Weight,na.rm = TRUE)]
+
+ SMD[,PriceIndex2:=(weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/TBV1
+ +weighted.mean(MetrPrice,Weight,na.rm = TRUE)/TBV2)/2
+ ,by=.(Region,NewArea_Name)]
+
+ X <- SMD[,.(weighted.mean(FoodExpenditure/Total_Exp_Month,Weight),
+ weighted.mean(ServiceExp/Total_Exp_Month,Weight)),by=.(Region,NewArea_Name)]
+ X[,V:=V1+V2]
+
+ SMD <- merge(SMD,X,by=c("Region","NewArea_Name"))
+
+ SMD[,PriceIndex:=(weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/TBV1*V1
+ +weighted.mean(MetrPrice,Weight,na.rm = TRUE)/TBV2*V2)/V
+ ,by=.(Region,NewArea_Name)]
+
+ Compare1<-SMD[,.(Old=mean(PriceIndex2),
+ New=mean(PriceIndex)),by=.(Region,NewArea_Name)]
+
+ SMD[,V1:=NULL]
+ SMD[,V2:=NULL]
+ SMD[,V:=NULL]
+
+
+ SMD[,Total_Exp_Month_Per_nondurable_Real:=Total_Exp_Month_Per_nondurable/PriceIndex]
+
+ ###Real- Urban & Rural
+ #SMD<- SMD[order(Region,Total_Exp_Month_Per_nondurable_Real)] #Deciling in Urban- Rural
+ #SMD[,crw:=cumsum(Weight*Size)/sum(Weight*Size),by=Region] # Cumulative Relative Weight
+ #SMD[,Decile:=cut(crw,breaks = seq(0,1,.1),labels = 1:10),by=Region]
+ #SMD[,Percentile:=cut(crw,breaks=seq(0,1,.01),labels=1:100),by=Region]
+
+ ###Real- Country
+ SMD<- SMD[order(Total_Exp_Month_Per_nondurable_Real)] #Deciling in Country
+ SMD[,crw:=cumsum(Weight*Size)/sum(Weight*Size)] # Cumulative Relative Weight
+ SMD[,Decile:=cut(crw,breaks = seq(0,1,.1),labels = 1:10)]
+ SMD[,Percentile:=cut(crw,breaks=seq(0,1,.01),labels=1:100)]
+
+ ###Nominal- Urban & Rural
+ #SMD<- SMD[order(Region,Total_Exp_Month_Per_nondurable)] #Deciling in Urban- Rural(Nominal)
+ #SMD[,crw2:=cumsum(Weight*Size)/sum(Weight*Size),by=Region] # Cumulative Relative Weight
+ #SMD[,Decile_Nominal:=cut(crw2,breaks = seq(0,1,.1),labels = 1:10),by=Region]
+ #SMD[,Percentile_Nominal:=cut(crw2,breaks=seq(0,1,.01),labels=1:100),by=Region]
+
+ ###Nominal- Country
+ SMD<- SMD[order(Total_Exp_Month_Per_nondurable)] #Deciling in Country(Nominal)
+ SMD[,crw2:=cumsum(Weight*Size)/sum(Weight*Size)] # Cumulative Relative Weight
+ SMD[,Decile_Nominal:=cut(crw2,breaks = seq(0,1,.1),labels = 1:10)]
+ SMD[,Percentile_Nominal:=cut(crw2,breaks=seq(0,1,.01),labels=1:100)]
+
+
+ # C<-SMD[,.(.N,Max=max(Total_Exp_Month_Per_nondurable),
+ # Min=min(Total_Exp_Month_Per_nondurable),
+ # Mean=mean(Total_Exp_Month_Per_nondurable)),
+ # by=.(Region,NewArea,NewArea_Name,Decile)]
+
+ # D<-SMD[,.(.N,Mean=weighted.mean(Durable_Exp/Size,Weight)),
+ # by=.(Region,NewArea,NewArea_Name,Decile)]
+
+ # B<-SMD[,.(.N,Mean=mean(MetrPrice)),
+ # by=.(Region,NewArea,NewArea_Name)]
+
+ # write.csv(B,file = "B.csv")
+ # write.csv(C,file = "C.csv")
+ # write.csv(D,file = "D.csv")
+
+ SMD[,NewPoor:=1]
+ SMD[,ThisIterationPoor:=0]
+ i <- 0
+ while(sum(SMD[,(ThisIterationPoor-NewPoor)^2])>=0.002*nrow(SMD) & i <=50){
+ i <- i+1
+ SMD[,pold:=Percentile]
+ SMD[,ThisIterationPoor:=ifelse(pold %in% Settings$InitialPoorPercentile,1,0)]
+ SMDIterationPoor<-SMD[ThisIterationPoor==TRUE]
+ SMDIterationPoor[,sum(ThisIterationPoor),by=.(Region,NewArea_Name)][order(Region,NewArea_Name)]
+
+ T_P_Bundle_Value <- SMDIterationPoor[NewArea==2301, .(Bundle_Value,MetrPrice,Weight)]
+ TPBV1 <- T_P_Bundle_Value[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE)]
+ TPBV2 <- T_P_Bundle_Value[,weighted.mean(MetrPrice,Weight,na.rm = TRUE)]
+
+
+ X <- SMDIterationPoor[,.(weighted.mean(FoodExpenditure/Total_Exp_Month,Weight),
+ weighted.mean(ServiceExp/Total_Exp_Month,Weight)),by=.(Region,NewArea_Name)]
+ X[,V:=V1+V2]
+
+ SMDIterationPoor <- merge(SMDIterationPoor,X,by=c("Region","NewArea_Name"))
+ SMDIterationPoor[,PriceIndex:=NULL]
+
+ Index <- SMDIterationPoor[,.(PriceIndex=(weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/TPBV1*V1+
+ weighted.mean(MetrPrice,Weight,na.rm = TRUE)/TPBV2*V2)/V)
+ ,by=.(Region,NewArea_Name)]
+ Index <- Index[,.(PriceIndex=mean(PriceIndex)),by=.(Region,NewArea_Name)]
+
+
+ SMD[,PriceIndex:=NULL]
+ SMD <- merge(SMD,Index,by=c("Region","NewArea_Name"))
+
+ SMD[,Total_Exp_Month_Per_nondurable_Real:=Total_Exp_Month_Per_nondurable/PriceIndex]
+
+
+ ###Real- Urban & Rural
+ #SMD<- SMD[order(Region,Total_Exp_Month_Per_nondurable_Real)] #Deciling in Urban- Rural
+ #SMD[,crw:=cumsum(Weight*Size)/sum(Weight*Size),by=Region] # Cumulative Relative Weight
+ #SMD[,Decile:=cut(crw,breaks = seq(0,1,.1),labels = 1:10),by=Region]
+ #SMD[,Percentile:=cut(crw,breaks=seq(0,1,.01),labels=1:100),by=Region]
+
+ ###Real- Country
+ SMD<- SMD[order(Total_Exp_Month_Per_nondurable_Real)] #Deciling in Country
+ SMD[,crw:=cumsum(Weight*Size)/sum(Weight*Size)] # Cumulative Relative Weight
+ SMD[,Decile:=cut(crw,breaks = seq(0,1,.1),labels = 1:10)]
+ SMD[,Percentile:=cut(crw,breaks=seq(0,1,.01),labels=1:100)]
+
+ SMD[,NewPoor:=ifelse(Percentile %in% Settings$InitialPoorPercentile,1,0)]
+ save(SMD,file=paste0(Settings$HEISProcessedPath,"Y",year,"SMD.rda"))
+
+ cat("\n",sum(SMD[ProvinceCode==2,.N]))
+ #cat("\n",sum(SMD[,(ThisIterationPoor-NewPoor)^2]))
+ }
+
+
+
+ MD <- merge(MD,SMD[,.(HHID,Bundle_Value,NewPoor,Decile,Percentile,Decile_Nominal,Percentile_Nominal)],by="HHID")
+ setnames(MD,"NewPoor","InitialPoor")
+
+
+ MD[,weighted.mean(InitialPoor,Weight), by=.(NewArea_Name,Region)]
+ MD[,sum(Weight*Size), by=.(Decile,Region)][order(Region,Decile)]
+ MD[,sum(Weight*Size), by=.(Decile_Nominal,Region)][order(Region,Decile_Nominal)]
+
+ save(MD,file=paste0(Settings$HEISProcessedPath,"Y",year,"InitialPoor.rda"))
+
+ ###Total
+ MDG1<-MD[,.(Population=sum(Weight*Size)), by=.(Decile,Region)][order(Region,Decile)]
+ ggplot(MDG1, aes(fill=Region, y=Population, x=Decile)) +
+ geom_bar(position="stack", stat="identity")
+
+ ###Tehran
+ MDG2<-MD[,Tehran:=ifelse(NewArea==2301,1,0)]
+ MDG2<-MDG2[,.(Population=sum(Weight*Size)), by=.(Decile,Tehran)][order(Tehran,Decile)]
+ ggplot(MDG2, aes(fill=factor(Tehran), y=Population, x=Decile)) +
+ geom_bar(position="stack", stat="identity")
+
+ ###Sistan
+ MDG3<-MD[,Sistan:=ifelse(ProvinceCode==11,1,0)]
+ MDG3<-MDG3[,.(Population=sum(Weight*Size)), by=.(Decile,Sistan)][order(Sistan,Decile)]
+ ggplot(MDG3, aes(fill=factor(Sistan), y=Population, x=Decile)) +
+ geom_bar(position="stack", stat="identity")
+
+
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"HHHouseProperties.rda"))
+ MD<-merge(MD,HHHouseProperties)
+
+ FractioninData<-MD[,.(Total_Exp_Month_Per_nondurable=weighted.mean(Total_Exp_Month_Per_nondurable,Weight),
+ tenure=weighted.mean(tenure=="OwnLandandBuilding",Weight),
+ HActivityState=weighted.mean(HActivityState=="Employed",Weight),
+ Car=weighted.mean(car=="True",Weight)),
+ by=c("Percentile_Nominal")]
+
+ #write.csv(FractioninData,file = "FractioninData.csv")
+
+ Deciles<-MD[,.(HHID,Decile,Decile_Nominal,Region,ProvinceCode,HIndivNo,Weight)]
+ Deciles<-Deciles[,diff:=as.numeric(Decile)-as.numeric(Decile_Nominal)]
+ decileTest<-Deciles[,.(Positive=weighted.mean(diff>0,Weight),
+ Zero=weighted.mean(diff==0,Weight),
+ Minus=weighted.mean(diff<0,Weight)),by=ProvinceCode]
+
+ decile7<-Deciles[,.(before=weighted.mean(as.numeric(Decile_Nominal)>7,Weight),
+ after=weighted.mean(as.numeric(Decile)>7,Weight)),by=ProvinceCode]
+
+ ###Exp
+ x2<-FractioninData[,.(Total_Exp_Month_Per_nondurable,Percentile_Nominal)]
+ x2$Percentile_Nominal <- factor(x2$Percentile_Nominal, levels = x2$Percentile_Nominal[order(x2$Percentile_Nominal)])
+ ggplot(x2, aes(x = x2$Percentile_Nominal, y = x2$Total_Exp_Month_Per_nondurable)) + theme_bw() + geom_bar(stat = "identity") + theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1))
+
+
+
+ ###Tenure
+ x2<-FractioninData[,.(tenure,Percentile_Nominal)]
+ x2$Percentile_Nominal <- factor(x2$Percentile_Nominal, levels = x2$Percentile_Nominal[order(x2$tenure)])
+ ggplot(x2, aes(x = x2$Percentile_Nominal, y = x2$tenure)) + theme_bw() + geom_bar(stat = "identity") + theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1))
+
+
+
+ ###HActivity
+ x2<-FractioninData[,.(HActivityState,Percentile_Nominal)]
+ x2$Percentile_Nominal <- factor(x2$Percentile_Nominal, levels = x2$Percentile_Nominal[order(x2$HActivityState)])
+ ggplot(x2, aes(x = x2$Percentile_Nominal, y = x2$HActivityState)) + theme_bw() + geom_bar(stat = "identity") + theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1))
+
+
+ ###Car
+ x2<-FractioninData[,.(Car,Percentile_Nominal)]
+ x2$Percentile_Nominal <- factor(x2$Percentile_Nominal, levels = x2$Percentile_Nominal[order(x2$Car)])
+ ggplot(x2, aes(x = x2$Percentile_Nominal, y = x2$Car)) + theme_bw() + geom_bar(stat = "identity") + theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1))
+
+ decile7<-Deciles[,.(before=weighted.mean(as.numeric(Decile_Nominal)>7,Weight),
+ after=weighted.mean(as.numeric(Decile)>7,Weight)),by=ProvinceCode]
+
+ Deciles<-MD[,.(HHID,Decile,Decile_Nominal,Region,ProvinceCode,HIndivNo,Weight,
+ Total_Exp_Month,Total_Exp_Month_nondurable)]
+ Deciles<-Deciles[,diff:=as.numeric(Decile)-as.numeric(Decile_Nominal)]
+ decileTest<-Deciles[,.(Positive=weighted.mean(diff>0,Weight),
+ Zero=weighted.mean(diff==0,Weight),
+ Minus=weighted.mean(diff<0,Weight)),by=ProvinceCode]
+
+ SMD[,TIncome:=sum(Total_Exp_Month_Per_nondurable*Weight)]
+ Share<-SMD[,Income_Share:=Total_Exp_Month_Per_nondurable/TIncome]
+ Share<-Share[,.(Income_Share=sum(Income_Share*Weight)),by=Decile]
+ save(Share,file = "Share.rda")
+
+ Deciles<-Deciles[,Low:=ifelse(as.numeric(Decile)<4,1,0)]
+ Low<-Deciles[,.(weighted.mean(Low,Weight)),by=ProvinceCode]
+ save(Low,file = "Low.rda")
+
+
+ Deciles<-Deciles[,L5:=ifelse(Total_Exp_Month_nondurable<5000000,1,0)]
+ L5<-Deciles[,.(sum(L5*Weight)),by=ProvinceCode]
+ save(L5,file = "L5.rda")
+
+ #UnEmp<-MD[,UnEmp:=ifelse(HActivityState=="Unemployed" & HAge<41,1,0)]
+ #UnEmp<-UnEmp[,.(weighted.mean(UnEmp,Weight)),by=ProvinceCode]
+}
+
+
+endtime <- proc.time()
+cat("\n\n============================\nIt took ")
+cat((endtime-starttime)["elapsed"])
+cat(" seconds")
diff --git a/R/Archive/June 2020 (removed code files)/DecileMean.R b/R/Archive/June 2020 (removed code files)/DecileMean.R
new file mode 100644
index 00000000..98ea52a2
--- /dev/null
+++ b/R/Archive/June 2020 (removed code files)/DecileMean.R
@@ -0,0 +1,66 @@
+#Decile Mean
+#Calculate Mean Expendirure of Different Deciles
+#Zahra Shahidi
+#2020
+
+rm(list=ls())
+
+starttime <- proc.time()
+cat("\n\n================ Poverty Line =====================================\n")
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+library(writexl)
+library(readxl)
+library(data.table)
+library(ggplot2)
+library(stats)
+library(spatstat)
+
+
+for(year in (Settings$startyear:Settings$endyear)){
+ cat(paste0("\nYear:",year,"\t"))
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"InitialPoorClustered.rda"))
+
+ MD<-MD[order(Decile)]
+ dovom<-MD[Decile==1 | Decile==2]
+ nohom<-MD[Decile==9 | Decile==10]
+ p1<-MD[,weighted.mean(Total_Exp_Month_Per_nondurable,Weight*Size),by=c("Decile")]
+ p2<-MD[,weighted.mean(Total_Exp_Month_Per,Weight*Size),by=c("Decile")]
+ p3<-MD[,weighted.mean(Year),by=c("Decile")]
+ p4<- MD[,.N,by=Decile]
+ p5<-MD[,weighted.mean(Weight),by=c("Decile")]
+ p6<-dovom[,weighted.mean(Total_Exp_Month_Per,Weight*Size)]
+ p7<-nohom[,weighted.mean(Total_Exp_Month_Per,Weight*Size)]
+ nesbat1<-p7/p6
+ y<-p2[Decile==1]
+ yekom<-y$V1
+ d<-p2[Decile==10]
+ dahom<-d$V1
+ nesbst<-dahom/yekom
+ P<-as.data.table(cbind(p1$Decile,p1$V1,p2$V1,p3$V1,nesbst,nesbat1,p5$V1))
+ names(P)<-c("Decile","Total_Exp_Month_Per_nondurable","Total_Exp_Month_Per","Year","nesbat","nesbat1","Weight")
+
+ save(P, file=paste0(Settings$HEISProcessedPath,"Y",year,"poor.rda"))
+ d<-MD[,weighted.mean(Total_Exp_Month,Weight*Size)]
+
+ if (year==90){PANEL<-P
+ }else{
+ PANEL<-rbind(P,PANEL)
+ }
+}
+save(PANEL, file=paste0(Settings$HEISProcessedPath,"Decile"))
+PANEL<-PANEL[,Decile:=as.factor(Decile)]
+PANEL<-PANEL[,Year:=as.factor(Year)]
+
+PANEL<-as.data.table(PANEL)
+write_xlsx(PANEL,path="PANEL1.xlsx",col_names=T)
+ggplot(data=PANEL,aes(x=Year, y=fp, group=Decile, colour=Decile))+geom_line()
+
+ggplot(data=PANEL,aes(x=Year, y=poverty_R, group=Decile, colour=Decile))+geom_line()
+
+
+
+endtime <- proc.time()
+cat("\n\n============================\nIt took ")
+cat((endtime-starttime)["elapsed"])
+cat(" seconds")
\ No newline at end of file
diff --git a/R/Archive/June 2020 (removed code files)/Demo2.R b/R/Archive/June 2020 (removed code files)/Demo2.R
new file mode 100644
index 00000000..008f3b1b
--- /dev/null
+++ b/R/Archive/June 2020 (removed code files)/Demo2.R
@@ -0,0 +1,1924 @@
+# 113-Demo2.R
+# Builds the demographics information data.table for households
+#
+# Copyright © 2016: Majid Einian
+# Licence: GPL-3
+rm(list=ls())
+
+starttime <- proc.time()
+cat("\n\n================ Demo =====================================\n")
+
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+library(readxl)
+library(data.table)
+library(stringr)
+library(plotrix)
+library(Hmisc)
+library(haven)
+library(sm)
+library(gridExtra)
+#P1<-P1[,`:=`(Dimension=.N),by=.(HHID)]
+
+P1Cols <- data.table(read_excel(Settings$MetaDataFilePath, Settings$MDS_P1Cols))
+
+EduCodesA <- data.table(read_excel(Settings$MetaDataFilePath,Settings$MDS_EC_A))
+EduCodesB <- data.table(read_excel(Settings$MetaDataFilePath,Settings$MDS_EC_B))
+EduCodesC <- data.table(read_excel(Settings$MetaDataFilePath,Settings$MDS_EC_C))
+EduCodesD <- data.table(read_excel(Settings$MetaDataFilePath,Settings$MDS_EC_D))
+
+years <- Settings$startyear:Settings$endyear
+
+for(year in years){
+ cat(paste0("\n------------------------------\nYear:",year,"\n"))
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"HHBase.rda"))
+ load(file=paste0(Settings$HEISRawPath,"Y",year,"Raw.rda"))
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"lactating.rda"))
+ if(year<=84){
+ EduCodeT <- EduCodesA
+ }else if(year %in% 85:92){
+ EduCodeT <- EduCodesB
+ }else if(year %in% 93:96){
+ EduCodeT <- EduCodesC
+ }else{
+ EduCodeT <- EduCodesD
+ }
+
+ P1 <- rbind(Tables[[paste0("R",year,"P1")]],Tables[[paste0("U",year,"P1")]])
+ nP1 <- names(P1)
+ if(length(which(sapply(P1, is.character)))>0){
+ P1c <- P1[,lapply(.SD,iconv,"WINDOWS-1252","UTF-8"), .SDcols=sapply(P1,is.character)]
+ P1nc <- P1[,!sapply(P1,is.character),with=FALSE]
+ P1 <- cbind(P1c,P1nc)[,nP1,with=FALSE]
+ }
+
+ a <- unlist(P1Cols[P1Cols$Year==year,])
+ ind <- which(!is.na(a))[-1]
+ setnames(P1,a[ind],names(a[ind]))
+
+ f <- function(x){as.numeric(str_trim(x))}
+ P1 <- P1[, lapply(.SD, f)] # , .SDcols=which(sapply(P1, class)=="character")]
+
+
+ P1[is.na(Age),Age:=0L]
+ P1[,Relationship :=factor(Relationship, levels=1:9,
+ labels=c("Head","Spouse","Child","Child-in-Law",
+ "Grand-Child","Parent","Sister/Brother",
+ "Other Family","Non-Family"))]
+
+ P1[,Sex := factor(Sex, levels=1:2,
+ labels=c("Male","Female"))]
+
+ P1<-P1[Sex=="Male" | Sex=="Female"]
+
+ if(year %in% 63:64){
+ P1[,Literate:=LitState<=3]
+ }else if(year %in% 65:68){
+ P1[,Literate:=LitState<=2]
+ }else{
+ P1[,Literate:=Literate==1]
+ }
+
+ if(year %in% 63:68){
+ P1[,Student:=LitState==1]
+ }else{
+ P1[,Student:=Student==1]
+ }
+
+ P1[,EduYears:=EduCodeT$yoe[match(EduCode,EduCodeT$Code)]]
+ P1$EduYears[P1$Literate==FALSE] <- 0
+ P1[,EduLevel:=cut(EduYears,breaks=c(-1,0,6,12,22),
+ labels= c("Illiterate","Primary","Secondary","University"))]
+ P1[,EduLevel0:=cut(EduYears,breaks=c(-1,0,6,9,11,12,22),
+ labels= c("Illiterate","Elementary","Middle","High","Pre","University"))]
+
+ P1[,ActivityState:=as.numeric(substr(as.character(ActivityState),1,1))]
+
+ if(year %in% 63:64){
+ P1[,ActivityState:=factor(ActivityState,1:9,
+ c("Employed","Seasonal Unemployed","Income without Work",
+ "Unemployed","Student","Housekeeper","Unemployed Not Looking for Job",
+ "Other","Former Member"))]
+ levels(P1$ActivityState) <- c(c("Employed","Unemployed","Income without Work",
+ "Unemployed","Student","Housekeeper","Other",
+ "Other","Other"))
+ }else if(year %in% 65:68){
+ P1[,ActivityState:=factor(ActivityState,1:8,
+ c("Employed","Seasonal Unemployed","Income without Work",
+ "Unemployed","Student","Housekeeper",
+ "Other","Former Member"))]
+ levels(P1$ActivityState) <- c(c("Employed","Unemployed","Income without Work",
+ "Unemployed","Student","Housekeeper","Other",
+ "Other"))
+ }else{
+ P1[,ActivityState:=factor(ActivityState,1:6,
+ c("Employed","Unemployed","Income without Work",
+ "Student","Housekeeper","Other"))]
+ }
+
+ if(year %in% 66:68){
+ P1[,MarritalState:=factor(NA,1:4,
+ c("Married","Widowed","Divorced","Bachelor"))]
+ }else{
+ P1[,MarritalState:=factor(MarritalState,1:4,
+ c("Married","Widowed","Divorced","Bachelor"))]
+ }
+
+
+
+
+ P <- copy(P1)
+
+ P <- P[order(P$HHID),]
+
+
+ B <- P[IndivNo==1]
+ setnames(B,2:length(B),sapply(X=names(B)[2:length(B)],function(X){paste("H",X,sep="")}))
+ B <- B[order(HHID,HIndivNo)]
+ B <- B[!duplicated(B$HHID),]
+
+ B[,HEmployed:=HActivityState=="Employed"]
+ B[,HUnemployed:=HActivityState=="Unemployed"]
+ B[,HIncomeWOWork:=HActivityState=="Income without Work"]
+
+ B <- B[!is.na(HActivityState) & !is.na(HLiterate)]
+
+
+ P[,Size:=1]
+ P[,Kids:=ifelse(Relationship=="Child",1,0)]
+ P[,NKids:=ifelse(Age<15,1,0)]
+ P[,NInfants:=ifelse(Age<=2,1,0)]
+ P[,NSmallKids:=ifelse(Age>=3 & Age<=13, 1, 0)]
+
+ P[,NElementary:= ifelse(EduLevel0=="Elementary" & Student==TRUE,1,0)]
+ P[,NMiddle:= ifelse(EduLevel0=="Middle" & Student==TRUE,1,0)]
+ P[,NHigh:= ifelse(EduLevel0=="High" & Student==TRUE,1,0)]
+ P[,NPre:= ifelse(EduLevel0=="Pre" & Student==TRUE,1,0)]
+
+ #Age Groups 1
+ P[, NAge0B :=ifelse( Age== 0 &Sex== "Male" ,1,0)]
+ P[, NAge1B :=ifelse( Age== 1 &Sex== "Male" ,1,0)]
+ P[, NAge2B :=ifelse( Age== 2 &Sex== "Male" ,1,0)]
+ P[, NAge3B :=ifelse( Age== 3 &Sex== "Male" ,1,0)]
+ P[, NAge4B :=ifelse( Age== 4 &Sex== "Male" ,1,0)]
+ P[, NAge5B :=ifelse( Age== 5 &Sex== "Male" ,1,0)]
+ P[, NAge6B :=ifelse( Age== 6 &Sex== "Male" ,1,0)]
+ P[, NAge7B :=ifelse( Age== 7 &Sex== "Male" ,1,0)]
+ P[, NAge8B :=ifelse( Age== 8 &Sex== "Male" ,1,0)]
+ P[, NAge9B :=ifelse( Age== 9 &Sex== "Male" ,1,0)]
+ P[, NAge10B :=ifelse( Age== 10 &Sex== "Male" ,1,0)]
+ P[, NAge11B :=ifelse( Age== 11 &Sex== "Male" ,1,0)]
+ P[, NAge12B :=ifelse( Age== 12 &Sex== "Male" ,1,0)]
+ P[, NAge13B :=ifelse( Age== 13 &Sex== "Male" ,1,0)]
+ P[, NAge14B :=ifelse( Age== 14 &Sex== "Male" ,1,0)]
+ P[, NAge15B :=ifelse( Age== 15 &Sex== "Male" ,1,0)]
+ P[, NAge16B :=ifelse( Age== 16 &Sex== "Male" ,1,0)]
+ P[, NAge17B :=ifelse( Age== 17 &Sex== "Male" ,1,0)]
+ P[, NAge18B :=ifelse( Age== 18 &Sex== "Male" ,1,0)]
+ P[, NAge19B :=ifelse( Age== 19 &Sex== "Male" ,1,0)]
+ P[, NAge20B :=ifelse( Age== 20 &Sex== "Male" ,1,0)]
+ P[, NAge21B :=ifelse( Age== 21 &Sex== "Male" ,1,0)]
+ P[, NAge22B :=ifelse( Age== 22 &Sex== "Male" ,1,0)]
+ P[, NAge23B :=ifelse( Age== 23 &Sex== "Male" ,1,0)]
+ P[, NAge24B :=ifelse( Age== 24 &Sex== "Male" ,1,0)]
+ P[, NAge25B :=ifelse( Age== 25 &Sex== "Male" ,1,0)]
+ P[, NAge26B :=ifelse( Age== 26 &Sex== "Male" ,1,0)]
+ P[, NAge27B :=ifelse( Age== 27 &Sex== "Male" ,1,0)]
+ P[, NAge28B :=ifelse( Age== 28 &Sex== "Male" ,1,0)]
+ P[, NAge29B :=ifelse( Age== 29 &Sex== "Male" ,1,0)]
+ P[, NAge30B :=ifelse( Age== 30 &Sex== "Male" ,1,0)]
+ P[, NAge31B :=ifelse( Age== 31 &Sex== "Male" ,1,0)]
+ P[, NAge32B :=ifelse( Age== 32 &Sex== "Male" ,1,0)]
+ P[, NAge33B :=ifelse( Age== 33 &Sex== "Male" ,1,0)]
+ P[, NAge34B :=ifelse( Age== 34 &Sex== "Male" ,1,0)]
+ P[, NAge35B :=ifelse( Age== 35 &Sex== "Male" ,1,0)]
+ P[, NAge36B :=ifelse( Age== 36 &Sex== "Male" ,1,0)]
+ P[, NAge37B :=ifelse( Age== 37 &Sex== "Male" ,1,0)]
+ P[, NAge38B :=ifelse( Age== 38 &Sex== "Male" ,1,0)]
+ P[, NAge39B :=ifelse( Age== 39 &Sex== "Male" ,1,0)]
+ P[, NAge40B :=ifelse( Age== 40 &Sex== "Male" ,1,0)]
+ P[, NAge41B :=ifelse( Age== 41 &Sex== "Male" ,1,0)]
+ P[, NAge42B :=ifelse( Age== 42 &Sex== "Male" ,1,0)]
+ P[, NAge43B :=ifelse( Age== 43 &Sex== "Male" ,1,0)]
+ P[, NAge44B :=ifelse( Age== 44 &Sex== "Male" ,1,0)]
+ P[, NAge45B :=ifelse( Age== 45 &Sex== "Male" ,1,0)]
+ P[, NAge46B :=ifelse( Age== 46 &Sex== "Male" ,1,0)]
+ P[, NAge47B :=ifelse( Age== 47 &Sex== "Male" ,1,0)]
+ P[, NAge48B :=ifelse( Age== 48 &Sex== "Male" ,1,0)]
+ P[, NAge49B :=ifelse( Age== 49 &Sex== "Male" ,1,0)]
+ P[, NAge50B :=ifelse( Age== 50 &Sex== "Male" ,1,0)]
+ P[, NAge51B :=ifelse( Age== 51 &Sex== "Male" ,1,0)]
+ P[, NAge52B :=ifelse( Age== 52 &Sex== "Male" ,1,0)]
+ P[, NAge53B :=ifelse( Age== 53 &Sex== "Male" ,1,0)]
+ P[, NAge54B :=ifelse( Age== 54 &Sex== "Male" ,1,0)]
+ P[, NAge55B :=ifelse( Age== 55 &Sex== "Male" ,1,0)]
+ P[, NAge56B :=ifelse( Age== 56 &Sex== "Male" ,1,0)]
+ P[, NAge57B :=ifelse( Age== 57 &Sex== "Male" ,1,0)]
+ P[, NAge58B :=ifelse( Age== 58 &Sex== "Male" ,1,0)]
+ P[, NAge59B :=ifelse( Age== 59 &Sex== "Male" ,1,0)]
+ P[, NAge60B :=ifelse( Age== 60 &Sex== "Male" ,1,0)]
+ P[, NAge61B :=ifelse( Age== 61 &Sex== "Male" ,1,0)]
+ P[, NAge62B :=ifelse( Age== 62 &Sex== "Male" ,1,0)]
+ P[, NAge63B :=ifelse( Age== 63 &Sex== "Male" ,1,0)]
+ P[, NAge64B :=ifelse( Age== 64 &Sex== "Male" ,1,0)]
+ P[, NAge65B :=ifelse( Age== 65 &Sex== "Male" ,1,0)]
+ P[, NAge66B :=ifelse( Age== 66 &Sex== "Male" ,1,0)]
+ P[, NAge67B :=ifelse( Age== 67 &Sex== "Male" ,1,0)]
+ P[, NAge68B :=ifelse( Age== 68 &Sex== "Male" ,1,0)]
+ P[, NAge69B :=ifelse( Age== 69 &Sex== "Male" ,1,0)]
+ P[, NAge70B :=ifelse( Age== 70 &Sex== "Male" ,1,0)]
+ P[, NAge71B :=ifelse( Age== 71 &Sex== "Male" ,1,0)]
+ P[, NAge72B :=ifelse( Age== 72 &Sex== "Male" ,1,0)]
+ P[, NAge73B :=ifelse( Age== 73 &Sex== "Male" ,1,0)]
+ P[, NAge74B :=ifelse( Age== 74 &Sex== "Male" ,1,0)]
+ P[, NAge75B :=ifelse( Age== 75 &Sex== "Male" ,1,0)]
+ P[, NAge76B :=ifelse( Age== 76 &Sex== "Male" ,1,0)]
+ P[, NAge77B :=ifelse( Age== 77 &Sex== "Male" ,1,0)]
+ P[, NAge78B :=ifelse( Age== 78 &Sex== "Male" ,1,0)]
+ P[, NAge79B :=ifelse( Age== 79 &Sex== "Male" ,1,0)]
+ P[, NAge80B :=ifelse( Age== 80 &Sex== "Male" ,1,0)]
+ P[, NAge81B :=ifelse( Age== 81 &Sex== "Male" ,1,0)]
+ P[, NAge82B :=ifelse( Age== 82 &Sex== "Male" ,1,0)]
+ P[, NAge83B :=ifelse( Age== 83 &Sex== "Male" ,1,0)]
+ P[, NAge84B :=ifelse( Age== 84 &Sex== "Male" ,1,0)]
+ P[, NAge85B :=ifelse( Age== 85 &Sex== "Male" ,1,0)]
+ P[, NAge86B :=ifelse( Age== 86 &Sex== "Male" ,1,0)]
+ P[, NAge87B :=ifelse( Age== 87 &Sex== "Male" ,1,0)]
+ P[, NAge88B :=ifelse( Age== 88 &Sex== "Male" ,1,0)]
+ P[, NAge89B :=ifelse( Age== 89 &Sex== "Male" ,1,0)]
+ P[, NAge90B :=ifelse( Age== 90 &Sex== "Male" ,1,0)]
+ P[, NAge91B :=ifelse( Age== 91 &Sex== "Male" ,1,0)]
+ P[, NAge92B :=ifelse( Age== 92 &Sex== "Male" ,1,0)]
+ P[, NAge93B :=ifelse( Age== 93 &Sex== "Male" ,1,0)]
+ P[, NAge94B :=ifelse( Age== 94 &Sex== "Male" ,1,0)]
+ P[, NAge95B :=ifelse( Age== 95 &Sex== "Male" ,1,0)]
+ P[, NAge96B :=ifelse( Age== 96 &Sex== "Male" ,1,0)]
+ P[, NAge97B :=ifelse( Age== 97 &Sex== "Male" ,1,0)]
+ P[, NAge98B :=ifelse( Age== 98 &Sex== "Male" ,1,0)]
+ P[, NAge99B :=ifelse( Age== 99 &Sex== "Male" ,1,0)]
+ P[, NAge0G :=ifelse( Age== 0 &Sex== "Female" ,1,0)]
+ P[, NAge1G :=ifelse( Age== 1 &Sex== "Female" ,1,0)]
+ P[, NAge2G :=ifelse( Age== 2 &Sex== "Female" ,1,0)]
+ P[, NAge3G :=ifelse( Age== 3 &Sex== "Female" ,1,0)]
+ P[, NAge4G :=ifelse( Age== 4 &Sex== "Female" ,1,0)]
+ P[, NAge5G :=ifelse( Age== 5 &Sex== "Female" ,1,0)]
+ P[, NAge6G :=ifelse( Age== 6 &Sex== "Female" ,1,0)]
+ P[, NAge7G :=ifelse( Age== 7 &Sex== "Female" ,1,0)]
+ P[, NAge8G :=ifelse( Age== 8 &Sex== "Female" ,1,0)]
+ P[, NAge9G :=ifelse( Age== 9 &Sex== "Female" ,1,0)]
+ P[, NAge10G :=ifelse( Age== 10 &Sex== "Female" ,1,0)]
+ P[, NAge11G :=ifelse( Age== 11 &Sex== "Female" ,1,0)]
+ P[, NAge12G :=ifelse( Age== 12 &Sex== "Female" ,1,0)]
+ P[, NAge13G :=ifelse( Age== 13 &Sex== "Female" ,1,0)]
+ P[, NAge14G :=ifelse( Age== 14 &Sex== "Female" ,1,0)]
+ P[, NAge15G :=ifelse( Age== 15 &Sex== "Female" ,1,0)]
+ P[, NAge16G :=ifelse( Age== 16 &Sex== "Female" ,1,0)]
+ P[, NAge17G :=ifelse( Age== 17 &Sex== "Female" ,1,0)]
+ P[, NAge18G :=ifelse( Age== 18 &Sex== "Female" ,1,0)]
+ P[, NAge19G :=ifelse( Age== 19 &Sex== "Female" ,1,0)]
+ P[, NAge20G :=ifelse( Age== 20 &Sex== "Female" ,1,0)]
+ P[, NAge21G :=ifelse( Age== 21 &Sex== "Female" ,1,0)]
+ P[, NAge22G :=ifelse( Age== 22 &Sex== "Female" ,1,0)]
+ P[, NAge23G :=ifelse( Age== 23 &Sex== "Female" ,1,0)]
+ P[, NAge24G :=ifelse( Age== 24 &Sex== "Female" ,1,0)]
+ P[, NAge25G :=ifelse( Age== 25 &Sex== "Female" ,1,0)]
+ P[, NAge26G :=ifelse( Age== 26 &Sex== "Female" ,1,0)]
+ P[, NAge27G :=ifelse( Age== 27 &Sex== "Female" ,1,0)]
+ P[, NAge28G :=ifelse( Age== 28 &Sex== "Female" ,1,0)]
+ P[, NAge29G :=ifelse( Age== 29 &Sex== "Female" ,1,0)]
+ P[, NAge30G :=ifelse( Age== 30 &Sex== "Female" ,1,0)]
+ P[, NAge31G :=ifelse( Age== 31 &Sex== "Female" ,1,0)]
+ P[, NAge32G :=ifelse( Age== 32 &Sex== "Female" ,1,0)]
+ P[, NAge33G :=ifelse( Age== 33 &Sex== "Female" ,1,0)]
+ P[, NAge34G :=ifelse( Age== 34 &Sex== "Female" ,1,0)]
+ P[, NAge35G :=ifelse( Age== 35 &Sex== "Female" ,1,0)]
+ P[, NAge36G :=ifelse( Age== 36 &Sex== "Female" ,1,0)]
+ P[, NAge37G :=ifelse( Age== 37 &Sex== "Female" ,1,0)]
+ P[, NAge38G :=ifelse( Age== 38 &Sex== "Female" ,1,0)]
+ P[, NAge39G :=ifelse( Age== 39 &Sex== "Female" ,1,0)]
+ P[, NAge40G :=ifelse( Age== 40 &Sex== "Female" ,1,0)]
+ P[, NAge41G :=ifelse( Age== 41 &Sex== "Female" ,1,0)]
+ P[, NAge42G :=ifelse( Age== 42 &Sex== "Female" ,1,0)]
+ P[, NAge43G :=ifelse( Age== 43 &Sex== "Female" ,1,0)]
+ P[, NAge44G :=ifelse( Age== 44 &Sex== "Female" ,1,0)]
+ P[, NAge45G :=ifelse( Age== 45 &Sex== "Female" ,1,0)]
+ P[, NAge46G :=ifelse( Age== 46 &Sex== "Female" ,1,0)]
+ P[, NAge47G :=ifelse( Age== 47 &Sex== "Female" ,1,0)]
+ P[, NAge48G :=ifelse( Age== 48 &Sex== "Female" ,1,0)]
+ P[, NAge49G :=ifelse( Age== 49 &Sex== "Female" ,1,0)]
+ P[, NAge50G :=ifelse( Age== 50 &Sex== "Female" ,1,0)]
+ P[, NAge51G :=ifelse( Age== 51 &Sex== "Female" ,1,0)]
+ P[, NAge52G :=ifelse( Age== 52 &Sex== "Female" ,1,0)]
+ P[, NAge53G :=ifelse( Age== 53 &Sex== "Female" ,1,0)]
+ P[, NAge54G :=ifelse( Age== 54 &Sex== "Female" ,1,0)]
+ P[, NAge55G :=ifelse( Age== 55 &Sex== "Female" ,1,0)]
+ P[, NAge56G :=ifelse( Age== 56 &Sex== "Female" ,1,0)]
+ P[, NAge57G :=ifelse( Age== 57 &Sex== "Female" ,1,0)]
+ P[, NAge58G :=ifelse( Age== 58 &Sex== "Female" ,1,0)]
+ P[, NAge59G :=ifelse( Age== 59 &Sex== "Female" ,1,0)]
+ P[, NAge60G :=ifelse( Age== 60 &Sex== "Female" ,1,0)]
+ P[, NAge61G :=ifelse( Age== 61 &Sex== "Female" ,1,0)]
+ P[, NAge62G :=ifelse( Age== 62 &Sex== "Female" ,1,0)]
+ P[, NAge63G :=ifelse( Age== 63 &Sex== "Female" ,1,0)]
+ P[, NAge64G :=ifelse( Age== 64 &Sex== "Female" ,1,0)]
+ P[, NAge65G :=ifelse( Age== 65 &Sex== "Female" ,1,0)]
+ P[, NAge66G :=ifelse( Age== 66 &Sex== "Female" ,1,0)]
+ P[, NAge67G :=ifelse( Age== 67 &Sex== "Female" ,1,0)]
+ P[, NAge68G :=ifelse( Age== 68 &Sex== "Female" ,1,0)]
+ P[, NAge69G :=ifelse( Age== 69 &Sex== "Female" ,1,0)]
+ P[, NAge70G :=ifelse( Age== 70 &Sex== "Female" ,1,0)]
+ P[, NAge71G :=ifelse( Age== 71 &Sex== "Female" ,1,0)]
+ P[, NAge72G :=ifelse( Age== 72 &Sex== "Female" ,1,0)]
+ P[, NAge73G :=ifelse( Age== 73 &Sex== "Female" ,1,0)]
+ P[, NAge74G :=ifelse( Age== 74 &Sex== "Female" ,1,0)]
+ P[, NAge75G :=ifelse( Age== 75 &Sex== "Female" ,1,0)]
+ P[, NAge76G :=ifelse( Age== 76 &Sex== "Female" ,1,0)]
+ P[, NAge77G :=ifelse( Age== 77 &Sex== "Female" ,1,0)]
+ P[, NAge78G :=ifelse( Age== 78 &Sex== "Female" ,1,0)]
+ P[, NAge79G :=ifelse( Age== 79 &Sex== "Female" ,1,0)]
+ P[, NAge80G :=ifelse( Age== 80 &Sex== "Female" ,1,0)]
+ P[, NAge81G :=ifelse( Age== 81 &Sex== "Female" ,1,0)]
+ P[, NAge82G :=ifelse( Age== 82 &Sex== "Female" ,1,0)]
+ P[, NAge83G :=ifelse( Age== 83 &Sex== "Female" ,1,0)]
+ P[, NAge84G :=ifelse( Age== 84 &Sex== "Female" ,1,0)]
+ P[, NAge85G :=ifelse( Age== 85 &Sex== "Female" ,1,0)]
+ P[, NAge86G :=ifelse( Age== 86 &Sex== "Female" ,1,0)]
+ P[, NAge87G :=ifelse( Age== 87 &Sex== "Female" ,1,0)]
+ P[, NAge88G :=ifelse( Age== 88 &Sex== "Female" ,1,0)]
+ P[, NAge89G :=ifelse( Age== 89 &Sex== "Female" ,1,0)]
+ P[, NAge90G :=ifelse( Age== 90 &Sex== "Female" ,1,0)]
+ P[, NAge91G :=ifelse( Age== 91 &Sex== "Female" ,1,0)]
+ P[, NAge92G :=ifelse( Age== 92 &Sex== "Female" ,1,0)]
+ P[, NAge93G :=ifelse( Age== 93 &Sex== "Female" ,1,0)]
+ P[, NAge94G :=ifelse( Age== 94 &Sex== "Female" ,1,0)]
+ P[, NAge95G :=ifelse( Age== 95 &Sex== "Female" ,1,0)]
+ P[, NAge96G :=ifelse( Age== 96 &Sex== "Female" ,1,0)]
+ P[, NAge97G :=ifelse( Age== 97 &Sex== "Female" ,1,0)]
+ P[, NAge98G :=ifelse( Age== 98 &Sex== "Female" ,1,0)]
+ P[, NAge99G :=ifelse( Age== 99 &Sex== "Female" ,1,0)]
+
+
+
+ #Age Groups 2
+ P[, NAge0_A_B :=ifelse( Age== 0 &Sex== "Male" ,1,0)]
+ P[, NAge1_A_B :=ifelse( Age== 1 &Sex== "Male" ,1,0)]
+ P[, NAge2_A_B :=ifelse( Age== 2 &Sex== "Male" ,1,0)]
+ P[, NAge3_A_B :=ifelse( Age== 3 &Sex== "Male" ,1,0)]
+ P[, NAge4_A_B :=ifelse( Age== 4 &Sex== "Male" ,1,0)]
+ P[, NAge5_A_B :=ifelse( Age== 5 &Sex== "Male" ,1,0)]
+ P[, NAge6_A_B :=ifelse( Age== 6 &Sex== "Male" ,1,0)]
+ P[, NAge7_A_B :=ifelse( Age== 7 &Sex== "Male" ,1,0)]
+ P[, NAge8_A_B :=ifelse( Age== 8 &Sex== "Male" ,1,0)]
+ P[, NAge9_A_B :=ifelse( Age== 9 &Sex== "Male" ,1,0)]
+ P[, NAge10_A_B :=ifelse( Age== 10 &Sex== "Male" ,1,0)]
+ P[, NAge11_A_B :=ifelse( Age== 11 &Sex== "Male" ,1,0)]
+ P[, NAge12_A_B :=ifelse( Age== 12 &Sex== "Male" ,1,0)]
+ P[, NAge13_A_B :=ifelse( Age== 13 &Sex== "Male" ,1,0)]
+ P[, NAge14_A_B :=ifelse( Age== 14 &Sex== "Male" ,1,0)]
+ P[, NAge15_A_B :=ifelse( Age== 15 &Sex== "Male" ,1,0)]
+ P[, NAge16_A_B :=ifelse( Age== 16 &Sex== "Male" ,1,0)]
+ P[, NAge17_A_B :=ifelse( Age== 17 &Sex== "Male" ,1,0)]
+ P[, NAge18_A_B :=ifelse( Age== 18 &Sex== "Male" ,1,0)]
+ P[, NAge19_A_B :=ifelse( Age== 19 &Sex== "Male" ,1,0)]
+ P[, NAge20_A_B :=ifelse( Age== 20 &Sex== "Male" ,1,0)]
+ P[, NAge21_A_B :=ifelse( Age== 21 &Sex== "Male" ,1,0)]
+ P[, NAge22_A_B :=ifelse( Age== 22 &Sex== "Male" ,1,0)]
+ P[, NAge23_A_B :=ifelse( Age== 23 &Sex== "Male" ,1,0)]
+ P[, NAge24_A_B :=ifelse( Age== 24 &Sex== "Male" ,1,0)]
+ P[, NAge25_A_B :=ifelse( Age== 25 &Sex== "Male" ,1,0)]
+ P[, NAge26_A_B :=ifelse( Age== 26 &Sex== "Male" ,1,0)]
+ P[, NAge27_A_B :=ifelse( Age== 27 &Sex== "Male" ,1,0)]
+ P[, NAge28_A_B :=ifelse( Age== 28 &Sex== "Male" ,1,0)]
+ P[, NAge29_A_B :=ifelse( Age== 29 &Sex== "Male" ,1,0)]
+ P[, NAge30_A_B :=ifelse( Age== 30 &Sex== "Male" ,1,0)]
+ P[, NAge31_A_B :=ifelse( Age== 31 &Sex== "Male" ,1,0)]
+ P[, NAge32_A_B :=ifelse( Age== 32 &Sex== "Male" ,1,0)]
+ P[, NAge33_A_B :=ifelse( Age== 33 &Sex== "Male" ,1,0)]
+ P[, NAge34_A_B :=ifelse( Age== 34 &Sex== "Male" ,1,0)]
+ P[, NAge35_A_B :=ifelse( Age== 35 &Sex== "Male" ,1,0)]
+ P[, NAge36_A_B :=ifelse( Age== 36 &Sex== "Male" ,1,0)]
+ P[, NAge37_A_B :=ifelse( Age== 37 &Sex== "Male" ,1,0)]
+ P[, NAge38_A_B :=ifelse( Age== 38 &Sex== "Male" ,1,0)]
+ P[, NAge39_A_B :=ifelse( Age== 39 &Sex== "Male" ,1,0)]
+ P[, NAge40_A_B :=ifelse( Age== 40 &Sex== "Male" ,1,0)]
+ P[, NAge41_A_B :=ifelse( Age== 41 &Sex== "Male" ,1,0)]
+ P[, NAge42_A_B :=ifelse( Age== 42 &Sex== "Male" ,1,0)]
+ P[, NAge43_A_B :=ifelse( Age== 43 &Sex== "Male" ,1,0)]
+ P[, NAge44_A_B :=ifelse( Age== 44 &Sex== "Male" ,1,0)]
+ P[, NAge45_A_B :=ifelse( Age== 45 &Sex== "Male" ,1,0)]
+ P[, NAge46_A_B :=ifelse( Age== 46 &Sex== "Male" ,1,0)]
+ P[, NAge47_A_B :=ifelse( Age== 47 &Sex== "Male" ,1,0)]
+ P[, NAge48_A_B :=ifelse( Age== 48 &Sex== "Male" ,1,0)]
+ P[, NAge49_A_B :=ifelse( Age== 49 &Sex== "Male" ,1,0)]
+ P[, NAge50_A_B :=ifelse( Age== 50 &Sex== "Male" ,1,0)]
+ P[, NAge51_A_B :=ifelse( Age== 51 &Sex== "Male" ,1,0)]
+ P[, NAge52_A_B :=ifelse( Age== 52 &Sex== "Male" ,1,0)]
+ P[, NAge53_A_B :=ifelse( Age== 53 &Sex== "Male" ,1,0)]
+ P[, NAge54_A_B :=ifelse( Age== 54 &Sex== "Male" ,1,0)]
+ P[, NAge55_A_B :=ifelse( Age== 55 &Sex== "Male" ,1,0)]
+ P[, NAge56_A_B :=ifelse( Age== 56 &Sex== "Male" ,1,0)]
+ P[, NAge57_A_B :=ifelse( Age== 57 &Sex== "Male" ,1,0)]
+ P[, NAge58_A_B :=ifelse( Age== 58 &Sex== "Male" ,1,0)]
+ P[, NAge59_A_B :=ifelse( Age== 59 &Sex== "Male" ,1,0)]
+ P[, NAge60_A_B :=ifelse( Age== 60 &Sex== "Male" ,1,0)]
+ P[, NAge61_A_B :=ifelse( Age== 61 &Sex== "Male" ,1,0)]
+ P[, NAge62_A_B :=ifelse( Age== 62 &Sex== "Male" ,1,0)]
+ P[, NAge63_A_B :=ifelse( Age== 63 &Sex== "Male" ,1,0)]
+ P[, NAge64_A_B :=ifelse( Age== 64 &Sex== "Male" ,1,0)]
+ P[, NAge65_A_B :=ifelse( Age== 65 &Sex== "Male" ,1,0)]
+ P[, NAge66_A_B :=ifelse( Age== 66 &Sex== "Male" ,1,0)]
+ P[, NAge67_A_B :=ifelse( Age== 67 &Sex== "Male" ,1,0)]
+ P[, NAge68_A_B :=ifelse( Age== 68 &Sex== "Male" ,1,0)]
+ P[, NAge69_A_B :=ifelse( Age== 69 &Sex== "Male" ,1,0)]
+ P[, NAge70_A_B :=ifelse( Age== 70 &Sex== "Male" ,1,0)]
+ P[, NAge71_A_B :=ifelse( Age== 71 &Sex== "Male" ,1,0)]
+ P[, NAge72_A_B :=ifelse( Age== 72 &Sex== "Male" ,1,0)]
+ P[, NAge73_A_B :=ifelse( Age== 73 &Sex== "Male" ,1,0)]
+ P[, NAge74_A_B :=ifelse( Age== 74 &Sex== "Male" ,1,0)]
+ P[, NAge75_A_B :=ifelse( Age== 75 &Sex== "Male" ,1,0)]
+ P[, NAge76_A_B :=ifelse( Age== 76 &Sex== "Male" ,1,0)]
+ P[, NAge77_A_B :=ifelse( Age== 77 &Sex== "Male" ,1,0)]
+ P[, NAge78_A_B :=ifelse( Age== 78 &Sex== "Male" ,1,0)]
+ P[, NAge79_A_B :=ifelse( Age== 79 &Sex== "Male" ,1,0)]
+ P[, NAge80_A_B :=ifelse( Age== 80 &Sex== "Male" ,1,0)]
+ P[, NAge81_A_B :=ifelse( Age== 81 &Sex== "Male" ,1,0)]
+ P[, NAge82_A_B :=ifelse( Age== 82 &Sex== "Male" ,1,0)]
+ P[, NAge83_A_B :=ifelse( Age== 83 &Sex== "Male" ,1,0)]
+ P[, NAge84_A_B :=ifelse( Age== 84 &Sex== "Male" ,1,0)]
+ P[, NAge85_A_B :=ifelse( Age== 85 &Sex== "Male" ,1,0)]
+ P[, NAge86_A_B :=ifelse( Age== 86 &Sex== "Male" ,1,0)]
+ P[, NAge87_A_B :=ifelse( Age== 87 &Sex== "Male" ,1,0)]
+ P[, NAge88_A_B :=ifelse( Age== 88 &Sex== "Male" ,1,0)]
+ P[, NAge89_A_B :=ifelse( Age== 89 &Sex== "Male" ,1,0)]
+ P[, NAge90_A_B :=ifelse( Age== 90 &Sex== "Male" ,1,0)]
+ P[, NAge91_A_B :=ifelse( Age== 91 &Sex== "Male" ,1,0)]
+ P[, NAge92_A_B :=ifelse( Age== 92 &Sex== "Male" ,1,0)]
+ P[, NAge93_A_B :=ifelse( Age== 93 &Sex== "Male" ,1,0)]
+ P[, NAge94_A_B :=ifelse( Age== 94 &Sex== "Male" ,1,0)]
+ P[, NAge95_A_B :=ifelse( Age== 95 &Sex== "Male" ,1,0)]
+ P[, NAge96_A_B :=ifelse( Age== 96 &Sex== "Male" ,1,0)]
+ P[, NAge97_A_B :=ifelse( Age== 97 &Sex== "Male" ,1,0)]
+ P[, NAge98_A_B :=ifelse( Age== 98 &Sex== "Male" ,1,0)]
+ P[, NAge99_A_B :=ifelse( Age== 99 &Sex== "Male" ,1,0)]
+ P[, NAge0_A_G :=ifelse( Age== 0 &Sex== "Female" ,1,0)]
+ P[, NAge1_A_G :=ifelse( Age== 1 &Sex== "Female" ,1,0)]
+ P[, NAge2_A_G :=ifelse( Age== 2 &Sex== "Female" ,1,0)]
+ P[, NAge3_A_G :=ifelse( Age== 3 &Sex== "Female" ,1,0)]
+ P[, NAge4_A_G :=ifelse( Age== 4 &Sex== "Female" ,1,0)]
+ P[, NAge5_A_G :=ifelse( Age== 5 &Sex== "Female" ,1,0)]
+ P[, NAge6_A_G :=ifelse( Age== 6 &Sex== "Female" ,1,0)]
+ P[, NAge7_A_G :=ifelse( Age== 7 &Sex== "Female" ,1,0)]
+ P[, NAge8_A_G :=ifelse( Age== 8 &Sex== "Female" ,1,0)]
+ P[, NAge9_A_G :=ifelse( Age== 9 &Sex== "Female" ,1,0)]
+ P[, NAge10_A_G :=ifelse( Age== 10 &Sex== "Female" ,1,0)]
+ P[, NAge11_A_G :=ifelse( Age== 11 &Sex== "Female" ,1,0)]
+ P[, NAge12_A_G :=ifelse( Age== 12 &Sex== "Female" ,1,0)]
+ P[, NAge13_A_G :=ifelse( Age== 13 &Sex== "Female" ,1,0)]
+ P[, NAge14_A_G :=ifelse( Age== 14 &Sex== "Female" ,1,0)]
+ P[, NAge15_A_G :=ifelse( Age== 15 &Sex== "Female" ,1,0)]
+ P[, NAge16_A_G :=ifelse( Age== 16 &Sex== "Female" ,1,0)]
+ P[, NAge17_A_G :=ifelse( Age== 17 &Sex== "Female" ,1,0)]
+ P[, NAge18_A_G :=ifelse( Age== 18 &Sex== "Female" ,1,0)]
+ P[, NAge19_A_G :=ifelse( Age== 19 &Sex== "Female" ,1,0)]
+ P[, NAge20_A_G :=ifelse( Age== 20 &Sex== "Female" ,1,0)]
+ P[, NAge21_A_G :=ifelse( Age== 21 &Sex== "Female" ,1,0)]
+ P[, NAge22_A_G :=ifelse( Age== 22 &Sex== "Female" ,1,0)]
+ P[, NAge23_A_G :=ifelse( Age== 23 &Sex== "Female" ,1,0)]
+ P[, NAge24_A_G :=ifelse( Age== 24 &Sex== "Female" ,1,0)]
+ P[, NAge25_A_G :=ifelse( Age== 25 &Sex== "Female" ,1,0)]
+ P[, NAge26_A_G :=ifelse( Age== 26 &Sex== "Female" ,1,0)]
+ P[, NAge27_A_G :=ifelse( Age== 27 &Sex== "Female" ,1,0)]
+ P[, NAge28_A_G :=ifelse( Age== 28 &Sex== "Female" ,1,0)]
+ P[, NAge29_A_G :=ifelse( Age== 29 &Sex== "Female" ,1,0)]
+ P[, NAge30_A_G :=ifelse( Age== 30 &Sex== "Female" ,1,0)]
+ P[, NAge31_A_G :=ifelse( Age== 31 &Sex== "Female" ,1,0)]
+ P[, NAge32_A_G :=ifelse( Age== 32 &Sex== "Female" ,1,0)]
+ P[, NAge33_A_G :=ifelse( Age== 33 &Sex== "Female" ,1,0)]
+ P[, NAge34_A_G :=ifelse( Age== 34 &Sex== "Female" ,1,0)]
+ P[, NAge35_A_G :=ifelse( Age== 35 &Sex== "Female" ,1,0)]
+ P[, NAge36_A_G :=ifelse( Age== 36 &Sex== "Female" ,1,0)]
+ P[, NAge37_A_G :=ifelse( Age== 37 &Sex== "Female" ,1,0)]
+ P[, NAge38_A_G :=ifelse( Age== 38 &Sex== "Female" ,1,0)]
+ P[, NAge39_A_G :=ifelse( Age== 39 &Sex== "Female" ,1,0)]
+ P[, NAge40_A_G :=ifelse( Age== 40 &Sex== "Female" ,1,0)]
+ P[, NAge41_A_G :=ifelse( Age== 41 &Sex== "Female" ,1,0)]
+ P[, NAge42_A_G :=ifelse( Age== 42 &Sex== "Female" ,1,0)]
+ P[, NAge43_A_G :=ifelse( Age== 43 &Sex== "Female" ,1,0)]
+ P[, NAge44_A_G :=ifelse( Age== 44 &Sex== "Female" ,1,0)]
+ P[, NAge45_A_G :=ifelse( Age== 45 &Sex== "Female" ,1,0)]
+ P[, NAge46_A_G :=ifelse( Age== 46 &Sex== "Female" ,1,0)]
+ P[, NAge47_A_G :=ifelse( Age== 47 &Sex== "Female" ,1,0)]
+ P[, NAge48_A_G :=ifelse( Age== 48 &Sex== "Female" ,1,0)]
+ P[, NAge49_A_G :=ifelse( Age== 49 &Sex== "Female" ,1,0)]
+ P[, NAge50_A_G :=ifelse( Age== 50 &Sex== "Female" ,1,0)]
+ P[, NAge51_A_G :=ifelse( Age== 51 &Sex== "Female" ,1,0)]
+ P[, NAge52_A_G :=ifelse( Age== 52 &Sex== "Female" ,1,0)]
+ P[, NAge53_A_G :=ifelse( Age== 53 &Sex== "Female" ,1,0)]
+ P[, NAge54_A_G :=ifelse( Age== 54 &Sex== "Female" ,1,0)]
+ P[, NAge55_A_G :=ifelse( Age== 55 &Sex== "Female" ,1,0)]
+ P[, NAge56_A_G :=ifelse( Age== 56 &Sex== "Female" ,1,0)]
+ P[, NAge57_A_G :=ifelse( Age== 57 &Sex== "Female" ,1,0)]
+ P[, NAge58_A_G :=ifelse( Age== 58 &Sex== "Female" ,1,0)]
+ P[, NAge59_A_G :=ifelse( Age== 59 &Sex== "Female" ,1,0)]
+ P[, NAge60_A_G :=ifelse( Age== 60 &Sex== "Female" ,1,0)]
+ P[, NAge61_A_G :=ifelse( Age== 61 &Sex== "Female" ,1,0)]
+ P[, NAge62_A_G :=ifelse( Age== 62 &Sex== "Female" ,1,0)]
+ P[, NAge63_A_G :=ifelse( Age== 63 &Sex== "Female" ,1,0)]
+ P[, NAge64_A_G :=ifelse( Age== 64 &Sex== "Female" ,1,0)]
+ P[, NAge65_A_G :=ifelse( Age== 65 &Sex== "Female" ,1,0)]
+ P[, NAge66_A_G :=ifelse( Age== 66 &Sex== "Female" ,1,0)]
+ P[, NAge67_A_G :=ifelse( Age== 67 &Sex== "Female" ,1,0)]
+ P[, NAge68_A_G :=ifelse( Age== 68 &Sex== "Female" ,1,0)]
+ P[, NAge69_A_G :=ifelse( Age== 69 &Sex== "Female" ,1,0)]
+ P[, NAge70_A_G :=ifelse( Age== 70 &Sex== "Female" ,1,0)]
+ P[, NAge71_A_G :=ifelse( Age== 71 &Sex== "Female" ,1,0)]
+ P[, NAge72_A_G :=ifelse( Age== 72 &Sex== "Female" ,1,0)]
+ P[, NAge73_A_G :=ifelse( Age== 73 &Sex== "Female" ,1,0)]
+ P[, NAge74_A_G :=ifelse( Age== 74 &Sex== "Female" ,1,0)]
+ P[, NAge75_A_G :=ifelse( Age== 75 &Sex== "Female" ,1,0)]
+ P[, NAge76_A_G :=ifelse( Age== 76 &Sex== "Female" ,1,0)]
+ P[, NAge77_A_G :=ifelse( Age== 77 &Sex== "Female" ,1,0)]
+ P[, NAge78_A_G :=ifelse( Age== 78 &Sex== "Female" ,1,0)]
+ P[, NAge79_A_G :=ifelse( Age== 79 &Sex== "Female" ,1,0)]
+ P[, NAge80_A_G :=ifelse( Age== 80 &Sex== "Female" ,1,0)]
+ P[, NAge81_A_G :=ifelse( Age== 81 &Sex== "Female" ,1,0)]
+ P[, NAge82_A_G :=ifelse( Age== 82 &Sex== "Female" ,1,0)]
+ P[, NAge83_A_G :=ifelse( Age== 83 &Sex== "Female" ,1,0)]
+ P[, NAge84_A_G :=ifelse( Age== 84 &Sex== "Female" ,1,0)]
+ P[, NAge85_A_G :=ifelse( Age== 85 &Sex== "Female" ,1,0)]
+ P[, NAge86_A_G :=ifelse( Age== 86 &Sex== "Female" ,1,0)]
+ P[, NAge87_A_G :=ifelse( Age== 87 &Sex== "Female" ,1,0)]
+ P[, NAge88_A_G :=ifelse( Age== 88 &Sex== "Female" ,1,0)]
+ P[, NAge89_A_G :=ifelse( Age== 89 &Sex== "Female" ,1,0)]
+ P[, NAge90_A_G :=ifelse( Age== 90 &Sex== "Female" ,1,0)]
+ P[, NAge91_A_G :=ifelse( Age== 91 &Sex== "Female" ,1,0)]
+ P[, NAge92_A_G :=ifelse( Age== 92 &Sex== "Female" ,1,0)]
+ P[, NAge93_A_G :=ifelse( Age== 93 &Sex== "Female" ,1,0)]
+ P[, NAge94_A_G :=ifelse( Age== 94 &Sex== "Female" ,1,0)]
+ P[, NAge95_A_G :=ifelse( Age== 95 &Sex== "Female" ,1,0)]
+ P[, NAge96_A_G :=ifelse( Age== 96 &Sex== "Female" ,1,0)]
+ P[, NAge97_A_G :=ifelse( Age== 97 &Sex== "Female" ,1,0)]
+ P[, NAge98_A_G :=ifelse( Age== 98 &Sex== "Female" ,1,0)]
+ P[, NAge99_A_G :=ifelse( Age== 99 &Sex== "Female" ,1,0)]
+
+ P<- merge(P,lactating,by="HHID",all.x = TRUE)
+ P[,Calorie_Need1:=NAge1B*Settings$KCaloryNeed_B1+
+ NAge2B*Settings$KCaloryNeed_B2+
+ NAge3B*Settings$KCaloryNeed_B3+
+ NAge4B*Settings$KCaloryNeed_B4+
+ NAge5B*Settings$KCaloryNeed_B5+
+ NAge6B*Settings$KCaloryNeed_B6+
+ NAge7B*Settings$KCaloryNeed_B7+
+ NAge8B*Settings$KCaloryNeed_B8+
+ NAge9B*Settings$KCaloryNeed_B9+
+ NAge10B*Settings$KCaloryNeed_B10+
+ NAge1G*Settings$KCaloryNeed_G1+
+ NAge2G*Settings$KCaloryNeed_G2+
+ NAge3G*Settings$KCaloryNeed_G3+
+ NAge4G*Settings$KCaloryNeed_G4+
+ NAge5G*Settings$KCaloryNeed_G5+
+ NAge6G*Settings$KCaloryNeed_G6+
+ NAge7G*Settings$KCaloryNeed_G7+
+ NAge8G*Settings$KCaloryNeed_G8+
+ NAge9G*Settings$KCaloryNeed_G9+
+ NAge10G*Settings$KCaloryNeed_G10+
+ lactating*(Settings$KCaloryNeed_lactating)]
+
+
+ P[,Calorie_Need2:=NAge1_A_B*Settings$KCaloryNeed_A_B1+
+ NAge2_A_B*Settings$KCaloryNeed_A_B2+
+ NAge3_A_B*Settings$KCaloryNeed_A_B3+
+ NAge4_A_B*Settings$KCaloryNeed_A_B4+
+ NAge5_A_B*Settings$KCaloryNeed_A_B5+
+ NAge6_A_B*Settings$KCaloryNeed_A_B6+
+ NAge7_A_B*Settings$KCaloryNeed_A_B7+
+ NAge8_A_B*Settings$KCaloryNeed_A_B8+
+ NAge9_A_B*Settings$KCaloryNeed_A_B9+
+ NAge1_A_G*Settings$KCaloryNeed_A_G1+
+ NAge2_A_G*Settings$KCaloryNeed_A_G2+
+ NAge3_A_G*Settings$KCaloryNeed_A_G3+
+ NAge4_A_G*Settings$KCaloryNeed_A_G4+
+ NAge5_A_G*Settings$KCaloryNeed_A_G5+
+ NAge6_A_G*Settings$KCaloryNeed_A_G6+
+ NAge7_A_G*Settings$KCaloryNeed_A_G7+
+ NAge8_A_G*Settings$KCaloryNeed_A_G8+
+ NAge9_A_G*Settings$KCaloryNeed_A_G9+
+ lactating*(Settings$KCaloryNeed_lactating)]
+
+
+
+ PSum <- P[,lapply(.SD,sum,na.rm=TRUE),
+ .SDcols=c("Size","NKids","NInfants","NSmallKids","NElementary",
+ "NMiddle","NHigh","NPre","NAge0B",
+ "NAge1B",
+ "NAge2B",
+ "NAge3B",
+ "NAge4B",
+ "NAge5B",
+ "NAge6B",
+ "NAge7B",
+ "NAge8B",
+ "NAge9B",
+ "NAge10B",
+ "NAge11B",
+ "NAge12B",
+ "NAge13B",
+ "NAge14B",
+ "NAge15B",
+ "NAge16B",
+ "NAge17B",
+ "NAge18B",
+ "NAge19B",
+ "NAge20B",
+ "NAge21B",
+ "NAge22B",
+ "NAge23B",
+ "NAge24B",
+ "NAge25B",
+ "NAge26B",
+ "NAge27B",
+ "NAge28B",
+ "NAge29B",
+ "NAge30B",
+ "NAge31B",
+ "NAge32B",
+ "NAge33B",
+ "NAge34B",
+ "NAge35B",
+ "NAge36B",
+ "NAge37B",
+ "NAge38B",
+ "NAge39B",
+ "NAge40B",
+ "NAge41B",
+ "NAge42B",
+ "NAge43B",
+ "NAge44B",
+ "NAge45B",
+ "NAge46B",
+ "NAge47B",
+ "NAge48B",
+ "NAge49B",
+ "NAge50B",
+ "NAge51B",
+ "NAge52B",
+ "NAge53B",
+ "NAge54B",
+ "NAge55B",
+ "NAge56B",
+ "NAge57B",
+ "NAge58B",
+ "NAge59B",
+ "NAge60B",
+ "NAge61B",
+ "NAge62B",
+ "NAge63B",
+ "NAge64B",
+ "NAge65B",
+ "NAge66B",
+ "NAge67B",
+ "NAge68B",
+ "NAge69B",
+ "NAge70B",
+ "NAge71B",
+ "NAge72B",
+ "NAge73B",
+ "NAge74B",
+ "NAge75B",
+ "NAge76B",
+ "NAge77B",
+ "NAge78B",
+ "NAge79B",
+ "NAge80B",
+ "NAge81B",
+ "NAge82B",
+ "NAge83B",
+ "NAge84B",
+ "NAge85B",
+ "NAge86B",
+ "NAge87B",
+ "NAge88B",
+ "NAge89B",
+ "NAge90B",
+ "NAge91B",
+ "NAge92B",
+ "NAge93B",
+ "NAge94B",
+ "NAge95B",
+ "NAge96B",
+ "NAge97B",
+ "NAge98B",
+ "NAge99B",
+ "NAge0G",
+ "NAge1G",
+ "NAge2G",
+ "NAge3G",
+ "NAge4G",
+ "NAge5G",
+ "NAge6G",
+ "NAge7G",
+ "NAge8G",
+ "NAge9G",
+ "NAge10G",
+ "NAge11G",
+ "NAge12G",
+ "NAge13G",
+ "NAge14G",
+ "NAge15G",
+ "NAge16G",
+ "NAge17G",
+ "NAge18G",
+ "NAge19G",
+ "NAge20G",
+ "NAge21G",
+ "NAge22G",
+ "NAge23G",
+ "NAge24G",
+ "NAge25G",
+ "NAge26G",
+ "NAge27G",
+ "NAge28G",
+ "NAge29G",
+ "NAge30G",
+ "NAge31G",
+ "NAge32G",
+ "NAge33G",
+ "NAge34G",
+ "NAge35G",
+ "NAge36G",
+ "NAge37G",
+ "NAge38G",
+ "NAge39G",
+ "NAge40G",
+ "NAge41G",
+ "NAge42G",
+ "NAge43G",
+ "NAge44G",
+ "NAge45G",
+ "NAge46G",
+ "NAge47G",
+ "NAge48G",
+ "NAge49G",
+ "NAge50G",
+ "NAge51G",
+ "NAge52G",
+ "NAge53G",
+ "NAge54G",
+ "NAge55G",
+ "NAge56G",
+ "NAge57G",
+ "NAge58G",
+ "NAge59G",
+ "NAge60G",
+ "NAge61G",
+ "NAge62G",
+ "NAge63G",
+ "NAge64G",
+ "NAge65G",
+ "NAge66G",
+ "NAge67G",
+ "NAge68G",
+ "NAge69G",
+ "NAge70G",
+ "NAge71G",
+ "NAge72G",
+ "NAge73G",
+ "NAge74G",
+ "NAge75G",
+ "NAge76G",
+ "NAge77G",
+ "NAge78G",
+ "NAge79G",
+ "NAge80G",
+ "NAge81G",
+ "NAge82G",
+ "NAge83G",
+ "NAge84G",
+ "NAge85G",
+ "NAge86G",
+ "NAge87G",
+ "NAge88G",
+ "NAge89G",
+ "NAge90G",
+ "NAge91G",
+ "NAge92G",
+ "NAge93G",
+ "NAge94G",
+ "NAge95G",
+ "NAge96G",
+ "NAge97G",
+ "NAge98G",
+ "NAge99G",
+ "NAge0_A_B",
+ "NAge1_A_B",
+ "NAge2_A_B",
+ "NAge3_A_B",
+ "NAge4_A_B",
+ "NAge5_A_B",
+ "NAge6_A_B",
+ "NAge7_A_B",
+ "NAge8_A_B",
+ "NAge9_A_B",
+ "NAge10_A_B",
+ "NAge11_A_B",
+ "NAge12_A_B",
+ "NAge13_A_B",
+ "NAge14_A_B",
+ "NAge15_A_B",
+ "NAge16_A_B",
+ "NAge17_A_B",
+ "NAge18_A_B",
+ "NAge19_A_B",
+ "NAge20_A_B",
+ "NAge21_A_B",
+ "NAge22_A_B",
+ "NAge23_A_B",
+ "NAge24_A_B",
+ "NAge25_A_B",
+ "NAge26_A_B",
+ "NAge27_A_B",
+ "NAge28_A_B",
+ "NAge29_A_B",
+ "NAge30_A_B",
+ "NAge31_A_B",
+ "NAge32_A_B",
+ "NAge33_A_B",
+ "NAge34_A_B",
+ "NAge35_A_B",
+ "NAge36_A_B",
+ "NAge37_A_B",
+ "NAge38_A_B",
+ "NAge39_A_B",
+ "NAge40_A_B",
+ "NAge41_A_B",
+ "NAge42_A_B",
+ "NAge43_A_B",
+ "NAge44_A_B",
+ "NAge45_A_B",
+ "NAge46_A_B",
+ "NAge47_A_B",
+ "NAge48_A_B",
+ "NAge49_A_B",
+ "NAge50_A_B",
+ "NAge51_A_B",
+ "NAge52_A_B",
+ "NAge53_A_B",
+ "NAge54_A_B",
+ "NAge55_A_B",
+ "NAge56_A_B",
+ "NAge57_A_B",
+ "NAge58_A_B",
+ "NAge59_A_B",
+ "NAge60_A_B",
+ "NAge61_A_B",
+ "NAge62_A_B",
+ "NAge63_A_B",
+ "NAge64_A_B",
+ "NAge65_A_B",
+ "NAge66_A_B",
+ "NAge67_A_B",
+ "NAge68_A_B",
+ "NAge69_A_B",
+ "NAge70_A_B",
+ "NAge71_A_B",
+ "NAge72_A_B",
+ "NAge73_A_B",
+ "NAge74_A_B",
+ "NAge75_A_B",
+ "NAge76_A_B",
+ "NAge77_A_B",
+ "NAge78_A_B",
+ "NAge79_A_B",
+ "NAge80_A_B",
+ "NAge81_A_B",
+ "NAge82_A_B",
+ "NAge83_A_B",
+ "NAge84_A_B",
+ "NAge85_A_B",
+ "NAge86_A_B",
+ "NAge87_A_B",
+ "NAge88_A_B",
+ "NAge89_A_B",
+ "NAge90_A_B",
+ "NAge91_A_B",
+ "NAge92_A_B",
+ "NAge93_A_B",
+ "NAge94_A_B",
+ "NAge95_A_B",
+ "NAge96_A_B",
+ "NAge97_A_B",
+ "NAge98_A_B",
+ "NAge99_A_B",
+ "NAge0_A_G",
+ "NAge1_A_G",
+ "NAge2_A_G",
+ "NAge3_A_G",
+ "NAge4_A_G",
+ "NAge5_A_G",
+ "NAge6_A_G",
+ "NAge7_A_G",
+ "NAge8_A_G",
+ "NAge9_A_G",
+ "NAge10_A_G",
+ "NAge11_A_G",
+ "NAge12_A_G",
+ "NAge13_A_G",
+ "NAge14_A_G",
+ "NAge15_A_G",
+ "NAge16_A_G",
+ "NAge17_A_G",
+ "NAge18_A_G",
+ "NAge19_A_G",
+ "NAge20_A_G",
+ "NAge21_A_G",
+ "NAge22_A_G",
+ "NAge23_A_G",
+ "NAge24_A_G",
+ "NAge25_A_G",
+ "NAge26_A_G",
+ "NAge27_A_G",
+ "NAge28_A_G",
+ "NAge29_A_G",
+ "NAge30_A_G",
+ "NAge31_A_G",
+ "NAge32_A_G",
+ "NAge33_A_G",
+ "NAge34_A_G",
+ "NAge35_A_G",
+ "NAge36_A_G",
+ "NAge37_A_G",
+ "NAge38_A_G",
+ "NAge39_A_G",
+ "NAge40_A_G",
+ "NAge41_A_G",
+ "NAge42_A_G",
+ "NAge43_A_G",
+ "NAge44_A_G",
+ "NAge45_A_G",
+ "NAge46_A_G",
+ "NAge47_A_G",
+ "NAge48_A_G",
+ "NAge49_A_G",
+ "NAge50_A_G",
+ "NAge51_A_G",
+ "NAge52_A_G",
+ "NAge53_A_G",
+ "NAge54_A_G",
+ "NAge55_A_G",
+ "NAge56_A_G",
+ "NAge57_A_G",
+ "NAge58_A_G",
+ "NAge59_A_G",
+ "NAge60_A_G",
+ "NAge61_A_G",
+ "NAge62_A_G",
+ "NAge63_A_G",
+ "NAge64_A_G",
+ "NAge65_A_G",
+ "NAge66_A_G",
+ "NAge67_A_G",
+ "NAge68_A_G",
+ "NAge69_A_G",
+ "NAge70_A_G",
+ "NAge71_A_G",
+ "NAge72_A_G",
+ "NAge73_A_G",
+ "NAge74_A_G",
+ "NAge75_A_G",
+ "NAge76_A_G",
+ "NAge77_A_G",
+ "NAge78_A_G",
+ "NAge79_A_G",
+ "NAge80_A_G",
+ "NAge81_A_G",
+ "NAge82_A_G",
+ "NAge83_A_G",
+ "NAge84_A_G",
+ "NAge85_A_G",
+ "NAge86_A_G",
+ "NAge87_A_G",
+ "NAge88_A_G",
+ "NAge89_A_G",
+ "NAge90_A_G",
+ "NAge91_A_G",
+ "NAge92_A_G",
+ "NAge93_A_G",
+ "NAge94_A_G",
+ "NAge95_A_G",
+ "NAge96_A_G",
+ "NAge97_A_G",
+ "NAge98_A_G",
+ "NAge99_A_G"),#,"TotalIncome"),
+ by="HHID"]
+
+ # PSum <- PSum[TotalIncome>0]
+
+ HHI <- merge(B,PSum,by="HHID")
+ HHI[,EqSizeOECD := ifelse(Size==NKids,1+(NKids-1)*0.5,
+ 1 + (Size-NKids-1)*0.7 + (NKids)*0.5)]
+ HHI <- HHI[!is.na(HLiterate)]
+
+ rm(P,B,PSum)
+ save(HHI,year,file=paste0(Settings$HEISProcessedPath,"Y",year,"HHI.rda"))
+
+
+ rm(HHI)
+
+
+ load(file=paste0(Settings$HEISWeightsPath,Settings$HEISWeightFileName,year,".rda"))
+ HHWeights<- as.data.table(HHWeights)
+ HHWeights>-HHWeights[,HHID:=as.numeric(HHID)]
+ HHWeights[,Year:=NULL]
+
+ P1<-merge(P1,HHWeights)
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"lactating.rda"))
+
+
+ weighted.hist(P1$Age,P1$Weight,breaks=1:99,main="Age weighted histogram in Iran (1397)")
+
+ P1<-merge(P1,HHBase)
+ P1<- merge(P1,lactating,by="HHID",all.x = TRUE)
+
+ P1U<-P1[Region=="Urban"]
+ weighted.hist(P1U$Age,P1U$Weight,breaks=1:99,main="Age weighted histogram in Urban Areas (1397)")
+
+ P1R<-P1[Region=="Rural"]
+ weighted.hist(P1R$Age,P1R$Weight,breaks=1:99,main="Age weighted histogram in Rural reas (1397)")
+
+
+ # load(file = "Cal_Edition.rda")
+# Poverty<-as.data.table(Poverty)
+ # Edited<-Poverty[,.(Age,Sex,Cal_B_Edited,Cal_W_Edited)]
+ # P1<-merge(P1,Edited,by=c("Sex", "Age"))
+
+
+ P1[, B0 :=ifelse( Age== 0 & Sex=="Male" ,1 ,0)]
+ P1[, B1 :=ifelse( Age== 1 & Sex=="Male" ,1 ,0)]
+ P1[, B2 :=ifelse( Age== 2 & Sex=="Male" ,1 ,0)]
+ P1[, B3 :=ifelse( Age== 3 & Sex=="Male" ,1 ,0)]
+ P1[, B4 :=ifelse( Age== 4 & Sex=="Male" ,1 ,0)]
+ P1[, B5 :=ifelse( Age== 5 & Sex=="Male" ,1 ,0)]
+ P1[, B6 :=ifelse( Age== 6 & Sex=="Male" ,1 ,0)]
+ P1[, B7 :=ifelse( Age== 7 & Sex=="Male" ,1 ,0)]
+ P1[, B8 :=ifelse( Age== 8 & Sex=="Male" ,1 ,0)]
+ P1[, B9 :=ifelse( Age== 9 & Sex=="Male" ,1 ,0)]
+ P1[, B10 :=ifelse( Age== 10 & Sex=="Male" ,1 ,0)]
+ P1[, B11 :=ifelse( Age== 11 & Sex=="Male" ,1 ,0)]
+ P1[, B12 :=ifelse( Age== 12 & Sex=="Male" ,1 ,0)]
+ P1[, B13 :=ifelse( Age== 13 & Sex=="Male" ,1 ,0)]
+ P1[, B14 :=ifelse( Age== 14 & Sex=="Male" ,1 ,0)]
+ P1[, B15 :=ifelse( Age== 15 & Sex=="Male" ,1 ,0)]
+ P1[, B16 :=ifelse( Age== 16 & Sex=="Male" ,1 ,0)]
+ P1[, B17 :=ifelse( Age== 17 & Sex=="Male" ,1 ,0)]
+ P1[, B18 :=ifelse( Age== 18 & Sex=="Male" ,1 ,0)]
+ P1[, B19 :=ifelse( Age== 19 & Sex=="Male" ,1 ,0)]
+ P1[, B20 :=ifelse( Age== 20 & Sex=="Male" ,1 ,0)]
+ P1[, B21 :=ifelse( Age== 21 & Sex=="Male" ,1 ,0)]
+ P1[, B22 :=ifelse( Age== 22 & Sex=="Male" ,1 ,0)]
+ P1[, B23 :=ifelse( Age== 23 & Sex=="Male" ,1 ,0)]
+ P1[, B24 :=ifelse( Age== 24 & Sex=="Male" ,1 ,0)]
+ P1[, B25 :=ifelse( Age== 25 & Sex=="Male" ,1 ,0)]
+ P1[, B26 :=ifelse( Age== 26 & Sex=="Male" ,1 ,0)]
+ P1[, B27 :=ifelse( Age== 27 & Sex=="Male" ,1 ,0)]
+ P1[, B28 :=ifelse( Age== 28 & Sex=="Male" ,1 ,0)]
+ P1[, B29 :=ifelse( Age== 29 & Sex=="Male" ,1 ,0)]
+ P1[, B30 :=ifelse( Age== 30 & Sex=="Male" ,1 ,0)]
+ P1[, B31 :=ifelse( Age== 31 & Sex=="Male" ,1 ,0)]
+ P1[, B32 :=ifelse( Age== 32 & Sex=="Male" ,1 ,0)]
+ P1[, B33 :=ifelse( Age== 33 & Sex=="Male" ,1 ,0)]
+ P1[, B34 :=ifelse( Age== 34 & Sex=="Male" ,1 ,0)]
+ P1[, B35 :=ifelse( Age== 35 & Sex=="Male" ,1 ,0)]
+ P1[, B36 :=ifelse( Age== 36 & Sex=="Male" ,1 ,0)]
+ P1[, B37 :=ifelse( Age== 37 & Sex=="Male" ,1 ,0)]
+ P1[, B38 :=ifelse( Age== 38 & Sex=="Male" ,1 ,0)]
+ P1[, B39 :=ifelse( Age== 39 & Sex=="Male" ,1 ,0)]
+ P1[, B40 :=ifelse( Age== 40 & Sex=="Male" ,1 ,0)]
+ P1[, B41 :=ifelse( Age== 41 & Sex=="Male" ,1 ,0)]
+ P1[, B42 :=ifelse( Age== 42 & Sex=="Male" ,1 ,0)]
+ P1[, B43 :=ifelse( Age== 43 & Sex=="Male" ,1 ,0)]
+ P1[, B44 :=ifelse( Age== 44 & Sex=="Male" ,1 ,0)]
+ P1[, B45 :=ifelse( Age== 45 & Sex=="Male" ,1 ,0)]
+ P1[, B46 :=ifelse( Age== 46 & Sex=="Male" ,1 ,0)]
+ P1[, B47 :=ifelse( Age== 47 & Sex=="Male" ,1 ,0)]
+ P1[, B48 :=ifelse( Age== 48 & Sex=="Male" ,1 ,0)]
+ P1[, B49 :=ifelse( Age== 49 & Sex=="Male" ,1 ,0)]
+ P1[, B50 :=ifelse( Age== 50 & Sex=="Male" ,1 ,0)]
+ P1[, B51 :=ifelse( Age== 51 & Sex=="Male" ,1 ,0)]
+ P1[, B52 :=ifelse( Age== 52 & Sex=="Male" ,1 ,0)]
+ P1[, B53 :=ifelse( Age== 53 & Sex=="Male" ,1 ,0)]
+ P1[, B54 :=ifelse( Age== 54 & Sex=="Male" ,1 ,0)]
+ P1[, B55 :=ifelse( Age== 55 & Sex=="Male" ,1 ,0)]
+ P1[, B56 :=ifelse( Age== 56 & Sex=="Male" ,1 ,0)]
+ P1[, B57 :=ifelse( Age== 57 & Sex=="Male" ,1 ,0)]
+ P1[, B58 :=ifelse( Age== 58 & Sex=="Male" ,1 ,0)]
+ P1[, B59 :=ifelse( Age== 59 & Sex=="Male" ,1 ,0)]
+ P1[, B60 :=ifelse( Age== 60 & Sex=="Male" ,1 ,0)]
+ P1[, B61 :=ifelse( Age== 61 & Sex=="Male" ,1 ,0)]
+ P1[, B62 :=ifelse( Age== 62 & Sex=="Male" ,1 ,0)]
+ P1[, B63 :=ifelse( Age== 63 & Sex=="Male" ,1 ,0)]
+ P1[, B64 :=ifelse( Age== 64 & Sex=="Male" ,1 ,0)]
+ P1[, B65 :=ifelse( Age== 65 & Sex=="Male" ,1 ,0)]
+ P1[, B66 :=ifelse( Age== 66 & Sex=="Male" ,1 ,0)]
+ P1[, B67 :=ifelse( Age== 67 & Sex=="Male" ,1 ,0)]
+ P1[, B68 :=ifelse( Age== 68 & Sex=="Male" ,1 ,0)]
+ P1[, B69 :=ifelse( Age== 69 & Sex=="Male" ,1 ,0)]
+ P1[, B70 :=ifelse( Age== 70 & Sex=="Male" ,1 ,0)]
+ P1[, B71 :=ifelse( Age== 71 & Sex=="Male" ,1 ,0)]
+ P1[, B72 :=ifelse( Age== 72 & Sex=="Male" ,1 ,0)]
+ P1[, B73 :=ifelse( Age== 73 & Sex=="Male" ,1 ,0)]
+ P1[, B74 :=ifelse( Age== 74 & Sex=="Male" ,1 ,0)]
+ P1[, B75 :=ifelse( Age== 75 & Sex=="Male" ,1 ,0)]
+ P1[, B76 :=ifelse( Age== 76 & Sex=="Male" ,1 ,0)]
+ P1[, B77 :=ifelse( Age== 77 & Sex=="Male" ,1 ,0)]
+ P1[, B78 :=ifelse( Age== 78 & Sex=="Male" ,1 ,0)]
+ P1[, B79 :=ifelse( Age== 79 & Sex=="Male" ,1 ,0)]
+ P1[, B80 :=ifelse( Age== 80 & Sex=="Male" ,1 ,0)]
+ P1[, B81 :=ifelse( Age== 81 & Sex=="Male" ,1 ,0)]
+ P1[, B82 :=ifelse( Age== 82 & Sex=="Male" ,1 ,0)]
+ P1[, B83 :=ifelse( Age== 83 & Sex=="Male" ,1 ,0)]
+ P1[, B84 :=ifelse( Age== 84 & Sex=="Male" ,1 ,0)]
+ P1[, B85 :=ifelse( Age== 85 & Sex=="Male" ,1 ,0)]
+ P1[, B86 :=ifelse( Age== 86 & Sex=="Male" ,1 ,0)]
+ P1[, B87 :=ifelse( Age== 87 & Sex=="Male" ,1 ,0)]
+ P1[, B88 :=ifelse( Age== 88 & Sex=="Male" ,1 ,0)]
+ P1[, B89 :=ifelse( Age== 89 & Sex=="Male" ,1 ,0)]
+ P1[, B90 :=ifelse( Age== 90 & Sex=="Male" ,1 ,0)]
+ P1[, B91 :=ifelse( Age== 91 & Sex=="Male" ,1 ,0)]
+ P1[, B92 :=ifelse( Age== 92 & Sex=="Male" ,1 ,0)]
+ P1[, B93 :=ifelse( Age== 93 & Sex=="Male" ,1 ,0)]
+ P1[, B94 :=ifelse( Age== 94 & Sex=="Male" ,1 ,0)]
+ P1[, B95 :=ifelse( Age== 95 & Sex=="Male" ,1 ,0)]
+ P1[, B96 :=ifelse( Age== 96 & Sex=="Male" ,1 ,0)]
+ P1[, B97 :=ifelse( Age== 97 & Sex=="Male" ,1 ,0)]
+ P1[, B98 :=ifelse( Age== 98 & Sex=="Male" ,1 ,0)]
+ P1[, B99 :=ifelse( Age== 99 & Sex=="Male" ,1 ,0)]
+ P1[, G0 :=ifelse( Age== 0 & Sex=="Female" ,1 ,0)]
+ P1[, G1 :=ifelse( Age== 1 & Sex=="Female" ,1 ,0)]
+ P1[, G2 :=ifelse( Age== 2 & Sex=="Female" ,1 ,0)]
+ P1[, G3 :=ifelse( Age== 3 & Sex=="Female" ,1 ,0)]
+ P1[, G4 :=ifelse( Age== 4 & Sex=="Female" ,1 ,0)]
+ P1[, G5 :=ifelse( Age== 5 & Sex=="Female" ,1 ,0)]
+ P1[, G6 :=ifelse( Age== 6 & Sex=="Female" ,1 ,0)]
+ P1[, G7 :=ifelse( Age== 7 & Sex=="Female" ,1 ,0)]
+ P1[, G8 :=ifelse( Age== 8 & Sex=="Female" ,1 ,0)]
+ P1[, G9 :=ifelse( Age== 9 & Sex=="Female" ,1 ,0)]
+ P1[, G10 :=ifelse( Age== 10 & Sex=="Female" ,1 ,0)]
+ P1[, G11 :=ifelse( Age== 11 & Sex=="Female" ,1 ,0)]
+ P1[, G12 :=ifelse( Age== 12 & Sex=="Female" ,1 ,0)]
+ P1[, G13 :=ifelse( Age== 13 & Sex=="Female" ,1 ,0)]
+ P1[, G14 :=ifelse( Age== 14 & Sex=="Female" ,1 ,0)]
+ P1[, G15 :=ifelse( Age== 15 & Sex=="Female" ,1 ,0)]
+ P1[, G16 :=ifelse( Age== 16 & Sex=="Female" ,1 ,0)]
+ P1[, G17 :=ifelse( Age== 17 & Sex=="Female" ,1 ,0)]
+ P1[, G18 :=ifelse( Age== 18 & Sex=="Female" ,1 ,0)]
+ P1[, G19 :=ifelse( Age== 19 & Sex=="Female" ,1 ,0)]
+ P1[, G20 :=ifelse( Age== 20 & Sex=="Female" ,1 ,0)]
+ P1[, G21 :=ifelse( Age== 21 & Sex=="Female" ,1 ,0)]
+ P1[, G22 :=ifelse( Age== 22 & Sex=="Female" ,1 ,0)]
+ P1[, G23 :=ifelse( Age== 23 & Sex=="Female" ,1 ,0)]
+ P1[, G24 :=ifelse( Age== 24 & Sex=="Female" ,1 ,0)]
+ P1[, G25 :=ifelse( Age== 25 & Sex=="Female" ,1 ,0)]
+ P1[, G26 :=ifelse( Age== 26 & Sex=="Female" ,1 ,0)]
+ P1[, G27 :=ifelse( Age== 27 & Sex=="Female" ,1 ,0)]
+ P1[, G28 :=ifelse( Age== 28 & Sex=="Female" ,1 ,0)]
+ P1[, G29 :=ifelse( Age== 29 & Sex=="Female" ,1 ,0)]
+ P1[, G30 :=ifelse( Age== 30 & Sex=="Female" ,1 ,0)]
+ P1[, G31 :=ifelse( Age== 31 & Sex=="Female" ,1 ,0)]
+ P1[, G32 :=ifelse( Age== 32 & Sex=="Female" ,1 ,0)]
+ P1[, G33 :=ifelse( Age== 33 & Sex=="Female" ,1 ,0)]
+ P1[, G34 :=ifelse( Age== 34 & Sex=="Female" ,1 ,0)]
+ P1[, G35 :=ifelse( Age== 35 & Sex=="Female" ,1 ,0)]
+ P1[, G36 :=ifelse( Age== 36 & Sex=="Female" ,1 ,0)]
+ P1[, G37 :=ifelse( Age== 37 & Sex=="Female" ,1 ,0)]
+ P1[, G38 :=ifelse( Age== 38 & Sex=="Female" ,1 ,0)]
+ P1[, G39 :=ifelse( Age== 39 & Sex=="Female" ,1 ,0)]
+ P1[, G40 :=ifelse( Age== 40 & Sex=="Female" ,1 ,0)]
+ P1[, G41 :=ifelse( Age== 41 & Sex=="Female" ,1 ,0)]
+ P1[, G42 :=ifelse( Age== 42 & Sex=="Female" ,1 ,0)]
+ P1[, G43 :=ifelse( Age== 43 & Sex=="Female" ,1 ,0)]
+ P1[, G44 :=ifelse( Age== 44 & Sex=="Female" ,1 ,0)]
+ P1[, G45 :=ifelse( Age== 45 & Sex=="Female" ,1 ,0)]
+ P1[, G46 :=ifelse( Age== 46 & Sex=="Female" ,1 ,0)]
+ P1[, G47 :=ifelse( Age== 47 & Sex=="Female" ,1 ,0)]
+ P1[, G48 :=ifelse( Age== 48 & Sex=="Female" ,1 ,0)]
+ P1[, G49 :=ifelse( Age== 49 & Sex=="Female" ,1 ,0)]
+ P1[, G50 :=ifelse( Age== 50 & Sex=="Female" ,1 ,0)]
+ P1[, G51 :=ifelse( Age== 51 & Sex=="Female" ,1 ,0)]
+ P1[, G52 :=ifelse( Age== 52 & Sex=="Female" ,1 ,0)]
+ P1[, G53 :=ifelse( Age== 53 & Sex=="Female" ,1 ,0)]
+ P1[, G54 :=ifelse( Age== 54 & Sex=="Female" ,1 ,0)]
+ P1[, G55 :=ifelse( Age== 55 & Sex=="Female" ,1 ,0)]
+ P1[, G56 :=ifelse( Age== 56 & Sex=="Female" ,1 ,0)]
+ P1[, G57 :=ifelse( Age== 57 & Sex=="Female" ,1 ,0)]
+ P1[, G58 :=ifelse( Age== 58 & Sex=="Female" ,1 ,0)]
+ P1[, G59 :=ifelse( Age== 59 & Sex=="Female" ,1 ,0)]
+ P1[, G60 :=ifelse( Age== 60 & Sex=="Female" ,1 ,0)]
+ P1[, G61 :=ifelse( Age== 61 & Sex=="Female" ,1 ,0)]
+ P1[, G62 :=ifelse( Age== 62 & Sex=="Female" ,1 ,0)]
+ P1[, G63 :=ifelse( Age== 63 & Sex=="Female" ,1 ,0)]
+ P1[, G64 :=ifelse( Age== 64 & Sex=="Female" ,1 ,0)]
+ P1[, G65 :=ifelse( Age== 65 & Sex=="Female" ,1 ,0)]
+ P1[, G66 :=ifelse( Age== 66 & Sex=="Female" ,1 ,0)]
+ P1[, G67 :=ifelse( Age== 67 & Sex=="Female" ,1 ,0)]
+ P1[, G68 :=ifelse( Age== 68 & Sex=="Female" ,1 ,0)]
+ P1[, G69 :=ifelse( Age== 69 & Sex=="Female" ,1 ,0)]
+ P1[, G70 :=ifelse( Age== 70 & Sex=="Female" ,1 ,0)]
+ P1[, G71 :=ifelse( Age== 71 & Sex=="Female" ,1 ,0)]
+ P1[, G72 :=ifelse( Age== 72 & Sex=="Female" ,1 ,0)]
+ P1[, G73 :=ifelse( Age== 73 & Sex=="Female" ,1 ,0)]
+ P1[, G74 :=ifelse( Age== 74 & Sex=="Female" ,1 ,0)]
+ P1[, G75 :=ifelse( Age== 75 & Sex=="Female" ,1 ,0)]
+ P1[, G76 :=ifelse( Age== 76 & Sex=="Female" ,1 ,0)]
+ P1[, G77 :=ifelse( Age== 77 & Sex=="Female" ,1 ,0)]
+ P1[, G78 :=ifelse( Age== 78 & Sex=="Female" ,1 ,0)]
+ P1[, G79 :=ifelse( Age== 79 & Sex=="Female" ,1 ,0)]
+ P1[, G80 :=ifelse( Age== 80 & Sex=="Female" ,1 ,0)]
+ P1[, G81 :=ifelse( Age== 81 & Sex=="Female" ,1 ,0)]
+ P1[, G82 :=ifelse( Age== 82 & Sex=="Female" ,1 ,0)]
+ P1[, G83 :=ifelse( Age== 83 & Sex=="Female" ,1 ,0)]
+ P1[, G84 :=ifelse( Age== 84 & Sex=="Female" ,1 ,0)]
+ P1[, G85 :=ifelse( Age== 85 & Sex=="Female" ,1 ,0)]
+ P1[, G86 :=ifelse( Age== 86 & Sex=="Female" ,1 ,0)]
+ P1[, G87 :=ifelse( Age== 87 & Sex=="Female" ,1 ,0)]
+ P1[, G88 :=ifelse( Age== 88 & Sex=="Female" ,1 ,0)]
+ P1[, G89 :=ifelse( Age== 89 & Sex=="Female" ,1 ,0)]
+ P1[, G90 :=ifelse( Age== 90 & Sex=="Female" ,1 ,0)]
+ P1[, G91 :=ifelse( Age== 91 & Sex=="Female" ,1 ,0)]
+ P1[, G92 :=ifelse( Age== 92 & Sex=="Female" ,1 ,0)]
+ P1[, G93 :=ifelse( Age== 93 & Sex=="Female" ,1 ,0)]
+ P1[, G94 :=ifelse( Age== 94 & Sex=="Female" ,1 ,0)]
+ P1[, G95 :=ifelse( Age== 95 & Sex=="Female" ,1 ,0)]
+ P1[, G96 :=ifelse( Age== 96 & Sex=="Female" ,1 ,0)]
+ P1[, G97 :=ifelse( Age== 97 & Sex=="Female" ,1 ,0)]
+ P1[, G98 :=ifelse( Age== 98 & Sex=="Female" ,1 ,0)]
+ P1[, G99 :=ifelse( Age== 99 & Sex=="Female" ,1 ,0)]
+
+
+
+ P1[,weighted.mean(B1,Weight)]
+ P1[,weighted.mean(B2,Weight)]
+ P1[,weighted.mean(B3,Weight)]
+ P1[,weighted.mean(B4,Weight)]
+ P1[,weighted.mean(B5,Weight)]
+ P1[,weighted.mean(B6,Weight)]
+ P1[,weighted.mean(B7,Weight)]
+ P1[,weighted.mean(B8,Weight)]
+ P1[,weighted.mean(B9,Weight)]
+ P1[,weighted.mean(B10,Weight)]
+ P1[,weighted.mean(G1,Weight)]
+ P1[,weighted.mean(G2,Weight)]
+ P1[,weighted.mean(G3,Weight)]
+ P1[,weighted.mean(G4,Weight)]
+ P1[,weighted.mean(G5,Weight)]
+ P1[,weighted.mean(G6,Weight)]
+ P1[,weighted.mean(G7,Weight)]
+ P1[,weighted.mean(G8,Weight)]
+ P1[,weighted.mean(G9,Weight)]
+ P1[,weighted.mean(G10,Weight)]
+
+ P1<-P1[,Calorie_Need_WorldBank:=
+ weighted.mean( B0 ,Weight)*Settings$ KCaloryNeed_B0 +
+ weighted.mean( B1 ,Weight)*Settings$ KCaloryNeed_B1 +
+ weighted.mean( B2 ,Weight)*Settings$ KCaloryNeed_B2 +
+ weighted.mean( B3 ,Weight)*Settings$ KCaloryNeed_B3 +
+ weighted.mean( B4 ,Weight)*Settings$ KCaloryNeed_B4 +
+ weighted.mean( B5 ,Weight)*Settings$ KCaloryNeed_B5 +
+ weighted.mean( B6 ,Weight)*Settings$ KCaloryNeed_B6 +
+ weighted.mean( B7 ,Weight)*Settings$ KCaloryNeed_B7 +
+ weighted.mean( B8 ,Weight)*Settings$ KCaloryNeed_B8 +
+ weighted.mean( B9 ,Weight)*Settings$ KCaloryNeed_B9 +
+ weighted.mean( B10 ,Weight)*Settings$ KCaloryNeed_B10 +
+ weighted.mean( B11 ,Weight)*Settings$ KCaloryNeed_B11 +
+ weighted.mean( B12 ,Weight)*Settings$ KCaloryNeed_B12 +
+ weighted.mean( B13 ,Weight)*Settings$ KCaloryNeed_B13 +
+ weighted.mean( B14 ,Weight)*Settings$ KCaloryNeed_B14 +
+ weighted.mean( B15 ,Weight)*Settings$ KCaloryNeed_B15 +
+ weighted.mean( B16 ,Weight)*Settings$ KCaloryNeed_B16 +
+ weighted.mean( B17 ,Weight)*Settings$ KCaloryNeed_B17 +
+ weighted.mean( B18 ,Weight)*Settings$ KCaloryNeed_B18 +
+ weighted.mean( B19 ,Weight)*Settings$ KCaloryNeed_B19 +
+ weighted.mean( B20 ,Weight)*Settings$ KCaloryNeed_B20 +
+ weighted.mean( B21 ,Weight)*Settings$ KCaloryNeed_B21 +
+ weighted.mean( B22 ,Weight)*Settings$ KCaloryNeed_B22 +
+ weighted.mean( B23 ,Weight)*Settings$ KCaloryNeed_B23 +
+ weighted.mean( B24 ,Weight)*Settings$ KCaloryNeed_B24 +
+ weighted.mean( B25 ,Weight)*Settings$ KCaloryNeed_B25 +
+ weighted.mean( B26 ,Weight)*Settings$ KCaloryNeed_B26 +
+ weighted.mean( B27 ,Weight)*Settings$ KCaloryNeed_B27 +
+ weighted.mean( B28 ,Weight)*Settings$ KCaloryNeed_B28 +
+ weighted.mean( B29 ,Weight)*Settings$ KCaloryNeed_B29 +
+ weighted.mean( B30 ,Weight)*Settings$ KCaloryNeed_B30 +
+ weighted.mean( B31 ,Weight)*Settings$ KCaloryNeed_B31 +
+ weighted.mean( B32 ,Weight)*Settings$ KCaloryNeed_B32 +
+ weighted.mean( B33 ,Weight)*Settings$ KCaloryNeed_B33 +
+ weighted.mean( B34 ,Weight)*Settings$ KCaloryNeed_B34 +
+ weighted.mean( B35 ,Weight)*Settings$ KCaloryNeed_B35 +
+ weighted.mean( B36 ,Weight)*Settings$ KCaloryNeed_B36 +
+ weighted.mean( B37 ,Weight)*Settings$ KCaloryNeed_B37 +
+ weighted.mean( B38 ,Weight)*Settings$ KCaloryNeed_B38 +
+ weighted.mean( B39 ,Weight)*Settings$ KCaloryNeed_B39 +
+ weighted.mean( B40 ,Weight)*Settings$ KCaloryNeed_B40 +
+ weighted.mean( B41 ,Weight)*Settings$ KCaloryNeed_B41 +
+ weighted.mean( B42 ,Weight)*Settings$ KCaloryNeed_B42 +
+ weighted.mean( B43 ,Weight)*Settings$ KCaloryNeed_B43 +
+ weighted.mean( B44 ,Weight)*Settings$ KCaloryNeed_B44 +
+ weighted.mean( B45 ,Weight)*Settings$ KCaloryNeed_B45 +
+ weighted.mean( B46 ,Weight)*Settings$ KCaloryNeed_B46 +
+ weighted.mean( B47 ,Weight)*Settings$ KCaloryNeed_B47 +
+ weighted.mean( B48 ,Weight)*Settings$ KCaloryNeed_B48 +
+ weighted.mean( B49 ,Weight)*Settings$ KCaloryNeed_B49 +
+ weighted.mean( B50 ,Weight)*Settings$ KCaloryNeed_B50 +
+ weighted.mean( B51 ,Weight)*Settings$ KCaloryNeed_B51 +
+ weighted.mean( B52 ,Weight)*Settings$ KCaloryNeed_B52 +
+ weighted.mean( B53 ,Weight)*Settings$ KCaloryNeed_B53 +
+ weighted.mean( B54 ,Weight)*Settings$ KCaloryNeed_B54 +
+ weighted.mean( B55 ,Weight)*Settings$ KCaloryNeed_B55 +
+ weighted.mean( B56 ,Weight)*Settings$ KCaloryNeed_B56 +
+ weighted.mean( B57 ,Weight)*Settings$ KCaloryNeed_B57 +
+ weighted.mean( B58 ,Weight)*Settings$ KCaloryNeed_B58 +
+ weighted.mean( B59 ,Weight)*Settings$ KCaloryNeed_B59 +
+ weighted.mean( B60 ,Weight)*Settings$ KCaloryNeed_B60 +
+ weighted.mean( B61 ,Weight)*Settings$ KCaloryNeed_B61 +
+ weighted.mean( B62 ,Weight)*Settings$ KCaloryNeed_B62 +
+ weighted.mean( B63 ,Weight)*Settings$ KCaloryNeed_B63 +
+ weighted.mean( B64 ,Weight)*Settings$ KCaloryNeed_B64 +
+ weighted.mean( B65 ,Weight)*Settings$ KCaloryNeed_B65 +
+ weighted.mean( B66 ,Weight)*Settings$ KCaloryNeed_B66 +
+ weighted.mean( B67 ,Weight)*Settings$ KCaloryNeed_B67 +
+ weighted.mean( B68 ,Weight)*Settings$ KCaloryNeed_B68 +
+ weighted.mean( B69 ,Weight)*Settings$ KCaloryNeed_B69 +
+ weighted.mean( B70 ,Weight)*Settings$ KCaloryNeed_B70 +
+ weighted.mean( B71 ,Weight)*Settings$ KCaloryNeed_B71 +
+ weighted.mean( B72 ,Weight)*Settings$ KCaloryNeed_B72 +
+ weighted.mean( B73 ,Weight)*Settings$ KCaloryNeed_B73 +
+ weighted.mean( B74 ,Weight)*Settings$ KCaloryNeed_B74 +
+ weighted.mean( B75 ,Weight)*Settings$ KCaloryNeed_B75 +
+ weighted.mean( B76 ,Weight)*Settings$ KCaloryNeed_B76 +
+ weighted.mean( B77 ,Weight)*Settings$ KCaloryNeed_B77 +
+ weighted.mean( B78 ,Weight)*Settings$ KCaloryNeed_B78 +
+ weighted.mean( B79 ,Weight)*Settings$ KCaloryNeed_B79 +
+ weighted.mean( B80 ,Weight)*Settings$ KCaloryNeed_B80 +
+ weighted.mean( B81 ,Weight)*Settings$ KCaloryNeed_B81 +
+ weighted.mean( B82 ,Weight)*Settings$ KCaloryNeed_B82 +
+ weighted.mean( B83 ,Weight)*Settings$ KCaloryNeed_B83 +
+ weighted.mean( B84 ,Weight)*Settings$ KCaloryNeed_B84 +
+ weighted.mean( B85 ,Weight)*Settings$ KCaloryNeed_B85 +
+ weighted.mean( B86 ,Weight)*Settings$ KCaloryNeed_B86 +
+ weighted.mean( B87 ,Weight)*Settings$ KCaloryNeed_B87 +
+ weighted.mean( B88 ,Weight)*Settings$ KCaloryNeed_B88 +
+ weighted.mean( B89 ,Weight)*Settings$ KCaloryNeed_B89 +
+ weighted.mean( B90 ,Weight)*Settings$ KCaloryNeed_B90 +
+ weighted.mean( B91 ,Weight)*Settings$ KCaloryNeed_B91 +
+ weighted.mean( B92 ,Weight)*Settings$ KCaloryNeed_B92 +
+ weighted.mean( B93 ,Weight)*Settings$ KCaloryNeed_B93 +
+ weighted.mean( B94 ,Weight)*Settings$ KCaloryNeed_B94 +
+ weighted.mean( B95 ,Weight)*Settings$ KCaloryNeed_B95 +
+ weighted.mean( B96 ,Weight)*Settings$ KCaloryNeed_B96 +
+ weighted.mean( B97 ,Weight)*Settings$ KCaloryNeed_B97 +
+ weighted.mean( B98 ,Weight)*Settings$ KCaloryNeed_B98 +
+ weighted.mean( B99 ,Weight)*Settings$ KCaloryNeed_B99 +
+ weighted.mean( G0 ,Weight)*Settings$ KCaloryNeed_G0 +
+ weighted.mean( G1 ,Weight)*Settings$ KCaloryNeed_G1 +
+ weighted.mean( G2 ,Weight)*Settings$ KCaloryNeed_G2 +
+ weighted.mean( G3 ,Weight)*Settings$ KCaloryNeed_G3 +
+ weighted.mean( G4 ,Weight)*Settings$ KCaloryNeed_G4 +
+ weighted.mean( G5 ,Weight)*Settings$ KCaloryNeed_G5 +
+ weighted.mean( G6 ,Weight)*Settings$ KCaloryNeed_G6 +
+ weighted.mean( G7 ,Weight)*Settings$ KCaloryNeed_G7 +
+ weighted.mean( G8 ,Weight)*Settings$ KCaloryNeed_G8 +
+ weighted.mean( G9 ,Weight)*Settings$ KCaloryNeed_G9 +
+ weighted.mean( G10 ,Weight)*Settings$ KCaloryNeed_G10 +
+ weighted.mean( G11 ,Weight)*Settings$ KCaloryNeed_G11 +
+ weighted.mean( G12 ,Weight)*Settings$ KCaloryNeed_G12 +
+ weighted.mean( G13 ,Weight)*Settings$ KCaloryNeed_G13 +
+ weighted.mean( G14 ,Weight)*Settings$ KCaloryNeed_G14 +
+ weighted.mean( G15 ,Weight)*Settings$ KCaloryNeed_G15 +
+ weighted.mean( G16 ,Weight)*Settings$ KCaloryNeed_G16 +
+ weighted.mean( G17 ,Weight)*Settings$ KCaloryNeed_G17 +
+ weighted.mean( G18 ,Weight)*Settings$ KCaloryNeed_G18 +
+ weighted.mean( G19 ,Weight)*Settings$ KCaloryNeed_G19 +
+ weighted.mean( G20 ,Weight)*Settings$ KCaloryNeed_G20 +
+ weighted.mean( G21 ,Weight)*Settings$ KCaloryNeed_G21 +
+ weighted.mean( G22 ,Weight)*Settings$ KCaloryNeed_G22 +
+ weighted.mean( G23 ,Weight)*Settings$ KCaloryNeed_G23 +
+ weighted.mean( G24 ,Weight)*Settings$ KCaloryNeed_G24 +
+ weighted.mean( G25 ,Weight)*Settings$ KCaloryNeed_G25 +
+ weighted.mean( G26 ,Weight)*Settings$ KCaloryNeed_G26 +
+ weighted.mean( G27 ,Weight)*Settings$ KCaloryNeed_G27 +
+ weighted.mean( G28 ,Weight)*Settings$ KCaloryNeed_G28 +
+ weighted.mean( G29 ,Weight)*Settings$ KCaloryNeed_G29 +
+ weighted.mean( G30 ,Weight)*Settings$ KCaloryNeed_G30 +
+ weighted.mean( G31 ,Weight)*Settings$ KCaloryNeed_G31 +
+ weighted.mean( G32 ,Weight)*Settings$ KCaloryNeed_G32 +
+ weighted.mean( G33 ,Weight)*Settings$ KCaloryNeed_G33 +
+ weighted.mean( G34 ,Weight)*Settings$ KCaloryNeed_G34 +
+ weighted.mean( G35 ,Weight)*Settings$ KCaloryNeed_G35 +
+ weighted.mean( G36 ,Weight)*Settings$ KCaloryNeed_G36 +
+ weighted.mean( G37 ,Weight)*Settings$ KCaloryNeed_G37 +
+ weighted.mean( G38 ,Weight)*Settings$ KCaloryNeed_G38 +
+ weighted.mean( G39 ,Weight)*Settings$ KCaloryNeed_G39 +
+ weighted.mean( G40 ,Weight)*Settings$ KCaloryNeed_G40 +
+ weighted.mean( G41 ,Weight)*Settings$ KCaloryNeed_G41 +
+ weighted.mean( G42 ,Weight)*Settings$ KCaloryNeed_G42 +
+ weighted.mean( G43 ,Weight)*Settings$ KCaloryNeed_G43 +
+ weighted.mean( G44 ,Weight)*Settings$ KCaloryNeed_G44 +
+ weighted.mean( G45 ,Weight)*Settings$ KCaloryNeed_G45 +
+ weighted.mean( G46 ,Weight)*Settings$ KCaloryNeed_G46 +
+ weighted.mean( G47 ,Weight)*Settings$ KCaloryNeed_G47 +
+ weighted.mean( G48 ,Weight)*Settings$ KCaloryNeed_G48 +
+ weighted.mean( G49 ,Weight)*Settings$ KCaloryNeed_G49 +
+ weighted.mean( G50 ,Weight)*Settings$ KCaloryNeed_G50 +
+ weighted.mean( G51 ,Weight)*Settings$ KCaloryNeed_G51 +
+ weighted.mean( G52 ,Weight)*Settings$ KCaloryNeed_G52 +
+ weighted.mean( G53 ,Weight)*Settings$ KCaloryNeed_G53 +
+ weighted.mean( G54 ,Weight)*Settings$ KCaloryNeed_G54 +
+ weighted.mean( G55 ,Weight)*Settings$ KCaloryNeed_G55 +
+ weighted.mean( G56 ,Weight)*Settings$ KCaloryNeed_G56 +
+ weighted.mean( G57 ,Weight)*Settings$ KCaloryNeed_G57 +
+ weighted.mean( G58 ,Weight)*Settings$ KCaloryNeed_G58 +
+ weighted.mean( G59 ,Weight)*Settings$ KCaloryNeed_G59 +
+ weighted.mean( G60 ,Weight)*Settings$ KCaloryNeed_G60 +
+ weighted.mean( G61 ,Weight)*Settings$ KCaloryNeed_G61 +
+ weighted.mean( G62 ,Weight)*Settings$ KCaloryNeed_G62 +
+ weighted.mean( G63 ,Weight)*Settings$ KCaloryNeed_G63 +
+ weighted.mean( G64 ,Weight)*Settings$ KCaloryNeed_G64 +
+ weighted.mean( G65 ,Weight)*Settings$ KCaloryNeed_G65 +
+ weighted.mean( G66 ,Weight)*Settings$ KCaloryNeed_G66 +
+ weighted.mean( G67 ,Weight)*Settings$ KCaloryNeed_G67 +
+ weighted.mean( G68 ,Weight)*Settings$ KCaloryNeed_G68 +
+ weighted.mean( G69 ,Weight)*Settings$ KCaloryNeed_G69 +
+ weighted.mean( G70 ,Weight)*Settings$ KCaloryNeed_G70 +
+ weighted.mean( G71 ,Weight)*Settings$ KCaloryNeed_G71 +
+ weighted.mean( G72 ,Weight)*Settings$ KCaloryNeed_G72 +
+ weighted.mean( G73 ,Weight)*Settings$ KCaloryNeed_G73 +
+ weighted.mean( G74 ,Weight)*Settings$ KCaloryNeed_G74 +
+ weighted.mean( G75 ,Weight)*Settings$ KCaloryNeed_G75 +
+ weighted.mean( G76 ,Weight)*Settings$ KCaloryNeed_G76 +
+ weighted.mean( G77 ,Weight)*Settings$ KCaloryNeed_G77 +
+ weighted.mean( G78 ,Weight)*Settings$ KCaloryNeed_G78 +
+ weighted.mean( G79 ,Weight)*Settings$ KCaloryNeed_G79 +
+ weighted.mean( G80 ,Weight)*Settings$ KCaloryNeed_G80 +
+ weighted.mean( G81 ,Weight)*Settings$ KCaloryNeed_G81 +
+ weighted.mean( G82 ,Weight)*Settings$ KCaloryNeed_G82 +
+ weighted.mean( G83 ,Weight)*Settings$ KCaloryNeed_G83 +
+ weighted.mean( G84 ,Weight)*Settings$ KCaloryNeed_G84 +
+ weighted.mean( G85 ,Weight)*Settings$ KCaloryNeed_G85 +
+ weighted.mean( G86 ,Weight)*Settings$ KCaloryNeed_G86 +
+ weighted.mean( G87 ,Weight)*Settings$ KCaloryNeed_G87 +
+ weighted.mean( G88 ,Weight)*Settings$ KCaloryNeed_G88 +
+ weighted.mean( G89 ,Weight)*Settings$ KCaloryNeed_G89 +
+ weighted.mean( G90 ,Weight)*Settings$ KCaloryNeed_G90 +
+ weighted.mean( G91 ,Weight)*Settings$ KCaloryNeed_G91 +
+ weighted.mean( G92 ,Weight)*Settings$ KCaloryNeed_G92 +
+ weighted.mean( G93 ,Weight)*Settings$ KCaloryNeed_G93 +
+ weighted.mean( G94 ,Weight)*Settings$ KCaloryNeed_G94 +
+ weighted.mean( G95 ,Weight)*Settings$ KCaloryNeed_G95 +
+ weighted.mean( G96 ,Weight)*Settings$ KCaloryNeed_G96 +
+ weighted.mean( G97 ,Weight)*Settings$ KCaloryNeed_G97 +
+ weighted.mean( G98 ,Weight)*Settings$ KCaloryNeed_G98 +
+ weighted.mean( G99 ,Weight)*Settings$ KCaloryNeed_G99 +
+ weighted.mean(lactating,Weight)*(Settings$KCaloryNeed_lactating)]
+
+
+
+ P1[, BA0 :=ifelse( Age== 0 & Sex=="Male" ,1 ,0)]
+ P1[, BA1 :=ifelse( Age== 1 & Sex=="Male" ,1 ,0)]
+ P1[, BA2 :=ifelse( Age== 2 & Sex=="Male" ,1 ,0)]
+ P1[, BA3 :=ifelse( Age== 3 & Sex=="Male" ,1 ,0)]
+ P1[, BA4 :=ifelse( Age== 4 & Sex=="Male" ,1 ,0)]
+ P1[, BA5 :=ifelse( Age== 5 & Sex=="Male" ,1 ,0)]
+ P1[, BA6 :=ifelse( Age== 6 & Sex=="Male" ,1 ,0)]
+ P1[, BA7 :=ifelse( Age== 7 & Sex=="Male" ,1 ,0)]
+ P1[, BA8 :=ifelse( Age== 8 & Sex=="Male" ,1 ,0)]
+ P1[, BA9 :=ifelse( Age== 9 & Sex=="Male" ,1 ,0)]
+ P1[, BA10 :=ifelse( Age== 10 & Sex=="Male" ,1 ,0)]
+ P1[, BA11 :=ifelse( Age== 11 & Sex=="Male" ,1 ,0)]
+ P1[, BA12 :=ifelse( Age== 12 & Sex=="Male" ,1 ,0)]
+ P1[, BA13 :=ifelse( Age== 13 & Sex=="Male" ,1 ,0)]
+ P1[, BA14 :=ifelse( Age== 14 & Sex=="Male" ,1 ,0)]
+ P1[, BA15 :=ifelse( Age== 15 & Sex=="Male" ,1 ,0)]
+ P1[, BA16 :=ifelse( Age== 16 & Sex=="Male" ,1 ,0)]
+ P1[, BA17 :=ifelse( Age== 17 & Sex=="Male" ,1 ,0)]
+ P1[, BA18 :=ifelse( Age== 18 & Sex=="Male" ,1 ,0)]
+ P1[, BA19 :=ifelse( Age== 19 & Sex=="Male" ,1 ,0)]
+ P1[, BA20 :=ifelse( Age== 20 & Sex=="Male" ,1 ,0)]
+ P1[, BA21 :=ifelse( Age== 21 & Sex=="Male" ,1 ,0)]
+ P1[, BA22 :=ifelse( Age== 22 & Sex=="Male" ,1 ,0)]
+ P1[, BA23 :=ifelse( Age== 23 & Sex=="Male" ,1 ,0)]
+ P1[, BA24 :=ifelse( Age== 24 & Sex=="Male" ,1 ,0)]
+ P1[, BA25 :=ifelse( Age== 25 & Sex=="Male" ,1 ,0)]
+ P1[, BA26 :=ifelse( Age== 26 & Sex=="Male" ,1 ,0)]
+ P1[, BA27 :=ifelse( Age== 27 & Sex=="Male" ,1 ,0)]
+ P1[, BA28 :=ifelse( Age== 28 & Sex=="Male" ,1 ,0)]
+ P1[, BA29 :=ifelse( Age== 29 & Sex=="Male" ,1 ,0)]
+ P1[, BA30 :=ifelse( Age== 30 & Sex=="Male" ,1 ,0)]
+ P1[, BA31 :=ifelse( Age== 31 & Sex=="Male" ,1 ,0)]
+ P1[, BA32 :=ifelse( Age== 32 & Sex=="Male" ,1 ,0)]
+ P1[, BA33 :=ifelse( Age== 33 & Sex=="Male" ,1 ,0)]
+ P1[, BA34 :=ifelse( Age== 34 & Sex=="Male" ,1 ,0)]
+ P1[, BA35 :=ifelse( Age== 35 & Sex=="Male" ,1 ,0)]
+ P1[, BA36 :=ifelse( Age== 36 & Sex=="Male" ,1 ,0)]
+ P1[, BA37 :=ifelse( Age== 37 & Sex=="Male" ,1 ,0)]
+ P1[, BA38 :=ifelse( Age== 38 & Sex=="Male" ,1 ,0)]
+ P1[, BA39 :=ifelse( Age== 39 & Sex=="Male" ,1 ,0)]
+ P1[, BA40 :=ifelse( Age== 40 & Sex=="Male" ,1 ,0)]
+ P1[, BA41 :=ifelse( Age== 41 & Sex=="Male" ,1 ,0)]
+ P1[, BA42 :=ifelse( Age== 42 & Sex=="Male" ,1 ,0)]
+ P1[, BA43 :=ifelse( Age== 43 & Sex=="Male" ,1 ,0)]
+ P1[, BA44 :=ifelse( Age== 44 & Sex=="Male" ,1 ,0)]
+ P1[, BA45 :=ifelse( Age== 45 & Sex=="Male" ,1 ,0)]
+ P1[, BA46 :=ifelse( Age== 46 & Sex=="Male" ,1 ,0)]
+ P1[, BA47 :=ifelse( Age== 47 & Sex=="Male" ,1 ,0)]
+ P1[, BA48 :=ifelse( Age== 48 & Sex=="Male" ,1 ,0)]
+ P1[, BA49 :=ifelse( Age== 49 & Sex=="Male" ,1 ,0)]
+ P1[, BA50 :=ifelse( Age== 50 & Sex=="Male" ,1 ,0)]
+ P1[, BA51 :=ifelse( Age== 51 & Sex=="Male" ,1 ,0)]
+ P1[, BA52 :=ifelse( Age== 52 & Sex=="Male" ,1 ,0)]
+ P1[, BA53 :=ifelse( Age== 53 & Sex=="Male" ,1 ,0)]
+ P1[, BA54 :=ifelse( Age== 54 & Sex=="Male" ,1 ,0)]
+ P1[, BA55 :=ifelse( Age== 55 & Sex=="Male" ,1 ,0)]
+ P1[, BA56 :=ifelse( Age== 56 & Sex=="Male" ,1 ,0)]
+ P1[, BA57 :=ifelse( Age== 57 & Sex=="Male" ,1 ,0)]
+ P1[, BA58 :=ifelse( Age== 58 & Sex=="Male" ,1 ,0)]
+ P1[, BA59 :=ifelse( Age== 59 & Sex=="Male" ,1 ,0)]
+ P1[, BA60 :=ifelse( Age== 60 & Sex=="Male" ,1 ,0)]
+ P1[, BA61 :=ifelse( Age== 61 & Sex=="Male" ,1 ,0)]
+ P1[, BA62 :=ifelse( Age== 62 & Sex=="Male" ,1 ,0)]
+ P1[, BA63 :=ifelse( Age== 63 & Sex=="Male" ,1 ,0)]
+ P1[, BA64 :=ifelse( Age== 64 & Sex=="Male" ,1 ,0)]
+ P1[, BA65 :=ifelse( Age== 65 & Sex=="Male" ,1 ,0)]
+ P1[, BA66 :=ifelse( Age== 66 & Sex=="Male" ,1 ,0)]
+ P1[, BA67 :=ifelse( Age== 67 & Sex=="Male" ,1 ,0)]
+ P1[, BA68 :=ifelse( Age== 68 & Sex=="Male" ,1 ,0)]
+ P1[, BA69 :=ifelse( Age== 69 & Sex=="Male" ,1 ,0)]
+ P1[, BA70 :=ifelse( Age== 70 & Sex=="Male" ,1 ,0)]
+ P1[, BA71 :=ifelse( Age== 71 & Sex=="Male" ,1 ,0)]
+ P1[, BA72 :=ifelse( Age== 72 & Sex=="Male" ,1 ,0)]
+ P1[, BA73 :=ifelse( Age== 73 & Sex=="Male" ,1 ,0)]
+ P1[, BA74 :=ifelse( Age== 74 & Sex=="Male" ,1 ,0)]
+ P1[, BA75 :=ifelse( Age== 75 & Sex=="Male" ,1 ,0)]
+ P1[, BA76 :=ifelse( Age== 76 & Sex=="Male" ,1 ,0)]
+ P1[, BA77 :=ifelse( Age== 77 & Sex=="Male" ,1 ,0)]
+ P1[, BA78 :=ifelse( Age== 78 & Sex=="Male" ,1 ,0)]
+ P1[, BA79 :=ifelse( Age== 79 & Sex=="Male" ,1 ,0)]
+ P1[, BA80 :=ifelse( Age== 80 & Sex=="Male" ,1 ,0)]
+ P1[, BA81 :=ifelse( Age== 81 & Sex=="Male" ,1 ,0)]
+ P1[, BA82 :=ifelse( Age== 82 & Sex=="Male" ,1 ,0)]
+ P1[, BA83 :=ifelse( Age== 83 & Sex=="Male" ,1 ,0)]
+ P1[, BA84 :=ifelse( Age== 84 & Sex=="Male" ,1 ,0)]
+ P1[, BA85 :=ifelse( Age== 85 & Sex=="Male" ,1 ,0)]
+ P1[, BA86 :=ifelse( Age== 86 & Sex=="Male" ,1 ,0)]
+ P1[, BA87 :=ifelse( Age== 87 & Sex=="Male" ,1 ,0)]
+ P1[, BA88 :=ifelse( Age== 88 & Sex=="Male" ,1 ,0)]
+ P1[, BA89 :=ifelse( Age== 89 & Sex=="Male" ,1 ,0)]
+ P1[, BA90 :=ifelse( Age== 90 & Sex=="Male" ,1 ,0)]
+ P1[, BA91 :=ifelse( Age== 91 & Sex=="Male" ,1 ,0)]
+ P1[, BA92 :=ifelse( Age== 92 & Sex=="Male" ,1 ,0)]
+ P1[, BA93 :=ifelse( Age== 93 & Sex=="Male" ,1 ,0)]
+ P1[, BA94 :=ifelse( Age== 94 & Sex=="Male" ,1 ,0)]
+ P1[, BA95 :=ifelse( Age== 95 & Sex=="Male" ,1 ,0)]
+ P1[, BA96 :=ifelse( Age== 96 & Sex=="Male" ,1 ,0)]
+ P1[, BA97 :=ifelse( Age== 97 & Sex=="Male" ,1 ,0)]
+ P1[, BA98 :=ifelse( Age== 98 & Sex=="Male" ,1 ,0)]
+ P1[, BA99 :=ifelse( Age== 99 & Sex=="Male" ,1 ,0)]
+ P1[, GA0 :=ifelse( Age== 0 & Sex=="Female" ,1 ,0)]
+ P1[, GA1 :=ifelse( Age== 1 & Sex=="Female" ,1 ,0)]
+ P1[, GA2 :=ifelse( Age== 2 & Sex=="Female" ,1 ,0)]
+ P1[, GA3 :=ifelse( Age== 3 & Sex=="Female" ,1 ,0)]
+ P1[, GA4 :=ifelse( Age== 4 & Sex=="Female" ,1 ,0)]
+ P1[, GA5 :=ifelse( Age== 5 & Sex=="Female" ,1 ,0)]
+ P1[, GA6 :=ifelse( Age== 6 & Sex=="Female" ,1 ,0)]
+ P1[, GA7 :=ifelse( Age== 7 & Sex=="Female" ,1 ,0)]
+ P1[, GA8 :=ifelse( Age== 8 & Sex=="Female" ,1 ,0)]
+ P1[, GA9 :=ifelse( Age== 9 & Sex=="Female" ,1 ,0)]
+ P1[, GA10 :=ifelse( Age== 10 & Sex=="Female" ,1 ,0)]
+ P1[, GA11 :=ifelse( Age== 11 & Sex=="Female" ,1 ,0)]
+ P1[, GA12 :=ifelse( Age== 12 & Sex=="Female" ,1 ,0)]
+ P1[, GA13 :=ifelse( Age== 13 & Sex=="Female" ,1 ,0)]
+ P1[, GA14 :=ifelse( Age== 14 & Sex=="Female" ,1 ,0)]
+ P1[, GA15 :=ifelse( Age== 15 & Sex=="Female" ,1 ,0)]
+ P1[, GA16 :=ifelse( Age== 16 & Sex=="Female" ,1 ,0)]
+ P1[, GA17 :=ifelse( Age== 17 & Sex=="Female" ,1 ,0)]
+ P1[, GA18 :=ifelse( Age== 18 & Sex=="Female" ,1 ,0)]
+ P1[, GA19 :=ifelse( Age== 19 & Sex=="Female" ,1 ,0)]
+ P1[, GA20 :=ifelse( Age== 20 & Sex=="Female" ,1 ,0)]
+ P1[, GA21 :=ifelse( Age== 21 & Sex=="Female" ,1 ,0)]
+ P1[, GA22 :=ifelse( Age== 22 & Sex=="Female" ,1 ,0)]
+ P1[, GA23 :=ifelse( Age== 23 & Sex=="Female" ,1 ,0)]
+ P1[, GA24 :=ifelse( Age== 24 & Sex=="Female" ,1 ,0)]
+ P1[, GA25 :=ifelse( Age== 25 & Sex=="Female" ,1 ,0)]
+ P1[, GA26 :=ifelse( Age== 26 & Sex=="Female" ,1 ,0)]
+ P1[, GA27 :=ifelse( Age== 27 & Sex=="Female" ,1 ,0)]
+ P1[, GA28 :=ifelse( Age== 28 & Sex=="Female" ,1 ,0)]
+ P1[, GA29 :=ifelse( Age== 29 & Sex=="Female" ,1 ,0)]
+ P1[, GA30 :=ifelse( Age== 30 & Sex=="Female" ,1 ,0)]
+ P1[, GA31 :=ifelse( Age== 31 & Sex=="Female" ,1 ,0)]
+ P1[, GA32 :=ifelse( Age== 32 & Sex=="Female" ,1 ,0)]
+ P1[, GA33 :=ifelse( Age== 33 & Sex=="Female" ,1 ,0)]
+ P1[, GA34 :=ifelse( Age== 34 & Sex=="Female" ,1 ,0)]
+ P1[, GA35 :=ifelse( Age== 35 & Sex=="Female" ,1 ,0)]
+ P1[, GA36 :=ifelse( Age== 36 & Sex=="Female" ,1 ,0)]
+ P1[, GA37 :=ifelse( Age== 37 & Sex=="Female" ,1 ,0)]
+ P1[, GA38 :=ifelse( Age== 38 & Sex=="Female" ,1 ,0)]
+ P1[, GA39 :=ifelse( Age== 39 & Sex=="Female" ,1 ,0)]
+ P1[, GA40 :=ifelse( Age== 40 & Sex=="Female" ,1 ,0)]
+ P1[, GA41 :=ifelse( Age== 41 & Sex=="Female" ,1 ,0)]
+ P1[, GA42 :=ifelse( Age== 42 & Sex=="Female" ,1 ,0)]
+ P1[, GA43 :=ifelse( Age== 43 & Sex=="Female" ,1 ,0)]
+ P1[, GA44 :=ifelse( Age== 44 & Sex=="Female" ,1 ,0)]
+ P1[, GA45 :=ifelse( Age== 45 & Sex=="Female" ,1 ,0)]
+ P1[, GA46 :=ifelse( Age== 46 & Sex=="Female" ,1 ,0)]
+ P1[, GA47 :=ifelse( Age== 47 & Sex=="Female" ,1 ,0)]
+ P1[, GA48 :=ifelse( Age== 48 & Sex=="Female" ,1 ,0)]
+ P1[, GA49 :=ifelse( Age== 49 & Sex=="Female" ,1 ,0)]
+ P1[, GA50 :=ifelse( Age== 50 & Sex=="Female" ,1 ,0)]
+ P1[, GA51 :=ifelse( Age== 51 & Sex=="Female" ,1 ,0)]
+ P1[, GA52 :=ifelse( Age== 52 & Sex=="Female" ,1 ,0)]
+ P1[, GA53 :=ifelse( Age== 53 & Sex=="Female" ,1 ,0)]
+ P1[, GA54 :=ifelse( Age== 54 & Sex=="Female" ,1 ,0)]
+ P1[, GA55 :=ifelse( Age== 55 & Sex=="Female" ,1 ,0)]
+ P1[, GA56 :=ifelse( Age== 56 & Sex=="Female" ,1 ,0)]
+ P1[, GA57 :=ifelse( Age== 57 & Sex=="Female" ,1 ,0)]
+ P1[, GA58 :=ifelse( Age== 58 & Sex=="Female" ,1 ,0)]
+ P1[, GA59 :=ifelse( Age== 59 & Sex=="Female" ,1 ,0)]
+ P1[, GA60 :=ifelse( Age== 60 & Sex=="Female" ,1 ,0)]
+ P1[, GA61 :=ifelse( Age== 61 & Sex=="Female" ,1 ,0)]
+ P1[, GA62 :=ifelse( Age== 62 & Sex=="Female" ,1 ,0)]
+ P1[, GA63 :=ifelse( Age== 63 & Sex=="Female" ,1 ,0)]
+ P1[, GA64 :=ifelse( Age== 64 & Sex=="Female" ,1 ,0)]
+ P1[, GA65 :=ifelse( Age== 65 & Sex=="Female" ,1 ,0)]
+ P1[, GA66 :=ifelse( Age== 66 & Sex=="Female" ,1 ,0)]
+ P1[, GA67 :=ifelse( Age== 67 & Sex=="Female" ,1 ,0)]
+ P1[, GA68 :=ifelse( Age== 68 & Sex=="Female" ,1 ,0)]
+ P1[, GA69 :=ifelse( Age== 69 & Sex=="Female" ,1 ,0)]
+ P1[, GA70 :=ifelse( Age== 70 & Sex=="Female" ,1 ,0)]
+ P1[, GA71 :=ifelse( Age== 71 & Sex=="Female" ,1 ,0)]
+ P1[, GA72 :=ifelse( Age== 72 & Sex=="Female" ,1 ,0)]
+ P1[, GA73 :=ifelse( Age== 73 & Sex=="Female" ,1 ,0)]
+ P1[, GA74 :=ifelse( Age== 74 & Sex=="Female" ,1 ,0)]
+ P1[, GA75 :=ifelse( Age== 75 & Sex=="Female" ,1 ,0)]
+ P1[, GA76 :=ifelse( Age== 76 & Sex=="Female" ,1 ,0)]
+ P1[, GA77 :=ifelse( Age== 77 & Sex=="Female" ,1 ,0)]
+ P1[, GA78 :=ifelse( Age== 78 & Sex=="Female" ,1 ,0)]
+ P1[, GA79 :=ifelse( Age== 79 & Sex=="Female" ,1 ,0)]
+ P1[, GA80 :=ifelse( Age== 80 & Sex=="Female" ,1 ,0)]
+ P1[, GA81 :=ifelse( Age== 81 & Sex=="Female" ,1 ,0)]
+ P1[, GA82 :=ifelse( Age== 82 & Sex=="Female" ,1 ,0)]
+ P1[, GA83 :=ifelse( Age== 83 & Sex=="Female" ,1 ,0)]
+ P1[, GA84 :=ifelse( Age== 84 & Sex=="Female" ,1 ,0)]
+ P1[, GA85 :=ifelse( Age== 85 & Sex=="Female" ,1 ,0)]
+ P1[, GA86 :=ifelse( Age== 86 & Sex=="Female" ,1 ,0)]
+ P1[, GA87 :=ifelse( Age== 87 & Sex=="Female" ,1 ,0)]
+ P1[, GA88 :=ifelse( Age== 88 & Sex=="Female" ,1 ,0)]
+ P1[, GA89 :=ifelse( Age== 89 & Sex=="Female" ,1 ,0)]
+ P1[, GA90 :=ifelse( Age== 90 & Sex=="Female" ,1 ,0)]
+ P1[, GA91 :=ifelse( Age== 91 & Sex=="Female" ,1 ,0)]
+ P1[, GA92 :=ifelse( Age== 92 & Sex=="Female" ,1 ,0)]
+ P1[, GA93 :=ifelse( Age== 93 & Sex=="Female" ,1 ,0)]
+ P1[, GA94 :=ifelse( Age== 94 & Sex=="Female" ,1 ,0)]
+ P1[, GA95 :=ifelse( Age== 95 & Sex=="Female" ,1 ,0)]
+ P1[, GA96 :=ifelse( Age== 96 & Sex=="Female" ,1 ,0)]
+ P1[, GA97 :=ifelse( Age== 97 & Sex=="Female" ,1 ,0)]
+ P1[, GA98 :=ifelse( Age== 98 & Sex=="Female" ,1 ,0)]
+ P1[, GA99 :=ifelse( Age== 99 & Sex=="Female" ,1 ,0)]
+
+
+
+ P1[,weighted.mean(BA1,Weight)]
+ P1[,weighted.mean(BA2,Weight)]
+ P1[,weighted.mean(BA3,Weight)]
+ P1[,weighted.mean(BA4,Weight)]
+ P1[,weighted.mean(BA5,Weight)]
+ P1[,weighted.mean(BA6,Weight)]
+ P1[,weighted.mean(BA7,Weight)]
+ P1[,weighted.mean(BA8,Weight)]
+ P1[,weighted.mean(BA9,Weight)]
+ P1[,weighted.mean(GA1,Weight)]
+ P1[,weighted.mean(GA2,Weight)]
+ P1[,weighted.mean(GA3,Weight)]
+ P1[,weighted.mean(GA4,Weight)]
+ P1[,weighted.mean(GA5,Weight)]
+ P1[,weighted.mean(GA6,Weight)]
+ P1[,weighted.mean(GA7,Weight)]
+ P1[,weighted.mean(GA8,Weight)]
+ P1[,weighted.mean(GA9,Weight)]
+
+ P1<-P1[,Calorie_Need_Anstitoo:=
+ weighted.mean( BA0 ,Weight)*Settings$ KCaloryNeed_A_B0 +
+ weighted.mean( BA1 ,Weight)*Settings$ KCaloryNeed_A_B1 +
+ weighted.mean( BA2 ,Weight)*Settings$ KCaloryNeed_A_B2 +
+ weighted.mean( BA3 ,Weight)*Settings$ KCaloryNeed_A_B3 +
+ weighted.mean( BA4 ,Weight)*Settings$ KCaloryNeed_A_B4 +
+ weighted.mean( BA5 ,Weight)*Settings$ KCaloryNeed_A_B5 +
+ weighted.mean( BA6 ,Weight)*Settings$ KCaloryNeed_A_B6 +
+ weighted.mean( BA7 ,Weight)*Settings$ KCaloryNeed_A_B7 +
+ weighted.mean( BA8 ,Weight)*Settings$ KCaloryNeed_A_B8 +
+ weighted.mean( BA9 ,Weight)*Settings$ KCaloryNeed_A_B9 +
+ weighted.mean( BA10 ,Weight)*Settings$ KCaloryNeed_A_B10 +
+ weighted.mean( BA11 ,Weight)*Settings$ KCaloryNeed_A_B11 +
+ weighted.mean( BA12 ,Weight)*Settings$ KCaloryNeed_A_B12 +
+ weighted.mean( BA13 ,Weight)*Settings$ KCaloryNeed_A_B13 +
+ weighted.mean( BA14 ,Weight)*Settings$ KCaloryNeed_A_B14 +
+ weighted.mean( BA15 ,Weight)*Settings$ KCaloryNeed_A_B15 +
+ weighted.mean( BA16 ,Weight)*Settings$ KCaloryNeed_A_B16 +
+ weighted.mean( BA17 ,Weight)*Settings$ KCaloryNeed_A_B17 +
+ weighted.mean( BA18 ,Weight)*Settings$ KCaloryNeed_A_B18 +
+ weighted.mean( BA19 ,Weight)*Settings$ KCaloryNeed_A_B19 +
+ weighted.mean( BA20 ,Weight)*Settings$ KCaloryNeed_A_B20 +
+ weighted.mean( BA21 ,Weight)*Settings$ KCaloryNeed_A_B21 +
+ weighted.mean( BA22 ,Weight)*Settings$ KCaloryNeed_A_B22 +
+ weighted.mean( BA23 ,Weight)*Settings$ KCaloryNeed_A_B23 +
+ weighted.mean( BA24 ,Weight)*Settings$ KCaloryNeed_A_B24 +
+ weighted.mean( BA25 ,Weight)*Settings$ KCaloryNeed_A_B25 +
+ weighted.mean( BA26 ,Weight)*Settings$ KCaloryNeed_A_B26 +
+ weighted.mean( BA27 ,Weight)*Settings$ KCaloryNeed_A_B27 +
+ weighted.mean( BA28 ,Weight)*Settings$ KCaloryNeed_A_B28 +
+ weighted.mean( BA29 ,Weight)*Settings$ KCaloryNeed_A_B29 +
+ weighted.mean( BA30 ,Weight)*Settings$ KCaloryNeed_A_B30 +
+ weighted.mean( BA31 ,Weight)*Settings$ KCaloryNeed_A_B31 +
+ weighted.mean( BA32 ,Weight)*Settings$ KCaloryNeed_A_B32 +
+ weighted.mean( BA33 ,Weight)*Settings$ KCaloryNeed_A_B33 +
+ weighted.mean( BA34 ,Weight)*Settings$ KCaloryNeed_A_B34 +
+ weighted.mean( BA35 ,Weight)*Settings$ KCaloryNeed_A_B35 +
+ weighted.mean( BA36 ,Weight)*Settings$ KCaloryNeed_A_B36 +
+ weighted.mean( BA37 ,Weight)*Settings$ KCaloryNeed_A_B37 +
+ weighted.mean( BA38 ,Weight)*Settings$ KCaloryNeed_A_B38 +
+ weighted.mean( BA39 ,Weight)*Settings$ KCaloryNeed_A_B39 +
+ weighted.mean( BA40 ,Weight)*Settings$ KCaloryNeed_A_B40 +
+ weighted.mean( BA41 ,Weight)*Settings$ KCaloryNeed_A_B41 +
+ weighted.mean( BA42 ,Weight)*Settings$ KCaloryNeed_A_B42 +
+ weighted.mean( BA43 ,Weight)*Settings$ KCaloryNeed_A_B43 +
+ weighted.mean( BA44 ,Weight)*Settings$ KCaloryNeed_A_B44 +
+ weighted.mean( BA45 ,Weight)*Settings$ KCaloryNeed_A_B45 +
+ weighted.mean( BA46 ,Weight)*Settings$ KCaloryNeed_A_B46 +
+ weighted.mean( BA47 ,Weight)*Settings$ KCaloryNeed_A_B47 +
+ weighted.mean( BA48 ,Weight)*Settings$ KCaloryNeed_A_B48 +
+ weighted.mean( BA49 ,Weight)*Settings$ KCaloryNeed_A_B49 +
+ weighted.mean( BA50 ,Weight)*Settings$ KCaloryNeed_A_B50 +
+ weighted.mean( BA51 ,Weight)*Settings$ KCaloryNeed_A_B51 +
+ weighted.mean( BA52 ,Weight)*Settings$ KCaloryNeed_A_B52 +
+ weighted.mean( BA53 ,Weight)*Settings$ KCaloryNeed_A_B53 +
+ weighted.mean( BA54 ,Weight)*Settings$ KCaloryNeed_A_B54 +
+ weighted.mean( BA55 ,Weight)*Settings$ KCaloryNeed_A_B55 +
+ weighted.mean( BA56 ,Weight)*Settings$ KCaloryNeed_A_B56 +
+ weighted.mean( BA57 ,Weight)*Settings$ KCaloryNeed_A_B57 +
+ weighted.mean( BA58 ,Weight)*Settings$ KCaloryNeed_A_B58 +
+ weighted.mean( BA59 ,Weight)*Settings$ KCaloryNeed_A_B59 +
+ weighted.mean( BA60 ,Weight)*Settings$ KCaloryNeed_A_B60 +
+ weighted.mean( BA61 ,Weight)*Settings$ KCaloryNeed_A_B61 +
+ weighted.mean( BA62 ,Weight)*Settings$ KCaloryNeed_A_B62 +
+ weighted.mean( BA63 ,Weight)*Settings$ KCaloryNeed_A_B63 +
+ weighted.mean( BA64 ,Weight)*Settings$ KCaloryNeed_A_B64 +
+ weighted.mean( BA65 ,Weight)*Settings$ KCaloryNeed_A_B65 +
+ weighted.mean( BA66 ,Weight)*Settings$ KCaloryNeed_A_B66 +
+ weighted.mean( BA67 ,Weight)*Settings$ KCaloryNeed_A_B67 +
+ weighted.mean( BA68 ,Weight)*Settings$ KCaloryNeed_A_B68 +
+ weighted.mean( BA69 ,Weight)*Settings$ KCaloryNeed_A_B69 +
+ weighted.mean( BA70 ,Weight)*Settings$ KCaloryNeed_A_B70 +
+ weighted.mean( BA71 ,Weight)*Settings$ KCaloryNeed_A_B71 +
+ weighted.mean( BA72 ,Weight)*Settings$ KCaloryNeed_A_B72 +
+ weighted.mean( BA73 ,Weight)*Settings$ KCaloryNeed_A_B73 +
+ weighted.mean( BA74 ,Weight)*Settings$ KCaloryNeed_A_B74 +
+ weighted.mean( BA75 ,Weight)*Settings$ KCaloryNeed_A_B75 +
+ weighted.mean( BA76 ,Weight)*Settings$ KCaloryNeed_A_B76 +
+ weighted.mean( BA77 ,Weight)*Settings$ KCaloryNeed_A_B77 +
+ weighted.mean( BA78 ,Weight)*Settings$ KCaloryNeed_A_B78 +
+ weighted.mean( BA79 ,Weight)*Settings$ KCaloryNeed_A_B79 +
+ weighted.mean( BA80 ,Weight)*Settings$ KCaloryNeed_A_B80 +
+ weighted.mean( BA81 ,Weight)*Settings$ KCaloryNeed_A_B81 +
+ weighted.mean( BA82 ,Weight)*Settings$ KCaloryNeed_A_B82 +
+ weighted.mean( BA83 ,Weight)*Settings$ KCaloryNeed_A_B83 +
+ weighted.mean( BA84 ,Weight)*Settings$ KCaloryNeed_A_B84 +
+ weighted.mean( BA85 ,Weight)*Settings$ KCaloryNeed_A_B85 +
+ weighted.mean( BA86 ,Weight)*Settings$ KCaloryNeed_A_B86 +
+ weighted.mean( BA87 ,Weight)*Settings$ KCaloryNeed_A_B87 +
+ weighted.mean( BA88 ,Weight)*Settings$ KCaloryNeed_A_B88 +
+ weighted.mean( BA89 ,Weight)*Settings$ KCaloryNeed_A_B89 +
+ weighted.mean( BA90 ,Weight)*Settings$ KCaloryNeed_A_B90 +
+ weighted.mean( BA91 ,Weight)*Settings$ KCaloryNeed_A_B91 +
+ weighted.mean( BA92 ,Weight)*Settings$ KCaloryNeed_A_B92 +
+ weighted.mean( BA93 ,Weight)*Settings$ KCaloryNeed_A_B93 +
+ weighted.mean( BA94 ,Weight)*Settings$ KCaloryNeed_A_B94 +
+ weighted.mean( BA95 ,Weight)*Settings$ KCaloryNeed_A_B95 +
+ weighted.mean( BA96 ,Weight)*Settings$ KCaloryNeed_A_B96 +
+ weighted.mean( BA97 ,Weight)*Settings$ KCaloryNeed_A_B97 +
+ weighted.mean( BA98 ,Weight)*Settings$ KCaloryNeed_A_B98 +
+ weighted.mean( BA99 ,Weight)*Settings$ KCaloryNeed_A_B99 +
+ weighted.mean( GA0 ,Weight)*Settings$ KCaloryNeed_A_G0 +
+ weighted.mean( GA1 ,Weight)*Settings$ KCaloryNeed_A_G1 +
+ weighted.mean( GA2 ,Weight)*Settings$ KCaloryNeed_A_G2 +
+ weighted.mean( GA3 ,Weight)*Settings$ KCaloryNeed_A_G3 +
+ weighted.mean( GA4 ,Weight)*Settings$ KCaloryNeed_A_G4 +
+ weighted.mean( GA5 ,Weight)*Settings$ KCaloryNeed_A_G5 +
+ weighted.mean( GA6 ,Weight)*Settings$ KCaloryNeed_A_G6 +
+ weighted.mean( GA7 ,Weight)*Settings$ KCaloryNeed_A_G7 +
+ weighted.mean( GA8 ,Weight)*Settings$ KCaloryNeed_A_G8 +
+ weighted.mean( GA9 ,Weight)*Settings$ KCaloryNeed_A_G9 +
+ weighted.mean( GA10 ,Weight)*Settings$ KCaloryNeed_A_G10 +
+ weighted.mean( GA11 ,Weight)*Settings$ KCaloryNeed_A_G11 +
+ weighted.mean( GA12 ,Weight)*Settings$ KCaloryNeed_A_G12 +
+ weighted.mean( GA13 ,Weight)*Settings$ KCaloryNeed_A_G13 +
+ weighted.mean( GA14 ,Weight)*Settings$ KCaloryNeed_A_G14 +
+ weighted.mean( GA15 ,Weight)*Settings$ KCaloryNeed_A_G15 +
+ weighted.mean( GA16 ,Weight)*Settings$ KCaloryNeed_A_G16 +
+ weighted.mean( GA17 ,Weight)*Settings$ KCaloryNeed_A_G17 +
+ weighted.mean( GA18 ,Weight)*Settings$ KCaloryNeed_A_G18 +
+ weighted.mean( GA19 ,Weight)*Settings$ KCaloryNeed_A_G19 +
+ weighted.mean( GA20 ,Weight)*Settings$ KCaloryNeed_A_G20 +
+ weighted.mean( GA21 ,Weight)*Settings$ KCaloryNeed_A_G21 +
+ weighted.mean( GA22 ,Weight)*Settings$ KCaloryNeed_A_G22 +
+ weighted.mean( GA23 ,Weight)*Settings$ KCaloryNeed_A_G23 +
+ weighted.mean( GA24 ,Weight)*Settings$ KCaloryNeed_A_G24 +
+ weighted.mean( GA25 ,Weight)*Settings$ KCaloryNeed_A_G25 +
+ weighted.mean( GA26 ,Weight)*Settings$ KCaloryNeed_A_G26 +
+ weighted.mean( GA27 ,Weight)*Settings$ KCaloryNeed_A_G27 +
+ weighted.mean( GA28 ,Weight)*Settings$ KCaloryNeed_A_G28 +
+ weighted.mean( GA29 ,Weight)*Settings$ KCaloryNeed_A_G29 +
+ weighted.mean( GA30 ,Weight)*Settings$ KCaloryNeed_A_G30 +
+ weighted.mean( GA31 ,Weight)*Settings$ KCaloryNeed_A_G31 +
+ weighted.mean( GA32 ,Weight)*Settings$ KCaloryNeed_A_G32 +
+ weighted.mean( GA33 ,Weight)*Settings$ KCaloryNeed_A_G33 +
+ weighted.mean( GA34 ,Weight)*Settings$ KCaloryNeed_A_G34 +
+ weighted.mean( GA35 ,Weight)*Settings$ KCaloryNeed_A_G35 +
+ weighted.mean( GA36 ,Weight)*Settings$ KCaloryNeed_A_G36 +
+ weighted.mean( GA37 ,Weight)*Settings$ KCaloryNeed_A_G37 +
+ weighted.mean( GA38 ,Weight)*Settings$ KCaloryNeed_A_G38 +
+ weighted.mean( GA39 ,Weight)*Settings$ KCaloryNeed_A_G39 +
+ weighted.mean( GA40 ,Weight)*Settings$ KCaloryNeed_A_G40 +
+ weighted.mean( GA41 ,Weight)*Settings$ KCaloryNeed_A_G41 +
+ weighted.mean( GA42 ,Weight)*Settings$ KCaloryNeed_A_G42 +
+ weighted.mean( GA43 ,Weight)*Settings$ KCaloryNeed_A_G43 +
+ weighted.mean( GA44 ,Weight)*Settings$ KCaloryNeed_A_G44 +
+ weighted.mean( GA45 ,Weight)*Settings$ KCaloryNeed_A_G45 +
+ weighted.mean( GA46 ,Weight)*Settings$ KCaloryNeed_A_G46 +
+ weighted.mean( GA47 ,Weight)*Settings$ KCaloryNeed_A_G47 +
+ weighted.mean( GA48 ,Weight)*Settings$ KCaloryNeed_A_G48 +
+ weighted.mean( GA49 ,Weight)*Settings$ KCaloryNeed_A_G49 +
+ weighted.mean( GA50 ,Weight)*Settings$ KCaloryNeed_A_G50 +
+ weighted.mean( GA51 ,Weight)*Settings$ KCaloryNeed_A_G51 +
+ weighted.mean( GA52 ,Weight)*Settings$ KCaloryNeed_A_G52 +
+ weighted.mean( GA53 ,Weight)*Settings$ KCaloryNeed_A_G53 +
+ weighted.mean( GA54 ,Weight)*Settings$ KCaloryNeed_A_G54 +
+ weighted.mean( GA55 ,Weight)*Settings$ KCaloryNeed_A_G55 +
+ weighted.mean( GA56 ,Weight)*Settings$ KCaloryNeed_A_G56 +
+ weighted.mean( GA57 ,Weight)*Settings$ KCaloryNeed_A_G57 +
+ weighted.mean( GA58 ,Weight)*Settings$ KCaloryNeed_A_G58 +
+ weighted.mean( GA59 ,Weight)*Settings$ KCaloryNeed_A_G59 +
+ weighted.mean( GA60 ,Weight)*Settings$ KCaloryNeed_A_G60 +
+ weighted.mean( GA61 ,Weight)*Settings$ KCaloryNeed_A_G61 +
+ weighted.mean( GA62 ,Weight)*Settings$ KCaloryNeed_A_G62 +
+ weighted.mean( GA63 ,Weight)*Settings$ KCaloryNeed_A_G63 +
+ weighted.mean( GA64 ,Weight)*Settings$ KCaloryNeed_A_G64 +
+ weighted.mean( GA65 ,Weight)*Settings$ KCaloryNeed_A_G65 +
+ weighted.mean( GA66 ,Weight)*Settings$ KCaloryNeed_A_G66 +
+ weighted.mean( GA67 ,Weight)*Settings$ KCaloryNeed_A_G67 +
+ weighted.mean( GA68 ,Weight)*Settings$ KCaloryNeed_A_G68 +
+ weighted.mean( GA69 ,Weight)*Settings$ KCaloryNeed_A_G69 +
+ weighted.mean( GA70 ,Weight)*Settings$ KCaloryNeed_A_G70 +
+ weighted.mean( GA71 ,Weight)*Settings$ KCaloryNeed_A_G71 +
+ weighted.mean( GA72 ,Weight)*Settings$ KCaloryNeed_A_G72 +
+ weighted.mean( GA73 ,Weight)*Settings$ KCaloryNeed_A_G73 +
+ weighted.mean( GA74 ,Weight)*Settings$ KCaloryNeed_A_G74 +
+ weighted.mean( GA75 ,Weight)*Settings$ KCaloryNeed_A_G75 +
+ weighted.mean( GA76 ,Weight)*Settings$ KCaloryNeed_A_G76 +
+ weighted.mean( GA77 ,Weight)*Settings$ KCaloryNeed_A_G77 +
+ weighted.mean( GA78 ,Weight)*Settings$ KCaloryNeed_A_G78 +
+ weighted.mean( GA79 ,Weight)*Settings$ KCaloryNeed_A_G79 +
+ weighted.mean( GA80 ,Weight)*Settings$ KCaloryNeed_A_G80 +
+ weighted.mean( GA81 ,Weight)*Settings$ KCaloryNeed_A_G81 +
+ weighted.mean( GA82 ,Weight)*Settings$ KCaloryNeed_A_G82 +
+ weighted.mean( GA83 ,Weight)*Settings$ KCaloryNeed_A_G83 +
+ weighted.mean( GA84 ,Weight)*Settings$ KCaloryNeed_A_G84 +
+ weighted.mean( GA85 ,Weight)*Settings$ KCaloryNeed_A_G85 +
+ weighted.mean( GA86 ,Weight)*Settings$ KCaloryNeed_A_G86 +
+ weighted.mean( GA87 ,Weight)*Settings$ KCaloryNeed_A_G87 +
+ weighted.mean( GA88 ,Weight)*Settings$ KCaloryNeed_A_G88 +
+ weighted.mean( GA89 ,Weight)*Settings$ KCaloryNeed_A_G89 +
+ weighted.mean( GA90 ,Weight)*Settings$ KCaloryNeed_A_G90 +
+ weighted.mean( GA91 ,Weight)*Settings$ KCaloryNeed_A_G91 +
+ weighted.mean( GA92 ,Weight)*Settings$ KCaloryNeed_A_G92 +
+ weighted.mean( GA93 ,Weight)*Settings$ KCaloryNeed_A_G93 +
+ weighted.mean( GA94 ,Weight)*Settings$ KCaloryNeed_A_G94 +
+ weighted.mean( GA95 ,Weight)*Settings$ KCaloryNeed_A_G95 +
+ weighted.mean( GA96 ,Weight)*Settings$ KCaloryNeed_A_G96 +
+ weighted.mean( GA97 ,Weight)*Settings$ KCaloryNeed_A_G97 +
+ weighted.mean( GA98 ,Weight)*Settings$ KCaloryNeed_A_G98 +
+ weighted.mean( GA99 ,Weight)*Settings$ KCaloryNeed_A_G99 +
+ weighted.mean(lactating,Weight)*Settings$KCaloryNeed_lactating]
+
+ cat(P1[,mean(Calorie_Need_WorldBank)],"\n")
+ cat(P1[,mean(Calorie_Need_Anstitoo)],"\n")
+
+ Calorie_Need<-P1[,.(Calorie_Need_WorldBank=mean(Calorie_Need_WorldBank),
+ Calorie_Need_Anstitoo=mean(Calorie_Need_Anstitoo)),by="HHID"]
+
+ save(P1,file=paste0(Settings$HEISProcessedPath,"Y",year,"P1.rda"))
+ save(Calorie_Need,file=paste0(Settings$HEISProcessedPath,"Y",year,"Calorie_Need.rda"))
+}
+
+
+
+endtime <- proc.time()
+cat("\n\n============================\nIt took ")
+cat(endtime-starttime)
\ No newline at end of file
diff --git a/R/Archive/June 2020 (removed code files)/Durables Depreciation mixed codes.R b/R/Archive/June 2020 (removed code files)/Durables Depreciation mixed codes.R
new file mode 100644
index 00000000..eadbff21
--- /dev/null
+++ b/R/Archive/June 2020 (removed code files)/Durables Depreciation mixed codes.R
@@ -0,0 +1,602 @@
+# 142-Durables Depreciation.R
+# Builds the House Properties data.table for households
+#
+# Copyright © 2019:Arin Shahbazian
+# Licence: GPL-3
+
+rm(list=ls())
+
+starttime <- proc.time()
+cat("\n\n================ Durables Depreciation =====================================\n")
+
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+library(foreign)
+library(data.table)
+library(stringr)
+library(readxl)
+library(ggplot2)
+library(spatstat)
+library(scales)
+
+for(year in (Settings$startyear:Settings$endyear)){
+ cat(paste0("\n------------------------------\nYear:",year,"\n"))
+
+
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"HHHouseProperties.rda"))
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"TotalDurable.rda"))
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"HHBase.rda"))
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"FINALPOORS.rda"))
+ load(file=paste0(Settings$HEISWeightsPath,Settings$HEISWeightFileName,year,".rda"))
+ HHWeights<- as.data.table(HHWeights)
+ HHWeights<-HHWeights[,HHID:=as.numeric(HHID)]
+ HHHouseProperties<-merge(HHHouseProperties,HHWeights)
+ HHHouseProperties<-merge(HHHouseProperties,HHBase)
+ HHHouseProperties<-merge(HHHouseProperties,MD[,.(HHID,Decile,FinalPoor,Total_Exp_Month,cluster3)])
+ HHHouseProperties<-merge(HHHouseProperties,TotalDurable)
+
+ X <- HHHouseProperties[,.(Auto=weighted.mean(Auto1_Irani>0 | Auto2_rani>0 |
+ Auto1_Khareji>0 | Auto2_Khareji>0 ,Weight),
+ Mobile=weighted.mean(Mobile>0,Weight),
+ Refrigerator=weighted.mean(Yakhchal>0 | freezer2>0,Weight),
+ TV=weighted.mean(TV_Rangi_Irani>0 |
+ TV_Rangi_Khareji>0,Weight))]
+ X[,Year:=year]
+ Table <- rbind(Table,X)
+
+ HHHouseProperties[,weighted.mean(car=="True",Weight)]
+ HHHouseProperties[,weighted.mean(Auto1_Irani>0 | Auto2_rani>0 |
+ Auto1_Khareji>0 | Auto2_Khareji>0 ,Weight)]
+ # X1 <- HHHouseProperties[,.(Use=weighted.mean(car=="True",Weight),
+ # Buy=weighted.mean(Auto1_Irani>0 | Auto2_rani>0 |
+ # Auto1_Khareji>0 | Auto2_Khareji>0 ,Weight))]
+ # X1[,Year:=year]
+ # Dep <- rbind(Dep,X1)
+
+ HHHouseProperties[,weighted.mean(motorcycle=="True",Weight)]
+ HHHouseProperties[,weighted.mean(Motor>0 ,Weight)]
+
+
+ HHHouseProperties[,weighted.mean(bike=="True",Weight)]
+ HHHouseProperties[,weighted.mean(Bycycle>0 ,Weight)]
+
+ HHHouseProperties[,weighted.mean(radio=="True",Weight)]
+ HHHouseProperties[,weighted.mean(cassette=="True",Weight)]
+ HHHouseProperties[,weighted.mean(Zabtesot>0 ,Weight)]
+
+
+ HHHouseProperties[,weighted.mean(tvbw=="True",Weight)]
+ HHHouseProperties[,weighted.mean(TV_SS>0 ,Weight)]
+
+
+
+ HHHouseProperties[,weighted.mean(tvcr=="True",Weight)]
+ HHHouseProperties[,weighted.mean(TV_Rangi_Irani>0 |
+ TV_Rangi_Khareji>0 ,Weight)]
+ # X1 <- HHHouseProperties[,.(Use=weighted.mean(tvcr=="True",Weight),
+ # Buy=weighted.mean(TV_Rangi_Irani>0 |
+ # TV_Rangi_Khareji>0 ,Weight))]
+ # X1[,Year:=year]
+ # Dep <- rbind(Dep,X1)
+
+ HHHouseProperties[,weighted.mean(vcr=="True",Weight)]
+ HHHouseProperties[,weighted.mean(Video_Player>0 ,Weight)]
+
+ HHHouseProperties[,weighted.mean(computer=="True",Weight)]
+ HHHouseProperties[,weighted.mean(PC>0 ,Weight)]
+
+ HHHouseProperties[,weighted.mean(cellphone=="True",Weight)]
+ HHHouseProperties[,weighted.mean(Mobile>0 ,Weight)]
+ # X1 <- HHHouseProperties[,.(Use=weighted.mean(cellphone=="True",Weight),
+ # Buy=weighted.mean(Mobile>0 ,Weight))]
+ # X1[,Year:=year]
+ # Dep <- rbind(Dep,X1)
+
+ # X1 <- HHHouseProperties[,.(Use=weighted.mean(cooler_gas=="True",Weight),
+ # Buy=weighted.mean(Cooler_Gaz>0 ,Weight))]
+ # X1[,share:=Use/Buy]
+ # X1[,Year:=year]
+ # Dep <- rbind(Dep,X1)
+
+ # X1 <- HHHouseProperties[,.(Use=weighted.mean(computer=="True",Weight),
+ # Buy=weighted.mean(PC>0 ,Weight))]
+ # X1[,share:=Use/Buy]
+ # X1[,Year:=year]
+ # Dep <- rbind(Dep,X1)
+
+ X1 <- HHHouseProperties[,.(Use=weighted.mean(car=="True",Weight),
+ Buy=weighted.mean(Tamirat_Asasi>0 ,Weight))]
+ X1[,share:=Use/Buy]
+ X1[,Year:=year]
+ Dep <- rbind(Dep,X1)
+
+ HHHouseProperties[,weighted.mean(freezer=="True",Weight)]
+ HHHouseProperties[,weighted.mean(frez_refrig=="True",Weight)]
+ HHHouseProperties[,weighted.mean(freezer2>0 ,Weight)]
+
+ HHHouseProperties[,weighted.mean(refrigerator=="True",Weight)]
+ HHHouseProperties[,weighted.mean(Yakhchal>0 ,Weight)]
+
+ # X1 <- HHHouseProperties[,.(Use=weighted.mean(freezer=="True" |
+ # refrigerator=="True" |
+ # frez_refrig=="True",Weight),
+ # Buy=weighted.mean(freezer2>0 |
+ # Yakhchal>0 ,Weight))]
+ # X1[,Year:=year]
+ # Dep <- rbind(Dep,X1)
+
+ HHHouseProperties[,weighted.mean(oven=="True",Weight)]
+ # HHHouseProperties[,weighted.mean(Microwave=="True",Weight)]
+ HHHouseProperties[,weighted.mean(OjaghGaz>0 ,Weight)]
+ # X1 <- HHHouseProperties[,.(Use=weighted.mean(oven=="True" ,Weight),
+ # Buy=weighted.mean(OjaghGaz>0 ,Weight))]
+ # X1[,Year:=year]
+ # Dep <- rbind(Dep,X1)
+
+ HHHouseProperties[,weighted.mean(vacuum=="True",Weight)]
+ HHHouseProperties[,weighted.mean(Jaroobarghi>0 ,Weight)]
+
+ HHHouseProperties[,weighted.mean(washer=="True",Weight)]
+ HHHouseProperties[,weighted.mean(dishwasher=="True",Weight)]
+ HHHouseProperties[,weighted.mean(Mashin_Lebasshooyi>0,Weight)]
+ # X1 <- HHHouseProperties[,.(Use=weighted.mean(washer=="True" |
+ # dishwasher=="True",Weight),
+ # Buy=weighted.mean(Mashin_Lebasshooyi>0 ,Weight))]
+ # X1[,Year:=year]
+ # Dep <- rbind(Dep,X1)
+
+ HHHouseProperties[,weighted.mean(sewing=="True",Weight)]
+ HHHouseProperties[,weighted.mean(Charkh_Khayati>0,Weight)]
+
+ HHHouseProperties[,weighted.mean(fan=="True",Weight)]
+ HHHouseProperties[,weighted.mean(cooler_water_movable=="True",Weight)]
+ HHHouseProperties[,weighted.mean(Panke>0 ,Weight)]
+
+ HHHouseProperties[,weighted.mean(cooler_gas_movable=="True",Weight)]
+ HHHouseProperties[,weighted.mean(Cooler_Gaz>0,Weight)]
+
+ load(file = "durable.rda")
+ ggplot(durable)+
+ geom_line(mapping = aes(x=Year,y=Ratio,col=factor(Type))) + ylim(0,0.13)
+
+ HHHouseProperties[Auto1_Khareji>0,weighted.mean(Auto1_Khareji,Weight),by=.(Region,ProvinceCode)]
+ HHHouseProperties[Auto1_Khareji>0,weighted.median(Auto1_Khareji,Weight),by=.(Region,ProvinceCode)]
+
+ #Auto
+ HHHouseProperties[,Number:=.N,by=.(Region,ProvinceName)]
+ Auto<-HHHouseProperties[Auto1_Irani>0 | Auto2_rani>0 |
+ Auto1_Khareji>0 | Auto2_Khareji>0,
+ .(.N,Number=mean(Number)),by=.(Region,ProvinceName)]
+ Auto[,Ratio:=N/Number]
+
+
+ ggplot(Auto, aes(fill=factor(Region), y=Ratio, x=factor(ProvinceName))) +
+ geom_bar(position="dodge", stat="identity") + theme_bw() +
+ theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1)) +
+ geom_text(aes(label=N), position=position_dodge(width=0.9), vjust=-0.25)
+
+
+ HHHouseProperties[,Number:=.N,by=.(Region,Decile)]
+ Auto<-HHHouseProperties[Auto1_Irani>0 | Auto2_rani>0 |
+ Auto1_Khareji>0 | Auto2_Khareji>0,
+ .(.N,Number=mean(Number)),by=.(Region,Decile)]
+ Auto[,Auto_Ratio:=N/Number]
+
+ ggplot(Auto, aes(fill=factor(Region), y=Auto_Ratio, x=factor(Decile))) +
+ geom_bar(position="dodge", stat="identity") + theme_bw() +
+ theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1)) +
+ geom_text(aes(label=N), position=position_dodge(width=0.9), vjust=-0.25)
+
+
+ #Mobile
+ HHHouseProperties[,Number:=.N,by=.(Region,ProvinceName)]
+ Mobile<-HHHouseProperties[Mobile>0,
+ .(.N,Number=mean(Number)),by=.(Region,ProvinceName)]
+ Mobile[,Mobile_Ratio:=N/Number]
+
+ ggplot(Mobile, aes(fill=factor(Region), y=Mobile_Ratio, x=factor(ProvinceName))) +
+ geom_bar(position="dodge", stat="identity") + theme_bw() +
+ theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1)) +
+ geom_text(aes(label=N), position=position_dodge(width=0.9), vjust=-0.25)
+
+ HHHouseProperties[,Number:=.N,by=.(Region,Decile)]
+ Mobile<-HHHouseProperties[Mobile>0,
+ .(.N,Number=mean(Number)),by=.(Region,Decile)]
+ Mobile[,Mobile_Ratio:=N/Number]
+
+ ggplot(Mobile, aes(fill=factor(Region), y=Mobile_Ratio, x=factor(Decile))) +
+ geom_bar(position="dodge", stat="identity") + theme_bw() +
+ theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1)) +
+ geom_text(aes(label=N), position=position_dodge(width=0.9), vjust=-0.25)
+
+
+ #Yakhchal
+ HHHouseProperties[,Number:=.N,by=.(Region,ProvinceName)]
+ Yakhchal<-HHHouseProperties[Yakhchal>0 | freezer2>0,
+ .(.N,Number=mean(Number)),by=.(Region,ProvinceName)]
+ Yakhchal[,Yakhchal_Ratio:=N/Number]
+
+ ggplot(Yakhchal, aes(fill=factor(Region), y=Yakhchal_Ratio, x=factor(ProvinceName))) +
+ geom_bar(position="dodge", stat="identity") + theme_bw() +
+ theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1)) +
+ geom_text(aes(label=N), position=position_dodge(width=0.9), vjust=-0.25)
+
+
+ HHHouseProperties[,Number:=.N,by=.(Region,Decile)]
+ Yakhchal<-HHHouseProperties[Yakhchal>0 | freezer2>0,
+ .(.N,Number=mean(Number)),by=.(Region,Decile)]
+ Yakhchal[,Yakhchal_Ratio:=N/Number]
+
+ ggplot(Yakhchal, aes(fill=factor(Region), y=Yakhchal_Ratio, x=factor(Decile))) +
+ geom_bar(position="dodge", stat="identity") + theme_bw() +
+ theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1)) +
+ geom_text(aes(label=N), position=position_dodge(width=0.9), vjust=-0.25)
+
+
+ #TV
+ HHHouseProperties[,Number:=.N,by=.(Region,ProvinceName)]
+ TV<-HHHouseProperties[TV_Rangi_Irani>0 |
+ TV_Rangi_Khareji>0,
+ .(.N,Number=mean(Number)),by=.(Region,ProvinceName)]
+ TV[,TV_Ratio:=N/Number]
+
+ ggplot(TV, aes(fill=factor(Region), y=TV_Ratio, x=factor(ProvinceName))) +
+ geom_bar(position="dodge", stat="identity") + theme_bw() +
+ theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1)) +
+ geom_text(aes(label=N), position=position_dodge(width=0.9), vjust=-0.25)
+
+
+ HHHouseProperties[,Number:=.N,by=.(Region,Decile)]
+ TV<-HHHouseProperties[TV_Rangi_Irani>0 |TV_Rangi_Khareji>0,
+ .(.N,Number=mean(Number)),by=.(Region,Decile)]
+ TV[,TV_Ratio:=N/Number]
+
+ ggplot(TV, aes(fill=factor(Region), y=TV_Ratio, x=factor(Decile))) +
+ geom_bar(position="dodge", stat="identity") + theme_bw() +
+ theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1)) +
+ geom_text(aes(label=N), position=position_dodge(width=0.9), vjust=-0.25)
+
+
+ #########################Exp#############################
+ #Auto
+ HHHouseProperties[,Number:=.N,by=.(Region,ProvinceName)]
+ Auto<-HHHouseProperties[Auto1_Irani>0 | Auto2_rani>0 |
+ Auto1_Khareji>0 | Auto2_Khareji>0,
+ .(.N,Auto_Exp=weighted.mean(Auto1_Irani+Auto2_rani+
+ Auto1_Khareji+Auto2_Khareji,Weight),
+ Auto_Exp2=weighted.median(Auto1_Irani+Auto2_rani+
+ Auto1_Khareji+Auto2_Khareji,Weight)),
+ by=.(Region,ProvinceName)]
+
+ Auto<-Auto[,Mean_Median:=Auto_Exp-Auto_Exp2]
+
+ ggplot(Auto, aes(fill=factor(Region), y=Auto_Exp, x=factor(ProvinceName))) +
+ geom_bar(position="dodge", stat="identity") + theme_bw() +
+ theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1)) +
+ geom_text(aes(label=N), position=position_dodge(width=0.9), vjust=-0.25)
+
+ ggplot(Auto, aes(fill=factor(Region), y=Auto_Exp2, x=factor(ProvinceName))) +
+ geom_bar(position="dodge", stat="identity") + theme_bw() +
+ theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1)) +
+ geom_text(aes(label=N), position=position_dodge(width=0.9), vjust=-0.25)
+
+ ggplot(Auto, aes(fill=factor(Region), y=Mean_Median, x=factor(ProvinceName))) +
+ geom_bar(position="dodge", stat="identity") + theme_bw() +
+ theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1)) +
+ geom_text(aes(label=N), position=position_dodge(width=0.9), vjust=-0.25)
+
+
+ HHHouseProperties[,Number:=.N,by=.(Region,Decile)]
+ Auto<-HHHouseProperties[Auto1_Irani>0 | Auto2_rani>0 |
+ Auto1_Khareji>0 | Auto2_Khareji>0,
+ .(.N,Auto_Exp=weighted.mean(Auto1_Irani+Auto2_rani+
+ Auto1_Khareji+Auto2_Khareji,Weight),
+ Auto_Exp2=weighted.median(Auto1_Irani+Auto2_rani+
+ Auto1_Khareji+Auto2_Khareji,Weight)),
+ by=.(Region,Decile)]
+ Auto<-Auto[,Mean_Median:=Auto_Exp-Auto_Exp2]
+
+ ggplot(Auto, aes(fill=factor(Region), y=Auto_Exp, x=factor(Decile))) +
+ geom_bar(position="dodge", stat="identity") + theme_bw() +
+ theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1)) +
+ geom_text(aes(label=N), position=position_dodge(width=0.9), vjust=-0.25)
+
+ ggplot(Auto, aes(fill=factor(Region), y=Auto_Exp2, x=factor(Decile))) +
+ geom_bar(position="dodge", stat="identity") + theme_bw() +
+ theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1)) +
+ geom_text(aes(label=N), position=position_dodge(width=0.9), vjust=-0.25)
+
+ ggplot(Auto, aes(fill=factor(Region), y=Mean_Median, x=factor(Decile))) +
+ geom_bar(position="dodge", stat="identity") + theme_bw() +
+ theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1)) +
+ geom_text(aes(label=N), position=position_dodge(width=0.9), vjust=-0.25)
+
+
+ #Mobile
+ HHHouseProperties[,Number:=.N,by=.(Region,ProvinceName)]
+ Mobile<-HHHouseProperties[Mobile>0 ,
+ .(.N,Mobile_Exp=weighted.mean(Mobile,Weight),
+ Mobile_Exp2=weighted.median(Mobile,Weight)),
+ by=.(Region,ProvinceName)]
+
+ Mobile<-Mobile[,Mean_Median:=Mobile_Exp-Mobile_Exp2]
+
+ ggplot(Mobile, aes(fill=factor(Region), y=Mobile_Exp, x=factor(ProvinceName))) +
+ geom_bar(position="dodge", stat="identity") + theme_bw() +
+ theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1)) +
+ geom_text(aes(label=N), position=position_dodge(width=0.9), vjust=-0.25)
+
+ ggplot(Mobile, aes(fill=factor(Region), y=Mobile_Exp2, x=factor(ProvinceName))) +
+ geom_bar(position="dodge", stat="identity") + theme_bw() +
+ theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1)) +
+ geom_text(aes(label=N), position=position_dodge(width=0.9), vjust=-0.25)
+
+ ggplot(Mobile, aes(fill=factor(Region), y=Mean_Median, x=factor(ProvinceName))) +
+ geom_bar(position="dodge", stat="identity") + theme_bw() +
+ theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1)) +
+ geom_text(aes(label=N), position=position_dodge(width=0.9), vjust=-0.25)
+
+
+ HHHouseProperties[,Number:=.N,by=.(Region,Decile)]
+ Mobile<-HHHouseProperties[Mobile>0 ,
+ .(.N,Mobile_Exp=weighted.mean(Mobile,Weight),
+ Mobile_Exp2=weighted.median(Mobile,Weight)),
+ by=.(Region,Decile)]
+ Mobile<-Mobile[,Mean_Median:=Mobile_Exp-Mobile_Exp2]
+
+ ggplot(Mobile, aes(fill=factor(Region), y=Mobile_Exp, x=factor(Decile))) +
+ geom_bar(position="dodge", stat="identity") + theme_bw() +
+ theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1)) +
+ geom_text(aes(label=N), position=position_dodge(width=0.9), vjust=-0.25)
+
+ ggplot(Mobile, aes(fill=factor(Region), y=Mobile_Exp2, x=factor(Decile))) +
+ geom_bar(position="dodge", stat="identity") + theme_bw() +
+ theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1)) +
+ geom_text(aes(label=N), position=position_dodge(width=0.9), vjust=-0.25)
+
+ ggplot(Mobile, aes(fill=factor(Region), y=Mean_Median, x=factor(Decile))) +
+ geom_bar(position="dodge", stat="identity") + theme_bw() +
+ theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1)) +
+ geom_text(aes(label=N), position=position_dodge(width=0.9), vjust=-0.25)
+
+
+ #Yakhchal
+ HHHouseProperties[,Number:=.N,by=.(Region,ProvinceName)]
+ Yakhchal<-HHHouseProperties[Yakhchal>0 | freezer2>0 ,
+ .(.N,Yakhchal_Exp=weighted.mean(Yakhchal+freezer2,Weight),
+ Yakhchal_Exp2=weighted.median(Yakhchal+freezer2,Weight)),
+ by=.(Region,ProvinceName)]
+
+ Yakhchal<-Yakhchal[,Mean_Median:=Yakhchal_Exp-Yakhchal_Exp2]
+
+ ggplot(Yakhchal, aes(fill=factor(Region), y=Yakhchal_Exp, x=factor(ProvinceName))) +
+ geom_bar(position="dodge", stat="identity") + theme_bw() +
+ theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1)) +
+ geom_text(aes(label=N), position=position_dodge(width=0.9), vjust=-0.25)
+
+ ggplot(Yakhchal, aes(fill=factor(Region), y=Yakhchal_Exp2, x=factor(ProvinceName))) +
+ geom_bar(position="dodge", stat="identity") + theme_bw() +
+ theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1)) +
+ geom_text(aes(label=N), position=position_dodge(width=0.9), vjust=-0.25)
+
+ ggplot(Yakhchal, aes(fill=factor(Region), y=Mean_Median, x=factor(ProvinceName))) +
+ geom_bar(position="dodge", stat="identity") + theme_bw() +
+ theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1)) +
+ geom_text(aes(label=N), position=position_dodge(width=0.9), vjust=-0.25)
+
+
+ HHHouseProperties[,Number:=.N,by=.(Region,Decile)]
+ Yakhchal<-HHHouseProperties[Yakhchal>0 | freezer2>0 ,
+ .(.N,Yakhchal_Exp=weighted.mean(Yakhchal+freezer2,Weight),
+ Yakhchal_Exp2=weighted.median(Yakhchal+freezer2,Weight)),
+ by=.(Region,Decile)]
+ Yakhchal<-Yakhchal[,Mean_Median:=Yakhchal_Exp-Yakhchal_Exp2]
+
+ ggplot(Yakhchal, aes(fill=factor(Region), y=Yakhchal_Exp, x=factor(Decile))) +
+ geom_bar(position="dodge", stat="identity") + theme_bw() +
+ theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1)) +
+ geom_text(aes(label=N), position=position_dodge(width=0.9), vjust=-0.25)
+
+ ggplot(Yakhchal, aes(fill=factor(Region), y=Yakhchal_Exp2, x=factor(Decile))) +
+ geom_bar(position="dodge", stat="identity") + theme_bw() +
+ theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1)) +
+ geom_text(aes(label=N), position=position_dodge(width=0.9), vjust=-0.25)
+
+ ggplot(Yakhchal, aes(fill=factor(Region), y=Mean_Median, x=factor(Decile))) +
+ geom_bar(position="dodge", stat="identity") + theme_bw() +
+ theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1)) +
+ geom_text(aes(label=N), position=position_dodge(width=0.9), vjust=-0.25)
+
+ #TV
+ HHHouseProperties[,Number:=.N,by=.(Region,ProvinceName)]
+ TV<-HHHouseProperties[TV_Rangi_Irani>0 |
+ TV_Rangi_Khareji>0 ,
+ .(.N,TV_Exp=weighted.mean(TV_Rangi_Irani+TV_Rangi_Khareji,Weight),
+ TV_Exp2=weighted.median(TV_Rangi_Irani+TV_Rangi_Khareji,Weight)),
+ by=.(Region,ProvinceName)]
+
+ TV<-TV[,Mean_Median:=TV_Exp-TV_Exp2]
+
+ ggplot(TV, aes(fill=factor(Region), y=TV_Exp, x=factor(ProvinceName))) +
+ geom_bar(position="dodge", stat="identity") + theme_bw() +
+ theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1)) +
+ geom_text(aes(label=N), position=position_dodge(width=0.9), vjust=-0.25)
+
+ ggplot(TV, aes(fill=factor(Region), y=TV_Exp2, x=factor(ProvinceName))) +
+ geom_bar(position="dodge", stat="identity") + theme_bw() +
+ theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1)) +
+ geom_text(aes(label=N), position=position_dodge(width=0.9), vjust=-0.25)
+
+ ggplot(TV, aes(fill=factor(Region), y=Mean_Median, x=factor(ProvinceName))) +
+ geom_bar(position="dodge", stat="identity") + theme_bw() +
+ theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1)) +
+ geom_text(aes(label=N), position=position_dodge(width=0.9), vjust=-0.25)
+
+
+ HHHouseProperties[,Number:=.N,by=.(Region,Decile)]
+ TV<-HHHouseProperties[TV_Rangi_Irani>0 |
+ TV_Rangi_Khareji>0 ,
+ .(.N,TV_Exp=weighted.mean(TV_Rangi_Irani+TV_Rangi_Khareji,Weight),
+ TV_Exp2=weighted.median(TV_Rangi_Irani+TV_Rangi_Khareji,Weight)),
+ by=.(Region,Decile)]
+ TV<-TV[,Mean_Median:=TV_Exp-TV_Exp2]
+
+ ggplot(TV, aes(fill=factor(Region), y=TV_Exp, x=factor(Decile))) +
+ geom_bar(position="dodge", stat="identity") + theme_bw() +
+ theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1)) +
+ geom_text(aes(label=N), position=position_dodge(width=0.9), vjust=-0.25)
+
+ ggplot(TV, aes(fill=factor(Region), y=TV_Exp2, x=factor(Decile))) +
+ geom_bar(position="dodge", stat="identity") + theme_bw() +
+ theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1)) +
+ geom_text(aes(label=N), position=position_dodge(width=0.9), vjust=-0.25)
+
+ ggplot(TV, aes(fill=factor(Region), y=Mean_Median, x=factor(Decile))) +
+ geom_bar(position="dodge", stat="identity") + theme_bw() +
+ theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1)) +
+ geom_text(aes(label=N), position=position_dodge(width=0.9), vjust=-0.25)
+
+
+
+ MM_Buyers<-HHHouseProperties[Mobile>0,.(Mobile_Buyers=weighted.mean(Mobile,Weight)),by=.(cluster3)]
+ M_Holders<-HHHouseProperties[,.(Mobile_Holders=weighted.mean(cellphone=="True",Weight)),by=.(cluster3)]
+ M_All<-HHHouseProperties[,.(All=weighted.mean(Mobile,Weight)),by=.(cluster3)]
+
+ Y <- HHHouseProperties[Mobile>0,.(Mobile_Buyers_Exp=weighted.mean(Mobile,Weight)),by=.(cluster3)]
+ Y[,Year:=year]
+ M_Buyers <- rbind(M_Buyers,Y)
+
+ M<-merge(MM_Buyers,M_Holders)
+ M<-merge(M,M_All)
+
+ HHHouseProperties[cluster3==1,weighted.mean(Mobile/Total_Exp_Month,Weight,TotalDurable)]
+
+ if (year<97){
+ TotalDurable[,G13:=Durable_Exp]
+ TotalDurable[,Durable_Exp:=NULL]
+ }
+
+
+ # TotalDurable<-merge(TotalDurable,HHHouseProperties[,.(HHID,Decile,Weight)],by="HHID")
+ # s2 <-TotalDurable[as.numeric(Decile)>1 & as.numeric(Decile)<4, {lapply(.SD, function(x) sum(x*Weight)/sum(G13*Weight))}][]
+ # s2[,Year:=year]
+ #Name <- rbind(Name,s2)
+
+ TotalDurable<-merge(TotalDurable,HHHouseProperties[,.(HHID,Weight,Decile)],by="HHID")
+ X1<-TotalDurable[as.numeric(Decile)>1 & as.numeric(Decile)<4,
+ .(HHID,Weight,G13,Auto2_rani,Auto1_Irani,
+ Gardanband_Gold,
+ Ghali_Mashini,freezer2,Lastik_Mashin,
+ Mobile,Tamirat_Asasi,Travel_Haj,Mobl,
+ Mashin_Lebasshooyi,TV_Rangi_Khareji)]
+ X1<-X1[, {lapply(.SD, function(x) sum(x*Weight)/sum(G13*Weight))}][]
+
+ X1[,Year:=year]
+ HighShare <- rbind(HighShare,X1)
+
+
+ A1<- HHHouseProperties[as.numeric(Decile)>1 & as.numeric(Decile)<4,
+ weighted.mean(Auto2_rani+Auto1_Khareji+Auto2_Khareji+Auto1_Irani,Weight)]
+ A2<- HHHouseProperties[as.numeric(Decile)>1 & as.numeric(Decile)<4 &
+ (Auto2_rani>0 | Auto1_Khareji>0 |
+ Auto2_Khareji>0 | Auto1_Irani>0),weighted.mean(Auto2_rani+Auto1_Khareji+Auto2_Khareji+Auto1_Irani,Weight)]
+
+ B1<- HHHouseProperties[as.numeric(Decile)>1 & as.numeric(Decile)<4,
+ weighted.mean(TV_Rangi_Irani+TV_Rangi_Khareji,Weight)]
+ B2<- HHHouseProperties[as.numeric(Decile)>1 & as.numeric(Decile)<4 &
+ (TV_Rangi_Irani>0 | TV_Rangi_Khareji>0),weighted.mean(TV_Rangi_Irani+TV_Rangi_Khareji,Weight)]
+
+ C1<- HHHouseProperties[as.numeric(Decile)>1 & as.numeric(Decile)<4,
+ weighted.mean(freezer2,Weight)]
+ C2<- HHHouseProperties[as.numeric(Decile)>1 & as.numeric(Decile)<4 &
+ (freezer2>0),weighted.mean(freezer2,Weight)]
+
+ D1<- HHHouseProperties[as.numeric(Decile)>1 & as.numeric(Decile)<4,
+ weighted.mean(OjaghGaz,Weight)]
+ D2<- HHHouseProperties[as.numeric(Decile)>1 & as.numeric(Decile)<4 &
+ (OjaghGaz>0),weighted.mean(OjaghGaz,Weight)]
+
+ E1<- HHHouseProperties[as.numeric(Decile)>1 & as.numeric(Decile)<4,
+ weighted.mean(Mashin_Lebasshooyi,Weight)]
+ E2<- HHHouseProperties[as.numeric(Decile)>1 & as.numeric(Decile)<4 &
+ (Mashin_Lebasshooyi>0),weighted.mean(Mashin_Lebasshooyi,Weight)]
+
+ F1<- HHHouseProperties[as.numeric(Decile)>1 & as.numeric(Decile)<4,
+ weighted.mean(Mobile,Weight)]
+ F2<- HHHouseProperties[as.numeric(Decile)>1 & as.numeric(Decile)<4 &
+ (Mobile>0),weighted.mean(Mobile,Weight)]
+
+ G1<- HHHouseProperties[as.numeric(Decile)>1 & as.numeric(Decile)<4,
+ weighted.mean(Cooler_Gaz,Weight)]
+ G2<- HHHouseProperties[as.numeric(Decile)>1 & as.numeric(Decile)<4 &
+ (Cooler_Gaz>0),weighted.mean(Cooler_Gaz,Weight)]
+
+ H1<- HHHouseProperties[as.numeric(Decile)>1 & as.numeric(Decile)<4,
+ weighted.mean(PC,Weight)]
+ H2<- HHHouseProperties[as.numeric(Decile)>1 & as.numeric(Decile)<4 &
+ (PC>0),weighted.mean(PC,Weight)]
+
+ I1<- HHHouseProperties[as.numeric(Decile)>1 & as.numeric(Decile)<4,
+ weighted.mean(Lastik_Mashin,Weight)]
+ I2<- HHHouseProperties[as.numeric(Decile)>1 & as.numeric(Decile)<4 &
+ (Lastik_Mashin>0),weighted.mean(Lastik_Mashin,Weight)]
+
+ J1<- HHHouseProperties[as.numeric(Decile)>1 & as.numeric(Decile)<4,
+ weighted.mean(Motor_Machin,Weight)]
+ J2<- HHHouseProperties[as.numeric(Decile)>1 & as.numeric(Decile)<4 &
+ (Motor_Machin>0),weighted.mean(Motor_Machin,Weight)]
+
+ K1<- HHHouseProperties[as.numeric(Decile)>1 & as.numeric(Decile)<4,
+ weighted.mean(Tamirat_Asasi,Weight)]
+ K2<- HHHouseProperties[as.numeric(Decile)>1 & as.numeric(Decile)<4 &
+ (Tamirat_Asasi>0),weighted.mean(Tamirat_Asasi,Weight)]
+
+ Value<-HHHouseProperties[,.(HHID,Auto2_rani,Auto1_Khareji,Auto2_Khareji,Auto1_Irani,
+ TV_Rangi_Irani,TV_Rangi_Khareji,freezer2,OjaghGaz,
+ Mashin_Lebasshooyi,Mobile,Cooler_Gaz,PC,
+ Lastik_Mashin,Motor_Machin,Tamirat_Asasi)]
+
+ save(Value, file=paste0(Settings$HEISProcessedPath,"Y",year,"Value.rda"))
+
+}
+
+ggplot(M_Buyers)+
+ geom_line(mapping = aes(x=Year,y=Mobile_Buyers_Exp,col=factor(cluster3)))
+
+
+HHHouseProperties[,weighted.mean((Auto1_Irani+Auto2_rani+
+ Auto1_Khareji+Auto2_Khareji+
+ TV_Rangi_Irani+TV_Rangi_Khareji+
+ Mobile+Yakhchal)/G13,Weight,na.rm = TRUE)]
+
+#HHHouseProperties[,weighted.mean(EducationTExp/G13,na.rm = TRUE)]
+#######################################################
+m<-HHHouseProperties[,.(.N,Share=weighted.mean(G13/Total_Exp_Month)),by=.(FinalPoor,Region)]
+m<-m[,FinalPoor:=ifelse(FinalPoor==1,"Poors","NonPoors")]
+
+ggplot(m, aes(fill=factor(Region), y=Share, x=factor(FinalPoor))) +
+ geom_bar(position="dodge", stat="identity") + theme_bw() +
+ theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1)) +
+ geom_text(aes(label=N), position=position_dodge(width=0.9), vjust=-0.25)
+########################################################
+
+TotalDurable<-merge(TotalDurable,HHHouseProperties[,.(HHID,Weight,Decile)],by="HHID")
+#z1 <-TotalDurable[, {lapply(.SD, function(x) sum(x*Weight)/sum(Weight))}][]
+#z2 <-TotalDurable[, {lapply(.SD, function(x) sum(x*Weight)/sum(G13*Weight))}][]
+
+#write.csv(z1,"z1.csv")
+#write.csv(z2,"z2.csv")
+
+#s1 <-TotalDurable[as.numeric(Decile)>1 & as.numeric(Decile)<4, {lapply(.SD, function(x) sum(x*Weight)/sum(Weight))}][]
+#s2 <-TotalDurable[as.numeric(Decile)>1 & as.numeric(Decile)<4, {lapply(.SD, function(x) sum(x*Weight)/sum(G13*Weight))}][]
+#s2[,Year:=year]
+#Name <- rbind(Name,s2)
+
+#write.csv(s1,"s1.csv")
+#write.csv(s2,"s2.csv")
+
+
+endtime <- proc.time()
+cat("\n\n============================\nIt took ")
+cat(endtime-starttime)
\ No newline at end of file
diff --git a/R/Archive/June 2020 (removed code files)/Energy groups.R b/R/Archive/June 2020 (removed code files)/Energy groups.R
new file mode 100644
index 00000000..8a883676
--- /dev/null
+++ b/R/Archive/June 2020 (removed code files)/Energy groups.R
@@ -0,0 +1,238 @@
+# 141-Groups Expenditures.R
+# Builds the Groups Expenditures data.table for households
+#
+# Copyright © 2017: Arin Shahbazian
+# Licence: GPL-3
+
+rm(list=ls())
+
+starttime <- proc.time()
+cat("\n\n================ NonFood Expenditures =====================================\n")
+
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+library(readxl)
+library(data.table)
+library(stringr)
+
+Table1<-data.table(Year=NA_integer_,Sookht_Share=NA_real_,Ab_Share=NA_real_,Barghh_Share=NA_real_)[0]
+
+Table2<-data.table(Year=NA_integer_,Bargh_Share=NA_real_,
+ Gaz_Share=NA_real_,Decile=NA_real_,Energy_Share=NA_real_)[0]
+
+
+cat("\n\n================ Energy =====================================\n")
+
+EnergyTables <- data.table(read_excel(Settings$MetaDataFilePath,sheet=Settings$MDS_Energy))
+
+for(year in (Settings$startyear:Settings$endyear)){
+ cat(paste0("\n------------------------------\nYear:",year,"\n"))
+ load(file=paste0(Settings$HEISRawPath,"Y",year,"Raw.rda"))
+ ct <- EnergyTables[Year==year]
+ tab <- ct$Table
+ if(is.na(tab))
+ next
+ UTC <- Tables[[paste0("U",year,tab)]]
+ RTC <- Tables[[paste0("R",year,tab)]]
+ TC <- rbind(UTC,RTC)
+ for(n in names(TC)){
+ x <- which(ct==n)
+ if(length(x)>0)
+ setnames(TC,n,names(ct)[x])
+ }
+ pcols <- intersect(names(TC),c("HHID","Code","Energy_Exp"))
+ TC <- TC[,pcols,with=FALSE]
+
+ if(year %in% 63:82){
+ TC <- TC[Code %in% ct$StartCode:ct$EndCode]
+ }
+
+ if(year %in% 83:97){
+ TC <- TC[Code %in% ct$StartCode:ct$EndCode]
+ TC[,Energy_Exp:=as.numeric(Energy_Exp)]
+ }
+ TC[,Code:=NULL]
+ TC[is.na(TC)] <- 0
+ EnergyData <- TC[,lapply(.SD,sum),by=HHID]
+ save(EnergyData, file = paste0(Settings$HEISProcessedPath,"Y",year,"Energys.rda"))
+
+
+
+cat("\n\n================ Barghh =====================================\n")
+
+BarghhTables <- data.table(read_excel(Settings$MetaDataFilePath,sheet=Settings$MDS_Barghh))
+
+
+ cat(paste0("\n------------------------------\nYear:",year,"\n"))
+ load(file=paste0(Settings$HEISRawPath,"Y",year,"Raw.rda"))
+ ct <- BarghhTables[Year==year]
+ tab <- ct$Table
+ if(is.na(tab))
+ next
+ UTC <- Tables[[paste0("U",year,tab)]]
+ RTC <- Tables[[paste0("R",year,tab)]]
+ TC <- rbind(UTC,RTC)
+ for(n in names(TC)){
+ x <- which(ct==n)
+ if(length(x)>0)
+ setnames(TC,n,names(ct)[x])
+ }
+ pcols <- intersect(names(TC),c("HHID","Code","Barghh_Exp"))
+ TC <- TC[,pcols,with=FALSE]
+ TC <- TC[Code %in% ct$StartCode:ct$EndCode]
+ if(year %in% 84:94){
+ TC[,Barghh_Exp:=as.numeric(Barghh_Exp)]
+ }
+ TC[,Code:=NULL]
+ TC[is.na(TC)] <- 0
+ BarghhData <- TC[,lapply(.SD,sum),by=HHID]
+ save(BarghhData, file = paste0(Settings$HEISProcessedPath,"Y",year,"Barghhs.rda"))
+
+
+
+cat("\n\n================ Sookht =====================================\n")
+
+SookhtTables <- data.table(read_excel(Settings$MetaDataFilePath,sheet=Settings$MDS_Sookht))
+
+
+ cat(paste0("\n------------------------------\nYear:",year,"\n"))
+ load(file=paste0(Settings$HEISRawPath,"Y",year,"Raw.rda"))
+ ct <- SookhtTables[Year==year]
+ tab <- ct$Table
+ if(is.na(tab))
+ next
+ UTC <- Tables[[paste0("U",year,tab)]]
+ RTC <- Tables[[paste0("R",year,tab)]]
+ TC <- rbind(UTC,RTC)
+ for(n in names(TC)){
+ x <- which(ct==n)
+ if(length(x)>0)
+ setnames(TC,n,names(ct)[x])
+ }
+ pcols <- intersect(names(TC),c("HHID","Code","Sookht_Exp"))
+ TC <- TC[,pcols,with=FALSE]
+ TC <- TC[Code %in% ct$StartCode:ct$EndCode]
+ if(year %in% 84:94){
+ TC[,Sookht_Exp:=as.numeric(Sookht_Exp)]
+ }
+ TC[,Code:=NULL]
+ TC[is.na(TC)] <- 0
+ SookhtData <- TC[,lapply(.SD,sum),by=HHID]
+ save(SookhtData, file = paste0(Settings$HEISProcessedPath,"Y",year,"Sookhts.rda"))
+
+
+
+cat("\n\n================ Ab =====================================\n")
+
+AbTables <- data.table(read_excel(Settings$MetaDataFilePath,sheet=Settings$MDS_Ab))
+
+
+ cat(paste0("\n------------------------------\nYear:",year,"\n"))
+ load(file=paste0(Settings$HEISRawPath,"Y",year,"Raw.rda"))
+ mt <- AbTables[Year==year]
+ tab <- mt$Table
+ if(is.na(tab))
+ next
+ UTM <- Tables[[paste0("U",year,tab)]]
+ RTM <- Tables[[paste0("R",year,tab)]]
+ TM <- rbind(UTM,RTM)
+ for(n in names(TM)){
+ x <- which(mt==n)
+ if(length(x)>0)
+ setnames(TM,n,names(mt)[x])
+ }
+ pcols <- intersect(names(TM),c("HHID","Code","Ab_Exp"))
+ TM <- TM[,pcols,with=FALSE]
+ if (year<83){
+ TM <- TM[Code %in% c(32110,32255)]
+ } else {
+ TM <- TM[Code %in% mt$StartCode:mt$EndCode]
+ }
+
+ if(year %in% 84:96){
+ TM[,Ab_Exp:=as.numeric(Ab_Exp)]
+ }
+ TM <- TM[Code %in% mt$StartCode:mt$EndCode]
+ TM[,Code:=NULL]
+ TM[is.na(TM)] <- 0
+ AbData <- TM[,lapply(.SD,sum),by=HHID]
+ save(AbData, file = paste0(Settings$HEISProcessedPath,"Y",year,"Abs.rda"))
+
+
+cat("\n\n================ Gazz =====================================\n")
+
+GazzTables <- data.table(read_excel(Settings$MetaDataFilePath,sheet=Settings$MDS_Gazz))
+
+
+ cat(paste0("\n------------------------------\nYear:",year,"\n"))
+ load(file=paste0(Settings$HEISRawPath,"Y",year,"Raw.rda"))
+ mt <- GazzTables[Year==year]
+ tab <- mt$Table
+ if(is.na(tab))
+ next
+ UTM <- Tables[[paste0("U",year,tab)]]
+ RTM <- Tables[[paste0("R",year,tab)]]
+ TM <- rbind(UTM,RTM)
+ for(n in names(TM)){
+ x <- which(mt==n)
+ if(length(x)>0)
+ setnames(TM,n,names(mt)[x])
+ }
+ pcols <- intersect(names(TM),c("HHID","Code","Gazz_Exp"))
+ TM <- TM[,pcols,with=FALSE]
+ TM <- TM[Code %in% mt$StartCode:mt$EndCode]
+ if(year %in% 84:96){
+ TM[,Gazz_Exp:=as.numeric(Gazz_Exp)]
+ }
+ TM <- TM[Code %in% mt$StartCode:mt$EndCode]
+ TM[,Code:=NULL]
+ TM[is.na(TM)] <- 0
+ GazzData <- TM[,lapply(.SD,sum),by=HHID]
+ save(GazzData, file = paste0(Settings$HEISProcessedPath,"Y",year,"Gazzs.rda"))
+
+
+
+
+
+Data<-merge(EnergyData,SookhtData,all.x=TRUE)
+Data<-merge(Data,AbData,all.x=TRUE)
+Data<-merge(Data,GazzData,all.x=TRUE)
+Data<-merge(Data,BarghhData,all.x=TRUE)
+Data[is.na(Data)]<-0
+
+load(file = paste0(Settings$HEISProcessedPath,"Y",year,"FinalPoors.rda"))
+MD<-merge(MD,Data,all.x=TRUE,by="HHID")
+MD[is.na(MD)]<-0
+
+Final<-MD[,.(HHID,Weight,Energy_Exp,Sookht_Exp,Ab_Exp,Barghh_Exp,
+ Gazz_Exp,Total_Exp_Month,Decile)]
+
+Final[,weighted.mean(Sookht_Exp/Total_Exp_Month,Weight)]
+Final[,weighted.mean(Ab_Exp/Total_Exp_Month,Weight)]
+Final[,weighted.mean(Barghh_Exp/Total_Exp_Month,Weight)]
+
+Final[as.numeric(Decile)==1,weighted.mean(Energy_Exp/Total_Exp_Month,Weight)]
+Final[as.numeric(Decile)==10,weighted.mean(Energy_Exp/Total_Exp_Month,Weight)]
+
+T1<-Final[,.(Sookht_Share=weighted.mean(Sookht_Exp/Total_Exp_Month,Weight),
+ Ab_Share=weighted.mean(Ab_Exp/Total_Exp_Month,Weight),
+ Barghh_Share=weighted.mean(Barghh_Exp/Total_Exp_Month,Weight))]
+T1[,Year:=year]
+Table1 <- rbind(Table1,T1)
+
+Final[,weighted.mean(Barghh_Exp/Total_Exp_Month,Weight),by=Decile][order(Decile)]
+Final[,weighted.mean(Gazz_Exp/Total_Exp_Month,Weight),by=Decile][order(Decile)]
+
+T2<-Final[,.(Bargh_Share=weighted.mean(Barghh_Exp/Total_Exp_Month,Weight),
+ Gaz_Share=weighted.mean(Gazz_Exp/Total_Exp_Month,Weight),
+ Energy_Share=weighted.mean(Energy_Exp/Total_Exp_Month,Weight)),by=Decile]
+T2[,Year:=year]
+Table2 <- rbind(Table2,T2)
+write.csv(Table2,"Table2.csv")
+}
+
+
+endtime <- proc.time()
+cat("\n\n============================\nIt took ")
+cat(endtime-starttime)
diff --git a/R/Archive/June 2020 (removed code files)/Engel Method.R b/R/Archive/June 2020 (removed code files)/Engel Method.R
new file mode 100644
index 00000000..14d74be3
--- /dev/null
+++ b/R/Archive/June 2020 (removed code files)/Engel Method.R
@@ -0,0 +1,53 @@
+rm(list=ls())
+starttime <- proc.time()
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+library(data.table)
+library(stringr)
+library(readxl)
+library(ggplot2)
+
+cat("\n\n================ FoodGroups =====================================\n")
+for(year in (Settings$startyear:Settings$endyear)){
+ cat(paste0("\n------------------------------\nYear:",year,"\n"))
+ load( file = paste0(Settings$HEISProcessedPath,"Y",year,"BigFData.rda"))
+ load(file = paste0(Settings$HEISProcessedPath,"Y",year,"Foods2.rda"))
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"FINALPOORS.rda"))
+ BigFData[,OriginalFoodExpenditure:=Expenditure]
+ NfoodExp<-BigFData[,.(HHID,OriginalFoodExpenditure)]
+ NfoodExp <- NfoodExp[,lapply(.SD,sum),by=HHID]
+ FoodData<-merge(FoodData,NfoodExp,all.x = TRUE)
+ FoodData[is.na(FoodData)] <- 0
+ FoodData[,FoodOtherExpenditure:=FoodExpenditure-OriginalFoodExpenditure]
+ BigFData<-merge(BigFData,MD[,.(HHID,FinalPoor,cluster3,Total_Exp_Month_Per,ProvinceCode,Percentile,TOriginalFoodExpenditure_Per,Weight,Size,EqSizeCalory)],by=c("HHID"))
+ Sibzamini<-BigFData[FoodType=="Sibzamini"]
+ Sibzamini<-as.data.table(Sibzamini[,FGrams_Per:=FGrams/EqSizeCalory])
+ sistan<-Sibzamini[ProvinceCode==11]
+ SibzaminiKol<-Sibzamini[,weighted.mean(FGrams_Per,Weight*Size),by=c("Percentile")]
+ SibzaminiSistan<-sistan[,weighted.mean(FGrams_Per,Weight*Size),by=c("Percentile")]
+ Nan<-BigFData[FoodType=="Nan"]
+ Nan<-as.data.table(Nan[,FGrams_Per:=FGrams/EqSizeCalory])
+ sistan<-Nan[ProvinceCode==11]
+ NanKol<-Nan[,weighted.mean(FGrams_Per,Weight*Size),by=c("Percentile")]
+ NanSistan<-sistan[,weighted.mean(FGrams_Per,Weight*Size),by=c("Percentile")]
+
+
+ Sibzamini<-as.data.table(Sibzamini[,Calory_Per:=FoodKCalories/EqSizeCalory])
+ sistan<-Sibzamini[ProvinceCode==11]
+ SibzaminiKol<-Sibzamini[,weighted.mean(Calory_Per,Weight*Size),by=c("Percentile")]
+ SibzaminiSistan<-sistan[,weighted.mean(Calory_Per,Weight*Size),by=c("Percentile")]
+ Nan<-as.data.table(Nan[,Calory_Per:=FoodKCalories/EqSizeCalory])
+ sistan<-Nan[ProvinceCode==11]
+ NanKol<-Nan[,weighted.mean(Calory_Per,Weight*Size),by=c("Percentile")]
+ NanSistan<-sistan[,weighted.mean(Calory_Per,Weight*Size),by=c("Percentile")]
+
+ ggplot(data=SibzaminiSistan,aes(x=as.factor(Percentile), y=as.integer(V1)))+geom_line(group=1)
+
+ save(FoodData, file = paste0(Settings$HEISProcessedPath,"Y",year,"Foods.rda"))
+ cat(FoodData[,mean(OriginalFoodExpenditure)])
+}
+
+cat("\n\n==============Finish==============\nIt took ")
+endtime <- proc.time()
+cat((endtime-starttime)[3],"seconds.")
\ No newline at end of file
diff --git a/R/Archive/June 2020 (removed code files)/Expenditures by Size.R b/R/Archive/June 2020 (removed code files)/Expenditures by Size.R
new file mode 100644
index 00000000..f185b7e4
--- /dev/null
+++ b/R/Archive/June 2020 (removed code files)/Expenditures by Size.R
@@ -0,0 +1,57 @@
+#Expenditures by Size.R
+#
+# Copyright © 2020: Arin Shahbazian
+# Licence: GPL-3
+
+rm(list=ls())
+
+starttime <- proc.time()
+cat("\n\n================ Merge Data =====================================\n")
+
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+library(readxl)
+library(stringr)
+library(data.table)
+library(ggplot2)
+library(spatstat)
+
+ExpSize <- data.table(Year=NA_integer_,Size=NA_real_,Total_Exp_Month_nondurable=NA_real_,
+ OriginalFoodExpenditure=NA_real_,HouseandEnergy_Exp=NA_real_)[0]
+
+
+for(year in (Settings$startyear:Settings$endyear)){
+ cat(paste0("\n------------------------------\nYear:",year,"\n"))
+
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"InitialPoor.rda"))
+
+ MD<-MD[Size<6]
+ MD<-MD[Region=="Urban"]
+ MD<-MD[as.numeric(Decile)<3 & as.numeric(Decile)>1]
+
+ X1 <- MD[,.(Total_Exp_Month_nondurable=weighted.mean(Total_Exp_Month_nondurable,Weight*Size),
+ OriginalFoodExpenditure=weighted.mean(OriginalFoodExpenditure,Weight*Size),
+ HouseandEnergy_Exp=weighted.mean(HouseandEnergy_Exp,Weight*Size)),by=Size]
+
+ X1[,Year:=year]
+
+ ExpSize <- rbind(ExpSize,X1)
+
+}
+
+ggplot(MD)+
+ geom_line(mapping = aes(x=Year,y=OriginalFoodExpenditure/Total_Exp_Month,col=factor(Size)))
+
+ggplot(MD, aes(fill=factor(Size), y=OriginalFoodExpenditure/Total_Exp_Month, x=Year)) +
+ geom_bar(position="dodge", stat="identity")
+
+ggplot(ExpSize, aes(fill=factor(Size), y=OriginalFoodExpenditure, x=Year)) +
+ geom_bar(position="dodge", stat="identity")
+
+ggplot(ExpSize, aes(fill=factor(Size), y=HouseandEnergy_Exp, x=Year)) +
+ geom_bar(position="dodge", stat="identity")
+
+endtime <- proc.time()
+cat("\n\n============================\nIt took ")
+cat(endtime-starttime)
\ No newline at end of file
diff --git a/R/Archive/June 2020 (removed code files)/FinanceExp.R b/R/Archive/June 2020 (removed code files)/FinanceExp.R
new file mode 100644
index 00000000..3d715dbb
--- /dev/null
+++ b/R/Archive/June 2020 (removed code files)/FinanceExp.R
@@ -0,0 +1,82 @@
+
+#
+# Copyright © 2017: Arin Shahbazian
+# Licence: GPL-3
+
+rm(list=ls())
+
+starttime <- proc.time()
+
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+library(readxl)
+library(data.table)
+library(stringr)
+
+
+cat("\n\n================ HHFinance =====================================\n")
+FinanceTables <- data.table(read_excel(Settings$MetaDataFilePath,sheet=Settings$MDS_Finance))
+
+
+for(year in (Settings$startyear:Settings$endyear)){
+ cat(paste0("\n------------------------------\nYear:",year,"\n"))
+ load(file=paste0(Settings$HEISRawPath,"Y",year,"Raw.rda"))
+ ct <- FinanceTables[Year==year]
+ tab <- ct$Table
+ if(is.na(tab))
+ next
+ UTC <- Tables[[paste0("U",year,tab)]]
+ RTC <- Tables[[paste0("R",year,tab)]]
+ TC <- rbind(UTC,RTC)
+ for(n in names(TC)){
+ x <- which(ct==n)
+ if(length(x)>0)
+ setnames(TC,n,names(ct)[x])
+ }
+ pcols <- intersect(names(TC),c("HHID","Code","Vam","BuyingMethod","Finance_Exp","Finance_Sale"))
+ TC <- TC[,pcols,with=FALSE]
+ TC <- TC[Code %in% ct$StartCode:ct$EndCode]
+ if(year %in% 84:96){
+ TC[,Finance_Exp:=as.numeric(Finance_Exp)]
+ TC[,Finance_Sale:=as.numeric(Finance_Sale)]
+ }
+ TC<-TC[BuyingMethod==1]
+ TC$Finance_Exp<-TC$Finance_Exp/12
+ TC$Finance_Sale<-TC$Finance_Sale/12
+ TC[,Code:=NULL]
+ TC[,BuyingMethod:=NULL]
+ TC[is.na(TC)] <- 0
+ FinanceData <- TC[,lapply(.SD,sum),by=HHID]
+ save(FinanceData, file = paste0(Settings$HEISProcessedPath,"Y",year,"Finances.rda"))
+ load(file = paste0(Settings$HEISProcessedPath,"Y",year,"FinalPoors.rda"))
+
+ MD<-merge(MD,FinanceData,by="HHID",all.x=TRUE)
+ MD[is.na(MD)] <- 0
+
+ MD[,Decile_Pop:=sum(Weight),by=Decile]
+ MD[Finance_Exp>0,having_vam_Pop:=sum(Weight)]
+ MD[Finance_Exp>0,having_vam_Pop:=sum(Weight),by=Decile]
+ MD[,having_vam:=ifelse(Finance_Exp>0,1,0)]
+ MD[,weighted.mean(having_vam,Weight),by=Decile][order(Decile)]
+ MD[Finance_Exp>0,weighted.mean(Finance_Exp*12/Total_Exp_Month,Weight),by=Decile][order(Decile)]
+
+ MD[,Y:=sum(Weight*Total_Exp_Month)]
+ MD[as.numeric(Percentile)>97,X:=sum(Weight*Total_Exp_Month)]
+ MD[,a:=X/Y]
+
+ MD[,weighted.mean(having_vam,Weight)]
+ MD[CountyCode==2301,weighted.mean(having_vam,Weight*Size)]
+ MD[ProvinceCode==23,weighted.mean(having_vam,Weight)]
+ MD[,weighted.mean(having_vam,Weight),by=ProvinceCode][order(ProvinceCode)]
+ MD[having_vam==1,sum(Weight),by=ProvinceCode][order(ProvinceCode)]
+
+ MD[Finance_Exp>0,weighted.mean(Finance_Exp*12/Total_Exp_Month,Weight)]
+ MD[Finance_Exp>0 & CountyCode==2301,weighted.mean(Finance_Exp*12/Total_Exp_Month,Weight)]
+
+ }
+
+
+endtime <- proc.time()
+cat("\n\n============================\nIt took ")
+cat(endtime-starttime)
diff --git a/R/Archive/June 2020 (removed code files)/Food Consumption.R b/R/Archive/June 2020 (removed code files)/Food Consumption.R
new file mode 100644
index 00000000..10924487
--- /dev/null
+++ b/R/Archive/June 2020 (removed code files)/Food Consumption.R
@@ -0,0 +1,104 @@
+rm(list=ls())
+
+starttime <- proc.time()
+cat("\n\n================ Prepare Data =====================================\n")
+library(yaml)
+library(dplyr)
+Settings <- yaml.load_file("Settings.yaml")
+
+library(readxl)
+library(data.table)
+library(ggplot2)
+#year<-97
+
+TS <- data.table(Year=NA_integer_,Berenj=NA_real_,
+ Gav=NA_real_,Goosfand=NA_real_,
+ Shir=NA_real_,Panir=NA_real_,
+ Tokhmemorgh=NA_real_,
+ Morgh=NA_real_,MacaroniGram=NA_real_,
+ Rob_GojeGram=NA_real_,PiazGram=NA_real_,
+ SibzaminiGram=NA_real_,
+ Decile=NA_real_)[0]
+
+
+for (year in (Settings$startyear:Settings$endyear)){
+ cat(paste0("\n------------------------------\nYear:", year, "\n"))
+load(file=paste0(Settings$HEISProcessedPath,"Y",year,"Total2.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y",year,"FinalPoors.rda"))
+
+MD<-merge(MD,Total[,.(HHID,`011164`,MacaroniGram,`011231`,`011232`,PoultryMeat_MGram,
+ PoultryMeat_NMGram,`011411`,MilkGrams,`011428`,`011429`,
+ Cheese_PasturizedGram,Cheese_NonPasturizedGram,
+ `011921`,Rob_GojeGram,`011441`,`011442`,Egg_MashinGram,
+ Egg_NonMashinGram,`011731`,SibzaminiGram,
+ `011732`,PiazGram,`011211`,`011212`,
+ CowMeatGram,SheepMeatGram,
+ Rice_TaromGram,Rice_DomsiahGram)],by="HHID")
+
+A<-MD[,.(Morgh=weighted.mean(PoultryMeat_MGram,Weight),
+ Shir= weighted.mean(MilkGrams,Weight),
+ Panir=weighted.mean(Cheese_PasturizedGram,Weight),
+ Tokhmemorgh=weighted.mean(Egg_MashinGram+Egg_NonMashinGram,Weight),
+ Berenj=weighted.mean(Rice_TaromGram+Rice_DomsiahGram,Weight),
+ Gav=weighted.mean(CowMeatGram,Weight),
+ Goosfand=weighted.mean(SheepMeatGram,Weight),
+ Rob_GojeGram=weighted.mean(Rob_GojeGram,Weight),
+ SibzaminiGram=weighted.mean(SibzaminiGram,Weight),
+ PiazGram=weighted.mean(PiazGram,Weight),
+ MacaroniGram=weighted.mean(MacaroniGram,Weight)),by=Decile][order(Decile)]
+A[,Year:=year]
+TS <- rbind(TS,A)
+
+
+m<-MD[,.(weighted.mean(`011164`/Total_Exp_Month_nondurable,Weight),
+ weighted.mean((`011231`+`011232`)/Total_Exp_Month_nondurable,Weight),
+ weighted.mean(`011411`/Total_Exp_Month_nondurable,Weight),
+ weighted.mean((`011428`+`011429`)/Total_Exp_Month_nondurable,Weight),
+ weighted.mean(`011921`/Total_Exp_Month_nondurable,Weight),
+ weighted.mean((`011441`+`011442`)/Total_Exp_Month_nondurable,Weight),
+ weighted.mean(`011731`/Total_Exp_Month_nondurable,Weight),
+ weighted.mean(`011732`/Total_Exp_Month_nondurable,Weight)),by=Decile][order(Decile)]
+
+z<-MD[,.(weighted.mean(`011164`/FoodExpenditure,Weight),
+ weighted.mean((`011231`+`011232`)/FoodExpenditure,Weight),
+ weighted.mean(`011411`/FoodExpenditure,Weight),
+ weighted.mean((`011428`+`011429`)/FoodExpenditure,Weight),
+ weighted.mean(`011921`/FoodExpenditure,Weight),
+ weighted.mean((`011441`+`011442`)/FoodExpenditure,Weight),
+ weighted.mean(`011731`/FoodExpenditure,Weight),
+ weighted.mean(`011732`/FoodExpenditure,Weight)),by=Decile][order(Decile)]
+
+y<-MD[,.(weighted.mean(`011164`,Weight),
+ weighted.mean(`011231`+`011232`,Weight),
+ weighted.mean(`011411`,Weight),
+ weighted.mean(`011428`+`011429`,Weight),
+ weighted.mean(`011921`,Weight),
+ weighted.mean(`011441`+`011442`,Weight),
+ weighted.mean(`011731`,Weight),
+ weighted.mean(`011732`,Weight)),by=Decile][order(Decile)]
+
+
+x<-MD[,.(MacaroniGram=weighted.mean(MacaroniGram,Weight),
+ PoultryMeat_Gram=weighted.mean(PoultryMeat_MGram+PoultryMeat_NMGram,Weight),
+ MilkGrams=weighted.mean(MilkGrams,Weight),
+ CheeseGram=weighted.mean(Cheese_PasturizedGram+Cheese_NonPasturizedGram,Weight),
+ Rob_GojeGram=weighted.mean(Rob_GojeGram,Weight),
+ Egg_Gram=weighted.mean(Egg_MashinGram+Egg_NonMashinGram,Weight),
+ SibzaminiGram=weighted.mean(SibzaminiGram,Weight),
+ PiazGram=weighted.mean(PiazGram,Weight),
+ CowMeatGram=weighted.mean(CowMeatGram,Weight),
+ SheepMeatGram=weighted.mean(SheepMeatGram,Weight)),by=Decile][order(Decile)]
+
+MD[,weighted.mean(Size,Weight),by=Decile][order(Decile)]
+MD[,weighted.mean(FoodKCaloriesHH_Per,Weight),by=Decile][order(Decile)]
+
+
+
+
+}
+
+#TS<-TS[as.numeric(Decile)<7]
+
+#ggplot(TS, aes( y=Morgh, x=Year,fill=Decile)) +
+ # geom_bar(position="dodge", stat="identity") + theme_bw() +
+ # theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1))
diff --git a/R/Archive/June 2020 (removed code files)/Foods Expenditue types.R b/R/Archive/June 2020 (removed code files)/Foods Expenditue types.R
new file mode 100644
index 00000000..2900df94
--- /dev/null
+++ b/R/Archive/June 2020 (removed code files)/Foods Expenditue types.R
@@ -0,0 +1,150 @@
+# Foods Expenditue types.R
+# Builds the Food expenditures data.table for households
+#
+# Copyright © 2020: Arin Shahbazian
+# Licence: GPL-3
+
+rm(list=ls())
+
+starttime <- proc.time()
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+library(data.table)
+library(stringr)
+library(ggplot2)
+library(readxl)
+
+FoodExpShare <- data.table(Year=NA_integer_,Region=NA_integer_,ProvinceCode=NA_real_,
+ Share1=NA_real_,Share2=NA_real_,
+ Share3=NA_real_,Share4=NA_real_)[0]
+
+FoodMethodShare <- data.table(Year=NA_integer_,Method=NA_real_,
+ Region=NA_character_,share=NA_real_)[0]
+
+for (year in (Settings$startyear:Settings$endyear)){
+ cat(paste0("\n------------------------------\nYear:", year, "\n"))
+ load(file = paste0(Settings$HEISProcessedPath, "Y", year, "Merged4CBN.rda"))
+ load(file = paste0(Settings$HEISProcessedPath, "Y", year, "TF.rda"))
+
+ #TF<-merge(TF,MD[,.(HHID,ProvinceCode,Region,Weight,Size)],all.x = TRUE,by="HHID")
+ #TF[,isUrban:=ifelse(Region=="Urban",1,0)]
+ #TF[,Region:=NULL]
+ #TF2 <- TF[,.(Food_Exp=sum(FoodExpenditure),
+ # ProvinceCode=mean(ProvinceCode),
+ # isUrban=mean(isUrban),
+ # Weight=mean(Weight)),by=.(HHID,BuyingMethod)]
+
+ #TF3<-TF2[,.(.N,Sum=sum(Food_Exp*Weight)),by=.(ProvinceCode,BuyingMethod)]
+ #TF4<-TF3[BuyingMethod==8]
+
+ G1<-TF[BuyingMethod==1]
+ G1 <- G1[,lapply(.SD,sum),by=HHID]
+ G1[,BuyingMethod:=NULL]
+ names(G1)<-c("HHID","FoodExp1")
+
+ G2<-TF[BuyingMethod==2]
+ G2 <- G2[,lapply(.SD,sum),by=HHID]
+ G2[,BuyingMethod:=NULL]
+ names(G2)<-c("HHID","FoodExp2")
+
+ G3<-TF[BuyingMethod==3]
+ G3 <- G3[,lapply(.SD,sum),by=HHID]
+ G3[,BuyingMethod:=NULL]
+ names(G3)<-c("HHID","FoodExp3")
+
+ G4<-TF[BuyingMethod==4]
+ G4 <- G4[,lapply(.SD,sum),by=HHID]
+ G4[,BuyingMethod:=NULL]
+ names(G4)<-c("HHID","FoodExp4")
+
+ G5<-TF[BuyingMethod==5]
+ G5 <- G5[,lapply(.SD,sum),by=HHID]
+ G5[,BuyingMethod:=NULL]
+ names(G5)<-c("HHID","FoodExp5")
+
+ G6<-TF[BuyingMethod==6]
+ G6 <- G6[,lapply(.SD,sum),by=HHID]
+ G6[,BuyingMethod:=NULL]
+ names(G6)<-c("HHID","FoodExp6")
+
+ G7<-TF[BuyingMethod==7]
+ G7 <- G7[,lapply(.SD,sum),by=HHID]
+ G7[,BuyingMethod:=NULL]
+ names(G7)<-c("HHID","FoodExp7")
+
+ G8<-TF[BuyingMethod==8]
+ G8 <- G8[,lapply(.SD,sum),by=HHID]
+ G8[,BuyingMethod:=NULL]
+ names(G8)<-c("HHID","FoodExp8")
+
+ TTF<-merge(MD[,.(HHID,Region,ProvinceCode,Weight,
+ Size,EqSizeRevOECD,FoodExpenditure)],G1)
+
+ TTF<-merge(TTF,G2,all.x = TRUE)
+ TTF<-merge(TTF,G3,all.x = TRUE)
+ TTF<-merge(TTF,G4,all.x = TRUE)
+ TTF<-merge(TTF,G5,all.x = TRUE)
+ TTF<-merge(TTF,G6,all.x = TRUE)
+ TTF<-merge(TTF,G7,all.x = TRUE)
+ TTF<-merge(TTF,G8,all.x = TRUE)
+ TTF[is.na(TTF)] <- 0
+
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"FINALPOORS.rda"))
+ TF<-merge(TF,MD[,.(HHID,Decile,FinalPoor,Region,ProvinceCode,Weight)],all.x = TRUE)
+ TF<-TF[Region=="Urban" | Region=="Rural"]
+ TF<-TF[ Region=="Urban" & ProvinceCode==11]
+ if (year>82){
+ TF[,Method:=ifelse(BuyingMethod==1,"Buying",
+ ifelse(BuyingMethod==2,"Home_Production",
+ ifelse(BuyingMethod==3 | BuyingMethod==4 |
+ BuyingMethod==5 | BuyingMethod==7,"Against_Service",
+ ifelse(BuyingMethod==6,"Agriculture","Free"))))]
+ }
+ else {
+ TF[,Method:=ifelse(BuyingMethod==1,"Buying",
+ ifelse(BuyingMethod==2,"Home_Production",
+ ifelse(BuyingMethod==3 | BuyingMethod==4 |
+ BuyingMethod==6 | BuyingMethod==8,"Against_Service",
+ ifelse(BuyingMethod==5,"Agriculture","Free"))))]
+ }
+
+
+ #TF<-TF[Method!="Buying"]
+ TF <- TF[,Total:=sum(FoodExpenditure*Weight),by=.(Region)]
+ TF <- TF[,share:=FoodExpenditure/Total]
+ X2 <- TF[,.(share=sum(share*Weight)),by=.(Method,Region)]
+
+
+
+ X2[,Year:=year]
+ FoodMethodShare <- rbind(FoodMethodShare,X2)
+
+
+ TTF<-merge(TTF,MD[,.(HHID,Decile,FinalPoor)],all.x = TRUE)
+
+ TTF[,weighted.mean(FoodExp8/FoodExpenditure),by=ProvinceCode]
+
+ X1 <- TTF[,.(Share1=weighted.mean(FoodExp1/FoodExpenditure),
+ Share2=weighted.mean(FoodExp2/FoodExpenditure),
+ Share3=weighted.mean((FoodExp3+FoodExp4+FoodExp5+FoodExp7)/FoodExpenditure),
+ Share4=weighted.mean(FoodExp6/FoodExpenditure)),by=.(Region,ProvinceCode)]
+ X1[,Year:=year]
+
+ FoodExpShare <- rbind(FoodExpShare,X1)
+ #FoodExpShare<-FoodExpShare[ProvinceCode==1]
+}
+
+ggplot(FoodMethodShare, aes(fill=Method, y=share, x=Year)) +
+ geom_bar(position="stack", stat="identity") +
+ ggtitle("Types of food preparation")
+
+ggplot(FoodExpShare)+
+ geom_line(mapping = aes(x=Year,y=Share1,col=factor(Region)))
+
+
+
+
+endtime <- proc.time()
+cat("\n\n============================\nIt took ")
+cat(endtime-starttime)
diff --git a/R/Archive/June 2020 (removed code files)/Free Durable Goods.R b/R/Archive/June 2020 (removed code files)/Free Durable Goods.R
new file mode 100644
index 00000000..42657cf9
--- /dev/null
+++ b/R/Archive/June 2020 (removed code files)/Free Durable Goods.R
@@ -0,0 +1,64 @@
+#Free Durable Goods
+
+rm(list=ls())
+
+starttime <- proc.time()
+
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+library(readxl)
+library(data.table)
+library(stringr)
+
+
+
+cat("\n\n================ Free Durable Goods=====================================\n")
+DurableTables <- data.table(read_excel(Settings$MetaDataFilePath,sheet=Settings$MDS_Durable))
+
+
+for(year in (Settings$startyear:Settings$endyear)){
+ cat(paste0("\n------------------------------\nYear:",year,"\n"))
+ load(file=paste0(Settings$HEISRawPath,"Y",year,"Raw.rda"))
+ ct <- DurableTables[Year==year]
+ tab <- ct$Table
+ if(is.na(tab))
+ next
+ UTC <- Tables[[paste0("U",year,tab)]]
+ RTC <- Tables[[paste0("R",year,tab)]]
+ TC <- rbind(UTC,RTC)
+ for(n in names(TC)){
+ x <- which(ct==n)
+ if(length(x)>0)
+ setnames(TC,n,names(ct)[x])
+ }
+ pcols <- intersect(names(TC),c("HHID","Code","BuyingMethod","Durable_Exp","Durable_Sale"))
+ TC <- TC[,pcols,with=FALSE]
+ TC<-TC[BuyingMethod==8]
+ if(year %in% 84:97){
+ TC[,FreeDurable_Exp:=as.numeric(Durable_Exp)]
+ TC[,FreeDurable_Sale:=as.numeric(Durable_Sale)]
+ }
+ TC$FreeDurable_Exp<-TC$Durable_Exp/12
+ TC$FreeDurable_Sale<-TC$Durable_Sale/12
+ TC[,Code:=NULL]
+ TC[,BuyingMethod:=NULL]
+ TC[is.na(TC)] <- 0
+ TC[,FreeDurable_Pure_Exp:=FreeDurable_Exp-FreeDurable_Sale]
+ FreeDurableData <- TC[,lapply(.SD,sum),by=HHID]
+ save(FreeDurableData, file = paste0(Settings$HEISProcessedPath,"Y",year,"FreeDurableData.rda"))
+
+
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"FINALPOORS.rda"))
+ FreeDurableData<-merge(FreeDurableData,MD[,.(HHID,Region,ProvinceCode)])
+
+ FreeD<-FreeDurableData[,.(.N),by=ProvinceCode]
+
+ }
+
+
+
+
+endtime <- proc.time()
+cat("\n\n============================\nIt took ")
+cat(endtime-starttime)
diff --git a/R/Archive/June 2020 (removed code files)/Goods share in Poors- NonPoors.R b/R/Archive/June 2020 (removed code files)/Goods share in Poors- NonPoors.R
new file mode 100644
index 00000000..74ebc72b
--- /dev/null
+++ b/R/Archive/June 2020 (removed code files)/Goods share in Poors- NonPoors.R
@@ -0,0 +1,154 @@
+# Goods share in Poors- NonPoors.R
+#
+# Copyright © 2019: Arin Shahbazian
+# Licence: GPL-3
+
+rm(list=ls())
+
+starttime <- proc.time()
+cat("\n\n================ Goods share =====================================\n")
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+library(readxl)
+library(data.table)
+library(ggplot2)
+library(stats)
+library(spatstat)
+
+PoorsShareResults <- data.table(Year=NA_integer_,Food_Share=NA_real_,Cigar_Share=NA_real_,
+ cloth_Share=NA_real_,House_Share=NA_real_,Furniture_Share=NA_real_,
+ Hygiene_Share=NA_real_,Transportation_Share=NA_real_,
+ Communication_Share=NA_real_,Amusement_Share=NA_real_,
+ HotelRestaurant_Share=NA_real_,Other_Share=NA_real_,
+ Durable_Share=NA_real_,Meter_Price=NA_real_,
+ cluster3=NA_integer_,FinalPoor=NA_integer_)[0]
+
+ShareResults <- data.table(Year=NA_integer_,Share=NA_real_,Type=NA_character_,
+ cluster3=NA_integer_,FinalPoor=NA_integer_)[0]
+
+for(year in (Settings$startyear:Settings$endyear)){
+ cat(paste0("\nYear:",year,"\t"))
+
+ # load data --------------------------------------
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"FINALPOORS.rda"))
+ #MD<-MD[FinalPoor==0]
+ MD<-MD[Region=="Rural" & NewArea_Name=="Sistan"]
+
+
+
+ ################Cluster##################
+ X1 <- MD[,.(Food_Share=weighted.mean(FoodExpenditure/Total_Exp_Month,Weight,na.rm = TRUE),
+ Cigar_Share=weighted.mean(Cigar_Exp/Total_Exp_Month,Weight,na.rm = TRUE),
+ cloth_Share=weighted.mean(Cloth_Exp/Total_Exp_Month,Weight,na.rm = TRUE),
+ House_Share=weighted.mean(HouseandEnergy_Exp/Total_Exp_Month,Weight,na.rm = TRUE),
+ Meter_Price=weighted.mean(MetrPrice,Weight,na.rm = TRUE),
+ Furniture_Share=weighted.mean(Furniture_Exp/Total_Exp_Month,Weight,na.rm = TRUE),
+ Hygiene_Share=weighted.mean(Hygiene_Exp/Total_Exp_Month,Weight,na.rm = TRUE),
+ Transportation_Share=weighted.mean(Transportation_Exp/Total_Exp_Month,Weight,na.rm = TRUE),
+ Communication_Share=weighted.mean(Communication_Exp/Total_Exp_Month,Weight,na.rm = TRUE),
+ Amusement_Share=weighted.mean(Amusement_Exp/Total_Exp_Month,Weight,na.rm = TRUE),
+ HotelRestaurant_Share=weighted.mean(HotelRestaurant_Exp/Total_Exp_Month,Weight,na.rm = TRUE),
+ Other_Share=weighted.mean(Other_Exp/Total_Exp_Month,Weight,na.rm = TRUE),
+ Durable_Share=weighted.mean(Durable_Exp/Total_Exp_Month,Weight,na.rm = TRUE)),by=.(cluster3,FinalPoor)]
+
+ X1[,Year:=year]
+
+ PoorsShareResults <- rbind(PoorsShareResults,X1)
+
+
+
+ X2 <- MD[,.(Share=weighted.mean(FoodExpenditure/Total_Exp_Month,Weight,na.rm = TRUE),
+ Type="Food"),by=.(cluster3,FinalPoor)]
+ X2[,Year:=year]
+ ShareResults <- rbind(ShareResults,X2)
+
+ X3 <- MD[,.(Share=weighted.mean(Cigar_Exp/Total_Exp_Month,Weight,na.rm = TRUE),
+ Type="Cigar"),by=.(cluster3,FinalPoor)]
+ X3[,Year:=year]
+ ShareResults <- rbind(ShareResults,X3)
+
+ X4 <- MD[,.(Share=weighted.mean(Cloth_Exp/Total_Exp_Month,Weight,na.rm = TRUE),
+ Type="Cloth"),by=.(cluster3,FinalPoor)]
+ X4[,Year:=year]
+ ShareResults <- rbind(ShareResults,X4)
+
+ X5 <- MD[,.(Share=weighted.mean(HouseandEnergy_Exp/Total_Exp_Month,Weight,na.rm = TRUE),
+ Type="HouseandEnergy"),by=.(cluster3,FinalPoor)]
+ X5[,Year:=year]
+ ShareResults <- rbind(ShareResults,X5)
+
+ X6 <- MD[,.(Share=weighted.mean(Furniture_Exp/Total_Exp_Month,Weight,na.rm = TRUE),
+ Type="Furniture"),by=.(cluster3,FinalPoor)]
+ X6[,Year:=year]
+ ShareResults <- rbind(ShareResults,X6)
+
+ X7 <- MD[,.(Share=weighted.mean(Transportation_Exp/Total_Exp_Month,Weight,na.rm = TRUE),
+ Type="Transportation"),by=.(cluster3,FinalPoor)]
+ X7[,Year:=year]
+ ShareResults <- rbind(ShareResults,X7)
+
+ X8 <- MD[,.(Share=weighted.mean(Communication_Exp/Total_Exp_Month,Weight,na.rm = TRUE),
+ Type="Communication"),by=.(cluster3,FinalPoor)]
+ X8[,Year:=year]
+ ShareResults <- rbind(ShareResults,X8)
+
+ X9 <- MD[,.(Share=weighted.mean(Amusement_Exp/Total_Exp_Month,Weight,na.rm = TRUE),
+ Type="Amusement"),by=.(cluster3,FinalPoor)]
+ X9[,Year:=year]
+ ShareResults <- rbind(ShareResults,X9)
+
+ X10 <- MD[,.(Share=weighted.mean(Hygiene_Exp/Total_Exp_Month,Weight,na.rm = TRUE),
+ Type="Hygiene"),by=.(cluster3,FinalPoor)]
+ X10[,Year:=year]
+ ShareResults <- rbind(ShareResults,X10)
+
+ X11 <- MD[,.(Share=weighted.mean(HotelRestaurant_Exp/Total_Exp_Month,Weight,na.rm = TRUE),
+ Type="HotelRestaurant"),by=.(cluster3,FinalPoor)]
+ X11[,Year:=year]
+ ShareResults <- rbind(ShareResults,X11)
+
+ X12 <- MD[,.(Share=weighted.mean(Other_Exp/Total_Exp_Month,Weight,na.rm = TRUE),
+ Type="Other"),by=.(cluster3,FinalPoor)]
+ X12[,Year:=year]
+ ShareResults <- rbind(ShareResults,X12)
+
+ X13 <- MD[,.(Share=weighted.mean(Durable_Exp/Total_Exp_Month,Weight,na.rm = TRUE),
+ Type="Durable"),by=.(cluster3,FinalPoor)]
+ X13[,Year:=year]
+ ShareResults <- rbind(ShareResults,X13)
+
+ X14 <- MD[,.(Share=weighted.mean(Medical_Exp/Total_Exp_Month,Weight,na.rm = TRUE),
+ Type="Medical"),by=.(cluster3,FinalPoor)]
+ X14[,Year:=year]
+ ShareResults <- rbind(ShareResults,X14)
+}
+
+#save(PoorsShareResults,file=paste0(Settings$HEISProcessedPath,"PoorsShareResults.rda"))
+#save(ShareResults,file=paste0(Settings$HEISProcessedPath,"ShareResults.rda"))
+
+ggplot(PoorsShareResults)+
+ geom_line(mapping = aes(x=Year,y=Meter_Price,col=factor(cluster3)))
+
+ShareResults_S2<-ShareResults[Type=="Food" & cluster3==13]
+ggplot(ShareResults_S2, aes(fill=factor(FinalPoor), y=Share, x=Year)) +
+ geom_bar(position="dodge", stat="identity")
+
+ShareResults_S2<-ShareResults[Type=="HouseandEnergy" & cluster3==13]
+ggplot(ShareResults_S2, aes(fill=factor(FinalPoor), y=Share, x=Year)) +
+ geom_bar(position="dodge", stat="identity")
+
+ShareResults_S2<-ShareResults[Type=="Durable" & cluster3==13]
+ggplot(ShareResults_S2, aes(fill=factor(FinalPoor), y=Share, x=Year)) +
+ geom_bar(position="dodge", stat="identity")
+
+#ShareResults7<-ShareResults[cluster3==13]
+
+#ggplot(ShareResults7, aes(fill=Type, y=Share, x=Year)) +
+# geom_bar(position="stack", stat="identity") +
+# ggtitle("Goods shares in clusters")
+
+endtime <- proc.time()
+cat("\n\n============================\nIt took ")
+cat((endtime-starttime)["elapsed"])
+cat(" seconds")
\ No newline at end of file
diff --git a/R/Archive/June 2020 (removed code files)/Goods share.R b/R/Archive/June 2020 (removed code files)/Goods share.R
new file mode 100644
index 00000000..e74521ba
--- /dev/null
+++ b/R/Archive/June 2020 (removed code files)/Goods share.R
@@ -0,0 +1,145 @@
+# Goods share.R
+#
+# Copyright © 2019: Arin Shahbazian
+# Licence: GPL-3
+
+rm(list=ls())
+
+starttime <- proc.time()
+cat("\n\n================ Goods share =====================================\n")
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+library(readxl)
+library(data.table)
+library(ggplot2)
+library(stats)
+library(spatstat)
+
+PoorsShareResults <- data.table(Year=NA_integer_,Food_Share=NA_real_,Cigar_Share=NA_real_,
+ cloth_Share=NA_real_,House_Share=NA_real_,Furniture_Share=NA_real_,
+ Hygiene_Share=NA_real_,Transportation_Share=NA_real_,
+ Communication_Share=NA_real_,Amusement_Share=NA_real_,
+ HotelRestaurant_Share=NA_real_,Other_Share=NA_real_,
+ Durable_Share=NA_real_,Meter_Price=NA_real_,
+ cluster3=NA_integer_)[0]
+
+ShareResults <- data.table(Year=NA_integer_,Share=NA_real_,Type=NA_character_,
+ cluster3=NA_integer_)[0]
+
+for(year in (Settings$startyear:Settings$endyear)){
+ cat(paste0("\nYear:",year,"\t"))
+
+ # load data --------------------------------------
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"FINALPOORS.rda"))
+ MD<-MD[FinalPoor==0]
+ #MD<-MD[Region=="Rural" & NewArea_Name=="Sistan"]
+
+
+
+ ################Cluster##################
+ X1 <- MD[,.(Food_Share=weighted.mean(FoodExpenditure/Total_Exp_Month,Weight,na.rm = TRUE),
+ Cigar_Share=weighted.mean(Cigar_Exp/Total_Exp_Month,Weight,na.rm = TRUE),
+ cloth_Share=weighted.mean(Cloth_Exp/Total_Exp_Month,Weight,na.rm = TRUE),
+ House_Share=weighted.mean(HouseandEnergy_Exp/Total_Exp_Month,Weight,na.rm = TRUE),
+ Meter_Price=weighted.mean(MetrPrice,Weight,na.rm = TRUE),
+ Furniture_Share=weighted.mean(Furniture_Exp/Total_Exp_Month,Weight,na.rm = TRUE),
+ Hygiene_Share=weighted.mean(Hygiene_Exp/Total_Exp_Month,Weight,na.rm = TRUE),
+ Transportation_Share=weighted.mean(Transportation_Exp/Total_Exp_Month,Weight,na.rm = TRUE),
+ Communication_Share=weighted.mean(Communication_Exp/Total_Exp_Month,Weight,na.rm = TRUE),
+ Amusement_Share=weighted.mean(Amusement_Exp/Total_Exp_Month,Weight,na.rm = TRUE),
+ HotelRestaurant_Share=weighted.mean(HotelRestaurant_Exp/Total_Exp_Month,Weight,na.rm = TRUE),
+ Other_Share=weighted.mean(Other_Exp/Total_Exp_Month,Weight,na.rm = TRUE),
+ Durable_Share=weighted.mean(Durable_Exp/Total_Exp_Month,Weight,na.rm = TRUE)),by=cluster3]
+
+ X1[,Year:=year]
+
+ PoorsShareResults <- rbind(PoorsShareResults,X1)
+
+
+
+ X2 <- MD[,.(Share=weighted.mean(FoodExpenditure/Total_Exp_Month,Weight,na.rm = TRUE),
+ Type="Food"),by=cluster3]
+ X2[,Year:=year]
+ ShareResults <- rbind(ShareResults,X2)
+
+ X3 <- MD[,.(Share=weighted.mean(Cigar_Exp/Total_Exp_Month,Weight,na.rm = TRUE),
+ Type="Cigar"),by=cluster3]
+ X3[,Year:=year]
+ ShareResults <- rbind(ShareResults,X3)
+
+ X4 <- MD[,.(Share=weighted.mean(Cloth_Exp/Total_Exp_Month,Weight,na.rm = TRUE),
+ Type="Cloth"),by=cluster3]
+ X4[,Year:=year]
+ ShareResults <- rbind(ShareResults,X4)
+
+ X5 <- MD[,.(Share=weighted.mean(HouseandEnergy_Exp/Total_Exp_Month,Weight,na.rm = TRUE),
+ Type="HouseandEnergy"),by=cluster3]
+ X5[,Year:=year]
+ ShareResults <- rbind(ShareResults,X5)
+
+ X6 <- MD[,.(Share=weighted.mean(Furniture_Exp/Total_Exp_Month,Weight,na.rm = TRUE),
+ Type="Furniture"),by=cluster3]
+ X6[,Year:=year]
+ ShareResults <- rbind(ShareResults,X6)
+
+ X7 <- MD[,.(Share=weighted.mean(Transportation_Exp/Total_Exp_Month,Weight,na.rm = TRUE),
+ Type="Transportation"),by=cluster3]
+ X7[,Year:=year]
+ ShareResults <- rbind(ShareResults,X7)
+
+ X8 <- MD[,.(Share=weighted.mean(Communication_Exp/Total_Exp_Month,Weight,na.rm = TRUE),
+ Type="Communication"),by=cluster3]
+ X8[,Year:=year]
+ ShareResults <- rbind(ShareResults,X8)
+
+ X9 <- MD[,.(Share=weighted.mean(Amusement_Exp/Total_Exp_Month,Weight,na.rm = TRUE),
+ Type="Amusement"),by=cluster3]
+ X9[,Year:=year]
+ ShareResults <- rbind(ShareResults,X9)
+
+ X10 <- MD[,.(Share=weighted.mean(Hygiene_Exp/Total_Exp_Month,Weight,na.rm = TRUE),
+ Type="Hygiene"),by=cluster3]
+ X10[,Year:=year]
+ ShareResults <- rbind(ShareResults,X10)
+
+ X11 <- MD[,.(Share=weighted.mean(HotelRestaurant_Exp/Total_Exp_Month,Weight,na.rm = TRUE),
+ Type="HotelRestaurant"),by=cluster3]
+ X11[,Year:=year]
+ ShareResults <- rbind(ShareResults,X11)
+
+ X12 <- MD[,.(Share=weighted.mean(Other_Exp/Total_Exp_Month,Weight,na.rm = TRUE),
+ Type="Other"),by=cluster3]
+ X12[,Year:=year]
+ ShareResults <- rbind(ShareResults,X12)
+
+ X13 <- MD[,.(Share=weighted.mean(Durable_Exp/Total_Exp_Month,Weight,na.rm = TRUE),
+ Type="Durable"),by=cluster3]
+ X13[,Year:=year]
+ ShareResults <- rbind(ShareResults,X13)
+
+ X14 <- MD[,.(Share=weighted.mean(Medical_Exp/Total_Exp_Month,Weight,na.rm = TRUE),
+ Type="Medical"),by=cluster3]
+ X14[,Year:=year]
+ ShareResults <- rbind(ShareResults,X14)
+}
+
+save(PoorsShareResults,file=paste0(Settings$HEISProcessedPath,"PoorsShareResults.rda"))
+save(ShareResults,file=paste0(Settings$HEISProcessedPath,"ShareResults.rda"))
+
+ggplot(PoorsShareResults)+
+ geom_line(mapping = aes(x=Year,y=Meter_Price,col=factor(cluster3)))
+
+ggplot(ShareResults, aes(fill=Type, y=Share, x=Year)) +
+ geom_bar(position="dodge", stat="identity")
+
+ShareResults7<-ShareResults[cluster3==13]
+
+ggplot(ShareResults7, aes(fill=Type, y=Share, x=Year)) +
+ geom_bar(position="stack", stat="identity") +
+ ggtitle("Goods shares in clusters")
+
+endtime <- proc.time()
+cat("\n\n============================\nIt took ")
+cat((endtime-starttime)["elapsed"])
+cat(" seconds")
\ No newline at end of file
diff --git a/R/Archive/June 2020 (removed code files)/High Engle.R b/R/Archive/June 2020 (removed code files)/High Engle.R
new file mode 100644
index 00000000..b11077db
--- /dev/null
+++ b/R/Archive/June 2020 (removed code files)/High Engle.R
@@ -0,0 +1,58 @@
+# High Engle.R
+#
+# Copyright © 2018:Majid Einian & Arin Shahbazian
+# Licence: GPL-3
+
+rm(list=ls())
+
+starttime <- proc.time()
+cat("\n\n================ High Engle =====================================\n")
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+library(readxl)
+library(data.table)
+library(ggplot2)
+library(stats)
+library(spatstat)
+
+for(year in (Settings$startyear:Settings$endyear)){
+ #cat(paste0("\nYear:",year,"\t"))
+
+ # load data --------------------------------------
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"FINALPOORS.rda"))
+
+
+ MD<-MD[,High_Engle:=ifelse(HHEngle>0.5,1,0)]
+ MD[,weighted.mean(High_Engle,Weight)]
+ MD[High_Engle==1,.(sum(HIndivNo),sum(FinalPoor)),by=.(Region,NewArea_Name)][order(V1)]
+ MD[,weighted.mean(High_Engle,Weight),by=.(Region,NewArea_Name)][order(V1)]
+ MD[High_Engle==1,sum(HIndivNo),by=.(Region,NewArea_Name)][order(V1)]
+ MD[,sum(HIndivNo),by=.(Region,NewArea_Name)][order(Region)]
+
+ HighEngle<-MD[HHEngle>0.5]
+ HighEngle[,weighted.mean(FinalPoor,Weight)]
+ HighEngle[,weighted.mean(FinalPoor,Weight),by=.(Region)][order(V1)]
+
+ HighEngle[,weighted.mean(FinalPoor,Weight),by=.(Region,NewArea_Name)][order(V1)]
+
+ HighEngle[,sum(HIndivNo),by=.(ProvinceCode)][order(V1)]
+ HighEngle[,weighted.median(Total_Exp_Month_Per_nondurable,Weight),by=.(ProvinceCode)][order(V1)]
+ HighEngle[,weighted.median(TOriginalFoodExpenditure,Weight),by=.(ProvinceCode)][order(V1)]
+
+ HighEngle[,weighted.median(Total_Exp_Month_nondurable-TOriginalFoodExpenditure,Weight),by=.(ProvinceCode)][order(V1)]
+
+ HighEngle[Region=="Rural" & NewArea_Name=="Sistan",sum(HIndivNo),by=.(Decile)][order(Decile)]
+ HighEngle[Region=="Rural" & NewArea_Name=="Sistan",weighted.mean(TOriginalFoodExpenditure_Per,Weight),by=.(Decile)][order(Decile)]
+ HighEngle[Region=="Rural" & NewArea_Name=="Sistan",weighted.mean(Total_Exp_Month_Per,Weight),by=.(Decile)][order(Decile)]
+
+ HighEngle[Region=="Urban" & NewArea_Name=="Sistan",sum(HIndivNo),by=.(Decile)][order(Decile)]
+ HighEngle[Region=="Urban" & NewArea_Name=="Sistan",weighted.mean(TOriginalFoodExpenditure_Per,Weight),by=.(Decile)][order(Decile)]
+ HighEngle[Region=="Urban" & NewArea_Name=="Sistan",weighted.mean(Total_Exp_Month_Per,Weight),by=.(Decile)][order(Decile)]
+
+ }
+
+endtime <- proc.time()
+cat("\n\n============================\nIt took ")
+cat((endtime-starttime)["elapsed"])
+cat(" seconds")
\ No newline at end of file
diff --git a/R/Archive/June 2020 (removed code files)/House Properties according to Province.R b/R/Archive/June 2020 (removed code files)/House Properties according to Province.R
new file mode 100644
index 00000000..5204dd29
--- /dev/null
+++ b/R/Archive/June 2020 (removed code files)/House Properties according to Province.R
@@ -0,0 +1,73 @@
+# House Properties according to Province.R
+# Builds the House Properties according to Province
+#
+# Copyright © 2020:Arin Shahbazian
+# Licence: GPL-3
+
+rm(list=ls())
+
+starttime <- proc.time()
+cat("\n\n================ HHHouseProperties =====================================\n")
+
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+library(foreign)
+library(data.table)
+library(stringr)
+library(readxl)
+
+tenure <- data.table(Year=NA_integer_,Region=NA_integer_,ProvinceCode=NA_real_,
+ OwnLandandBuilding=NA_real_,
+ Apartment=NA_real_,
+ Rented=NA_real_,
+ Mortgage=NA_real_,
+ AgainstService=NA_real_,
+ Other=NA_real_,
+ Free=NA_real_)[0]
+
+tenure2 <- data.table(Year=NA_integer_,Region=NA_integer_,ProvinceCode=NA_real_,
+ tenure=NA_character_,
+ Share=NA_real_)[0]
+
+
+for (year in (Settings$startyear:Settings$endyear)){
+ cat(paste0("\n------------------------------\nYear:", year, "\n"))
+
+
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"HHHouseProperties.rda"))
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"FINALPOORS.rda"))
+
+ MD<-MD[Region=="Urban" ]
+ MD<-merge(MD,HHHouseProperties[,.(HHID,tenure,room,area)],by="HHID")
+ MD2<-MD[,.(.N,Pop=sum(HIndivNo*Weight*Size)),by=.(Region,ProvinceCode,tenure)]
+ MD3<-MD[,.(PopT=sum(HIndivNo*Weight*Size)),by=.(Region,ProvinceCode)]
+ MD2<-merge(MD2,MD3)
+ MD2<-MD2[,Share:=Pop/PopT]
+ MD2[,sum(Share),by=.(Region,ProvinceCode)]
+
+ X2 <- MD2[,.(Region,ProvinceCode,tenure,Share)]
+ X2[,Year:=year]
+ tenure2 <- rbind(tenure2,X2)
+
+
+ X1 <- MD[,.(OwnLandandBuilding=weighted.mean(tenure=="OwnLandandBuilding",Weight),
+ Apartment=weighted.mean(tenure=="Apartment",Weight),
+ Rented=weighted.mean(tenure=="Rented",Weight),
+ Mortgage=weighted.mean(tenure=="Mortgage",Weight),
+ AgainstService=weighted.mean(tenure=="AgainstService",Weight),
+ Free=weighted.mean(tenure=="Free",Weight),
+ Other=weighted.mean(tenure=="Other",Weight)),by=.(Region,ProvinceCode)]
+ X1[,Year:=year]
+
+ tenure <- rbind(tenure,X1)
+
+}
+
+ggplot(tenure2, aes(fill=tenure, y=Share, x=Year)) +
+ geom_bar(position="dodge", stat="identity") + xlim(89, 98) +
+ ggtitle("Types of House")
+
+endtime <- proc.time()
+cat("\n\n============================\nIt took ")
+cat(endtime-starttime)
diff --git a/R/Archive/June 2020 (removed code files)/House price.R b/R/Archive/June 2020 (removed code files)/House price.R
new file mode 100644
index 00000000..1f91c580
--- /dev/null
+++ b/R/Archive/June 2020 (removed code files)/House price.R
@@ -0,0 +1,60 @@
+# House price.R
+#
+# Copyright © 2019: Arin Shahbazian
+# Licence: GPL-3
+
+rm(list=ls())
+
+starttime <- proc.time()
+cat("\n\n================ House price =====================================\n")
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+library(readxl)
+library(data.table)
+library(ggplot2)
+library(stats)
+library(spatstat)
+
+
+PriceResults <- data.table(Year=NA_integer_,MeterPrice=NA_real_,
+ cluster3=NA_integer_)[0]
+
+for(year in (Settings$startyear:Settings$endyear)){
+ cat(paste0("\nYear:",year,"\t"))
+
+ # load data --------------------------------------
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"FINALPOORS.rda"))
+ MD<-MD[FinalPoor==1]
+ #MD<-MD[Region=="Rural"]
+
+
+
+ ################Cluster##################
+ X1 <- MD[,.(MeterPrice=weighted.mean(MetrPrice,Weight,na.rm = TRUE)),by=cluster3]
+
+ X1[,Year:=year]
+
+ PriceResults <- rbind(PriceResults,X1)
+
+
+}
+
+save(PriceResults,file=paste0(Settings$HEISProcessedPath,"PriceResults.rda"))
+
+
+ggplot(PriceResults)+
+ geom_line(mapping = aes(x=Year,y=MeterPrice,col=factor(cluster3)))
+
+PriceResults<-PriceResults[cluster3>7]
+
+ggplot(PriceResults, aes(fill=cluster3==13, y=MeterPrice, x=Year)) +
+ geom_bar(position="dodge", stat="identity")+
+ theme(axis.title.x=element_blank(),
+ axis.title.y=element_blank(),)
+
+
+endtime <- proc.time()
+cat("\n\n============================\nIt took ")
+cat((endtime-starttime)["elapsed"])
+cat(" seconds")
\ No newline at end of file
diff --git a/R/Archive/June 2020 (removed code files)/Income.R b/R/Archive/June 2020 (removed code files)/Income.R
new file mode 100644
index 00000000..d25bb334
--- /dev/null
+++ b/R/Archive/June 2020 (removed code files)/Income.R
@@ -0,0 +1,66 @@
+# Income
+
+# households working in public sector.
+#
+# Copyright © 2017-2019: Arin Shahbazian
+# Licence: GPL-3
+
+rm(list=ls())
+
+starttime <- proc.time()
+cat("\n\n================ Income =====================================\n")
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+library(data.table)
+library(stringr)
+library(readxl)
+
+
+
+for(year in (Settings$startyear:Settings$endyear)){
+ cat(paste0("\n------------------------------\nYear:",year,"\n"))
+ load(file = paste0(Settings$HEISProcessedPath,"Y",year,"Pub1.rda"))
+ load(file = paste0(Settings$HEISProcessedPath,"Y",year,"Pub2.rda"))
+ names(Pub2)<-c("HHID","IndPub")
+ load(file = paste0(Settings$HEISProcessedPath,"Y",year,"Prv1.rda"))
+ load(file = paste0(Settings$HEISProcessedPath,"Y",year,"Prv2.rda"))
+ names(Prv2)<-c("HHID","IndPrv")
+ load(file = paste0(Settings$HEISProcessedPath,"Y",year,"Buss1.rda"))
+ load(file = paste0(Settings$HEISProcessedPath,"Y",year,"Buss2.rda"))
+ names(Buss2)<-c("HHID","IndBuss")
+ load(file = paste0(Settings$HEISProcessedPath,"Y",year,"Agri1.rda"))
+ load(file = paste0(Settings$HEISProcessedPath,"Y",year,"Agri2.rda"))
+ names(Agri2)<-c("HHID","IndAgri")
+
+ Pub2<-Pub2[IndPub==2]
+ Prv2<-Prv2[IndPrv==2]
+ Buss2<-Buss2[IndBuss==2]
+ Agri2<-Agri2[IndAgri==2]
+
+ WomanEmployed<-merge(Pub2,Prv2,all = TRUE)
+ WomanEmployed<-merge(WomanEmployed,Buss2,all = TRUE)
+ WomanEmployed<-merge(WomanEmployed,Agri2,all = TRUE)
+ WomanEmployed[is.na(WomanEmployed)] <- 0
+ WomanEmployed[,indivsum:=1]
+ WomanEmployed<-WomanEmployed[,.(HHID,indivsum)]
+ save(WomanEmployed, file = paste0(Settings$HEISProcessedPath,"Y",year,"WomanEmployed.rda"))
+
+ Pub1<-Pub1[PubEarners<3]
+ Prv1<-Prv1[PrvEarners<3]
+ Buss1<-Buss1[BussEarners<3]
+ Agri1<-Agri1[AgriEarners<3]
+
+ NumberEmployed<-merge(Pub1,Prv1,all = TRUE)
+ NumberEmployed<-merge(NumberEmployed,Buss1,all = TRUE)
+ NumberEmployed<-merge(NumberEmployed,Agri1,all = TRUE)
+ NumberEmployed[is.na(NumberEmployed)] <- 0
+ NumberEmployed[,numbersum:=PubEarners+PrvEarners+BussEarners+AgriEarners]
+ NumberEmployed<-NumberEmployed[,.(HHID,numbersum)]
+ NumberEmployed<-NumberEmployed[numbersum<3]
+ save(NumberEmployed, file = paste0(Settings$HEISProcessedPath,"Y",year,"NumberEmployed.rda"))
+
+}
+endtime <- proc.time()
+cat("\n\n============================\nIt took ")
+cat(endtime-starttime)
diff --git a/R/Archive/June 2020 (removed code files)/InflationPovertyLine.R b/R/Archive/June 2020 (removed code files)/InflationPovertyLine.R
new file mode 100644
index 00000000..4b24ad66
--- /dev/null
+++ b/R/Archive/June 2020 (removed code files)/InflationPovertyLine.R
@@ -0,0 +1,134 @@
+#InflationPvertyLine
+#Calculate Poverty Line Based on Inflation
+#Zahra Shahidi
+#2019
+
+
+rm(list=ls())
+
+starttime <- proc.time()
+cat("\n\n================ Poverty Line =====================================\n")
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+library(readxl)
+library(data.table)
+library(ggplot2)
+library(stats)
+library(spatstat)
+
+FinalCountryResults <- data.table(Year=NA_integer_,PovertyLine=NA_real_,PovertyHCR=NA_real_,
+ PovertyGap=NA_real_,PovertyDepth=NA_real_)[0]
+FinalRegionResults <- data.table(Year=NA_integer_,Region=NA_integer_,PovertyLine=NA_real_,PovertyHCR=NA_real_,
+ PovertyGap=NA_real_,PovertyDepth=NA_real_)[0]
+FinalClusterResults <- data.table(Year=NA_integer_,cluster3=NA_integer_,MetrPrice=NA_real_,
+ House_Share=NA_real_,
+ SampleSize=NA_integer_,
+ Engle=NA_integer_,FPLine=NA_integer_,
+ PovertyLine=NA_real_,PovertyHCR=NA_real_,
+ PovertyGap=NA_real_,PovertyDepth=NA_real_)[0]
+inflation <- as.data.table(read_excel("~/GitHub/IRHEIS/Data/ProvinceCPI.xlsx",
+ sheet = "Province"))
+load(file=paste0(Settings$HEISProcessedPath,"Province.rda"))
+for(year in (Settings$startyear:Settings$endyear)){
+ cat(paste0("\nYear:",year,"\t"))
+
+ # load data --------------------------------------
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"FinalFoodPoor.rda"))
+ if(year!=95){
+
+
+ #MD<-MD[Region=="Rural"]
+
+ Fin<-FinalProvinceResults[Year==95]
+
+ I<-inflation[Year==year]
+ Fin<-merge(Fin,I[,.(ProvinceCode,total)],by=c("ProvinceCode"))
+ Fin<-Fin[,PL:=PovertyLine*total/100]
+ EngleD<-FinalProvinceResults[Year==year]
+ EngleD<-merge(EngleD,Fin[,.(ProvinceCode,PL)],by=c("ProvinceCode"))
+ EngleD[,PovertyLine:=PL]
+ }else{
+ EngleD<- MD[ TOriginalFoodExpenditure_Per>0.8*FPLine & TOriginalFoodExpenditure_Per<1.2*FPLine,
+ .(.N,Engel=weighted.mean(TOriginalFoodExpenditure/Total_Exp_Month,Weight),
+ FPLine=mean(FPLine)),by=.(ProvinceCode)]
+ EngleD[,PovertyLine:=FPLine/Engel]
+
+
+ }
+ FF<-inflation[Year==year]
+ EngleD<-merge(EngleD,FF[,.(ProvinceCode,total)])
+ MD <- merge(MD,EngleD[,.(ProvinceCode,PovertyLine,Engel,total)],by=c("ProvinceCode"))
+ MD<-MD[,Total_Exp_Month_Per:=Total_Exp_Month_Per]
+ MD[,FinalPoor:=ifelse(Total_Exp_Month_Per < PovertyLine,1,0 )]
+ MD<-MD[,HHEngle:=TOriginalFoodExpenditure/Total_Exp_Month,Weight]
+ save(MD,file=paste0(Settings$HEISProcessedPath,"Y",year,"FINALPOORS.rda"))
+
+
+ MD[,FGT1M:=(PovertyLine-Total_Exp_Month_Per)/PovertyLine]
+ MD[,FGT2M:=((PovertyLine-Total_Exp_Month_Per)/PovertyLine)^2]
+
+ ################Country##################
+
+ X1 <- MD[,.(PovertyLine=weighted.mean(PovertyLine,Weight*Size),
+ PovertyHCR=weighted.mean(FinalPoor,Weight*Size))]
+ X2 <- MD[FinalPoor==1,.(PovertyGap=weighted.mean(FGT1M,Weight*Size),
+ PovertyDepth=weighted.mean(FGT2M,Weight*Size))]
+ X1[,Year:=year]
+ X2[,Year:=year]
+ X <- merge(X1,X2,by="Year")
+ FinalCountryResults <- rbind(FinalCountryResults,X)
+
+ ################Region##################
+ X1 <- MD[,.(PovertyLine=weighted.mean(PovertyLine,Weight*Size),
+ PovertyHCR=weighted.mean(FinalPoor,Weight*Size)),by=Region]
+ X2 <- MD[FinalPoor==1,.(PovertyGap=weighted.mean(FGT1M,Weight*Size),
+ PovertyDepth=weighted.mean(FGT2M,Weight*Size)),by=Region]
+ X1[,Year:=year]
+ X2[,Year:=year]
+ X <- merge(X1,X2,by=c("Year","Region"))
+ FinalRegionResults <- rbind(FinalRegionResults,X)
+
+ ################Cluster##################
+ X1 <- MD[,.(SampleSize=.N,MetrPrice=weighted.mean(MetrPrice,Weight,na.rm = TRUE),
+ House_Share=weighted.mean(ServiceExp/Total_Exp_Month,Weight),
+ Engle=weighted.mean(TOriginalFoodExpenditure/Total_Exp_Month,Weight),
+ FPLine=weighted.mean(FPLine,Weight),
+ PovertyLine=weighted.mean(PovertyLine,Weight*Size),
+ PovertyHCR=weighted.mean(FinalPoor,Weight*Size)),by=cluster3]
+ X2 <- MD[FinalPoor==1,.(PovertyGap=weighted.mean(FGT1M,Weight*Size),
+ PovertyDepth=weighted.mean(FGT2M,Weight*Size)),by=cluster3]
+
+
+ X1[,Year:=year]
+ X2[,Year:=year]
+ X <- merge(X1,X2,by=c("Year","cluster3"))
+ FinalClusterResults <- rbind(FinalClusterResults,X)
+
+ cat(MD[, weighted.mean(FinalPoor,Weight*Size)])
+ #cat(MD[TOriginalFoodExpenditure_Per>0.8*FPLine &
+ # TOriginalFoodExpenditure_Per<1.2*FPLine &
+ # Region=="Rural" & NewArea==11,
+ # weighted.mean(Engel,Weight)])
+
+
+}
+save(FinalClusterResults,file=paste0(Settings$HEISProcessedPath,"FinalClusterResultsI.rda"))
+save(FinalCountryResults,file=paste0(Settings$HEISProcessedPath,"FinalCountryResultsI.rda"))
+FinalCountryResults1<-FinalCountryResults[,name:=as.factor(0)]
+
+load(file=paste0(Settings$HEISProcessedPath,"FinalCountryResults.rda"))
+FinalCountryResults<-FinalCountryResults[,name:=as.factor(1)]
+FinalCountryResults<-rbind(FinalCountryResults,FinalCountryResults1)
+FinalCountryResults<-FinalCountryResults[,Year:=as.factor(Year)]
+FinalClusterResults<-FinalClusterResults[,Year:=as.factor(Year)]
+FinalClusterResults<-FinalClusterResults[,cluster3:=as.factor(cluster3)]
+
+ggplot(data=FinalCountryResults,aes(x=Year, y=PovertyHCR, group=name, colour=name))+geom_line()
+
+ggplot(data=FinalCountryResults,aes(x=Year, y=PovertyHCR))+geom_line()
+
+endtime <- proc.time()
+cat("\n\n============================\nIt took ")
+cat((endtime-starttime)["elapsed"])
+cat(" seconds")
\ No newline at end of file
diff --git a/R/Archive/June 2020 (removed code files)/Merge data.R b/R/Archive/June 2020 (removed code files)/Merge data.R
new file mode 100644
index 00000000..d9f618c5
--- /dev/null
+++ b/R/Archive/June 2020 (removed code files)/Merge data.R
@@ -0,0 +1,306 @@
+
+rm(list=ls())
+
+starttime <- proc.time()
+cat("\n\n================ Merge Data =====================================\n")
+
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+library(readxl)
+library(stringr)
+library(data.table)
+library(ggplot2)
+library(spatstat)
+
+for(year in (Settings$startyear:Settings$endyear)){
+ cat(paste0("\n------------------------------\nYear:",year,"\n"))
+
+ #load Demos+FoodPrices+Weights
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"HHBase.rda"))
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"lactating.rda"))
+ HHBase<-merge(HHBase,lactating,by="HHID")
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"Calorie_Need.rda"))
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"HHI.rda"))
+ #load(file=paste0(Settings$HEISProcessedPath,"Y",year,"BigFoodPrice.rda"))
+ load(file=paste0(Settings$HEISWeightsPath,Settings$HEISWeightFileName,year,".rda"))
+ HHWeights<- as.data.table(HHWeights)
+ HHWeights<-HHWeights[,HHID:=as.numeric(HHID)]
+ HHWeights[,Year:=NULL]
+
+
+
+ #load Expenditures
+
+ for(G in c("Foods","Cigars","Cloths","Amusements","Communications",
+ "Durables", "Education", "Furnitures","HotelRestaurants",
+ "HouseandEnergys","House", "Medicals","Hygienes","Transportations","Others",
+ "Resturants"
+ )){
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,G,".rda"))
+ load(file = paste0(Settings$HEISProcessedPath,"Y",year,"NonFreeDurableData.rda"))
+
+ }
+
+ # load(file=paste0(Settings$HEISProcessedPath,"Y",year,"Added_Food.rda"))
+
+ #load Calories
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"Food_Calories.rda"))
+ FData[,Region:=NULL]
+ #for (col in c("FoodKCaloriesHH")) FData[is.na(get(col)), (col) := 0]
+ FData <- FData[FoodKCaloriesHH>0]
+
+ #merge groups
+ MD<-merge(HHBase,HHI ,by =c("HHID"),all=TRUE)
+ FData[,Size:=NULL]
+ MD<-merge(MD,FData ,by =c("HHID"),all=TRUE)
+ MD<-merge(MD,HHWeights ,by =c("HHID"),all=TRUE)
+ MD<-merge(MD,FoodData,by =c("HHID"),all=TRUE)
+ # MD<-merge(MD,Added_Food,by =c("HHID"),all=TRUE)
+ MD<-merge(MD,CigarData,by =c("HHID"),all=TRUE)
+ MD<-merge(MD,ClothData,by =c("HHID"),all=TRUE)
+ MD<-merge(MD,AmusementData,by =c("HHID"),all=TRUE)
+ MD<-merge(MD,CommunicationData,by =c("HHID"),all=TRUE)
+ MD<-merge(MD,EducData,by =c("HHID"),all=TRUE)
+ MD<-merge(MD,HouseandEnergyData,by =c("HHID"),all=TRUE)
+ MD<-merge(MD,HouseData,by =c("HHID"),all=TRUE)
+ MD<-merge(MD,FurnitureData,by =c("HHID"),all=TRUE)
+ MD<-merge(MD,HotelRestaurantData,by =c("HHID"),all=TRUE)
+ MD<-merge(MD,HygieneData,by =c("HHID"),all=TRUE)
+ MD<-merge(MD,TransportationData,by =c("HHID"),all=TRUE)
+ #MD<-merge(MD,BenzinData,by =c("HHID"),all=TRUE)
+ #MD<-merge(MD,GazData,by =c("HHID"),all=TRUE)
+ #MD<-merge(MD,BarghData,by =c("HHID"),all=TRUE)
+ #MD<-merge(MD,NaftSefidData,by =c("HHID"),all=TRUE)
+ MD<-merge(MD,OtherData,by =c("HHID"),all=TRUE)
+ MD<-merge(MD,MedicalData,by =c("HHID"),all=TRUE)
+ MD<-merge(MD,NonFreeDurableData,by =c("HHID"),all=TRUE)
+ MD<-merge(MD,ResturantData,by =c("HHID"),all=TRUE)
+ #MD<-merge(MD,InvestmentData,by =c("HHID"),all=TRUE)
+ for (col in c("OriginalFoodExpenditure","FoodExpenditure","FoodOtherExpenditure", "Cigar_Exp", "Cloth_Exp", "Amusement_Exp",
+ "Communication_Exp", "Education_Exp", "HouseandEnergy_Exp",
+ "Furniture_Exp", "HotelRestaurant_Exp", "Hygiene_Exp", "Transportation_Exp",
+ "Other_Exp", "Medical_Exp", "NonFreeDurable_Exp",
+ "Resturant_Exp","ServiceExp"
+ ))
+ MD[is.na(get(col)), (col) := 0]
+ # MD<-MD[,Yaraneh:=416000*Size]
+
+ MD<-merge(MD,Calorie_Need)
+
+ #load(file=paste0(Settings$HEISProcessedPath,"Y",year,"Durablele_Detail.rda"))
+ #MD<-merge(MD,Durablele_Detail)
+
+
+
+ cpi97 <- read_excel("C:/Users/pc1/Desktop/cpi97.xlsx")
+ cpi97<-as.data.table(cpi97)
+ cpi97<-cpi97[Month>0]
+ cpi97<-cpi97[,Year:=NULL]
+ cpi97<-cpi97[,PeriodYear:=NULL]
+ cpi97<-cpi97[,.(Month,FoodDrink_Index,Cigar_Index,Cloth_Index,HouseEnergy_Index,
+ Furniture_Index,Hygiene_Index,Transportation_Index,
+ Communication_Index,Amusement_Index,Hotel_Index,
+ Other_Index,Durable_Index,Total_Index)]
+
+ MD<-merge(MD,cpi97,by=c("Month"),all.x=TRUE)
+
+ FoodDrink_Index98<-219.7
+ Cigar_Index98<-281.1
+ Cloth_Index98<-197.8
+ HouseEnergy_Index98<-155.1
+ Furniture_Index98<-225.1
+ Hygiene_Index98<-158.1
+ Transportation_Index98<-195.9
+ Communication_Index98<-146.7
+ Amusement_Index98<-224.5
+ Hotel_Index98<-182.0
+ Other_Index98<-199.5
+ Durable_Index98<-259.2
+ Total_Index98<-185.1
+
+ #Calculate Monthly Total Expenditures
+ nw <- c("FoodExpenditure", "Cigar_Exp", "Cloth_Exp",
+ "Amusement_Exp", "Communication_Exp",
+ "HouseandEnergy_Exp", "Furniture_Exp", "HotelRestaurant_Exp", "Hygiene_Exp",
+ "Transportation_Exp", "Other_Exp" )
+ #w <- c(nw, "Medical_Exp", "Remain_Durable")
+ w <- c(nw, "Medical_Exp", "NonFreeDurable_Exp")
+ #w <- c(nw, "Medical_Exp", "Durable_Pure_Exp")
+ # pw <- c(nw, "Added_Food_Exp_Month")
+ #Lw <- c(pw, "Medical_Exp", "Durable_Exp")
+
+ MD<-MD[,FoodExpenditure:=FoodExpenditure*FoodDrink_Index98/FoodDrink_Index]
+ MD<-MD[,OriginalFoodExpenditure:=OriginalFoodExpenditure*FoodDrink_Index98/FoodDrink_Index]
+ MD<-MD[,Cigar_Exp:=Cigar_Exp*Cigar_Index98/Cigar_Index]
+ MD<-MD[,Cloth_Exp:=Cloth_Exp*Cloth_Index98/Cloth_Index]
+ MD<-MD[,HouseandEnergy_Exp:=HouseandEnergy_Exp*HouseEnergy_Index98/HouseEnergy_Index]
+ MD<-MD[,Furniture_Exp:=Furniture_Exp*Furniture_Index98/Furniture_Index]
+ MD<-MD[,Hygiene_Exp:=Hygiene_Exp*Hygiene_Index98/Hygiene_Index]
+ MD<-MD[,Medical_Exp:=Medical_Exp*Hygiene_Index98/Hygiene_Index]
+ MD<-MD[,Transportation_Exp:=Transportation_Exp*Transportation_Index98/Transportation_Index]
+ MD<-MD[,Communication_Exp:=Communication_Exp*Communication_Index98/Communication_Index]
+ MD<-MD[,Amusement_Exp:=Amusement_Exp*Amusement_Index98/Amusement_Index]
+ MD<-MD[,HotelRestaurant_Exp:=HotelRestaurant_Exp*Hotel_Index98/Hotel_Index]
+ MD<-MD[,Other_Exp:=Other_Exp*Other_Index98/Other_Index]
+ MD<-MD[,NonFreeDurable_Exp:=NonFreeDurable_Exp*Durable_Index98/Durable_Index]
+
+ MD[is.na(MD)] <- 0
+
+ MD[, Total_Exp_Month := Reduce(`+`, .SD), .SDcols=w]
+ MD[, Total_Exp_Month_nondurable := Reduce(`+`, .SD), .SDcols=nw]
+
+ MD[,weighted.mean(Total_Exp_Month,Weight)]
+ MD[,weighted.mean(Total_Exp_Month_nondurable,Weight)]
+
+ save(MD, file=paste0(Settings$HEISProcessedPath,"Y",year,"Merged4CBN198.rda"))
+ cat(MD[,weighted.mean(Total_Exp_Month,Weight)])
+
+ x<-MD[,.(FoodExpenditure,OriginalFoodExpenditure,FoodExpenditure-OriginalFoodExpenditure)]
+}
+
+
+for(year in (Settings$startyear:Settings$endyear)){
+ cat(paste0("\n------------------------------\nYear:",year,"\n"))
+ cat("\n")
+
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"Merged4CBN198.rda"))
+
+ MD[,Total_Exp_Month_Per:=Total_Exp_Month/EqSizeOECD]
+ MD[,Total_Exp_Month_Per_nondurable:=Total_Exp_Month_nondurable/EqSizeOECD]
+
+
+ #MD<-merge(MD,BigFoodPrice,by=c("NewArea","Region"),all.x = TRUE)
+ MD<-MD[Size!=0 & OriginalFoodExpenditure!=0 & !is.na(FoodKCaloriesHH)]
+ #MD[,Home_Per_Metr:=MetrPrice/EqSizeOECD]
+
+ #Calculate Per Values
+ MD[,EqSizeCalory3 :=(Size-NKids) + NKids*(Settings$KCaloryNeed_Child/Settings$KCaloryNeed_Adult)]
+
+ MD[,EqSizeCalory :=
+ NAge1B *(Settings$ KCaloryNeed_B1 /Calorie_Need_WorldBank)+
+ NAge2B *(Settings$ KCaloryNeed_B2 /Calorie_Need_WorldBank)+
+ NAge3B *(Settings$ KCaloryNeed_B3 /Calorie_Need_WorldBank)+
+ NAge4B *(Settings$ KCaloryNeed_B4 /Calorie_Need_WorldBank)+
+ NAge5B *(Settings$ KCaloryNeed_B5 /Calorie_Need_WorldBank)+
+ NAge6B *(Settings$ KCaloryNeed_B6 /Calorie_Need_WorldBank)+
+ NAge7B *(Settings$ KCaloryNeed_B7 /Calorie_Need_WorldBank)+
+ NAge8B *(Settings$ KCaloryNeed_B8 /Calorie_Need_WorldBank)+
+ NAge9B *(Settings$ KCaloryNeed_B9 /Calorie_Need_WorldBank)+
+ NAge10B *(Settings$ KCaloryNeed_B10 /Calorie_Need_WorldBank)+
+ NAge1G *(Settings$ KCaloryNeed_G1 /Calorie_Need_WorldBank)+
+ NAge2G *(Settings$ KCaloryNeed_G2 /Calorie_Need_WorldBank)+
+ NAge3G *(Settings$ KCaloryNeed_G3 /Calorie_Need_WorldBank)+
+ NAge4G *(Settings$ KCaloryNeed_G4 /Calorie_Need_WorldBank)+
+ NAge5G *(Settings$ KCaloryNeed_G5 /Calorie_Need_WorldBank)+
+ NAge6G *(Settings$ KCaloryNeed_G6 /Calorie_Need_WorldBank)+
+ NAge7G *(Settings$ KCaloryNeed_G7 /Calorie_Need_WorldBank)+
+ NAge8G *(Settings$ KCaloryNeed_G8 /Calorie_Need_WorldBank)+
+ NAge9G *(Settings$ KCaloryNeed_G9 /Calorie_Need_WorldBank)+
+ NAge10G *(Settings$ KCaloryNeed_G10 /Calorie_Need_WorldBank)+
+ lactating*(Settings$KCaloryNeed_lactating/Calorie_Need_WorldBank)]
+
+ MD[,EqSizeCalory2 :=
+ NAge1_A_B*(Settings$KCaloryNeed_A_B1/Calorie_Need_Anstitoo) +
+ NAge2_A_B*(Settings$KCaloryNeed_A_B2/Calorie_Need_Anstitoo) +
+ NAge3_A_B*(Settings$KCaloryNeed_A_B3/Calorie_Need_Anstitoo) +
+ NAge4_A_B*(Settings$KCaloryNeed_A_B4/Calorie_Need_Anstitoo) +
+ NAge5_A_B*(Settings$KCaloryNeed_A_B5/Calorie_Need_Anstitoo) +
+ NAge6_A_B*(Settings$KCaloryNeed_A_B6/Calorie_Need_Anstitoo) +
+ NAge7_A_B*(Settings$KCaloryNeed_A_B7/Calorie_Need_Anstitoo) +
+ NAge8_A_B*(Settings$KCaloryNeed_A_B8/Calorie_Need_Anstitoo) +
+ NAge9_A_B*(Settings$KCaloryNeed_A_B9/Calorie_Need_Anstitoo) +
+ NAge1_A_G*(Settings$KCaloryNeed_A_G1/Calorie_Need_Anstitoo) +
+ NAge2_A_G*(Settings$KCaloryNeed_A_G2/Calorie_Need_Anstitoo) +
+ NAge3_A_G*(Settings$KCaloryNeed_A_G3/Calorie_Need_Anstitoo) +
+ NAge4_A_G*(Settings$KCaloryNeed_A_G4/Calorie_Need_Anstitoo) +
+ NAge5_A_G*(Settings$KCaloryNeed_A_G5/Calorie_Need_Anstitoo) +
+ NAge6_A_G*(Settings$KCaloryNeed_A_G6/Calorie_Need_Anstitoo) +
+ NAge7_A_G*(Settings$KCaloryNeed_A_G7/Calorie_Need_Anstitoo) +
+ NAge8_A_G*(Settings$KCaloryNeed_A_G8/Calorie_Need_Anstitoo) +
+ NAge9_A_G*(Settings$KCaloryNeed_A_G9/Calorie_Need_Anstitoo)+
+ lactating*(Settings$KCaloryNeed_lactating/Calorie_Need_Anstitoo)]
+
+ MD[,EqSizeCalory4 :=
+ NAge1B*(Settings$KCaloryNeed_B1/Settings$KCaloryNeed_Adult_WorldBank) +
+ NAge2B*(Settings$KCaloryNeed_B2/Settings$KCaloryNeed_Adult_WorldBank) +
+ NAge3B*(Settings$KCaloryNeed_B3/Settings$KCaloryNeed_Adult_WorldBank) +
+ NAge4B*(Settings$KCaloryNeed_B4/Settings$KCaloryNeed_Adult_WorldBank) +
+ NAge5B*(Settings$KCaloryNeed_B5/Settings$KCaloryNeed_Adult_WorldBank) +
+ NAge6B*(Settings$KCaloryNeed_B6/Settings$KCaloryNeed_Adult_WorldBank) +
+ NAge7B*(Settings$KCaloryNeed_B7/Settings$KCaloryNeed_Adult_WorldBank) +
+ NAge8B*(Settings$KCaloryNeed_B8/Settings$KCaloryNeed_Adult_WorldBank) +
+ NAge9B*(Settings$KCaloryNeed_B9/Settings$KCaloryNeed_Adult_WorldBank) +
+ NAge10B*(Settings$KCaloryNeed_B10/Settings$KCaloryNeed_Adult_WorldBank)+
+ NAge1G*(Settings$KCaloryNeed_G1/Settings$KCaloryNeed_Adult_WorldBank) +
+ NAge2G*(Settings$KCaloryNeed_G2/Settings$KCaloryNeed_Adult_WorldBank) +
+ NAge3G*(Settings$KCaloryNeed_G3/Settings$KCaloryNeed_Adult_WorldBank) +
+ NAge4G*(Settings$KCaloryNeed_G4/Settings$KCaloryNeed_Adult_WorldBank) +
+ NAge5G*(Settings$KCaloryNeed_G5/Settings$KCaloryNeed_Adult_WorldBank) +
+ NAge6G*(Settings$KCaloryNeed_G6/Settings$KCaloryNeed_Adult_WorldBank) +
+ NAge7G*(Settings$KCaloryNeed_G7/Settings$KCaloryNeed_Adult_WorldBank) +
+ NAge8G*(Settings$KCaloryNeed_G8/Settings$KCaloryNeed_Adult_WorldBank) +
+ NAge9G*(Settings$KCaloryNeed_G9/Settings$KCaloryNeed_Adult_WorldBank) +
+ NAge10G*(Settings$KCaloryNeed_G10/Settings$KCaloryNeed_Adult_WorldBank)+
+ lactating*(Settings$KCaloryNeed_lactating/Settings$KCaloryNeed_Adult_WorldBank)]
+
+ MD[,EqSizeCalory5 :=
+ NAge1_A_B*(Settings$KCaloryNeed_A_B1/Settings$KCaloryNeed_Adult_Anstitoo) +
+ NAge2_A_B*(Settings$KCaloryNeed_A_B2/Settings$KCaloryNeed_Adult_Anstitoo) +
+ NAge3_A_B*(Settings$KCaloryNeed_A_B3/Settings$KCaloryNeed_Adult_Anstitoo) +
+ NAge4_A_B*(Settings$KCaloryNeed_A_B4/Settings$KCaloryNeed_Adult_Anstitoo) +
+ NAge5_A_B*(Settings$KCaloryNeed_A_B5/Settings$KCaloryNeed_Adult_Anstitoo) +
+ NAge6_A_B*(Settings$KCaloryNeed_A_B6/Settings$KCaloryNeed_Adult_Anstitoo) +
+ NAge7_A_B*(Settings$KCaloryNeed_A_B7/Settings$KCaloryNeed_Adult_Anstitoo) +
+ NAge8_A_B*(Settings$KCaloryNeed_A_B8/Settings$KCaloryNeed_Adult_Anstitoo) +
+ NAge9_A_B*(Settings$KCaloryNeed_A_B9/Settings$KCaloryNeed_Adult_Anstitoo) +
+ NAge1_A_G*(Settings$KCaloryNeed_A_G1/Settings$KCaloryNeed_Adult_Anstitoo) +
+ NAge2_A_G*(Settings$KCaloryNeed_A_G2/Settings$KCaloryNeed_Adult_Anstitoo) +
+ NAge3_A_G*(Settings$KCaloryNeed_A_G3/Settings$KCaloryNeed_Adult_Anstitoo) +
+ NAge4_A_G*(Settings$KCaloryNeed_A_G4/Settings$KCaloryNeed_Adult_Anstitoo) +
+ NAge5_A_G*(Settings$KCaloryNeed_A_G5/Settings$KCaloryNeed_Adult_Anstitoo) +
+ NAge6_A_G*(Settings$KCaloryNeed_A_G6/Settings$KCaloryNeed_Adult_Anstitoo) +
+ NAge7_A_G*(Settings$KCaloryNeed_A_G7/Settings$KCaloryNeed_Adult_Anstitoo) +
+ NAge8_A_G*(Settings$KCaloryNeed_A_G8/Settings$KCaloryNeed_Adult_Anstitoo) +
+ NAge9_A_G*(Settings$KCaloryNeed_A_G9/Settings$KCaloryNeed_Adult_Anstitoo)+
+ lactating*(Settings$KCaloryNeed_lactating/Settings$KCaloryNeed_Adult_Anstitoo)]
+
+ save(MD, file=paste0(Settings$HEISProcessedPath,"Y",year,"Merged4CBN298.rda"))
+}
+
+for(year in (Settings$startyear:Settings$endyear)){
+ cat(paste0("\n------------------------------\nYear:",year,"\n"))
+
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"Merged4CBN298.rda"))
+
+
+ #MD[,Relative_Calorie1 :=FoodKCaloriesHH/Calorie_Need1]
+ #MD[,Relative_Calorie2 :=FoodKCaloriesHH/Calorie_Need2]
+ MD[,OriginalFoodExpenditure_Per :=OriginalFoodExpenditure/EqSizeCalory]
+ MD[,FoodKCaloriesHH_Per:=FoodKCaloriesHH/EqSizeCalory]
+ MD[,FoodProtein_Per:=FoodProteinHH/EqSizeCalory]
+
+ #Calculate per_Calory from resturants
+ MD[,Calory_Price:=(OriginalFoodExpenditure_Per/FoodKCaloriesHH_Per)]
+ MD[,Calory_Price_Area:=weighted.median(Calory_Price,Weight,na.rm = TRUE),by=.(Region,NewArea)]
+ MD[,ResturantKCalories:=(Settings$OutFoodKCXShare*Resturant_Exp)/Calory_Price_Area]
+ for (col in c("ResturantKCalories")) MD[is.na(get(col)), (col) := 0]
+ MD[,TFoodKCaloriesHH:=FoodKCaloriesHH+ResturantKCalories]
+ MD[,TOriginalFoodExpenditure:=OriginalFoodExpenditure+Resturant_Exp]
+
+ MD[,TOriginalFoodExpenditure_Per :=TOriginalFoodExpenditure/EqSizeCalory]
+ MD[,TFoodKCaloriesHH_Per:=TFoodKCaloriesHH/EqSizeCalory]
+
+ ##############################################################
+
+ save(MD, file=paste0(Settings$HEISProcessedPath,"Y",year,"Merged4CBN398.rda"))
+
+
+}
+
+
+
+
+endtime <- proc.time()
+cat("\n\n============================\nIt took ")
+cat(endtime-starttime)
\ No newline at end of file
diff --git a/R/Archive/June 2020 (removed code files)/Moving Average Engel.R b/R/Archive/June 2020 (removed code files)/Moving Average Engel.R
new file mode 100644
index 00000000..5dafd82e
--- /dev/null
+++ b/R/Archive/June 2020 (removed code files)/Moving Average Engel.R
@@ -0,0 +1,185 @@
+#Moving Average Engel
+#New Poverty Results Using Moving Average Engel
+#Zahra Shahidi
+#2019
+
+rm(list=ls())
+
+starttime <- proc.time()
+
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+library(writexl)
+library(readxl)
+library(data.table)
+library(ggplot2)
+library(stats)
+library(pracma)
+library(tidyverse)
+library(lubridate)
+library(fpp2)
+library(zoo)
+library(smooth)
+library(plotrix)
+library(Hmisc)
+library(gridExtra)
+library(dplyr)
+load(file=paste0(Settings$HEISProcessedPath,"FinalClusterResults.rda"))
+
+FinalClusterResults<-FinalClusterResults[order(cluster3,Year)]
+for(Cluster3 in (1:13)){
+ m<-FinalClusterResults[cluster3==Cluster3]
+ m<-m[,MA_Engel:=movavg(x=m$Engle,n=5,type = "s")]
+ if (Cluster3==1){
+ s<-m
+ }else{
+ s<-rbind(s,m)
+ }
+}
+s<-s[,MA_PovertyLine:=FPLine/MA_Engel]
+
+FinalCountryResults <- data.table(Year=NA_integer_,MA_Engel=NA_integer_,
+ Calory_Price_Area=NA_integer_,FoodPoverty=NA_integer_,
+ FPLine=NA_integer_,
+ MA_PovertyLine=NA_real_,PovertyHCR=NA_real_)[0]
+FinalRegionResults <- data.table(Year=NA_integer_,Region=NA_integer_,
+ Calory_Price_Area=NA_integer_,
+ MA_Engel=NA_integer_,
+ FoodPoverty=NA_integer_,FPLine=NA_integer_,
+ MA_PovertyLine=NA_real_,PovertyHCR=NA_real_)[0]
+FinalClusterResults <- data.table(Year=NA_integer_,cluster3=NA_integer_,MetrPrice=NA_real_,
+ House_Share=NA_real_,
+ SampleSize=NA_integer_,
+ Engle=NA_integer_,FPLine=NA_integer_,
+ MA_PovertyLine=NA_real_,PovertyHCR=NA_real_,
+ PovertyGap=NA_real_,PovertyDepth=NA_real_)[0]
+
+FinalProvinceResults<-data.table(Year=NA_integer_,ProvinceCode=NA_integer_,MA_Engel=NA_integer_,
+ Calory_Price_Area=NA_integer_,FoodPoverty=NA_integer_,
+ FPLine=NA_integer_,
+ MA_PovertyLine=NA_real_,PovertyHCR=NA_real_)[0]
+for(year in (Settings$startyear:Settings$endyear)){
+ cat(paste0("\nYear:",year,"\t"))
+
+ # load data --------------------------------------
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"FinalFoodPoor.rda"))
+
+ #MD<-MD[Region=="Rural"]
+
+ EngleD <- MD[ TOriginalFoodExpenditure_Per>0.8*FPLine & TOriginalFoodExpenditure_Per<1.2*FPLine,
+ .(.N,Engel=weighted.mean(TOriginalFoodExpenditure/Total_Exp_Month,Weight),
+ FPLine=mean(FPLine)),by=.(Region,cluster3)]
+ f<-s[Year==year]
+ z<-s[Year==year]
+ #MD<-MD[,cluster3:=as.factor(cluster3)]
+ #MD<-merge(MD,s[,.(MA_Engel,cluster3)],by=c("cluster3"),all.x = T)
+ EngleD<-merge(EngleD,f[,.(cluster3,MA_PovertyLine,MA_Engel)],by=c("cluster3"))
+ MD <- merge(MD,EngleD[,.(cluster3,Region,MA_PovertyLine,MA_Engel)],by=c("Region","cluster3"))
+ MD[,FinalPoor:=ifelse(Total_Exp_Month_Per < MA_PovertyLine,1,0 )]
+ MD<-MD[,HHEngle:=TOriginalFoodExpenditure/Total_Exp_Month,Weight]
+ save(MD,file=paste0(Settings$HEISProcessedPath,"Y",year,"FINALPOORS.rda"))
+
+
+ MD[,FGT1M:=(MA_PovertyLine-Total_Exp_Month_Per)/MA_PovertyLine]
+ MD[,FGT2M:=((MA_PovertyLine-Total_Exp_Month_Per)/MA_PovertyLine)^2]
+
+ ################Country##################
+
+ X1 <- MD[,.(FPLine=weighted.mean(FPLine,Weight),MA_Engel=weighted.mean(MA_Engel,Weight),FoodPoverty=weighted.mean(FinalFoodPoor,Weight*Size),
+ MA_PovertyLine=weighted.mean(MA_PovertyLine,Weight*Size),
+ PovertyHCR=weighted.mean(FinalPoor,Weight*Size),
+ Calory_Price_Area=weighted.mean(Calory_Price_Area,Weight))]
+ X2 <- MD[FinalPoor==1,.(PovertyGap=weighted.mean(FGT1M,Weight*Size),
+ PovertyDepth=weighted.mean(FGT2M,Weight*Size))]
+ X1[,Year:=year]
+ X2[,Year:=year]
+ X <-X1
+ FinalCountryResults <- rbind(FinalCountryResults,X)
+
+ ################Region##################
+ X1 <- MD[,.(MA_Engel=weighted.mean(MA_Engel,Weight),FoodPoverty=weighted.mean(FinalFoodPoor,Weight*Size),
+ FPLine=weighted.mean(FPLine,Weight),
+ MA_PovertyLine=weighted.mean(MA_PovertyLine,Weight*Size),
+ PovertyHCR=weighted.mean(FinalPoor,Weight*Size),
+ Calory_Price_Area=weighted.mean(Calory_Price_Area,Weight)),by=Region]
+
+
+ X1[,Year:=year]
+
+ FinalRegionResults<- rbind(FinalRegionResults,X1)
+
+
+ ################Cluster##################
+ X1 <- MD[,.(SampleSize=.N,MetrPrice=weighted.mean(MetrPrice,Weight,na.rm = TRUE),
+ House_Share=weighted.mean(ServiceExp/Total_Exp_Month,Weight),
+ Engle=weighted.mean(TOriginalFoodExpenditure/Total_Exp_Month,Weight),
+ FPLine=weighted.mean(FPLine,Weight),
+ MA_PovertyLine=weighted.mean(MA_PovertyLine,Weight*Size),
+ PovertyHCR=weighted.mean(FinalPoor,Weight*Size)),by=cluster3]
+ X2 <- MD[FinalPoor==1,.(PovertyGap=weighted.mean(FGT1M,Weight*Size),
+ PovertyDepth=weighted.mean(FGT2M,Weight*Size)),by=cluster3]
+
+
+ X1[,Year:=year]
+ X2[,Year:=year]
+ X <- merge(X1,X2,by=c("Year","cluster3"))
+ FinalClusterResults<- rbind(FinalClusterResults,X)
+ ################Province##################
+ X1 <- MD[,.(FPLine=weighted.mean(FPLine,Weight),MA_Engel=weighted.mean(MA_Engel,Weight),FoodPoverty=weighted.mean(FinalFoodPoor,Weight*Size),
+ MA_PovertyLine=weighted.mean(MA_PovertyLine,Weight*Size),
+ PovertyHCR=weighted.mean(FinalPoor,Weight*Size),
+ Calory_Price_Area=weighted.mean(Calory_Price_Area,Weight)),by=c("ProvinceCode")]
+
+
+X1[,Year:=year]
+
+ FinalProvinceResults<- rbind(FinalProvinceResults,X1)
+ FinalProvinceResults<-FinalProvinceResults[order(ProvinceCode)]
+ M<-MD[NewArea<=30,.(ProvinceCode,NewArea_Name)]
+ M<-M[,ProvinceCode:=as.integer(ProvinceCode)]
+ M<-distinct(M)
+ M<-M[NewArea_Name!="Sh_Arak"]
+ #FinalProvinceResults<-merge(FinalProvinceResults,M,by="ProvinceCode")
+ cat(MD[, weighted.mean(FinalPoor,Weight*Size)])
+ #cat(MD[TOriginalFoodExpenditure_Per>0.8*FPLine &
+ # TOriginalFoodExpenditure_Per<1.2*FPLine &
+ # Region=="Rural" & NewArea==11,
+ # weighted.mean(Engel,Weight)])
+
+
+}
+FinalProvinceResults1<-FinalProvinceResults[Year==97]
+write_xlsx(CaloryPrice,path="CaloryPrice.xlsx",col_names=T)
+write_xlsx(M,path="ostan.xlsx",col_names=T)
+
+s<-s[,cluster3:=as.factor(cluster3)]
+s<-s[,Year:=as.factor(Year)]
+
+ggplot(data=FinalClusterResults,aes(x=Year, y=PovertyHCR, group=cluster3, colour=cluster3,type=cluster3))+geom_line()
+FinalCountryResults1<-FinalCountryResults
+FinalCountryResults5<-FinalCountryResults[,name:=as.factor(0)]
+FinalCountryResults1<-FinalCountryResults1[,.(Year,MA_PovertyLine,PovertyHCR,name)]
+
+load(file=paste0(Settings$HEISProcessedPath,"FinalCountryResults.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"FinalClusterResults.rda"))
+FinalCountryResults5<-FinalCountryResults5[,.(PovertyHCR,name,Year)]
+FinalCountryResults<-FinalCountryResults[,.(PovertyHCR,name,Year)]
+
+FinalClusterResults<-FinalClusterResults[,cluster3:=as.factor(cluster3)]
+FinalClusterResults<-FinalClusterResults[,Year:=as.factor(Year)]
+FinalCountryResults<-FinalCountryResults[,Year:=as.factor(Year)]
+
+ggplot(data=FinalCountryResults,aes(x=Year, y=PovertyHCR))+geom_line(group=1)
+FinalCountryResults<-FinalCountryResults[,name:=as.factor(1)]
+
+FinalCountryResults2<-FinalCountryResults2[,PovertyLine:=MA_PovertyLine]
+FinalCountryResults2<-FinalCountryResults2[,.(Year,PovertyLine,PovertyHCR,PovertyGap,PovertyDepth,name)]
+FinalCountryResults2<-FinalCountryResults
+
+FinalCountryResults<-rbind(FinalCountryResults,FinalCountryResults5)
+ggplot(data=FinalCountryResults,aes(x=Year, y=PovertyHCR, group=name, colour=name, type=name))+geom_line()
+
+endtime <- proc.time()
+cat("\n\n============================\nIt took ")
+cat((endtime-starttime)["elapsed"])
+cat(" seconds")
\ No newline at end of file
diff --git a/R/Archive/June 2020 (removed code files)/Moving Average.R b/R/Archive/June 2020 (removed code files)/Moving Average.R
new file mode 100644
index 00000000..19f44168
--- /dev/null
+++ b/R/Archive/June 2020 (removed code files)/Moving Average.R
@@ -0,0 +1,78 @@
+# Moving Average.R
+#
+# Copyright © 2019: Arin Shahbazian
+# Licence: GPL-3
+
+rm(list=ls())
+
+starttime <- proc.time()
+cat("\n\n================ Moving Average =====================================\n")
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+library(readxl)
+library(data.table)
+library(ggplot2)
+library(stats)
+library(pracma)
+library(tidyverse)
+library(lubridate)
+library(fpp2)
+library(zoo)
+library(smooth)
+library(plotrix)
+library(Hmisc)
+library(gridExtra)
+
+load(file = "Needed_Calorie.rda")
+
+Needed_Calorie_M_W<-Needed_Calorie[Sex_W=="M",.(Age,Needed_Calorie_W,Sex_W)]
+Needed_Calorie_W_W<-Needed_Calorie[Sex_W=="W",.(Age,Needed_Calorie_W,Sex_W)]
+
+Boy<-as.data.table(ma(Needed_Calorie_M_W$Needed_Calorie_W, order=5, centre = TRUE))
+Boy<-cbind(Needed_Calorie_M_W[,.(Age,Needed_Calorie_W)],Boy)
+Boy[is.na(Boy)] <- 0
+Boy<-Boy[,Smoothed_Needed_Calorie:=ifelse(x>0,x,Needed_Calorie_W)]
+Boy<-Boy[,.(Age,Needed_Calorie_W,Smoothed_Needed_Calorie)]
+
+p1<-ggplot(Boy,aes(Age,Needed_Calorie_W,alpha=0.5))+geom_density(stat="identity")
+p2<-ggplot(Boy,aes(Age,Smoothed_Needed_Calorie,alpha=0.5))+geom_density(stat="identity")
+grid.arrange(p1,p2,nrow=2)
+
+
+Girl<-as.data.table(ma(Needed_Calorie_W_W$Needed_Calorie_W, order=5, centre = TRUE))
+Girl<-cbind(Needed_Calorie_W_W[,.(Age,Needed_Calorie_W)],Girl)
+Girl[is.na(Girl)] <- 0
+Girl<-Girl[,Smoothed_Needed_Calorie:=ifelse(x>0,x,Needed_Calorie_W)]
+Girl<-Girl[,.(Age,Needed_Calorie_W,Smoothed_Needed_Calorie)]
+
+p1<-ggplot(Girl,aes(Age,Needed_Calorie_W,alpha=0.5))+geom_density(stat="identity")
+p2<-ggplot(Girl,aes(Age,Smoothed_Needed_Calorie,alpha=0.5))+geom_density(stat="identity")
+grid.arrange(p1,p2,nrow=2)
+
+y.movavg1 <-as.data.table(movavg(x = Needed_Calorie_M_W$Needed_Calorie_W, n = 2, type = "s"))
+y.movavg2 <-as.data.table(movavg(x = Needed_Calorie_M_W$Needed_Calorie_W, n = 2, type = "t"))
+y.movavg3 <-as.data.table(movavg(x = Needed_Calorie_M_W$Needed_Calorie_W, n = 2, type = "w"))
+y.movavg4 <-as.data.table(movavg(x = Needed_Calorie_M_W$Needed_Calorie_W, n = 2, type = "m"))
+y.movavg5 <-as.data.table(movavg(x = Needed_Calorie_M_W$Needed_Calorie_W, n = 2, type = "e"))
+y.movavg6 <-as.data.table(movavg(x = Needed_Calorie_M_W$Needed_Calorie_W, n = 2, type = "r"))
+
+
+Needed_Calorie_M_W<-cbind(Needed_Calorie_M_W,y.movavg1)
+Needed_Calorie_M_W<-cbind(Needed_Calorie_M_W,y.movavg2)
+Needed_Calorie_M_W<-cbind(Needed_Calorie_M_W,y.movavg3)
+Needed_Calorie_M_W<-cbind(Needed_Calorie_M_W,y.movavg4)
+Needed_Calorie_M_W<-cbind(Needed_Calorie_M_W,y.movavg5)
+Needed_Calorie_M_W<-cbind(Needed_Calorie_M_W,y.movavg6)
+
+A<-as.data.table(rollmean(Needed_Calorie_M_W$Needed_Calorie_W, 3,
+ na.pad = FALSE,align = c("center")))
+
+cma(Needed_Calorie_M_W$Needed_Calorie_W, order = NULL,silent = FALSE)
+
+
+
+endtime <- proc.time()
+cat("\n\n============================\nIt took ")
+cat((endtime-starttime)["elapsed"])
+cat(" seconds")
\ No newline at end of file
diff --git a/R/Archive/June 2020 (removed code files)/NonFree Durable Goods.R b/R/Archive/June 2020 (removed code files)/NonFree Durable Goods.R
new file mode 100644
index 00000000..82d7012b
--- /dev/null
+++ b/R/Archive/June 2020 (removed code files)/NonFree Durable Goods.R
@@ -0,0 +1,59 @@
+#NonFree Durable Goods
+
+rm(list=ls())
+
+starttime <- proc.time()
+
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+library(readxl)
+library(data.table)
+library(stringr)
+
+
+
+cat("\n\n================ NonFree Durable Goods=====================================\n")
+DurableTables <- data.table(read_excel(Settings$MetaDataFilePath,sheet=Settings$MDS_Durable))
+
+
+for(year in (Settings$startyear:Settings$endyear)){
+ cat(paste0("\n------------------------------\nYear:",year,"\n"))
+ load(file=paste0(Settings$HEISRawPath,"Y",year,"Raw.rda"))
+ ct <- DurableTables[Year==year]
+ tab <- ct$Table
+ if(is.na(tab))
+ next
+ UTC <- Tables[[paste0("U",year,tab)]]
+ RTC <- Tables[[paste0("R",year,tab)]]
+ TC <- rbind(UTC,RTC)
+ for(n in names(TC)){
+ x <- which(ct==n)
+ if(length(x)>0)
+ setnames(TC,n,names(ct)[x])
+ }
+ pcols <- intersect(names(TC),c("HHID","Code","BuyingMethod","Durable_Exp","Durable_Sale"))
+ TC <- TC[,pcols,with=FALSE]
+ TC<-TC[BuyingMethod!=8]
+ if(year %in% 84:97){
+ TC[,Durable_Exp:=as.numeric(Durable_Exp)]
+ TC[,Durable_Sale:=as.numeric(Durable_Sale)]
+ }
+ TC$NonFreeDurable_Exp<-TC$Durable_Exp/12
+ TC$NonFreeDurable_Sale<-TC$Durable_Sale/12
+ TC[,Code:=NULL]
+ TC[,BuyingMethod:=NULL]
+ TC[is.na(TC)] <- 0
+ TC[,NonFreeDurable_Pure_Exp:=NonFreeDurable_Exp-NonFreeDurable_Sale]
+ NonFreeDurableData <- TC[,lapply(.SD,sum),by=HHID]
+ save(NonFreeDurableData, file = paste0(Settings$HEISProcessedPath,"Y",year,"NonFreeDurableData.rda"))
+
+
+}
+
+
+
+
+endtime <- proc.time()
+cat("\n\n============================\nIt took ")
+cat(endtime-starttime)
diff --git a/R/Archive/June 2020 (removed code files)/PoorPanel.R b/R/Archive/June 2020 (removed code files)/PoorPanel.R
new file mode 100644
index 00000000..87f9dced
--- /dev/null
+++ b/R/Archive/June 2020 (removed code files)/PoorPanel.R
@@ -0,0 +1,301 @@
+
+
+
+rm(list=ls())
+
+starttime <- proc.time()
+cat("\n\n================ Poverty Line =====================================\n")
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+library(readxl)
+library(data.table)
+library(ggplot2)
+library(stats)
+library(spatstat)
+year<-97
+
+for(year in (Settings$startyear:Settings$endyear)){
+ cat(paste0("\nYear:",year,"\t"))
+ inflation <- as.data.table(read_excel("~/GitHub/IRHEIS/Data/ProvinceCPI.xlsx",
+ sheet = "Province"))
+ I<-inflation[Year==year]
+ C<-MD[,.(HHID,cluster3,EqSizeCalory)]
+load(file = paste0(Settings$HEISProcessedPath,"Y",year,"Total_Income.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y",year,"FINALPOORS.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y",year,"Specific.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y",year,"POORS.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y",year,"Job.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y",year,"Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y",year,"BigFData.rda"))
+MD<-merge(BigFData,MD,by=c("HHID"),all.x = T)
+MD<-MD[FinalPoor==1]
+Calory<-MD[,weighted.mean(TFoodKCaloriesHH_Per,Weight*Size),by=c("ProvinceCode")]
+MD<-merge(MD,FoodNames,by=c("FoodType"),all.x = T)
+base<-MD[,weighted.mean(FGrams/EqSizeCalory*KCalories,Weight*Size),by=c("ProvinceName","FoodType")]
+
+base<-MD[,fcalory:=FGrams*KCalories/EqSizeCalory]
+base<-base[,weighted.mean(V1,Weight*Size),by=c("ProvinceName","FoodType")]
+s<-base[,sum(V1),by=c("ProvinceName")]
+
+MD<-MD[,foodpoor:=ifelse(FoodKCaloriesHH0 | NDabestan>0 | NRahnamayi>0 | NPish>0 | KelasKonkoor>0]
+Dabestan<-Dabestan[,Enrollment:=Enrollment_Dabirestan_G+Enrollment_Dabirestan_NG+Enrollment_Dabirestan_Shabane+
+ Enrollment_Dabestan_G+Enrollment_Dabestan_NG+Enrollment_Rahnamayi_G+Enrollment_Rahnamayi_NG+
+ Enrollment_pish_G+Enrollment_pish_NG+Enrollment_Rahnamayi_Shabane+Enrollment_pish_Shabane+
+ KelasKonkoor]
+Dabestan<-MD[NDabestan>0]
+Dabestan<-Dabestan[,enrol:=Enrollment_Dabestan_NG/NDabestan]
+female<-MD[Size>1]
+
+female<-female[,female:=ifelse(HSex=="Female",1,0)]
+female<-female[,weighted.mean(female,Weight*Size,na.rm = T),by=c("ProvinceName","FinalPoor")]
+Dabestan2<-Dabestan[,weighted.mean(enrol/Total_Exp_Month_Per,Weight*Size),by=c("ProvinceName","FinalPoor")]
+Dabestan2<-MD[,weighted.mean(Enrollment_Rahnamayi_G,Weight*Size),by=c("ProvinceName","FinalPoor")]
+Dabestan3<-MD[,weighted.mean(Enrollment_Rahnamayi_NG,Weight*Size),by=c("ProvinceName","FinalPoor")]
+Dabestan4<-MD[,weighted.mean(Enrollment_Dabirestan_G,Weight*Size),by=c("ProvinceName","FinalPoor")]
+Dabestan5<-MD[,weighted.mean(Enrollment_Dabirestan_NG,Weight*Size),by=c("ProvinceName","FinalPoor")]
+Dabestan6<-MD[,weighted.mean(KelasKonkoor,Weight*Size),by=c("ProvinceName","FinalPoor")]
+
+edu<-as.data.table(cbind(Dabestan1$ProvinceName,Dabestan1$FinalPoor,Dabestan1$V1,
+ Dabestan2$V1))
+
+tooth<-MD[,weighted.mean(tooth_G,Weight*Size),by=c("ProvinceName","FinalPoor")]
+tooth<-MD[,weighted.mean(tooth_NG,Weight*Size),by=c("ProvinceName","FinalPoor")]
+
+visit<-MD[,weighted.mean(Visit_Omoomi_G,Weight*Size),by=c("ProvinceName","FinalPoor")]
+visit1<-MD[,weighted.mean(Visit_Omoomi_NG,Weight*Size),by=c("ProvinceName","FinalPoor")]
+visit2<-MD[,weighted.mean(Visit_Motekhases_G,Weight*Size),by=c("ProvinceName","FinalPoor")]
+visit3<-MD[,weighted.mean(Visit_Motekhases_NG,Weight*Size),by=c("ProvinceName","FinalPoor")]
+visit4<-MD[,weighted.mean(Visit_Mama_G,Weight*Size),by=c("ProvinceName","FinalPoor")]
+visit5<-MD[,weighted.mean(Visit_Mama_NG,Weight*Size),by=c("ProvinceName","FinalPoor")]
+visit<-as.data.table(cbind(visit$ProvinceName,visit$FinalPoor,visit$V1,visit1$V1,
+ visit2$V1,visit3$V1,visit4$V1,visit5$V1))
+
+phd<-MD[,weighted.mean(NPhD+NMasters+NBachelors,Weight*Size),by=c("ProvinceName")]
+inflation<-inflation[Year==year]
+cpi<-inflation$CPI
+cpi<-as.numeric(cpi)
+MD<-MD[,Medical_Exp1:=Medical_Exp/cpi]
+MD<-MD[,Medical_Exp:=Medical_Exp1/EqSizeOECD]
+MD<-MD[,Total_Exp_Month1:=Total_Exp_Month/cpi]
+MD<-MD[,Total_Exp_Month:=Total_Exp_Month1/EqSizeOECD]
+MD<-MD[,Durable_Exp1:=Durable_Exp/cpi]
+MD<-MD[,Durable_Exp:=Durable_Exp1/EqSizeOECD]
+MD<-merge(MD,MD1,by=c("HHID"))
+MD<-merge(MD,C,by=c("HHID"))
+MD<-MD[FinalPoor==1]
+MD<-MD[,poverty_R:=weighted.mean(Total_Exp_Month,Weight*Size)]
+MD<-MD[!is.na(Area)]
+MD<-MD[,House_PL:=Size*10]
+MD<-MD[,HousePoor:=ifelse(Area0.8*FPLine &
+ TOriginalFoodExpenditure_Per<1.2*FPLine &
+ (TOriginalFoodExpenditure/Total_Exp_Month) > 0.4,
+ .(.N),by=.(Region,cluster3)]
+ names(HighEngle1)<-c("Region", "cluster3","N40")
+
+ HighEngle2 <- MD[ TOriginalFoodExpenditure_Per>0.8*FPLine &
+ TOriginalFoodExpenditure_Per<1.2*FPLine &
+ (TOriginalFoodExpenditure/Total_Exp_Month) > 0.45,
+ .(.N),by=.(Region,cluster3)]
+ names(HighEngle2)<-c("Region", "cluster3","N45")
+
+ HighEngle3 <- MD[ TOriginalFoodExpenditure_Per>0.8*FPLine &
+ TOriginalFoodExpenditure_Per<1.2*FPLine &
+ (TOriginalFoodExpenditure/Total_Exp_Month) > 0.5,
+ .(.N),by=.(Region,cluster3)]
+ names(HighEngle3)<-c("Region", "cluster3","N50")
+
+ HighEngle4 <- MD[ TOriginalFoodExpenditure_Per>0.8*FPLine &
+ TOriginalFoodExpenditure_Per<1.2*FPLine,
+ .(.N),by=.(Region,cluster3)]
+
+ HighEngle<-merge(HighEngle1,HighEngle2)
+ HighEngle<-merge(HighEngle,HighEngle3)
+ HighEngle<-merge(HighEngle,HighEngle4)
+
+ #MD<-MD[,Durable_Exp_mean:=weighted.mean(Durable_Exp,Weight),by=.(Region,NewArea_Name)]
+ #MD<-MD[,Durable_Exp_median:=weighted.median(Durable_Exp,Weight),by=.(Region,NewArea_Name)]
+ #MD<-MD[,Durable_Exp_mean_Per:=weighted.mean(Durable_Exp/EqSizeOECD,Weight),by=.(Region,NewArea_Name)]
+ #MD<-MD[,Durable_Exp_median_Per:=weighted.median(Durable_Exp/EqSizeOECD,Weight),by=.(Region,NewArea_Name)]
+ #MD[,mean(Durable_Exp_median_Per),by=.(Region,NewArea_Name)][order(Region,V1)]
+ #EngleD<- MD[ TOriginalFoodExpenditure_Per>0.8*FPLine &
+ # TOriginalFoodExpenditure_Per<1.2*FPLine,
+ # .(.N,Engel=weighted.mean(TOriginalFoodExpenditure/Total_Exp_Month_nondurable,Weight),
+ # FPLine=mean(FPLine)),by=.(Region,cluster3)]
+
+ EngleD<- MD[ TOriginalFoodExpenditure_Per>0.8*FPLine &
+ TOriginalFoodExpenditure_Per<1.2*FPLine,
+ .(.N,Engel=weighted.mean(TOriginalFoodExpenditure/Total_Exp_Month_nondurable,Weight),
+ FPLine=mean(FPLine),
+ DurableMedical_to_NonDurable_mean_Share=weighted.mean((Durable_Exp+Medical_Exp)/Total_Exp_Month_nondurable,Weight),
+ Durable_to_NonDurable_mean_Share=weighted.mean(Durable_Exp/Total_Exp_Month_nondurable,Weight),
+ Durable_to_NonDurable_median_Share=weighted.median(Durable_Exp/Total_Exp_Month_nondurable,Weight),
+ Durable_Exp_mean=weighted.mean(Durable_Exp,Weight),
+ Durable_Exp_median=weighted.median(Durable_Exp,Weight),
+ Durable_Exp_mean_Per=weighted.mean(Durable_Exp/EqSizeOECD,Weight),
+ Durable_Exp_median_Per=weighted.median(Durable_Exp/EqSizeOECD,Weight)),by=.(Region,cluster3)]
+
+ ggplot(EngleD, aes(fill=factor(cluster3), y=Durable_to_NonDurable_mean_Share, x=cluster3)) +
+ geom_bar(position="dodge", stat="identity") + theme_bw() +
+ theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1)) + ylim(0,0.55)
+
+
+ EngleD[,PovertyLine_NonDurable:=FPLine/Engel]
+ EngleD[,PovertyLine:=PovertyLine_NonDurable*(1+Durable_to_NonDurable_mean_Share)]
+ MD <- merge(MD,EngleD[,.(cluster3,Region,PovertyLine,Engel)],by=c("Region","cluster3"))
+ MD[,FinalPoor:=ifelse(Total_Exp_Month_Per < PovertyLine,1,0 )]
+ MD<-MD[,HHEngle:=TOriginalFoodExpenditure/Total_Exp_Month,Weight]
+ save(MD,file=paste0(Settings$HEISProcessedPath,"Y",year,"FINALPOORS.rda"))
+
+
+ MD[,FGT1M:=(PovertyLine-Total_Exp_Month_Per)/PovertyLine]
+ MD[,FGT2M:=((PovertyLine-Total_Exp_Month_Per)/PovertyLine)^2]
+
+ ################High Engle##################
+
+ X1 <- HighEngle
+
+ X1[,Year:=year]
+
+ HighEngles <- rbind(HighEngles,X1)
+
+ ################Country##################
+
+ X1 <- MD[,.(PovertyLine=weighted.mean(PovertyLine,Weight*Size),
+ PovertyHCR=weighted.mean(FinalPoor,Weight*Size),
+ Engle=weighted.mean(HHEngle,Weight),
+ Bundle_Value=weighted.mean(Bundle_Value,Weight),
+ Total_Exp_Month_Per=weighted.mean(Total_Exp_Month_Per,Weight))]
+ X2 <- MD[FinalPoor==1,.(PovertyGap=weighted.mean(FGT1M,Weight*Size),
+ PovertyDepth=weighted.mean(FGT2M,Weight*Size))]
+ X1[,Year:=year]
+ X2[,Year:=year]
+ X <- merge(X1,X2,by="Year")
+ FinalCountryResults <- rbind(FinalCountryResults,X)
+
+ ################Region##################
+ X1 <- MD[,.(PovertyLine=weighted.mean(PovertyLine,Weight*Size),
+ PovertyHCR=weighted.mean(FinalPoor,Weight*Size)),by=Region]
+ X2 <- MD[FinalPoor==1,.(PovertyGap=weighted.mean(FGT1M,Weight*Size),
+ PovertyDepth=weighted.mean(FGT2M,Weight*Size)),by=Region]
+ X1[,Year:=year]
+ X2[,Year:=year]
+ X <- merge(X1,X2,by=c("Year","Region"))
+ FinalRegionResults <- rbind(FinalRegionResults,X)
+
+
+ ################Cluster##################
+ X1 <- MD[,.(SampleSize=.N,MetrPrice=weighted.mean(MetrPrice,Weight,na.rm = TRUE),
+ House_Share=weighted.mean(ServiceExp/Total_Exp_Month,Weight),
+ Engle=weighted.mean(TOriginalFoodExpenditure/Total_Exp_Month,Weight),
+ FPLine=weighted.mean(FPLine,Weight),
+ FoodKCaloriesHH_Per=weighted.mean(FoodKCaloriesHH_Per,Weight),
+ PovertyLine=weighted.mean(PovertyLine,Weight*Size),
+ PovertyHCR=weighted.mean(FinalPoor,Weight*Size)),by=cluster3]
+ X2 <- MD[FinalPoor==1,.(PovertyGap=weighted.mean(FGT1M,Weight*Size),
+ PovertyDepth=weighted.mean(FGT2M,Weight*Size)),by=cluster3]
+
+
+ X1[,Year:=year]
+ X2[,Year:=year]
+ X <- merge(X1,X2,by=c("Year","cluster3"))
+ FinalClusterResults <- rbind(FinalClusterResults,X)
+
+ cat(MD[, weighted.mean(FinalPoor,Weight*Size)],"\t")
+ cat(MD[, weighted.mean(PovertyLine,Weight*Size)])
+
+ MD1<-MD[,.(HHID,FinalPoor)]
+ save(MD1,file=paste0(Settings$HEISProcessedPath,"Y",year,"POORS.rda"))
+
+ Poors<-MD[FinalPoor==1]
+
+ a<-MD[ TOriginalFoodExpenditure_Per>0.8*FPLine &
+ TOriginalFoodExpenditure_Per<1.2*FPLine &
+ cluster3==7,
+ .(x=TOriginalFoodExpenditure/Total_Exp_Month)]
+
+
+ MD[as.numeric(Decile)<2,weighted.mean(FinalPoor,Weight)]
+
+ MD5<-MD[ProvinceCode!=11]
+ MD5<-MD5[,Group:=ifelse(FinalPoor==0 & FinalFoodPoor==0,"NoPoor",
+ ifelse(FinalPoor==1 & FinalFoodPoor==0,"OnlyFinalPoor",
+ ifelse(FinalPoor==0 & FinalFoodPoor==1,"OnlyFoodPoor","Both")))]
+ a<-ggplot(MD5,aes(x=HHEngle, fill=factor(Group))) +
+ geom_density(alpha=0.25)+
+ xlim(0,1)+ylim(0,5)+
+ ggtitle(year)
+ plot(a)
+
+
+
+}
+
+
+
+endtime <- proc.time()
+cat("\n\n============================\nIt took ")
+cat((endtime-starttime)["elapsed"])
+cat(" seconds")
\ No newline at end of file
diff --git a/R/Archive/June 2020 (removed code files)/Probit Model Data.R b/R/Archive/June 2020 (removed code files)/Probit Model Data.R
new file mode 100644
index 00000000..89b4cf84
--- /dev/null
+++ b/R/Archive/June 2020 (removed code files)/Probit Model Data.R
@@ -0,0 +1,281 @@
+#Probit Model Data
+#Providing Data For Model
+
+#Zahra Shahidi
+#2020
+
+rm(list=ls())
+
+starttime <- proc.time()
+cat("\n\n================ Providing Data =====================================\n")
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+library(readxl)
+library(data.table)
+library(ggplot2)
+library(stats)
+library(spatstat)
+year<-97
+for(year in (Settings$startyear:Settings$endyear)){
+ cat(paste0("\nYear:",year,"\t"))
+
+ inflation <- as.data.table(read_excel("~/GitHub/IRHEIS/Data/ProvinceCPI.xlsx",
+ sheet = "Province"))
+ I<-inflation[Year==year]
+
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"BigFData.rda"))
+ # load(file=paste0(Settings$HEISProcessedPath,"Y",year,"demo.rda"))
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"Total_Income.rda"))
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"FINALPOORS.rda"))
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"Specific.rda"))
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"Job.rda"))
+ # load(file=paste0(Settings$HEISProcessedPath,"Y",year,"HHHouseProperties.rda"))
+
+
+ job<-job[,Region:=NULL]
+ job<-job[,HActivityState:=NULL]
+ job<-job[,Decile:=NULL]
+
+ # demo[,HHID:=as.numeric(HHID)]
+ #MD[,HHID:=as.numeric(HHID)]
+
+ #MD<-merge(MD,demo[,.(NEmployed,NLiterate,HHID)],by=c("HHID"),all.x = T)
+ MD<-merge(MD,job,by=c("HHID"),all.x = T)
+ MD<-merge(MD,Specific,by=c("HHID"),all.x = T)
+ MD<-merge(MD,I,by=c("ProvinceCode","Year","NewArea_Name"),all.x = T)
+ MD<-merge(MD,IncomeTable[,.(HHID,NetIncome)],by=c("HHID"),all.x = T)
+ # MD<-merge(MD,HHHouseProperties,by=c("HHID"),all.x = T)
+
+ MD<-MD[!duplicated(MD$HHID)]
+ MD<-MD[!is.na(FinalPoor)]
+
+ goosht<-BigFData[FoodType=="Goosht"]
+ goosht<-goosht[,Goosht_Grams:=FGrams]
+ mahi<-BigFData[FoodType=="Mahi"]
+ mahi<-mahi[,Mahi_Grams:=FGrams]
+ morgh<-BigFData[FoodType=="Morgh"]
+ morgh<-morgh[,Morgh_Grams:=FGrams]
+ mive<-BigFData[FoodType=="Mive"]
+ mive<-mive[,Mive_Grams:=FGrams]
+ nan<-BigFData[FoodType=="Nan"]
+ nan<-nan[,Nan_Grams:=FGrams]
+ sibzamini<-BigFData[FoodType=="Sibzamini"]
+ sibzamini<-sibzamini[,Sibzamini_Grams:=FGrams]
+ makarooni<-BigFData[FoodType=="Makarooni"]
+ makarooni<-makarooni[,Makarooni_Grams:=FGrams]
+ khoshkbar<-BigFData[FoodType=="Khoshkbar"]
+ khoshkbar<-khoshkbar[,Khoshkbar_Grams:=FGrams]
+
+ MD<-merge(MD,goosht[,.(HHID,Goosht_Grams)],by=c("HHID"),all.x = T)
+ MD<-merge(MD,mahi[,.(HHID,Mahi_Grams)],by=c("HHID"),all.x = T)
+ MD<-merge(MD,morgh[,.(HHID,Morgh_Grams)],by=c("HHID"),all.x = T)
+ MD<-merge(MD,mive[,.(HHID,Mive_Grams)],by=c("HHID"),all.x = T)
+ MD<-merge(MD,nan[,.(HHID,Nan_Grams)],by=c("HHID"),all.x = T)
+ MD<-merge(MD,sibzamini[,.(HHID,Sibzamini_Grams)],by=c("HHID"),all.x = T)
+ MD<-merge(MD,makarooni[,.(HHID,Makarooni_Grams)],by=c("HHID"),all.x = T)
+ MD<-merge(MD,khoshkbar[,.(HHID,Khoshkbar_Grams)],by=c("HHID"),all.x = T)
+
+
+
+ for (col in c("Goosht_Grams","Mahi_Grams", "Morgh_Grams", "Mive_Grams", "Nan_Grams",
+ "Sibzamini_Grams", "Makarooni_Grams", "Khoshkbar_Grams"
+ ))
+ MD[is.na(get(col)), (col) := 0]
+
+ MD<-MD[,Goosht_Grams_Per:=Goosht_Grams/EqSizeCalory]
+ MD<-MD[,Morgh_Grams_Per:=Morgh_Grams/EqSizeCalory]
+ MD<-MD[,Mahi_Grams_Per:=Mahi_Grams/EqSizeCalory]
+ MD<-MD[,Mive_Grams_Per:=Mive_Grams/EqSizeCalory]
+ MD<-MD[,Nan_Grams_Per:=Nan_Grams/EqSizeCalory]
+ MD<-MD[,Sibzamini_Grams_Per:=Sibzamini_Grams/EqSizeCalory]
+ MD<-MD[,Makarooni_Grams_Per:=Makarooni_Grams/EqSizeCalory]
+ MD<-MD[,Khoshkbar_Grams_Per:=Khoshkbar_Grams/EqSizeCalory]
+ M<-MD[,weighted.mean(Goosht_Grams_Per,Weight*Size),]
+ MD<-MD[,T_Meat_Grams_per:=Goosht_Grams_Per+Morgh_Grams_Per+Mahi_Grams_Per]
+ MD<-MD[,T_Inferior_Grams_Per:=Nan_Grams_Per+Sibzamini_Grams_Per+Makarooni_Grams_Per]
+
+ MD<-MD[,Ratio_TOriginalFoodExpenditure:=TOriginalFoodExpenditure/Total_Exp_Month]
+ MD<-MD[,Ratio_Amusement_Exp:=Amusement_Exp/Total_Exp_Month]
+ MD<-MD[,Ratio_HouseandEnergy_Exp:=HouseandEnergy_Exp/Total_Exp_Month]
+ MD<-MD[,Ratio_MetrPrice:=MetrPrice/Total_Exp_Month]
+ MD<-MD[,Ratio_Total_Exp_Month_nondurable:=Total_Exp_Month_nondurable/Total_Exp_Month]
+ MD<-MD[,Ratio_Medical_Exp:=Medical_Exp/Total_Exp_Month]
+ MD<-MD[,Ratio_Furniture_Exp:=Furniture_Exp/Total_Exp_Month]
+ MD<-MD[,Ratio_Cloth_Exp:=Cloth_Exp/Total_Exp_Month]
+ MD<-MD[,Ratio_ServiceExp:=ServiceExp/Total_Exp_Month]
+ MD<-MD[,Ratio_Durable_Exp:=Durable_Exp/(Total_Exp_Month_nondurable+Durable_Exp)]
+ MD<-MD[,Ratio_Hygiene_Exp:=Hygiene_Exp/Total_Exp_Month]
+
+
+
+
+ MD<-MD[,Ratio_NUniv:=NUniv/Size]
+ MD<-MD[,Square_NUniv:=Ratio_NUniv^2]
+
+ MD<-MD[,Area_Per:=Area/Size]
+ MD<-MD[,Log_Area_Per:=log(Area_Per)]
+ MD<-MD[,Square_Area_Per:=Area_Per^2]
+
+ MD<-MD[,Square_HAge:=HAge^2]
+
+ MD<-MD[NDabestan!=0,Dabestan_Per:=Enrollment_Dabestan_G+Enrollment_Dabestan_NG/NDabestan]
+ MD<-MD[NRahnamayi!=0,Rahnamayi_Per:=Enrollment_Rahnamayi_G+Enrollment_Rahnamayi_NG+Enrollment_Rahnamayi_Shabane/NRahnamayi]
+ MD<-MD[NDabirestan!=0,Dabirestan_Per:=Enrollment_Dabirestan_G+Enrollment_Dabirestan_NG+Enrollment_Dabirestan_Shabane/NDabirestan]
+ MD<-MD[NPish!=0,Pish_Per:=Enrollment_pish_G+Enrollment_pish_NG+Enrollment_pish_Shabane+KelasKonkoor/NPish]
+ MD<-MD[,Education_Per:=Dabestan_Per+Rahnamayi_Per+Dabirestan_Per+Pish_Per]
+ MD<-MD[,Ratio_Education_per:=Education_Per/(Total_Exp_Month_Per+Education_Per)]
+
+ MD<-MD[,Visit:=Visit_Omoomi_G+Visit_Omoomi_NG+Visit_Motekhases_G+Visit_Motekhases_NG+Visit_Mama_G+Visit_Mama_NG+
+ Visit_Ravanpezeshk_G+Visit_Ravanpezeshk_NG]
+ MD<-MD[,Tooth:=tooth_G+tooth_NG+tooth_Jarahi_G+tooth_Jarahi_NG+Ortodensy_G+Ortodensy_NG]
+ MD<-MD[,Medicine:=Visit+Tooth+Radiology_G+Radiology_NG+Phisioteraphy_G+Phisioteraphy_NG+Drug+Lab_G+Lab_NG+
+ Ambulance_G+Ambulance_NG+Vaksan_G+Vaksan_NG]
+ MD<-MD[,Ratio_Medicine:=Medicine/Total_Exp_Month]
+
+ MD<-MD[,Real_Total_Exp_Month:=Total_Exp_Month/total]
+ MD<-MD[,Real_FoodExpenditure:=FoodExpenditure/food]
+ MD<-MD[,Real_Durable_Exp:=Durable_Exp/durables]
+
+ MD<-MD[,Pub_Employee:=ifelse(Score_Job1==0,0,1)]
+ MD<-MD[,Prv_Employee:=ifelse(Score_Job2==0,0,1)]
+ MD<-MD[,Cooperative_Employee:=ifelse(Score_Job3==0,0,1)]
+ MD<-MD[,Simple_Jobs_Staff:=ifelse(Score_Job1==9 | Score_Job2==9 | Score_Job3==9 | Score_Job4==9 | Score_Job5==9,1,0)]
+ MD<-MD[,Opreators_machinery_equipment:=ifelse(Score_Job1==8 | Score_Job2==8 | Score_Job3==8 | Score_Job4==8 | Score_Job5==8,1,0)]
+ MD<-MD[,Craftsman:=ifelse(Score_Job1==7 | Score_Job2==7 | Score_Job3==7 | Score_Job4==7 | Score_Job5==7,1,0)]
+ MD<-MD[,Skilled_staff_agriculture_forestr_fishing:=ifelse(Score_Job1==6 | Score_Job2==6 | Score_Job3==6 | Score_Job4==6 | Score_Job5==6,1,0)]
+ MD<-MD[,Staff_service_sales:=ifelse(Score_Job1==5 | Score_Job2==5 | Score_Job3==5 | Score_Job4==5 | Score_Job5==5,1,0)]
+ MD<-MD[,Office_staff:=ifelse(Score_Job1==4 | Score_Job2==4 | Score_Job3==4 | Score_Job4==4 | Score_Job5==4,1,0)]
+ MD<-MD[,Technician:=ifelse(Score_Job1==3 | Score_Job2==3 | Score_Job3==3 | Score_Job4==3 | Score_Job5==3,1,0)]
+ MD<-MD[,Expert:=ifelse(Score_Job1==2 | Score_Job2==2 | Score_Job3==2 | Score_Job4==2 | Score_Job5==2,1,0)]
+ MD<-MD[,Manager:=ifelse(Score_Job1==1 | Score_Job2==1 | Score_Job3==1 | Score_Job4==1 | Score_Job5==1,1,0)]
+
+ MD<-MD[,Aid_Per:=Aid/Size]
+ MD<-MD[,Ratio_Aid_Per:=Aid_Per/NetIncome]
+
+ MD<-MD[Size>1,HFemale:=ifelse(HSex=="Female",1,0)]
+ MD<-MD[,HSex:=ifelse(HSex=="Male",1,0)]
+ MD<-MD[,HActivityState:=ifelse(HActivityState=="Employed",1,0)]
+
+
+ MD<-MD[,Ratio_NEmployed:=NEmployed/Size]
+ MD<-MD[,Square_NEmployed:=Ratio_NEmployed^2]
+
+ MD<-MD[,Ratio_NLiterate:=NLiterate/Size]
+ MD<-MD[,Square_NLiterate:=Ratio_NLiterate^2]
+
+ MD<-MD[,Rental_House:=ifelse(tenure=="Rented",1,0)]
+ MD<-MD[,Mortgage_House:=ifelse(tenure=="Mortgage",1,0)]
+ MD<-MD[,Own_House:=ifelse(tenure=="OwnLandandBuilding",1,0)]
+ MD<-MD[,Oghafi_House:=ifelse(tenure=="Apartment",1,0)]
+ MD<-MD[,Metal_Skeleton:=ifelse(skeleton=="metal",1,0)]
+ MD<-MD[,Concrete_Skeleton:=ifelse(skeleton=="concrete",1,0)]
+ MD<-MD[,Other_Skeleton:=ifelse(skeleton=="other",1,0)]
+ MD<-MD[,BrickSteel_StoneSteel_constmat:=ifelse(constmat=="BrickSteel_StoneSteel",1,0)]
+ MD<-MD[,Brickwood_Stonewood_constmat:=ifelse(constmat=="Brickwood_Stonewood",1,0)]
+ MD<-MD[,CementBlocks_constmat:=ifelse(constmat=="CementBlocks",1,0)]
+ MD<-MD[,AllBrick_Stone_constmat:=ifelse(constmat=="AllBrick_Stone",1,0)]
+ MD<-MD[,Allwood_constmat:=ifelse(constmat=="Allwood",1,0)]
+ MD<-MD[,SundriedBrickwood_constmat:=ifelse(constmat=="SundriedBrickwood",1,0)]
+ MD<-MD[,SundriedBrickmud_constmat:=ifelse(constmat=="SundriedBrickmud",1,0)]
+ MD<-MD[,Phone:=ifelse(phone=="True",1,0)]
+ MD<-MD[,Bike:=ifelse(bike=="True",1,0)]
+ MD<-MD[,Radio:=ifelse(radio=="True",1,0)]
+ MD<-MD[,Cassette:=ifelse(cassette=="True",1,0)]
+ MD<-MD[,Tvbw:=ifelse(tvbw=="True",1,0)]
+ MD<-MD[,Tvcr:=ifelse(tvcr=="True",1,0)]
+ MD<-MD[,Vcr:=ifelse(vcr=="True",1,0)]
+ MD<-MD[,CellPhone:=ifelse(cellphone=="True",1,0)]
+ MD<-MD[,Freezer:=ifelse(freezer=="True",1,0)]
+ MD<-MD[,Refrigerator:=ifelse(refrigerator=="True",1,0)]
+ MD<-MD[,Frez_Refrig:=ifelse(frez_refrig=="True",1,0)]
+ MD<-MD[,Oven:=ifelse(oven=="True",1,0)]
+ MD<-MD[,Vacuum:=ifelse(vacuum=="True",1,0)]
+ MD<-MD[,Washer:=ifelse(washer=="True",1,0)]
+ MD<-MD[,Sewing:=ifelse(sewing=="True",1,0)]
+ MD<-MD[,Fan:=ifelse(fan=="True",1,0)]
+ MD<-MD[,Cooler_Water_Movable:=ifelse(pipewater=="True",1,0)]
+ MD<-MD[,Cooler_Gas_Movable:=ifelse(cooler_gas_movable=="True",1,0)]
+ MD<-MD[,Dishwasher:=ifelse(dishwasher=="True",1,0)]
+ MD<-MD[,Microwave:=ifelse(Microwave=="True",1,0)]
+ MD<-MD[,None:=ifelse(none=="True",1,0)]
+ MD<-MD[,Pipewater:=ifelse(pipewater=="True",1,0)]
+ MD<-MD[,Electricity:=ifelse(electricity=="True",1,0)]
+ MD<-MD[,Pipegas:=ifelse(pipegas=="True",1,0)]
+ MD<-MD[,Kitchen:=ifelse(kitchen=="True",1,0)]
+ MD<-MD[,Cooler:=ifelse(cooler=="True",1,0)]
+ MD<-MD[,CentralCooler:=ifelse(centralcooler=="True",1,0)]
+ MD<-MD[,CentralHeat:=ifelse(centralheat=="True",1,0)]
+ MD<-MD[,Pakage:=ifelse(pakage=="True",1,0)]
+ MD<-MD[,Cooler_Gas:=ifelse(cooler_gas=="True",1,0)]
+ #MD<-MD[,UnexpectedEvent_Month:=ifelse(party_month=="True" | ceremony_month=="True" | homerepaire_month=="True" | bastari_month=="True" | operation_month=="True",1,0) ]
+
+ MD<-MD[,Car:=ifelse(car=="True",1,0)]
+ MD<-MD[,Bathroom:=ifelse(bathroom=="True",1,0)]
+ MD<-MD[,Computer:=ifelse(computer=="True",1,0)]
+ MD<-MD[,Internet:=ifelse(internet=="True",1,0)]
+ MD<-MD[,Motorcycle:=ifelse(motorcycle=="True",1,0)]
+ MD<-MD[,Water:=ifelse(pipewater=="True",1,0)]
+ MD<-MD[,Gas:=ifelse(pipegas=="True",1,0)]
+ MD<-MD[,Sewage:=ifelse(ego=="True",1,0)]
+ MD<-MD[,KarosineCook:=ifelse(cookfuel=="karosine",1,0)]
+ MD<-MD[,KarosineHeat:=ifelse(heatfuel=="karosine",1,0)]
+ MD<-MD[,GasHeat:=ifelse(heatfuel=="gas",1,0)]
+ MD<-MD[,Pipedgas_CookFuel:=ifelse(cookfuel=="pipedgas",1,0)]
+ MD<-MD[,Pipedgas_HeatFuel:=ifelse(heatfuel=="pipedgas",1,0)]
+ MD<-MD[,Pipedgas_HotWater:=ifelse(hotwater=="pipedgas",1,0)]
+
+ MD[ProvinceCode==0,ProvinceName:="Markazi"]
+ MD[ProvinceCode==1,ProvinceName:="Gilan"]
+ MD[ProvinceCode==2,ProvinceName:="Mazandaran"]
+ MD[ProvinceCode==3,ProvinceName:="Az_Sharghi"]
+ MD[ProvinceCode==4,ProvinceName:="Az_Gharbi"]
+ MD[ProvinceCode==5,ProvinceName:="Kermanshah"]
+ MD[ProvinceCode==6,ProvinceName:="Khoozestan"]
+ MD[ProvinceCode==7,ProvinceName:="Fars"]
+ MD[ProvinceCode==8,ProvinceName:="Kerman"]
+ MD[ProvinceCode==9,ProvinceName:="Khorasan_Razavi"]
+ MD[ProvinceCode==10,ProvinceName:="Esfahan"]
+ MD[ProvinceCode==11,ProvinceName:="Sistan"]
+ MD[ProvinceCode==12,ProvinceName:="Kordestan"]
+ MD[ProvinceCode==13,ProvinceName:="Hamedan"]
+ MD[ProvinceCode==14,ProvinceName:="Chaharmahal"]
+ MD[ProvinceCode==15,ProvinceName:="Lorestan"]
+ MD[ProvinceCode==16,ProvinceName:="Ilam"]
+ MD[ProvinceCode==17,ProvinceName:="Kohkilooye"]
+ MD[ProvinceCode==18,ProvinceName:="Booshehr"]
+ MD[ProvinceCode==19,ProvinceName:="Zanjan"]
+ MD[ProvinceCode==20,ProvinceName:="Semnan"]
+ MD[ProvinceCode==21,ProvinceName:="Yazd"]
+ MD[ProvinceCode==22,ProvinceName:="Hormozgan"]
+ MD[ProvinceCode==23,ProvinceName:="Tehran"]
+ MD[ProvinceCode==24,ProvinceName:="Ardebil"]
+ MD[ProvinceCode==25,ProvinceName:="Ghom"]
+ MD[ProvinceCode==26,ProvinceName:="Ghazvin"]
+ MD[ProvinceCode==27,ProvinceName:="Golestan"]
+ MD[ProvinceCode==28,ProvinceName:="Khorasan_Shomali"]
+ MD[ProvinceCode==29,ProvinceName:="Khorasan_Jonoobi"]
+ MD[ProvinceCode==30,ProvinceName:="Alborz"]
+
+ Data<-MD[,.(HHID,Region,cluster3,NewArea,NewArea_Name,Year,ProvinceName,HSex,HAge,Square_HAge,NKids,HActivityState,HEduYears,
+ Size,Weight,NUniv,Ratio_NUniv,Square_NUniv,EqSizeOECD,EqSizeCalory,FoodKCaloriesHH_Per,FoodProtein_Per,Ratio_TOriginalFoodExpenditure,
+ TFoodKCaloriesHH_Per,Rooms,Area,Area_Per,Log_Area_Per,Square_Area_Per,Ratio_Amusement_Exp,Ratio_MetrPrice,Ratio_Hygiene_Exp,
+ Ratio_Total_Exp_Month_nondurable,Ratio_Medical_Exp,Ratio_Furniture_Exp,Ratio_Cloth_Exp,Ratio_HouseandEnergy_Exp,Ratio_ServiceExp,
+ Ratio_Durable_Exp,Ratio_Education_per,Ratio_Medicine,Decile,Percentile,InitialPoor,FinalPoor,
+ FPLine,PovertyLine,Engel,HHEngle,Total_Exp_Month_Per_nondurable,Goosht_Grams_Per,Morgh_Grams_Per,
+ Mahi_Grams_Per,Mive_Grams_Per,Nan_Grams_Per,Sibzamini_Grams_Per,Makarooni_Grams_Per,Khoshkbar_Grams_Per,T_Meat_Grams_per,
+ T_Inferior_Grams_Per,Pub_Employee,Prv_Employee,Cooperative_Employee,Simple_Jobs_Staff,Opreators_machinery_equipment,Craftsman,
+ Skilled_staff_agriculture_forestr_fishing,Staff_service_sales,Office_staff,Technician,Expert,Manager,Ratio_Aid_Per,HFemale,
+ NEmployed,Ratio_NEmployed,Square_NEmployed,NLiterate,Ratio_NLiterate,Square_NLiterate,Rental_House,Mortgage_House,Own_House,
+ Oghafi_House,Metal_Skeleton,Concrete_Skeleton,Other_Skeleton,BrickSteel_StoneSteel_constmat,Brickwood_Stonewood_constmat,
+ CementBlocks_constmat,AllBrick_Stone_constmat,Allwood_constmat,SundriedBrickwood_constmat,SundriedBrickmud_constmat,Car,Bike,
+ Radio,Bathroom,Computer,Internet,Motorcycle,Cassette,Tvbw,Tvcr,Vcr,CellPhone,Freezer,Refrigerator,Frez_Refrig,Oven,Vacuum,Washer,
+ Sewing,Fan,Cooler_Water_Movable,Cooler_Gas_Movable,Dishwasher,Microwave,None,Pipewater,Electricity,Pipegas,Kitchen,Cooler,
+ CentralCooler,CentralHeat,Pakage,Cooler_Gas,Water,Gas,Sewage,KarosineCook,KarosineHeat,GasHeat,Pipedgas_CookFuel,Pipedgas_HeatFuel,Pipedgas_HotWater)]
+ save(Data, file=paste0(Settings$HEISProcessedPath,"Y",year,"Data.rda"))
+}
+
+endtime <- proc.time()
+cat("\n\n============================\nIt took ")
+cat((endtime-starttime)["elapsed"])
+cat(" seconds")
diff --git a/R/Archive/June 2020 (removed code files)/Real Deciles (Additional Calculations).R b/R/Archive/June 2020 (removed code files)/Real Deciles (Additional Calculations).R
new file mode 100644
index 00000000..27f4b6b4
--- /dev/null
+++ b/R/Archive/June 2020 (removed code files)/Real Deciles (Additional Calculations).R
@@ -0,0 +1,286 @@
+#Real Deciles (Additional Calsulations).R
+#
+# Copyright © 2020:Arin Shahbazian
+# Licence: GPL-3
+
+rm(list=ls())
+
+starttime <- proc.time()
+cat("\n\n================ Nominal to Real =====================================\n")
+
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+#library(readxl)
+library(data.table)
+library(ggplot2)
+
+for(year in (Settings$startyear:Settings$endyear)){
+ cat(paste0("\n------------------------------\nYear:",year,"\n"))
+
+ # load data --------------------------------------
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"Merged4CBN3.rda"))
+
+ SMD <- MD[,.(HHID,Region,
+ ServiceExp,FoodExpenditure,Total_Exp_Month,
+ NewArea,NewArea_Name,Total_Exp_Month_Per_nondurable,TOriginalFoodExpenditure_Per,
+ # Total_Exp_Month_Per_nondurable2,TFoodExpenditure_Per2,
+ TFoodKCaloriesHH_Per,Calorie_Need_WorldBank,Calorie_Need_Anstitoo,
+ Weight,MetrPrice,Size,EqSizeOECD)]
+
+ #Choose one of these
+ SMD[,Bundle_Value:=TOriginalFoodExpenditure_Per*Calorie_Need_WorldBank/TFoodKCaloriesHH_Per]
+ #SMD[,Bundle_Value:=TOriginalFoodExpenditure_Per*Calorie_Need_Anstitoo/TFoodKCaloriesHH_Per]
+ #SMD[,Bundle_Value:=TOriginalFoodExpenditure_Per*Settings$KCaloryNeed_Adult_WorldBank/TFoodKCaloriesHH_Per]
+ #SMD[,Bundle_Value:=TOriginalFoodExpenditure_Per*Settings$KCaloryNeed_Adult_Anstitoo/TFoodKCaloriesHH_Per]
+
+
+ SMD <- SMD[Bundle_Value<=5000000 | TFoodKCaloriesHH_Per>=300] #arbitrary measures, TODO: check in diff years
+
+ #Real Prices
+ T_Bundle_Value <- SMD[NewArea==2301, .(Bundle_Value,MetrPrice,Weight)]
+ TBV1 <- T_Bundle_Value[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE)]
+ TBV2 <- T_Bundle_Value[,weighted.mean(MetrPrice,Weight,na.rm = TRUE)]
+
+ SMD[,PriceIndex2:=(weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/TBV1
+ +weighted.mean(MetrPrice,Weight,na.rm = TRUE)/TBV2)/2
+ ,by=.(Region,NewArea_Name)]
+
+ X <- SMD[,.(weighted.mean(FoodExpenditure/Total_Exp_Month,Weight),
+ weighted.mean(ServiceExp/Total_Exp_Month,Weight)),by=.(Region,NewArea_Name)]
+ X[,V:=V1+V2]
+
+ SMD <- merge(SMD,X,by=c("Region","NewArea_Name"))
+
+ SMD[,PriceIndex:=(weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/TBV1*V1
+ +weighted.mean(MetrPrice,Weight,na.rm = TRUE)/TBV2*V2)/V
+ ,by=.(Region,NewArea_Name)]
+
+ Compare<-SMD[,.(Old=mean(PriceIndex2),
+ New=mean(PriceIndex)),by=.(Region,NewArea_Name)]
+
+ SMD[,V1:=NULL]
+ SMD[,V2:=NULL]
+ SMD[,V:=NULL]
+
+
+ SMD[,Total_Exp_Month_Per_nondurable_Real:=Total_Exp_Month_Per_nondurable/PriceIndex]
+
+ SMD<- SMD[order(Region,Total_Exp_Month_Per_nondurable_Real)]
+ SMD[,crw:=cumsum(Weight*Size)/sum(Weight*Size),by=Region] # Cumulative Relative Weight
+
+ #Calculate deciles by weights
+ SMD[,Decile:=cut(crw,breaks = seq(0,1,.1),labels = 1:10),by=Region]
+ SMD[,Percentile:=cut(crw,breaks=seq(0,1,.01),labels=1:100),by=Region]
+
+ SMD<- SMD[order(Region,Total_Exp_Month_Per_nondurable)]
+ SMD[,crw2:=cumsum(Weight*Size)/sum(Weight*Size),by=Region] # Cumulative Relative Weight
+ SMD[,Decile_Nominal:=cut(crw2,breaks = seq(0,1,.1),labels = 1:10),by=Region]
+ SMD[,Percentile_Nominal:=cut(crw2,breaks=seq(0,1,.01),labels=1:100),by=Region]
+
+
+
+ C<-SMD[,.(.N,Max=max(Total_Exp_Month_Per_nondurable),
+ Min=min(Total_Exp_Month_Per_nondurable),
+ Mean=mean(Total_Exp_Month_Per_nondurable)),
+ by=.(Region,NewArea,NewArea_Name,Decile)]
+
+
+
+ # FirstSMD<-SMD[,.(HHID,Region,NewArea_Name,NewArea_Name,Percentile,Decile)]
+ # FirstSMD<-FirstSMD[,Realfirstpoor:=ifelse(Decile %in% 1:2,1,0)]
+ # save(FirstSMD, file=paste0(Settings$HEISProcessedPath,"Y",year,"FirstSMD.rda"))
+
+
+
+ B<-MD[,.(.N,Mean=mean(MetrPrice)),
+ by=.(Region,NewArea_Name,ProvinceCode)]
+
+ BB<-MD[,.(.N,Mean=weighted.mean(MetrPrice,Weight)),
+ by=.(Region,NewArea_Name)]
+
+ SMD[,NewPoor:=1]
+ SMD[,ThisIterationPoor:=0]
+ i <- 0
+ while(sum(SMD[,(ThisIterationPoor-NewPoor)^2])>=0.002*nrow(SMD) & i <=50){
+ i <- i+1
+ SMD[,pold:=Percentile]
+ SMD[,ThisIterationPoor:=ifelse(pold %in% Settings$InitialPoorPercentile,1,0)]
+ SMDIterationPoor<-SMD[ThisIterationPoor==TRUE]
+
+ T_P_Bundle_Value <- SMDIterationPoor[NewArea==2301, .(Bundle_Value,MetrPrice,Weight)]
+ TPBV1 <- T_P_Bundle_Value[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE)]
+ TPBV2 <- T_P_Bundle_Value[,weighted.mean(MetrPrice,Weight,na.rm = TRUE)]
+
+ # Index2 <- SMDIterationPoor[,.(PriceIndex= (weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/TPBV1+
+ # weighted.mean(MetrPrice,Weight,na.rm = TRUE)/TPBV2)/2)
+ # ,by=.(Region,NewArea_Name)]
+
+ X <- SMDIterationPoor[,.(weighted.mean(FoodExpenditure/Total_Exp_Month,Weight),
+ weighted.mean(ServiceExp/Total_Exp_Month,Weight)),by=.(Region,NewArea_Name)]
+ X[,V:=V1+V2]
+
+ SMDIterationPoor <- merge(SMDIterationPoor,X,by=c("Region","NewArea_Name"))
+ SMDIterationPoor[,PriceIndex:=NULL]
+
+ Index <- SMDIterationPoor[,.(PriceIndex=(weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/TPBV1*V1+
+ weighted.mean(MetrPrice,Weight,na.rm = TRUE)/TPBV2*V2)/V)
+ ,by=.(Region,NewArea_Name)]
+ Index <- Index[,.(PriceIndex=mean(PriceIndex)),by=.(Region,NewArea_Name)]
+
+
+ SMD[,PriceIndex:=NULL]
+ SMD <- merge(SMD,Index,by=c("Region","NewArea_Name"))
+
+ SMD[,Total_Exp_Month_Per_nondurable_Real:=Total_Exp_Month_Per_nondurable/PriceIndex]
+
+ SMD<- SMD[order(Region,Total_Exp_Month_Per_nondurable_Real)]
+ SMD[,crw:=cumsum(Weight*Size)/sum(Weight*Size),by=Region] # Cumulative Relative Weight
+
+ #Calculate deciles by weights
+ SMD[,Decile:=cut(crw,breaks = seq(0,1,.1),labels = 1:10),by=Region]
+ SMD[,Percentile:=cut(crw,breaks=seq(0,1,.01),labels=1:100),by=Region]
+ SMD[,NewPoor:=ifelse(Percentile %in% Settings$InitialPoorPercentile,1,0)]
+ save(SMD,file=paste0(Settings$HEISProcessedPath,"Y",year,"SMD.rda"))
+
+
+ cat("\n",sum(SMD[,(ThisIterationPoor-NewPoor)^2]))
+ }
+ MD <- merge(MD,SMD[,.(HHID,Bundle_Value,NewPoor,Decile,Percentile,Decile_Nominal,Percentile_Nominal)],by="HHID")
+ setnames(MD,"NewPoor","InitialPoor")
+
+
+ MD[,weighted.mean(InitialPoor,Weight), by=.(NewArea_Name,Region)]
+
+ save(MD,file=paste0(Settings$HEISProcessedPath,"Y",year,"InitialPoor.rda"))
+
+ MDD2<-MD[,.(HHID,Decile)]
+ names(MDD2)<-c("HHID","Decile_F")
+ save(MDD2,file = "MDD2.rda")
+
+ #load( file=paste0(Settings$HEISProcessedPath,"Y",year,"HHHouseProperties.rda"))
+
+ #MD<-merge(MD,HHHouseProperties)
+
+ #MD[,weighted.mean(tenure=="OwnLandandBuilding" | tenure=="Apartment",Weight),
+ # by=.(Region,Decile)][order(Region,Decile)]
+
+ #MD[,weighted.mean(car=="True",Weight),
+ # by=.(Region,Decile)][order(Region,Decile)]
+
+ MD[,weighted.mean(FoodExpenditure/Total_Exp_Month,Weight),
+ by=.(Region,Decile)][order(Region,Decile)]
+
+ MD[,weighted.mean(Cloth_Exp/Total_Exp_Month,Weight),
+ by=.(Region,Decile)][order(Region,Decile)]
+
+ MD[,weighted.mean(Size,Weight),
+ by=.(Region,Decile)][order(Region,Decile)]
+
+ MD[,weighted.mean(Region=="Urban",Weight),
+ by=.(Decile)][order(Decile)]
+
+ MD[,weighted.mean(HActivityState=="Employed",Weight),
+ by=.(Region,Decile)][order(Region,Decile)]
+
+ MD[,weighted.mean(HEduYears>10,Weight),
+ by=.(Region,Decile)][order(Region,Decile)]
+
+ MD[,weighted.mean(HEduYears>13,Weight),
+ by=.(Region,Decile)][order(Region,Decile)]
+
+ #MD[,weighted.mean(area/Size,Weight),
+ # by=.(Region,Decile)][order(Region,Decile)]
+
+ MD[,weighted.mean(Amusement_Exp/Total_Exp_Month,Weight),
+ by=.(Region,Decile)][order(Region,Decile)]
+
+ A<-MD[,.(.N,Max=max(Total_Exp_Month_Per_nondurable),
+ Min=min(Total_Exp_Month_Per_nondurable),
+ Mean=mean(Total_Exp_Month_Per_nondurable)),
+ by=.(Region,NewArea,NewArea_Name,Decile)]
+
+ AA<-MD[,.(.N,Max=max(Total_Exp_Month_Per_nondurable),
+ Min=min(Total_Exp_Month_Per_nondurable),
+ Mean=mean(Total_Exp_Month_Per_nondurable)),
+ by=.(Region,Decile)]
+
+ D<-MD[,.(.N,Mean=weighted.mean(Durable_Exp/Size,Weight)),
+ by=.(Region,NewArea_Name,Decile)]
+
+ DD<-MD[,.(.N,Mean=weighted.mean(Durable_Exp/Size,Weight)),
+ by=.(Region,Decile)]
+
+ #write.csv(A,file = "A.csv")
+ #write.csv(AA,file = "AA.csv")
+ #write.csv(DD,file = "DD.csv")
+ write.csv(B,file = "B.csv")
+ #write.csv(C,file = "C.csv")
+ #write.csv(D,file = "D.csv")
+
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"HHHouseProperties.rda"))
+ MD<-merge(MD,HHHouseProperties)
+
+ FractioninData<-MD[,.(Total_Exp_Month_Per_nondurable=weighted.mean(Total_Exp_Month_Per_nondurable,Weight),
+ tenure=weighted.mean(tenure=="OwnLandandBuilding",Weight),
+ HActivityState=weighted.mean(HActivityState=="Employed",Weight),
+ Car=weighted.mean(car=="True",Weight)),
+ by=c("Percentile_Nominal","Region")]
+
+ #write.csv(FractioninData,file = "FractioninData.csv")
+
+ Deciles<-MD[,.(HHID,Decile,Decile_Nominal,Region,ProvinceCode,HIndivNo,Weight)]
+ Deciles<-Deciles[,diff:=as.numeric(Decile)-as.numeric(Decile_Nominal)]
+ decileTest<-Deciles[,.(Positive=weighted.mean(diff>0,Weight),
+ Zero=weighted.mean(diff==0,Weight),
+ Minus=weighted.mean(diff<0,Weight)),by=ProvinceCode]
+
+ decile7<-Deciles[,.(before=weighted.mean(as.numeric(Decile_Nominal)>7,Weight),
+ after=weighted.mean(as.numeric(Decile)>7,Weight)),by=ProvinceCode]
+
+ ###Exp
+ x2<-FractioninData[Region=="Urban",.(Total_Exp_Month_Per_nondurable,Percentile_Nominal)]
+ x2$Percentile_Nominal <- factor(x2$Percentile_Nominal, levels = x2$Percentile_Nominal[order(x2$Percentile_Nominal)])
+ ggplot(x2, aes(x = x2$Percentile_Nominal, y = x2$Total_Exp_Month_Per_nondurable)) + theme_bw() + geom_bar(stat = "identity") + theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1))
+
+ x2<-FractioninData[Region=="Rural",.(Total_Exp_Month_Per_nondurable,Percentile_Nominal)]
+ x2$Percentile_Nominal <- factor(x2$Percentile_Nominal, levels = x2$Percentile_Nominal[order(x2$Percentile_Nominal)])
+ ggplot(x2, aes(x = x2$Percentile_Nominal, y = x2$Total_Exp_Month_Per_nondurable)) + theme_bw() + geom_bar(stat = "identity") + theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1))
+
+
+ ###Tenure
+ #x2<-FractioninData[Region=="Urban",.(tenure,Percentile)]
+ #x2$Percentile <- factor(x2$Percentile, levels = x2$Percentile[order(x2$tenure)])
+ #ggplot(x2, aes(x = x2$Percentile, y = x2$tenure)) + theme_bw() + geom_bar(stat = "identity") + theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1))
+
+ #x2<-FractioninData[Region=="Rural",.(tenure,Percentile)]
+ #x2$Percentile <- factor(x2$Percentile, levels = x2$Percentile[order(x2$tenure)])
+ #ggplot(x2, aes(x = x2$Percentile, y = x2$tenure)) + theme_bw() + geom_bar(stat = "identity") + theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1))
+
+
+ ###HActivity
+ #x2<-FractioninData[Region=="Urban",.(HActivityState,Percentile)]
+ #x2$Percentile <- factor(x2$Percentile, levels = x2$Percentile[order(x2$HActivityState)])
+ #ggplot(x2, aes(x = x2$Percentile, y = x2$HActivityState)) + theme_bw() + geom_bar(stat = "identity") + theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1))
+
+ # x2<-FractioninData[Region=="Rural",.(HActivityState,Percentile)]
+ #x2$Percentile <- factor(x2$Percentile, levels = x2$Percentile[order(x2$HActivityState)])
+ #ggplot(x2, aes(x = x2$Percentile, y = x2$HActivityState)) + theme_bw() + geom_bar(stat = "identity") + theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1))
+
+
+ ###Car
+ #x2<-FractioninData[Region=="Urban",.(Car,Percentile)]
+ #x2$Percentile <- factor(x2$Percentile, levels = x2$Percentile[order(x2$Car)])
+ #ggplot(x2, aes(x = x2$Percentile, y = x2$Car)) + theme_bw() + geom_bar(stat = "identity") + theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1))
+
+ #x2<-FractioninData[Region=="Rural",.(Car,Percentile)]
+ #x2$Percentile <- factor(x2$Percentile, levels = x2$Percentile[order(x2$Car)])
+ #ggplot(x2, aes(x = x2$Percentile, y = x2$Car)) + theme_bw() + geom_bar(stat = "identity") + theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1))
+
+}
+
+
+endtime <- proc.time()
+cat("\n\n============================\nIt took ")
+cat((endtime-starttime)["elapsed"])
+cat(" seconds")
diff --git a/R/Archive/June 2020 (removed code files)/Refah calculations.R b/R/Archive/June 2020 (removed code files)/Refah calculations.R
new file mode 100644
index 00000000..2714dc9f
--- /dev/null
+++ b/R/Archive/June 2020 (removed code files)/Refah calculations.R
@@ -0,0 +1,196 @@
+# Step 7,8,9 and other
+#
+# Copyright © 2018:Majid Einian & Arin Shahbazian
+# Licence: GPL-3
+
+rm(list=ls())
+
+starttime <- proc.time()
+cat("\n\n================ Poverty Line =====================================\n")
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+library(readxl)
+library(data.table)
+library(ggplot2)
+library(stats)
+library(spatstat)
+
+
+year<-97
+
+load(file=paste0(Settings$HEISProcessedPath,"Y",year,"FINALPOORS.rda"))
+
+load(file=paste0(Settings$HEISProcessedPath,"Y",year,"job.rda"))
+
+MD<-merge(MD,job[,.(HHID,PubWageNetIncomeY,PrvWageNetIncomeY)],by=c("HHID"))
+
+MD[FinalPoor==1,weighted.mean(Total_Exp_Month_Per,Weight),by="Region"]
+
+MD[FinalPoor==1 & PovertyLine-Total_Exp_Month_Per>0,
+ sum((PovertyLine-Total_Exp_Month_Per)*Size*Weight),by="Region"]
+
+MD[FinalPoor==1,
+ sum((PovertyLine-Total_Exp_Month_Per)*Size*Weight)]
+
+MD[FinalPoor==1 & PovertyLine-Total_Exp_Month_Per_nondurable>0,
+ sum((PovertyLine-Total_Exp_Month_Per_nondurable)*Size*Weight),by="Region"]
+
+MD[FinalPoor==1 & PovertyLine-Total_Exp_Month_Per_nondurable>0,
+ sum((PovertyLine-Total_Exp_Month_Per_nondurable)*Size*Weight)]
+
+MD[NewArea==2301,sum(Weight*Size)]
+
+MD[,weighted.mean(TFoodKCaloriesHH_Per,Weight),by=.(Region,Decile)][order(Region,Decile)]
+MD[,weighted.mean(TFoodKCaloriesHH_Per,Weight),by=.(Decile)][order(Decile)]
+MD[,weighted.mean(TFoodKCaloriesHH_Per,Weight),by=.(Region)][order(Region)]
+
+MD[,weighted.mean(Bundle_Value,Weight),by=.(Region,Decile)][order(Region,Decile)]
+MD[,weighted.mean(Bundle_Value,Weight),by=.(Decile)][order(Decile)]
+MD[,weighted.mean(Bundle_Value,Weight),by=.(Region)][order(Region)]
+
+MD[,weighted.mean(HHEngle,Weight),by=.(Region,Decile)][order(Region,Decile)]
+MD[,weighted.mean(HHEngle,Weight),by=.(Decile)][order(Decile)]
+MD[,weighted.mean(HHEngle,Weight),by=.(Region)][order(Region)]
+
+load(file = paste0(Settings$HEISProcessedPath,"Y",year,"RetirementWage.rda"))
+MD<-merge(MD,RetirementWageData,by="HHID",all.x = TRUE)
+
+RT<-MD[,.(HHID,Region,HAge,HActivityState,Decile,retirement,Weight)]
+RT[is.na(RT)] <- 0
+RT[,Old:=ifelse(retirement>0 & HAge>48,1,0)]
+RT[,weighted.mean(Old,Weight)]
+RT[,weighted.mean(Old,Weight),by=.(Region,Decile)][order(Region,Decile)]
+RT[,weighted.mean(Old,Weight),by=Decile][order(Decile)]
+RT[,weighted.mean(Old,Weight),by=Region][order(Region)]
+
+RT[,Old1:=ifelse(retirement>0 & HAge>48 &
+ (PubWageNetIncomeY==0 & PrvWageNetIncomeY==0 &
+ BussNetIncomeY==0 & AgriNetIncomeY==0),1,0)]
+RT[,weighted.mean(Old1,Weight)]
+RT[,weighted.mean(Old1,Weight),by=.(Region,Decile)][order(Region,Decile)]
+RT[,weighted.mean(Old1,Weight),by=Decile][order(Decile)]
+RT[,weighted.mean(Old1,Weight),by=Region][order(Region)]
+
+RT[,Old2:=ifelse(retirement>0 & HAge>48 & HActivityState!="Employed" &
+ (PubWageNetIncomeY>0 | PrvWageNetIncomeY>0 |
+ BussNetIncomeY>0 | AgriNetIncomeY>0),1,0)]
+RT[,weighted.mean(Old2,Weight)]
+RT[,weighted.mean(Old2,Weight),by=.(Region,Decile)][order(Region,Decile)]
+RT[,weighted.mean(Old2,Weight),by=Decile][order(Decile)]
+RT[,weighted.mean(Old2,Weight),by=Region][order(Region)]
+
+RT[,Old3:=ifelse(retirement>0 & HAge>48 & HActivityState=="Employed" &
+ (PubWageNetIncomeY>0 | PrvWageNetIncomeY>0 |
+ BussNetIncomeY>0 | AgriNetIncomeY>0),1,0)]
+RT[,weighted.mean(Old3,Weight)]
+RT[,weighted.mean(Old3,Weight),by=.(Region,Decile)][order(Region,Decile)]
+RT[,weighted.mean(Old3,Weight),by=Decile][order(Decile)]
+RT[,weighted.mean(Old3,Weight),by=Region][order(Region)]
+
+
+load(file=paste0(Settings$HEISProcessedPath,"Y",year,"TotalDurable.rda"))
+RT<-merge(RT,TotalDurable[,.(HHID,Premium_gheyredarmani_mostakhdem,
+ Premium_gheyredarmani_karfarma,Premium_retirement_mostakhdem,
+ Premium_retirement_karfarma,Premium_retirement_general,
+ Premium_retirement_Rural_Household,Premium_retirement_Rural_Govern,
+ Premium_retirement_bank)])
+
+RT[,pub1:=ifelse(HActivityState=="Employed" &
+ PubWageNetIncomeY>0 ,1,0)]
+RT[,weighted.mean(pub1,Weight)]
+RT[,weighted.mean(pub1,Weight),by=.(Region,Decile)][order(Region,Decile)]
+RT[,weighted.mean(pub1,Weight),by=Decile][order(Decile)]
+RT[,weighted.mean(pub1,Weight),by=Region][order(Region)]
+
+
+RT[,pub2:=ifelse(PubWageNetIncomeY>0 ,1,0)]
+RT[,weighted.mean(pub2,Weight)]
+RT[,weighted.mean(pub2,Weight),by=.(Region,Decile)][order(Region,Decile)]
+RT[,weighted.mean(pub2,Weight),by=Decile][order(Decile)]
+RT[,weighted.mean(pub2,Weight),by=Region][order(Region)]
+
+
+load(file = paste0(Settings$HEISProcessedPath,"Y",year,"PubWage.rda"))
+load(file = paste0(Settings$HEISProcessedPath,"Y",year,"PrvWages.rda"))
+load(file = paste0(Settings$HEISProcessedPath,"Y",year,"BussIncome.rda"))
+load(file = paste0(Settings$HEISProcessedPath,"Y",year,"AgriWages.rda"))
+
+RT<-merge(RT,PubWageData[,.(HHID,PubWageNetIncomeY)],all.x = TRUE)
+RT<-merge(RT,PrvWageData[,.(HHID,PrvWageNetIncomeY)],all.x = TRUE)
+RT<-merge(RT,BussIncomeData[,.(HHID,BussNetIncomeY)],all.x = TRUE)
+RT<-merge(RT,AgriIncomeData[,.(HHID,AgriNetIncomeY)],all.x = TRUE)
+RT[is.na(RT)] <- 0
+
+a<-RT[AgriNetIncomeY!=0,.(HHID,Region,AgriNetIncomeY,
+ Premium_gheyredarmani_mostakhdem,Weight)]
+a[,weighted.mean(Premium_gheyredarmani_mostakhdem>0,Weight),by=Region]
+
+b<-RT[BussNetIncomeY!=0,.(HHID,Region,BussNetIncomeY,
+ Premium_gheyredarmani_mostakhdem,Weight)]
+b[,weighted.mean(Premium_gheyredarmani_mostakhdem>0,Weight),by=Region]
+
+RT[,P:=ifelse(HActivityState=="Employed",1 ,0)]
+RT[,weighted.mean(P,Weight)]
+RT[,weighted.mean(P,Weight),by=.(Region,Decile)][order(Region,Decile)]
+RT[,weighted.mean(P,Weight),by=Decile][order(Decile)]
+RT[,weighted.mean(P,Weight),by=Region][order(Region)]
+
+RT[,P:=ifelse(HActivityState=="Income without Work",1 ,0)]
+RT[,weighted.mean(P,Weight)]
+RT[,weighted.mean(P,Weight),by=.(Region,Decile)][order(Region,Decile)]
+RT[,weighted.mean(P,Weight),by=Decile][order(Decile)]
+RT[,weighted.mean(P,Weight),by=Region][order(Region)]
+
+
+RT[,P:=ifelse(PubWageNetIncomeY>0 | PrvWageNetIncomeY>0 |
+ BussNetIncomeY>0 | AgriNetIncomeY>0,1 ,0)]
+RT[,weighted.mean(P,Weight)]
+RT[,weighted.mean(P,Weight),by=.(Region,Decile)][order(Region,Decile)]
+RT[,weighted.mean(P,Weight),by=Decile][order(Decile)]
+RT[,weighted.mean(P,Weight),by=Region][order(Region)]
+
+
+RT[,P1:=ifelse((Premium_gheyredarmani_mostakhdem>0 |
+ Premium_gheyredarmani_karfarma>0) &
+ HActivityState=="Employed",1 ,0)]
+RT[,weighted.mean(P1,Weight)]
+RT[,weighted.mean(P1,Weight),by=.(Region,Decile)][order(Region,Decile)]
+RT[,weighted.mean(P1,Weight),by=Decile][order(Decile)]
+RT[,weighted.mean(P1,Weight),by=Region][order(Region)]
+
+RT[,P2:=ifelse(Premium_gheyredarmani_karfarma>0 & HActivityState=="Employed",1 ,0)]
+RT[,weighted.mean(P2,Weight)]
+RT[,weighted.mean(P2,Weight),by=.(Region,Decile)][order(Region,Decile)]
+RT[,weighted.mean(P2,Weight),by=Decile][order(Decile)]
+RT[,weighted.mean(P2,Weight),by=Region][order(Region)]
+
+RT[,P3:=ifelse(Premium_retirement_mostakhdem>0,1 ,0)]
+RT[,weighted.mean(P3,Weight)]
+RT[,weighted.mean(P3,Weight),by=.(Region,Decile)][order(Region,Decile)]
+
+RT[,P4:=ifelse(Premium_retirement_karfarma>0,1 ,0)]
+RT[,weighted.mean(P4,Weight)]
+RT[,weighted.mean(P4,Weight),by=.(Region,Decile)][order(Region,Decile)]
+
+RT[,P5:=ifelse(Premium_retirement_general>0,1 ,0)]
+RT[,weighted.mean(P5,Weight)]
+RT[,weighted.mean(P5,Weight),by=.(Region,Decile)][order(Region,Decile)]
+
+RT[,P6:=ifelse(Premium_retirement_Rural_Household>0,1 ,0)]
+RT[,weighted.mean(P6,Weight)]
+RT[,weighted.mean(P6,Weight),by=.(Region,Decile)][order(Region,Decile)]
+
+RT[,P7:=ifelse(Premium_retirement_Rural_Govern>0,1 ,0)]
+RT[,weighted.mean(P7,Weight)]
+RT[,weighted.mean(P7,Weight),by=.(Region,Decile)][order(Region,Decile)]
+
+RT[,P8:=ifelse(Premium_retirement_bank>0,1 ,0)]
+RT[,weighted.mean(P8,Weight)]
+RT[,weighted.mean(P8,Weight),by=.(Region,Decile)][order(Region,Decile)]
+
+
+endtime <- proc.time()
+cat("\n\n============================\nIt took ")
+cat((endtime-starttime)["elapsed"])
+cat(" seconds")
\ No newline at end of file
diff --git a/R/Archive/June 2020 (removed code files)/Some Calculations fo food.R b/R/Archive/June 2020 (removed code files)/Some Calculations fo food.R
new file mode 100644
index 00000000..72196603
--- /dev/null
+++ b/R/Archive/June 2020 (removed code files)/Some Calculations fo food.R
@@ -0,0 +1,102 @@
+rm(list=ls())
+
+starttime <- proc.time()
+cat("\n\n================ Prepare Data =====================================\n")
+library(yaml)
+library(dplyr)
+Settings <- yaml.load_file("Settings.yaml")
+
+library(readxl)
+library(data.table)
+library(ggplot2)
+#year<-97
+
+TS <- data.table(Year=NA_integer_,Berenj=NA_real_,
+ Gav=NA_real_,Goosfand=NA_real_,
+ Shir=NA_real_,Panir=NA_real_,
+ Tokhmemorgh=NA_real_,
+ Morgh=NA_real_,MacaroniGram=NA_real_,
+ Rob_GojeGram=NA_real_,PiazGram=NA_real_,
+ SibzaminiGram=NA_real_,
+ Decile=NA_real_)[0]
+
+
+for (year in (Settings$startyear:Settings$endyear)){
+ cat(paste0("\n------------------------------\nYear:", year, "\n"))
+load(file=paste0(Settings$HEISProcessedPath,"Y",year,"Total2.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y",year,"FinalPoors.rda"))
+
+MD<-merge(MD,Total[,.(HHID,`011164`,MacaroniGram,`011231`,`011232`,PoultryMeat_MGram,
+ PoultryMeat_NMGram,`011411`,MilkGrams,`011428`,`011429`,
+ Cheese_PasturizedGram,Cheese_NonPasturizedGram,
+ `011921`,Rob_GojeGram,`011441`,`011442`,Egg_MashinGram,
+ Egg_NonMashinGram,`011731`,SibzaminiGram,
+ `011732`,PiazGram,`011211`,`011212`,
+ CowMeatGram,SheepMeatGram,
+ Rice_TaromGram,Rice_DomsiahGram)],by="HHID")
+
+m<-MD[,.(weighted.mean(`011164`/Total_Exp_Month_nondurable,Weight),
+ weighted.mean((`011231`+`011232`)/Total_Exp_Month_nondurable,Weight),
+ weighted.mean(`011411`/Total_Exp_Month_nondurable,Weight),
+ weighted.mean((`011428`+`011429`)/Total_Exp_Month_nondurable,Weight),
+ weighted.mean(`011921`/Total_Exp_Month_nondurable,Weight),
+ weighted.mean((`011441`+`011442`)/Total_Exp_Month_nondurable,Weight),
+ weighted.mean(`011731`/Total_Exp_Month_nondurable,Weight),
+ weighted.mean(`011732`/Total_Exp_Month_nondurable,Weight)),by=Decile][order(Decile)]
+
+z<-MD[,.(weighted.mean(`011164`/FoodExpenditure,Weight),
+ weighted.mean((`011231`+`011232`)/FoodExpenditure,Weight),
+ weighted.mean(`011411`/FoodExpenditure,Weight),
+ weighted.mean((`011428`+`011429`)/FoodExpenditure,Weight),
+ weighted.mean(`011921`/FoodExpenditure,Weight),
+ weighted.mean((`011441`+`011442`)/FoodExpenditure,Weight),
+ weighted.mean(`011731`/FoodExpenditure,Weight),
+ weighted.mean(`011732`/FoodExpenditure,Weight)),by=Decile][order(Decile)]
+
+y<-MD[,.(weighted.mean(`011164`,Weight),
+ weighted.mean(`011231`+`011232`,Weight),
+ weighted.mean(`011411`,Weight),
+ weighted.mean(`011428`+`011429`,Weight),
+ weighted.mean(`011921`,Weight),
+ weighted.mean(`011441`+`011442`,Weight),
+ weighted.mean(`011731`,Weight),
+ weighted.mean(`011732`,Weight)),by=Decile][order(Decile)]
+
+
+x<-MD[,.(MacaroniGram=weighted.mean(MacaroniGram,Weight),
+ PoultryMeat_Gram=weighted.mean(PoultryMeat_MGram+PoultryMeat_NMGram,Weight),
+ MilkGrams=weighted.mean(MilkGrams,Weight),
+ CheeseGram=weighted.mean(Cheese_PasturizedGram+Cheese_NonPasturizedGram,Weight),
+ Rob_GojeGram=weighted.mean(Rob_GojeGram,Weight),
+ Egg_Gram=weighted.mean(Egg_MashinGram+Egg_NonMashinGram,Weight),
+ SibzaminiGram=weighted.mean(SibzaminiGram,Weight),
+ PiazGram=weighted.mean(PiazGram,Weight),
+ CowMeatGram=weighted.mean(CowMeatGram,Weight),
+ SheepMeatGram=weighted.mean(SheepMeatGram,Weight)),by=Decile][order(Decile)]
+
+MD[,weighted.mean(Size,Weight),by=Decile][order(Decile)]
+MD[,weighted.mean(FoodKCaloriesHH_Per,Weight),by=Decile][order(Decile)]
+
+
+A<-MD[,.(Morgh=weighted.mean(PoultryMeat_MGram,Weight),
+ Shir= weighted.mean(MilkGrams,Weight),
+ Panir=weighted.mean(Cheese_PasturizedGram,Weight),
+ Tokhmemorgh=weighted.mean(Egg_MashinGram+Egg_NonMashinGram,Weight),
+ Berenj=weighted.mean(Rice_TaromGram+Rice_DomsiahGram,Weight),
+ Gav=weighted.mean(CowMeatGram,Weight),
+ Goosfand=weighted.mean(SheepMeatGram,Weight),
+ Rob_GojeGram=weighted.mean(Rob_GojeGram,Weight),
+ SibzaminiGram=weighted.mean(SibzaminiGram,Weight),
+ PiazGram=weighted.mean(PiazGram,Weight),
+ MacaroniGram=weighted.mean(MacaroniGram,Weight)),by=Decile][order(Decile)]
+A[,Year:=year]
+TS <- rbind(TS,A)
+
+
+}
+
+#TS<-TS[as.numeric(Decile)<7]
+
+#ggplot(TS, aes( y=Morgh, x=Year,fill=Decile)) +
+ # geom_bar(position="dodge", stat="identity") + theme_bw() +
+ # theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1))
diff --git a/R/Archive/June 2020 (removed code files)/Some Specific Calculations.R b/R/Archive/June 2020 (removed code files)/Some Specific Calculations.R
new file mode 100644
index 00000000..60f4a09a
--- /dev/null
+++ b/R/Archive/June 2020 (removed code files)/Some Specific Calculations.R
@@ -0,0 +1,51 @@
+# Some Specific Calculations.R
+
+rm(list=ls())
+
+starttime <- proc.time()
+cat("\n\n================ Some Specific Calculations =====================================\n")
+
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+#library(foreign)
+library(data.table)
+library(stringr)
+
+for(year in (Settings$startyear:Settings$endyear)){
+ cat(paste0("\n------------------------------\nYear:",year,"\n"))
+
+load( file = paste0(Settings$HEISProcessedPath,"Y",year,"LivestockExp.rda"))
+load( file = paste0(Settings$HEISProcessedPath,"Y",year,"BirdsMeatExp.rda"))
+load( file = paste0(Settings$HEISProcessedPath,"Y",year,"FishandShrimpExp.rda"))
+load(file = paste0(Settings$HEISProcessedPath,"Y",year,"Behdasht1",".rda"))
+load(file = paste0(Settings$HEISProcessedPath,"Y",year,"Behdasht2",".rda"))
+load(file = paste0(Settings$HEISProcessedPath,"Y",year,"Behdasht3",".rda"))
+load(file = paste0(Settings$HEISProcessedPath,"Y",year,"Durable17",".rda"))
+load(file = paste0(Settings$HEISProcessedPath,"Y",year,"Durable18",".rda"))
+load(file = paste0(Settings$HEISProcessedPath,"Y",year,"Durable19",".rda"))
+load(file = paste0(Settings$HEISProcessedPath,"Y",year,"Durable20",".rda"))
+load(file = paste0(Settings$HEISProcessedPath,"Y",year,"Durable21",".rda"))
+
+Specific<-merge(LivestockData,BirdsMeatData,all = TRUE)
+Specific<-merge(Specific,FishandShrimpData,all = TRUE)
+Specific<-merge(Specific,Behdasht1,all = TRUE)
+Specific<-merge(Specific,Behdasht2,all = TRUE)
+Specific<-merge(Specific,Behdasht3,all = TRUE)
+Specific<-merge(Specific,Durable17,all = TRUE)
+Specific<-merge(Specific,Durable18,all = TRUE)
+Specific<-merge(Specific,Durable19,all = TRUE)
+Specific<-merge(Specific,Durable20,all = TRUE)
+Specific<-merge(Specific,Durable21,all = TRUE)
+
+Specific[is.na(Specific)] <- 0
+save(Specific, file=paste0(Settings$HEISProcessedPath,"Y",year,"Specific.rda"))
+
+}
+
+endtime <- proc.time()
+
+cat("\n\n============================\nIt took ")
+cat((endtime-starttime)[3])
+
+
diff --git a/R/Archive/June 2020 (removed code files)/Step 2-2.R b/R/Archive/June 2020 (removed code files)/Step 2-2.R
new file mode 100644
index 00000000..5067097f
--- /dev/null
+++ b/R/Archive/June 2020 (removed code files)/Step 2-2.R
@@ -0,0 +1,449 @@
+#172- Step 2-2.R
+#
+# Copyright © 2018: Majid Einian & Arin Shahbazian
+# Licence: GPL-3
+
+rm(list=ls())
+
+starttime <- proc.time()
+cat("\n\n================ Calculationg Per values =====================================\n")
+
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+library(readxl)
+library(stringr)
+library(data.table)
+library(ggplot2)
+library(spatstat)
+
+for(year in (Settings$startyear:Settings$endyear)){
+ cat(paste0("\n------------------------------\nYear:",year,"\n"))
+
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"Merged4CBN1.rda"))
+
+ MD[,Total_Exp_Month_Per:=Total_Exp_Month/EqSizeOECD]
+ MD[,Total_Exp_Month_Per_nondurable:=Total_Exp_Month_nondurable/EqSizeOECD]
+
+
+ #MD<-merge(MD,BigFoodPrice,by=c("NewArea","Region"),all.x = TRUE)
+ MD<-MD[Size!=0 & OriginalFoodExpenditure!=0 & !is.na(FoodKCaloriesHH)]
+ #MD[,Home_Per_Metr:=MetrPrice/EqSizeOECD]
+
+ #Calculate Per Values
+
+ MD[,EqSizeCalory :=
+ NAge0B *(Settings$ KCaloryNeed_B0 /Calorie_Need_WorldBank)+
+ NAge1B *(Settings$ KCaloryNeed_B1 /Calorie_Need_WorldBank)+
+ NAge2B *(Settings$ KCaloryNeed_B2 /Calorie_Need_WorldBank)+
+ NAge3B *(Settings$ KCaloryNeed_B3 /Calorie_Need_WorldBank)+
+ NAge4B *(Settings$ KCaloryNeed_B4 /Calorie_Need_WorldBank)+
+ NAge5B *(Settings$ KCaloryNeed_B5 /Calorie_Need_WorldBank)+
+ NAge6B *(Settings$ KCaloryNeed_B6 /Calorie_Need_WorldBank)+
+ NAge7B *(Settings$ KCaloryNeed_B7 /Calorie_Need_WorldBank)+
+ NAge8B *(Settings$ KCaloryNeed_B8 /Calorie_Need_WorldBank)+
+ NAge9B *(Settings$ KCaloryNeed_B9 /Calorie_Need_WorldBank)+
+ NAge10B *(Settings$ KCaloryNeed_B10 /Calorie_Need_WorldBank)+
+ NAge11B *(Settings$ KCaloryNeed_B11 /Calorie_Need_WorldBank)+
+ NAge12B *(Settings$ KCaloryNeed_B12 /Calorie_Need_WorldBank)+
+ NAge13B *(Settings$ KCaloryNeed_B13 /Calorie_Need_WorldBank)+
+ NAge14B *(Settings$ KCaloryNeed_B14 /Calorie_Need_WorldBank)+
+ NAge15B *(Settings$ KCaloryNeed_B15 /Calorie_Need_WorldBank)+
+ NAge16B *(Settings$ KCaloryNeed_B16 /Calorie_Need_WorldBank)+
+ NAge17B *(Settings$ KCaloryNeed_B17 /Calorie_Need_WorldBank)+
+ NAge18B *(Settings$ KCaloryNeed_B18 /Calorie_Need_WorldBank)+
+ NAge19B *(Settings$ KCaloryNeed_B19 /Calorie_Need_WorldBank)+
+ NAge20B *(Settings$ KCaloryNeed_B20 /Calorie_Need_WorldBank)+
+ NAge21B *(Settings$ KCaloryNeed_B21 /Calorie_Need_WorldBank)+
+ NAge22B *(Settings$ KCaloryNeed_B22 /Calorie_Need_WorldBank)+
+ NAge23B *(Settings$ KCaloryNeed_B23 /Calorie_Need_WorldBank)+
+ NAge24B *(Settings$ KCaloryNeed_B24 /Calorie_Need_WorldBank)+
+ NAge25B *(Settings$ KCaloryNeed_B25 /Calorie_Need_WorldBank)+
+ NAge26B *(Settings$ KCaloryNeed_B26 /Calorie_Need_WorldBank)+
+ NAge27B *(Settings$ KCaloryNeed_B27 /Calorie_Need_WorldBank)+
+ NAge28B *(Settings$ KCaloryNeed_B28 /Calorie_Need_WorldBank)+
+ NAge29B *(Settings$ KCaloryNeed_B29 /Calorie_Need_WorldBank)+
+ NAge30B *(Settings$ KCaloryNeed_B30 /Calorie_Need_WorldBank)+
+ NAge31B *(Settings$ KCaloryNeed_B31 /Calorie_Need_WorldBank)+
+ NAge32B *(Settings$ KCaloryNeed_B32 /Calorie_Need_WorldBank)+
+ NAge33B *(Settings$ KCaloryNeed_B33 /Calorie_Need_WorldBank)+
+ NAge34B *(Settings$ KCaloryNeed_B34 /Calorie_Need_WorldBank)+
+ NAge35B *(Settings$ KCaloryNeed_B35 /Calorie_Need_WorldBank)+
+ NAge36B *(Settings$ KCaloryNeed_B36 /Calorie_Need_WorldBank)+
+ NAge37B *(Settings$ KCaloryNeed_B37 /Calorie_Need_WorldBank)+
+ NAge38B *(Settings$ KCaloryNeed_B38 /Calorie_Need_WorldBank)+
+ NAge39B *(Settings$ KCaloryNeed_B39 /Calorie_Need_WorldBank)+
+ NAge40B *(Settings$ KCaloryNeed_B40 /Calorie_Need_WorldBank)+
+ NAge41B *(Settings$ KCaloryNeed_B41 /Calorie_Need_WorldBank)+
+ NAge42B *(Settings$ KCaloryNeed_B42 /Calorie_Need_WorldBank)+
+ NAge43B *(Settings$ KCaloryNeed_B43 /Calorie_Need_WorldBank)+
+ NAge44B *(Settings$ KCaloryNeed_B44 /Calorie_Need_WorldBank)+
+ NAge45B *(Settings$ KCaloryNeed_B45 /Calorie_Need_WorldBank)+
+ NAge46B *(Settings$ KCaloryNeed_B46 /Calorie_Need_WorldBank)+
+ NAge47B *(Settings$ KCaloryNeed_B47 /Calorie_Need_WorldBank)+
+ NAge48B *(Settings$ KCaloryNeed_B48 /Calorie_Need_WorldBank)+
+ NAge49B *(Settings$ KCaloryNeed_B49 /Calorie_Need_WorldBank)+
+ NAge50B *(Settings$ KCaloryNeed_B50 /Calorie_Need_WorldBank)+
+ NAge51B *(Settings$ KCaloryNeed_B51 /Calorie_Need_WorldBank)+
+ NAge52B *(Settings$ KCaloryNeed_B52 /Calorie_Need_WorldBank)+
+ NAge53B *(Settings$ KCaloryNeed_B53 /Calorie_Need_WorldBank)+
+ NAge54B *(Settings$ KCaloryNeed_B54 /Calorie_Need_WorldBank)+
+ NAge55B *(Settings$ KCaloryNeed_B55 /Calorie_Need_WorldBank)+
+ NAge56B *(Settings$ KCaloryNeed_B56 /Calorie_Need_WorldBank)+
+ NAge57B *(Settings$ KCaloryNeed_B57 /Calorie_Need_WorldBank)+
+ NAge58B *(Settings$ KCaloryNeed_B58 /Calorie_Need_WorldBank)+
+ NAge59B *(Settings$ KCaloryNeed_B59 /Calorie_Need_WorldBank)+
+ NAge60B *(Settings$ KCaloryNeed_B60 /Calorie_Need_WorldBank)+
+ NAge61B *(Settings$ KCaloryNeed_B61 /Calorie_Need_WorldBank)+
+ NAge62B *(Settings$ KCaloryNeed_B62 /Calorie_Need_WorldBank)+
+ NAge63B *(Settings$ KCaloryNeed_B63 /Calorie_Need_WorldBank)+
+ NAge64B *(Settings$ KCaloryNeed_B64 /Calorie_Need_WorldBank)+
+ NAge65B *(Settings$ KCaloryNeed_B65 /Calorie_Need_WorldBank)+
+ NAge66B *(Settings$ KCaloryNeed_B66 /Calorie_Need_WorldBank)+
+ NAge67B *(Settings$ KCaloryNeed_B67 /Calorie_Need_WorldBank)+
+ NAge68B *(Settings$ KCaloryNeed_B68 /Calorie_Need_WorldBank)+
+ NAge69B *(Settings$ KCaloryNeed_B69 /Calorie_Need_WorldBank)+
+ NAge70B *(Settings$ KCaloryNeed_B70 /Calorie_Need_WorldBank)+
+ NAge71B *(Settings$ KCaloryNeed_B71 /Calorie_Need_WorldBank)+
+ NAge72B *(Settings$ KCaloryNeed_B72 /Calorie_Need_WorldBank)+
+ NAge73B *(Settings$ KCaloryNeed_B73 /Calorie_Need_WorldBank)+
+ NAge74B *(Settings$ KCaloryNeed_B74 /Calorie_Need_WorldBank)+
+ NAge75B *(Settings$ KCaloryNeed_B75 /Calorie_Need_WorldBank)+
+ NAge76B *(Settings$ KCaloryNeed_B76 /Calorie_Need_WorldBank)+
+ NAge77B *(Settings$ KCaloryNeed_B77 /Calorie_Need_WorldBank)+
+ NAge78B *(Settings$ KCaloryNeed_B78 /Calorie_Need_WorldBank)+
+ NAge79B *(Settings$ KCaloryNeed_B79 /Calorie_Need_WorldBank)+
+ NAge80B *(Settings$ KCaloryNeed_B80 /Calorie_Need_WorldBank)+
+ NAge81B *(Settings$ KCaloryNeed_B81 /Calorie_Need_WorldBank)+
+ NAge82B *(Settings$ KCaloryNeed_B82 /Calorie_Need_WorldBank)+
+ NAge83B *(Settings$ KCaloryNeed_B83 /Calorie_Need_WorldBank)+
+ NAge84B *(Settings$ KCaloryNeed_B84 /Calorie_Need_WorldBank)+
+ NAge85B *(Settings$ KCaloryNeed_B85 /Calorie_Need_WorldBank)+
+ NAge86B *(Settings$ KCaloryNeed_B86 /Calorie_Need_WorldBank)+
+ NAge87B *(Settings$ KCaloryNeed_B87 /Calorie_Need_WorldBank)+
+ NAge88B *(Settings$ KCaloryNeed_B88 /Calorie_Need_WorldBank)+
+ NAge89B *(Settings$ KCaloryNeed_B89 /Calorie_Need_WorldBank)+
+ NAge90B *(Settings$ KCaloryNeed_B90 /Calorie_Need_WorldBank)+
+ NAge91B *(Settings$ KCaloryNeed_B91 /Calorie_Need_WorldBank)+
+ NAge92B *(Settings$ KCaloryNeed_B92 /Calorie_Need_WorldBank)+
+ NAge93B *(Settings$ KCaloryNeed_B93 /Calorie_Need_WorldBank)+
+ NAge94B *(Settings$ KCaloryNeed_B94 /Calorie_Need_WorldBank)+
+ NAge95B *(Settings$ KCaloryNeed_B95 /Calorie_Need_WorldBank)+
+ NAge96B *(Settings$ KCaloryNeed_B96 /Calorie_Need_WorldBank)+
+ NAge97B *(Settings$ KCaloryNeed_B97 /Calorie_Need_WorldBank)+
+ NAge98B *(Settings$ KCaloryNeed_B98 /Calorie_Need_WorldBank)+
+ NAge99B *(Settings$ KCaloryNeed_B99 /Calorie_Need_WorldBank)+
+ NAge0G *(Settings$ KCaloryNeed_G0 /Calorie_Need_WorldBank)+
+ NAge1G *(Settings$ KCaloryNeed_G1 /Calorie_Need_WorldBank)+
+ NAge2G *(Settings$ KCaloryNeed_G2 /Calorie_Need_WorldBank)+
+ NAge3G *(Settings$ KCaloryNeed_G3 /Calorie_Need_WorldBank)+
+ NAge4G *(Settings$ KCaloryNeed_G4 /Calorie_Need_WorldBank)+
+ NAge5G *(Settings$ KCaloryNeed_G5 /Calorie_Need_WorldBank)+
+ NAge6G *(Settings$ KCaloryNeed_G6 /Calorie_Need_WorldBank)+
+ NAge7G *(Settings$ KCaloryNeed_G7 /Calorie_Need_WorldBank)+
+ NAge8G *(Settings$ KCaloryNeed_G8 /Calorie_Need_WorldBank)+
+ NAge9G *(Settings$ KCaloryNeed_G9 /Calorie_Need_WorldBank)+
+ NAge10G *(Settings$ KCaloryNeed_G10 /Calorie_Need_WorldBank)+
+ NAge11G *(Settings$ KCaloryNeed_G11 /Calorie_Need_WorldBank)+
+ NAge12G *(Settings$ KCaloryNeed_G12 /Calorie_Need_WorldBank)+
+ NAge13G *(Settings$ KCaloryNeed_G13 /Calorie_Need_WorldBank)+
+ NAge14G *(Settings$ KCaloryNeed_G14 /Calorie_Need_WorldBank)+
+ NAge15G *(Settings$ KCaloryNeed_G15 /Calorie_Need_WorldBank)+
+ NAge16G *(Settings$ KCaloryNeed_G16 /Calorie_Need_WorldBank)+
+ NAge17G *(Settings$ KCaloryNeed_G17 /Calorie_Need_WorldBank)+
+ NAge18G *(Settings$ KCaloryNeed_G18 /Calorie_Need_WorldBank)+
+ NAge19G *(Settings$ KCaloryNeed_G19 /Calorie_Need_WorldBank)+
+ NAge20G *(Settings$ KCaloryNeed_G20 /Calorie_Need_WorldBank)+
+ NAge21G *(Settings$ KCaloryNeed_G21 /Calorie_Need_WorldBank)+
+ NAge22G *(Settings$ KCaloryNeed_G22 /Calorie_Need_WorldBank)+
+ NAge23G *(Settings$ KCaloryNeed_G23 /Calorie_Need_WorldBank)+
+ NAge24G *(Settings$ KCaloryNeed_G24 /Calorie_Need_WorldBank)+
+ NAge25G *(Settings$ KCaloryNeed_G25 /Calorie_Need_WorldBank)+
+ NAge26G *(Settings$ KCaloryNeed_G26 /Calorie_Need_WorldBank)+
+ NAge27G *(Settings$ KCaloryNeed_G27 /Calorie_Need_WorldBank)+
+ NAge28G *(Settings$ KCaloryNeed_G28 /Calorie_Need_WorldBank)+
+ NAge29G *(Settings$ KCaloryNeed_G29 /Calorie_Need_WorldBank)+
+ NAge30G *(Settings$ KCaloryNeed_G30 /Calorie_Need_WorldBank)+
+ NAge31G *(Settings$ KCaloryNeed_G31 /Calorie_Need_WorldBank)+
+ NAge32G *(Settings$ KCaloryNeed_G32 /Calorie_Need_WorldBank)+
+ NAge33G *(Settings$ KCaloryNeed_G33 /Calorie_Need_WorldBank)+
+ NAge34G *(Settings$ KCaloryNeed_G34 /Calorie_Need_WorldBank)+
+ NAge35G *(Settings$ KCaloryNeed_G35 /Calorie_Need_WorldBank)+
+ NAge36G *(Settings$ KCaloryNeed_G36 /Calorie_Need_WorldBank)+
+ NAge37G *(Settings$ KCaloryNeed_G37 /Calorie_Need_WorldBank)+
+ NAge38G *(Settings$ KCaloryNeed_G38 /Calorie_Need_WorldBank)+
+ NAge39G *(Settings$ KCaloryNeed_G39 /Calorie_Need_WorldBank)+
+ NAge40G *(Settings$ KCaloryNeed_G40 /Calorie_Need_WorldBank)+
+ NAge41G *(Settings$ KCaloryNeed_G41 /Calorie_Need_WorldBank)+
+ NAge42G *(Settings$ KCaloryNeed_G42 /Calorie_Need_WorldBank)+
+ NAge43G *(Settings$ KCaloryNeed_G43 /Calorie_Need_WorldBank)+
+ NAge44G *(Settings$ KCaloryNeed_G44 /Calorie_Need_WorldBank)+
+ NAge45G *(Settings$ KCaloryNeed_G45 /Calorie_Need_WorldBank)+
+ NAge46G *(Settings$ KCaloryNeed_G46 /Calorie_Need_WorldBank)+
+ NAge47G *(Settings$ KCaloryNeed_G47 /Calorie_Need_WorldBank)+
+ NAge48G *(Settings$ KCaloryNeed_G48 /Calorie_Need_WorldBank)+
+ NAge49G *(Settings$ KCaloryNeed_G49 /Calorie_Need_WorldBank)+
+ NAge50G *(Settings$ KCaloryNeed_G50 /Calorie_Need_WorldBank)+
+ NAge51G *(Settings$ KCaloryNeed_G51 /Calorie_Need_WorldBank)+
+ NAge52G *(Settings$ KCaloryNeed_G52 /Calorie_Need_WorldBank)+
+ NAge53G *(Settings$ KCaloryNeed_G53 /Calorie_Need_WorldBank)+
+ NAge54G *(Settings$ KCaloryNeed_G54 /Calorie_Need_WorldBank)+
+ NAge55G *(Settings$ KCaloryNeed_G55 /Calorie_Need_WorldBank)+
+ NAge56G *(Settings$ KCaloryNeed_G56 /Calorie_Need_WorldBank)+
+ NAge57G *(Settings$ KCaloryNeed_G57 /Calorie_Need_WorldBank)+
+ NAge58G *(Settings$ KCaloryNeed_G58 /Calorie_Need_WorldBank)+
+ NAge59G *(Settings$ KCaloryNeed_G59 /Calorie_Need_WorldBank)+
+ NAge60G *(Settings$ KCaloryNeed_G60 /Calorie_Need_WorldBank)+
+ NAge61G *(Settings$ KCaloryNeed_G61 /Calorie_Need_WorldBank)+
+ NAge62G *(Settings$ KCaloryNeed_G62 /Calorie_Need_WorldBank)+
+ NAge63G *(Settings$ KCaloryNeed_G63 /Calorie_Need_WorldBank)+
+ NAge64G *(Settings$ KCaloryNeed_G64 /Calorie_Need_WorldBank)+
+ NAge65G *(Settings$ KCaloryNeed_G65 /Calorie_Need_WorldBank)+
+ NAge66G *(Settings$ KCaloryNeed_G66 /Calorie_Need_WorldBank)+
+ NAge67G *(Settings$ KCaloryNeed_G67 /Calorie_Need_WorldBank)+
+ NAge68G *(Settings$ KCaloryNeed_G68 /Calorie_Need_WorldBank)+
+ NAge69G *(Settings$ KCaloryNeed_G69 /Calorie_Need_WorldBank)+
+ NAge70G *(Settings$ KCaloryNeed_G70 /Calorie_Need_WorldBank)+
+ NAge71G *(Settings$ KCaloryNeed_G71 /Calorie_Need_WorldBank)+
+ NAge72G *(Settings$ KCaloryNeed_G72 /Calorie_Need_WorldBank)+
+ NAge73G *(Settings$ KCaloryNeed_G73 /Calorie_Need_WorldBank)+
+ NAge74G *(Settings$ KCaloryNeed_G74 /Calorie_Need_WorldBank)+
+ NAge75G *(Settings$ KCaloryNeed_G75 /Calorie_Need_WorldBank)+
+ NAge76G *(Settings$ KCaloryNeed_G76 /Calorie_Need_WorldBank)+
+ NAge77G *(Settings$ KCaloryNeed_G77 /Calorie_Need_WorldBank)+
+ NAge78G *(Settings$ KCaloryNeed_G78 /Calorie_Need_WorldBank)+
+ NAge79G *(Settings$ KCaloryNeed_G79 /Calorie_Need_WorldBank)+
+ NAge80G *(Settings$ KCaloryNeed_G80 /Calorie_Need_WorldBank)+
+ NAge81G *(Settings$ KCaloryNeed_G81 /Calorie_Need_WorldBank)+
+ NAge82G *(Settings$ KCaloryNeed_G82 /Calorie_Need_WorldBank)+
+ NAge83G *(Settings$ KCaloryNeed_G83 /Calorie_Need_WorldBank)+
+ NAge84G *(Settings$ KCaloryNeed_G84 /Calorie_Need_WorldBank)+
+ NAge85G *(Settings$ KCaloryNeed_G85 /Calorie_Need_WorldBank)+
+ NAge86G *(Settings$ KCaloryNeed_G86 /Calorie_Need_WorldBank)+
+ NAge87G *(Settings$ KCaloryNeed_G87 /Calorie_Need_WorldBank)+
+ NAge88G *(Settings$ KCaloryNeed_G88 /Calorie_Need_WorldBank)+
+ NAge89G *(Settings$ KCaloryNeed_G89 /Calorie_Need_WorldBank)+
+ NAge90G *(Settings$ KCaloryNeed_G90 /Calorie_Need_WorldBank)+
+ NAge91G *(Settings$ KCaloryNeed_G91 /Calorie_Need_WorldBank)+
+ NAge92G *(Settings$ KCaloryNeed_G92 /Calorie_Need_WorldBank)+
+ NAge93G *(Settings$ KCaloryNeed_G93 /Calorie_Need_WorldBank)+
+ NAge94G *(Settings$ KCaloryNeed_G94 /Calorie_Need_WorldBank)+
+ NAge95G *(Settings$ KCaloryNeed_G95 /Calorie_Need_WorldBank)+
+ NAge96G *(Settings$ KCaloryNeed_G96 /Calorie_Need_WorldBank)+
+ NAge97G *(Settings$ KCaloryNeed_G97 /Calorie_Need_WorldBank)+
+ NAge98G *(Settings$ KCaloryNeed_G98 /Calorie_Need_WorldBank)+
+ NAge99G *(Settings$ KCaloryNeed_G99 /Calorie_Need_WorldBank)+
+ lactating*(Settings$KCaloryNeed_lactating/Calorie_Need_WorldBank)]
+
+ MD[,EqSizeCalory2 :=
+ NAge0_A_B *(Settings$ KCaloryNeed_A_B0 /Calorie_Need_Anstitoo)+
+ NAge1_A_B *(Settings$ KCaloryNeed_A_B1 /Calorie_Need_Anstitoo)+
+ NAge2_A_B *(Settings$ KCaloryNeed_A_B2 /Calorie_Need_Anstitoo)+
+ NAge3_A_B *(Settings$ KCaloryNeed_A_B3 /Calorie_Need_Anstitoo)+
+ NAge4_A_B *(Settings$ KCaloryNeed_A_B4 /Calorie_Need_Anstitoo)+
+ NAge5_A_B *(Settings$ KCaloryNeed_A_B5 /Calorie_Need_Anstitoo)+
+ NAge6_A_B *(Settings$ KCaloryNeed_A_B6 /Calorie_Need_Anstitoo)+
+ NAge7_A_B *(Settings$ KCaloryNeed_A_B7 /Calorie_Need_Anstitoo)+
+ NAge8_A_B *(Settings$ KCaloryNeed_A_B8 /Calorie_Need_Anstitoo)+
+ NAge9_A_B *(Settings$ KCaloryNeed_A_B9 /Calorie_Need_Anstitoo)+
+ NAge10_A_B *(Settings$ KCaloryNeed_A_B10 /Calorie_Need_Anstitoo)+
+ NAge11_A_B *(Settings$ KCaloryNeed_A_B11 /Calorie_Need_Anstitoo)+
+ NAge12_A_B *(Settings$ KCaloryNeed_A_B12 /Calorie_Need_Anstitoo)+
+ NAge13_A_B *(Settings$ KCaloryNeed_A_B13 /Calorie_Need_Anstitoo)+
+ NAge14_A_B *(Settings$ KCaloryNeed_A_B14 /Calorie_Need_Anstitoo)+
+ NAge15_A_B *(Settings$ KCaloryNeed_A_B15 /Calorie_Need_Anstitoo)+
+ NAge16_A_B *(Settings$ KCaloryNeed_A_B16 /Calorie_Need_Anstitoo)+
+ NAge17_A_B *(Settings$ KCaloryNeed_A_B17 /Calorie_Need_Anstitoo)+
+ NAge18_A_B *(Settings$ KCaloryNeed_A_B18 /Calorie_Need_Anstitoo)+
+ NAge19_A_B *(Settings$ KCaloryNeed_A_B19 /Calorie_Need_Anstitoo)+
+ NAge20_A_B *(Settings$ KCaloryNeed_A_B20 /Calorie_Need_Anstitoo)+
+ NAge21_A_B *(Settings$ KCaloryNeed_A_B21 /Calorie_Need_Anstitoo)+
+ NAge22_A_B *(Settings$ KCaloryNeed_A_B22 /Calorie_Need_Anstitoo)+
+ NAge23_A_B *(Settings$ KCaloryNeed_A_B23 /Calorie_Need_Anstitoo)+
+ NAge24_A_B *(Settings$ KCaloryNeed_A_B24 /Calorie_Need_Anstitoo)+
+ NAge25_A_B *(Settings$ KCaloryNeed_A_B25 /Calorie_Need_Anstitoo)+
+ NAge26_A_B *(Settings$ KCaloryNeed_A_B26 /Calorie_Need_Anstitoo)+
+ NAge27_A_B *(Settings$ KCaloryNeed_A_B27 /Calorie_Need_Anstitoo)+
+ NAge28_A_B *(Settings$ KCaloryNeed_A_B28 /Calorie_Need_Anstitoo)+
+ NAge29_A_B *(Settings$ KCaloryNeed_A_B29 /Calorie_Need_Anstitoo)+
+ NAge30_A_B *(Settings$ KCaloryNeed_A_B30 /Calorie_Need_Anstitoo)+
+ NAge31_A_B *(Settings$ KCaloryNeed_A_B31 /Calorie_Need_Anstitoo)+
+ NAge32_A_B *(Settings$ KCaloryNeed_A_B32 /Calorie_Need_Anstitoo)+
+ NAge33_A_B *(Settings$ KCaloryNeed_A_B33 /Calorie_Need_Anstitoo)+
+ NAge34_A_B *(Settings$ KCaloryNeed_A_B34 /Calorie_Need_Anstitoo)+
+ NAge35_A_B *(Settings$ KCaloryNeed_A_B35 /Calorie_Need_Anstitoo)+
+ NAge36_A_B *(Settings$ KCaloryNeed_A_B36 /Calorie_Need_Anstitoo)+
+ NAge37_A_B *(Settings$ KCaloryNeed_A_B37 /Calorie_Need_Anstitoo)+
+ NAge38_A_B *(Settings$ KCaloryNeed_A_B38 /Calorie_Need_Anstitoo)+
+ NAge39_A_B *(Settings$ KCaloryNeed_A_B39 /Calorie_Need_Anstitoo)+
+ NAge40_A_B *(Settings$ KCaloryNeed_A_B40 /Calorie_Need_Anstitoo)+
+ NAge41_A_B *(Settings$ KCaloryNeed_A_B41 /Calorie_Need_Anstitoo)+
+ NAge42_A_B *(Settings$ KCaloryNeed_A_B42 /Calorie_Need_Anstitoo)+
+ NAge43_A_B *(Settings$ KCaloryNeed_A_B43 /Calorie_Need_Anstitoo)+
+ NAge44_A_B *(Settings$ KCaloryNeed_A_B44 /Calorie_Need_Anstitoo)+
+ NAge45_A_B *(Settings$ KCaloryNeed_A_B45 /Calorie_Need_Anstitoo)+
+ NAge46_A_B *(Settings$ KCaloryNeed_A_B46 /Calorie_Need_Anstitoo)+
+ NAge47_A_B *(Settings$ KCaloryNeed_A_B47 /Calorie_Need_Anstitoo)+
+ NAge48_A_B *(Settings$ KCaloryNeed_A_B48 /Calorie_Need_Anstitoo)+
+ NAge49_A_B *(Settings$ KCaloryNeed_A_B49 /Calorie_Need_Anstitoo)+
+ NAge50_A_B *(Settings$ KCaloryNeed_A_B50 /Calorie_Need_Anstitoo)+
+ NAge51_A_B *(Settings$ KCaloryNeed_A_B51 /Calorie_Need_Anstitoo)+
+ NAge52_A_B *(Settings$ KCaloryNeed_A_B52 /Calorie_Need_Anstitoo)+
+ NAge53_A_B *(Settings$ KCaloryNeed_A_B53 /Calorie_Need_Anstitoo)+
+ NAge54_A_B *(Settings$ KCaloryNeed_A_B54 /Calorie_Need_Anstitoo)+
+ NAge55_A_B *(Settings$ KCaloryNeed_A_B55 /Calorie_Need_Anstitoo)+
+ NAge56_A_B *(Settings$ KCaloryNeed_A_B56 /Calorie_Need_Anstitoo)+
+ NAge57_A_B *(Settings$ KCaloryNeed_A_B57 /Calorie_Need_Anstitoo)+
+ NAge58_A_B *(Settings$ KCaloryNeed_A_B58 /Calorie_Need_Anstitoo)+
+ NAge59_A_B *(Settings$ KCaloryNeed_A_B59 /Calorie_Need_Anstitoo)+
+ NAge60_A_B *(Settings$ KCaloryNeed_A_B60 /Calorie_Need_Anstitoo)+
+ NAge61_A_B *(Settings$ KCaloryNeed_A_B61 /Calorie_Need_Anstitoo)+
+ NAge62_A_B *(Settings$ KCaloryNeed_A_B62 /Calorie_Need_Anstitoo)+
+ NAge63_A_B *(Settings$ KCaloryNeed_A_B63 /Calorie_Need_Anstitoo)+
+ NAge64_A_B *(Settings$ KCaloryNeed_A_B64 /Calorie_Need_Anstitoo)+
+ NAge65_A_B *(Settings$ KCaloryNeed_A_B65 /Calorie_Need_Anstitoo)+
+ NAge66_A_B *(Settings$ KCaloryNeed_A_B66 /Calorie_Need_Anstitoo)+
+ NAge67_A_B *(Settings$ KCaloryNeed_A_B67 /Calorie_Need_Anstitoo)+
+ NAge68_A_B *(Settings$ KCaloryNeed_A_B68 /Calorie_Need_Anstitoo)+
+ NAge69_A_B *(Settings$ KCaloryNeed_A_B69 /Calorie_Need_Anstitoo)+
+ NAge70_A_B *(Settings$ KCaloryNeed_A_B70 /Calorie_Need_Anstitoo)+
+ NAge71_A_B *(Settings$ KCaloryNeed_A_B71 /Calorie_Need_Anstitoo)+
+ NAge72_A_B *(Settings$ KCaloryNeed_A_B72 /Calorie_Need_Anstitoo)+
+ NAge73_A_B *(Settings$ KCaloryNeed_A_B73 /Calorie_Need_Anstitoo)+
+ NAge74_A_B *(Settings$ KCaloryNeed_A_B74 /Calorie_Need_Anstitoo)+
+ NAge75_A_B *(Settings$ KCaloryNeed_A_B75 /Calorie_Need_Anstitoo)+
+ NAge76_A_B *(Settings$ KCaloryNeed_A_B76 /Calorie_Need_Anstitoo)+
+ NAge77_A_B *(Settings$ KCaloryNeed_A_B77 /Calorie_Need_Anstitoo)+
+ NAge78_A_B *(Settings$ KCaloryNeed_A_B78 /Calorie_Need_Anstitoo)+
+ NAge79_A_B *(Settings$ KCaloryNeed_A_B79 /Calorie_Need_Anstitoo)+
+ NAge80_A_B *(Settings$ KCaloryNeed_A_B80 /Calorie_Need_Anstitoo)+
+ NAge81_A_B *(Settings$ KCaloryNeed_A_B81 /Calorie_Need_Anstitoo)+
+ NAge82_A_B *(Settings$ KCaloryNeed_A_B82 /Calorie_Need_Anstitoo)+
+ NAge83_A_B *(Settings$ KCaloryNeed_A_B83 /Calorie_Need_Anstitoo)+
+ NAge84_A_B *(Settings$ KCaloryNeed_A_B84 /Calorie_Need_Anstitoo)+
+ NAge85_A_B *(Settings$ KCaloryNeed_A_B85 /Calorie_Need_Anstitoo)+
+ NAge86_A_B *(Settings$ KCaloryNeed_A_B86 /Calorie_Need_Anstitoo)+
+ NAge87_A_B *(Settings$ KCaloryNeed_A_B87 /Calorie_Need_Anstitoo)+
+ NAge88_A_B *(Settings$ KCaloryNeed_A_B88 /Calorie_Need_Anstitoo)+
+ NAge89_A_B *(Settings$ KCaloryNeed_A_B89 /Calorie_Need_Anstitoo)+
+ NAge90_A_B *(Settings$ KCaloryNeed_A_B90 /Calorie_Need_Anstitoo)+
+ NAge91_A_B *(Settings$ KCaloryNeed_A_B91 /Calorie_Need_Anstitoo)+
+ NAge92_A_B *(Settings$ KCaloryNeed_A_B92 /Calorie_Need_Anstitoo)+
+ NAge93_A_B *(Settings$ KCaloryNeed_A_B93 /Calorie_Need_Anstitoo)+
+ NAge94_A_B *(Settings$ KCaloryNeed_A_B94 /Calorie_Need_Anstitoo)+
+ NAge95_A_B *(Settings$ KCaloryNeed_A_B95 /Calorie_Need_Anstitoo)+
+ NAge96_A_B *(Settings$ KCaloryNeed_A_B96 /Calorie_Need_Anstitoo)+
+ NAge97_A_B *(Settings$ KCaloryNeed_A_B97 /Calorie_Need_Anstitoo)+
+ NAge98_A_B *(Settings$ KCaloryNeed_A_B98 /Calorie_Need_Anstitoo)+
+ NAge99_A_B *(Settings$ KCaloryNeed_A_B99 /Calorie_Need_Anstitoo)+
+ NAge0_A_G *(Settings$ KCaloryNeed_A_G0 /Calorie_Need_Anstitoo)+
+ NAge1_A_G *(Settings$ KCaloryNeed_A_G1 /Calorie_Need_Anstitoo)+
+ NAge2_A_G *(Settings$ KCaloryNeed_A_G2 /Calorie_Need_Anstitoo)+
+ NAge3_A_G *(Settings$ KCaloryNeed_A_G3 /Calorie_Need_Anstitoo)+
+ NAge4_A_G *(Settings$ KCaloryNeed_A_G4 /Calorie_Need_Anstitoo)+
+ NAge5_A_G *(Settings$ KCaloryNeed_A_G5 /Calorie_Need_Anstitoo)+
+ NAge6_A_G *(Settings$ KCaloryNeed_A_G6 /Calorie_Need_Anstitoo)+
+ NAge7_A_G *(Settings$ KCaloryNeed_A_G7 /Calorie_Need_Anstitoo)+
+ NAge8_A_G *(Settings$ KCaloryNeed_A_G8 /Calorie_Need_Anstitoo)+
+ NAge9_A_G *(Settings$ KCaloryNeed_A_G9 /Calorie_Need_Anstitoo)+
+ NAge10_A_G *(Settings$ KCaloryNeed_A_G10 /Calorie_Need_Anstitoo)+
+ NAge11_A_G *(Settings$ KCaloryNeed_A_G11 /Calorie_Need_Anstitoo)+
+ NAge12_A_G *(Settings$ KCaloryNeed_A_G12 /Calorie_Need_Anstitoo)+
+ NAge13_A_G *(Settings$ KCaloryNeed_A_G13 /Calorie_Need_Anstitoo)+
+ NAge14_A_G *(Settings$ KCaloryNeed_A_G14 /Calorie_Need_Anstitoo)+
+ NAge15_A_G *(Settings$ KCaloryNeed_A_G15 /Calorie_Need_Anstitoo)+
+ NAge16_A_G *(Settings$ KCaloryNeed_A_G16 /Calorie_Need_Anstitoo)+
+ NAge17_A_G *(Settings$ KCaloryNeed_A_G17 /Calorie_Need_Anstitoo)+
+ NAge18_A_G *(Settings$ KCaloryNeed_A_G18 /Calorie_Need_Anstitoo)+
+ NAge19_A_G *(Settings$ KCaloryNeed_A_G19 /Calorie_Need_Anstitoo)+
+ NAge20_A_G *(Settings$ KCaloryNeed_A_G20 /Calorie_Need_Anstitoo)+
+ NAge21_A_G *(Settings$ KCaloryNeed_A_G21 /Calorie_Need_Anstitoo)+
+ NAge22_A_G *(Settings$ KCaloryNeed_A_G22 /Calorie_Need_Anstitoo)+
+ NAge23_A_G *(Settings$ KCaloryNeed_A_G23 /Calorie_Need_Anstitoo)+
+ NAge24_A_G *(Settings$ KCaloryNeed_A_G24 /Calorie_Need_Anstitoo)+
+ NAge25_A_G *(Settings$ KCaloryNeed_A_G25 /Calorie_Need_Anstitoo)+
+ NAge26_A_G *(Settings$ KCaloryNeed_A_G26 /Calorie_Need_Anstitoo)+
+ NAge27_A_G *(Settings$ KCaloryNeed_A_G27 /Calorie_Need_Anstitoo)+
+ NAge28_A_G *(Settings$ KCaloryNeed_A_G28 /Calorie_Need_Anstitoo)+
+ NAge29_A_G *(Settings$ KCaloryNeed_A_G29 /Calorie_Need_Anstitoo)+
+ NAge30_A_G *(Settings$ KCaloryNeed_A_G30 /Calorie_Need_Anstitoo)+
+ NAge31_A_G *(Settings$ KCaloryNeed_A_G31 /Calorie_Need_Anstitoo)+
+ NAge32_A_G *(Settings$ KCaloryNeed_A_G32 /Calorie_Need_Anstitoo)+
+ NAge33_A_G *(Settings$ KCaloryNeed_A_G33 /Calorie_Need_Anstitoo)+
+ NAge34_A_G *(Settings$ KCaloryNeed_A_G34 /Calorie_Need_Anstitoo)+
+ NAge35_A_G *(Settings$ KCaloryNeed_A_G35 /Calorie_Need_Anstitoo)+
+ NAge36_A_G *(Settings$ KCaloryNeed_A_G36 /Calorie_Need_Anstitoo)+
+ NAge37_A_G *(Settings$ KCaloryNeed_A_G37 /Calorie_Need_Anstitoo)+
+ NAge38_A_G *(Settings$ KCaloryNeed_A_G38 /Calorie_Need_Anstitoo)+
+ NAge39_A_G *(Settings$ KCaloryNeed_A_G39 /Calorie_Need_Anstitoo)+
+ NAge40_A_G *(Settings$ KCaloryNeed_A_G40 /Calorie_Need_Anstitoo)+
+ NAge41_A_G *(Settings$ KCaloryNeed_A_G41 /Calorie_Need_Anstitoo)+
+ NAge42_A_G *(Settings$ KCaloryNeed_A_G42 /Calorie_Need_Anstitoo)+
+ NAge43_A_G *(Settings$ KCaloryNeed_A_G43 /Calorie_Need_Anstitoo)+
+ NAge44_A_G *(Settings$ KCaloryNeed_A_G44 /Calorie_Need_Anstitoo)+
+ NAge45_A_G *(Settings$ KCaloryNeed_A_G45 /Calorie_Need_Anstitoo)+
+ NAge46_A_G *(Settings$ KCaloryNeed_A_G46 /Calorie_Need_Anstitoo)+
+ NAge47_A_G *(Settings$ KCaloryNeed_A_G47 /Calorie_Need_Anstitoo)+
+ NAge48_A_G *(Settings$ KCaloryNeed_A_G48 /Calorie_Need_Anstitoo)+
+ NAge49_A_G *(Settings$ KCaloryNeed_A_G49 /Calorie_Need_Anstitoo)+
+ NAge50_A_G *(Settings$ KCaloryNeed_A_G50 /Calorie_Need_Anstitoo)+
+ NAge51_A_G *(Settings$ KCaloryNeed_A_G51 /Calorie_Need_Anstitoo)+
+ NAge52_A_G *(Settings$ KCaloryNeed_A_G52 /Calorie_Need_Anstitoo)+
+ NAge53_A_G *(Settings$ KCaloryNeed_A_G53 /Calorie_Need_Anstitoo)+
+ NAge54_A_G *(Settings$ KCaloryNeed_A_G54 /Calorie_Need_Anstitoo)+
+ NAge55_A_G *(Settings$ KCaloryNeed_A_G55 /Calorie_Need_Anstitoo)+
+ NAge56_A_G *(Settings$ KCaloryNeed_A_G56 /Calorie_Need_Anstitoo)+
+ NAge57_A_G *(Settings$ KCaloryNeed_A_G57 /Calorie_Need_Anstitoo)+
+ NAge58_A_G *(Settings$ KCaloryNeed_A_G58 /Calorie_Need_Anstitoo)+
+ NAge59_A_G *(Settings$ KCaloryNeed_A_G59 /Calorie_Need_Anstitoo)+
+ NAge60_A_G *(Settings$ KCaloryNeed_A_G60 /Calorie_Need_Anstitoo)+
+ NAge61_A_G *(Settings$ KCaloryNeed_A_G61 /Calorie_Need_Anstitoo)+
+ NAge62_A_G *(Settings$ KCaloryNeed_A_G62 /Calorie_Need_Anstitoo)+
+ NAge63_A_G *(Settings$ KCaloryNeed_A_G63 /Calorie_Need_Anstitoo)+
+ NAge64_A_G *(Settings$ KCaloryNeed_A_G64 /Calorie_Need_Anstitoo)+
+ NAge65_A_G *(Settings$ KCaloryNeed_A_G65 /Calorie_Need_Anstitoo)+
+ NAge66_A_G *(Settings$ KCaloryNeed_A_G66 /Calorie_Need_Anstitoo)+
+ NAge67_A_G *(Settings$ KCaloryNeed_A_G67 /Calorie_Need_Anstitoo)+
+ NAge68_A_G *(Settings$ KCaloryNeed_A_G68 /Calorie_Need_Anstitoo)+
+ NAge69_A_G *(Settings$ KCaloryNeed_A_G69 /Calorie_Need_Anstitoo)+
+ NAge70_A_G *(Settings$ KCaloryNeed_A_G70 /Calorie_Need_Anstitoo)+
+ NAge71_A_G *(Settings$ KCaloryNeed_A_G71 /Calorie_Need_Anstitoo)+
+ NAge72_A_G *(Settings$ KCaloryNeed_A_G72 /Calorie_Need_Anstitoo)+
+ NAge73_A_G *(Settings$ KCaloryNeed_A_G73 /Calorie_Need_Anstitoo)+
+ NAge74_A_G *(Settings$ KCaloryNeed_A_G74 /Calorie_Need_Anstitoo)+
+ NAge75_A_G *(Settings$ KCaloryNeed_A_G75 /Calorie_Need_Anstitoo)+
+ NAge76_A_G *(Settings$ KCaloryNeed_A_G76 /Calorie_Need_Anstitoo)+
+ NAge77_A_G *(Settings$ KCaloryNeed_A_G77 /Calorie_Need_Anstitoo)+
+ NAge78_A_G *(Settings$ KCaloryNeed_A_G78 /Calorie_Need_Anstitoo)+
+ NAge79_A_G *(Settings$ KCaloryNeed_A_G79 /Calorie_Need_Anstitoo)+
+ NAge80_A_G *(Settings$ KCaloryNeed_A_G80 /Calorie_Need_Anstitoo)+
+ NAge81_A_G *(Settings$ KCaloryNeed_A_G81 /Calorie_Need_Anstitoo)+
+ NAge82_A_G *(Settings$ KCaloryNeed_A_G82 /Calorie_Need_Anstitoo)+
+ NAge83_A_G *(Settings$ KCaloryNeed_A_G83 /Calorie_Need_Anstitoo)+
+ NAge84_A_G *(Settings$ KCaloryNeed_A_G84 /Calorie_Need_Anstitoo)+
+ NAge85_A_G *(Settings$ KCaloryNeed_A_G85 /Calorie_Need_Anstitoo)+
+ NAge86_A_G *(Settings$ KCaloryNeed_A_G86 /Calorie_Need_Anstitoo)+
+ NAge87_A_G *(Settings$ KCaloryNeed_A_G87 /Calorie_Need_Anstitoo)+
+ NAge88_A_G *(Settings$ KCaloryNeed_A_G88 /Calorie_Need_Anstitoo)+
+ NAge89_A_G *(Settings$ KCaloryNeed_A_G89 /Calorie_Need_Anstitoo)+
+ NAge90_A_G *(Settings$ KCaloryNeed_A_G90 /Calorie_Need_Anstitoo)+
+ NAge91_A_G *(Settings$ KCaloryNeed_A_G91 /Calorie_Need_Anstitoo)+
+ NAge92_A_G *(Settings$ KCaloryNeed_A_G92 /Calorie_Need_Anstitoo)+
+ NAge93_A_G *(Settings$ KCaloryNeed_A_G93 /Calorie_Need_Anstitoo)+
+ NAge94_A_G *(Settings$ KCaloryNeed_A_G94 /Calorie_Need_Anstitoo)+
+ NAge95_A_G *(Settings$ KCaloryNeed_A_G95 /Calorie_Need_Anstitoo)+
+ NAge96_A_G *(Settings$ KCaloryNeed_A_G96 /Calorie_Need_Anstitoo)+
+ NAge97_A_G *(Settings$ KCaloryNeed_A_G97 /Calorie_Need_Anstitoo)+
+ NAge98_A_G *(Settings$ KCaloryNeed_A_G98 /Calorie_Need_Anstitoo)+
+ NAge99_A_G *(Settings$ KCaloryNeed_A_G99 /Calorie_Need_Anstitoo)+
+ lactating*(Settings$KCaloryNeed_lactating/Calorie_Need_Anstitoo)]
+
+ save(MD, file=paste0(Settings$HEISProcessedPath,"Y",year,"Merged4CBN2.rda"))
+
+}
+
+
+
+endtime <- proc.time()
+cat("\n\n============================\nIt took ")
+cat(endtime-starttime)
\ No newline at end of file
diff --git a/R/Archive/June 2020 (removed code files)/Step 6- FoodBasicNeeds (version 2).R b/R/Archive/June 2020 (removed code files)/Step 6- FoodBasicNeeds (version 2).R
new file mode 100644
index 00000000..b0969328
--- /dev/null
+++ b/R/Archive/June 2020 (removed code files)/Step 6- FoodBasicNeeds (version 2).R
@@ -0,0 +1,80 @@
+#176-Step 6- FoodBasicNeeds (version 2).R
+#
+# Copyright © 2018:Majid Einian & Arin Shahbazian
+# Licence: GPL-3
+
+rm(list=ls())
+
+starttime <- proc.time()
+cat("\n\n================ Prepare Data =====================================\n")
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+library(readxl)
+library(data.table)
+library(ggplot2)
+
+for(year in (Settings$startyear:Settings$endyear)){
+ cat(paste0("\n------------------------------\nYear:",year,"\n"))
+
+ # load data --------------------------------------
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"InitialPoorClustered.rda"))
+ MD[,Bundle_Value_T:=Bundle_Value+Bundle_Value_H]
+
+ #Determine Food (Equal 2100 KCal) Bundle
+ #MDPoors<-MD[InitialPoor==1]
+ MD[,NewPoor:=InitialPoor]
+ #MD[,NewPoor:=ifelse(Decile %in% c(1,2,3,4),1,0)]
+ MD[,OldPoor:=1]
+
+ i <- 0
+ while(MD[(NewPoor-OldPoor)!=0,.N]>0.001*nrow(MD[NewPoor==1]) & i <=15){
+ # cat(nrow(MD[NewPoor==1]))
+ i <- i + 1
+ MD[,ThisIterationPoor:=NewPoor]
+ MD[,FPLine:=NULL]
+ MD[,FPLine2:=NULL]
+ MDP <- MD[ThisIterationPoor==1,
+ .(FPLine=weighted.mean(Bundle_Value,Weight,na.rm = TRUE),
+ FPLine2=weighted.mean(Bundle_Value_T,Weight,na.rm = TRUE)),
+ by=.(cluster3,Region)]
+ MD <- merge(MD,MDP,by=c("Region","cluster3"))
+ # print(MDP)
+ #x<-MD[,.(NewArea,Region,FPLine,InitialPoor)]
+ MD[,NewPoor:=ifelse(TOriginalFoodExpenditure_Per < FPLine,1,0)]
+ print(table(MD[,.(ThisIterationPoor,NewPoor)]))
+ MD[,OldPoor:=ThisIterationPoor]
+ }
+
+ MD[,FinalFoodPoor:=OldPoor]
+
+ # MD <- MD[,.(HHID,HIndivNo,Region,NewArea,NewArea_Name,cluster3,ProvinceCode,Size,HAge,HSex,Month,ServiceExp,
+ # HLiterate,HEduLevel0,HActivityState,Area,Rooms,MetrPrice,Total_Exp_Month_nondurable,
+ # Total_Exp_Month_Per_nondurable,TOriginalFoodExpenditure_Per,
+ # OriginalFoodExpenditure_Per,FPLine,Weight,Percentile,FinalFoodPoor,
+ # Total_Exp_Month_Per,TFoodKCaloriesHH_Per,TOriginalFoodExpenditure,Total_Exp_Month,
+ # TFoodExpenditure2,Total_Exp_Month_nondurable2,Total_Exp_Month2,
+ # Total_Exp_Month_Per2,
+ # EqSizeOECD,EqSizeCalory,Decile,Bundle_Value)]
+ save(MD,file=paste0(Settings$HEISProcessedPath,"Y",year,"FinalFoodPoor.rda"))
+
+ # MDF<-MD[FinalFoodPoor==1]
+ MD[,weighted.mean(FinalFoodPoor,Weight)]
+ MD[,weighted.mean(FPLine,Weight),by=c("Region","cluster3")]
+ MD[,weighted.mean(FPLine2,Weight),by=c("Region","cluster3")]
+ # MDF<-MDF[,.(HHID,FinalFoodPoor)]
+ # load(file = "MDF1.rda")
+ # x<-merge(MDF1,MDF)
+
+ # MDFinalfood<-MD[,.(HHID,Region,NewArea,cluster3,Percentile,FinalFoodPoor)]
+ # UrbanFinalfood<-MDFinalfood[Region=="Urban"]
+ # RuralFinalfood<-MDFinalfood[Region=="Rural"]
+ # save(UrbanFinalfood, file=paste0(Settings$HEISProcessedPath,"Y",year,"UrbanFinalfood.rda"))
+ # save(RuralFinalfood, file=paste0(Settings$HEISProcessedPath,"Y",year,"RuralFinalfood.rda"))
+ #
+}
+
+endtime <- proc.time()
+cat("\n\n============================\nIt took ")
+cat((endtime-starttime)["elapsed"])
+cat(" seconds")
\ No newline at end of file
diff --git a/R/Archive/June 2020 (removed code files)/Step 6- FoodBasicNeeds (version 3).R b/R/Archive/June 2020 (removed code files)/Step 6- FoodBasicNeeds (version 3).R
new file mode 100644
index 00000000..f956e535
--- /dev/null
+++ b/R/Archive/June 2020 (removed code files)/Step 6- FoodBasicNeeds (version 3).R
@@ -0,0 +1,75 @@
+#176-Step 6- FoodBasicNeeds (version 3).R
+#
+# Copyright © 2018:Majid Einian & Arin Shahbazian
+# Licence: GPL-3
+
+rm(list=ls())
+
+starttime <- proc.time()
+cat("\n\n================ Prepare Data =====================================\n")
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+library(readxl)
+library(data.table)
+library(ggplot2)
+
+for(year in (Settings$startyear:Settings$endyear)){
+ cat(paste0("\n------------------------------\nYear:",year,"\n"))
+
+ # load data --------------------------------------
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"InitialPoorClustered.rda"))
+ MD[,Bundle_Value_T:=Bundle_Value+Bundle_Value_H]
+
+ #Determine Food (Equal 2100 KCal) Bundle
+ #MDPoors<-MD[InitialPoor==1]
+ MD[,NewPoor:=InitialPoor]
+ #MD[,NewPoor:=ifelse(Decile %in% c(1,2,3,4),1,0)]
+ MD[,OldPoor:=1]
+
+ i <- 0
+ while(MD[(NewPoor-OldPoor)!=0,.N]>0.001*nrow(MD[NewPoor==1]) & i <=15){
+ # cat(nrow(MD[NewPoor==1]))
+ i <- i + 1
+ MD[,ThisIterationPoor:=NewPoor]
+ MD[,FPLine:=NULL]
+ MDP <- MD[ThisIterationPoor==1,
+ .(FPLine=weighted.mean(Bundle_Value_H,Weight,na.rm = TRUE)),
+ by=.(cluster3,Region)]
+ MD <- merge(MD,MDP,by=c("Region","cluster3"))
+ # print(MDP)
+ #x<-MD[,.(NewArea,Region,FPLine,InitialPoor)]
+ MD[,NewPoor:=ifelse(ServiceExp/Size < FPLine,1,0)]
+ print(table(MD[,.(ThisIterationPoor,NewPoor)]))
+ MD[,OldPoor:=ThisIterationPoor]
+ }
+
+ MD[,FinalFoodPoor:=OldPoor]
+
+ # MD <- MD[,.(HHID,HIndivNo,Region,NewArea,NewArea_Name,cluster3,ProvinceCode,Size,HAge,HSex,Month,ServiceExp,
+ # HLiterate,HEduLevel0,HActivityState,Area,Rooms,MetrPrice,Total_Exp_Month_nondurable,
+ # Total_Exp_Month_Per_nondurable,TOriginalFoodExpenditure_Per,
+ # OriginalFoodExpenditure_Per,FPLine,Weight,Percentile,FinalFoodPoor,
+ # Total_Exp_Month_Per,TFoodKCaloriesHH_Per,TOriginalFoodExpenditure,Total_Exp_Month,
+ # TFoodExpenditure2,Total_Exp_Month_nondurable2,Total_Exp_Month2,
+ # Total_Exp_Month_Per2,
+ # EqSizeOECD,EqSizeCalory,Decile,Bundle_Value_H)]
+ save(MD,file=paste0(Settings$HEISProcessedPath,"Y",year,"FinalFoodPoor.rda"))
+
+ MDF1<-MD[FinalFoodPoor==1]
+ MDF1<-MDF1[,.(HHID,FinalFoodPoor)]
+ names(MDF1)<-c("HHID","F1")
+ save(MDF1,file = "MDF1.rda")
+ MD[,weighted.mean(FinalFoodPoor,Weight),by=ProvinceCode]
+ # MDFinalfood<-MD[,.(HHID,Region,NewArea,cluster3,Percentile,FinalFoodPoor)]
+ # UrbanFinalfood<-MDFinalfood[Region=="Urban"]
+ # RuralFinalfood<-MDFinalfood[Region=="Rural"]
+ # save(UrbanFinalfood, file=paste0(Settings$HEISProcessedPath,"Y",year,"UrbanFinalfood.rda"))
+ # save(RuralFinalfood, file=paste0(Settings$HEISProcessedPath,"Y",year,"RuralFinalfood.rda"))
+ #
+}
+
+endtime <- proc.time()
+cat("\n\n============================\nIt took ")
+cat((endtime-starttime)["elapsed"])
+cat(" seconds")
\ No newline at end of file
diff --git a/R/Archive/June 2020 (removed code files)/Step 7,8,9 and other.R b/R/Archive/June 2020 (removed code files)/Step 7,8,9 and other.R
new file mode 100644
index 00000000..c8f8880b
--- /dev/null
+++ b/R/Archive/June 2020 (removed code files)/Step 7,8,9 and other.R
@@ -0,0 +1,487 @@
+# Step 7,8,9 and other
+#
+# Copyright © 2018:Majid Einian & Arin Shahbazian
+# Licence: GPL-3
+
+rm(list=ls())
+
+starttime <- proc.time()
+cat("\n\n================ Poverty Line =====================================\n")
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+library(readxl)
+library(data.table)
+library(ggplot2)
+library(stats)
+library(spatstat)
+
+FinalCountryResults <- data.table(Year=NA_integer_,PovertyLine=NA_real_,
+ Engle=NA_real_,Bundle_Value=NA_real_,
+ Total_Exp_Month_Per=NA_real_,PovertyHCR=NA_real_,
+ PovertyGap=NA_real_,PovertyDepth=NA_real_)[0]
+FinalRegionResults <- data.table(Year=NA_integer_,Region=NA_integer_,PovertyLine=NA_real_,PovertyHCR=NA_real_,
+ PovertyGap=NA_real_,PovertyDepth=NA_real_)[0]
+FinalClusterResults <- data.table(Year=NA_integer_,cluster3=NA_integer_,MetrPrice=NA_real_,
+ House_Share=NA_real_,FoodKCaloriesHH_Per=NA_real_,
+ SampleSize=NA_integer_,
+ Engle=NA_integer_,FPLine=NA_integer_,
+ PovertyLine=NA_real_,PovertyHCR=NA_real_,
+ PovertyGap=NA_real_,PovertyDepth=NA_real_)[0]
+
+FinalClusterDiff <- data.table(Year=NA_integer_,cluster3=NA_integer_,MetrPrice=NA_real_,
+ House_Share=NA_real_,Food_Share=NA_real_,Durable_Share=NA_real_,
+ SampleSize=NA_integer_,Clusterdiff=NA_integer_,
+ Engle=NA_integer_,FPLine=NA_integer_,FoodKCaloriesHH_Per=NA_real_,
+ Total_Exp_Month_Per_nondurable=NA_real_,
+ Total_Exp_Month_Per=NA_real_,
+ PovertyLine=NA_real_,PovertyHCR=NA_real_,
+ PovertyGap=NA_real_,PovertyDepth=NA_real_)[0]
+
+HighEngles<-data.table(Year=NA_integer_,Region=NA_integer_,cluster3=NA_real_,N40=NA_real_,
+ N45=NA_real_,N50=NA_real_,N=NA_real_)[0]
+
+
+
+for(year in (Settings$startyear:Settings$endyear)){
+ cat(paste0("\nYear:",year,"\t"))
+
+ # load data --------------------------------------
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"FinalFoodPoor.rda"))
+
+ #MD<-MD[Region=="Rural"]
+ #MD<-MD[cluster3==13]
+ MD<-MD[,Clusterdiff:=ifelse(cluster3==7,1,0)]
+
+ HighEngle1 <- MD[ TOriginalFoodExpenditure_Per>0.8*FPLine &
+ TOriginalFoodExpenditure_Per<1.2*FPLine &
+ (TOriginalFoodExpenditure/Total_Exp_Month) > 0.4,
+ .(.N),by=.(Region,cluster3)]
+ names(HighEngle1)<-c("Region", "cluster3","N40")
+
+ HighEngle2 <- MD[ TOriginalFoodExpenditure_Per>0.8*FPLine &
+ TOriginalFoodExpenditure_Per<1.2*FPLine &
+ (TOriginalFoodExpenditure/Total_Exp_Month) > 0.45,
+ .(.N),by=.(Region,cluster3)]
+ names(HighEngle2)<-c("Region", "cluster3","N45")
+
+ HighEngle3 <- MD[ TOriginalFoodExpenditure_Per>0.8*FPLine &
+ TOriginalFoodExpenditure_Per<1.2*FPLine &
+ (TOriginalFoodExpenditure/Total_Exp_Month) > 0.5,
+ .(.N),by=.(Region,cluster3)]
+ names(HighEngle3)<-c("Region", "cluster3","N50")
+
+ HighEngle4 <- MD[ TOriginalFoodExpenditure_Per>0.8*FPLine &
+ TOriginalFoodExpenditure_Per<1.2*FPLine,
+ .(.N),by=.(Region,cluster3)]
+
+ HighEngle<-merge(HighEngle1,HighEngle2)
+ HighEngle<-merge(HighEngle,HighEngle3)
+ HighEngle<-merge(HighEngle,HighEngle4)
+
+ EngleD<- MD[ TOriginalFoodExpenditure_Per>0.8*FPLine &
+ TOriginalFoodExpenditure_Per<1.2*FPLine,
+ .(.N,Engel=weighted.mean(TOriginalFoodExpenditure/Total_Exp_Month,Weight),
+ FPLine=mean(FPLine)),by=.(Region,cluster3)]
+
+
+
+ EngleD[,PovertyLine:=FPLine/Engel]
+ MD <- merge(MD,EngleD[,.(cluster3,Region,PovertyLine,Engel)],by=c("Region","cluster3"))
+ MD[,FinalPoor:=ifelse(Total_Exp_Month_Per < PovertyLine,1,0 )]
+ MD<-MD[,HHEngle:=TOriginalFoodExpenditure/Total_Exp_Month,Weight]
+ save(MD,file=paste0(Settings$HEISProcessedPath,"Y",year,"FINALPOORS.rda"))
+
+
+ MD[,FGT1M:=(PovertyLine-Total_Exp_Month_Per)/PovertyLine]
+ MD[,FGT2M:=((PovertyLine-Total_Exp_Month_Per)/PovertyLine)^2]
+
+ ################High Engle##################
+
+ X1 <- HighEngle
+
+ X1[,Year:=year]
+
+ HighEngles <- rbind(HighEngles,X1)
+
+ ################Country##################
+
+ X1 <- MD[,.(PovertyLine=weighted.mean(PovertyLine,Weight*Size),
+ PovertyHCR=weighted.mean(FinalPoor,Weight*Size),
+ Engle=weighted.mean(HHEngle,Weight),
+ Bundle_Value=weighted.mean(Bundle_Value,Weight),
+ Total_Exp_Month_Per=weighted.mean(Total_Exp_Month_Per,Weight))]
+ X2 <- MD[FinalPoor==1,.(PovertyGap=weighted.mean(FGT1M,Weight*Size),
+ PovertyDepth=weighted.mean(FGT2M,Weight*Size))]
+ X1[,Year:=year]
+ X2[,Year:=year]
+ X <- merge(X1,X2,by="Year")
+ FinalCountryResults <- rbind(FinalCountryResults,X)
+
+ ################Region##################
+ X1 <- MD[,.(PovertyLine=weighted.mean(PovertyLine,Weight*Size),
+ PovertyHCR=weighted.mean(FinalPoor,Weight*Size)),by=Region]
+ X2 <- MD[FinalPoor==1,.(PovertyGap=weighted.mean(FGT1M,Weight*Size),
+ PovertyDepth=weighted.mean(FGT2M,Weight*Size)),by=Region]
+ X1[,Year:=year]
+ X2[,Year:=year]
+ X <- merge(X1,X2,by=c("Year","Region"))
+ FinalRegionResults <- rbind(FinalRegionResults,X)
+
+
+ ################Cluster##################
+ X1 <- MD[,.(SampleSize=.N,MetrPrice=weighted.mean(MetrPrice,Weight,na.rm = TRUE),
+ House_Share=weighted.mean(ServiceExp/Total_Exp_Month,Weight),
+ Engle=weighted.mean(TOriginalFoodExpenditure/Total_Exp_Month,Weight),
+ FPLine=weighted.mean(FPLine,Weight),
+ FoodKCaloriesHH_Per=weighted.mean(FoodKCaloriesHH_Per,Weight),
+ PovertyLine=weighted.mean(PovertyLine,Weight*Size),
+ PovertyHCR=weighted.mean(FinalPoor,Weight*Size)),by=cluster3]
+ X2 <- MD[FinalPoor==1,.(PovertyGap=weighted.mean(FGT1M,Weight*Size),
+ PovertyDepth=weighted.mean(FGT2M,Weight*Size)),by=cluster3]
+
+
+ X1[,Year:=year]
+ X2[,Year:=year]
+ X <- merge(X1,X2,by=c("Year","cluster3"))
+ FinalClusterResults <- rbind(FinalClusterResults,X)
+
+ cat(MD[, weighted.mean(FinalPoor,Weight*Size)],"\t")
+ cat(MD[, weighted.mean(PovertyLine,Weight*Size)],"\t")
+ cat(MD[, weighted.mean(FPLine,Weight*Size)],"\t")
+ cat(MD[, sum(Weight*Size)],"\t")
+
+ MD1<-MD[,.(HHID,FinalPoor)]
+ save(MD1,file=paste0(Settings$HEISProcessedPath,"Y",year,"POORS.rda"))
+
+ Poors<-MD[FinalPoor==1]
+
+ a<-MD[ TOriginalFoodExpenditure_Per>0.8*FPLine &
+ TOriginalFoodExpenditure_Per<1.2*FPLine &
+ cluster3==7,
+ .(x=TOriginalFoodExpenditure/Total_Exp_Month)]
+
+
+ MD[as.numeric(Decile)<2,weighted.mean(FinalPoor,Weight)]
+
+ MD5<-MD[ProvinceCode!=11]
+ MD5<-MD5[,Group:=ifelse(FinalPoor==0 & FinalFoodPoor==0,"NoPoor",
+ ifelse(FinalPoor==1 & FinalFoodPoor==0,"OnlyFinalPoor",
+ ifelse(FinalPoor==0 & FinalFoodPoor==1,"OnlyFoodPoor","Both")))]
+ a<-ggplot(MD5,aes(x=HHEngle, fill=factor(Group))) +
+ geom_density(alpha=0.25)+
+ xlim(0,1)+ylim(0,5)+
+ ggtitle(year)
+ plot(a)
+
+
+
+ MDD<-MD[,.(Population=sum(Weight*Size)), by=.(Decile,ProvinceName)][order(ProvinceName,Decile)]
+ ggplot(MDD, aes(fill=factor(Decile), y=Population, x=ProvinceName)) +
+ geom_bar(position="fill", stat="identity") + theme_bw() +
+ theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1))
+
+
+
+ Decile1<-MD[as.numeric(Decile)<2,.(HHID,Region,ProvinceName,NewArea_Name,Weight,FinalFoodPoor,FinalPoor,Durable_Exp)]
+ Decile1Poors<-Decile1[,.(Decile1Poors=weighted.mean(FinalPoor,Weight)),by=c("ProvinceName")][order(ProvinceName)]
+ ggplot(Decile1Poors, aes( y=Decile1Poors, x=ProvinceName)) +
+ geom_bar(position="dodge", stat="identity") + theme_bw() +
+ theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1))
+
+ Decile2<-MD[as.numeric(Decile)<3,.(HHID,Region,ProvinceName,NewArea_Name,Weight,FinalFoodPoor,FinalPoor,Durable_Exp)]
+ Decile2Poors<-Decile2[,.(Decile2Poors=weighted.mean(FinalPoor,Weight)),by=c("ProvinceName")][order(ProvinceName)]
+ ggplot(Decile2Poors, aes( y=Decile2Poors, x=ProvinceName)) +
+ geom_bar(position="dodge", stat="identity") + theme_bw() +
+ theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1))
+
+ Decile5<-MD[as.numeric(Decile)>3,.(HHID,Region,ProvinceName,NewArea_Name,Weight,FinalFoodPoor,FinalPoor,Durable_Exp)]
+ Decile5Poors<-Decile5[,.(Decile5Poors=weighted.mean(FinalPoor,Weight)),by=c("ProvinceName")][order(ProvinceName)]
+ ggplot(Decile5Poors, aes( y=Decile5Poors, x=ProvinceName)) +
+ geom_bar(position="dodge", stat="identity") + theme_bw() +
+ theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1))
+
+ MDP<-MD[FinalPoor==1,.(Population=sum(Weight*Size)), by=.(Decile,cluster3)][order(cluster3,Decile)]
+ ggplot(MDP, aes(fill=factor(Decile), y=Population, x=cluster3)) +
+ geom_bar(position="fill", stat="identity") + theme_bw() +
+ theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1))
+
+
+ MD[,weighted.mean(FinalPoor,Weight),by=ProvinceCode][order(ProvinceCode)]
+}
+# compare Engle & Engle_prime in 178
+FinalClusterEngel <- FinalClusterResults[,.(Year,cluster3,FPLine,PovertyHCR)]
+save(FinalClusterEngel,file=paste0(Settings$HEISProcessedPath,"FINALPOORS_normal.rda"))
+
+ggplot(HighEngles)+
+ geom_line(mapping = aes(x=Year,y=N50/N,col=factor(cluster3)))
+
+ggplot(FinalClusterResults)+
+ geom_line(mapping = aes(x=Year,y=PovertyHCR,col=factor(cluster3)))
+
+#write.csv(FinalClusterResults,file = FinalClusterResults.csv)
+
+
+Job<-MD[FinalPoor==1,weighted.mean(HActivityState=="Employed",Weight),by=ProvinceCode]
+IncomeWithoutWork<-MD[FinalPoor==1,weighted.mean(HActivityState=="Income without Work",Weight),by=ProvinceCode]
+
+Widow<-MD[FinalPoor==1,weighted.mean(HSex=="Female",Weight),by=ProvinceCode]
+Widow2<-MD[HSex=="Female",weighted.mean(FinalPoor,Weight),by=ProvinceCode]
+
+load(file=paste0(Settings$HEISProcessedPath,"Y",97,"job.rda"))
+#MD<-merge(MD,job,by=c("HHID","Region","HActivityState"))
+#Pubjob<-MD[FinalPoor==1,weighted.mean(Job_Main_Code_Pub==9,Weight),
+# by=ProvinceCode]
+
+#Prvjob<-MD[FinalPoor==1,weighted.mean(Job_Main_Code_Prv==9,Weight),
+# by=ProvinceCode]
+
+#Pubjob<-MD[FinalPoor==1,weighted.mean(Job_Main_Code_Prv<3 & Job_Main_Code_Prv>0,Weight)+
+# weighted.mean(Job_Main_Code_Pub<3 & Job_Main_Code_Pub>0,Weight),by=ProvinceCode]
+
+#sub_share<-MD[FinalPoor==1,.(HHID,Region,ProvinceCode,Subsidy,Decile,Decile_Nominal,
+# sub_share=Subsidy/(12*Total_Exp_Month_nondurable))]
+
+#sub_share2<-MD[FinalPoor==1,.( sub_share=weighted.mean(Subsidy/(12*Total_Exp_Month_nondurable),Weight),
+# Edu=weighted.mean(HEduYears,Weight),
+# NKids=weighted.mean(NKids,Weight),
+# OtherExp=weighted.mean((Total_Exp_Month-OriginalFoodExpenditure-ServiceExp)/Total_Exp_Month,Weight)),by=ProvinceCode]
+
+###Durable- Cluster
+DExp<-MD[,.(Durable_Exp_Per=weighted.mean(Durable_Exp/EqSizeOECD,Weight)),by="cluster3"]
+ggplot(DExp, aes(fill=factor(cluster3), y=Durable_Exp_Per, x=cluster3)) +
+ geom_bar(position="dodge", stat="identity") + theme_bw() +
+ theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1))
+
+DSale<-MD[,.(Durable_Sale_Per=weighted.mean(Durable_Sale/EqSizeOECD,Weight)),by="cluster3"]
+ggplot(DSale, aes(fill=factor(cluster3), y=Durable_Sale_Per, x=cluster3)) +
+ geom_bar(position="dodge", stat="identity") + theme_bw() +
+ theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1))
+
+#DPure<-MD[,.(Durable_Pure_Exp_Per=weighted.mean(Durable_Pure_Exp/EqSizeOECD,Weight)),by="cluster3"]
+#ggplot(DPure, aes(fill=factor(cluster3), y=Durable_Pure_Exp_Per, x=cluster3)) +
+# geom_bar(position="dodge", stat="identity") + theme_bw() +
+# theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1))
+
+###Durables share- Cluster
+DExp<-MD[,.(Durable_Exp_Share=weighted.mean(Durable_Exp/Total_Exp_Month,Weight)),by="cluster3"]
+ggplot(DExp, aes(fill=factor(cluster3), y=Durable_Exp_Share, x=cluster3)) +
+ geom_bar(position="dodge", stat="identity") + theme_bw() +
+ theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1))
+
+DSale<-MD[,.(Durable_Sale_Share=weighted.mean(Durable_Sale/Total_Exp_Month,Weight)),by="cluster3"]
+ggplot(DSale, aes(fill=factor(cluster3), y=Durable_Sale_Share, x=cluster3)) +
+ geom_bar(position="dodge", stat="identity") + theme_bw() +
+ theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1))
+
+#DPure<-MD[,.(Durable_Pure_Exp_Share=weighted.mean(Durable_Pure_Exp/Total_Exp_Month,Weight)),by="cluster3"]
+#ggplot(DPure, aes(fill=factor(cluster3), y=Durable_Pure_Exp_Share, x=cluster3)) +
+# geom_bar(position="dodge", stat="identity") + theme_bw() +
+# theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1))
+
+#DRatio<-MD[,.(Durable_Exp_Ratio=weighted.mean(Durable_Exp/Total_Exp_Month_nondurable,Weight)),by="cluster3"]
+#ggplot(DRatio, aes(fill=factor(cluster3), y=Durable_Pure_Exp_Ratio, x=cluster3)) +
+# geom_bar(position="dodge", stat="identity") + theme_bw() +
+# theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1))
+
+####Urban
+x2<-MD[Region=="Urban",.(Durable_Exp_Per=weighted.mean(Durable_Exp/EqSizeOECD,Weight)),by="NewArea_Name"]
+x2$NewArea_Name <- factor(x2$NewArea_Name, levels = x2$NewArea_Name[order(x2$Durable_Exp)])
+ggplot(x2, aes(x = x2$NewArea_Name, y = x2$Durable_Exp)) + theme_bw() + geom_bar(stat = "identity") + theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1))
+
+
+x2<-MD[Region=="Urban",.(Durable_Sale_Per=weighted.mean(Durable_Sale/EqSizeOECD,Weight)),by="NewArea_Name"]
+x2$NewArea_Name <- factor(x2$NewArea_Name, levels = x2$NewArea_Name[order(x2$Durable_Sale_Per)])
+ggplot(x2, aes(x = x2$NewArea_Name, y = x2$Durable_Sale_Per)) + theme_bw() + geom_bar(stat = "identity") + theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1))
+
+
+#x2<-MD[Region=="Urban",.(Durable_Pure_Exp_Per=weighted.mean(Durable_Pure_Exp/EqSizeOECD,Weight)),by="NewArea_Name"]
+#x2$NewArea_Name <- factor(x2$NewArea_Name, levels = x2$NewArea_Name[order(x2$Durable_Pure_Exp_Per)])
+#ggplot(x2, aes(x = x2$NewArea_Name, y = x2$Durable_Pure_Exp_Per)) + theme_bw() + geom_bar(stat = "identity") + theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1))
+
+
+####Rural
+x2<-MD[Region=="Rural",.(Durable_Exp_Per=weighted.mean(Durable_Exp/EqSizeOECD,Weight)),by="NewArea_Name"]
+x2$NewArea_Name <- factor(x2$NewArea_Name, levels = x2$NewArea_Name[order(x2$Durable_Exp)])
+ggplot(x2, aes(x = x2$NewArea_Name, y = x2$Durable_Exp)) + theme_bw() + geom_bar(stat = "identity") + theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1))
+
+
+x2<-MD[Region=="Rural",.(Durable_Sale_Per=weighted.mean(Durable_Sale/EqSizeOECD,Weight)),by="NewArea_Name"]
+x2$NewArea_Name <- factor(x2$NewArea_Name, levels = x2$NewArea_Name[order(x2$Durable_Sale_Per)])
+ggplot(x2, aes(x = x2$NewArea_Name, y = x2$Durable_Sale_Per)) + theme_bw() + geom_bar(stat = "identity") + theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1))
+
+
+#x2<-MD[Region=="Rural",.(Durable_Pure_Exp_Per=weighted.mean(Durable_Pure_Exp/EqSizeOECD,Weight)),by="NewArea_Name"]
+#x2$NewArea_Name <- factor(x2$NewArea_Name, levels = x2$NewArea_Name[order(x2$Durable_Pure_Exp_Per)])
+#ggplot(x2, aes(x = x2$NewArea_Name, y = x2$Durable_Pure_Exp_Per)) + theme_bw() + geom_bar(stat = "identity") + theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1))
+
+
+MD[FinalPoor==1,weighted.mean(Total_Exp_Month_Per,Weight),by="Region"]
+
+MD[FinalPoor==1 & PovertyLine-Total_Exp_Month_Per>0,
+ sum((PovertyLine-Total_Exp_Month_Per)*Size*Weight),by="Region"]
+
+MD[FinalPoor==1,
+ sum((PovertyLine-Total_Exp_Month_Per)*Size*Weight)]
+
+MD[FinalPoor==1 & PovertyLine-Total_Exp_Month_Per_nondurable>0,
+ sum((PovertyLine-Total_Exp_Month_Per_nondurable)*Size*Weight),by="Region"]
+
+MD[FinalPoor==1 & PovertyLine-Total_Exp_Month_Per_nondurable>0,
+ sum((PovertyLine-Total_Exp_Month_Per_nondurable)*Size*Weight)]
+
+MD[NewArea==2301,sum(Weight*Size)]
+
+MD[,weighted.mean(TFoodKCaloriesHH_Per,Weight),by=.(Region,Decile)][order(Region,Decile)]
+MD[,weighted.mean(TFoodKCaloriesHH_Per,Weight),by=.(Decile)][order(Decile)]
+MD[,weighted.mean(TFoodKCaloriesHH_Per,Weight),by=.(Region)][order(Region)]
+
+MD[,weighted.mean(Bundle_Value,Weight),by=.(Region,Decile)][order(Region,Decile)]
+MD[,weighted.mean(Bundle_Value,Weight),by=.(Decile)][order(Decile)]
+MD[,weighted.mean(Bundle_Value,Weight),by=.(Region)][order(Region)]
+
+MD[,weighted.mean(HHEngle,Weight),by=.(Region,Decile)][order(Region,Decile)]
+MD[,weighted.mean(HHEngle,Weight),by=.(Decile)][order(Decile)]
+MD[,weighted.mean(HHEngle,Weight),by=.(Region)][order(Region)]
+
+load(file = paste0(Settings$HEISProcessedPath,"Y",year,"RetirementWage.rda"))
+MD<-merge(MD,RetirementWageData,by="HHID",all.x = TRUE)
+
+RT<-MD[,.(HHID,Region,HAge,HActivityState,Decile,retirement,Weight)]
+RT[is.na(RT)] <- 0
+RT[,Old:=ifelse(retirement>0 & HAge>48,1,0)]
+RT[,weighted.mean(Old,Weight)]
+RT[,weighted.mean(Old,Weight),by=.(Region,Decile)][order(Region,Decile)]
+RT[,weighted.mean(Old,Weight),by=Decile][order(Decile)]
+RT[,weighted.mean(Old,Weight),by=Region][order(Region)]
+
+RT[,Old1:=ifelse(retirement>0 & HAge>48 &
+ (PubWageNetIncomeY==0 & PrvWageNetIncomeY==0 &
+ BussNetIncomeY==0 & AgriNetIncomeY==0),1,0)]
+RT[,weighted.mean(Old1,Weight)]
+RT[,weighted.mean(Old1,Weight),by=.(Region,Decile)][order(Region,Decile)]
+RT[,weighted.mean(Old1,Weight),by=Decile][order(Decile)]
+RT[,weighted.mean(Old1,Weight),by=Region][order(Region)]
+
+RT[,Old2:=ifelse(retirement>0 & HAge>48 & HActivityState!="Employed" &
+ (PubWageNetIncomeY>0 | PrvWageNetIncomeY>0 |
+ BussNetIncomeY>0 | AgriNetIncomeY>0),1,0)]
+RT[,weighted.mean(Old2,Weight)]
+RT[,weighted.mean(Old2,Weight),by=.(Region,Decile)][order(Region,Decile)]
+RT[,weighted.mean(Old2,Weight),by=Decile][order(Decile)]
+RT[,weighted.mean(Old2,Weight),by=Region][order(Region)]
+
+RT[,Old3:=ifelse(retirement>0 & HAge>48 & HActivityState=="Employed" &
+ (PubWageNetIncomeY>0 | PrvWageNetIncomeY>0 |
+ BussNetIncomeY>0 | AgriNetIncomeY>0),1,0)]
+RT[,weighted.mean(Old3,Weight)]
+RT[,weighted.mean(Old3,Weight),by=.(Region,Decile)][order(Region,Decile)]
+RT[,weighted.mean(Old3,Weight),by=Decile][order(Decile)]
+RT[,weighted.mean(Old3,Weight),by=Region][order(Region)]
+
+
+load(file=paste0(Settings$HEISProcessedPath,"Y",year,"TotalDurable.rda"))
+RT<-merge(RT,TotalDurable[,.(HHID,Premium_gheyredarmani_mostakhdem,
+ Premium_gheyredarmani_karfarma,Premium_retirement_mostakhdem,
+ Premium_retirement_karfarma,Premium_retirement_general,
+ Premium_retirement_Rural_Household,Premium_retirement_Rural_Govern,
+ Premium_retirement_bank)])
+
+RT[,pub1:=ifelse(HActivityState=="Employed" &
+ PubWageNetIncomeY>0 ,1,0)]
+RT[,weighted.mean(pub1,Weight)]
+RT[,weighted.mean(pub1,Weight),by=.(Region,Decile)][order(Region,Decile)]
+RT[,weighted.mean(pub1,Weight),by=Decile][order(Decile)]
+RT[,weighted.mean(pub1,Weight),by=Region][order(Region)]
+
+
+RT[,pub2:=ifelse(PubWageNetIncomeY>0 ,1,0)]
+RT[,weighted.mean(pub2,Weight)]
+RT[,weighted.mean(pub2,Weight),by=.(Region,Decile)][order(Region,Decile)]
+RT[,weighted.mean(pub2,Weight),by=Decile][order(Decile)]
+RT[,weighted.mean(pub2,Weight),by=Region][order(Region)]
+
+
+load(file = paste0(Settings$HEISProcessedPath,"Y",year,"PubWage.rda"))
+load(file = paste0(Settings$HEISProcessedPath,"Y",year,"PrvWages.rda"))
+load(file = paste0(Settings$HEISProcessedPath,"Y",year,"BussIncome.rda"))
+load(file = paste0(Settings$HEISProcessedPath,"Y",year,"AgriWages.rda"))
+
+RT<-merge(RT,PubWageData[,.(HHID,PubWageNetIncomeY)],all.x = TRUE)
+RT<-merge(RT,PrvWageData[,.(HHID,PrvWageNetIncomeY)],all.x = TRUE)
+RT<-merge(RT,BussIncomeData[,.(HHID,BussNetIncomeY)],all.x = TRUE)
+RT<-merge(RT,AgriIncomeData[,.(HHID,AgriNetIncomeY)],all.x = TRUE)
+RT[is.na(RT)] <- 0
+
+a<-RT[AgriNetIncomeY!=0,.(HHID,Region,AgriNetIncomeY,
+ Premium_gheyredarmani_mostakhdem,Weight)]
+a[,weighted.mean(Premium_gheyredarmani_mostakhdem>0,Weight),by=Region]
+
+b<-RT[BussNetIncomeY!=0,.(HHID,Region,BussNetIncomeY,
+ Premium_gheyredarmani_mostakhdem,Weight)]
+b[,weighted.mean(Premium_gheyredarmani_mostakhdem>0,Weight),by=Region]
+
+RT[,P:=ifelse(HActivityState=="Employed",1 ,0)]
+RT[,weighted.mean(P,Weight)]
+RT[,weighted.mean(P,Weight),by=.(Region,Decile)][order(Region,Decile)]
+RT[,weighted.mean(P,Weight),by=Decile][order(Decile)]
+RT[,weighted.mean(P,Weight),by=Region][order(Region)]
+
+RT[,P:=ifelse(HActivityState=="Income without Work",1 ,0)]
+RT[,weighted.mean(P,Weight)]
+RT[,weighted.mean(P,Weight),by=.(Region,Decile)][order(Region,Decile)]
+RT[,weighted.mean(P,Weight),by=Decile][order(Decile)]
+RT[,weighted.mean(P,Weight),by=Region][order(Region)]
+
+
+RT[,P:=ifelse(PubWageNetIncomeY>0 | PrvWageNetIncomeY>0 |
+ BussNetIncomeY>0 | AgriNetIncomeY>0,1 ,0)]
+RT[,weighted.mean(P,Weight)]
+RT[,weighted.mean(P,Weight),by=.(Region,Decile)][order(Region,Decile)]
+RT[,weighted.mean(P,Weight),by=Decile][order(Decile)]
+RT[,weighted.mean(P,Weight),by=Region][order(Region)]
+
+
+RT[,P1:=ifelse((Premium_gheyredarmani_mostakhdem>0 |
+ Premium_gheyredarmani_karfarma>0) &
+ HActivityState=="Employed",1 ,0)]
+RT[,weighted.mean(P1,Weight)]
+RT[,weighted.mean(P1,Weight),by=.(Region,Decile)][order(Region,Decile)]
+RT[,weighted.mean(P1,Weight),by=Decile][order(Decile)]
+RT[,weighted.mean(P1,Weight),by=Region][order(Region)]
+
+RT[,P2:=ifelse(Premium_gheyredarmani_karfarma>0 & HActivityState=="Employed",1 ,0)]
+RT[,weighted.mean(P2,Weight)]
+RT[,weighted.mean(P2,Weight),by=.(Region,Decile)][order(Region,Decile)]
+RT[,weighted.mean(P2,Weight),by=Decile][order(Decile)]
+RT[,weighted.mean(P2,Weight),by=Region][order(Region)]
+
+RT[,P3:=ifelse(Premium_retirement_mostakhdem>0,1 ,0)]
+RT[,weighted.mean(P3,Weight)]
+RT[,weighted.mean(P3,Weight),by=.(Region,Decile)][order(Region,Decile)]
+
+RT[,P4:=ifelse(Premium_retirement_karfarma>0,1 ,0)]
+RT[,weighted.mean(P4,Weight)]
+RT[,weighted.mean(P4,Weight),by=.(Region,Decile)][order(Region,Decile)]
+
+RT[,P5:=ifelse(Premium_retirement_general>0,1 ,0)]
+RT[,weighted.mean(P5,Weight)]
+RT[,weighted.mean(P5,Weight),by=.(Region,Decile)][order(Region,Decile)]
+
+RT[,P6:=ifelse(Premium_retirement_Rural_Household>0,1 ,0)]
+RT[,weighted.mean(P6,Weight)]
+RT[,weighted.mean(P6,Weight),by=.(Region,Decile)][order(Region,Decile)]
+
+RT[,P7:=ifelse(Premium_retirement_Rural_Govern>0,1 ,0)]
+RT[,weighted.mean(P7,Weight)]
+RT[,weighted.mean(P7,Weight),by=.(Region,Decile)][order(Region,Decile)]
+
+RT[,P8:=ifelse(Premium_retirement_bank>0,1 ,0)]
+RT[,weighted.mean(P8,Weight)]
+RT[,weighted.mean(P8,Weight),by=.(Region,Decile)][order(Region,Decile)]
+
+
+endtime <- proc.time()
+cat("\n\n============================\nIt took ")
+cat((endtime-starttime)["elapsed"])
+cat(" seconds")
\ No newline at end of file
diff --git a/R/Archive/June 2020 (removed code files)/Step 7,8,9-Poverty Line (version 2).R b/R/Archive/June 2020 (removed code files)/Step 7,8,9-Poverty Line (version 2).R
new file mode 100644
index 00000000..d84c9a39
--- /dev/null
+++ b/R/Archive/June 2020 (removed code files)/Step 7,8,9-Poverty Line (version 2).R
@@ -0,0 +1,121 @@
+# 177- Step 7,8,9-Poverty Line (version 2).R
+#
+# Copyright © 2018:Majid Einian & Arin Shahbazian
+# Licence: GPL-3
+
+rm(list=ls())
+
+starttime <- proc.time()
+cat("\n\n================ Poverty Line =====================================\n")
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+library(readxl)
+library(data.table)
+library(ggplot2)
+library(stats)
+library(spatstat)
+
+FinalCountryResults <- data.table(Year=NA_integer_,PovertyLine=NA_real_,
+ Engle=NA_real_,Bundle_Value=NA_real_,
+ Total_Exp_Month_Per=NA_real_,PovertyHCR=NA_real_,
+ PovertyGap=NA_real_,PovertyDepth=NA_real_)[0]
+FinalRegionResults <- data.table(Year=NA_integer_,Region=NA_integer_,PovertyLine=NA_real_,PovertyHCR=NA_real_,
+ PovertyGap=NA_real_,PovertyDepth=NA_real_)[0]
+FinalClusterResults <- data.table(Year=NA_integer_,cluster3=NA_integer_,MetrPrice=NA_real_,
+ House_Share=NA_real_,FoodKCaloriesHH_Per=NA_real_,
+ SampleSize=NA_integer_,
+ Engle=NA_integer_,FPLine=NA_integer_,
+ PovertyLine=NA_real_,PovertyHCR=NA_real_,
+ PovertyGap=NA_real_,PovertyDepth=NA_real_)[0]
+
+FinalClusterDiff <- data.table(Year=NA_integer_,cluster3=NA_integer_,MetrPrice=NA_real_,
+ House_Share=NA_real_,Food_Share=NA_real_,Durable_Share=NA_real_,
+ SampleSize=NA_integer_,Clusterdiff=NA_integer_,
+ Engle=NA_integer_,FPLine=NA_integer_,FoodKCaloriesHH_Per=NA_real_,
+ Total_Exp_Month_Per_nondurable=NA_real_,
+ Total_Exp_Month_Per=NA_real_,
+ PovertyLine=NA_real_,PovertyHCR=NA_real_,
+ PovertyGap=NA_real_,PovertyDepth=NA_real_)[0]
+
+for(year in (Settings$startyear:Settings$endyear)){
+ cat(paste0("\nYear:",year,"\t"))
+
+ # load data --------------------------------------
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"FinalFoodPoor.rda"))
+
+ #MD<-MD[Region=="Rural"]
+ #MD<-MD[cluster3==1]
+ MD<-MD[,Clusterdiff:=ifelse(cluster3==7,1,0)]
+
+ EngleD <- MD[ TOriginalFoodExpenditure_Per>0.8*FPLine2 & TOriginalFoodExpenditure_Per<1.2*FPLine2,
+ .(.N,Engle=weighted.mean((TOriginalFoodExpenditure+ServiceExp)/Total_Exp_Month,Weight),
+ FPLine2=mean(FPLine2)),by=.(Region,cluster3)]
+
+
+ EngleD[,PovertyLine:=FPLine2/Engle]
+ MD <- merge(MD,EngleD[,.(cluster3,Region,PovertyLine,Engle)],by=c("Region","cluster3"))
+ MD[,FinalPoor:=ifelse(Total_Exp_Month_Per < PovertyLine,1,0 )]
+ MD<-MD[,HHEngle:=(TOriginalFoodExpenditure+ServiceExp)/Total_Exp_Month,Weight]
+ save(MD,file=paste0(Settings$HEISProcessedPath,"Y",year,"FINALPOORS.rda"))
+
+
+ MD[,FGT1M:=(PovertyLine-Total_Exp_Month_Per)/PovertyLine]
+ MD[,FGT2M:=((PovertyLine-Total_Exp_Month_Per)/PovertyLine)^2]
+
+ ################Country##################
+
+ X1 <- MD[,.(PovertyLine=weighted.mean(PovertyLine,Weight*Size),
+ PovertyHCR=weighted.mean(FinalPoor,Weight*Size),
+ Engle=weighted.mean(HHEngle,Weight),
+ Bundle_Value=weighted.mean(Bundle_Value,Weight),
+ Total_Exp_Month_Per=weighted.mean(Total_Exp_Month_Per,Weight))]
+ X2 <- MD[FinalPoor==1,.(PovertyGap=weighted.mean(FGT1M,Weight*Size),
+ PovertyDepth=weighted.mean(FGT2M,Weight*Size))]
+ X1[,Year:=year]
+ X2[,Year:=year]
+ X <- merge(X1,X2,by="Year")
+ FinalCountryResults <- rbind(FinalCountryResults,X)
+
+ ################Region##################
+ X1 <- MD[,.(PovertyLine=weighted.mean(PovertyLine,Weight*Size),
+ PovertyHCR=weighted.mean(FinalPoor,Weight*Size)),by=Region]
+ X2 <- MD[FinalPoor==1,.(PovertyGap=weighted.mean(FGT1M,Weight*Size),
+ PovertyDepth=weighted.mean(FGT2M,Weight*Size)),by=Region]
+ X1[,Year:=year]
+ X2[,Year:=year]
+ X <- merge(X1,X2,by=c("Year","Region"))
+ FinalRegionResults <- rbind(FinalRegionResults,X)
+
+
+ ################Cluster##################
+ X1 <- MD[,.(SampleSize=.N,MetrPrice=weighted.mean(MetrPrice,Weight,na.rm = TRUE),
+ House_Share=weighted.mean(ServiceExp/Total_Exp_Month,Weight),
+ Engle=weighted.mean((TOriginalFoodExpenditure+ServiceExp)/Total_Exp_Month,Weight),
+ FPLine=weighted.mean(FPLine2,Weight),
+ FoodKCaloriesHH_Per=weighted.mean(FoodKCaloriesHH_Per,Weight),
+ PovertyLine=weighted.mean(PovertyLine,Weight*Size),
+ PovertyHCR=weighted.mean(FinalPoor,Weight*Size)),by=cluster3]
+ X2 <- MD[FinalPoor==1,.(PovertyGap=weighted.mean(FGT1M,Weight*Size),
+ PovertyDepth=weighted.mean(FGT2M,Weight*Size)),by=cluster3]
+
+
+ X1[,Year:=year]
+ X2[,Year:=year]
+ X <- merge(X1,X2,by=c("Year","cluster3"))
+ FinalClusterResults <- rbind(FinalClusterResults,X)
+
+ cat(MD[, weighted.mean(PovertyLine,Weight*Size)])
+
+ MD1<-MD[,.(HHID,FinalPoor)]
+ save(MD1,file=paste0(Settings$HEISProcessedPath,"Y",year,"POORS.rda"))
+
+ Poors<-MD[FinalPoor==1]
+
+}
+
+
+endtime <- proc.time()
+cat("\n\n============================\nIt took ")
+cat((endtime-starttime)["elapsed"])
+cat(" seconds")
\ No newline at end of file
diff --git a/R/Archive/June 2020 (removed code files)/Step4- RealDeciles (version 2).R b/R/Archive/June 2020 (removed code files)/Step4- RealDeciles (version 2).R
new file mode 100644
index 00000000..b3293583
--- /dev/null
+++ b/R/Archive/June 2020 (removed code files)/Step4- RealDeciles (version 2).R
@@ -0,0 +1,216 @@
+#174-FindInitialPoor (version 2).R
+#
+# Copyright © 2018:Majid Einian & Arin Shahbazian
+# Licence: GPL-3
+
+rm(list=ls())
+
+starttime <- proc.time()
+cat("\n\n================ Nominal to Real =====================================\n")
+
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+#library(readxl)
+library(data.table)
+#library(ggplot2)
+
+for(year in (Settings$startyear:Settings$endyear)){
+ cat(paste0("\n------------------------------\nYear:",year,"\n"))
+
+ # load data --------------------------------------
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"Merged4CBN3.rda"))
+
+ SMD <- MD[,.(HHID,Region,
+ ServiceExp,FoodExpenditure,Total_Exp_Month,
+ NewArea,NewArea_Name,Total_Exp_Month_Per_nondurable,TOriginalFoodExpenditure_Per,
+ # Total_Exp_Month_Per_nondurable2,TFoodExpenditure_Per2,
+ TFoodKCaloriesHH_Per,Calorie_Need_WorldBank,Calorie_Need_Anstitoo,
+ Weight,MetrPrice,Size,EqSizeOECD,Area)]
+
+ #Choose one of these
+ SMD[,Bundle_Value:=TOriginalFoodExpenditure_Per*Calorie_Need_WorldBank/TFoodKCaloriesHH_Per]
+ SMD[,Bundle_Value_H:=MetrPrice*16]
+
+
+ SMD <- SMD[Bundle_Value<=5000000 | TFoodKCaloriesHH_Per>=300] #arbitrary measures, TODO: check in diff years
+ SMD <- SMD[Bundle_Value_H<=15000000] #arbitrary measures, TODO: check in diff years
+
+
+ #Real Prices
+ T_Bundle_Value <- SMD[NewArea==2301, .(Bundle_Value,Bundle_Value_H,Weight)]
+ TBV1 <- T_Bundle_Value[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE)]
+ TBV2 <- T_Bundle_Value[,weighted.mean(Bundle_Value_H,Weight,na.rm = TRUE)]
+
+ SMD[,PriceIndex2:=(weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/TBV1
+ +weighted.mean(Bundle_Value_H,Weight,na.rm = TRUE)/TBV2)/2
+ ,by=.(Region,NewArea_Name)]
+
+ X <- SMD[,.(weighted.mean(FoodExpenditure/Total_Exp_Month,Weight),
+ weighted.mean(ServiceExp/Total_Exp_Month,Weight)),by=.(Region,NewArea_Name)]
+ X[,V:=V1+V2]
+
+ SMD <- merge(SMD,X,by=c("Region","NewArea_Name"))
+
+ SMD[,PriceIndex:=(weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/TBV1*V1
+ +weighted.mean(Bundle_Value_H,Weight,na.rm = TRUE)/TBV2*V2)/V
+ ,by=.(Region,NewArea_Name)]
+
+ Compare<-SMD[,.(Old=mean(PriceIndex2),
+ New=mean(PriceIndex)),by=.(Region,NewArea_Name)]
+
+ SMD[,V1:=NULL]
+ SMD[,V2:=NULL]
+ SMD[,V:=NULL]
+
+
+ SMD[,Total_Exp_Month_Per_nondurable_Real:=Total_Exp_Month_Per_nondurable/PriceIndex]
+
+ SMD<- SMD[order(Region,Total_Exp_Month_Per_nondurable_Real)]
+ SMD[,crw:=cumsum(Weight*Size)/sum(Weight*Size),by=Region] # Cumulative Relative Weight
+
+ #Calculate deciles by weights
+ SMD[,Decile:=cut(crw,breaks = seq(0,1,.1),labels = 1:10),by=Region]
+ SMD[,Percentile:=cut(crw,breaks=seq(0,1,.01),labels=1:100),by=Region]
+
+ C<-SMD[,.(.N,Max=max(Total_Exp_Month_Per_nondurable),
+ Min=min(Total_Exp_Month_Per_nondurable),
+ Mean=mean(Total_Exp_Month_Per_nondurable)),
+ by=.(Region,NewArea,NewArea_Name,Decile)]
+
+
+
+ # FirstSMD<-SMD[,.(HHID,Region,NewArea_Name,NewArea_Name,Percentile,Decile)]
+ # FirstSMD<-FirstSMD[,Realfirstpoor:=ifelse(Decile %in% 1:2,1,0)]
+ # save(FirstSMD, file=paste0(Settings$HEISProcessedPath,"Y",year,"FirstSMD.rda"))
+
+
+
+ B<-MD[,.(.N,Mean=mean(MetrPrice)),
+ by=.(Region,NewArea_Name)]
+
+ SMD[,NewPoor:=1]
+ SMD[,ThisIterationPoor:=0]
+ i <- 0
+ while(sum(SMD[,(ThisIterationPoor-NewPoor)^2])>=0.002*nrow(SMD) & i <=50){
+ i <- i+1
+ SMD[,pold:=Percentile]
+ SMD[,ThisIterationPoor:=ifelse(pold %in% Settings$InitialPoorPercentile,1,0)]
+ SMDIterationPoor<-SMD[ThisIterationPoor==TRUE]
+
+ T_P_Bundle_Value <- SMDIterationPoor[NewArea==2301, .(Bundle_Value,Bundle_Value_H,Weight)]
+ TPBV1 <- T_P_Bundle_Value[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE)]
+ TPBV2 <- T_P_Bundle_Value[,weighted.mean(Bundle_Value_H,Weight,na.rm = TRUE)]
+
+ # Index2 <- SMDIterationPoor[,.(PriceIndex= (weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/TPBV1+
+ # weighted.mean(Bundle_Value_H,Weight,na.rm = TRUE)/TPBV2)/2)
+ # ,by=.(Region,NewArea_Name)]
+
+ X <- SMDIterationPoor[,.(weighted.mean(FoodExpenditure/Total_Exp_Month,Weight),
+ weighted.mean(ServiceExp/Total_Exp_Month,Weight)),by=.(Region,NewArea_Name)]
+ X[,V:=V1+V2]
+
+ SMDIterationPoor <- merge(SMDIterationPoor,X,by=c("Region","NewArea_Name"))
+ SMDIterationPoor[,PriceIndex:=NULL]
+
+ Index <- SMDIterationPoor[,.(PriceIndex=(weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/TPBV1*V1+
+ weighted.mean(Bundle_Value_H,Weight,na.rm = TRUE)/TPBV2*V2)/V)
+ ,by=.(Region,NewArea_Name)]
+ Index <- Index[,.(PriceIndex=mean(PriceIndex)),by=.(Region,NewArea_Name)]
+
+
+ SMD[,PriceIndex:=NULL]
+ SMD <- merge(SMD,Index,by=c("Region","NewArea_Name"))
+
+ SMD[,Total_Exp_Month_Per_nondurable_Real:=Total_Exp_Month_Per_nondurable/PriceIndex]
+
+ SMD<- SMD[order(Region,Total_Exp_Month_Per_nondurable_Real)]
+ SMD[,crw:=cumsum(Weight*Size)/sum(Weight*Size),by=Region] # Cumulative Relative Weight
+
+ #Calculate deciles by weights
+ SMD[,Decile:=cut(crw,breaks = seq(0,1,.1),labels = 1:10),by=Region]
+ SMD[,Percentile:=cut(crw,breaks=seq(0,1,.01),labels=1:100),by=Region]
+ SMD[,NewPoor:=ifelse(Percentile %in% Settings$InitialPoorPercentile,1,0)]
+ save(SMD,file=paste0(Settings$HEISProcessedPath,"Y",year,"SMD.rda"))
+
+
+ cat("\n",sum(SMD[,(ThisIterationPoor-NewPoor)^2]))
+ }
+ MD <- merge(MD,SMD[,.(HHID,Bundle_Value,Bundle_Value_H,NewPoor,Decile,Percentile)],by="HHID")
+ setnames(MD,"NewPoor","InitialPoor")
+
+
+ MD[,weighted.mean(InitialPoor,Weight), by=.(NewArea_Name,Region)]
+
+ save(MD,file=paste0(Settings$HEISProcessedPath,"Y",year,"InitialPoor.rda"))
+
+ MDD1<-MD[,.(HHID,Decile)]
+ names(MDD1)<-c("HHID","Decile_FH")
+ save(MDD1,file = "MDD1.rda")
+
+ load(file = "MDD2.rda")
+ MDD<-merge(MDD1,MDD2)
+ MDD<-as.data.table(MDD)
+ MDD<-MDD[,Decile_F:=as.numeric(Decile_F)]
+ MDD<-MDD[,Decile_FH:=as.numeric(Decile_FH)]
+ MDD[,diff:=Decile_F-Decile_FH]
+
+ diff1<-MDD[diff==1]
+ diff2<-MDD[diff==-1]
+ diff<-MDD[diff==0]
+ #load( file=paste0(Settings$HEISProcessedPath,"Y",year,"HHHouseProperties.rda"))
+
+ #MD<-merge(MD,HHHouseProperties)
+
+ #MD[,weighted.mean(tenure=="OwnLandandBuilding" | tenure=="Apartment",Weight),
+ # by=.(Region,Decile)][order(Region,Decile)]
+
+ #MD[,weighted.mean(car=="True",Weight),
+ # by=.(Region,Decile)][order(Region,Decile)]
+
+ MD[,weighted.mean(FoodExpenditure/Total_Exp_Month,Weight),
+ by=.(Region,Decile)][order(Region,Decile)]
+
+ MD[,weighted.mean(Cloth_Exp/Total_Exp_Month,Weight),
+ by=.(Region,Decile)][order(Region,Decile)]
+
+ MD[,weighted.mean(Size,Weight),
+ by=.(Region,Decile)][order(Region,Decile)]
+
+ MD[,weighted.mean(Region=="Urban",Weight),
+ by=.(Decile)][order(Decile)]
+
+ MD[,weighted.mean(HActivityState=="Employed",Weight),
+ by=.(Region,Decile)][order(Region,Decile)]
+
+ MD[,weighted.mean(HEduYears>10,Weight),
+ by=.(Region,Decile)][order(Region,Decile)]
+
+ MD[,weighted.mean(HEduYears>13,Weight),
+ by=.(Region,Decile)][order(Region,Decile)]
+
+ #MD[,weighted.mean(area/Size,Weight),
+ # by=.(Region,Decile)][order(Region,Decile)]
+
+ MD[,weighted.mean(Amusement_Exp/Total_Exp_Month,Weight),
+ by=.(Region,Decile)][order(Region,Decile)]
+
+ A<-MD[,.(.N,Max=max(Total_Exp_Month_Per_nondurable),
+ Min=min(Total_Exp_Month_Per_nondurable),
+ Mean=mean(Total_Exp_Month_Per_nondurable)),
+ by=.(Region,NewArea,NewArea_Name,Decile)]
+
+ D<-MD[,.(.N,Mean=weighted.median(Durable_Exp/Size,Weight)),
+ by=.(Region,NewArea_Name,Decile)]
+
+ #write.csv(A,file = "A.csv")
+ #write.csv(B,file = "B.csv")
+ #write.csv(C,file = "C.csv")
+ #write.csv(D,file = "D.csv")
+}
+
+
+endtime <- proc.time()
+cat("\n\n============================\nIt took ")
+cat((endtime-starttime)["elapsed"])
+cat(" seconds")
diff --git a/R/Archive/June 2020 (removed code files)/Step4-RealDeciles - Copy.R b/R/Archive/June 2020 (removed code files)/Step4-RealDeciles - Copy.R
new file mode 100644
index 00000000..3c6cc8ed
--- /dev/null
+++ b/R/Archive/June 2020 (removed code files)/Step4-RealDeciles - Copy.R
@@ -0,0 +1,575 @@
+#174-FindInitialPoor.R
+#
+# Copyright © 2018:Majid Einian & Arin Shahbazian
+# Licence: GPL-3
+
+rm(list=ls())
+
+starttime <- proc.time()
+cat("\n\n================ Nominal to Real =====================================\n")
+
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+#library(readxl)
+library(data.table)
+library(ggplot2)
+
+for(year in (Settings$startyear:Settings$endyear)){
+ cat(paste0("\n------------------------------\nYear:",year,"\n"))
+
+ # load data --------------------------------------
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"Merged4CBN3.rda"))
+
+ SMD <- MD[,.(HHID,Region,ProvinceCode,
+ ServiceExp,FoodExpenditure,Total_Exp_Month,
+ NewArea,NewArea_Name,Total_Exp_Month_Per_nondurable,TOriginalFoodExpenditure_Per,
+ # Total_Exp_Month_Per_nondurable2,TFoodExpenditure_Per2,
+ Durable_Exp,
+ TFoodKCaloriesHH_Per,Calorie_Need_WorldBank,Calorie_Need_Anstitoo,
+ Weight,MetrPrice,Size,EqSizeOECD)]
+
+ #Choose one of these
+ SMD[,Bundle_Value:=TOriginalFoodExpenditure_Per*Calorie_Need_WorldBank/TFoodKCaloriesHH_Per]
+ #SMD[,Bundle_Value:=TOriginalFoodExpenditure_Per*Calorie_Need_Anstitoo/TFoodKCaloriesHH_Per]
+ #SMD[,Bundle_Value:=TOriginalFoodExpenditure_Per*Settings$KCaloryNeed_Adult_WorldBank/TFoodKCaloriesHH_Per]
+ #SMD[,Bundle_Value:=TOriginalFoodExpenditure_Per*Settings$KCaloryNeed_Adult_Anstitoo/TFoodKCaloriesHH_Per]
+
+
+ SMD <- SMD[Bundle_Value<=5000000 | TFoodKCaloriesHH_Per>=300] #arbitrary measures, TODO: check in diff years
+
+ #Real Prices.
+
+ T_Bundle_Value <- SMD[NewArea==2301, .(Bundle_Value,MetrPrice,Weight)]
+ TBV1 <- T_Bundle_Value[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE)]
+ TBV2 <- T_Bundle_Value[,weighted.mean(MetrPrice,Weight,na.rm = TRUE)]
+
+ SMD[,PriceIndex2:=(weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/TBV1
+ +weighted.mean(MetrPrice,Weight,na.rm = TRUE)/TBV2)/2
+ ,by=.(Region,NewArea_Name)]
+
+ X <- SMD[,.(weighted.mean(FoodExpenditure/Total_Exp_Month,Weight),
+ weighted.mean(ServiceExp/Total_Exp_Month,Weight)),by=.(Region,NewArea_Name)]
+ X[,V:=V1+V2]
+
+ SMD <- merge(SMD,X,by=c("Region","NewArea_Name"))
+
+ SMD[,PriceIndex:=(weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/TBV1*V1
+ +weighted.mean(MetrPrice,Weight,na.rm = TRUE)/TBV2*V2)/V
+ ,by=.(Region,NewArea_Name)]
+
+ Compare1<-SMD[,.(Old=mean(PriceIndex2),
+ New=mean(PriceIndex)),by=.(Region,NewArea_Name)]
+
+ SMD[,V1:=NULL]
+ SMD[,V2:=NULL]
+ SMD[,V:=NULL]
+
+
+ SMD[,Total_Exp_Month_Per_nondurable_Real:=Total_Exp_Month_Per_nondurable/PriceIndex]
+
+ ###Real- Country
+ SMD<- SMD[order(Total_Exp_Month_Per_nondurable_Real)] #Deciling in Country
+ SMD[,crw:=cumsum(Weight*Size)/sum(Weight*Size)] # Cumulative Relative Weight
+ SMD[,Decile:=cut(crw,breaks = seq(0,1,.1),labels = 1:10)]
+ SMD[,Percentile:=cut(crw,breaks=seq(0,1,.01),labels=1:100)]
+
+ ###Nominal- Country
+ SMD<- SMD[order(Total_Exp_Month_Per_nondurable)] #Deciling in Country(Nominal)
+ SMD[,crw2:=cumsum(Weight*Size)/sum(Weight*Size)] # Cumulative Relative Weight
+ SMD[,Decile_Nominal:=cut(crw2,breaks = seq(0,1,.1),labels = 1:10)]
+ SMD[,Percentile_Nominal:=cut(crw2,breaks=seq(0,1,.01),labels=1:100)]
+
+ SMD[,NewPoor:=1]
+ SMD[,ThisIterationPoor:=0]
+ i <- 0
+ while(sum(SMD[,(ThisIterationPoor-NewPoor)^2])>=0.002*nrow(SMD) & i <=50){
+ i <- i+1
+ SMD[,pold:=Percentile]
+ SMD[,ThisIterationPoor:=ifelse(pold %in% Settings$InitialPoorPercentile,1,0)]
+ SMDIterationPoor<-SMD[ThisIterationPoor==TRUE]
+ SMDIterationPoor[,sum(ThisIterationPoor),by=.(Region,NewArea_Name)][order(Region,NewArea_Name)]
+
+ T_P_Bundle_Value <- SMDIterationPoor[NewArea==2301, .(Bundle_Value,MetrPrice,Weight)]
+ TPBV1 <- T_P_Bundle_Value[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE)]
+ TPBV2 <- T_P_Bundle_Value[,weighted.mean(MetrPrice,Weight,na.rm = TRUE)]
+
+
+ X <- SMDIterationPoor[,.(weighted.mean(FoodExpenditure/Total_Exp_Month,Weight),
+ weighted.mean(ServiceExp/Total_Exp_Month,Weight)),by=.(Region,NewArea_Name)]
+ X[,V:=V1+V2]
+
+ SMDIterationPoor <- merge(SMDIterationPoor,X,by=c("Region","NewArea_Name"))
+ SMDIterationPoor[,PriceIndex:=NULL]
+
+ Index <- SMDIterationPoor[,.(PriceIndex=(weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/TPBV1*V1+
+ weighted.mean(MetrPrice,Weight,na.rm = TRUE)/TPBV2*V2)/V)
+ ,by=.(Region,NewArea_Name)]
+ Index <- Index[,.(PriceIndex=mean(PriceIndex)),by=.(Region,NewArea_Name)]
+
+
+ SMD[,PriceIndex:=NULL]
+ SMD <- merge(SMD,Index,by=c("Region","NewArea_Name"))
+
+ SMD[,Total_Exp_Month_Per_nondurable_Real:=Total_Exp_Month_Per_nondurable/PriceIndex]
+
+ ###Real- Country
+ SMD<- SMD[order(Total_Exp_Month_Per_nondurable_Real)] #Deciling in Country
+ SMD[,crw:=cumsum(Weight*Size)/sum(Weight*Size)] # Cumulative Relative Weight
+ SMD[,Decile:=cut(crw,breaks = seq(0,1,.1),labels = 1:10)]
+ SMD[,Percentile:=cut(crw,breaks=seq(0,1,.01),labels=1:100)]
+
+ SMD[,NewPoor:=ifelse(Percentile %in% Settings$InitialPoorPercentile,1,0)]
+ save(SMD,file=paste0(Settings$HEISProcessedPath,"Y",year,"SMD.rda"))
+
+ #cat("\n",sum(SMD[ProvinceCode==2,.N]))
+ cat("\n",sum(SMD[,(ThisIterationPoor-NewPoor)^2]))
+ SMD[,weighted.mean(Size,Weight),by=.(Region)][order(Region)]
+ SMD[,sum(Size*Weight),by=.(Region,Decile)][order(Region,Decile)]
+
+ SMD[,weighted.mean(Size,Weight,na.rm = TRUE),by=.(Decile)][order(Decile)]
+
+ }
+
+ MD <- merge(MD,SMD[,.(HHID,Bundle_Value,NewPoor,Decile,Percentile,Decile_Nominal,Percentile_Nominal)],by="HHID")
+ setnames(MD,"NewPoor","InitialPoor")
+
+ MD[,weighted.mean(InitialPoor,Weight), by=.(NewArea_Name,Region)]
+ MD[,sum(Weight*Size), by=.(Decile,Region)][order(Region,Decile)]
+ MD[,sum(Weight*Size), by=.(Decile_Nominal,Region)][order(Region,Decile_Nominal)]
+
+
+#############################################
+A1<-MD[(Auto2_rani+Auto1_Khareji+Auto2_Khareji+Auto1_Irani>0),
+ .(A1=weighted.mean(Auto2_rani+Auto1_Khareji+Auto2_Khareji+
+ Auto1_Irani,Weight)),by=Decile]
+ A2<-MD[(TV_Rangi_Irani+TV_Rangi_Khareji>0),
+ .(A2=weighted.mean(TV_Rangi_Irani+TV_Rangi_Khareji,Weight)),by=Decile]
+ A3<-MD[freezer2>0 ,.(A3=weighted.mean(freezer2,Weight)),by=Decile]
+ A4<-MD[OjaghGaz>0 , .(A4=weighted.mean(OjaghGaz,Weight)),by=Decile]
+ A5<-MD[Mashin_Lebasshooyi>0 ,.(A5=weighted.mean(Mashin_Lebasshooyi,Weight)),by=Decile]
+ A6<-MD[Mobile>0, .(A6=weighted.mean(Mobile,Weight)),by=Decile]
+ A7<-MD[Cooler_Gaz>0,.(A7=weighted.mean(Cooler_Gaz,Weight)),by=Decile]
+ A8<-MD[PC>0 ,.(A8= weighted.mean(PC,Weight)),by=Decile]
+ A9<-MD[Lastik_Mashin>0,.(A9=weighted.mean(Lastik_Mashin,Weight)),by=Decile]
+ A10<-MD[Motor_Machin>0 ,.(A10=weighted.mean(Motor_Machin,Weight)),by=Decile]
+ A11<-MD[Tamirat_Asasi>0 ,.(A11=weighted.mean(Tamirat_Asasi,Weight)),by=Decile]
+
+ MD<-merge(MD,A1,by="Decile")
+ MD<-merge(MD,A2,by="Decile")
+ MD<-merge(MD,A3,by="Decile")
+ MD<-merge(MD,A4,by="Decile")
+ MD<-merge(MD,A5,by="Decile")
+ MD<-merge(MD,A6,by="Decile")
+ MD<-merge(MD,A7,by="Decile")
+ MD<-merge(MD,A8,by="Decile")
+ MD<-merge(MD,A9,by="Decile")
+ MD<-merge(MD,A10,by="Decile")
+ MD<-merge(MD,A11,by="Decile")
+
+MD[car=="True",Added1:=A1]
+MD[tvcr=="True",Added2:=A2]
+MD[freezer=="True" | frez_refrig=="True" | refrigerator=="True",
+ Added3:=A3]
+MD[oven=="True",Added4:=A4]
+MD[washer=="True",Added5:=A5]
+MD[cellphone=="True",Added6:=A6]
+MD[cooler_gas=="True",Added7:=A7]
+MD[computer=="True",Added8:=A8]
+MD[car=="True",Added9:=A9]
+MD[car=="True",Added10:=A10]
+MD[car=="True",Added11:=A11]
+
+x<-MD[,.(HHID,Decile,car,Added1)]
+
+dep <- c( "Auto2_rani", "Auto1_Khareji","Auto2_Khareji", "Auto1_Irani",
+ "TV_Rangi_Irani", "TV_Rangi_Khareji","freezer2", "OjaghGaz",
+ "Mashin_Lebasshooyi", "Mobile","Cooler_Gaz", "PC",
+ "Lastik_Mashin", "Motor_Machin","Tamirat_Asasi")
+
+MD[, Total_Depreciated_Durable := Reduce(`+`, .SD), .SDcols=dep]
+MD[is.na(MD)] <- 0
+
+MD[,Added:=Added1+Added2+Added3+Added4+Added5+Added6+
+ Added7+Added8+Added9+Added10+Added11]
+
+#Calculate Monthly Total Expenditures
+nw <- c("OriginalFoodExpenditure","FoodOtherExpenditure", "Cigar_Exp", "Cloth_Exp",
+ "Amusement_Exp", "Communication_Exp",
+ "HouseandEnergy_Exp", "Furniture_Exp", "HotelRestaurant_Exp", "Hygiene_Exp",
+ "Transportation_Exp", "Other_Exp"
+ ,"Add_to_NonDurable"
+ ,"Added"
+ #, "Total_Depreciated_Durable"
+)
+w <- c(nw, "Medical_Exp",
+ "Durable_NoDep","Durable_Emergency")
+
+
+MD[, Total_Exp_Month := Reduce(`+`, .SD), .SDcols=w]
+MD[, Total_Exp_Month_nondurable := Reduce(`+`, .SD), .SDcols=nw]
+
+MD[,weighted.mean(Total_Exp_Month,Weight)]
+MD[,weighted.mean(Total_Exp_Month_nondurable,Weight)]
+
+MD[,Total_Exp_Month_Per:=Total_Exp_Month/EqSizeOECD]
+MD[,Total_Exp_Month_Per_nondurable:=Total_Exp_Month_nondurable/EqSizeOECD]
+
+###################################################################
+
+SMD <- MD[,.(HHID,Region,ProvinceCode,
+ ServiceExp,FoodExpenditure,Total_Exp_Month,
+ NewArea,NewArea_Name,Total_Exp_Month_Per_nondurable,TOriginalFoodExpenditure_Per,
+ # Total_Exp_Month_Per_nondurable2,TFoodExpenditure_Per2,
+ Durable_Exp,
+ TFoodKCaloriesHH_Per,Calorie_Need_WorldBank,Calorie_Need_Anstitoo,
+ Weight,MetrPrice,Size,EqSizeOECD)]
+
+#Choose one of these
+SMD[,Bundle_Value:=TOriginalFoodExpenditure_Per*Calorie_Need_WorldBank/TFoodKCaloriesHH_Per]
+#SMD[,Bundle_Value:=TOriginalFoodExpenditure_Per*Calorie_Need_Anstitoo/TFoodKCaloriesHH_Per]
+#SMD[,Bundle_Value:=TOriginalFoodExpenditure_Per*Settings$KCaloryNeed_Adult_WorldBank/TFoodKCaloriesHH_Per]
+#SMD[,Bundle_Value:=TOriginalFoodExpenditure_Per*Settings$KCaloryNeed_Adult_Anstitoo/TFoodKCaloriesHH_Per]
+
+
+SMD <- SMD[Bundle_Value<=5000000 | TFoodKCaloriesHH_Per>=300] #arbitrary measures, TODO: check in diff years
+
+#Real Prices.
+
+T_Bundle_Value <- SMD[NewArea==2301, .(Bundle_Value,MetrPrice,Weight)]
+TBV1 <- T_Bundle_Value[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE)]
+TBV2 <- T_Bundle_Value[,weighted.mean(MetrPrice,Weight,na.rm = TRUE)]
+
+SMD[,PriceIndex2:=(weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/TBV1
+ +weighted.mean(MetrPrice,Weight,na.rm = TRUE)/TBV2)/2
+ ,by=.(Region,NewArea_Name)]
+
+X <- SMD[,.(weighted.mean(FoodExpenditure/Total_Exp_Month,Weight),
+ weighted.mean(ServiceExp/Total_Exp_Month,Weight)),by=.(Region,NewArea_Name)]
+X[,V:=V1+V2]
+
+SMD <- merge(SMD,X,by=c("Region","NewArea_Name"))
+
+SMD[,PriceIndex:=(weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/TBV1*V1
+ +weighted.mean(MetrPrice,Weight,na.rm = TRUE)/TBV2*V2)/V
+ ,by=.(Region,NewArea_Name)]
+
+Compare1<-SMD[,.(Old=mean(PriceIndex2),
+ New=mean(PriceIndex)),by=.(Region,NewArea_Name)]
+
+SMD[,V1:=NULL]
+SMD[,V2:=NULL]
+SMD[,V:=NULL]
+
+
+SMD[,Total_Exp_Month_Per_nondurable_Real:=Total_Exp_Month_Per_nondurable/PriceIndex]
+
+###Real- Country
+SMD<- SMD[order(Total_Exp_Month_Per_nondurable_Real)] #Deciling in Country
+SMD[,crw:=cumsum(Weight*Size)/sum(Weight*Size)] # Cumulative Relative Weight
+SMD[,Decile:=cut(crw,breaks = seq(0,1,.1),labels = 1:10)]
+SMD[,Percentile:=cut(crw,breaks=seq(0,1,.01),labels=1:100)]
+
+###Nominal- Country
+SMD<- SMD[order(Total_Exp_Month_Per_nondurable)] #Deciling in Country(Nominal)
+SMD[,crw2:=cumsum(Weight*Size)/sum(Weight*Size)] # Cumulative Relative Weight
+SMD[,Decile_Nominal:=cut(crw2,breaks = seq(0,1,.1),labels = 1:10)]
+SMD[,Percentile_Nominal:=cut(crw2,breaks=seq(0,1,.01),labels=1:100)]
+
+SMD[,NewPoor:=1]
+SMD[,ThisIterationPoor:=0]
+i <- 0
+while(sum(SMD[,(ThisIterationPoor-NewPoor)^2])>=0.002*nrow(SMD) & i <=50){
+ i <- i+1
+ SMD[,pold:=Percentile]
+ SMD[,ThisIterationPoor:=ifelse(pold %in% Settings$InitialPoorPercentile,1,0)]
+ SMDIterationPoor<-SMD[ThisIterationPoor==TRUE]
+ SMDIterationPoor[,sum(ThisIterationPoor),by=.(Region,NewArea_Name)][order(Region,NewArea_Name)]
+
+ T_P_Bundle_Value <- SMDIterationPoor[NewArea==2301, .(Bundle_Value,MetrPrice,Weight)]
+ TPBV1 <- T_P_Bundle_Value[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE)]
+ TPBV2 <- T_P_Bundle_Value[,weighted.mean(MetrPrice,Weight,na.rm = TRUE)]
+
+
+ X <- SMDIterationPoor[,.(weighted.mean(FoodExpenditure/Total_Exp_Month,Weight),
+ weighted.mean(ServiceExp/Total_Exp_Month,Weight)),by=.(Region,NewArea_Name)]
+ X[,V:=V1+V2]
+
+ SMDIterationPoor <- merge(SMDIterationPoor,X,by=c("Region","NewArea_Name"))
+ SMDIterationPoor[,PriceIndex:=NULL]
+
+ Index <- SMDIterationPoor[,.(PriceIndex=(weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/TPBV1*V1+
+ weighted.mean(MetrPrice,Weight,na.rm = TRUE)/TPBV2*V2)/V)
+ ,by=.(Region,NewArea_Name)]
+ Index <- Index[,.(PriceIndex=mean(PriceIndex)),by=.(Region,NewArea_Name)]
+
+
+ SMD[,PriceIndex:=NULL]
+ SMD <- merge(SMD,Index,by=c("Region","NewArea_Name"))
+
+ SMD[,Total_Exp_Month_Per_nondurable_Real:=Total_Exp_Month_Per_nondurable/PriceIndex]
+
+ ###Real- Country
+ SMD<- SMD[order(Total_Exp_Month_Per_nondurable_Real)] #Deciling in Country
+ SMD[,crw:=cumsum(Weight*Size)/sum(Weight*Size)] # Cumulative Relative Weight
+ SMD[,Decile:=cut(crw,breaks = seq(0,1,.1),labels = 1:10)]
+ SMD[,Percentile:=cut(crw,breaks=seq(0,1,.01),labels=1:100)]
+
+ SMD[,NewPoor:=ifelse(Percentile %in% Settings$InitialPoorPercentile,1,0)]
+ save(SMD,file=paste0(Settings$HEISProcessedPath,"Y",year,"SMD.rda"))
+
+ #cat("\n",sum(SMD[ProvinceCode==2,.N]))
+ cat("\n",sum(SMD[,(ThisIterationPoor-NewPoor)^2]))
+ SMD[,weighted.mean(Size,Weight),by=.(Region)][order(Region)]
+ SMD[,sum(Size*Weight),by=.(Region,Decile)][order(Region,Decile)]
+
+ SMD[,weighted.mean(Size,Weight,na.rm = TRUE),by=.(Decile)][order(Decile)]
+
+}
+
+MD[,Bundle_Value:=NULL]
+MD[,NewPoor:=NULL]
+MD[,Decile:=NULL]
+MD[,Percentile:=NULL]
+MD[,Decile_Nominal:=NULL]
+MD[,Percentile_Nominal:=NULL]
+MD[,A1:=NULL]
+MD[,A2:=NULL]
+MD[,A3:=NULL]
+MD[,A4:=NULL]
+MD[,A5:=NULL]
+MD[,A6:=NULL]
+MD[,A7:=NULL]
+MD[,A8:=NULL]
+MD[,A9:=NULL]
+MD[,A10:=NULL]
+MD[,A11:=NULL]
+MD[,InitialPoor:=NULL]
+
+
+MD <- merge(MD,SMD[,.(HHID,Bundle_Value,NewPoor,Decile,Percentile,Decile_Nominal,Percentile_Nominal)],by="HHID")
+setnames(MD,"NewPoor","InitialPoor")
+
+######################################################################
+A1<-MD[(Auto2_rani+Auto1_Khareji+Auto2_Khareji+Auto1_Irani>0),
+ .(A1=weighted.mean(Auto2_rani+Auto1_Khareji+Auto2_Khareji+
+ Auto1_Irani,Weight)),by=Decile]
+A2<-MD[(TV_Rangi_Irani+TV_Rangi_Khareji>0),
+ .(A2=weighted.mean(TV_Rangi_Irani+TV_Rangi_Khareji,Weight)),by=Decile]
+A3<-MD[freezer2>0 ,.(A3=weighted.mean(freezer2,Weight)),by=Decile]
+A4<-MD[OjaghGaz>0 , .(A4=weighted.mean(OjaghGaz,Weight)),by=Decile]
+A5<-MD[Mashin_Lebasshooyi>0 ,.(A5=weighted.mean(Mashin_Lebasshooyi,Weight)),by=Decile]
+A6<-MD[Mobile>0, .(A6=weighted.mean(Mobile,Weight)),by=Decile]
+A7<-MD[Cooler_Gaz>0,.(A7=weighted.mean(Cooler_Gaz,Weight)),by=Decile]
+A8<-MD[PC>0 ,.(A8= weighted.mean(PC,Weight)),by=Decile]
+A9<-MD[Lastik_Mashin>0,.(A9=weighted.mean(Lastik_Mashin,Weight)),by=Decile]
+A10<-MD[Motor_Machin>0 ,.(A10=weighted.mean(Motor_Machin,Weight)),by=Decile]
+A11<-MD[Tamirat_Asasi>0 ,.(A11=weighted.mean(Tamirat_Asasi,Weight)),by=Decile]
+
+MD<-merge(MD,A1,by="Decile")
+MD<-merge(MD,A2,by="Decile")
+MD<-merge(MD,A3,by="Decile")
+MD<-merge(MD,A4,by="Decile")
+MD<-merge(MD,A5,by="Decile")
+MD<-merge(MD,A6,by="Decile")
+MD<-merge(MD,A7,by="Decile")
+MD<-merge(MD,A8,by="Decile")
+MD<-merge(MD,A9,by="Decile")
+MD<-merge(MD,A10,by="Decile")
+MD<-merge(MD,A11,by="Decile")
+
+MD[car=="True",Added1:=A1]
+MD[tvcr=="True",Added2:=A2]
+MD[freezer=="True" | frez_refrig=="True" | refrigerator=="True",
+ Added3:=A3]
+MD[oven=="True",Added4:=A4]
+MD[washer=="True",Added5:=A5]
+MD[cellphone=="True",Added6:=A6]
+MD[cooler_gas=="True",Added7:=A7]
+MD[computer=="True",Added8:=A8]
+MD[car=="True",Added9:=A9]
+MD[car=="True",Added10:=A10]
+MD[car=="True",Added11:=A11]
+
+x<-MD[,.(HHID,Decile,car,Added1)]
+
+dep <- c( "Auto2_rani", "Auto1_Khareji","Auto2_Khareji", "Auto1_Irani",
+ "TV_Rangi_Irani", "TV_Rangi_Khareji","freezer2", "OjaghGaz",
+ "Mashin_Lebasshooyi", "Mobile","Cooler_Gaz", "PC",
+ "Lastik_Mashin", "Motor_Machin","Tamirat_Asasi")
+
+MD[, Total_Depreciated_Durable := Reduce(`+`, .SD), .SDcols=dep]
+MD[is.na(MD)] <- 0
+
+MD[,Added:=Added1+Added2+Added3+Added4+Added5+Added6+
+ Added7+Added8+Added9+Added10+Added11]
+
+#Calculate Monthly Total Expenditures
+nw <- c("OriginalFoodExpenditure","FoodOtherExpenditure", "Cigar_Exp", "Cloth_Exp",
+ "Amusement_Exp", "Communication_Exp",
+ "HouseandEnergy_Exp", "Furniture_Exp", "HotelRestaurant_Exp", "Hygiene_Exp",
+ "Transportation_Exp", "Other_Exp"
+ ,"Add_to_NonDurable"
+ ,"Added"
+ #, "Total_Depreciated_Durable"
+)
+w <- c(nw, "Medical_Exp",
+ "Durable_NoDep","Durable_Emergency")
+
+
+MD[, Total_Exp_Month := Reduce(`+`, .SD), .SDcols=w]
+MD[, Total_Exp_Month_nondurable := Reduce(`+`, .SD), .SDcols=nw]
+
+MD[,weighted.mean(Total_Exp_Month,Weight)]
+MD[,weighted.mean(Total_Exp_Month_nondurable,Weight)]
+
+MD[,Total_Exp_Month_Per:=Total_Exp_Month/EqSizeOECD]
+MD[,Total_Exp_Month_Per_nondurable:=Total_Exp_Month_nondurable/EqSizeOECD]
+
+###################################################################
+
+SMD <- MD[,.(HHID,Region,ProvinceCode,
+ ServiceExp,FoodExpenditure,Total_Exp_Month,
+ NewArea,NewArea_Name,Total_Exp_Month_Per_nondurable,TOriginalFoodExpenditure_Per,
+ # Total_Exp_Month_Per_nondurable2,TFoodExpenditure_Per2,
+ Durable_Exp,
+ TFoodKCaloriesHH_Per,Calorie_Need_WorldBank,Calorie_Need_Anstitoo,
+ Weight,MetrPrice,Size,EqSizeOECD)]
+
+#Choose one of these
+SMD[,Bundle_Value:=TOriginalFoodExpenditure_Per*Calorie_Need_WorldBank/TFoodKCaloriesHH_Per]
+#SMD[,Bundle_Value:=TOriginalFoodExpenditure_Per*Calorie_Need_Anstitoo/TFoodKCaloriesHH_Per]
+#SMD[,Bundle_Value:=TOriginalFoodExpenditure_Per*Settings$KCaloryNeed_Adult_WorldBank/TFoodKCaloriesHH_Per]
+#SMD[,Bundle_Value:=TOriginalFoodExpenditure_Per*Settings$KCaloryNeed_Adult_Anstitoo/TFoodKCaloriesHH_Per]
+
+
+SMD <- SMD[Bundle_Value<=5000000 | TFoodKCaloriesHH_Per>=300] #arbitrary measures, TODO: check in diff years
+
+#Real Prices.
+
+T_Bundle_Value <- SMD[NewArea==2301, .(Bundle_Value,MetrPrice,Weight)]
+TBV1 <- T_Bundle_Value[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE)]
+TBV2 <- T_Bundle_Value[,weighted.mean(MetrPrice,Weight,na.rm = TRUE)]
+
+SMD[,PriceIndex2:=(weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/TBV1
+ +weighted.mean(MetrPrice,Weight,na.rm = TRUE)/TBV2)/2
+ ,by=.(Region,NewArea_Name)]
+
+X <- SMD[,.(weighted.mean(FoodExpenditure/Total_Exp_Month,Weight),
+ weighted.mean(ServiceExp/Total_Exp_Month,Weight)),by=.(Region,NewArea_Name)]
+X[,V:=V1+V2]
+
+SMD <- merge(SMD,X,by=c("Region","NewArea_Name"))
+
+SMD[,PriceIndex:=(weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/TBV1*V1
+ +weighted.mean(MetrPrice,Weight,na.rm = TRUE)/TBV2*V2)/V
+ ,by=.(Region,NewArea_Name)]
+
+Compare1<-SMD[,.(Old=mean(PriceIndex2),
+ New=mean(PriceIndex)),by=.(Region,NewArea_Name)]
+
+SMD[,V1:=NULL]
+SMD[,V2:=NULL]
+SMD[,V:=NULL]
+
+
+SMD[,Total_Exp_Month_Per_nondurable_Real:=Total_Exp_Month_Per_nondurable/PriceIndex]
+
+###Real- Country
+SMD<- SMD[order(Total_Exp_Month_Per_nondurable_Real)] #Deciling in Country
+SMD[,crw:=cumsum(Weight*Size)/sum(Weight*Size)] # Cumulative Relative Weight
+SMD[,Decile:=cut(crw,breaks = seq(0,1,.1),labels = 1:10)]
+SMD[,Percentile:=cut(crw,breaks=seq(0,1,.01),labels=1:100)]
+
+###Nominal- Country
+SMD<- SMD[order(Total_Exp_Month_Per_nondurable)] #Deciling in Country(Nominal)
+SMD[,crw2:=cumsum(Weight*Size)/sum(Weight*Size)] # Cumulative Relative Weight
+SMD[,Decile_Nominal:=cut(crw2,breaks = seq(0,1,.1),labels = 1:10)]
+SMD[,Percentile_Nominal:=cut(crw2,breaks=seq(0,1,.01),labels=1:100)]
+
+SMD[,NewPoor:=1]
+SMD[,ThisIterationPoor:=0]
+i <- 0
+while(sum(SMD[,(ThisIterationPoor-NewPoor)^2])>=0.002*nrow(SMD) & i <=50){
+ i <- i+1
+ SMD[,pold:=Percentile]
+ SMD[,ThisIterationPoor:=ifelse(pold %in% Settings$InitialPoorPercentile,1,0)]
+ SMDIterationPoor<-SMD[ThisIterationPoor==TRUE]
+ SMDIterationPoor[,sum(ThisIterationPoor),by=.(Region,NewArea_Name)][order(Region,NewArea_Name)]
+
+ T_P_Bundle_Value <- SMDIterationPoor[NewArea==2301, .(Bundle_Value,MetrPrice,Weight)]
+ TPBV1 <- T_P_Bundle_Value[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE)]
+ TPBV2 <- T_P_Bundle_Value[,weighted.mean(MetrPrice,Weight,na.rm = TRUE)]
+
+
+ X <- SMDIterationPoor[,.(weighted.mean(FoodExpenditure/Total_Exp_Month,Weight),
+ weighted.mean(ServiceExp/Total_Exp_Month,Weight)),by=.(Region,NewArea_Name)]
+ X[,V:=V1+V2]
+
+ SMDIterationPoor <- merge(SMDIterationPoor,X,by=c("Region","NewArea_Name"))
+ SMDIterationPoor[,PriceIndex:=NULL]
+
+ Index <- SMDIterationPoor[,.(PriceIndex=(weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/TPBV1*V1+
+ weighted.mean(MetrPrice,Weight,na.rm = TRUE)/TPBV2*V2)/V)
+ ,by=.(Region,NewArea_Name)]
+ Index <- Index[,.(PriceIndex=mean(PriceIndex)),by=.(Region,NewArea_Name)]
+
+
+ SMD[,PriceIndex:=NULL]
+ SMD <- merge(SMD,Index,by=c("Region","NewArea_Name"))
+
+ SMD[,Total_Exp_Month_Per_nondurable_Real:=Total_Exp_Month_Per_nondurable/PriceIndex]
+
+ ###Real- Country
+ SMD<- SMD[order(Total_Exp_Month_Per_nondurable_Real)] #Deciling in Country
+ SMD[,crw:=cumsum(Weight*Size)/sum(Weight*Size)] # Cumulative Relative Weight
+ SMD[,Decile:=cut(crw,breaks = seq(0,1,.1),labels = 1:10)]
+ SMD[,Percentile:=cut(crw,breaks=seq(0,1,.01),labels=1:100)]
+
+ SMD[,NewPoor:=ifelse(Percentile %in% Settings$InitialPoorPercentile,1,0)]
+ save(SMD,file=paste0(Settings$HEISProcessedPath,"Y",year,"SMD.rda"))
+
+ #cat("\n",sum(SMD[ProvinceCode==2,.N]))
+ cat("\n",sum(SMD[,(ThisIterationPoor-NewPoor)^2]))
+ SMD[,weighted.mean(Size,Weight),by=.(Region)][order(Region)]
+ SMD[,sum(Size*Weight),by=.(Region,Decile)][order(Region,Decile)]
+
+ SMD[,weighted.mean(Size,Weight,na.rm = TRUE),by=.(Decile)][order(Decile)]
+
+}
+
+MD[,Bundle_Value:=NULL]
+MD[,NewPoor:=NULL]
+MD[,Decile:=NULL]
+MD[,Percentile:=NULL]
+MD[,Decile_Nominal:=NULL]
+MD[,Percentile_Nominal:=NULL]
+MD[,InitialPoor:=NULL]
+
+
+MD <- merge(MD,SMD[,.(HHID,Bundle_Value,NewPoor,Decile,Percentile,Decile_Nominal,Percentile_Nominal)],by="HHID")
+setnames(MD,"NewPoor","InitialPoor")
+
+######################################################################
+save(MD,file=paste0(Settings$HEISProcessedPath,"Y",year,"InitialPoor.rda"))
+
+A<-merge(A3,A2)
+A<-merge(A,A1)
+A<-merge(A,A4)
+A<-merge(A,A5)
+A<-merge(A,A6)
+A<-merge(A,A7)
+A<-merge(A,A8)
+A<-merge(A,A9)
+A<-merge(A,A10)
+A<-merge(A,A11)
+
+
+}
+
+
+
+endtime <- proc.time()
+cat("\n\n============================\nIt took ")
+cat((endtime-starttime)["elapsed"])
+cat(" seconds")
diff --git a/R/Archive/June 2020 (removed code files)/Subsidy.R b/R/Archive/June 2020 (removed code files)/Subsidy.R
new file mode 100644
index 00000000..fb710ef3
--- /dev/null
+++ b/R/Archive/June 2020 (removed code files)/Subsidy.R
@@ -0,0 +1,74 @@
+# 152-Subsidy.R
+# 2019: Arin Shahbazian
+
+rm(list=ls())
+
+starttime <- proc.time()
+cat("\n\n================ HHSubsidy =====================================\n")
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+library(data.table)
+library(stringr)
+library(readxl)
+
+
+SubsidyTable <- data.table(read_excel(Settings$MetaDataFilePath,sheet=Settings$MDS_SubsidyWage))
+
+
+for(year in (Settings$startyear:Settings$endyear)){
+ cat(paste0("\n------------------------------\nYear:",year,"\n"))
+ Subsidywt <- SubsidyTable[Year==year]
+ tab <- Subsidywt$Table
+ if(is.na(tab))
+ next
+ load(file=paste0(Settings$HEISRawPath,"Y",year,"Raw.rda"))
+ UTSubsidyW <- Tables[[paste0("U",year,tab)]]
+ RTSubsidyW <- Tables[[paste0("R",year,tab)]]
+ TSubsidyW <- rbind(UTSubsidyW,RTSubsidyW,fill=TRUE)
+ for(n in names(TSubsidyW)){
+ x <- which(Subsidywt==n)
+ if(length(x)>0)
+ setnames(TSubsidyW,n,names(Subsidywt)[x])
+ }
+ pcols <- intersect(names(TSubsidyW),c("HHID","dimension","Subsidy"))
+ TSubsidyW <- TSubsidyW[,pcols,with=FALSE]
+
+
+
+ TSubsidyW[is.na(TSubsidyW)] <- 0
+ SubsidyWageData <- TSubsidyW[,lapply(.SD,sum),by=HHID]
+ save(SubsidyWageData, file = paste0(Settings$HEISProcessedPath,"Y",year,"Subsidy.rda"))
+
+
+
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"FINALPOORS.rda"))
+ UTSubsidyW[,check1:=Dycol05/(Dycol04*Dycol03)]
+ UMD<-MD[Region=="Urban"]
+ UMD<-UMD[,.(HHID,FinalPoor,Decile,Decile_Nominal,Month)]
+ names(UMD) <- c("Address", "FinalPoor","Decile","Decile_Nominal","Month")
+ UTSubsidyW<-merge(UTSubsidyW,UMD)
+
+ RTSubsidyW[,check1:=Dycol05/(Dycol04*Dycol03)]
+ RMD<-MD[Region=="Rural"]
+ RMD<-RMD[,.(HHID,FinalPoor,Decile,Decile_Nominal,Month)]
+ names(RMD) <- c("Address", "FinalPoor","Decile","Decile_Nominal","Month")
+ RTSubsidyW<-merge(RTSubsidyW,RMD)
+
+
+ save(UTSubsidyW, file = paste0(Settings$HEISProcessedPath,"Y",year,"UTSubsidyW.rda"))
+ save(RTSubsidyW, file = paste0(Settings$HEISProcessedPath,"Y",year,"RTSubsidyW.rda"))
+
+
+ xU<-UTSubsidyW[check1>1000000]
+ xR<-RTSubsidyW[check1>1000000]
+
+ save(xU,file = "xU.rda")
+ save(xR,file = "xR.rda")
+}
+
+
+
+endtime <- proc.time()
+cat("\n\n============================\nIt took ")
+cat(endtime-starttime)
diff --git a/R/Archive/June 2020 (removed code files)/TestPovertyModelsForAllNewAreas.R b/R/Archive/June 2020 (removed code files)/TestPovertyModelsForAllNewAreas.R
new file mode 100644
index 00000000..8edc758d
--- /dev/null
+++ b/R/Archive/June 2020 (removed code files)/TestPovertyModelsForAllNewAreas.R
@@ -0,0 +1,142 @@
+rm(list=ls())
+
+starttime <- proc.time()
+cat("\n\n================ Classification Models =====================================\n")
+
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+options(java.parameters = "-Xmx5g")
+library(readxl)
+library(data.table)
+library(stringr)
+library(janitor)
+library(dplyr)
+library(Hmisc)
+library(caret)
+library(caretEnsemble)
+library(gbm)
+library(pROC)
+library(glmnet)
+library(parallel)
+library(doParallel)
+
+acml <- c("glm","gbm","nnet")
+year <- 97
+
+load(file=paste0(Settings$HEISProcessedPath,"Y",year,"Data4ClassifactionModels.rda"))
+#Data <- Data[,-39,with=FALSE]
+# Data <- Data[,Percentile:=as.numeric(paste0(Percentile))]
+# Data <- Data[,Percentile_Nominal:=as.numeric(paste0(Percentile_Nominal))]
+D <- Data[,ProvinceName:=NULL]
+D <- D[,Percentile:=NULL]
+D <- D[,Percentile_Nominal:=NULL]
+D <- D[,Decile:=NULL]
+D <- D[,Decile_Nominal:=NULL]
+D <- D[,NewArea:=NULL]
+D <- D[,cluster3:=as.factor(cluster3)]
+remnames <- c("Total_Exp_Month_Per_nondurable","PovertyLine","TOriginalFoodExpenditure_Per",
+ "Engel","InitialPoor","FPLine","HHID","Real_Total_Exp_Month","Weight","Year","NetIncome",
+ "Real_FoodExpenditure","Real_Durable_Exp","cluster3","NewArea_Name")
+NewAreaList <- unique(D$NewArea_Name)
+
+ResultsTestsData <- data.table()
+
+
+registerDoParallel(6)
+getDoParWorkers()
+
+
+
+for(AreaName in NewAreaList){
+ cat("\n\n======================\n",AreaName,"\n")
+ D <- D[,ThisArea := ifelse(NewArea_Name == AreaName,1,0)]
+ D <- D[,SIS := ifelse(NewArea_Name %in% c("Sh_Zahedan","Sistan"),1,0)]
+
+ dm <- dummyVars("~.",data = D[,setdiff(names(D),remnames),with=FALSE], fullRank = FALSE)
+ D2 <- as.data.table(predict(dm,D))
+ #prop.table(table(D2$FinalPoor))
+
+ outcomename <- "FinalPoor"
+ predictornames <- names(D2)[! names(D2) %in% c(outcomename,"ThisArea","SIS")]
+
+ D2 <- D2[,FP:=as.factor(ifelse(FinalPoor==1,"Poor","NotPoor"))]
+ outcomename <- "FP"
+
+ SepD <- D2[ThisArea==1,]
+ D3 <- D2[ThisArea == 0 & SIS==0,]
+ splitIndex <- createDataPartition(D3[[outcomename]],p=.75,list = FALSE,times = 1)
+ trainD <- D3[splitIndex,]
+ testD <- D3[-splitIndex,]
+
+
+
+ X_train <- trainD[,predictornames,with=FALSE]
+ X_train[is.na(X_train)] <- 0
+ y_train <- trainD[[outcomename]]
+
+ X_test <- testD[,predictornames,with=FALSE]
+ X_test[is.na(X_test)] <- 0
+ y_test <- testD[[outcomename]]
+
+ X_Sep <- SepD[,predictornames,with=FALSE]
+ X_Sep[is.na(X_Sep)] <- 0
+ y_Sep <- SepD[[outcomename]]
+
+
+
+ #describe(X_train)
+ # featurePlot(x = X_test,y = y_test,
+ # between=list(x=1,y=1),
+ # type=c("g","p","smooth"))
+
+ myctl <- trainControl(method = "cv",
+ number = 5,
+ savePredictions = "final",
+ allowParallel = TRUE,
+ classProbs = TRUE)
+
+
+
+ t0 <- Sys.time()
+ Results <- c()
+ SepRes <- c()
+ for(mdl in acml){
+ try({
+ cat("\n",mdl," ... ")
+ if(mdl=="glm"){ objModel <- caret::train(X_train,y_train,
+ method = mdl,
+ trControl = myctl,
+ family = "binomial",
+ # metric = "ROC",
+ preProcess = c("center","scale"))
+ }else{
+
+ objModel <- caret::train(X_train,y_train,
+ method = mdl,
+ trControl = myctl,
+ # metric = "ROC",
+ preProcess = c("center","scale"))
+ }
+ predictions_test <- predict(object = objModel, X_test, type="raw")
+ t1 <- Sys.time()
+ cat(as.character(t1),"\t[",as.character(t1-t0),"]")
+ Results[mdl] <- postResample(pred=as.factor(predictions_test), obs=as.factor(y_test))[1]
+ cat("\tAccuracy:",Results[mdl],'\t')
+
+ predictions_Sep <- predict(object = objModel, X_Sep, type="raw")
+ cat(as.character(t1),"\t[",as.character(t1-t0),"]\n")
+ SepRes[mdl] <- postResample(pred=as.factor(predictions_Sep), obs=as.factor(y_Sep))[1]
+
+ t0 <- t1
+
+ ResultsTestsData <- rbind(ResultsTestsData,
+ data.table(SepArea=AreaName,Model=mdl,Test=Results[mdl],SepRes=SepRes[mdl]))
+ })
+ }
+
+ print(Results)
+ print(SepRes)
+}
+
+
+View(ResultsTestsData)
\ No newline at end of file
diff --git a/R/Archive/June 2020 (removed code files)/TornqvistPriceIndex.R b/R/Archive/June 2020 (removed code files)/TornqvistPriceIndex.R
new file mode 100644
index 00000000..1d9f97f8
--- /dev/null
+++ b/R/Archive/June 2020 (removed code files)/TornqvistPriceIndex.R
@@ -0,0 +1,138 @@
+# Tornqvist Price Index
+#
+# Copyright 2020 Zahra Shahidi & Majid Einian
+
+
+rm(list=ls())
+
+starttime <- proc.time()
+cat("\n\n================ Nominal to Real =====================================\n")
+
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+# Settings$InitialPoorPercentile <- 1:22
+# Settings$startyear <- 77
+#library(readxl)
+library(data.table)
+#library(ggplot2)
+
+# Function Defs ---------------------------------------------------------------------------------
+CalcTornqvistIndex <- function(DataTable){
+ X <- DataTable[,.(N=.N,wi1=weighted.mean(FoodExpenditure/Total_Exp_Month,Weight,na.rm = TRUE),
+ wi2=weighted.mean(ServiceExp/Total_Exp_Month,Weight,na.rm = TRUE),
+ pi1=weighted.mean(Bundle_Value,Weight,na.rm = TRUE),
+ pi2=weighted.mean(MetrPrice,Weight,na.rm = TRUE)),by=.(Region,NewArea_Name)]
+
+ X[,wi:=wi1+wi2]
+ X[,wi1:=wi1/wi]
+ X[,wi2:=wi2/wi]
+ XTeh<-X[NewArea_Name=="Sh_Tehran"]
+ wk1<-XTeh$wi1 # k == Sh_Tehran
+ wk2<-XTeh$wi2
+ pk1<-XTeh$pi1
+ pk2<-XTeh$pi2
+
+ X[,SimpleIndex:= .5 * pi1/pk1 + .5 * pi2/pk2]
+ X[,AnotherIndex:= wi1 * pi1/pk1 + wi2 * pi2/pk2]
+
+ X[,TornqvistIndex:= exp( (wk1+wi1)/2 * log(pi1/pk1) + (wk2+wi2)/2 * log(pi2/pk2) ) ]
+
+
+ # print(X[Region=="Rural" & NewArea_Name=="Semnan",])
+ # if("Percentile" %in% names(DataTable))
+ # print(DataTable[Region=="Rural" & NewArea_Name=="Semnan",.(min=min(as.integer(Percentile)),max=max(as.integer(Percentile))),by=.(Region,NewArea_Name)])
+
+ return(X[,.(Region,NewArea_Name,PriceIndex=TornqvistIndex)])
+}
+
+
+DoDeciling_SetInitialPoor <- function(DataTable,PriceIndexDT){
+
+ if("PriceIndex" %in% names(DataTable)){
+ DataTable <- DataTable[,PriceIndex:=NULL]
+ }
+ DataTable <- merge(DataTable,PriceIndexDT,by=c("Region","NewArea_Name"))
+
+
+ DataTable <- DataTable[,Total_Exp_Month_Per_nondurable_Real:=Total_Exp_Month_Per_nondurable/PriceIndex]
+
+ DataTable <- DataTable[order(Total_Exp_Month_Per_nondurable_Real)]
+ DataTable <- DataTable[,xr25th:=.SD[25,Total_Exp_Month_Per_nondurable_Real],by=.(Region,NewArea_Name)]
+ DataTable <- DataTable[,First25:=ifelse(Total_Exp_Month_Per_nondurable_Real<=xr25th,1,0)]
+
+ DataTable <- DataTable[order(Total_Exp_Month_Per_nondurable_Real)] # I removed Region from ordering, deciling is not divided into rural/urban (M.E. 5/11/2020)
+ DataTable <- DataTable[,crw:=cumsum(Weight*Size)/sum(Weight*Size)] # Cumulative Relative Weight
+
+ #Calculate deciles by weights
+ DataTable <- DataTable[,Decile:=cut(crw,breaks = seq(0,1,.1),labels = 1:10)]
+ DataTable <- DataTable[,Percentile:=cut(crw,breaks=seq(0,1,.01),labels=1:100)]
+
+ DataTable <- DataTable[,InitialPoorBasedOnPercentile:=ifelse(Percentile %in% Settings$InitialPoorPercentile,1,0)]
+
+ return(DataTable)
+}
+
+ # Main loop for years ----------------------------------------------------------------
+for(year in (Settings$startyear:Settings$endyear)){
+ cat(paste0("\n------------------------------\nYear:",year,"\n"))
+
+ # load data --------------------------------------
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"Merged4CBN3.rda"))
+
+ SMD <- MD[,.(HHID,Region,
+ ServiceExp,FoodExpenditure,Total_Exp_Month,
+ NewArea,NewArea_Name,Total_Exp_Month_Per_nondurable,TOriginalFoodExpenditure_Per,
+ # Total_Exp_Month_Per_nondurable2,TFoodExpenditure_Per2,
+ TFoodKCaloriesHH_Per,Calorie_Need_WorldBank,Calorie_Need_Anstitoo,
+ Weight,MetrPrice,Size,EqSizeOECD)]
+
+ #Choose one of these
+ SMD[,Bundle_Value:=TOriginalFoodExpenditure_Per*Calorie_Need_WorldBank/TFoodKCaloriesHH_Per]
+ #SMD[,Bundle_Value:=TOriginalFoodExpenditure_Per*Calorie_Need_Anstitoo/TFoodKCaloriesHH_Per]
+ #SMD[,Bundle_Value:=TOriginalFoodExpenditure_Per*Settings$KCaloryNeed_Adult_WorldBank/TFoodKCaloriesHH_Per]
+ #SMD[,Bundle_Value:=TOriginalFoodExpenditure_Per*Settings$KCaloryNeed_Adult_Anstitoo/TFoodKCaloriesHH_Per]
+
+
+ SMD <- SMD[Bundle_Value<=5000000 | TFoodKCaloriesHH_Per>=300] #arbitrary measures, TODO: check in diff years
+
+ PriceDT <- CalcTornqvistIndex(SMD)
+ SMD <- DoDeciling_SetInitialPoor(SMD,PriceDT)
+
+
+
+ SMD[,InitialPoorBasedOnPercentileLastIteration:=1]
+ i <- 0
+ while(SMD[,sum((InitialPoorBasedOnPercentile-InitialPoorBasedOnPercentileLastIteration)^2)]>0.001*nrow(SMD) & i <=50){
+ i <- i+1
+ SMD[,InitialPoorBasedOnPercentileLastIteration:=InitialPoorBasedOnPercentile]
+
+ SMDIterationPoor <- SMD[InitialPoorBasedOnPercentileLastIteration==1 | First25==1 ]
+
+ if(nrow(SMDIterationPoor[,.N,by=.(Region,NewArea_Name)])<78)
+ stop("HERE Some Area goes missing!")
+ if(min(SMDIterationPoor[,.N,by=.(Region,NewArea_Name)]$N)==0)
+ stop("HERE Some Area goes missing!")
+
+ PriceDTBasedOnThisIterationPoor <- CalcTornqvistIndex(SMDIterationPoor)
+ # print(PriceDTBasedOnThisIterationPoor[Region=="Rural" & NewArea_Name=="Semnan",])
+ SMD <- DoDeciling_SetInitialPoor(SMD,PriceDTBasedOnThisIterationPoor)
+
+ cat("\n",i,":",SMD[,sum((InitialPoorBasedOnPercentile-InitialPoorBasedOnPercentileLastIteration)^2)])
+ }
+
+ save(SMD,file=paste0(Settings$HEISProcessedPath,"Y",year,"SMD.rda"))
+
+
+ MD <- merge(MD,SMD[,.(HHID,Bundle_Value,InitialPoorBasedOnPercentile,Decile,Percentile)],by="HHID")
+ setnames(MD,"InitialPoorBasedOnPercentile","InitialPoor") # or maybe InitialPoorBasedOnRealIterativePercentile !
+
+
+ MD[,weighted.mean(InitialPoor,Weight,na.rm = TRUE), by=.(NewArea_Name,Region)]
+
+ save(MD,file=paste0(Settings$HEISProcessedPath,"Y",year,"InitialPoor.rda"))
+
+}
+
+
+endtime <- proc.time()
+cat("\n\n============================\nIt took ",(endtime-starttime)["elapsed"]," seconds")
diff --git a/R/Archive/June 2020 (removed code files)/Update merged data.R b/R/Archive/June 2020 (removed code files)/Update merged data.R
new file mode 100644
index 00000000..c457f971
--- /dev/null
+++ b/R/Archive/June 2020 (removed code files)/Update merged data.R
@@ -0,0 +1,336 @@
+
+rm(list=ls())
+
+starttime <- proc.time()
+cat("\n\n================ Nominal to Real =====================================\n")
+
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+#library(readxl)
+library(data.table)
+library(ggplot2)
+
+for(year in (Settings$startyear:Settings$endyear)){
+ cat(paste0("\n------------------------------\nYear:",year,"\n"))
+
+ # load data --------------------------------------
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"Merged4CBN398.rda"))
+
+ SMD <- MD[,.(HHID,Region,ProvinceCode,
+ ServiceExp,FoodExpenditure,Total_Exp_Month,
+ NewArea,NewArea_Name,Total_Exp_Month_Per_nondurable,TOriginalFoodExpenditure_Per,
+ # Total_Exp_Month_Per_nondurable2,TFoodExpenditure_Per2,
+ Durable_Exp,
+ TFoodKCaloriesHH_Per,Calorie_Need_WorldBank,Calorie_Need_Anstitoo,
+ Weight,MetrPrice,Size,EqSizeOECD)]
+
+ #Choose one of these
+ SMD[,Bundle_Value:=TOriginalFoodExpenditure_Per*Calorie_Need_WorldBank/TFoodKCaloriesHH_Per]
+ #SMD[,Bundle_Value:=TOriginalFoodExpenditure_Per*Calorie_Need_Anstitoo/TFoodKCaloriesHH_Per]
+ #SMD[,Bundle_Value:=TOriginalFoodExpenditure_Per*Settings$KCaloryNeed_Adult_WorldBank/TFoodKCaloriesHH_Per]
+ #SMD[,Bundle_Value:=TOriginalFoodExpenditure_Per*Settings$KCaloryNeed_Adult_Anstitoo/TFoodKCaloriesHH_Per]
+
+
+ SMD <- SMD[Bundle_Value<=5000000 | TFoodKCaloriesHH_Per>=300] #arbitrary measures, TODO: check in diff years
+
+ #Real Prices
+ T_Bundle_Value <- SMD[NewArea==2301, .(Bundle_Value,MetrPrice,Weight)]
+ TBV1 <- T_Bundle_Value[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE)]
+ TBV2 <- T_Bundle_Value[,weighted.mean(MetrPrice,Weight,na.rm = TRUE)]
+
+ SMD[,PriceIndex2:=(weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/TBV1
+ +weighted.mean(MetrPrice,Weight,na.rm = TRUE)/TBV2)/2
+ ,by=.(Region,NewArea_Name)]
+
+ X <- SMD[,.(weighted.mean(FoodExpenditure/Total_Exp_Month,Weight),
+ weighted.mean(ServiceExp/Total_Exp_Month,Weight)),by=.(Region,NewArea_Name)]
+ X[,V:=V1+V2]
+
+ SMD <- merge(SMD,X,by=c("Region","NewArea_Name"))
+
+ SMD[,PriceIndex:=(weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/TBV1*V1
+ +weighted.mean(MetrPrice,Weight,na.rm = TRUE)/TBV2*V2)/V
+ ,by=.(Region,NewArea_Name)]
+
+ Compare1<-SMD[,.(Old=mean(PriceIndex2),
+ New=mean(PriceIndex)),by=.(Region,NewArea_Name)]
+
+ SMD[,V1:=NULL]
+ SMD[,V2:=NULL]
+ SMD[,V:=NULL]
+
+
+ SMD[,Total_Exp_Month_Per_nondurable_Real:=Total_Exp_Month_Per_nondurable/PriceIndex]
+
+ ###Real- Urban & Rural
+ #SMD<- SMD[order(Region,Total_Exp_Month_Per_nondurable_Real)] #Deciling in Urban- Rural
+ #SMD[,crw:=cumsum(Weight*Size)/sum(Weight*Size),by=Region] # Cumulative Relative Weight
+ #SMD[,Decile:=cut(crw,breaks = seq(0,1,.1),labels = 1:10),by=Region]
+ #SMD[,Percentile:=cut(crw,breaks=seq(0,1,.01),labels=1:100),by=Region]
+
+ ###Real- Country
+ SMD<- SMD[order(Total_Exp_Month_Per_nondurable_Real)] #Deciling in Country
+ SMD[,crw:=cumsum(Weight*Size)/sum(Weight*Size)] # Cumulative Relative Weight
+ SMD[,Decile:=cut(crw,breaks = seq(0,1,.1),labels = 1:10)]
+ SMD[,Percentile:=cut(crw,breaks=seq(0,1,.01),labels=1:100)]
+
+ ###Nominal- Urban & Rural
+ #SMD<- SMD[order(Region,Total_Exp_Month_Per_nondurable)] #Deciling in Urban- Rural(Nominal)
+ #SMD[,crw2:=cumsum(Weight*Size)/sum(Weight*Size),by=Region] # Cumulative Relative Weight
+ #SMD[,Decile_Nominal:=cut(crw2,breaks = seq(0,1,.1),labels = 1:10),by=Region]
+ #SMD[,Percentile_Nominal:=cut(crw2,breaks=seq(0,1,.01),labels=1:100),by=Region]
+
+ ###Nominal- Country
+ SMD<- SMD[order(Total_Exp_Month_Per_nondurable)] #Deciling in Country(Nominal)
+ SMD[,crw2:=cumsum(Weight*Size)/sum(Weight*Size)] # Cumulative Relative Weight
+ SMD[,Decile_Nominal:=cut(crw2,breaks = seq(0,1,.1),labels = 1:10)]
+ SMD[,Percentile_Nominal:=cut(crw2,breaks=seq(0,1,.01),labels=1:100)]
+
+
+
+ SMD[,NewPoor:=1]
+ SMD[,ThisIterationPoor:=0]
+ i <- 0
+ while(sum(SMD[,(ThisIterationPoor-NewPoor)^2])>=0.002*nrow(SMD) & i <=50){
+ i <- i+1
+ SMD[,pold:=Percentile]
+ SMD[,ThisIterationPoor:=ifelse(pold %in% Settings$InitialPoorPercentile,1,0)]
+ SMDIterationPoor<-SMD[ThisIterationPoor==TRUE]
+ SMDIterationPoor[,sum(ThisIterationPoor),by=.(Region,NewArea_Name)][order(Region,NewArea_Name)]
+
+ T_P_Bundle_Value <- SMDIterationPoor[NewArea==2301, .(Bundle_Value,MetrPrice,Weight)]
+ TPBV1 <- T_P_Bundle_Value[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE)]
+ TPBV2 <- T_P_Bundle_Value[,weighted.mean(MetrPrice,Weight,na.rm = TRUE)]
+
+
+ X <- SMDIterationPoor[,.(weighted.mean(FoodExpenditure/Total_Exp_Month,Weight),
+ weighted.mean(ServiceExp/Total_Exp_Month,Weight)),by=.(Region,NewArea_Name)]
+ X[,V:=V1+V2]
+
+ SMDIterationPoor <- merge(SMDIterationPoor,X,by=c("Region","NewArea_Name"))
+ SMDIterationPoor[,PriceIndex:=NULL]
+
+ Index <- SMDIterationPoor[,.(PriceIndex=(weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/TPBV1*V1+
+ weighted.mean(MetrPrice,Weight,na.rm = TRUE)/TPBV2*V2)/V)
+ ,by=.(Region,NewArea_Name)]
+ Index <- Index[,.(PriceIndex=mean(PriceIndex)),by=.(Region,NewArea_Name)]
+
+
+ SMD[,PriceIndex:=NULL]
+ SMD <- merge(SMD,Index,by=c("Region","NewArea_Name"))
+
+ SMD[,Total_Exp_Month_Per_nondurable_Real:=Total_Exp_Month_Per_nondurable/PriceIndex]
+
+
+ ###Real- Urban & Rural
+ #SMD<- SMD[order(Region,Total_Exp_Month_Per_nondurable_Real)] #Deciling in Urban- Rural
+ #SMD[,crw:=cumsum(Weight*Size)/sum(Weight*Size),by=Region] # Cumulative Relative Weight
+ #SMD[,Decile:=cut(crw,breaks = seq(0,1,.1),labels = 1:10),by=Region]
+ #SMD[,Percentile:=cut(crw,breaks=seq(0,1,.01),labels=1:100),by=Region]
+
+ ###Real- Country
+ SMD<- SMD[order(Total_Exp_Month_Per_nondurable_Real)] #Deciling in Country
+ SMD[,crw:=cumsum(Weight*Size)/sum(Weight*Size)] # Cumulative Relative Weight
+ SMD[,Decile:=cut(crw,breaks = seq(0,1,.1),labels = 1:10)]
+ SMD[,Percentile:=cut(crw,breaks=seq(0,1,.01),labels=1:100)]
+
+ SMD[,NewPoor:=ifelse(Percentile %in% Settings$InitialPoorPercentile,1,0)]
+ save(SMD,file=paste0(Settings$HEISProcessedPath,"Y",year,"SMD98.rda"))
+
+ #cat("\n",sum(SMD[ProvinceCode==2,.N]))
+ cat("\n",sum(SMD[,(ThisIterationPoor-NewPoor)^2]))
+ SMD[,weighted.mean(Size,Weight),by=.(Region)][order(Region)]
+ SMD[,sum(Size*Weight),by=.(Region,Decile)][order(Region,Decile)]
+
+ SMD[,weighted.mean(Size,Weight,na.rm = TRUE),by=.(Decile)][order(Decile)]
+ # NewDecile<-SMD[,.(HHID,Decile)]
+ # names(NewDecile)<-c("HHID","NewDecile")
+ # save(NewDecile,file=paste0(Settings$HEISProcessedPath,"Y",year,"NewDecile.rda"))
+
+ # OldDecile<-SMD[,.(HHID,Decile)]
+ # names(OldDecile)<-c("HHID","OldDecile")
+ # save(OldDecile,file=paste0(Settings$HEISProcessedPath,"Y",year,"OldDecile.rda"))
+
+ }
+
+ #load(file=paste0(Settings$HEISProcessedPath,"Y",year,"NewDecile.rda"))
+ #DecileCompare<-merge(as.data.table(OldDecile),NewDecile,by="HHID")
+ #DecileCompare[,Diff:=as.numeric(NewDecile)-as.numeric(OldDecile)]
+ #DecileCompare2<- DecileCompare[,.(.N),by=Diff]
+
+ #ggplot(DecileCompare2, aes(fill=factor(Diff), y=N, x=factor(Diff))) +
+ # geom_bar(position="dodge", stat="identity") + theme_bw() +
+ # theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1)) +
+ # geom_text(aes(label=N), position=position_dodge(width=0.9), vjust=-0.25)
+
+ MD <- merge(MD,SMD[,.(HHID,Bundle_Value,NewPoor,Decile,Percentile,Decile_Nominal,Percentile_Nominal)],by="HHID")
+ setnames(MD,"NewPoor","InitialPoor")
+
+
+ MD[,weighted.mean(InitialPoor,Weight), by=.(NewArea_Name,Region)]
+ MD[,sum(Weight*Size), by=.(Decile,Region)][order(Region,Decile)]
+ MD[,sum(Weight*Size), by=.(Decile_Nominal,Region)][order(Region,Decile_Nominal)]
+
+ save(MD,file=paste0(Settings$HEISProcessedPath,"Y",year,"InitialPoor98.rda"))
+
+}
+
+for(year in (Settings$startyear:Settings$endyear)){
+ cat(paste0("\n------------------------------\nYear:",year,"\n"))
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"InitialPoor98.rda"))
+
+ #####Clustering#####
+ dt2Urban<-MD[Region=="Urban",.(NewArea,NewArea_Name,Region,HHID)]
+ dt2Rural<-MD[Region=="Rural",.(NewArea,NewArea_Name,Region,HHID)]
+
+ #####Urban#####
+ dt2Urban<-dt2Urban[NewArea_Name=="Sh_Tehran",cluster3:=1]
+
+ dt2Urban<-dt2Urban[NewArea_Name=="Sh_Shiraz" | NewArea_Name=="Sh_Esfahan" |
+ NewArea_Name=="Sh_Bandarabas" |
+ NewArea_Name=="Sh_Karaj" |
+ NewArea_Name=="Sh_Rasht",
+ cluster3:=2]
+
+ dt2Urban<-dt2Urban[NewArea_Name=="Gilan" | NewArea_Name=="Alborz" |
+ NewArea_Name=="Kohkilooye" | NewArea_Name=="Ghazvin" |
+ NewArea_Name=="Markazi" | NewArea_Name=="Esfahan" |
+ NewArea_Name=="Ghom" | NewArea_Name=="Sh_Arak" |
+ NewArea_Name=="Tehran" | NewArea_Name=="Sh_Tabriz" |
+ NewArea_Name=="Mazandaran" | NewArea_Name=="Sh_Yazd" ,
+ cluster3:=3]
+
+ dt2Urban<-dt2Urban[ NewArea_Name=="Yazd" |
+ NewArea_Name=="Sh_Kerman" |
+ NewArea_Name=="Sh_Hamedan" |
+ NewArea_Name=="Chaharmahal" |
+ NewArea_Name=="Zanjan" | NewArea_Name=="Hamedan" |
+ NewArea_Name=="Sh_Mashhad" | NewArea_Name=="Sh_Urmia" |
+ NewArea_Name=="Sh_Ahvaz" | NewArea_Name=="Hormozgan"|
+ NewArea_Name=="Booshehr" |
+ NewArea_Name=="Semnan" | NewArea_Name=="Fars",
+ cluster3:=4]
+
+ dt2Urban<-dt2Urban[ NewArea_Name=="Sh_Kermanshah" | NewArea_Name== "Az_Sharghi" |
+ NewArea_Name=="Kerman" |
+ NewArea_Name=="Ardebil" |
+ NewArea_Name=="Ilam" ,
+ cluster3:=5]
+
+ dt2Urban<-dt2Urban[NewArea_Name=="Khoozestan" | NewArea_Name=="Kordestan" |
+ NewArea_Name=="Khorasan_Razavi" |
+ NewArea_Name=="Khorasan_Jonoobi" | NewArea_Name=="Az_Gharbi" |
+ NewArea_Name=="Kermanshah" | NewArea_Name=="Lorestan" |
+ NewArea_Name=="Khorasan_Shomali" | NewArea_Name=="Golestan",
+ cluster3:=6]
+
+ dt2Urban<-dt2Urban[NewArea_Name=="Sistan" | NewArea_Name=="Sh_Zahedan",
+ cluster3:=7]
+
+ save(dt2Urban,file ="dt2Urban.rda")
+ #####Rural#####
+ dt2Rural<-dt2Rural[ NewArea_Name=="Tehran" | NewArea_Name=="Alborz",
+ cluster3:=8]
+
+ dt2Rural<-dt2Rural[NewArea_Name=="Esfahan" | NewArea_Name=="Mazandaran" ,
+ cluster3:=9]
+
+ dt2Rural<-dt2Rural[ NewArea_Name=="Ghazvin" | NewArea_Name=="Yazd" |
+ NewArea_Name=="Gilan" |
+ NewArea_Name=="Kohkilooye" | NewArea_Name=="Booshehr",
+ cluster3:=10]
+
+ dt2Rural<-dt2Rural[ NewArea_Name=="Zanjan" |
+ NewArea_Name=="Chaharmahal"| NewArea_Name=="Hormozgan" | NewArea_Name=="Az_Sharghi" |
+ NewArea_Name=="Ghom" |
+ NewArea_Name=="Fars" |
+ NewArea_Name=="Markazi" | NewArea_Name=="Semnan",
+ cluster3:=11]
+
+ dt2Rural<-dt2Rural[ NewArea_Name=="Hamedan" |
+ NewArea_Name=="Az_Gharbi" | NewArea_Name=="Kermanshah" |
+ NewArea_Name=="Kerman" | NewArea_Name=="Golestan" |
+ NewArea_Name=="Khorasan_Jonoobi" | NewArea_Name=="Lorestan" |
+ NewArea_Name=="Kordestan"|
+ NewArea_Name=="Khoozestan" |
+ NewArea_Name=="Ardebil" | NewArea_Name=="Ilam",
+ cluster3:=12]
+
+ dt2Rural<-dt2Rural[ NewArea_Name=="Khorasan_Shomali" | NewArea_Name=="Khorasan_Razavi" |
+ NewArea_Name=="Sistan" ,
+ cluster3:=13]
+
+ save(dt2Rural,file ="dt2Rural.rda")
+ #####Merge#####
+ dt2total<-rbind(dt2Urban,dt2Rural)
+
+
+ dt2total[,HHID:=NULL]
+ dt2total<-distinct(dt2total)
+
+ MD<-merge(MD,dt2total,by=c("NewArea","NewArea_Name","Region"))
+ save(MD,file=paste0(Settings$HEISProcessedPath,"Y",year,"InitialPoorClustered98.rda"))
+}
+
+for(year in (Settings$startyear:Settings$endyear)){
+ cat(paste0("\n------------------------------\nYear:",year,"\n"))
+
+ # load data --------------------------------------
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"InitialPoor98.rda"))
+ MD<-MD[CountyCode==2301]
+ #load(file = "CPI.rda")
+ #CPI<-as.data.table(CPI)
+ #CPI<-CPI[,Decile:=as.character(Decile)]
+ #MD<-merge(MD,CPI,by="Decile")
+
+ #Determine Food (Equal 2100 KCal) Bundle
+ #MDPoors<-MD[InitialPoor==1]
+ MD[,NewPoor:=InitialPoor]
+ #MD[,NewPoor:=ifelse(Decile %in% c(1,2,3,4),1,0)]
+ MD[,OldPoor:=1]
+
+ i <- 0
+ while(MD[(NewPoor-OldPoor)!=0,.N]>0.001*nrow(MD[NewPoor==1]) & i <=15){
+ # cat(nrow(MD[NewPoor==1]))
+ i <- i + 1
+ MD[,ThisIterationPoor:=NewPoor]
+ MD[,FPLine:=NULL]
+ MDP <- MD[ThisIterationPoor==1,
+ .(FPLine=weighted.mean(Bundle_Value,Weight,na.rm = TRUE)),
+ by=.(Region)]
+ MD <- merge(MD,MDP,by=c("Region"))
+ # print(MDP)
+ #x<-MD[,.(NewArea,Region,FPLine,InitialPoor)]
+ MD[,NewPoor:=ifelse(TOriginalFoodExpenditure_Per < FPLine,1,0)]
+ print(table(MD[,.(ThisIterationPoor,NewPoor)]))
+ MD[,OldPoor:=ThisIterationPoor]
+ }
+
+ MD[,FinalFoodPoor:=OldPoor]
+
+ # MD <- MD[,.(HHID,HIndivNo,Region,NewArea,NewArea_Name,cluster3,ProvinceCode,Size,HAge,HSex,Month,ServiceExp,
+ # HLiterate,HEduLevel0,HActivityState,Area,Rooms,MetrPrice,Total_Exp_Month_nondurable,
+ # Total_Exp_Month_Per_nondurable,TOriginalFoodExpenditure_Per,
+ # OriginalFoodExpenditure_Per,FPLine,Weight,Percentile,FinalFoodPoor,
+ # Total_Exp_Month_Per,TFoodKCaloriesHH_Per,TOriginalFoodExpenditure,Total_Exp_Month,
+ # TFoodExpenditure2,Total_Exp_Month_nondurable2,Total_Exp_Month2,
+ # Total_Exp_Month_Per2,
+ # EqSizeOECD,EqSizeCalory,Decile,Bundle_Value)]
+ save(MD,file=paste0(Settings$HEISProcessedPath,"Y",year,"FinalFoodPoor98.rda"))
+ MD[,weighted.mean(FinalFoodPoor,Weight)]
+ # MDFinalfood<-MD[,.(HHID,Region,NewArea,cluster3,Percentile,FinalFoodPoor)]
+ # UrbanFinalfood<-MDFinalfood[Region=="Urban"]
+ # RuralFinalfood<-MDFinalfood[Region=="Rural"]
+ # save(UrbanFinalfood, file=paste0(Settings$HEISProcessedPath,"Y",year,"UrbanFinalfood.rda"))
+ # save(RuralFinalfood, file=paste0(Settings$HEISProcessedPath,"Y",year,"RuralFinalfood.rda"))
+ #
+ MD[,weighted.mean(FinalFoodPoor,Weight),by=c("Region","ProvinceCode")][order(Region,ProvinceCode)]
+ #MD[,weighted.mean(FinalFoodPoor,Weight),by=cluster3][order(cluster3)]
+}
+
+
+endtime <- proc.time()
+cat("\n\n============================\nIt took ")
+cat((endtime-starttime)["elapsed"])
+cat(" seconds")
diff --git a/R/Archive/June 2020 (removed code files)/Updated Initial results.R b/R/Archive/June 2020 (removed code files)/Updated Initial results.R
new file mode 100644
index 00000000..d6eeca04
--- /dev/null
+++ b/R/Archive/June 2020 (removed code files)/Updated Initial results.R
@@ -0,0 +1,348 @@
+# 177- Step 7,8,9-Poverty Line.R
+#
+# Copyright © 2018:Majid Einian & Arin Shahbazian
+# Licence: GPL-3
+
+rm(list=ls())
+
+starttime <- proc.time()
+cat("\n\n================ Poverty Line =====================================\n")
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+library(readxl)
+library(data.table)
+library(ggplot2)
+library(stats)
+library(spatstat)
+
+FinalCountryResults <- data.table(Year=NA_integer_,PovertyLine=NA_real_,
+ Engle=NA_real_,Bundle_Value=NA_real_,
+ Total_Exp_Month_Per=NA_real_,PovertyHCR=NA_real_,
+ PovertyGap=NA_real_,PovertyDepth=NA_real_)[0]
+FinalRegionResults <- data.table(Year=NA_integer_,Region=NA_integer_,PovertyLine=NA_real_,PovertyHCR=NA_real_,
+ PovertyGap=NA_real_,PovertyDepth=NA_real_)[0]
+
+
+
+
+for(year in (Settings$startyear:Settings$endyear)){
+ cat(paste0("\nYear:",year,"\t"))
+
+ # load data --------------------------------------
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"FinalFoodPoor98.rda"))
+
+ #MD<-MD[Region=="Rural"]
+ #MD<-MD[cluster3==13]
+MD<-MD[CountyCode==2301]
+
+
+ EngleD<- MD[TOriginalFoodExpenditure_Per>0.8*FPLine &
+ TOriginalFoodExpenditure_Per<1.2*FPLine,
+ .(.N,Engel=weighted.mean(TOriginalFoodExpenditure/Total_Exp_Month,Weight),
+ FPLine=mean(FPLine)),by=.(Region)]
+
+
+
+ EngleD[,PovertyLine:=FPLine/Engel]
+ MD <- merge(MD,EngleD[,.(Region,PovertyLine,Engel)],by=c("Region"))
+ MD[,FinalPoor:=ifelse(Total_Exp_Month_Per < PovertyLine,1,0 )]
+ MD<-MD[,HHEngle:=TOriginalFoodExpenditure/Total_Exp_Month,Weight]
+ save(MD,file=paste0(Settings$HEISProcessedPath,"Y",year,"FINALPOORS98.rda"))
+
+
+ MD[,FGT1M:=(PovertyLine-Total_Exp_Month_Per)/PovertyLine]
+ MD[,FGT2M:=((PovertyLine-Total_Exp_Month_Per)/PovertyLine)^2]
+
+
+ ################Country##################
+
+ X1 <- MD[,.(PovertyLine=weighted.mean(PovertyLine,Weight*Size),
+ PovertyHCR=weighted.mean(FinalPoor,Weight*Size),
+ Engle=weighted.mean(HHEngle,Weight),
+ Bundle_Value=weighted.mean(Bundle_Value,Weight),
+ Total_Exp_Month_Per=weighted.mean(Total_Exp_Month_Per,Weight))]
+ X2 <- MD[FinalPoor==1,.(PovertyGap=weighted.mean(FGT1M,Weight*Size),
+ PovertyDepth=weighted.mean(FGT2M,Weight*Size))]
+ X1[,Year:=year]
+ X2[,Year:=year]
+ X <- merge(X1,X2,by="Year")
+ FinalCountryResults <- rbind(FinalCountryResults,X)
+
+ ################Region##################
+ X1 <- MD[,.(PovertyLine=weighted.mean(PovertyLine,Weight*Size),
+ PovertyHCR=weighted.mean(FinalPoor,Weight*Size)),by=Region]
+ X2 <- MD[FinalPoor==1,.(PovertyGap=weighted.mean(FGT1M,Weight*Size),
+ PovertyDepth=weighted.mean(FGT2M,Weight*Size)),by=Region]
+ X1[,Year:=year]
+ X2[,Year:=year]
+ X <- merge(X1,X2,by=c("Year","Region"))
+ FinalRegionResults <- rbind(FinalRegionResults,X)
+
+
+
+
+ cat(MD[, weighted.mean(FinalPoor,Weight*Size)],"\t")
+ cat(MD[, weighted.mean(PovertyLine,Weight*Size)],"\t")
+ cat(MD[, weighted.mean(FPLine,Weight*Size)],"\t")
+ cat(MD[, sum(Weight*Size)],"\t")
+ cat(MD[, weighted.mean(Engel,Weight*Size)],"\t")
+
+ MD1<-MD[,.(HHID,FinalPoor)]
+ save(MD1,file=paste0(Settings$HEISProcessedPath,"Y",year,"POORS.rda"))
+
+ Poors<-MD[FinalPoor==1]
+
+MD[,weighted.mean(Bundle_Value,Weight),by=.(Region,Decile)][order(Region,Decile)]
+MD[,weighted.mean(Bundle_Value,Weight),by=.(Decile)][order(Decile)]
+MD[,weighted.mean(Bundle_Value,Weight),by=.(Region)][order(Region)]
+MD[,weighted.mean(Bundle_Value,Weight)]
+
+MD[,weighted.mean(FPLine,Weight),by=.(Region,Decile)][order(Region,Decile)]
+MD[,weighted.mean(FPLine,Weight),by=.(Decile)][order(Decile)]
+MD[,weighted.mean(FPLine,Weight),by=.(Region)][order(Region)]
+MD[,weighted.mean(FPLine,Weight)]
+
+MD[,weighted.mean(TFoodKCaloriesHH_Per,Weight),by=.(Region,Decile)][order(Region,Decile)]
+MD[,weighted.mean(TFoodKCaloriesHH_Per,Weight),by=.(Decile)][order(Decile)]
+MD[,weighted.mean(TFoodKCaloriesHH_Per,Weight),by=.(Region)][order(Region)]
+MD[,weighted.mean(TFoodKCaloriesHH_Per,Weight)]
+
+MD[as.numeric(Decile)==1,weighted.mean(TFoodKCaloriesHH_Per,Weight),by=.(Region)][order(Region)]
+MD[as.numeric(Decile)==1,weighted.mean(TFoodKCaloriesHH_Per,Weight)]
+
+MD[,weighted.mean(OriginalFoodExpenditure_Per,Weight),by=.(Region,Decile)][order(Region,Decile)]
+MD[,weighted.mean(OriginalFoodExpenditure_Per,Weight),by=.(Decile)][order(Decile)]
+MD[,weighted.mean(OriginalFoodExpenditure_Per,Weight),by=.(Region)][order(Region)]
+MD[,weighted.mean(OriginalFoodExpenditure_Per,Weight)]
+
+MD[FinalPoor==1,weighted.mean(OriginalFoodExpenditure_Per,Weight),by=.(Region)][order(Region)]
+MD[FinalPoor==1,weighted.mean(OriginalFoodExpenditure_Per,Weight)]
+
+D<-MD[,.(Food=weighted.mean(FoodExpenditure,Weight.x),
+ Total=weighted.mean(Total_Exp_Month,Weight.x))]
+
+D1<-MD[,.(Food=weighted.mean(FoodExpenditure,Weight.x),
+ Total=weighted.mean(Total_Exp_Month,Weight.x)),by=Decile]
+
+D2<-MD[,.(Food=weighted.mean(FoodExpenditure/EqSizeCalory,Weight.x),
+ Total=weighted.mean(Total_Exp_Month_Per,Weight.x)),by=Decile]
+
+load(file = paste0(Settings$HEISProcessedPath,"Y",year,"TotalFoodCon.rda"))
+MD<-merge(MD,TotalFoodCon,by="HHID")
+
+load(file = paste0(Settings$HEISProcessedPath,"Y",year,"TotalFoodExp.rda"))
+MD<-merge(MD,TotalFoodExp,by="HHID")
+
+
+MD[,weighted.mean(G0111,Weight.x)]
+MD[,weighted.mean(G01181,Weight.x)]
+MD[,weighted.mean(G01121,Weight.x)]
+MD[,weighted.mean(G01176,Weight.x)]
+MD[,weighted.mean(G01131,Weight.x)]
+MD[,weighted.mean(`011164`,Weight.x)]
+MD[,weighted.mean(`011424`,Weight.x)]
+MD[,weighted.mean(G0116,Weight.x)]
+MD[,weighted.mean(G01123,Weight.x)]
+MD[,weighted.mean(G01114,Weight.x)]
+MD[,weighted.mean(`011428`,Weight.x)]
+MD[,weighted.mean(G01153+G01152+G01151,Weight.x)]
+MD[,weighted.mean(G0117,Weight.x)]
+MD[,weighted.mean(G01141,Weight.x)]
+MD[,weighted.mean(`011731`,Weight.x)]
+MD[,weighted.mean(G01144,Weight.x)]
+MD[,weighted.mean(G01165+G01166,Weight.x)]
+
+MD[FinalPoor==1,weighted.mean(G0111,Weight.x)]
+MD[FinalPoor==1,weighted.mean(G01181,Weight.x)]
+MD[FinalPoor==1,weighted.mean(G01121+SheepMeatGram,Weight.x)]
+MD[FinalPoor==1,weighted.mean(G01176,Weight.x)]
+MD[FinalPoor==1,weighted.mean(G01131,Weight.x)]
+MD[FinalPoor==1,weighted.mean(`011164`,Weight.x)]
+MD[FinalPoor==1,weighted.mean(`011424`,Weight.x)]
+MD[FinalPoor==1,weighted.mean(G0116,Weight.x)]
+MD[FinalPoor==1,weighted.mean(G01123,Weight.x)]
+MD[FinalPoor==1,weighted.mean(G01114,Weight.x)]
+MD[FinalPoor==1,weighted.mean(`011428`,Weight.x)]
+MD[FinalPoor==1,weighted.mean(G01153+G01152+G01151,Weight.x)]
+MD[FinalPoor==1,weighted.mean(G0117,Weight.x)]
+MD[FinalPoor==1,weighted.mean(G01141,Weight.x)]
+MD[FinalPoor==1,weighted.mean(`011731`,Weight.x)]
+MD[FinalPoor==1,weighted.mean(G01144,Weight.x)]
+MD[FinalPoor==1,weighted.mean(G01165+G01166,Weight.x)]
+
+MD[,weighted.mean(G0111,Weight.x), by=Decile][order(Decile)]
+MD[,weighted.mean(G01181,Weight.x), by=Decile][order(Decile)]
+MD[,weighted.mean(G01121+SheepMeatGram,Weight.x), by=Decile][order(Decile)]
+MD[,weighted.mean(G01176,Weight.x), by=Decile][order(Decile)]
+MD[,weighted.mean(G01131,Weight.x), by=Decile][order(Decile)]
+MD[,weighted.mean(`011164`,Weight.x), by=Decile][order(Decile)]
+MD[,weighted.mean(`011424`,Weight.x), by=Decile][order(Decile)]
+MD[,weighted.mean(G0116,Weight.x), by=Decile][order(Decile)]
+MD[,weighted.mean(G01123,Weight.x), by=Decile][order(Decile)]
+MD[,weighted.mean(G01114,Weight.x), by=Decile][order(Decile)]
+MD[,weighted.mean(`011428`,Weight.x), by=Decile][order(Decile)]
+MD[,weighted.mean(G01153+G01152+G01151,Weight.x), by=Decile][order(Decile)]
+MD[,weighted.mean(G0117,Weight.x), by=Decile][order(Decile)]
+MD[,weighted.mean(G01141,Weight.x), by=Decile][order(Decile)]
+MD[,weighted.mean(`011731`,Weight.x), by=Decile][order(Decile)]
+MD[,weighted.mean(G01144,Weight.x), by=Decile][order(Decile)]
+MD[,weighted.mean(G01165+G01166,Weight.x), by=Decile][order(Decile)]
+
+
+MD[,weighted.mean(GrainGrams,Weight), by=Decile][order(Decile)]
+MD[,weighted.mean(GhandGram,Weight), by=Decile][order(Decile)]
+MD[,weighted.mean(CowMeatGram+SheepMeatGram,Weight), by=Decile][order(Decile)]
+MD[,weighted.mean(BeansGrams,Weight), by=Decile][order(Decile)]
+MD[,weighted.mean(FishandShrimpsGrams,Weight), by=Decile][order(Decile)]
+MD[,weighted.mean(MacaroniGram,Weight), by=Decile][order(Decile)]
+MD[,weighted.mean(Yogurt_PasturizedGram,Weight), by=Decile][order(Decile)]
+MD[,weighted.mean(TreeFruitsGrams,Weight), by=Decile][order(Decile)]
+MD[,weighted.mean(PoultryMeat_MGram,Weight), by=Decile][order(Decile)]
+MD[,weighted.mean(BreadGrams,Weight), by=Decile][order(Decile)]
+MD[,weighted.mean(Cheese_PasturizedGram,Weight), by=Decile][order(Decile)]
+MD[,weighted.mean(Oil_NabatiGram+Oil_AnimalGram,Weight), by=Decile][order(Decile)]
+MD[,weighted.mean(Sabzi_AshGram+Sabzi_KhordanGram,Weight), by=Decile][order(Decile)]
+MD[,weighted.mean(MilkGrams,Weight), by=Decile][order(Decile)]
+MD[,weighted.mean(SibzaminiGram,Weight), by=Decile][order(Decile)]
+MD[,weighted.mean(Egg_MashinGram+Egg_NonMashinGram,Weight), by=Decile][order(Decile)]
+MD[,weighted.mean(NutsGrams,Weight), by=Decile][order(Decile)]
+
+MD[,weighted.mean(GrainGrams,Weight.x), by=Decile][order(Decile)]
+MD[,weighted.mean(GhandGram,Weight.x), by=Decile][order(Decile)]
+MD[,weighted.mean(CowMeatGram+SheepMeatGram,Weight.x), by=Decile][order(Decile)]
+MD[,weighted.mean(BeansGrams,Weight.x), by=Decile][order(Decile)]
+MD[,weighted.mean(FishandShrimpsGrams,Weight.x), by=Decile][order(Decile)]
+MD[,weighted.mean(MacaroniGram,Weight.x), by=Decile][order(Decile)]
+MD[,weighted.mean(Yogurt_PasturizedGram,Weight.x), by=Decile][order(Decile)]
+MD[,weighted.mean(TreeFruitsGrams,Weight.x), by=Decile][order(Decile)]
+MD[,weighted.mean(PoultryMeat_MGram,Weight.x), by=Decile][order(Decile)]
+MD[,weighted.mean(BreadGrams,Weight.x), by=Decile][order(Decile)]
+MD[,weighted.mean(Cheese_PasturizedGram,Weight.x), by=Decile][order(Decile)]
+MD[,weighted.mean(Oil_NabatiGram+Oil_AnimalGram,Weight.x), by=Decile][order(Decile)]
+MD[,weighted.mean(Sabzi_AshGram+Sabzi_KhordanGram,Weight.x), by=Decile][order(Decile)]
+MD[,weighted.mean(MilkGrams,Weight.x), by=Decile][order(Decile)]
+MD[,weighted.mean(SibzaminiGram,Weight.x), by=Decile][order(Decile)]
+MD[,weighted.mean(Egg_MashinGram+Egg_NonMashinGram,Weight.x), by=Decile][order(Decile)]
+MD[,weighted.mean(NutsGrams,Weight.x), by=Decile][order(Decile)]
+
+
+MD[FinalPoor==1,weighted.mean(GrainGrams,Weight)]
+MD[FinalPoor==1,weighted.mean(GhandGram,Weight)]
+MD[as.numeric(Decile)==1,weighted.mean(CowMeatGram+SheepMeatGram,Weight)]
+MD[FinalPoor==1,weighted.mean(BeansGrams,Weight)]
+MD[FinalPoor==1,weighted.mean(FishandShrimpsGrams,Weight)]
+MD[FinalPoor==1,weighted.mean(MacaroniGram,Weight)]
+MD[FinalPoor==1,weighted.mean(Yogurt_PasturizedGram,Weight)]
+MD[FinalPoor==1,weighted.mean(TreeFruitsGrams,Weight)]
+MD[FinalPoor==1,weighted.mean(PoultryMeat_MGram,Weight)]
+MD[FinalPoor==1,weighted.mean(BreadGrams,Weight)]
+MD[FinalPoor==1,weighted.mean(Cheese_PasturizedGram,Weight)]
+MD[FinalPoor==1,weighted.mean(Oil_NabatiGram+Oil_AnimalGram,Weight)]
+MD[FinalPoor==1,weighted.mean(Sabzi_AshGram+Sabzi_KhordanGram,Weight)]
+MD[FinalPoor==1,weighted.mean(MilkGrams,Weight)]
+MD[FinalPoor==1,weighted.mean(SibzaminiGram,Weight)]
+MD[FinalPoor==1,weighted.mean(Egg_MashinGram+Egg_NonMashinGram,Weight)]
+MD[FinalPoor==1,weighted.mean(NutsGrams,Weight)]
+
+
+MD[as.numeric(Decile)==1,weighted.mean(GrainGrams,Weight)]
+MD[as.numeric(Decile)==1,weighted.mean(GhandGram,Weight)]
+MD[as.numeric(Decile)==1,weighted.mean(Cow_LiveGram,Weight)]
+MD[as.numeric(Decile)==1,weighted.mean(BeansGrams,Weight)]
+MD[as.numeric(Decile)==1,weighted.mean(FishandShrimpsGrams,Weight)]
+MD[as.numeric(Decile)==1,weighted.mean(MacaroniGram,Weight)]
+MD[as.numeric(Decile)==1,weighted.mean(Yogurt_PasturizedGram,Weight)]
+MD[as.numeric(Decile)==1,weighted.mean(TreeFruitsGrams,Weight)]
+MD[as.numeric(Decile)==1,weighted.mean(PoultryMeat_MGram,Weight)]
+MD[as.numeric(Decile)==1,weighted.mean(BreadGrams,Weight)]
+MD[as.numeric(Decile)==1,weighted.mean(Cheese_PasturizedGram,Weight)]
+MD[as.numeric(Decile)==1,weighted.mean(Oil_NabatiGram+Oil_AnimalGram,Weight)]
+MD[as.numeric(Decile)==1,weighted.mean(Sabzi_AshGram+Sabzi_KhordanGram,Weight)]
+MD[as.numeric(Decile)==1,weighted.mean(MilkGrams,Weight)]
+MD[as.numeric(Decile)==1,weighted.mean(SibzaminiGram,Weight)]
+MD[as.numeric(Decile)==1,weighted.mean(Egg_MashinGram+Egg_NonMashinGram,Weight)]
+MD[as.numeric(Decile)==1,weighted.mean(NutsGrams,Weight)]
+
+
+
+
+
+
+MD[as.numeric(Decile)<2,weighted.mean(FinalPoor,Weight)]
+
+ MD5<-MD[ProvinceCode!=11]
+ MD5<-MD5[,Group:=ifelse(FinalPoor==0 & FinalFoodPoor==0,"NoPoor",
+ ifelse(FinalPoor==1 & FinalFoodPoor==0,"OnlyFinalPoor",
+ ifelse(FinalPoor==0 & FinalFoodPoor==1,"OnlyFoodPoor","Both")))]
+ a<-ggplot(MD5,aes(x=HHEngle, fill=factor(Group))) +
+ geom_density(alpha=0.25)+
+ xlim(0,1)+ylim(0,5)+
+ ggtitle(year)
+ plot(a)
+
+
+
+ MDD<-MD[,.(Population=sum(Weight*Size)), by=.(Decile,ProvinceName)][order(ProvinceName,Decile)]
+ ggplot(MDD, aes(fill=factor(Decile), y=Population, x=ProvinceName)) +
+ geom_bar(position="fill", stat="identity") + theme_bw() +
+ theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1))
+
+
+
+ Decile1<-MD[as.numeric(Decile)<2,.(HHID,Region,ProvinceName,NewArea_Name,Weight,FinalFoodPoor,FinalPoor,Durable_Exp)]
+ Decile1Poors<-Decile1[,.(Decile1Poors=weighted.mean(FinalPoor,Weight)),by=c("ProvinceName")][order(ProvinceName)]
+ ggplot(Decile1Poors, aes( y=Decile1Poors, x=ProvinceName)) +
+ geom_bar(position="dodge", stat="identity") + theme_bw() +
+ theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1))
+
+ Decile2<-MD[as.numeric(Decile)<3,.(HHID,Region,ProvinceName,NewArea_Name,Weight,FinalFoodPoor,FinalPoor,Durable_Exp)]
+ Decile2Poors<-Decile2[,.(Decile2Poors=weighted.mean(FinalPoor,Weight)),by=c("ProvinceName")][order(ProvinceName)]
+ ggplot(Decile2Poors, aes( y=Decile2Poors, x=ProvinceName)) +
+ geom_bar(position="dodge", stat="identity") + theme_bw() +
+ theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1))
+
+ Decile5<-MD[as.numeric(Decile)>3,.(HHID,Region,ProvinceName,NewArea_Name,Weight,FinalFoodPoor,FinalPoor,Durable_Exp)]
+ Decile5Poors<-Decile5[,.(Decile5Poors=weighted.mean(FinalPoor,Weight)),by=c("ProvinceName")][order(ProvinceName)]
+ ggplot(Decile5Poors, aes( y=Decile5Poors, x=ProvinceName)) +
+ geom_bar(position="dodge", stat="identity") + theme_bw() +
+ theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1))
+
+
+
+
+ MD[,weighted.mean(FinalPoor,Weight),by=ProvinceCode][order(ProvinceCode)]
+}
+
+MD[,sum(Weight),by=Decile][order(Decile)]
+MD[,sum(Weight),by=.(Region,Decile)][order(Region,Decile)]
+MD[,sum(Weight)]
+MD[,sum(Weight*Size)]
+
+MD<-MD[,Total:=OriginalFoodExpenditure+Cigar_Exp+Cloth_Exp+
+ HouseandEnergy_Exp+Furniture_Exp+Hygiene_Exp+
+ Transportation_Exp+Communication_Exp+Communication_Exp+
+ Amusement_Exp+Education_Exp+HotelRestaurant_Exp+
+ Other_Exp+Durable_Exp]
+m<-MD[,.(Total,Total_Exp_Month)]
+
+Share<-MD[,.(Foodshare=weighted.mean(OriginalFoodExpenditure/Total,Weight),
+ CigarShare=weighted.mean(Cigar_Exp/Total,Weight),
+ ClothShare=weighted.mean(Cloth_Exp/Total,Weight),
+ HouseandEnergyShare=weighted.mean(HouseandEnergy_Exp/Total,Weight),
+ FurnitureShare=weighted.mean(Furniture_Exp/Total,Weight),
+ HygieneShare=weighted.mean(Hygiene_Exp/Total,Weight),
+ TransportationShare=weighted.mean(Transportation_Exp/Total,Weight),
+ CommunicationShare=weighted.mean(Communication_Exp/Total,Weight),
+ AmusementShare=weighted.mean(Amusement_Exp/Total,Weight),
+ EducationShare=weighted.mean(Education_Exp/Total,Weight),
+ HotelShare=weighted.mean(HotelRestaurant_Exp/Total,Weight),
+ OtherShare=weighted.mean(Other_Exp/Total,Weight),
+ DurableShare=weighted.mean(Durable_Exp/Total,Weight)),by=Decile]
+
+
+
+endtime <- proc.time()
+cat("\n\n============================\nIt took ")
+cat((endtime-starttime)["elapsed"])
+cat(" seconds")
\ No newline at end of file
diff --git a/R/Archive/June 2020 (removed code files)/WCPD Price Index.R b/R/Archive/June 2020 (removed code files)/WCPD Price Index.R
new file mode 100644
index 00000000..7877fd5f
--- /dev/null
+++ b/R/Archive/June 2020 (removed code files)/WCPD Price Index.R
@@ -0,0 +1,158 @@
+# WCPD Price Index
+#
+# Zahra Shahidi
+# 2020
+
+rm(list=ls())
+
+starttime <- proc.time()
+cat("\n\n================ Nominal to Real =====================================\n")
+
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+#library(readxl)
+library(data.table)
+#library(ggplot2)
+
+for(year in (Settings$startyear:Settings$endyear)){
+ cat(paste0("\n------------------------------\nYear:",year,"\n"))
+
+ # load data --------------------------------------
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"Merged4CBN3.rda"))
+
+ SMD <- MD[,.(HHID,Region,
+ ServiceExp,FoodExpenditure,Total_Exp_Month,ProvinceName,
+ NewArea,NewArea_Name,Total_Exp_Month_Per_nondurable,TOriginalFoodExpenditure_Per,
+ # Total_Exp_Month_Per_nondurable2,TFoodExpenditure_Per2,
+ TFoodKCaloriesHH_Per,Calorie_Need_WorldBank,Calorie_Need_Anstitoo,
+ Weight,MetrPrice,Size,EqSizeOECD)]
+
+ #Choose one of these
+ SMD[,Bundle_Value:=TOriginalFoodExpenditure_Per*Calorie_Need_WorldBank/TFoodKCaloriesHH_Per]
+ #SMD[,Bundle_Value:=TOriginalFoodExpenditure_Per*Calorie_Need_Anstitoo/TFoodKCaloriesHH_Per]
+ #SMD[,Bundle_Value:=TOriginalFoodExpenditure_Per*Settings$KCaloryNeed_Adult_WorldBank/TFoodKCaloriesHH_Per]
+ #SMD[,Bundle_Value:=TOriginalFoodExpenditure_Per*Settings$KCaloryNeed_Adult_Anstitoo/TFoodKCaloriesHH_Per]
+
+
+ SMD <- SMD[Bundle_Value<=5000000 | TFoodKCaloriesHH_Per>=300] #arbitrary measures, TODO: check in diff years
+
+ #Real Prices
+ T_Bundle_Value <- SMD[NewArea==2301, .(Bundle_Value,MetrPrice,Weight)]
+ TBV1 <- T_Bundle_Value[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE)]
+ TBV2 <- T_Bundle_Value[,weighted.mean(MetrPrice,Weight,na.rm = TRUE)]
+
+ SMD[,PriceIndex2:=(weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/TBV1
+ +weighted.mean(MetrPrice,Weight,na.rm = TRUE)/TBV2)/2
+ ,by=.(Region,NewArea_Name)]
+
+ X <- SMD[,.(weighted.mean(FoodExpenditure/Total_Exp_Month,Weight,na.rm = TRUE),
+ weighted.mean(ServiceExp/Total_Exp_Month,Weight,na.rm = TRUE)),by=.(ProvinceName)]
+ X[,V:=V1+V2]
+ VT<-X[NewArea_Name=="Sh_Tehran"]
+ V1T<-VT$V1
+ V2T<-VT$V2
+ SMD <- merge(SMD,X,by=c("Region","NewArea_Name"))
+
+ SMD[,PriceIndex:=((exp((V1+V1T)/2))*(weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/TBV1))*
+ ((exp((V2+V2T)/2))*(weighted.mean(MetrPrice,Weight,na.rm = TRUE)/TBV2)) ,by=.(Region,NewArea_Name)]
+ SMD<-SMD[NewArea_Name=="Sh_Tehran",PriceIndex:=1]
+
+ Compare<-SMD[,.(Old=mean(PriceIndex2),
+ New=mean(PriceIndex)),by=.(Region,NewArea_Name)]
+
+ SMD[,V1:=NULL]
+ SMD[,V2:=NULL]
+ SMD[,V:=NULL]
+
+
+ SMD[,Total_Exp_Month_Per_nondurable_Real:=Total_Exp_Month_Per_nondurable/PriceIndex]
+
+ SMD<- SMD[order(Region,Total_Exp_Month_Per_nondurable_Real)]
+ SMD[,crw:=cumsum(Weight*Size)/sum(Weight*Size),by=Region] # Cumulative Relative Weight
+
+ #Calculate deciles by weights
+ SMD[,Decile:=cut(crw,breaks = seq(0,1,.1),labels = 1:10),by=Region]
+ SMD[,Percentile:=cut(crw,breaks=seq(0,1,.01),labels=1:100),by=Region]
+
+ C<-SMD[,.(.N,Max=max(Total_Exp_Month_Per_nondurable),
+ Min=min(Total_Exp_Month_Per_nondurable),
+ Mean=mean(Total_Exp_Month_Per_nondurable)),
+ by=.(Region,NewArea,NewArea_Name,Decile)]
+
+
+
+ # FirstSMD<-SMD[,.(HHID,Region,NewArea_Name,NewArea_Name,Percentile,Decile)]
+ # FirstSMD<-FirstSMD[,Realfirstpoor:=ifelse(Decile %in% 1:2,1,0)]
+ # save(FirstSMD, file=paste0(Settings$HEISProcessedPath,"Y",year,"FirstSMD.rda"))
+
+
+
+ B<-MD[,.(.N,Mean=mean(MetrPrice)),
+ by=.(Region,NewArea_Name)]
+
+ SMD[,NewPoor:=1]
+ SMD[,ThisIterationPoor:=0]
+ i <- 0
+ while(sum(SMD[,(ThisIterationPoor-NewPoor)^2])>=0.002*nrow(SMD) & i <=50){
+ i <- i+1
+ SMD[,pold:=Percentile]
+ SMD[,ThisIterationPoor:=ifelse(pold %in% Settings$InitialPoorPercentile,1,0)]
+ SMDIterationPoor<-SMD[ThisIterationPoor==TRUE]
+
+ T_P_Bundle_Value <- SMDIterationPoor[NewArea==2301, .(Bundle_Value,MetrPrice,Weight)]
+ TPBV1 <- T_P_Bundle_Value[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE)]
+ TPBV2 <- T_P_Bundle_Value[,weighted.mean(MetrPrice,Weight,na.rm = TRUE)]
+
+ # Index2 <- SMDIterationPoor[,.(PriceIndex= (weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/TPBV1+
+ # weighted.mean(MetrPrice,Weight,na.rm = TRUE)/TPBV2)/2)
+ # ,by=.(Region,NewArea_Name)]
+
+ X <- SMDIterationPoor[,.(weighted.mean(FoodExpenditure/Total_Exp_Month,Weight,na.rm = TRUE),
+ weighted.mean(ServiceExp/Total_Exp_Month,Weight,na.rm = TRUE)),by=.(Region,NewArea_Name)]
+ X[,V:=V1+V2]
+ VT<-X[NewArea_Name=="Sh_Tehran"]
+ V1T<-VT$V1
+ V2T<-VT$V2
+ SMDIterationPoor <- merge(SMDIterationPoor,X,by=c("Region","NewArea_Name"))
+ SMDIterationPoor[,PriceIndex:=NULL]
+
+ Index <- SMDIterationPoor[,.(PriceIndex=(exp((V1+V1T)/2)*(weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/TPBV1))*
+ (exp((V2+V2T)/2)*(weighted.mean(MetrPrice,Weight,na.rm = TRUE)/TPBV2))) ,by=.(Region,NewArea_Name)]
+ Index<-SMD[NewArea_Name=="Sh_Tehran",PriceIndex:=1]
+
+ Index <- Index[,.(PriceIndex=mean(PriceIndex)),by=.(Region,NewArea_Name)]
+
+
+ SMD[,PriceIndex:=NULL]
+ SMD <- merge(SMD,Index,by=c("Region","NewArea_Name"))
+
+ SMD[,Total_Exp_Month_Per_nondurable_Real:=Total_Exp_Month_Per_nondurable/PriceIndex]
+
+ SMD<- SMD[order(Region,Total_Exp_Month_Per_nondurable_Real)]
+ SMD[,crw:=cumsum(Weight*Size)/sum(Weight*Size),by=Region] # Cumulative Relative Weight
+
+ #Calculate deciles by weights
+ SMD[,Decile:=cut(crw,breaks = seq(0,1,.1),labels = 1:10),by=Region]
+ SMD[,Percentile:=cut(crw,breaks=seq(0,1,.01),labels=1:100),by=Region]
+ SMD[,NewPoor:=ifelse(Percentile %in% Settings$InitialPoorPercentile,1,0)]
+ save(SMD,file=paste0(Settings$HEISProcessedPath,"Y",year,"SMD.rda"))
+
+
+ cat("\n",sum(SMD[,(ThisIterationPoor-NewPoor)^2]))
+ }
+ MD <- merge(MD,SMD[,.(HHID,Bundle_Value,NewPoor,Decile,Percentile)],by="HHID")
+ setnames(MD,"NewPoor","InitialPoor")
+
+
+ MD[,weighted.mean(InitialPoor,Weight,na.rm = TRUE), by=.(NewArea_Name,Region)]
+
+ save(MD,file=paste0(Settings$HEISProcessedPath,"Y",year,"InitialPoor.rda"))
+
+}
+
+
+endtime <- proc.time()
+cat("\n\n============================\nIt took ")
+cat((endtime-starttime)["elapsed"])
+cat(" seconds")
\ No newline at end of file
diff --git a/R/Archive/June 2020 (removed code files)/WPCD Price Index 2.R b/R/Archive/June 2020 (removed code files)/WPCD Price Index 2.R
new file mode 100644
index 00000000..1d61a125
--- /dev/null
+++ b/R/Archive/June 2020 (removed code files)/WPCD Price Index 2.R
@@ -0,0 +1,168 @@
+# WCPD Price Index 2
+#
+# Zahra Shahidi
+# 2020
+
+rm(list=ls())
+
+starttime <- proc.time()
+cat("\n\n================ Nominal to Real =====================================\n")
+
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+#library(readxl)
+library(data.table)
+#library(ggplot2)
+
+for(year in (Settings$startyear:Settings$endyear)){
+ cat(paste0("\n------------------------------\nYear:",year,"\n"))
+
+ # load data --------------------------------------
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"Merged4CBN3.rda"))
+
+ SMD <- MD[,.(HHID,Region,
+ ServiceExp,FoodExpenditure,Total_Exp_Month,
+ NewArea,NewArea_Name,Total_Exp_Month_Per_nondurable,TOriginalFoodExpenditure_Per,
+ # Total_Exp_Month_Per_nondurable2,TFoodExpenditure_Per2,
+ TFoodKCaloriesHH_Per,Calorie_Need_WorldBank,Calorie_Need_Anstitoo,
+ Weight,MetrPrice,Size,EqSizeOECD)]
+
+ #Choose one of these
+ SMD[,Bundle_Value:=TOriginalFoodExpenditure_Per*Calorie_Need_WorldBank/TFoodKCaloriesHH_Per]
+ #SMD[,Bundle_Value:=TOriginalFoodExpenditure_Per*Calorie_Need_Anstitoo/TFoodKCaloriesHH_Per]
+ #SMD[,Bundle_Value:=TOriginalFoodExpenditure_Per*Settings$KCaloryNeed_Adult_WorldBank/TFoodKCaloriesHH_Per]
+ #SMD[,Bundle_Value:=TOriginalFoodExpenditure_Per*Settings$KCaloryNeed_Adult_Anstitoo/TFoodKCaloriesHH_Per]
+
+
+ SMD <- SMD[Bundle_Value<=5000000 | TFoodKCaloriesHH_Per>=300] #arbitrary measures, TODO: check in diff years
+
+ #Real Prices
+ T_Bundle_Value <- SMD[NewArea==2301, .(Bundle_Value,MetrPrice,Weight)]
+ TBV1 <- T_Bundle_Value[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE)]
+ TBV2 <- T_Bundle_Value[,weighted.mean(MetrPrice,Weight,na.rm = TRUE)]
+
+ SMD[,PriceIndex2:=(weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/TBV1
+ +weighted.mean(MetrPrice,Weight,na.rm = TRUE)/TBV2)/2
+ ,by=.(Region,NewArea_Name)]
+
+ X <- SMD[,.(weighted.mean(FoodExpenditure/Total_Exp_Month,Weight,na.rm = TRUE),
+ weighted.mean(ServiceExp/Total_Exp_Month,Weight,na.rm = TRUE)),by=.(Region,NewArea_Name)]
+ X[,V:=V1+V2]
+ VT<-X[NewArea_Name=="Sh_Tehran"]
+ V1T<-VT$V1
+ V2T<-VT$V2
+ SMD <- merge(SMD,X,by=c("Region","NewArea_Name"))
+
+ SMD[,PriceIndex:=((exp((V1+V1T)/2))*(weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/TBV1))*
+ ((exp((V2+V2T)/2))*(weighted.mean(MetrPrice,Weight,na.rm = TRUE)/TBV2)) ,by=.(Region,NewArea_Name)]
+
+ SMD<-SMD[NewArea_Name=="Sh_Tehran",PriceIndex:=1]
+
+ Compare<-SMD[,.(Old=mean(PriceIndex2),
+ New=mean(PriceIndex)),by=.(Region,NewArea_Name)]
+
+ SMD[,V1:=NULL]
+ SMD[,V2:=NULL]
+ SMD[,V:=NULL]
+
+
+ SMD[,Total_Exp_Month_Per_nondurable_Real:=Total_Exp_Month_Per_nondurable/PriceIndex]
+
+ SMD<- SMD[order(NewArea_Name,Total_Exp_Month_Per_nondurable_Real)]
+ SMD[,crw:=cumsum(Weight*Size)/sum(Weight*Size),by=NewArea_Name] # Cumulative Relative Weight
+
+ #Calculate deciles by weights
+ SMD[,Decile:=cut(crw,breaks = seq(0,1,.1),labels = 1:10),by=NewArea_Name]
+ SMD[,Percentile:=cut(crw,breaks=seq(0,1,.01),labels=1:100),by=NewArea_Name]
+
+ C<-SMD[,.(.N,Max=max(Total_Exp_Month_Per_nondurable),
+ Min=min(Total_Exp_Month_Per_nondurable),
+ Mean=mean(Total_Exp_Month_Per_nondurable)),
+ by=.(Region,NewArea,NewArea_Name,Decile)]
+
+
+
+ # FirstSMD<-SMD[,.(HHID,Region,NewArea_Name,NewArea_Name,Percentile,Decile)]
+ # FirstSMD<-FirstSMD[,Realfirstpoor:=ifelse(Decile %in% 1:2,1,0)]
+ # save(FirstSMD, file=paste0(Settings$HEISProcessedPath,"Y",year,"FirstSMD.rda"))
+
+
+
+ B<-MD[,.(.N,Mean=mean(MetrPrice)),
+ by=.(Region,NewArea_Name)]
+
+ SMD[,NewPoor:=1]
+ SMD[,ThisIterationPoor:=0]
+ i <- 0
+ while(sum(SMD[,(ThisIterationPoor-NewPoor)^2])>=0.002*nrow(SMD) & i <=50){
+ i <- i+1
+ SMD[,pold:=Percentile]
+ SMD[,ThisIterationPoor:=ifelse(pold %in% Settings$InitialPoorPercentile,1,0)]
+ SMDIterationPoor<-SMD[ThisIterationPoor==TRUE]
+
+ T_P_Bundle_Value <- SMDIterationPoor[NewArea==2301, .(Bundle_Value,MetrPrice,Weight)]
+ TPBV1 <- T_P_Bundle_Value[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE)]
+ TPBV2 <- T_P_Bundle_Value[,weighted.mean(MetrPrice,Weight,na.rm = TRUE)]
+
+ # Index2 <- SMDIterationPoor[,.(PriceIndex= (weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/TPBV1+
+ # weighted.mean(MetrPrice,Weight,na.rm = TRUE)/TPBV2)/2)
+ # ,by=.(Region,NewArea_Name)]
+
+ X <- SMDIterationPoor[,.(weighted.mean(FoodExpenditure/Total_Exp_Month,Weight,na.rm = TRUE),
+ weighted.mean(ServiceExp/Total_Exp_Month,Weight,na.rm = TRUE)),by=.(Region,NewArea_Name)]
+
+ X[,V:=V1+V2]
+ VT<-X[NewArea_Name=="Sh_Tehran"]
+ V1T<-VT$V1
+ V2T<-VT$V2
+ SMDIterationPoor <- merge(SMDIterationPoor,X,by=c("Region","NewArea_Name"))
+ SMDIterationPoor[,PriceIndex:=NULL]
+
+ Index <- SMDIterationPoor[,.(PriceIndex=(exp((V1+V1T)/2)*(weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/TPBV1))*
+ (exp((V2+V2T)/2)*(weighted.mean(MetrPrice,Weight,na.rm = TRUE)/TPBV2))) ,by=.(Region,NewArea_Name)]
+ Index<-Index[NewArea_Name=="Sh_Tehran",PriceIndex:=1]
+
+ Index <- Index[,.(PriceIndex=mean(PriceIndex)),by=.(Region,NewArea_Name)]
+
+
+ SMD[,PriceIndex:=NULL]
+ SMD <- merge(SMD,Index,by=c("Region","NewArea_Name"))
+
+ SMD[,Total_Exp_Month_Per_nondurable_Real:=Total_Exp_Month_Per_nondurable/PriceIndex]
+
+ SMD<- SMD[order(NewArea_Name,Total_Exp_Month_Per_nondurable_Real)]
+ SMD[,crw:=cumsum(Weight*Size)/sum(Weight*Size),by=NewArea_Name] # Cumulative Relative Weight
+
+ #Calculate deciles by weights
+ SMD[,Decile:=cut(crw,breaks = seq(0,1,.1),labels = 1:10),by=NewArea_Name]
+ SMD[,Percentile:=cut(crw,breaks=seq(0,1,.01),labels=1:100),by=NewArea_Name]
+ SMD[,NewPoor:=ifelse(Percentile %in% Settings$InitialPoorPercentile,1,0)]
+ save(SMD,file=paste0(Settings$HEISProcessedPath,"Y",year,"SMD.rda"))
+
+
+ cat("\n",sum(SMD[,(ThisIterationPoor-NewPoor)^2]))
+ }
+ MD <- merge(MD,SMD[,.(HHID,Bundle_Value,NewPoor,Decile,Percentile)],by="HHID")
+ setnames(MD,"NewPoor","InitialPoor")
+
+
+ MD[,weighted.mean(InitialPoor,Weight,na.rm = TRUE), by=.(NewArea_Name,Region)]
+
+ save(MD,file=paste0(Settings$HEISProcessedPath,"Y",year,"InitialPoor.rda"))
+
+ # load( file=paste0(Settings$HEISProcessedPath,"Y",year,"HHHouseProperties.rda"))
+
+
+
+ #write.csv(A,file = "A.csv")
+ #write.csv(B,file = "B.csv")
+ #write.csv(C,file = "C.csv")
+ #write.csv(D,file = "D.csv")
+}
+
+
+endtime <- proc.time()
+cat("\n\n============================\nIt took ")
+cat((endtime-starttime)["elapsed"])
+cat(" seconds")
\ No newline at end of file
diff --git a/R/Archive/June 2020 (removed code files)/Yarane report-Refah.R b/R/Archive/June 2020 (removed code files)/Yarane report-Refah.R
new file mode 100644
index 00000000..b7554f47
--- /dev/null
+++ b/R/Archive/June 2020 (removed code files)/Yarane report-Refah.R
@@ -0,0 +1,107 @@
+#Yarane report-Refah
+#
+# Copyright © 2018:Majid Einian & Arin Shahbazian
+# Licence: GPL-3
+
+rm(list=ls())
+
+starttime <- proc.time()
+cat("\n\n================ Poverty Line =====================================\n")
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+library(readxl)
+library(data.table)
+library(ggplot2)
+library(stats)
+library(spatstat)
+library(tidyverse)
+
+year<-97
+
+load(file=paste0(Settings$HEISProcessedPath,"Y",year,"InitialPoor.rda"))
+MD[,Decile:=NULL]
+MD[,Percentile:=NULL]
+load(file = paste0(Settings$HEISProcessedPath,"Y",year,"Deciles.rda"))
+load(file = paste0(Settings$HEISProcessedPath,"Y",year,"AidWage.rda"))
+
+MD<-merge(MD,Deciles,all.x = TRUE)
+MD<-merge(MD,AidWageData,all.x = TRUE)
+for (col in c("aid")) MD[is.na(get(col)), (col) := 0]
+MD[,PositiveAid:=ifelse(aid>0,1,0)]
+MD[,weighted.mean(PositiveAid,Weight*Size),by=.(Region,Decile)][order(Region,Decile)]
+MD[,weighted.mean(PositiveAid,Weight*Size),by=.(Decile)][order(Decile)]
+
+
+load(file = paste0(Settings$HEISProcessedPath,"Y",year,"Subsidy.rda"))
+MD<-merge(MD,SubsidyWageData,all.x = TRUE,by="HHID")
+for (col in c("Subsidy")) MD[is.na(get(col)), (col) := 0]
+MD[,PositiveSubsidy:=ifelse(Subsidy>0,1,0)]
+MD[,weighted.mean(PositiveSubsidy,Weight*Size),by=.(Region,Decile)][order(Region,Decile)]
+MD[,weighted.mean(PositiveSubsidy,Weight*Size),by=.(Decile)][order(Decile)]
+
+
+load(file = paste0(Settings$HEISProcessedPath,"Y",year,"UTSubsidyW.rda"))
+load(file = paste0(Settings$HEISProcessedPath,"Y",year,"RTSubsidyW.rda"))
+
+#TSubsidy<-rbind(UTSubsidyW,RTSubsidyW)
+#TSubsidy<-TSubsidy[,HHID:=Address]
+#MD<-merge(MD,TSubsidy[,.(HHID,check1)],all.x = TRUE,by="HHID")
+#MD[,Subsidy3:=ifelse(check1>800000,1,0)]
+#y<-MD[Subsidy3==1,.(HHID,Decile,Region)]
+#MD[,weighted.mean(Subsidy3,Weight*Size,na.rm = TRUE),by=.(Region,Decile)][order(Region,Decile)]
+#MD[,weighted.mean(Subsidy3,Weight*Size,na.rm = TRUE),by=.(Decile)][order(Decile)]
+
+MD[,TotalAid:=(Subsidy+aid)/12]
+MD_Ok<- MD[TotalAid>0]
+MD_Ok[,ratio:=TotalAid/Total_Exp_Month]
+MD_Ok[,.(.N,weighted.mean(ratio,Weight*Size,na.rm = TRUE)),by=.(Region,Decile)][order(Region,Decile)]
+MD_Ok[,.(weighted.mean(ratio,Weight*Size,na.rm = TRUE)),by=.(Decile)][order(Decile)]
+MD_Ok[,.(.N,weighted.mean(Total_Exp_Month,Weight*Size,na.rm = TRUE)),by=.(Region,Decile)][order(Region,Decile)]
+MD_Ok[,.(weighted.mean(Total_Exp_Month,Weight*Size,na.rm = TRUE)),by=.(Decile)][order(Decile)]
+MD_Ok[,.(.N,weighted.mean(Total_Exp_Month/EqSizeOECD,Weight*Size,na.rm = TRUE)),by=.(Region,Decile)][order(Region,Decile)]
+MD_Ok[,.(weighted.mean(Total_Exp_Month/EqSizeOECD,Weight*Size,na.rm = TRUE)),by=.(Decile)][order(Decile)]
+
+load(file = paste0(Settings$HEISProcessedPath,"Y",year,"BreadExp.rda"))
+load(file = paste0(Settings$HEISProcessedPath,"Y",year,"BreadCon.rda"))
+MD<-merge(MD,BreadData,by="HHID")
+MD<-merge(MD,BreadConsumption,by="HHID")
+
+MD[is.na(MD)] <- 0
+
+MD[,weighted.mean(G01114+G01115,Weight),by=.(Region,Decile)][order(Region,Decile)]
+MD[,weighted.mean(G01114+G01115,Weight),by=.(Decile)][order(Decile)]
+
+MD[,weighted.mean(Size,Weight),by=.(Decile)][order(Decile)]
+MD[,weighted.mean(Size,Weight),by=.(Region,Decile)][order(Region,Decile)]
+
+MD[,weighted.mean(BreadGrams,Weight),by=.(Region,Decile)][order(Region,Decile)]
+MD[,weighted.mean(BreadGrams,Weight),by=.(Decile)][order(Decile)]
+
+load(file = paste0(Settings$HEISProcessedPath,"Y",year,"DrugsExp.rda"))
+MD<-merge(MD,DrugsExp,all.x = TRUE)
+MD[is.na(MD)] <- 0
+
+MD[,weighted.mean(DrugsExp,Weight),by=.(Region,Decile)][order(Region,Decile)]
+MD[,weighted.mean(DrugsExp,Weight),by=.(Decile)][order(Decile)]
+
+load(file = paste0(Settings$HEISProcessedPath,"Y",year,"TotalFoodExp.rda"))
+TotalFoodExp<-merge(TotalFoodExp,MD[,.(HHID,Decile)])
+
+TotalFoodExp[,weighted.mean(`011211`+`011212`+`011213`+
+ `011214`,Weight),by=.(Decile)][order(Decile)]
+
+TotalFoodExp[,weighted.mean(`011117`+`011118`,Weight),by=.(Decile)][order(Decile)]
+
+TotalFoodExp[,weighted.mean(`011231`+`011232`,Weight),by=.(Decile)][order(Decile)]
+
+TotalFoodExp[,weighted.mean(`011411`+`011412`+`011413`+`011414`+
+ `011421`+`011422`+`011423`+`011424`+
+ `011425`+`011426`+`011427`+`011428`+
+ `011429`+`011431`+`011432`+`011433`,Weight),by=.(Decile)][order(Decile)]
+
+TotalFoodExp[,weighted.mean(`011441`+`011442`+`011443`,Weight),by=.(Decile)][order(Decile)]
+
+TotalFoodExp[,weighted.mean(`011531`+`011532`+`011533`,Weight),by=.(Decile)][order(Decile)]
+
+TotalFoodExp[,weighted.mean(`011812`,Weight),by=.(Decile)][order(Decile)]
diff --git a/R/Archive/June 2020 (removed code files)/bundle 2100 country.R b/R/Archive/June 2020 (removed code files)/bundle 2100 country.R
new file mode 100644
index 00000000..94f7a910
--- /dev/null
+++ b/R/Archive/June 2020 (removed code files)/bundle 2100 country.R
@@ -0,0 +1,106 @@
+# 703-Bundle 2100
+# Builds the Food Groups data.table for households
+#
+# Copyright © 2019: Arin Shahbazian
+# Licence: GPL-3
+
+rm(list=ls())
+starttime <- proc.time()
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+library(data.table)
+library(stringr)
+library(readxl)
+library(spatstat)
+
+cat("\n\n================ FoodGroups =====================================\n")
+year<-97
+cat(paste0("\n------------------------------\nYear:",year,"\n"))
+load( file = paste0(Settings$HEISProcessedPath,"Y",year,"BigFData.rda"))
+load(file = paste0(Settings$HEISProcessedPath,"Y",year,"Food_Calories.rda"))
+load( file = paste0(Settings$HEISProcessedPath,"Y",year,"FINALPOORS.rda"))
+MetaData <- read_excel("C:/IRHEIS/Data/MetaData.xlsx", sheet = "FoodGroupTables")
+MetaData<-as.data.table(MetaData)
+MetaData<-MetaData[,SheetName:=NULL]
+FoodNames<-MetaData
+save(FoodNames,file ="FoodNames.rda" )
+load(file = "FoodNames.rda")
+
+Base2<-merge(BigFData,FData,by="HHID")
+
+Base2<-merge(Base2,MD[,.(HHID,NewArea,NewArea_Name,ProvinceCode,cluster3,Decile,
+ FinalFoodPoor,FinalPoor,Weight,EqSizeOECD,EqSizeCalory)],by="HHID")
+
+Base<-Base2
+#Base<-Base2[FinalFoodPoor==1]
+Base<-Base[,FGrams_Per:=FGrams/EqSizeCalory]
+Base<-Base[,FoodKCalories_Per:=FoodKCaloriesHH/EqSizeCalory]
+Base<-Base[,FoodProtein_Per:=FoodProteinHH/EqSizeCalory]
+Base<-Base[,Coef:=FoodKCalories_Per/Settings$KCaloryNeed_Adult]
+
+Base<-Base[,FoodKCalories_PerNew:=FoodKCalories_Per/Coef]
+Base<-Base[,FGrams_PerNew:=FGrams_Per/Coef]
+BaseX <- Base[,.(FoodKCalories2=mean(FoodKCalories_PerNew),
+ FoodKCalories3=mean(FoodKCalories_Per),
+ FoodProtein2=mean(FoodProtein_Per),
+ Weight=mean(Weight),
+ ProvinceCode=mean(ProvinceCode)),by=HHID]
+
+# BaseX1<-Base[,.(.N,Average_Consumption=weighted.mean(FGrams_PerNew,Weight),
+# cluster3=mean(cluster3)),
+# by=.(ProvinceCode,FoodType)]
+
+BaseX1<-Base[,.(.N,Average_Consumption=weighted.mean(FGrams_PerNew,Weight),
+ cluster3=mean(cluster3)),
+ by=.(FoodType)]
+
+BaseX1<-BaseX1[,N2:=max(N)]
+BaseX1<-BaseX1[,Average_New:=N*Average_Consumption/N2]
+BaseM<-BaseX1[,.(N,N2,FoodType,Average_New)]
+BaseM2<-BaseM[FoodType=="Berenj"]
+BaseM<-BaseM[,.(FoodType,N,Average_New)]
+BaseM<-merge(BaseM,FoodNames)
+BaseM<-BaseM[,Average_Protein:=Average_New*Protein]
+BaseM<-BaseM[order(FoodType)]
+write.csv(BaseM,file="BaseM.csv")
+
+BaseP<-BaseM[,.(Total_Protein=sum(Average_Protein)),
+ by=.(ProvinceCode)]
+
+BaseX<-BaseX[,Region:=as.integer(str_sub(HHID,1,1))]
+BaseX[,weighted.mean(FoodProtein2,Weight)]
+BaseX[,weighted.mean(FoodProtein2,Weight),by=.(Region,ProvinceCode)]
+
+
+BaseXUrban<-BaseX[Region==1]
+BaseXRural<-BaseX[Region==2]
+plot(FoodKCalories3~FoodProtein2,data=BaseXUrban)
+BaseXRural<-BaseXRural[FoodProtein2<700]
+
+smoothScatter(BaseXRural$FoodKCalories3~BaseXRural$FoodProtein2)
+
+#Base2<-Base[FinalPoor==0,.(.N,Average_Consumption=weighted.mean(FGrams_Per,Weight),
+# cluster3=mean(cluster3)),by=.(ProvinceCode,FoodType)]
+
+# Base3<-MD[PEngel>0.6 & FinalPoor==1]
+
+# Base4<-MD[FinalPoor==0,.(.N,cluster3=mean(cluster3)),by=.(ProvinceCode)]
+
+# Base[FoodType=="Goosht" & FinalPoor==1 ,weighted.mean(FGrams_Per,Weight,na.rm = TRUE),by=.(ProvinceCode)]
+
+Base3<-Base2[FinalPoor==1]
+Base3<-Base3[,FGrams_Per:=FGrams/EqSizeCalory]
+Base3<-Base3[,FoodKCalories_Per:=FoodKCaloriesHH/EqSizeCalory]
+BaseX3<-Base3[,.(.N,Average_Consumption=weighted.mean(FGrams_Per,Weight),
+ cluster3=mean(cluster3)),
+ by=.(ProvinceCode,FoodType)]
+BaseX3<-BaseX3[,N2:=max(N),by=.(ProvinceCode)]
+BaseX3<-BaseX3[,Average_New:=N*Average_Consumption/N2]
+BaseM3<-BaseX3[,.(ProvinceCode,N,N2,FoodType,Average_New)]
+BaseM3<-BaseM3[order(ProvinceCode,FoodType)]
+write.csv(BaseM3,file="BaseM3.csv")
+
+cat("\n\n==============Finish==============\nIt took ")
+endtime <- proc.time()
+cat((endtime-starttime)[3],"seconds.")
\ No newline at end of file
diff --git a/R/Archive/June 2020 (removed code files)/durablelast.R b/R/Archive/June 2020 (removed code files)/durablelast.R
new file mode 100644
index 00000000..61d3a8ec
--- /dev/null
+++ b/R/Archive/June 2020 (removed code files)/durablelast.R
@@ -0,0 +1,170 @@
+# 401-Mereg all data.R
+# 2019: Arin Shahbazian
+
+rm(list=ls())
+
+starttime <- proc.time()
+cat("\n\n================ Mereg all data =====================================\n")
+
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+library(readxl)
+library(data.table)
+library(stringr)
+library(janitor)
+library(dplyr)
+
+
+for(year in (Settings$startyear:Settings$endyear)){
+ cat(paste0("\n------------------------------\nYear:",year,"\n"))
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"HHBase.rda"))
+
+
+ for(G in c("Durables","ClothDurables","ProtectHouseDurables",
+ "FurnitureDurables","HouseDurableInstruments",
+ "UtensilDurables","GardenInstruDurables",
+ "HouseCommodityServDurables","MedicalInstruDurables",
+ "MedicalStandingDurables","HospitalDurables",
+ "BuyingAutoDurables","TransportInstruDurables",
+ "VisualEquipDurables","OtherinstruDurables",
+ "BookNewspaperDurables","TravelDurables",
+ "PrimaryDurables","HighschoolDurables",
+ "PreDurables","UniDurables",
+ "OtherEduDurables","PersonalOtherDurables",
+ "SocialProtDurables","InsuranceDurables",
+ "OtherfinancialDurables","OtherserviceDurables",
+ "TransitionsDurables","ClothDurable_WomanExp","ClothDurable_WomanExp2",
+ "ClothDurable_OtherExp","ClothDurable_OtherExp2",
+ "ClothDurable_RepairExp","ClothDurable_RepairExp2",
+ "HouseRepairMaterialsExp","HouseRepairMaterialsExp2",
+ "HouseRepairServicesExp","HouseRepairServicesExp2",
+ "FurnitureCarpetDurableData",
+ "OtherFurnitureExp","OtherFurnitureExp2","FurnituregoodsExp","FurnituregoodsExp2",
+ "CarpetsExp","CarpetsExp2","Repair_FurnitureExp","Repair_FurnitureExp2",
+ "MainEquipmentsExp","MainEquipmentsExp2","MinorEquipmentsExp","MinorEquipmentsExp2",
+ "RepairRentEquipmentsExp","RepairRentEquipmentsExp2",
+ "FoodOtherUtensilExp","FoodOtherUtensilExp2","DurableEquipmentsExp","DurableEquipmentsExp2",
+ "HouseServicesRentExp","HouseServicesRentExp2","MedicalDurableData",
+ "MedicalDurableEquipmentsExp","MedicalDurableEquipmentsExp2","MedicalDurableEquipmentsExp3",
+ "MedicalDurableServicesExp","MedicalDurableServicesExp2","MedicalDurableServicesExp3",
+ "HospitalServicesExp","HospitalServicesExp2","HospitalServicesExp3","TransportationDurableData",
+ "BuyingAutoDurables","TransportInstruDurables",
+ "BuyingAutomobileExp","BuyingAutomobileExp2","BuyingMotorExp","BuyingMotorExp2",
+ "BuyingBicycleExp","BuyingBicycleExp2",
+ "AccessoryExp","AccessoryExp2","CarRepairServiceExp","CarRepairServiceExp2",
+ "OtherCar_DurableServicesExp","OtherCar_DurableServicesExp2",
+ "TelDurableEquipExp","TelDurableEquipExp2","TelDurableEquipExp3","TelDurableEquipExp4",
+ "VisualEquipDurables","OtherinstruDurables","OtherAmusingDurables",
+ "BookNewspaperDurables","BookNewspaperDurables2","TravelDurables","AcousticProjective_EquipExp",
+ "AcousticProjective_EquipExp2","CameraDurableEquipExp","CameraDurableEquipExp2",
+ "PCetcExp","PCetcExp2","RepairAcousticProjectiveExp","RepairAcousticProjectiveExp2",
+ "OtherAmusingDurableExp","OtherAmusingDurableExp2",
+ "MusicEquipDurableExp","MusicEquipDurableExp2",
+ "RepairAmusingDurableExp","RepairAmusingDurableExp2","GamesToysExp3",
+ "GamesToysExp","GamesToysExp2","SportsEquipExp","SportsEquipExp2",
+ "PlantsGardenExp","PlantsGardenExp2","PetsExp","PetsExp2",
+ "Books_curriculumExp","Books_curriculumExp2",
+ "Books_NoncurriculumExp","Books_NoncurriculumExp2",
+ "TravelsExp","TravelsExp2","TravelsExp3","TravelsExp4","EducationData",
+ "PrimaryschoolRegExp","PrimaryschoolRegExp2",
+ "HighschoolRegExp","HighschoolRegExp2",
+ "PreUniversityRegExp","PreUniversityRegExp2",
+ "UniversityRegExp","UniversityRegExp2",
+ "OtherClassRegExp","OtherClassRegExp2","OtherDurableData",
+ "JewelryandWatchExp","JewelryandWatchExp2","BurialExp","BurialExp2",
+ "Social_ProtectsExp","Social_ProtectsExp2","Premium_NonMedicalExp","Premium_NonMedicalExp2",
+ "Premium_HouseExp","Premium_HouseExp2","Premium_MedicalExp","Premium_MedicalExp2",
+ "Premium_TransportationExp","Premium_TransportationExp2",
+ "Premium_OtherExp","Premium_OtherExp2","Financial_MediatorExp","Financial_MediatorExp2",
+ "Financial_OtherExp","Financial_OtherExp2","Other_Nonsorted_ServicesExp",
+ "Other_Nonsorted_ServicesExp2","ReligiousExp","ReligiousExp2",
+ "Damage_AtonementExp","Damage_AtonementExp2","Durable12","Durable13","Durable11",
+ "Durable011","Durable012","Durable013",
+ "Durable021","Durable022",
+ "Durable31","Durable32","Durable33","Durable34","Durable41",
+ "Durable42","Durable43","Durable51","Durable52","Durable53",
+ "Durable61","Durable62","Durable7","Durable81","Durable82","Durable83",
+ "Durable9","Durable101","Durable102","Durable121","Durable122","Durable123",
+ "Durable131","Durable132","Durable141","Durable142",
+ "Durable151","Durable152","Durable153","Durable154","Durable161",
+ "Durable162","Durable163","Durable17","Durable18",
+ "Durable19","Durable20","Durable21","Durable22","Durable231","Durable232",
+ "Durable241","Durable242","Durable243","Durable251","Durable252",
+ "Durable261","Durable262","Durable27","Durable281","Durable282")){
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,G,".rda"))
+ }
+
+ HHBase<-HHBase[,.(HHID)]
+
+ TotalDurable<-merge(HHBase,DurableData,all.x=TRUE)
+ TotalDurable<-merge(TotalDurable,Durable011,all.x=TRUE)
+ TotalDurable<-merge(TotalDurable,Durable012,all.x=TRUE)
+ TotalDurable<-merge(TotalDurable,Durable013,all.x=TRUE)
+ TotalDurable<-merge(TotalDurable,Durable021,all.x=TRUE)
+ TotalDurable<-merge(TotalDurable,Durable022,all.x=TRUE)
+ TotalDurable<-merge(TotalDurable,Durable31,all.x=TRUE)
+ TotalDurable<-merge(TotalDurable,Durable32,all.x=TRUE)
+ TotalDurable<-merge(TotalDurable,Durable33,all.x=TRUE)
+ TotalDurable<-merge(TotalDurable,Durable34,all.x=TRUE)
+ TotalDurable<-merge(TotalDurable,Durable41,all.x=TRUE)
+ TotalDurable<-merge(TotalDurable,Durable42,all.x=TRUE)
+ TotalDurable<-merge(TotalDurable,Durable43,all.x=TRUE)
+ TotalDurable<-merge(TotalDurable,Durable51,all.x=TRUE)
+ TotalDurable<-merge(TotalDurable,Durable52,all.x=TRUE)
+ TotalDurable<-merge(TotalDurable,Durable53,all.x=TRUE)
+ TotalDurable<-merge(TotalDurable,Durable61,all.x=TRUE)
+ TotalDurable<-merge(TotalDurable,Durable62,all.x=TRUE, allow.cartesian=TRUE)
+ TotalDurable<-merge(TotalDurable,Durable7,all.x=TRUE)
+ TotalDurable<-merge(TotalDurable,Durable81,all.x=TRUE)
+ TotalDurable<-merge(TotalDurable,Durable82,all.x=TRUE)
+ TotalDurable<-merge(TotalDurable,Durable83,all.x=TRUE)
+ TotalDurable<-merge(TotalDurable,Durable9,all.x=TRUE)
+ TotalDurable<-merge(TotalDurable,Durable101,all.x=TRUE)
+ TotalDurable<-merge(TotalDurable,Durable102,all.x=TRUE)
+ TotalDurable<-merge(TotalDurable,Durable11,all.x=TRUE)
+ TotalDurable<-merge(TotalDurable,Durable121,all.x=TRUE)
+ TotalDurable<-merge(TotalDurable,Durable122,all.x=TRUE)
+ TotalDurable<-merge(TotalDurable,Durable123,all.x=TRUE)
+ TotalDurable<-merge(TotalDurable,Durable131,all.x=TRUE)
+ TotalDurable<-merge(TotalDurable,Durable132,all.x=TRUE)
+ TotalDurable<-merge(TotalDurable,Durable141,all.x=TRUE)
+ TotalDurable<-merge(TotalDurable,Durable142,all.x=TRUE)
+ TotalDurable<-merge(TotalDurable,Durable151,all.x=TRUE)
+ TotalDurable<-merge(TotalDurable,Durable152,all.x=TRUE)
+ TotalDurable<-merge(TotalDurable,Durable153,all.x=TRUE)
+ TotalDurable<-merge(TotalDurable,Durable154,all.x=TRUE)
+ TotalDurable<-merge(TotalDurable,Durable161,all.x=TRUE)
+ TotalDurable<-merge(TotalDurable,Durable162,all.x=TRUE)
+ TotalDurable<-merge(TotalDurable,Durable163,all.x=TRUE)
+ TotalDurable<-merge(TotalDurable,Durable17,all.x=TRUE)
+ TotalDurable<-merge(TotalDurable,Durable18,all.x=TRUE)
+ TotalDurable<-merge(TotalDurable,Durable19,all.x=TRUE)
+ TotalDurable<-merge(TotalDurable,Durable20,all.x=TRUE)
+ TotalDurable<-merge(TotalDurable,Durable21,all.x=TRUE)
+ TotalDurable<-merge(TotalDurable,Durable22,all.x=TRUE)
+ TotalDurable<-merge(TotalDurable,Durable231,all.x=TRUE)
+ TotalDurable<-merge(TotalDurable,Durable232,all.x=TRUE)
+ TotalDurable<-merge(TotalDurable,Durable241,all.x=TRUE)
+ TotalDurable<-merge(TotalDurable,Durable242,all.x=TRUE)
+ TotalDurable<-merge(TotalDurable,Durable243,all.x=TRUE,allow.cartesian=TRUE)
+ TotalDurable<-merge(TotalDurable,Durable251,all.x=TRUE)
+ TotalDurable<-merge(TotalDurable,Durable252,all.x=TRUE)
+ TotalDurable<-merge(TotalDurable,Durable261,all.x=TRUE)
+ TotalDurable<-merge(TotalDurable,Durable262,all.x=TRUE)
+ TotalDurable<-merge(TotalDurable,Durable27,all.x=TRUE)
+ TotalDurable<-merge(TotalDurable,Durable281,all.x=TRUE)
+ TotalDurable<-merge(TotalDurable,Durable282,all.x=TRUE)
+
+
+ TotalDurable[is.na(TotalDurable)] <- 0
+ TotalDurable<-distinct(TotalDurable,HHID,.keep_all= TRUE)
+
+ names(TotalDurable)
+
+ save(TotalDurable, file = paste0(Settings$HEISProcessedPath,"Y",year,"TotalDurable.rda"))
+}
+
+endtime <- proc.time()
+cat("\n\n============================\nIt took ")
+cat(endtime-starttime)
diff --git a/R/Archive/June 2020 (removed code files)/job.R b/R/Archive/June 2020 (removed code files)/job.R
new file mode 100644
index 00000000..dca9aea7
--- /dev/null
+++ b/R/Archive/June 2020 (removed code files)/job.R
@@ -0,0 +1,49 @@
+# 403-Filtering job status.R
+# 2019: Arin Shahbazian
+
+rm(list=ls())
+
+starttime <- proc.time()
+cat("\n\n================Filtering job status =====================================\n")
+
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+library(readxl)
+library(data.table)
+library(stringr)
+library(spatstat)
+
+for(year in (Settings$startyear:Settings$endyear)){
+ cat(paste0("\n------------------------------\nYear:",year,"\n"))
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"Total1.rda"))
+
+
+ job<-Total[,.(HHID,Region,HActivityState,Main_Job_Name_Pub,PubWageNetIncomeY,
+ Main_Job_Name_Prv,PrvWageNetIncomeY,
+ Main_Job_Name_Cooperative,CooperativeWageNetIncomeY,
+ AgriEarners,Main_Job_Name_Agri,BussEarners,
+ Main_Job_Name_Buss,
+ Job_Main_Code_Pub,Job_Main_Code_Prv,Job_Main_Code_Cooperative,
+ Job_Main_Code_Buss,Job_Main_Code_Agri,
+ Original_Job_Name_Cooperative,CooperativeWageNetIncomeY,
+ AgriEarners,Original_Job_Name_Agri,BussEarners,
+ Original_Job_Name_Buss,
+ Job_Original_Code_Pub,Job_Original_Code_Prv,Job_Original_Code_Cooperative,
+ Job_Original_Code_Buss,Job_Original_Code_Agri,
+ Aid,Homemade,
+ Interest,Intra,Rent,Retirement,Subsidy)]
+
+ job<-job[,job_Best:=min(Job_Main_Code_Pub,Job_Main_Code_Prv,
+ Job_Main_Code_Cooperative,
+ Job_Main_Code_Buss,Job_Main_Code_Agri)]
+
+
+ save(job,file=paste0(Settings$HEISProcessedPath,"Y",year,"job.rda"))
+
+
+}
+
+endtime <- proc.time()
+cat("\n\n============================\nIt took ")
+cat(endtime-starttime)
diff --git a/R/Archive/June 2020 (removed code files)/modify2.R b/R/Archive/June 2020 (removed code files)/modify2.R
new file mode 100644
index 00000000..554fdb54
--- /dev/null
+++ b/R/Archive/June 2020 (removed code files)/modify2.R
@@ -0,0 +1,549 @@
+library(yaml)
+OS <- ifelse(version$os=="linux-gnu","Linux","Windows")
+if(OS=="Linux"){
+ HEISPath = "/media/majid/Document/HEIS/"
+}else{
+ HEISPath = "C:/HEIS/"
+}
+HEISCompressedPath = paste0(HEISPath,"DataCompressed/")
+HEISAccessPath = paste0(HEISPath,"DataAccess/")
+HEISRawPath = paste0(HEISPath,"DataRaw/")
+HEISProcessedPath = paste0(HEISPath,"DataProcessed/")
+HEISResultsPath = paste0(HEISPath,"DataResults/")
+D80LinkDest = paste0(HEISAccessPath,"D80Link.accdb")
+
+
+Settings <- list(HEISPath =HEISPath,
+ HEISCompressedPath=HEISCompressedPath,
+ HEISAccessPath =HEISAccessPath,
+ HEISRawPath =HEISRawPath,
+ HEISProcessedPath =HEISProcessedPath,
+ HEISResultsPath =HEISResultsPath,
+ HEISWeightsPath ="../Data/SamplingWeights/",
+ HEISWeightFileName="HHWeights",
+ HEISCountyCodePath="../Data/CountyCodes8791/",
+ HEISCountyCodeFileName="ShCode",
+ startyear=77,
+ endyear=97,
+ baseyear=95,
+ OS=OS,
+ # RawDataWebAddress ="http://www.amar.org.ir/Portals/0/amarmozuii/hazinedaramad/",
+ RawDataWebAddress ="https://www.amar.org.ir/Portals/0/amarmozuii/re_DataRaw_63_95_Info/",
+ MetaDataFilePath = "../Data/MetaData.xlsx",
+ GeoInfoFilePath = "../Data/GeoInfo.Shahrestan.xlsx",
+ MDS_CFN = "CompressedFileNames", # MetaData Sheet: Compressed File Names
+ MDS_P1Cols = "P1Cols", # MetaData Sheet: Columns of P1 Table
+ MDS_P2Cols = "P2Cols",
+ MDS_EC_A = "EduCodes-A",
+ MDS_EC_B = "EduCodes-B",
+ MDS_EC_C = "EduCodes-C",
+ MDS_EC_D = "EduCodes-D",
+ MDS_Food = "FoodTables",
+ MDS_Sheep = "SheepTables",
+ MDS_Cow = "CowTables",
+ MDS_Shir = "ShirTables",
+ MDS_Mast = "MastTables",
+ MDS_Panir = "PanirTables",
+ MDS_Morgh = "MorghTables",
+ MDS_BerenjI = "BerenjITables",
+ MDS_BerenjF = "BerenjFTables",
+ MDS_Roghan = "RoghanTables",
+ MDS_Tokhmemorgh = "TokhmemorghTables",
+ MDS_Ghand = "GhandTables",
+ MDS_Shekar = "ShekarTables",
+ MDS_Nokhod = "NokhodTables",
+ MDS_Lapeh = "LapehTables",
+ MDS_Loobia_Chiti = "Loobia_ChitiTables",
+ MDS_Loobia_Ghermez= "Loobia_GhermezTables",
+ MDS_Adas = "AdasTables",
+ MDS_FoodGroups = "FoodGroupTables",
+ MDS_Cigar = "CigarTables",
+ MDS_Cloth = "ClothTables",
+ MDS_HouseandEnergy = "HouseandEnergyTables",
+ MDS_Energy = "EnergyTables",
+ MDS_Furniture = "FurnitureTables",
+ MDS_Transportation= "TransportationTables",
+ MDS_Benzin = "BenzinTables",
+ MDS_Bargh = "BarghTables",
+ MDS_Gaz = "GazTables",
+ MDS_NaftSefid = "NaftSefidTables",
+ MDS_Communication = "CommunicationTables",
+ MDS_Amusement = "AmusementTables",
+ MDS_HotelRestaurant = "HotelRestaurantTables",
+ MDS_Other = "OtherTables",
+ MDS_Durable = "DurableTables",
+ MDS_Investment = "InvestmentTables",
+ MDS_Medical = "MedicalTables",
+ MDS_Hygiene = "HygieneTables",
+ MDS_Loans = "LoanTables",
+ MDS_House = "HouseTables",
+ MDS_Education = "EducationTables",
+ MDS_Insurance = "InsuranceTables",
+ MDS_ActivityState = "ActivityStateTables",
+ MDS_PubWage = "PubWageTable",
+ MDS_PrvWage = "PrvWageTable",
+ MDS_AgriInc = "AgriIncTable",
+ MDS_BussInc = "BussIncTable",
+ MDS_OtherInc = "OthrIncTable",
+ MDS_Retirement = "RetirementTables",
+ MDS_Interest = "InterestTables",
+ MDS_Rent = "RentTables",
+ MDS_Aid = "AidTables",
+ MDS_Homemade = "HomemadeTables",
+ MDS_Intra = "IntraTables",
+ MDS_SubsidyWage = "SubsidyTable",
+ MDS_Rough_Weights = "RegionWeights",
+ OutFoodKCXShare = 0.3, # Share of Kilo-Calory content in Expenses of outdoor food
+ OutFoodKCXShare12 = 0.4, # Share of Kilo-Calory content in Expenses of outdoor food
+ OutFoodKCXShare3456 = 0.2, # Share of Kilo-Calory content in Expenses of outdoor food
+ OutFoodKCXShare78910 = 0.1, # Share of Kilo-Calory content in Expenses of outdoor food
+ KCaloryNeed_Adult = 2100,
+ KCaloryNeed_Adult_WorldBank = 2100,
+ KCaloryNeed_Adult_Anstitoo = 2400,
+ KCaloryNeed_Child = 1800,
+ KCaloryNeed_B0 = 850 ,
+ KCaloryNeed_B1 = 1250 ,
+ KCaloryNeed_B2 = 1356 ,
+ KCaloryNeed_B3 = 1582 ,
+ KCaloryNeed_B4 = 1728 ,
+ KCaloryNeed_B5 = 1838 ,
+ KCaloryNeed_B6 = 1922 ,
+ KCaloryNeed_B7 = 1980 ,
+ KCaloryNeed_B8 = 2058 ,
+ KCaloryNeed_B9 = 2136 ,
+ KCaloryNeed_B10 = 2214 ,
+ KCaloryNeed_B11 = 2292 ,
+ KCaloryNeed_B12 = 2370 ,
+ KCaloryNeed_B13 = 2436 ,
+ KCaloryNeed_B14 = 2502 ,
+ KCaloryNeed_B15 = 2568 ,
+ KCaloryNeed_B16 = 2634 ,
+ KCaloryNeed_B17 = 2700 ,
+ KCaloryNeed_B18 = 2652 ,
+ KCaloryNeed_B19 = 2604 ,
+ KCaloryNeed_B20 = 2556 ,
+ KCaloryNeed_B21 = 2508 ,
+ KCaloryNeed_B22 = 2460 ,
+ KCaloryNeed_B23 = 2460 ,
+ KCaloryNeed_B24 = 2460 ,
+ KCaloryNeed_B25 = 2460 ,
+ KCaloryNeed_B26 = 2460 ,
+ KCaloryNeed_B27 = 2460 ,
+ KCaloryNeed_B28 = 2460 ,
+ KCaloryNeed_B29 = 2460 ,
+ KCaloryNeed_B30 = 2460 ,
+ KCaloryNeed_B31 = 2460 ,
+ KCaloryNeed_B32 = 2460 ,
+ KCaloryNeed_B33 = 2460 ,
+ KCaloryNeed_B34 = 2460 ,
+ KCaloryNeed_B35 = 2460 ,
+ KCaloryNeed_B36 = 2460 ,
+ KCaloryNeed_B37 = 2460 ,
+ KCaloryNeed_B38 = 2460 ,
+ KCaloryNeed_B39 = 2460 ,
+ KCaloryNeed_B40 = 2460 ,
+ KCaloryNeed_B41 = 2460 ,
+ KCaloryNeed_B42 = 2460 ,
+ KCaloryNeed_B43 = 2460 ,
+ KCaloryNeed_B44 = 2460 ,
+ KCaloryNeed_B45 = 2460 ,
+ KCaloryNeed_B46 = 2460 ,
+ KCaloryNeed_B47 = 2460 ,
+ KCaloryNeed_B48 = 2460 ,
+ KCaloryNeed_B49 = 2460 ,
+ KCaloryNeed_B50 = 2460 ,
+ KCaloryNeed_B51 = 2460 ,
+ KCaloryNeed_B52 = 2460 ,
+ KCaloryNeed_B53 = 2460 ,
+ KCaloryNeed_B54 = 2460 ,
+ KCaloryNeed_B55 = 2460 ,
+ KCaloryNeed_B56 = 2460 ,
+ KCaloryNeed_B57 = 2460 ,
+ KCaloryNeed_B58 = 2370 ,
+ KCaloryNeed_B59 = 2280 ,
+ KCaloryNeed_B60 = 2190 ,
+ KCaloryNeed_B61 = 2100 ,
+ KCaloryNeed_B62 = 2010 ,
+ KCaloryNeed_B63 = 2010 ,
+ KCaloryNeed_B64 = 2010 ,
+ KCaloryNeed_B65 = 2010 ,
+ KCaloryNeed_B66 = 2010 ,
+ KCaloryNeed_B67 = 2010 ,
+ KCaloryNeed_B68 = 2010 ,
+ KCaloryNeed_B69 = 2010 ,
+ KCaloryNeed_B70 = 2010 ,
+ KCaloryNeed_B71 = 2010 ,
+ KCaloryNeed_B72 = 2010 ,
+ KCaloryNeed_B73 = 2010 ,
+ KCaloryNeed_B74 = 2010 ,
+ KCaloryNeed_B75 = 2010 ,
+ KCaloryNeed_B76 = 2010 ,
+ KCaloryNeed_B77 = 2010 ,
+ KCaloryNeed_B78 = 2010 ,
+ KCaloryNeed_B79 = 2010 ,
+ KCaloryNeed_B80 = 2010 ,
+ KCaloryNeed_B81 = 2010 ,
+ KCaloryNeed_B82 = 2010 ,
+ KCaloryNeed_B83 = 2010 ,
+ KCaloryNeed_B84 = 2010 ,
+ KCaloryNeed_B85 = 2010 ,
+ KCaloryNeed_B86 = 2010 ,
+ KCaloryNeed_B87 = 2010 ,
+ KCaloryNeed_B88 = 2010 ,
+ KCaloryNeed_B89 = 2010 ,
+ KCaloryNeed_B90 = 2010 ,
+ KCaloryNeed_B91 = 2010 ,
+ KCaloryNeed_B92 = 2010 ,
+ KCaloryNeed_B93 = 2010 ,
+ KCaloryNeed_B94 = 2010 ,
+ KCaloryNeed_B95 = 2010 ,
+ KCaloryNeed_B96 = 2010 ,
+ KCaloryNeed_B97 = 2010 ,
+ KCaloryNeed_B98 = 2010 ,
+ KCaloryNeed_B99 = 2010 ,
+ KCaloryNeed_G0 = 780 ,
+ KCaloryNeed_G1 = 1190 ,
+ KCaloryNeed_G2 = 1256 ,
+ KCaloryNeed_G3 = 1446 ,
+ KCaloryNeed_G4 = 1554 ,
+ KCaloryNeed_G5 = 1634 ,
+ KCaloryNeed_G6 = 1692 ,
+ KCaloryNeed_G7 = 1730 ,
+ KCaloryNeed_G8 = 1792 ,
+ KCaloryNeed_G9 = 1854 ,
+ KCaloryNeed_G10 = 1916 ,
+ KCaloryNeed_G11 = 1978 ,
+ KCaloryNeed_G12 = 2040 ,
+ KCaloryNeed_G13 = 2056 ,
+ KCaloryNeed_G14 = 2072 ,
+ KCaloryNeed_G15 = 2088 ,
+ KCaloryNeed_G16 = 2104 ,
+ KCaloryNeed_G17 = 2120 ,
+ KCaloryNeed_G18 = 2094 ,
+ KCaloryNeed_G19 = 2068 ,
+ KCaloryNeed_G20 = 2042 ,
+ KCaloryNeed_G21 = 2016 ,
+ KCaloryNeed_G22 = 1990 ,
+ KCaloryNeed_G23 = 1990 ,
+ KCaloryNeed_G24 = 1990 ,
+ KCaloryNeed_G25 = 1990 ,
+ KCaloryNeed_G26 = 1990 ,
+ KCaloryNeed_G27 = 1990 ,
+ KCaloryNeed_G28 = 1990 ,
+ KCaloryNeed_G29 = 1990 ,
+ KCaloryNeed_G30 = 1990 ,
+ KCaloryNeed_G31 = 1990 ,
+ KCaloryNeed_G32 = 1990 ,
+ KCaloryNeed_G33 = 1990 ,
+ KCaloryNeed_G34 = 1990 ,
+ KCaloryNeed_G35 = 1990 ,
+ KCaloryNeed_G36 = 1990 ,
+ KCaloryNeed_G37 = 1990 ,
+ KCaloryNeed_G38 = 1990 ,
+ KCaloryNeed_G39 = 1990 ,
+ KCaloryNeed_G40 = 1990 ,
+ KCaloryNeed_G41 = 1990 ,
+ KCaloryNeed_G42 = 1990 ,
+ KCaloryNeed_G43 = 1990 ,
+ KCaloryNeed_G44 = 1990 ,
+ KCaloryNeed_G45 = 1990 ,
+ KCaloryNeed_G46 = 1990 ,
+ KCaloryNeed_G47 = 1990 ,
+ KCaloryNeed_G48 = 1990 ,
+ KCaloryNeed_G49 = 1990 ,
+ KCaloryNeed_G50 = 1990 ,
+ KCaloryNeed_G51 = 1990 ,
+ KCaloryNeed_G52 = 1990 ,
+ KCaloryNeed_G53 = 1990 ,
+ KCaloryNeed_G54 = 1990 ,
+ KCaloryNeed_G55 = 1990 ,
+ KCaloryNeed_G56 = 1990 ,
+ KCaloryNeed_G57 = 1990 ,
+ KCaloryNeed_G58 = 1948 ,
+ KCaloryNeed_G59 = 1906 ,
+ KCaloryNeed_G60 = 1864 ,
+ KCaloryNeed_G61 = 1822 ,
+ KCaloryNeed_G62 = 1780 ,
+ KCaloryNeed_G63 = 1780 ,
+ KCaloryNeed_G64 = 1780 ,
+ KCaloryNeed_G65 = 1780 ,
+ KCaloryNeed_G66 = 1780 ,
+ KCaloryNeed_G67 = 1780 ,
+ KCaloryNeed_G68 = 1780 ,
+ KCaloryNeed_G69 = 1780 ,
+ KCaloryNeed_G70 = 1780 ,
+ KCaloryNeed_G71 = 1780 ,
+ KCaloryNeed_G72 = 1780 ,
+ KCaloryNeed_G73 = 1780 ,
+ KCaloryNeed_G74 = 1780 ,
+ KCaloryNeed_G75 = 1780 ,
+ KCaloryNeed_G76 = 1780 ,
+ KCaloryNeed_G77 = 1780 ,
+ KCaloryNeed_G78 = 1780 ,
+ KCaloryNeed_G79 = 1780 ,
+ KCaloryNeed_G80 = 1780 ,
+ KCaloryNeed_G81 = 1780 ,
+ KCaloryNeed_G82 = 1780 ,
+ KCaloryNeed_G83 = 1780 ,
+ KCaloryNeed_G84 = 1780 ,
+ KCaloryNeed_G85 = 1780 ,
+ KCaloryNeed_G86 = 1780 ,
+ KCaloryNeed_G87 = 1780 ,
+ KCaloryNeed_G88 = 1780 ,
+ KCaloryNeed_G89 = 1780 ,
+ KCaloryNeed_G90 = 1780 ,
+ KCaloryNeed_G91 = 1780 ,
+ KCaloryNeed_G92 = 1780 ,
+ KCaloryNeed_G93 = 1780 ,
+ KCaloryNeed_G94 = 1780 ,
+ KCaloryNeed_G95 = 1780 ,
+ KCaloryNeed_G96 = 1780 ,
+ KCaloryNeed_G97 = 1780 ,
+ KCaloryNeed_G98 = 1780 ,
+ KCaloryNeed_G99 = 1780 ,
+ KCaloryNeed_A_B0 = 705 ,
+ KCaloryNeed_A_B1 = 948 ,
+ KCaloryNeed_A_B2 = 1070 ,
+ KCaloryNeed_A_B3 = 1170 ,
+ KCaloryNeed_A_B4 = 1270 ,
+ KCaloryNeed_A_B5 = 1450 ,
+ KCaloryNeed_A_B6 = 1600 ,
+ KCaloryNeed_A_B7 = 1730 ,
+ KCaloryNeed_A_B8 = 1860 ,
+ KCaloryNeed_A_B9 = 1990 ,
+ KCaloryNeed_A_B10 = 2120 ,
+ KCaloryNeed_A_B11 = 2250 ,
+ KCaloryNeed_A_B12 = 2600 ,
+ KCaloryNeed_A_B13 = 2800 ,
+ KCaloryNeed_A_B14 = 3000 ,
+ KCaloryNeed_A_B15 = 3200 ,
+ KCaloryNeed_A_B16 = 3300 ,
+ KCaloryNeed_A_B17 = 3200 ,
+ KCaloryNeed_A_B18 = 3100 ,
+ KCaloryNeed_A_B19 = 3087 ,
+ KCaloryNeed_A_B20 = 3074 ,
+ KCaloryNeed_A_B21 = 3061 ,
+ KCaloryNeed_A_B22 = 3048 ,
+ KCaloryNeed_A_B23 = 3035 ,
+ KCaloryNeed_A_B24 = 3022 ,
+ KCaloryNeed_A_B25 = 3009 ,
+ KCaloryNeed_A_B26 = 2996 ,
+ KCaloryNeed_A_B27 = 2983 ,
+ KCaloryNeed_A_B28 = 2970 ,
+ KCaloryNeed_A_B29 = 2957 ,
+ KCaloryNeed_A_B30 = 2950 ,
+ KCaloryNeed_A_B31 = 2947 ,
+ KCaloryNeed_A_B32 = 2944 ,
+ KCaloryNeed_A_B33 = 2941 ,
+ KCaloryNeed_A_B34 = 2938 ,
+ KCaloryNeed_A_B35 = 2935 ,
+ KCaloryNeed_A_B36 = 2932 ,
+ KCaloryNeed_A_B37 = 2929 ,
+ KCaloryNeed_A_B38 = 2926 ,
+ KCaloryNeed_A_B39 = 2923 ,
+ KCaloryNeed_A_B40 = 2920 ,
+ KCaloryNeed_A_B41 = 2917 ,
+ KCaloryNeed_A_B42 = 2914 ,
+ KCaloryNeed_A_B43 = 2911 ,
+ KCaloryNeed_A_B44 = 2908 ,
+ KCaloryNeed_A_B45 = 2905 ,
+ KCaloryNeed_A_B46 = 2902 ,
+ KCaloryNeed_A_B47 = 2899 ,
+ KCaloryNeed_A_B48 = 2896 ,
+ KCaloryNeed_A_B49 = 2893 ,
+ KCaloryNeed_A_B50 = 2890 ,
+ KCaloryNeed_A_B51 = 2887 ,
+ KCaloryNeed_A_B52 = 2884 ,
+ KCaloryNeed_A_B53 = 2881 ,
+ KCaloryNeed_A_B54 = 2878 ,
+ KCaloryNeed_A_B55 = 2875 ,
+ KCaloryNeed_A_B56 = 2872 ,
+ KCaloryNeed_A_B57 = 2869 ,
+ KCaloryNeed_A_B58 = 2866 ,
+ KCaloryNeed_A_B59 = 2863 ,
+ KCaloryNeed_A_B60 = 2800 ,
+ KCaloryNeed_A_B61 = 2777 ,
+ KCaloryNeed_A_B62 = 2754 ,
+ KCaloryNeed_A_B63 = 2731 ,
+ KCaloryNeed_A_B64 = 2708 ,
+ KCaloryNeed_A_B65 = 2685 ,
+ KCaloryNeed_A_B66 = 2662 ,
+ KCaloryNeed_A_B67 = 2639 ,
+ KCaloryNeed_A_B68 = 2616 ,
+ KCaloryNeed_A_B69 = 2593 ,
+ KCaloryNeed_A_B70 = 2570 ,
+ KCaloryNeed_A_B71 = 2547 ,
+ KCaloryNeed_A_B72 = 2524 ,
+ KCaloryNeed_A_B73 = 2501 ,
+ KCaloryNeed_A_B74 = 2478 ,
+ KCaloryNeed_A_B75 = 2455 ,
+ KCaloryNeed_A_B76 = 2432 ,
+ KCaloryNeed_A_B77 = 2409 ,
+ KCaloryNeed_A_B78 = 2386 ,
+ KCaloryNeed_A_B79 = 2363 ,
+ KCaloryNeed_A_B80 = 2340 ,
+ KCaloryNeed_A_B81 = 2317 ,
+ KCaloryNeed_A_B82 = 2294 ,
+ KCaloryNeed_A_B83 = 2271 ,
+ KCaloryNeed_A_B84 = 2248 ,
+ KCaloryNeed_A_B85 = 2225 ,
+ KCaloryNeed_A_B86 = 2202 ,
+ KCaloryNeed_A_B87 = 2179 ,
+ KCaloryNeed_A_B88 = 2156 ,
+ KCaloryNeed_A_B89 = 2133 ,
+ KCaloryNeed_A_B90 = 2110 ,
+ KCaloryNeed_A_B91 = 2087 ,
+ KCaloryNeed_A_B92 = 2064 ,
+ KCaloryNeed_A_B93 = 2041 ,
+ KCaloryNeed_A_B94 = 2018 ,
+ KCaloryNeed_A_B95 = 1995 ,
+ KCaloryNeed_A_B96 = 1972 ,
+ KCaloryNeed_A_B97 = 1949 ,
+ KCaloryNeed_A_B98 = 1926 ,
+ KCaloryNeed_A_B99 = 1903 ,
+ KCaloryNeed_A_G0 = 675 ,
+ KCaloryNeed_A_G1 = 908 ,
+ KCaloryNeed_A_G2 = 1034 ,
+ KCaloryNeed_A_G3 = 1134 ,
+ KCaloryNeed_A_G4 = 1234 ,
+ KCaloryNeed_A_G5 = 1370 ,
+ KCaloryNeed_A_G6 = 1500 ,
+ KCaloryNeed_A_G7 = 1650 ,
+ KCaloryNeed_A_G8 = 1800 ,
+ KCaloryNeed_A_G9 = 1900 ,
+ KCaloryNeed_A_G10 = 2050 ,
+ KCaloryNeed_A_G11 = 2250 ,
+ KCaloryNeed_A_G12 = 2450 ,
+ KCaloryNeed_A_G13 = 2700 ,
+ KCaloryNeed_A_G14 = 2900 ,
+ KCaloryNeed_A_G15 = 2900 ,
+ KCaloryNeed_A_G16 = 2750 ,
+ KCaloryNeed_A_G17 = 2700 ,
+ KCaloryNeed_A_G18 = 2695 ,
+ KCaloryNeed_A_G19 = 2690 ,
+ KCaloryNeed_A_G20 = 2685 ,
+ KCaloryNeed_A_G21 = 2680 ,
+ KCaloryNeed_A_G22 = 2675 ,
+ KCaloryNeed_A_G23 = 2670 ,
+ KCaloryNeed_A_G24 = 2665 ,
+ KCaloryNeed_A_G25 = 2660 ,
+ KCaloryNeed_A_G26 = 2655 ,
+ KCaloryNeed_A_G27 = 2650 ,
+ KCaloryNeed_A_G28 = 2645 ,
+ KCaloryNeed_A_G29 = 2640 ,
+ KCaloryNeed_A_G30 = 2630 ,
+ KCaloryNeed_A_G31 = 2625 ,
+ KCaloryNeed_A_G32 = 2620 ,
+ KCaloryNeed_A_G33 = 2615 ,
+ KCaloryNeed_A_G34 = 2610 ,
+ KCaloryNeed_A_G35 = 2605 ,
+ KCaloryNeed_A_G36 = 2600 ,
+ KCaloryNeed_A_G37 = 2595 ,
+ KCaloryNeed_A_G38 = 2590 ,
+ KCaloryNeed_A_G39 = 2585 ,
+ KCaloryNeed_A_G40 = 2580 ,
+ KCaloryNeed_A_G41 = 2575 ,
+ KCaloryNeed_A_G42 = 2570 ,
+ KCaloryNeed_A_G43 = 2565 ,
+ KCaloryNeed_A_G44 = 2560 ,
+ KCaloryNeed_A_G45 = 2555 ,
+ KCaloryNeed_A_G46 = 2550 ,
+ KCaloryNeed_A_G47 = 2545 ,
+ KCaloryNeed_A_G48 = 2540 ,
+ KCaloryNeed_A_G49 = 2535 ,
+ KCaloryNeed_A_G50 = 2530 ,
+ KCaloryNeed_A_G51 = 2525 ,
+ KCaloryNeed_A_G52 = 2520 ,
+ KCaloryNeed_A_G53 = 2515 ,
+ KCaloryNeed_A_G54 = 2510 ,
+ KCaloryNeed_A_G55 = 2505 ,
+ KCaloryNeed_A_G56 = 2500 ,
+ KCaloryNeed_A_G57 = 2495 ,
+ KCaloryNeed_A_G58 = 2490 ,
+ KCaloryNeed_A_G59 = 2485 ,
+ KCaloryNeed_A_G60 = 2400 ,
+ KCaloryNeed_A_G61 = 2389 ,
+ KCaloryNeed_A_G62 = 2378 ,
+ KCaloryNeed_A_G63 = 2367 ,
+ KCaloryNeed_A_G64 = 2356 ,
+ KCaloryNeed_A_G65 = 2345 ,
+ KCaloryNeed_A_G66 = 2334 ,
+ KCaloryNeed_A_G67 = 2323 ,
+ KCaloryNeed_A_G68 = 2312 ,
+ KCaloryNeed_A_G69 = 2301 ,
+ KCaloryNeed_A_G70 = 2290 ,
+ KCaloryNeed_A_G71 = 2279 ,
+ KCaloryNeed_A_G72 = 2268 ,
+ KCaloryNeed_A_G73 = 2257 ,
+ KCaloryNeed_A_G74 = 2246 ,
+ KCaloryNeed_A_G75 = 2235 ,
+ KCaloryNeed_A_G76 = 2224 ,
+ KCaloryNeed_A_G77 = 2213 ,
+ KCaloryNeed_A_G78 = 2202 ,
+ KCaloryNeed_A_G79 = 2191 ,
+ KCaloryNeed_A_G80 = 2180 ,
+ KCaloryNeed_A_G81 = 2169 ,
+ KCaloryNeed_A_G82 = 2158 ,
+ KCaloryNeed_A_G83 = 2147 ,
+ KCaloryNeed_A_G84 = 2136 ,
+ KCaloryNeed_A_G85 = 2125 ,
+ KCaloryNeed_A_G86 = 2114 ,
+ KCaloryNeed_A_G87 = 2103 ,
+ KCaloryNeed_A_G88 = 2092 ,
+ KCaloryNeed_A_G89 = 2081 ,
+ KCaloryNeed_A_G90 = 2070 ,
+ KCaloryNeed_A_G91 = 2059 ,
+ KCaloryNeed_A_G92 = 2048 ,
+ KCaloryNeed_A_G93 = 2037 ,
+ KCaloryNeed_A_G94 = 2026 ,
+ KCaloryNeed_A_G95 = 2015 ,
+ KCaloryNeed_A_G96 = 2004 ,
+ KCaloryNeed_A_G97 = 1993 ,
+ KCaloryNeed_A_G98 = 1982 ,
+ KCaloryNeed_A_G99 = 1971 ,
+ #KCaloryNeed_B1 = 850,
+ #KCaloryNeed_G1 = 780,
+ #KCaloryNeed_B2 = 1250,
+ #KCaloryNeed_G2 = 1190,
+ #KCaloryNeed_B3 = 1430,
+ #KCaloryNeed_G3 = 1330,
+ #KCaloryNeed_B4 = 1560,
+ #KCaloryNeed_G4 = 1440,
+ #KCaloryNeed_B5 = 1690,
+ #KCaloryNeed_G5 = 1540,
+ #KCaloryNeed_B6 = 1980,
+ #KCaloryNeed_G6 = 1730,
+ #KCaloryNeed_B7 = 2370,
+ #KCaloryNeed_G7 = 2040,
+ #KCaloryNeed_B8 = 2700,
+ #KCaloryNeed_G8 = 2120,
+ #KCaloryNeed_B9 = 2460,
+ #KCaloryNeed_G9 = 1990,
+ #KCaloryNeed_B10 = 2010,
+ #KCaloryNeed_G10 = 1780,
+ #KCaloryNeed_A_B1 = 705,
+ #KCaloryNeed_A_G1 = 643,
+ #KCaloryNeed_A_B2 = 948,
+ #KCaloryNeed_A_G2 = 865,
+ #KCaloryNeed_A_B3 = 1120,
+ #KCaloryNeed_A_G3 = 1047,
+ #KCaloryNeed_A_B4 = 1360,
+ #KCaloryNeed_A_G4 = 1242,
+ #KCaloryNeed_A_B5 = 1927,
+ #KCaloryNeed_A_G5 = 1782,
+ #KCaloryNeed_A_B6 = 3036,
+ #KCaloryNeed_A_G6 = 2434,
+ #KCaloryNeed_A_B7 = 3029,
+ #KCaloryNeed_A_G7 = 2300,
+ #KCaloryNeed_A_B8 = 2900,
+ #KCaloryNeed_A_G8 = 2200,
+ #KCaloryNeed_A_B9 = 2350,
+ #KCaloryNeed_A_G9 = 2000,
+ KCaloryNeed_lactating = 500,
+ InitialPoorPercentile= 1:20,
+ SectorsNumbers = 1:5,
+ SectorsNames = c("Public","Cooperative","Private","BussP","Agri"),
+ D80LinkSource ="../Data/D80Link.accdb",
+ D80LinkDest =D80LinkDest
+)
+write(as.yaml(Settings),file = "Settings.yaml")
\ No newline at end of file
diff --git a/R/Archive/June 2020 (removed code files)/prices mean.R b/R/Archive/June 2020 (removed code files)/prices mean.R
new file mode 100644
index 00000000..be592273
--- /dev/null
+++ b/R/Archive/June 2020 (removed code files)/prices mean.R
@@ -0,0 +1,17 @@
+TotalFoodNonDurable[GhandPrice>0,weighted.mean(GhandPrice,Weight)]
+TotalFoodNonDurable[CowMeatPrice>0,weighted.mean(CowMeatPrice,Weight)]
+TotalFoodNonDurable[Loobia_ChitiPrice>0,weighted.mean(Loobia_ChitiPrice,Weight)]
+TotalFoodNonDurable[Fish_North_FreshPrice>0,weighted.mean(Fish_North_FreshPrice,Weight)]
+TotalFoodNonDurable[MacaroniPrice>0,weighted.mean(MacaroniPrice,Weight)]
+TotalFoodNonDurable[Yogurt_PasturizedPrice>0,weighted.mean(Yogurt_PasturizedPrice,Weight)]
+TotalFoodNonDurable[PoultryMeat_MPrice>0,weighted.mean(PoultryMeat_MPrice,Weight)]
+TotalFoodNonDurable[LavashPrice>0,weighted.mean(LavashPrice,Weight)]
+TotalFoodNonDurable[Cheese_PasturizedPrice>0,weighted.mean(Cheese_PasturizedPrice,Weight)]
+TotalFoodNonDurable[Oil_NabatiPrice>0,weighted.mean(Oil_NabatiPrice,Weight)]
+TotalFoodNonDurable[Sabzi_KhordanPrice>0,weighted.mean(Sabzi_KhordanPrice,Weight)]
+TotalFoodNonDurable[SibzaminiPrice>0,weighted.mean(SibzaminiPrice,Weight)]
+TotalFoodNonDurable[Egg_MashinPrice>0,weighted.mean(Egg_MashinPrice,Weight)]
+TotalFoodNonDurable[Milk_PasteurizedPrice>0,weighted.mean(Milk_PasteurizedPrice,Weight)]
+TotalFoodNonDurable[NutsGrams>0,weighted.mean(NutsGrams,Weight)]
+TotalFoodNonDurable[GhandPrice>0,weighted.mean(GhandPrice,Weight)]
+TotalFoodNonDurable[GhandPrice>0,weighted.mean(GhandPrice,Weight)]
diff --git a/R/Archive/June 2020 (removed code files)/realize 97 to 98.R b/R/Archive/June 2020 (removed code files)/realize 97 to 98.R
new file mode 100644
index 00000000..5bf794e7
--- /dev/null
+++ b/R/Archive/June 2020 (removed code files)/realize 97 to 98.R
@@ -0,0 +1,31 @@
+
+cpi97 <- read_excel("C:/Users/pc1/Desktop/cpi97.xlsx")
+cpi97<-as.data.table(cpi97)
+cpi97<-cpi97[Month>0]
+cpi97<-cpi97[,Year:=NULL]
+cpi97<-cpi97[,PeriodYear:=NULL]
+cpi97<-cpi97[,.(FoodDrink_Index,Cigar_Index,Cloth_Index,HouseEnergy_Index,
+ Furniture_Index,Hygiene_Index,Transportation_Index,
+ Communication_Index,Amusement_Index,Hotel_Index,
+ Other_Index,Durable_Index,Total_Index)]
+
+MD<-merge(MD,Index_Dataset,by=c("Month"),all.x=TRUE)
+
+FoodDrink_Index<-219.7
+Cigar_Index<-281.1
+Cloth_Index<-197.8
+HouseEnergy_Index<-155.1
+Furniture_Index<-225.1
+Hygiene_Index<-158.1
+Transportation_Index<-195.9
+Communication_Index<-146.7
+Amusement_Index<-224.5
+Hotel_Index<-182.0
+Other_Index<-199.5
+Durable_Index<-259.2
+Total_Index<-185.1
+
+
+
+
+
diff --git a/R/Archive/June 2020 (removed code files)/tedadshmelin.R b/R/Archive/June 2020 (removed code files)/tedadshmelin.R
new file mode 100644
index 00000000..f7d2c87a
--- /dev/null
+++ b/R/Archive/June 2020 (removed code files)/tedadshmelin.R
@@ -0,0 +1,76 @@
+#Calculations.R
+
+rm(list=ls())
+
+starttime <- proc.time()
+cat("\n\n================ Calculations =====================================\n")
+
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+library(data.table)
+for(year in (Settings$startyear:Settings$endyear)){
+ cat(paste0("\n------------------------------\nYear:",year,"\n"))
+
+ # load data --------------------------------------
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"InitialPoor.rda"))
+
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"HHHouseProperties.rda"))
+
+ MD<-merge(MD,HHHouseProperties)
+
+ SMD <- MD[,.(HHID,Region,HSex,HEduLevel,Decile,HActivityState,ServiceExp,MetrPrice,
+ ServiceExp,FoodExpenditure,Total_Exp_Month,ProvinceCode,car,
+ NewArea,NewArea_Name,Total_Exp_Month_Per_nondurable,TOriginalFoodExpenditure_Per,Total_Exp_Month_nondurable,
+ Weight,MetrPrice,Size,EqSizeOECD)]
+
+
+ #SMD<-SMD[,Total_Exp98:=1.35*Total_Exp_Month_nondurable]
+ SMD<-SMD[,Total_Exp98:=1.35*Total_Exp_Month]
+ SMD<-SMD[,HomePrice98:=ServiceExp*(100/3)*5*1.35]
+
+ WT<-SMD[ (Size==1 & Total_Exp98>40000000) |
+ (Size==2 & Total_Exp98>50000000) |
+ (Size==3 & Total_Exp98>60000000) |
+ (Size==4 & Total_Exp98>70000000) |
+ (Size>=5 & Total_Exp98>80000000)]
+
+
+ HT1<-SMD[ProvinceCode==23 & HomePrice98>12000000000]
+ HT2<-SMD[ProvinceCode!=23 & HomePrice98>9000000000]
+ HT<-rbind(HT1,HT2)
+
+ #HT1<-SMD[ProvinceCode==23 & MetrPrice98>360000]
+ #HT2<-SMD[ProvinceCode!=23 & MetrPrice98>270000]
+ #HT<-rbind(HT1,HT2)
+
+ HousePrice<-HT[,.(HousePrice=sum(Weight*Size)),by=.(Region)]
+ HousePrice2<-HT[,.(HousePrice2=sum(Weight*Size)),by=.(Region,Decile)]
+
+ HighIncome<-WT[,.(HighIncome=sum(Weight*Size)),by=.(Region)]
+ HighIncome2<-WT[,.(HighIncome2=sum(Weight*Size)),by=.(Region,Decile)]
+
+ car<-SMD[car=="True",.(car=sum(Weight*Size)),by=.(Region)]
+ car2<-SMD[car=="True",.(car2=sum(Weight*Size)),by=.(Region,Decile)]
+
+ Active<-SMD[HActivityState=="Employed",.(Active=sum(Weight*Size)),by=.(Region)]
+ Active2<-SMD[HActivityState=="Employed",.(Active2=sum(Weight*Size)),by=.(Region,Decile)]
+
+
+ Having<-merge(HousePrice2,HighIncome2,all = TRUE)
+ Having<-merge(Having,car2,all = TRUE)
+ Having<-merge(Having,Active2,all = TRUE)
+ Having[is.na(Having)] <- 0
+
+ write.csv(HousePrice2,file = "HousePrice2.csv")
+ write.csv(HighIncome2,file = "HighIncome2.csv")
+ write.csv(car2,file = "car2.csv")
+ write.csv(Active2,file = "Active2.csv")
+ write.csv(Having,file = "Having.csv")
+ }
+
+
+endtime <- proc.time()
+cat("\n\n============================\nIt took ")
+cat((endtime-starttime)["elapsed"])
+cat(" seconds")
\ No newline at end of file
diff --git a/R/Archive/June 2020 (removed code files)/tedadshmelin2.R b/R/Archive/June 2020 (removed code files)/tedadshmelin2.R
new file mode 100644
index 00000000..ddbe26f2
--- /dev/null
+++ b/R/Archive/June 2020 (removed code files)/tedadshmelin2.R
@@ -0,0 +1,147 @@
+#Calculations.R
+
+rm(list=ls())
+
+starttime <- proc.time()
+cat("\n\n================ Calculations =====================================\n")
+
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+library(data.table)
+for(year in (Settings$startyear:Settings$endyear)){
+ cat(paste0("\n------------------------------\nYear:",year,"\n"))
+
+ # load data --------------------------------------
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"InitialPoor.rda"))
+
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"HHHouseProperties.rda"))
+
+ MD <- merge(MD,HHHouseProperties)
+
+ load(file = paste0(Settings$HEISProcessedPath,"Y",97,"TbussW2.rda"))
+ load(file = paste0(Settings$HEISProcessedPath,"Y",97,"TAgriW2.rda"))
+
+ MD<-merge(MD,TbussW2,all.x = TRUE)
+ MD<-merge(MD,TAgriW2,all.x = TRUE)
+
+ SMD <- MD[,.(HHID,Region,HSex,HEduLevel,Decile,tenure,HActivityState,ServiceExp,MetrPrice,
+ ServiceExp,FoodExpenditure,Total_Exp_Month,ProvinceCode,car,
+ NewArea,NewArea_Name,Total_Exp_Month_Per_nondurable,TOriginalFoodExpenditure_Per,Total_Exp_Month_nondurable,
+ Weight,MetrPrice,Size,EqSizeOECD,WorkType.x,WorkType.y)]
+ SMD[is.na(SMD)] <- 0
+
+ #SMD<-SMD[,Total_Exp98:=1.35*Total_Exp_Month_nondurable]
+ SMD<-SMD[,Total_Exp98:=1.35*Total_Exp_Month]
+ SMD<-SMD[,HomePrice98:=ServiceExp*(100/3)*5*2]
+
+ WT<-SMD[ (Size==1 & Total_Exp98>40000000) |
+ (Size==2 & Total_Exp98>50000000) |
+ (Size==3 & Total_Exp98>60000000) |
+ (Size==4 & Total_Exp98>70000000) |
+ (Size>=5 & Total_Exp98>80000000) ]
+
+ SMD<-SMD[ ,HighIncome:=ifelse((Size==1 & Total_Exp98>40000000) |
+ (Size==2 & Total_Exp98>50000000) |
+ (Size==3 & Total_Exp98>60000000) |
+ (Size==4 & Total_Exp98>70000000) |
+ (Size>=5 & Total_Exp98>80000000),1,0) ]
+
+ SMD<-SMD[,Size2:=ifelse(Size<5,Size,5)]
+
+
+
+
+ HighIncomeProv<-SMD[,weighted.mean(HighIncome,Weight),by=ProvinceCode]
+ HighIncomeSize<-SMD[,weighted.mean(HighIncome,Weight),by=Size2]
+
+ HT1<-SMD[ProvinceCode==23 & HomePrice98>12000000000]
+ HT2<-SMD[ProvinceCode!=23 & HomePrice98>9000000000]
+ HT <-rbind(HT1,HT2)
+
+ SMD<-SMD[ ,HighHouse:=ifelse((ProvinceCode==23 & HomePrice98>12000000000) |
+ (ProvinceCode!=23 & HomePrice98>9000000000),1,0) ]
+ HighHouseProv<-SMD[,weighted.mean(HighHouse,Weight),by=ProvinceCode]
+ HighHouseDecile<-SMD[,weighted.mean(HighHouse,Weight),by=c("Decile")]
+
+ #HT1<-SMD[ProvinceCode==23 & MetrPrice98>360000]
+ #HT2<-SMD[ProvinceCode!=23 & MetrPrice98>270000]
+ #HT<-rbind(HT1,HT2)
+
+ HousePrice <-HT[,.(HousePrice=sum(Weight*Size))]
+ HousePrice2<-HT[,.(HousePrice2=sum(Weight*Size)),by=.(Region,Decile)]
+
+ HighIncome <-WT[,.(HighIncome=sum(Weight*Size))]
+ HighIncome2<-WT[,.(HighIncome2=sum(Weight*Size)),by=.(Region,Decile)]
+
+ car <-SMD[car=="True",.(car=sum(Weight*Size))]
+ car2<-SMD[car=="True",.(car2=sum(Weight*Size)),by=.(Region,Decile)]
+ car3<-SMD[,weighted.mean(car=="True",Weight),by=.(Decile)]
+
+ Active <-SMD[HActivityState=="Employed",.(Active=sum(Weight*Size))]
+ Active2<-SMD[HActivityState=="Employed",.(Active2=sum(Weight*Size)),by=.(Region,Decile)]
+ Active3<-SMD[,weighted.mean(HActivityState=="Employed",Weight),by=.(Region,Decile)]
+
+ House <-SMD[tenure=="OwnLandandBuilding" | tenure=="Apartment" ,.(House=sum(Weight*Size)),by=.(Decile)]
+ House2<-SMD[tenure=="OwnLandandBuilding" | tenure=="Apartment",.(House2=sum(Weight*Size)),by=.(Region,Decile)]
+ House3<-SMD[,weighted.mean((tenure=="OwnLandandBuilding" | tenure=="Apartment"),Weight),by=.(Region,Decile)]
+
+
+ All3 <-SMD[(tenure=="OwnLandandBuilding" | tenure=="Apartment") & HActivityState=="Employed" & car=="True" ,.(All3=sum(Weight*Size)),by=.(Decile)]
+ All32<-SMD[(tenure=="OwnLandandBuilding" | tenure=="Apartment") & HActivityState=="Employed" & car=="True",.(All32=sum(Weight*Size)),by=.(Region,Decile)]
+ All33<-SMD[,weighted.mean((tenure=="OwnLandandBuilding" | tenure=="Apartment") &
+ HActivityState=="Employed" & car=="True",Weight),
+ by=.(Region,Decile)]
+ All34<-SMD[,weighted.mean((tenure=="OwnLandandBuilding" | tenure=="Apartment") &
+ HActivityState=="Employed" & car=="True",Weight),
+ by=.(ProvinceCode)]
+
+ AllFinal<-SMD[,weighted.mean(((tenure=="OwnLandandBuilding" | tenure=="Apartment") &
+ HActivityState=="Employed" & car=="True"),Weight),
+ by=.(Decile)]
+
+ EmployeeProv<-SMD[,weighted.mean((WorkType.x==4 | WorkType.y==4),Weight),
+ by=.(ProvinceCode)]
+ EmployeeDecile<-SMD[,weighted.mean((WorkType.x==4 | WorkType.y==4),Weight),
+ by=.(Decile)]
+
+
+ TotalProv<-SMD[,weighted.mean(((tenure=="OwnLandandBuilding" | tenure=="Apartment") &
+ HActivityState=="Employed" & car=="True") |
+ (ProvinceCode==23 & HomePrice98>12000000000) |
+ (ProvinceCode!=23 & HomePrice98>9000000000) |
+ (WorkType.x==4 | WorkType.y==4) |
+ (Size==1 & Total_Exp98>40000000) |
+ (Size==2 & Total_Exp98>50000000) |
+ (Size==3 & Total_Exp98>60000000) |
+ (Size==4 & Total_Exp98>70000000) |
+ (Size>=5 & Total_Exp98>80000000),Weight),
+ by=.(ProvinceCode)]
+
+ Totaldecile<-SMD[,weighted.mean(((tenure=="OwnLandandBuilding" | tenure=="Apartment") &
+ HActivityState=="Employed" & car=="True") |
+ (ProvinceCode==23 & HomePrice98>12000000000) |
+ (ProvinceCode!=23 & HomePrice98>9000000000) |
+ (WorkType.x==4 | WorkType.y==4) |
+ (Size==1 & Total_Exp98>40000000) |
+ (Size==2 & Total_Exp98>50000000) |
+ (Size==3 & Total_Exp98>60000000) |
+ (Size==4 & Total_Exp98>70000000) |
+ (Size>=5 & Total_Exp98>80000000),Weight),
+ by=.(Decile)]
+
+
+ Having<-merge(HousePrice2,HighIncome2,all = TRUE)
+ Having<-merge(Having,All32,all = TRUE)
+ Having[is.na(Having)] <- 0
+
+ #write.csv(HousePrice2,file = "HousePrice2.csv")
+ #write.csv(HighIncome2,file = "HighIncome2.csv")
+ #write.csv(Having,file = "Having.csv")
+}
+
+
+endtime <- proc.time()
+cat("\n\n============================\nIt took ")
+cat((endtime-starttime)["elapsed"])
+cat(" seconds")
\ No newline at end of file
diff --git a/R/Archive/June 2020 (removed code files)/testing durable groups.R b/R/Archive/June 2020 (removed code files)/testing durable groups.R
new file mode 100644
index 00000000..76da6b43
--- /dev/null
+++ b/R/Archive/June 2020 (removed code files)/testing durable groups.R
@@ -0,0 +1,319 @@
+
+g1 <- c(`43222`+
+ `43223`+
+ `43224`+
+ `43225`+
+ `53312`+
+ `54044`+
+ `55113`+
+ `56221`+
+ `72415`+
+ `72416`+
+ `72417`+
+ `72422`+
+ `91511`+
+ `91515`+
+ `91516`+
+ `93119`+
+ `93121`+
+ `93122`+
+ `93124`+
+ `93125`+
+ `93126`+
+ `93411`+
+ `93412`+
+ `93414`+
+ `93416`+
+ `93417`+
+ `95111`+
+ `95112`+
+ `95113`+
+ `95114`+
+ `95115`+
+ `95121`+
+ `95125`+
+ `96111`+
+ `96112`+
+ `96113`+
+ `96114`+
+ `101111`+
+ `101112`+
+ `101113`+
+ `101114`+
+ `101115`+
+ `102111`+
+ `102112`+
+ `102113`+
+ `102114`+
+ `102211`+
+ `102212`+
+ `102213`+
+ `102214`+
+ `102215`+
+ `103111`+
+ `103112`+
+ `103113`+
+ `103114`+
+ `103115`+
+ `103116`+
+ `104111`+
+ `104112`+
+ `104113`+
+ `104114`+
+ `104115`+
+ `105111`+
+ `105112`+
+ `105113`+
+ `105114`+
+ `105115`+
+ `124113`+
+ `125111`+
+ `125112`+
+ `125113`+
+ `125114`+
+ `125115`+
+ `125116`+
+ `125117`+
+ `125118`+
+ `125119`+
+ `125121`+
+ `125211`+
+ `125212`+
+ `125311`+
+ `125312`+
+ `125313`+
+ `125314`+
+ `125315`+
+ `125316`+
+ `125317`+
+ `125411`+
+ `125412`+
+ `125413`+
+ `125511`+
+ `126111`+
+ `126112`+
+ `126211`+
+ `126212`+
+ `127111`+
+ `127113`+
+ `127114`+
+ `127115`+
+ `127116`+
+ `127117`+
+ `127118`+
+ `127119`+
+ `127121`+
+ `127122`+
+ `127123`+
+ `127124`+
+ `127125`+
+ `127126`+
+ `127127`+
+ `127128`+
+ `127132`+
+ `127134`+
+ `127136`+
+ `127137`+
+ `139111`+
+ `139112`+
+ `139113`+
+ `139114`+
+ `139115`+
+ `139116`+
+ `139211`+
+ `139212`+
+ `139213`+
+ `139214`+
+ `139215`+
+ `139216`+
+ `139217`)
+
+g2 <- c(`53111`+
+ `53112`+
+ `53113`+
+ `53116`+
+ `53125`+
+ `53129`+
+ `53132`+
+ `53216`+
+ `71111`+
+ `71112`+
+ `71116`+
+ `71117`+
+ `71211`+
+ `71311`+
+ `71312`+
+ `72111`+
+ `72118`+
+ `72119`+
+ `82111`+
+ `82113`+
+ `91111`+
+ `91117`+
+ `91122`+
+ `91128`+
+ `91129`+
+ `91311`)
+
+g3 <- c(`31231`+
+ `31243`+
+ `31315`+
+ `31413`+
+ `43111`+
+ `43112`+
+ `43113`+
+ `43114`+
+ `43117`+
+ `43118`+
+ `43121`+
+ `43122`+
+ `43124`+
+ `43125`+
+ `43126`+
+ `43127`+
+ `43129`+
+ `43131`+
+ `43132`+
+ `43134`+
+ `43135`+
+ `43211`+
+ `43212`+
+ `43213`+
+ `43214`+
+ `43215`+
+ `43216`+
+ `43217`+
+ `43218`+
+ `43219`+
+ `51141`+
+ `51142`+
+ `51143`+
+ `51153`+
+ `51154`+
+ `51156`+
+ `51158`+
+ `51159`+
+ `51161`+
+ `51171`+
+ `51172`+
+ `51173`+
+ `51174`+
+ `51175`+
+ `51211`+
+ `51212`+
+ `51213`+
+ `51214`+
+ `51215`+
+ `51311`+
+ `51312`+
+ `53115`+
+ `53117`+
+ `53118`+
+ `53119`+
+ `53121`+
+ `53134`+
+ `53135`+
+ `53138`+
+ `53139`+
+ `53141`+
+ `53211`+
+ `53212`+
+ `53213`+
+ `53214`+
+ `53225`+
+ `53311`+
+ `54022`+
+ `54023`+
+ `54025`+
+ `54045`+
+ `55111`+
+ `55112`+
+ `71314`+
+ `72113`+
+ `72117`+
+ `72122`+
+ `72123`+
+ `72127`+
+ `72131`+
+ `72132`+
+ `72133`+
+ `72135`+
+ `72137`+
+ `72139`+
+ `72141`+
+ `72142`+
+ `72311`+
+ `72319`+
+ `72321`+
+ `72323`+
+ `72413`+
+ `72414`+
+ `72421`+
+ `82112`+
+ `82117`+
+ `91119`+
+ `91121`+
+ `91125`+
+ `91126`+
+ `91127`+
+ `91212`+
+ `91224`+
+ `91225`+
+ `91312`+
+ `91313`+
+ `91315`+
+ `91316`+
+ `91317`+
+ `91319`+
+ `91325`+
+ `92122`+
+ `92211`+
+ `92213`+
+ `92214`+
+ `92313`+
+ `93118`+
+ `93127`+
+ `93129`+
+ `93212`+
+ `93213`+
+ `93214`+
+ `93216`+
+ `93218`+
+ `93219`+
+ `93223`+
+ `93224`+
+ `93226`+
+ `93228`+
+ `93229`+
+ `93233`+
+ `93235`+
+ `93315`+
+ `93316`+
+ `123111`+
+ `123112`+
+ `123113`+
+ `123121`+
+ `123122`+
+ `123131`+
+ `123133`+
+ `123134`+
+ `123224`+
+ `123225`)
+
+g4 <- c(`61211`+
+ `61214`+
+ `62124`+
+ `62125`+
+ `62126`+
+ `62127`+
+ `63141`+
+ `63142`+
+ `63143`+
+ `63144`+
+ `63145`+
+ `63146`+
+ `63147`+
+ `63148`+
+ `63149`+
+ `63151`+
+ `63152`)
\ No newline at end of file
diff --git a/R/Archive/June 2020 (removed code files)/x-runAll.R b/R/Archive/June 2020 (removed code files)/x-runAll.R
new file mode 100644
index 00000000..644d4661
--- /dev/null
+++ b/R/Archive/June 2020 (removed code files)/x-runAll.R
@@ -0,0 +1,4 @@
+rfiles <- dir(pattern = glob2rx("*.R"))
+rfiles
+for(f in rfiles[15:21])
+ source(f)
diff --git a/R/Archive/MedianCalculations.R b/R/Archive/MedianCalculations.R
new file mode 100644
index 00000000..921a643e
--- /dev/null
+++ b/R/Archive/MedianCalculations.R
@@ -0,0 +1,79 @@
+rm(list=ls())
+starttime <- proc.time()
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+library(readxl)
+library(spatstat)
+library(data.table)
+
+for(year in (Settings$startyear:Settings$endyear)){
+ cat(paste0("\n------------------------------\nYear:",year,"\n"))
+
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"InitialPoorClustered.rda"))
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"BigFData.rda"))
+ inflation <- read_excel("~/GitHub/IRHEIS/Data/inflation.xlsx")
+
+ Bfd2 <- data.table(expand.grid(HHID=MD$HHID,FoodType=unique(BigFData$FoodType)))
+ Bfd2 <- merge(Bfd2,BigFData,all.x = TRUE)
+ Bfd2 <- merge(Bfd2,MD[,.(HHID,Region,Weight,Size,
+ EqSizeCalory)],by="HHID")
+ Bfd2[is.na(Bfd2)]<-0
+ Bfd2[Price<0.1,Price:=NA]
+
+ MD<-MD[order(FoodKCaloriesHH_Per)]
+ C<-as.data.table(MD[,weighted.median(FoodKCaloriesHH_Per,Weight*Size)])
+ C<-C[,Year:=year]
+
+ Bfd2<-Bfd2[FoodType=="Meat"]
+ Bfd2<-Bfd2[order(FGrams)]
+ Meat<-as.data.table(Bfd2[,weighted.median(FGrams/EqSizeCalory,Weight*Size)])
+ Meat<-Meat[,Year:=year]
+
+ Bfd2 <- Bfd2[,crw:=cumsum(Weight*Size)/sum(Weight*Size)] # Cumulative Relative Weight
+ Bfd2 <- Bfd2[,Decile:=cut(crw,breaks = seq(0,1,.1),labels = 1:10)]
+ BaseYearBasket <-as.data.table(Bfd2[Decile==5 | Decile==6,weighted.mean(FGrams/EqSizeCalory,Weight*Size)])
+ BaseYearBasket<-BaseYearBasket[,Year:=year]
+ Calory<-MD[,weighted.mean(FoodKCaloriesHH_Per,Weight*Size),by=c("Decile")]
+ Calory<-Calory[,Year:=year]
+
+ MD<-MD[order(Total_Exp_Month_Per)]
+ MD <- MD[,crw:=cumsum(Weight*Size)/sum(Weight*Size)] # Cumulative Relative Weight
+ MD <- MD[,Decile:=cut(crw,breaks = seq(0,1,.1),labels = 1:10)]
+ EXP<-as.data.table(MD[Decile==5 | Decile==6,weighted.mean(Total_Exp_Month_Per)])
+ EXP<-EXP[,Year:=year]
+
+ MD<-MD[order(FoodKCaloriesHH_Per)]
+ MD <- MD[,crw:=cumsum(Weight*Size)/sum(Weight*Size)] # Cumulative Relative Weight
+
+ MD <- MD[,Decile:=cut(crw,breaks = seq(0,1,.1),labels = 1:10)]
+ Calory<-as.data.table(MD[Decile==5 | Decile==6,weighted.mean(FoodKCaloriesHH_Per)])
+ Calory<-Calory[,Year:=year]
+
+ MD<-MD[order(Total_Exp_Month_Per)]
+ MedianEXP<-as.data.table(MD[,weighted.median(Total_Exp_Month_Per,Weight*Size)])
+ MedianEXP<-MedianEXP[,Year:=year]
+ if (year==90){
+ BASKET<-BaseYearBasket
+ CALORY<-Calory
+ Cal<-C
+ EXPenditure<-EXP
+ MEAT<-Meat
+ medEXP<-MedianEXP
+ }else{
+ medEXP<-rbind(medEXP,MedianEXP)
+ BASKET<-rbind(BASKET,BaseYearBasket)
+ CALORY<-rbind(CALORY,Calory)
+ Cal<-rbind(Cal,C)
+ EXPenditure<-rbind(EXPenditure,EXP)
+ MEAT<-rbind(MEAT,Meat)
+ }
+}
+medEXP<-merge(medEXP,inflation,by=c("Year"))
+medEXP<-medEXP[,RealEXP:=V1/CPI]
+
+EXPenditure<-merge(EXPenditure,inflation,by=c("Year"))
+EXPenditure<-EXPenditure[,RealEXP:=V1/CPI]
+
+endtime <- proc.time()
+cat("\n\n============================\nIt took",
+ (endtime-starttime)["elapsed"]," seconds")
diff --git a/R/Archive/MedianCalculations2.R b/R/Archive/MedianCalculations2.R
new file mode 100644
index 00000000..003bbf9b
--- /dev/null
+++ b/R/Archive/MedianCalculations2.R
@@ -0,0 +1,89 @@
+rm(list=ls())
+starttime <- proc.time()
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+library(readxl)
+library(spatstat)
+library(data.table)
+
+for(year in (Settings$startyear:Settings$endyear)){
+ cat(paste0("\n------------------------------\nYear:",year,"\n"))
+
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"InitialPoorClustered.rda"))
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"BigFData.rda"))
+ #inflation <- read_excel("~/GitHub/IRHEIS/Data/inflation.xlsx")
+ inflation <- read_excel("inflation.xlsx")
+
+ Bfd2 <- data.table(expand.grid(HHID=MD$HHID,FoodType=unique(BigFData$FoodType)))
+ Bfd2 <- merge(Bfd2,BigFData,all.x = TRUE)
+ Bfd2 <- merge(Bfd2,MD[,.(HHID,Region,Weight,Size,
+ EqSizeCalory)],by="HHID")
+ Bfd2[is.na(Bfd2)]<-0
+ Bfd2[Price<0.1,Price:=NA]
+
+ MD<-MD[order(FoodKCaloriesHH_Per)]
+ C<-as.data.table(MD[,weighted.median(FoodKCaloriesHH_Per,Weight*Size)])
+ C<-C[,Year:=year]
+
+ Bfd2<-Bfd2[FoodType=="Meat"]
+ Bfd2<-Bfd2[order(FGrams)]
+ Meat<-as.data.table(Bfd2[,weighted.mean(FGrams/EqSizeCalory,Weight*Size)])
+ Meat<-Meat[,Year:=year]
+
+ Bfd2 <- Bfd2[,crw:=cumsum(Weight*Size)/sum(Weight*Size)] # Cumulative Relative Weight
+ Bfd2 <- Bfd2[,Decile:=cut(crw,breaks = seq(0,1,.1),labels = 1:10)]
+ BaseYearBasket <-as.data.table(Bfd2[Decile==5 | Decile==6,weighted.mean(FGrams/EqSizeCalory,Weight*Size)])
+ #BaseYearBasket <-as.data.table(Bfd2[,weighted.mean(FGrams/EqSizeCalory,Weight*Size)])
+ BaseYearBasket<-BaseYearBasket[,Year:=year]
+ Calory<-MD[,weighted.mean(FoodKCaloriesHH_Per,Weight*Size),by=c("Decile")]
+ Calory<-Calory[,Year:=year]
+
+ MD<-MD[order(Total_Exp_Month_Per)]
+ MD <- MD[,crw:=cumsum(Weight*Size)/sum(Weight*Size)] # Cumulative Relative Weight
+ MD <- MD[,Decile:=cut(crw,breaks = seq(0,1,.1),labels = 1:10)]
+ EXP<-as.data.table(MD[Decile==5 | Decile==6,weighted.mean(Total_Exp_Month_Per,Weight)])
+ #EXP<-as.data.table(MD[,weighted.mean(Total_Exp_Month_Per,Weight)])
+ EXP<-EXP[,Year:=year]
+
+ MD<-MD[order(FoodKCaloriesHH_Per)]
+ MD <- MD[,crw:=cumsum(Weight*Size)/sum(Weight*Size)] # Cumulative Relative Weight
+
+ MD <- MD[,Decile:=cut(crw,breaks = seq(0,1,.1),labels = 1:10)]
+ Calory<-as.data.table(MD[Decile==5 | Decile==6,weighted.mean(FoodKCaloriesHH_Per)])
+ #Calory<-as.data.table(MD[,weighted.mean(FoodKCaloriesHH_Per)])
+ Calory<-Calory[,Year:=year]
+
+ MD<-MD[order(Total_Exp_Month_Per)]
+ MedianEXP<-as.data.table(MD[,weighted.median(Total_Exp_Month_Per,Weight*Size)])
+ MedianEXP<-MedianEXP[,Year:=year]
+ if (year==Settings$startyear){
+ BASKET<-BaseYearBasket
+ CALORY<-Calory
+ Cal<-C
+ EXPenditure<-EXP
+ MEAT<-Meat
+ medEXP<-MedianEXP
+ }else{
+ medEXP<-rbind(medEXP,MedianEXP)
+ BASKET<-rbind(BASKET,BaseYearBasket)
+ CALORY<-rbind(CALORY,Calory)
+ Cal<-rbind(Cal,C)
+ EXPenditure<-rbind(EXPenditure,EXP)
+ MEAT<-rbind(MEAT,Meat)
+ }
+
+ cat(Bfd2[,weighted.mean(FGrams>0,Weight)],"\t")
+ Bfd2[,Decile:=NULL]
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"Deciles.rda"))
+ Bfd2<-merge(Bfd2,Decile,by="HHID")
+Bfd2[,weighted.mean(FGrams/EqSizeCalory,Weight),by="Decile"][order(Decile)]
+}
+medEXP<-merge(medEXP,inflation,by=c("Year"))
+medEXP<-medEXP[,RealEXP:=V1/CPI*100]
+
+EXPenditure<-merge(EXPenditure,inflation,by=c("Year"))
+EXPenditure<-EXPenditure[,RealEXP:=V1/CPI*100]
+
+endtime <- proc.time()
+cat("\n\n============================\nIt took",
+ (endtime-starttime)["elapsed"]," seconds")
diff --git a/R/Archive/MedianCalculations3.R b/R/Archive/MedianCalculations3.R
new file mode 100644
index 00000000..8bb2af2e
--- /dev/null
+++ b/R/Archive/MedianCalculations3.R
@@ -0,0 +1,125 @@
+rm(list=ls())
+starttime <- proc.time()
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+library(readxl)
+library(spatstat)
+library(data.table)
+year<-98
+for(year in (Settings$startyear:Settings$endyear)){
+ cat(paste0("\n------------------------------\nYear:",year,"\n"))
+
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"InitialPoorClustered.rda"))
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"BigFData.rda"))
+ #inflation <- read_excel("~/GitHub/IRHEIS/Data/inflation.xlsx")
+ inflation <- read_excel("inflation.xlsx")
+ MD<-MD[,Decile:=NULL]
+ load(file = paste0(Settings$HEISProcessedPath,"Y",year,"Deciles.rda"))
+ MD<-merge(MD,Decile,by="HHID")
+
+
+ Bfd2 <- data.table(expand.grid(HHID=MD$HHID,FoodType=unique(BigFData$FoodType)))
+ Bfd2 <- merge(Bfd2,BigFData,all.x = TRUE)
+ Bfd2 <- merge(Bfd2,MD[,.(HHID,Region,Weight,Size,
+ EqSizeCalory)],by="HHID")
+ Bfd2[is.na(Bfd2)]<-0
+ Bfd2[Price<0.1,Price:=NA]
+
+ # MD<-MD[order(TFoodKCaloriesHH_Per)]
+ # C<-as.data.table(MD[,weighted.median(TFoodKCaloriesHH_Per,Weight*Size)])
+ # C<-C[,Year:=year]
+
+ Bfd2<-Bfd2[FoodType=="Bread",.(HHID,FoodType,FGrams,EqSizeCalory,Weight,Size)]
+ Bfd2 <- Bfd2[,lapply(.SD,sum),by=c("HHID"),.SDcols=c("FGrams")]
+ #load(file=paste0(Settings$HEISProcessedPath,"Y",year,"Deciles_Nonreal.rda"))
+# Bfd2<-merge(Bfd2,NRMD,by=c("HHID"),all.x =TRUE)
+ Bfd2<-merge(MD[,.(HHID,Size,EqSizeCalory,Weight,Decile)],Bfd2,all.x=TRUE,by="HHID")
+ Bread<-as.data.table(Bfd2[,weighted.mean(FGrams,Weight*Size)])
+ Bread<-Bread[,Year:=year]
+ if (year==Settings$startyear){
+BREAD<-Bread
+ }else{
+ BREAD<-rbind(BREAD,Bread)
+ }
+
+
+
+
+
+ Meat<-Bfd2[,.(HHID,FGrams)]
+ save(Meat,file=paste0(Settings$HEISProcessedPath,"Y",year,"Laban.rda"))
+ # masraf<-Bfd2[,weighted.mean(FGrams,Weight),by=c("Decile_NonReal","FoodType")]
+ # masraf2<- data.table(expand.grid(masraf$FoodType,Decile=unique(masraf$Decile)))
+
+ Bfd2<-Bfd2[order(FGrams)]
+ Meat<-as.data.table(Bfd2[,weighted.mean(FGrams/EqSizeCalory,Weight*Size)])
+ Meat<-Meat[,Year:=year]
+
+ Bfd2 <- Bfd2[,crw:=cumsum(Weight*Size)/sum(Weight*Size)] # Cumulative Relative Weight
+ Bfd2 <- Bfd2[,Decile:=cut(crw,breaks = seq(0,1,.1),labels = 1:10)]
+ BaseYearBasket <-as.data.table(Bfd2[,weighted.mean(FGrams/EqSizeCalory,Weight*Size)])
+ #BaseYearBasket <-as.data.table(Bfd2[,weighted.mean(FGrams/EqSizeCalory,Weight*Size)])
+ BaseYearBasket<-BaseYearBasket[,Year:=year]
+ Calory<-MD[,weighted.mean(TFoodKCaloriesHH_Per,Weight*Size),by=c("Decile")]
+ Calory<-Calory[,Year:=year]
+
+ MD<-MD[order(Total_Exp_Month_Per_nondurable)]
+ MD <- MD[,crw:=cumsum(Weight*Size)/sum(Weight*Size)] # Cumulative Relative Weight
+ MD <- MD[,Decile:=cut(crw,breaks = seq(0,1,.1),labels = 1:10)]
+ EXP<-as.data.table(MD[,weighted.mean(Total_Exp_Month_Per_nondurable,Weight)])
+ #EXP<-as.data.table(MD[,weighted.mean(Total_Exp_Month_Per_nondurable,Weight)])
+ EXP<-EXP[,Year:=year]
+
+
+ MD[,Decile:=NULL]
+
+ MD<-MD[order(TFoodKCaloriesHH_Per)]
+ MD <- MD[,crw:=cumsum(Weight*Size)/sum(Weight*Size)] # Cumulative Relative Weight
+
+ MD <- MD[,Decile:=cut(crw,breaks = seq(0,1,.1),labels = 1:10)]
+ Calory<-as.data.table(MD[,weighted.mean(TFoodKCaloriesHH_Per)])
+ #Calory<-as.data.table(MD[,weighted.mean(FoodKCaloriesHH_Per)])
+ Calory<-Calory[,Year:=year]
+
+ MD<-MD[order(Total_Exp_Month_Per_nondurable)]
+ MedianEXP<-as.data.table(MD[,weighted.median(Total_Exp_Month_Per_nondurable,Weight*Size)])
+ MedianEXP<-MedianEXP[,Year:=year]
+ # if (year==90){
+ # BASKET<-BaseYearBasket
+ # CALORY<-Calory
+ # Cal<-C
+ # EXPenditure<-EXP
+ ## MEAT<-Meat
+ # medEXP<-MedianEXP
+# }else{
+ #medEXP<-rbind(medEXP,MedianEXP)
+ #BASKET<-rbind(BASKET,BaseYearBasket)
+ #CALORY<-rbind(CALORY,Calory)
+ #Cal<-rbind(Cal,C)
+ #EXPenditure<-rbind(EXPenditure,EXP)
+ #MEAT<-rbind(MEAT,Meat)
+ # }
+
+ cat(Bfd2[,weighted.mean(FGrams>0,Weight)],"\t")
+ Bfd2[,Decile:=NULL]
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"Deciles1.rda"))
+ # if (year==98){
+ # Decile[,Decile:=Decile1]
+ #}
+ Bfd2<-merge(Bfd2,Decile,by=c("HHID"))
+ Bfd2[,weighted.mean(FGrams/EqSizeCalory,Weight*Size),by="Decile"][order(Decile)]
+ MD<-MD[,Decile:=NULL]
+ MD<-merge(MD,Decile,by=c("HHID"))
+ MD[,weighted.mean(Total_Exp_Month_Per_nondurable,Weight*Size),by="Decile"][order(Decile)]
+ MD[,weighted.mean(TFoodKCaloriesHH_Per,Weight*Size),by="Decile"][order(Decile)]
+
+}
+#medEXP<-merge(medEXP,inflation,by=c("Year"))
+#medEXP<-medEXP[,RealEXP:=V1/CPI*100]
+
+#EXPenditure<-merge(EXPenditure,inflation,by=c("Year"))
+#EXPenditure<-EXPenditure[,RealEXP:=V1/CPI*100]
+
+endtime <- proc.time()
+cat("\n\n============================\nIt took",
+ (endtime-starttime)["elapsed"]," seconds")
diff --git a/R/Archive/Medical Premium.R b/R/Archive/Medical Premium.R
new file mode 100644
index 00000000..4666345f
--- /dev/null
+++ b/R/Archive/Medical Premium.R
@@ -0,0 +1,43 @@
+# 111-HHBase.R
+# Builds the base data.table for households
+
+rm(list=ls())
+
+starttime <- proc.time()
+cat("\n\n================ Bime =====================================\n")
+
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+#library(foreign)
+library(data.table)
+library(stringr)
+library(ggplot2)
+
+
+for(year in (Settings$startyear:Settings$endyear)){
+ cat(paste0("\n------------------------------\nYear:",year,"\n"))
+
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"FINALPOORS.rda"))
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"Total2.rda"))
+ MD<-merge(MD,Total[,.(HHID,G01,G02,G03,G04,G05,G06,G07,G08,G09,G101,
+ G102,G103,G104,G105,G11,G12,G13,G041,G042,G044,G045,
+ G0451,G0452,G0453,G0454,Subsidy,G125,G1253,G1251)],by="HHID")
+ MD[,Decile:=NULL]
+
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"Deciles.rda"))
+ if (year==98){
+ names(Deciles)<-c("HHID","Decile","Percentile")
+ }
+
+ MD<-merge(MD,Deciles,by="HHID")
+
+
+}
+
+x<-MD[,weighted.mean(G1251>0,Weight),by=Decile]
+
+
+
+endtime <- proc.time()
+cat("\n\n============================\nIt took",(endtime-starttime)["elapsed"],"seconds")
\ No newline at end of file
diff --git a/R/Archive/November 2019/113-Demo.R b/R/Archive/November 2019/113-Demo.R
new file mode 100644
index 00000000..4492d27a
--- /dev/null
+++ b/R/Archive/November 2019/113-Demo.R
@@ -0,0 +1,529 @@
+# 113-Demo.R
+# Builds the demographics information data.table for households
+#
+# Copyright © 2016: Majid Einian
+# Licence: GPL-3
+rm(list=ls())
+
+starttime <- proc.time()
+cat("\n\n================ Demo =====================================\n")
+
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+library(readxl)
+library(data.table)
+library(stringr)
+library(plotrix)
+library(Hmisc)
+library(haven)
+library(sm)
+library(gridExtra)
+#P1<-P1[,`:=`(Dimension=.N),by=.(HHID)]
+
+P1Cols <- data.table(read_excel(Settings$MetaDataFilePath, Settings$MDS_P1Cols))
+
+EduCodesA <- data.table(read_excel(Settings$MetaDataFilePath,Settings$MDS_EC_A))
+EduCodesB <- data.table(read_excel(Settings$MetaDataFilePath,Settings$MDS_EC_B))
+EduCodesC <- data.table(read_excel(Settings$MetaDataFilePath,Settings$MDS_EC_C))
+EduCodesD <- data.table(read_excel(Settings$MetaDataFilePath,Settings$MDS_EC_D))
+
+years <- Settings$startyear:Settings$endyear
+
+for(year in years){
+ cat(paste0("\n------------------------------\nYear:",year,"\n"))
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"HHBase.rda"))
+ load(file=paste0(Settings$HEISRawPath,"Y",year,"Raw.rda"))
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"lactating.rda"))
+ if(year<=84){
+ EduCodeT <- EduCodesA
+ }else if(year %in% 85:92){
+ EduCodeT <- EduCodesB
+ }else if(year %in% 93:96){
+ EduCodeT <- EduCodesC
+ }else{
+ EduCodeT <- EduCodesD
+ }
+
+ P1 <- rbind(Tables[[paste0("R",year,"P1")]],Tables[[paste0("U",year,"P1")]])
+ nP1 <- names(P1)
+ if(length(which(sapply(P1, is.character)))>0){
+ P1c <- P1[,lapply(.SD,iconv,"WINDOWS-1252","UTF-8"), .SDcols=sapply(P1,is.character)]
+ P1nc <- P1[,!sapply(P1,is.character),with=FALSE]
+ P1 <- cbind(P1c,P1nc)[,nP1,with=FALSE]
+ }
+
+ a <- unlist(P1Cols[P1Cols$Year==year,])
+ ind <- which(!is.na(a))[-1]
+ setnames(P1,a[ind],names(a[ind]))
+
+ f <- function(x){as.numeric(str_trim(x))}
+ P1 <- P1[, lapply(.SD, f)] # , .SDcols=which(sapply(P1, class)=="character")]
+
+
+ P1[is.na(Age),Age:=0L]
+ P1[,Relationship :=factor(Relationship, levels=1:9,
+ labels=c("Head","Spouse","Child","Child-in-Law",
+ "Grand-Child","Parent","Sister/Brother",
+ "Other Family","Non-Family"))]
+
+ P1[,Sex := factor(Sex, levels=1:2,
+ labels=c("Male","Female"))]
+
+ P1<-P1[Sex=="Male" | Sex=="Female"]
+
+ if(year %in% 63:64){
+ P1[,Literate:=LitState<=3]
+ }else if(year %in% 65:68){
+ P1[,Literate:=LitState<=2]
+ }else{
+ P1[,Literate:=Literate==1]
+ }
+
+ if(year %in% 63:68){
+ P1[,Student:=LitState==1]
+ }else{
+ P1[,Student:=Student==1]
+ }
+
+ P1[,EduYears:=EduCodeT$yoe[match(EduCode,EduCodeT$Code)]]
+ P1$EduYears[P1$Literate==FALSE] <- 0
+ P1[,EduLevel:=cut(EduYears,breaks=c(-1,0,6,12,22),
+ labels= c("Illiterate","Primary","Secondary","University"))]
+ P1[,EduLevel0:=cut(EduYears,breaks=c(-1,0,6,9,11,12,22),
+ labels= c("Illiterate","Elementary","Middle","High","Pre","University"))]
+
+ P1[,ActivityState:=as.numeric(substr(as.character(ActivityState),1,1))]
+
+ if(year %in% 63:64){
+ P1[,ActivityState:=factor(ActivityState,1:9,
+ c("Employed","Seasonal Unemployed","Income without Work",
+ "Unemployed","Student","Housekeeper","Unemployed Not Looking for Job",
+ "Other","Former Member"))]
+ levels(P1$ActivityState) <- c(c("Employed","Unemployed","Income without Work",
+ "Unemployed","Student","Housekeeper","Other",
+ "Other","Other"))
+ }else if(year %in% 65:68){
+ P1[,ActivityState:=factor(ActivityState,1:8,
+ c("Employed","Seasonal Unemployed","Income without Work",
+ "Unemployed","Student","Housekeeper",
+ "Other","Former Member"))]
+ levels(P1$ActivityState) <- c(c("Employed","Unemployed","Income without Work",
+ "Unemployed","Student","Housekeeper","Other",
+ "Other"))
+ }else{
+ P1[,ActivityState:=factor(ActivityState,1:6,
+ c("Employed","Unemployed","Income without Work",
+ "Student","Housekeeper","Other"))]
+ }
+
+ if(year %in% 66:68){
+ P1[,MarritalState:=factor(NA,1:4,
+ c("Married","Widowed","Divorced","Bachelor"))]
+ }else{
+ P1[,MarritalState:=factor(MarritalState,1:4,
+ c("Married","Widowed","Divorced","Bachelor"))]
+ }
+
+
+
+
+ P <- copy(P1)
+
+ P <- P[order(P$HHID),]
+
+ # B <- P[P[Age>=10,.SD,#.I[TotalIncome==max(TotalIncome)],
+ # by=HHID][,V1]][,c("HHID","IndivNo","Sex","Age",
+ # "Literate","Student",#"EduYears","EduLevel",
+ # "ActivityState","MarritalState"),with=FALSE]
+ B <- P[IndivNo==1]
+ setnames(B,2:length(B),sapply(X=names(B)[2:length(B)],function(X){paste("H",X,sep="")}))
+ B <- B[order(HHID,HIndivNo)]
+ B <- B[!duplicated(B$HHID),]
+
+ B[,HEmployed:=HActivityState=="Employed"]
+ B[,HUnemployed:=HActivityState=="Unemployed"]
+ B[,HIncomeWOWork:=HActivityState=="Income without Work"]
+
+ B <- B[!is.na(HActivityState) & !is.na(HLiterate)]
+
+
+ P[,Size:=1]
+ P[,Kids:=ifelse(Relationship=="Child",1,0)]
+ P[,NKids:=ifelse(Age<15,1,0)]
+ P[,NInfants:=ifelse(Age<=2,1,0)]
+ P[,NSmallKids:=ifelse(Age>=3 & Age<=13, 1, 0)]
+
+ P[,NElementary:= ifelse(EduLevel0=="Elementary" & Student==TRUE,1,0)]
+ P[,NMiddle:= ifelse(EduLevel0=="Middle" & Student==TRUE,1,0)]
+ P[,NHigh:= ifelse(EduLevel0=="High" & Student==TRUE,1,0)]
+ P[,NPre:= ifelse(EduLevel0=="Pre" & Student==TRUE,1,0)]
+
+ #Age Groups 1
+ P[,NAge1B:=ifelse(Age==0 & Sex=="Male",1,0)]
+ P[,NAge1G:=ifelse(Age==0 & Sex=="Female",1,0)]
+ P[,NAge2B:=ifelse(Age==1 & Sex=="Male",1,0)]
+ P[,NAge2G:=ifelse(Age==1 & Sex=="Female",1,0)]
+ P[,NAge3B:=ifelse(Age==2 & Sex=="Male",1,0)]
+ P[,NAge3G:=ifelse(Age==2 & Sex=="Female",1,0)]
+ P[,NAge4B:=ifelse(Age==3 & Sex=="Male",1,0)]
+ P[,NAge4G:=ifelse(Age==3 & Sex=="Female",1,0)]
+ P[,NAge5B:=ifelse(Age==4 & Sex=="Male",1,0)]
+ P[,NAge5G:=ifelse(Age==4 & Sex=="Female",1,0)]
+ P[,NAge6B:=ifelse(Age<=9 & Age>4 & Sex=="Male",1,0)]
+ P[,NAge6G:=ifelse(Age<=9 & Age>4 & Sex=="Female",1,0)]
+ P[,NAge7B:=ifelse(Age<=14 & Age>9 & Sex=="Male",1,0)]
+ P[,NAge7G:=ifelse(Age<=14 & Age>9 & Sex=="Female",1,0)]
+ P[,NAge8B:=ifelse(Age<=19 & Age>14 & Sex=="Male",1,0)]
+ P[,NAge8G:=ifelse(Age<=19 & Age>14 & Sex=="Female",1,0)]
+ P[,NAge9B:=ifelse(Age<=59 & Age>19 & Sex=="Male",1,0)]
+ P[,NAge9G:=ifelse(Age<=59 & Age>19 & Sex=="Female",1,0)]
+ P[,NAge10B:=ifelse(Age>59 & Sex=="Male",1,0)]
+ P[,NAge10G:=ifelse(Age>59 & Sex=="Female",1,0)]
+
+ #Age Groups 2
+ P[,NAge1_A_B:=ifelse(Age==0 & Sex=="Male",1,0)]
+ P[,NAge1_A_G:=ifelse(Age==0 & Sex=="Female",1,0)]
+ P[,NAge2_A_B:=ifelse(Age==1 & Sex=="Male",1,0)]
+ P[,NAge2_A_G:=ifelse(Age==1 & Sex=="Female",1,0)]
+ P[,NAge3_A_B:=ifelse(Age>=2 & Age<=3 & Sex=="Male",1,0)]
+ P[,NAge3_A_G:=ifelse(Age>=2 & Age<=3 & Sex=="Female",1,0)]
+ P[,NAge4_A_B:=ifelse(Age>=4 & Age<=5 & Sex=="Male",1,0)]
+ P[,NAge4_A_G:=ifelse(Age>=4 & Age<=5 & Sex=="Female",1,0)]
+ P[,NAge5_A_B:=ifelse(Age<=11 & Age>=6 & Sex=="Male",1,0)]
+ P[,NAge5_A_G:=ifelse(Age<=11 & Age>=6 & Sex=="Female",1,0)]
+ P[,NAge6_A_B:=ifelse(Age<=17 & Age>=12 & Sex=="Male",1,0)]
+ P[,NAge6_A_G:=ifelse(Age<=17 & Age>=12 & Sex=="Female",1,0)]
+ P[,NAge7_A_B:=ifelse(Age<=29 & Age>=18 & Sex=="Male",1,0)]
+ P[,NAge7_A_G:=ifelse(Age<=29 & Age>=18 & Sex=="Female",1,0)]
+ P[,NAge8_A_B:=ifelse(Age<=60 & Age>=30 & Sex=="Male",1,0)]
+ P[,NAge8_A_G:=ifelse(Age<=60 & Age>=30 & Sex=="Female",1,0)]
+ P[,NAge9_A_B:=ifelse(Age>60 & Sex=="Male",1,0)]
+ P[,NAge9_A_G:=ifelse(Age>60 & Sex=="Female",1,0)]
+ P<- merge(P,lactating,by="HHID",all.x = TRUE)
+ P[,Calorie_Need1:=NAge1B*Settings$KCaloryNeed_B1+
+ NAge2B*Settings$KCaloryNeed_B2+
+ NAge3B*Settings$KCaloryNeed_B3+
+ NAge4B*Settings$KCaloryNeed_B4+
+ NAge5B*Settings$KCaloryNeed_B5+
+ NAge6B*Settings$KCaloryNeed_B6+
+ NAge7B*Settings$KCaloryNeed_B7+
+ NAge8B*Settings$KCaloryNeed_B8+
+ NAge9B*Settings$KCaloryNeed_B9+
+ NAge10B*Settings$KCaloryNeed_B10+
+ NAge1G*Settings$KCaloryNeed_G1+
+ NAge2G*Settings$KCaloryNeed_G2+
+ NAge3G*Settings$KCaloryNeed_G3+
+ NAge4G*Settings$KCaloryNeed_G4+
+ NAge5G*Settings$KCaloryNeed_G5+
+ NAge6G*Settings$KCaloryNeed_G6+
+ NAge7G*Settings$KCaloryNeed_G7+
+ NAge8G*Settings$KCaloryNeed_G8+
+ NAge9G*Settings$KCaloryNeed_G9+
+ NAge10G*Settings$KCaloryNeed_G10+
+ lactating*(Settings$KCaloryNeed_lactating)]
+
+
+ P[,Calorie_Need2:=NAge1_A_B*Settings$KCaloryNeed_A_B1+
+ NAge2_A_B*Settings$KCaloryNeed_A_B2+
+ NAge3_A_B*Settings$KCaloryNeed_A_B3+
+ NAge4_A_B*Settings$KCaloryNeed_A_B4+
+ NAge5_A_B*Settings$KCaloryNeed_A_B5+
+ NAge6_A_B*Settings$KCaloryNeed_A_B6+
+ NAge7_A_B*Settings$KCaloryNeed_A_B7+
+ NAge8_A_B*Settings$KCaloryNeed_A_B8+
+ NAge9_A_B*Settings$KCaloryNeed_A_B9+
+ NAge1_A_G*Settings$KCaloryNeed_A_G1+
+ NAge2_A_G*Settings$KCaloryNeed_A_G2+
+ NAge3_A_G*Settings$KCaloryNeed_A_G3+
+ NAge4_A_G*Settings$KCaloryNeed_A_G4+
+ NAge5_A_G*Settings$KCaloryNeed_A_G5+
+ NAge6_A_G*Settings$KCaloryNeed_A_G6+
+ NAge7_A_G*Settings$KCaloryNeed_A_G7+
+ NAge8_A_G*Settings$KCaloryNeed_A_G8+
+ NAge9_A_G*Settings$KCaloryNeed_A_G9+
+ lactating*(Settings$KCaloryNeed_lactating)]
+
+
+
+ PSum <- P[,lapply(.SD,sum,na.rm=TRUE),
+ .SDcols=c("Size","NKids","NInfants","NSmallKids","NElementary",
+ "NMiddle","NHigh","NPre","NAge1B","NAge1G",
+ "NAge2B","NAge2G","NAge3B","NAge3G","NAge4B","NAge4G",
+ "NAge5B","NAge5G","NAge6B","NAge6G","NAge7B","NAge7G"
+ ,"NAge8B","NAge8G","NAge9B","NAge9G","NAge10B","NAge10G",
+ "NAge1_A_B","NAge1_A_G","Calorie_Need1","Calorie_Need2",
+ "NAge2_A_B","NAge2_A_G","NAge3_A_B","NAge3_A_G","NAge4_A_B","NAge4_A_G",
+ "NAge5_A_B","NAge5_A_G","NAge6_A_B","NAge6_A_G","NAge7_A_B","NAge7_A_G"
+ ,"NAge8_A_B","NAge8_A_G","NAge9_A_B","NAge9_A_G"),#,"TotalIncome"),
+ by="HHID"]
+
+# PSum <- PSum[TotalIncome>0]
+
+ HHI <- merge(B,PSum,by="HHID")
+ HHI[,EqSizeOECD := ifelse(Size==NKids,1+(NKids-1)*0.5,
+ 1 + (Size-NKids-1)*0.7 + (NKids)*0.5)]
+ #HHI[,EqSizeOECD := ifelse(Size==NKids,1+(NKids-1)*0.3,
+ # 1 + (Size-NKids-1)*0.5 + (NKids)*0.3)]
+ #HHI[,EqSizeOECD := sqrt(Size)]
+ HHI <- HHI[!is.na(HLiterate)]
+
+ rm(P,B,PSum)
+ save(HHI,year,file=paste0(Settings$HEISProcessedPath,"Y",year,"HHI.rda"))
+
+
+ rm(HHI)
+
+ # P1<-P1[,`:=`(Dimension=.N),by=.(HHID)]
+ # P1<-P1[Relationship== 'Head']
+ # HHBase<-merge(HHBase,P1,by =c("HHID"),all=TRUE)
+ # save(HHBase, file=paste0(Settings$HEISProcessedPath,"Y",year,"HHBase.rda"))
+
+ load(file=paste0(Settings$HEISWeightsPath,Settings$HEISWeightFileName,year,".rda"))
+ HHWeights<- as.data.table(HHWeights)
+ HHWeights>-HHWeights[,HHID:=as.numeric(HHID)]
+ HHWeights[,Year:=NULL]
+
+ P1<-merge(P1,HHWeights)
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"lactating.rda"))
+
+
+ weighted.hist(P1$Age,P1$Weight,breaks=1:99,main="Age weighted histogram in Iran (1397)")
+
+ P1<-merge(P1,HHBase)
+ P1<- merge(P1,lactating,by="HHID",all.x = TRUE)
+
+ P1U<-P1[Region=="Urban"]
+ weighted.hist(P1U$Age,P1U$Weight,breaks=1:99,main="Age weighted histogram in Urban Areas (1397)")
+
+ P1R<-P1[Region=="Rural"]
+ weighted.hist(P1R$Age,P1R$Weight,breaks=1:99,main="Age weighted histogram in Rural reas (1397)")
+
+ # plot(density(P1$Age),weights =P1$Weight)
+ # lines(density(P1U$Age),weights =P1U$Weight)
+ #lines(density(P1R$Age),weights =P1R$Weight)
+
+ # weighted.hist(P1$Age,P1$Weight,breaks=c(0,1,2,3,4,10,15,20,60),
+ # main="Age weighted histogram in Iran (1397)")
+
+ load(file = "Cal_Edition.rda")
+ Poverty<-as.data.table(Poverty)
+ Edited<-Poverty[,.(Age,Sex,Cal_B_Edited,Cal_W_Edited)]
+ P1<-merge(P1,Edited,by=c("Sex", "Age"))
+
+
+
+ P1[,B1:=ifelse(Age==0 & Sex=="Male",1,0)]
+ P1[,B2:=ifelse(Age==1 & Sex=="Male",1,0)]
+ P1[,B3:=ifelse(Age==2 & Sex=="Male",1,0)]
+ P1[,B4:=ifelse(Age==3 & Sex=="Male",1,0)]
+ P1[,B5:=ifelse(Age==4 & Sex=="Male",1,0)]
+ P1[,B6:=ifelse(Age>=5 & Age<=9 & Sex=="Male",1,0)]
+ P1[,B7:=ifelse(Age>=10 & Age<=14 & Sex=="Male",1,0)]
+ P1[,B8:=ifelse(Age>=15 & Age<=19 & Sex=="Male",1,0)]
+ P1[,B9:=ifelse(Age>=20 & Age<=59 & Sex=="Male",1,0)]
+ P1[,B10:=ifelse(Age>60 & Sex=="Male",1,0)]
+ P1[,G1:=ifelse(Age==0 & Sex=="Female",1,0)]
+ P1[,G2:=ifelse(Age==1 & Sex=="Female",1,0)]
+ P1[,G3:=ifelse(Age==2 & Sex=="Female",1,0)]
+ P1[,G4:=ifelse(Age==3 & Sex=="Female",1,0)]
+ P1[,G5:=ifelse(Age==4 & Sex=="Female",1,0)]
+ P1[,G6:=ifelse(Age>=5 & Age<=9 & Sex=="Female",1,0)]
+ P1[,G7:=ifelse(Age>=10 & Age<=14 & Sex=="Female",1,0)]
+ P1[,G8:=ifelse(Age>=15 & Age<=19 & Sex=="Female",1,0)]
+ P1[,G9:=ifelse(Age>=20 & Age<=59 & Sex=="Female",1,0)]
+ P1[,G10:=ifelse(Age>60 & Sex=="Female",1,0)]
+
+ P1[,weighted.mean(B1,Weight)]
+ P1[,weighted.mean(B2,Weight)]
+ P1[,weighted.mean(B3,Weight)]
+ P1[,weighted.mean(B4,Weight)]
+ P1[,weighted.mean(B5,Weight)]
+ P1[,weighted.mean(B6,Weight)]
+ P1[,weighted.mean(B7,Weight)]
+ P1[,weighted.mean(B8,Weight)]
+ P1[,weighted.mean(B9,Weight)]
+ P1[,weighted.mean(B10,Weight)]
+ P1[,weighted.mean(G1,Weight)]
+ P1[,weighted.mean(G2,Weight)]
+ P1[,weighted.mean(G3,Weight)]
+ P1[,weighted.mean(G4,Weight)]
+ P1[,weighted.mean(G5,Weight)]
+ P1[,weighted.mean(G6,Weight)]
+ P1[,weighted.mean(G7,Weight)]
+ P1[,weighted.mean(G8,Weight)]
+ P1[,weighted.mean(G9,Weight)]
+ P1[,weighted.mean(G10,Weight)]
+
+ P1<-P1[,Calorie_Need_WorldBank:=
+ weighted.mean(B1,Weight)*Settings$KCaloryNeed_B1 +
+ weighted.mean(G1,Weight)*Settings$KCaloryNeed_G1 +
+ weighted.mean(B2,Weight)*Settings$KCaloryNeed_B2 +
+ weighted.mean(G2,Weight)*Settings$KCaloryNeed_G2 +
+ weighted.mean(B3,Weight)*Settings$KCaloryNeed_B3 +
+ weighted.mean(G3,Weight)*Settings$KCaloryNeed_G3 +
+ weighted.mean(B4,Weight)*Settings$KCaloryNeed_B4 +
+ weighted.mean(G4,Weight)*Settings$KCaloryNeed_G4 +
+ weighted.mean(B5,Weight)*Settings$KCaloryNeed_B5 +
+ weighted.mean(G5,Weight)*Settings$KCaloryNeed_G5 +
+ weighted.mean(B6,Weight)*Settings$KCaloryNeed_B6 +
+ weighted.mean(G6,Weight)*Settings$KCaloryNeed_G6 +
+ weighted.mean(B7,Weight)*Settings$KCaloryNeed_B7 +
+ weighted.mean(G7,Weight)*Settings$KCaloryNeed_G7 +
+ weighted.mean(B8,Weight)*Settings$KCaloryNeed_B8 +
+ weighted.mean(G8,Weight)*Settings$KCaloryNeed_G8 +
+ weighted.mean(B9,Weight)*Settings$KCaloryNeed_B9 +
+ weighted.mean(G9,Weight)*Settings$KCaloryNeed_G9 +
+ weighted.mean(B10,Weight)*Settings$KCaloryNeed_B10 +
+ weighted.mean(G10,Weight)*Settings$KCaloryNeed_G10+
+ weighted.mean(lactating,Weight)*(Settings$KCaloryNeed_lactating)]
+
+
+
+ P1[,BA1:=ifelse(Age==0 & Sex=="Male",1,0)]
+ P1[,BA2:=ifelse(Age==1 & Sex=="Male",1,0)]
+ P1[,BA3:=ifelse(Age>=2 & Age<=3 & Sex=="Male",1,0)]
+ P1[,BA4:=ifelse(Age>=4 & Age<=5 & Sex=="Male",1,0)]
+ P1[,BA5:=ifelse(Age>=6 & Age<=11 & Sex=="Male",1,0)]
+ P1[,BA6:=ifelse(Age>=12 & Age<=17 & Sex=="Male",1,0)]
+ P1[,BA7:=ifelse(Age>=18 & Age<=29 & Sex=="Male",1,0)]
+ P1[,BA8:=ifelse(Age>=30 & Age<=60 & Sex=="Male",1,0)]
+ P1[,BA9:=ifelse(Age>60 & Sex=="Male",1,0)]
+ P1[,GA1:=ifelse(Age==0 & Sex=="Female",1,0)]
+ P1[,GA2:=ifelse(Age==1 & Sex=="Female",1,0)]
+ P1[,GA3:=ifelse(Age>=2 & Age<=3 & Sex=="Female",1,0)]
+ P1[,GA4:=ifelse(Age>=4 & Age<=5 & Sex=="Female",1,0)]
+ P1[,GA5:=ifelse(Age>=6 & Age<=11 & Sex=="Female",1,0)]
+ P1[,GA6:=ifelse(Age>=12 & Age<=17 & Sex=="Female",1,0)]
+ P1[,GA7:=ifelse(Age>=18 & Age<=29 & Sex=="Female",1,0)]
+ P1[,GA8:=ifelse(Age>=30 & Age<=60 & Sex=="Female",1,0)]
+ P1[,GA9:=ifelse(Age>60 & Sex=="Female",1,0)]
+
+ P1[,weighted.mean(BA1,Weight)]
+ P1[,weighted.mean(BA2,Weight)]
+ P1[,weighted.mean(BA3,Weight)]
+ P1[,weighted.mean(BA4,Weight)]
+ P1[,weighted.mean(BA5,Weight)]
+ P1[,weighted.mean(BA6,Weight)]
+ P1[,weighted.mean(BA7,Weight)]
+ P1[,weighted.mean(BA8,Weight)]
+ P1[,weighted.mean(BA9,Weight)]
+ P1[,weighted.mean(GA1,Weight)]
+ P1[,weighted.mean(GA2,Weight)]
+ P1[,weighted.mean(GA3,Weight)]
+ P1[,weighted.mean(GA4,Weight)]
+ P1[,weighted.mean(GA5,Weight)]
+ P1[,weighted.mean(GA6,Weight)]
+ P1[,weighted.mean(GA7,Weight)]
+ P1[,weighted.mean(GA8,Weight)]
+ P1[,weighted.mean(GA9,Weight)]
+
+ P1<-P1[,Calorie_Need_Anstitoo:=
+ weighted.mean(BA1,Weight)*Settings$KCaloryNeed_A_B1 +
+ weighted.mean(GA1,Weight)*Settings$KCaloryNeed_A_G1 +
+ weighted.mean(BA2,Weight)*Settings$KCaloryNeed_A_B2 +
+ weighted.mean(GA2,Weight)*Settings$KCaloryNeed_A_G2 +
+ weighted.mean(BA3,Weight)*Settings$KCaloryNeed_A_B3 +
+ weighted.mean(GA3,Weight)*Settings$KCaloryNeed_A_G3 +
+ weighted.mean(BA4,Weight)*Settings$KCaloryNeed_A_B4 +
+ weighted.mean(GA4,Weight)*Settings$KCaloryNeed_A_G4 +
+ weighted.mean(BA5,Weight)*Settings$KCaloryNeed_A_B5 +
+ weighted.mean(GA5,Weight)*Settings$KCaloryNeed_A_G5 +
+ weighted.mean(BA6,Weight)*Settings$KCaloryNeed_A_B6 +
+ weighted.mean(GA6,Weight)*Settings$KCaloryNeed_A_G6 +
+ weighted.mean(BA7,Weight)*Settings$KCaloryNeed_A_B7 +
+ weighted.mean(GA7,Weight)*Settings$KCaloryNeed_A_G7 +
+ weighted.mean(BA8,Weight)*Settings$KCaloryNeed_A_B8 +
+ weighted.mean(GA8,Weight)*Settings$KCaloryNeed_A_G8 +
+ weighted.mean(BA9,Weight)*Settings$KCaloryNeed_A_B9 +
+ weighted.mean(GA9,Weight)*Settings$KCaloryNeed_A_G9 +
+ weighted.mean(lactating,Weight)*Settings$KCaloryNeed_lactating]
+
+ #cat(P1[,mean(Calorie_Need_WorldBank)],"\n")
+ cat(P1[,mean(Calorie_Need_Anstitoo)],"\n")
+
+ Calorie_Need<-P1[,.(Calorie_Need_WorldBank=mean(Calorie_Need_WorldBank),
+ Calorie_Need_Anstitoo=mean(Calorie_Need_Anstitoo)),by="HHID"]
+
+ save(P1,file=paste0(Settings$HEISProcessedPath,"Y",year,"P1.rda"))
+ save(Calorie_Need,file=paste0(Settings$HEISProcessedPath,"Y",year,"Calorie_Need.rda"))
+}
+
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"MDU.rda"))
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"MDR.rda"))
+ P1U<-P1[Region=="Urban"]
+ P1R<-P1[Region=="Rural"]
+
+ P1U<-merge(P1U,MDU,all.x = TRUE)
+ P1R<-merge(P1R,MDR,all.x = TRUE)
+
+ P1U2<-P1U[cluster3==2 ]
+ P1R3<-P1R[cluster3==3 ]
+
+ # sm.density.compare(P1U$Age, P1U$cluster3==2)
+ weighted.hist(P1U$Age,P1U$Weight,breaks=1:99,main="Age weighted histogram in Urban Areas (1397)")
+ weighted.hist(P1U2$Age,P1U2$Weight,breaks=1:99,main="Age weighted histogram in Urban Areas (1397)")
+ plot(density(P1U$Age),weights =P1U$Weight)
+ lines(density(P1U2$Age),weights =P1U2$Weight)
+
+# sm.density.compare(P1R$Age, P1R$cluster3==3)
+ weighted.hist(P1R$Age,P1R$Weight,breaks=1:99,main="Age weighted histogram in Urban Areas (1397)")
+ weighted.hist(P1R3$Age,P1R3$Weight,breaks=1:99,main="Age weighted histogram in Urban Areas (1397)")
+ plot(density(P1R$Age),weights =P1R$Weight)
+ lines(density(P1R3$Age),weights =P1R3$Weight)
+
+
+ # Age1 <- P1U2$Age
+ # Age2 <- P1U$Age
+ # out <- histbackback(split(Age1, Age2), probability=TRUE, main = 'Urban- Second cluster')
+# barplot(-out$left, col="red" , horiz=TRUE, space=0, add=TRUE, axes=FALSE)
+ # barplot(out$right, col="blue", horiz=TRUE, space=0, add=TRUE, axes=FALSE)
+
+ # Age <- P1R3$Age
+ # Sex <- P1R3$Sex
+ # out <- histbackback(split(Age, Sex), probability=FALSE, main = 'Rural- Third cluster')
+# barplot(-out$left, col="red" , horiz=TRUE, space=0, add=TRUE, axes=FALSE)
+# barplot(out$right, col="blue", horiz=TRUE, space=0, add=TRUE, axes=FALSE)
+
+ #Age <- P1U$Age
+ #Sex <- P1U$Sex
+ # out <- histbackback(split(Age, Sex), probability=FALSE, main = 'Urban- Total')
+ # barplot(-out$left, col="red" , horiz=TRUE, space=0, add=TRUE, axes=FALSE)
+ # barplot(out$right, col="blue", horiz=TRUE, space=0, add=TRUE, axes=FALSE)
+
+ #Age <- P1R$Age
+ #Sex <- P1R$Sex
+ #out <- histbackback(split(Age, Sex), probability=FALSE, main = 'Rural-Total')
+ #barplot(-out$left, col="red" , horiz=TRUE, space=0, add=TRUE, axes=FALSE)
+ #barplot(out$right, col="blue", horiz=TRUE, space=0, add=TRUE, axes=FALSE)
+
+ load(file = "Cal_Edition.rda")
+ plot(density(Poverty$Needed_Calorie_W))
+ lines(density(Poverty$Needed_Calorie_B))
+
+ ggplot(Poverty, aes(fill=Sex, y=diff, x=Age)) +
+ geom_bar(position="dodge", stat="identity")
+
+ Poverty<-as.data.table(Poverty)
+ PovertyM<-Poverty[Sex=="Male"]
+ PovertyF<-Poverty[Sex=="Female"]
+
+ p1<-ggplot(PovertyM,aes(Age,Needed_Calorie_W))+geom_density(stat="identity")
+ p2<-ggplot(PovertyM,aes(Age,Cal_W_Edited))+geom_density(stat="identity")
+ grid.arrange(p1,p2,nrow=3)
+
+ p1<-ggplot(PovertyF,aes(Age,Needed_Calorie_W))+geom_density(stat="identity")
+ p2<-ggplot(PovertyF,aes(Age,Cal_W_Edited))+geom_density(stat="identity")
+ grid.arrange(p1,p2,nrow=3)
+
+ p1<-ggplot(PovertyM,aes(Age,Needed_Calorie_B))+geom_density(stat="identity")
+ p2<-ggplot(PovertyM,aes(Age,Cal_W_Edited))+geom_density(stat="identity")
+ grid.arrange(p1,p2,nrow=3)
+
+ p1<-ggplot(PovertyF,aes(Age,Needed_Calorie_B))+geom_density(stat="identity")
+ p2<-ggplot(PovertyF,aes(Age,Cal_W_Edited))+geom_density(stat="identity")
+ grid.arrange(p1,p2,nrow=3)
+
+endtime <- proc.time()
+cat("\n\n============================\nIt took ")
+cat(endtime-starttime)
\ No newline at end of file
diff --git a/R/Archive/November 2019/172- Step 2.R b/R/Archive/November 2019/172- Step 2.R
new file mode 100644
index 00000000..c3b9f800
--- /dev/null
+++ b/R/Archive/November 2019/172- Step 2.R
@@ -0,0 +1,137 @@
+#172- Step 2.R
+#
+# Copyright © 2018: Majid Einian & Arin Shahbazian
+# Licence: GPL-3
+
+rm(list=ls())
+
+starttime <- proc.time()
+cat("\n\n================ Calculationg Equal size calorie =====================================\n")
+
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+library(readxl)
+library(stringr)
+library(data.table)
+library(ggplot2)
+library(spatstat)
+
+for(year in (Settings$startyear:Settings$endyear)){
+ cat(paste0("\n------------------------------\nYear:",year,"\n"))
+
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"Merged4CBN1.rda"))
+
+ MD[,Total_Exp_Month_Per:=Total_Exp_Month/EqSizeOECD]
+ MD[,Total_Exp_Month_Per_nondurable:=Total_Exp_Month_nondurable/EqSizeOECD]
+
+
+ #MD<-merge(MD,BigFoodPrice,by=c("NewArea","Region"),all.x = TRUE)
+ MD<-MD[Size!=0 & OriginalFoodExpenditure!=0 & !is.na(FoodKCaloriesHH)]
+ #MD[,Home_Per_Metr:=MetrPrice/EqSizeOECD]
+
+ #Calculate Per Values
+ MD[,EqSizeCalory3 :=(Size-NKids) + NKids*(Settings$KCaloryNeed_Child/Settings$KCaloryNeed_Adult)]
+
+ MD[,EqSizeCalory :=
+ NAge1B *(Settings$ KCaloryNeed_B1 /Calorie_Need_WorldBank)+
+ NAge2B *(Settings$ KCaloryNeed_B2 /Calorie_Need_WorldBank)+
+ NAge3B *(Settings$ KCaloryNeed_B3 /Calorie_Need_WorldBank)+
+ NAge4B *(Settings$ KCaloryNeed_B4 /Calorie_Need_WorldBank)+
+ NAge5B *(Settings$ KCaloryNeed_B5 /Calorie_Need_WorldBank)+
+ NAge6B *(Settings$ KCaloryNeed_B6 /Calorie_Need_WorldBank)+
+ NAge7B *(Settings$ KCaloryNeed_B7 /Calorie_Need_WorldBank)+
+ NAge8B *(Settings$ KCaloryNeed_B8 /Calorie_Need_WorldBank)+
+ NAge9B *(Settings$ KCaloryNeed_B9 /Calorie_Need_WorldBank)+
+ NAge10B*(Settings$ KCaloryNeed_B10 /Calorie_Need_WorldBank)+
+ NAge1G *(Settings$ KCaloryNeed_G1 /Calorie_Need_WorldBank)+
+ NAge2G *(Settings$ KCaloryNeed_G2 /Calorie_Need_WorldBank)+
+ NAge3G *(Settings$ KCaloryNeed_G3 /Calorie_Need_WorldBank)+
+ NAge4G *(Settings$ KCaloryNeed_G4 /Calorie_Need_WorldBank)+
+ NAge5G *(Settings$ KCaloryNeed_G5 /Calorie_Need_WorldBank)+
+ NAge6G *(Settings$ KCaloryNeed_G6 /Calorie_Need_WorldBank)+
+ NAge7G *(Settings$ KCaloryNeed_G7 /Calorie_Need_WorldBank)+
+ NAge8G *(Settings$ KCaloryNeed_G8 /Calorie_Need_WorldBank)+
+ NAge9G *(Settings$ KCaloryNeed_G9 /Calorie_Need_WorldBank)+
+ NAge10G*(Settings$ KCaloryNeed_G10 /Calorie_Need_WorldBank)+
+ lactating*(Settings$KCaloryNeed_lactating/Calorie_Need_WorldBank)]
+
+ MD[,EqSizeCalory2 :=
+ NAge1_A_B*(Settings$KCaloryNeed_A_B1/Calorie_Need_Anstitoo) +
+ NAge2_A_B*(Settings$KCaloryNeed_A_B2/Calorie_Need_Anstitoo) +
+ NAge3_A_B*(Settings$KCaloryNeed_A_B3/Calorie_Need_Anstitoo) +
+ NAge4_A_B*(Settings$KCaloryNeed_A_B4/Calorie_Need_Anstitoo) +
+ NAge5_A_B*(Settings$KCaloryNeed_A_B5/Calorie_Need_Anstitoo) +
+ NAge6_A_B*(Settings$KCaloryNeed_A_B6/Calorie_Need_Anstitoo) +
+ NAge7_A_B*(Settings$KCaloryNeed_A_B7/Calorie_Need_Anstitoo) +
+ NAge8_A_B*(Settings$KCaloryNeed_A_B8/Calorie_Need_Anstitoo) +
+ NAge9_A_B*(Settings$KCaloryNeed_A_B9/Calorie_Need_Anstitoo) +
+ NAge1_A_G*(Settings$KCaloryNeed_A_G1/Calorie_Need_Anstitoo) +
+ NAge2_A_G*(Settings$KCaloryNeed_A_G2/Calorie_Need_Anstitoo) +
+ NAge3_A_G*(Settings$KCaloryNeed_A_G3/Calorie_Need_Anstitoo) +
+ NAge4_A_G*(Settings$KCaloryNeed_A_G4/Calorie_Need_Anstitoo) +
+ NAge5_A_G*(Settings$KCaloryNeed_A_G5/Calorie_Need_Anstitoo) +
+ NAge6_A_G*(Settings$KCaloryNeed_A_G6/Calorie_Need_Anstitoo) +
+ NAge7_A_G*(Settings$KCaloryNeed_A_G7/Calorie_Need_Anstitoo) +
+ NAge8_A_G*(Settings$KCaloryNeed_A_G8/Calorie_Need_Anstitoo) +
+ NAge9_A_G*(Settings$KCaloryNeed_A_G9/Calorie_Need_Anstitoo)+
+ lactating*(Settings$KCaloryNeed_lactating/Calorie_Need_Anstitoo)]
+
+ MD[,EqSizeCalory4 :=
+ NAge1B*(Settings$KCaloryNeed_B1/Settings$KCaloryNeed_Adult_WorldBank) +
+ NAge2B*(Settings$KCaloryNeed_B2/Settings$KCaloryNeed_Adult_WorldBank) +
+ NAge3B*(Settings$KCaloryNeed_B3/Settings$KCaloryNeed_Adult_WorldBank) +
+ NAge4B*(Settings$KCaloryNeed_B4/Settings$KCaloryNeed_Adult_WorldBank) +
+ NAge5B*(Settings$KCaloryNeed_B5/Settings$KCaloryNeed_Adult_WorldBank) +
+ NAge6B*(Settings$KCaloryNeed_B6/Settings$KCaloryNeed_Adult_WorldBank) +
+ NAge7B*(Settings$KCaloryNeed_B7/Settings$KCaloryNeed_Adult_WorldBank) +
+ NAge8B*(Settings$KCaloryNeed_B8/Settings$KCaloryNeed_Adult_WorldBank) +
+ NAge9B*(Settings$KCaloryNeed_B9/Settings$KCaloryNeed_Adult_WorldBank) +
+ NAge10B*(Settings$KCaloryNeed_B10/Settings$KCaloryNeed_Adult_WorldBank)+
+ NAge1G*(Settings$KCaloryNeed_G1/Settings$KCaloryNeed_Adult_WorldBank) +
+ NAge2G*(Settings$KCaloryNeed_G2/Settings$KCaloryNeed_Adult_WorldBank) +
+ NAge3G*(Settings$KCaloryNeed_G3/Settings$KCaloryNeed_Adult_WorldBank) +
+ NAge4G*(Settings$KCaloryNeed_G4/Settings$KCaloryNeed_Adult_WorldBank) +
+ NAge5G*(Settings$KCaloryNeed_G5/Settings$KCaloryNeed_Adult_WorldBank) +
+ NAge6G*(Settings$KCaloryNeed_G6/Settings$KCaloryNeed_Adult_WorldBank) +
+ NAge7G*(Settings$KCaloryNeed_G7/Settings$KCaloryNeed_Adult_WorldBank) +
+ NAge8G*(Settings$KCaloryNeed_G8/Settings$KCaloryNeed_Adult_WorldBank) +
+ NAge9G*(Settings$KCaloryNeed_G9/Settings$KCaloryNeed_Adult_WorldBank) +
+ NAge10G*(Settings$KCaloryNeed_G10/Settings$KCaloryNeed_Adult_WorldBank)+
+ lactating*(Settings$KCaloryNeed_lactating/Settings$KCaloryNeed_Adult_WorldBank)]
+
+ MD[,EqSizeCalory5 :=
+ NAge1_A_B*(Settings$KCaloryNeed_A_B1/Settings$KCaloryNeed_Adult_Anstitoo) +
+ NAge2_A_B*(Settings$KCaloryNeed_A_B2/Settings$KCaloryNeed_Adult_Anstitoo) +
+ NAge3_A_B*(Settings$KCaloryNeed_A_B3/Settings$KCaloryNeed_Adult_Anstitoo) +
+ NAge4_A_B*(Settings$KCaloryNeed_A_B4/Settings$KCaloryNeed_Adult_Anstitoo) +
+ NAge5_A_B*(Settings$KCaloryNeed_A_B5/Settings$KCaloryNeed_Adult_Anstitoo) +
+ NAge6_A_B*(Settings$KCaloryNeed_A_B6/Settings$KCaloryNeed_Adult_Anstitoo) +
+ NAge7_A_B*(Settings$KCaloryNeed_A_B7/Settings$KCaloryNeed_Adult_Anstitoo) +
+ NAge8_A_B*(Settings$KCaloryNeed_A_B8/Settings$KCaloryNeed_Adult_Anstitoo) +
+ NAge9_A_B*(Settings$KCaloryNeed_A_B9/Settings$KCaloryNeed_Adult_Anstitoo) +
+ NAge1_A_G*(Settings$KCaloryNeed_A_G1/Settings$KCaloryNeed_Adult_Anstitoo) +
+ NAge2_A_G*(Settings$KCaloryNeed_A_G2/Settings$KCaloryNeed_Adult_Anstitoo) +
+ NAge3_A_G*(Settings$KCaloryNeed_A_G3/Settings$KCaloryNeed_Adult_Anstitoo) +
+ NAge4_A_G*(Settings$KCaloryNeed_A_G4/Settings$KCaloryNeed_Adult_Anstitoo) +
+ NAge5_A_G*(Settings$KCaloryNeed_A_G5/Settings$KCaloryNeed_Adult_Anstitoo) +
+ NAge6_A_G*(Settings$KCaloryNeed_A_G6/Settings$KCaloryNeed_Adult_Anstitoo) +
+ NAge7_A_G*(Settings$KCaloryNeed_A_G7/Settings$KCaloryNeed_Adult_Anstitoo) +
+ NAge8_A_G*(Settings$KCaloryNeed_A_G8/Settings$KCaloryNeed_Adult_Anstitoo) +
+ NAge9_A_G*(Settings$KCaloryNeed_A_G9/Settings$KCaloryNeed_Adult_Anstitoo)+
+ lactating*(Settings$KCaloryNeed_lactating/Settings$KCaloryNeed_Adult_Anstitoo)]
+
+ save(MD, file=paste0(Settings$HEISProcessedPath,"Y",year,"Merged4CBN2.rda"))
+
+ MD[,weighted.mean(EqSizeCalory,Weight)]
+ MD[,weighted.mean(EqSizeCalory2,Weight)]
+ MD[,weighted.mean(EqSizeCalory4,Weight)]
+ MD[,weighted.mean(EqSizeCalory5,Weight)]
+ MD[,weighted.mean(EqSizeCalory3,Weight)]
+}
+
+
+
+endtime <- proc.time()
+cat("\n\n============================\nIt took ")
+cat(endtime-starttime)
\ No newline at end of file
diff --git a/R/Archive/November 2019/50-Merge4CBN.R b/R/Archive/November 2019/50-Merge4CBN.R
new file mode 100644
index 00000000..ab77f4e0
--- /dev/null
+++ b/R/Archive/November 2019/50-Merge4CBN.R
@@ -0,0 +1,261 @@
+#50-Merge Data for CBN Method.R
+#
+# Copyright © 2018: Majid Einian & Arin Shahbazian
+# Licence: GPL-3
+
+rm(list=ls())
+
+starttime <- proc.time()
+cat("\n\n================ Merge Data =====================================\n")
+
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+library(readxl)
+library(stringr)
+library(data.table)
+library(ggplot2)
+library(spatstat)
+
+for(year in (Settings$startyear:Settings$endyear)){
+ #cat(paste0("\n------------------------------\nYear:",year,"\n"))
+
+ #load Demos+FoodPrices+Weights
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"HHBase.rda"))
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"lactating.rda"))
+ HHBase<-merge(HHBase,lactating,by="HHID")
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"Calorie_Need.rda"))
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"HHI.rda"))
+ #load(file=paste0(Settings$HEISProcessedPath,"Y",year,"BigFoodPrice.rda"))
+ load(file=paste0(Settings$HEISWeightsPath,Settings$HEISWeightFileName,year,".rda"))
+ HHWeights<- as.data.table(HHWeights)
+ HHWeights>-HHWeights[,HHID:=as.numeric(HHID)]
+ HHWeights[,Year:=NULL]
+
+
+
+ #load Expenditures
+
+ for(G in c("Foods","Cigars","Cloths","Amusements","Communications",
+ "Durables", "Education", "Energy", "Furnitures","Hotels",
+ "House", "Medicals","Behdashts","Transportations","Others",
+ "Resturants","Barghs"
+ #,"Benzins","Gazs","NaftSefids"
+ )){
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,G,".rda"))
+ }
+
+ # load(file=paste0(Settings$HEISProcessedPath,"Y",year,"Added_Food.rda"))
+
+ #load Calories
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"Food_Calories.rda"))
+ FData[,Region:=NULL]
+ #for (col in c("FoodKCaloriesHH")) FData[is.na(get(col)), (col) := 0]
+ FData <- FData[FoodKCaloriesHH>0]
+
+ #merge groups
+ MD<-merge(HHBase,HHI ,by =c("HHID"),all=TRUE)
+ FData[,Size:=NULL]
+ MD<-merge(MD,FData ,by =c("HHID"),all=TRUE)
+ MD<-merge(MD,HHWeights ,by =c("HHID"),all=TRUE)
+ MD<-merge(MD,FoodData,by =c("HHID"),all=TRUE)
+ # MD<-merge(MD,Added_Food,by =c("HHID"),all=TRUE)
+ MD<-merge(MD,CigarData,by =c("HHID"),all=TRUE)
+ MD<-merge(MD,ClothData,by =c("HHID"),all=TRUE)
+ MD<-merge(MD,AmusementData,by =c("HHID"),all=TRUE)
+ MD<-merge(MD,CommunicationData,by =c("HHID"),all=TRUE)
+ MD<-merge(MD,EducData,by =c("HHID"),all=TRUE)
+ MD<-merge(MD,EnergyData,by =c("HHID"),all=TRUE)
+ MD<-merge(MD,FurnitureData,by =c("HHID"),all=TRUE)
+ MD<-merge(MD,HotelData,by =c("HHID"),all=TRUE)
+ MD<-merge(MD,BehdashtData,by =c("HHID"),all=TRUE)
+ MD<-merge(MD,TransportationData,by =c("HHID"),all=TRUE)
+ #MD<-merge(MD,BenzinData,by =c("HHID"),all=TRUE)
+ #MD<-merge(MD,GazData,by =c("HHID"),all=TRUE)
+ MD<-merge(MD,BarghData,by =c("HHID"),all=TRUE)
+ #MD<-merge(MD,NaftSefidData,by =c("HHID"),all=TRUE)
+ MD<-merge(MD,OtherData,by =c("HHID"),all=TRUE)
+ MD<-merge(MD,HouseData,by =c("HHID"),all=TRUE)
+ MD<-merge(MD,MedicalData,by =c("HHID"),all=TRUE)
+ MD<-merge(MD,DurableData,by =c("HHID"),all=TRUE)
+ MD<-merge(MD,ResturantData,by =c("HHID"),all=TRUE)
+ #MD<-merge(MD,InvestmentData,by =c("HHID"),all=TRUE)
+ for (col in c("OriginalFoodExpenditure","FoodOtherExpenditure", "Cigar_Exp", "Cloth_Exp", "Amusement_Exp",
+ "Communication_Exp", "EducExpenditure", "Energy_Exp",
+ "Furniture_Exp", "Hotel_Exp", "Behdasht_Exp", "Transportation_Exp",
+ "Other_Exp", "ServiceExp", "Medical_Exp", "Durable_Exp",
+ "Resturant_Exp","Bargh_Exp"
+ #,"Benzin_Exp","Gaz_Exp","NaftSefid_Exp"
+ ))
+ MD[is.na(get(col)), (col) := 0]
+# MD<-MD[,Yaraneh:=416000*Size]
+
+ MD<-merge(MD,Calorie_Need)
+
+ #Calculate Monthly Total Expenditures
+ nw <- c("OriginalFoodExpenditure","FoodOtherExpenditure", "Cigar_Exp", "Cloth_Exp",
+ "Amusement_Exp", "Communication_Exp",
+ "Energy_Exp", "Furniture_Exp", "Hotel_Exp", "Behdasht_Exp",
+ "Transportation_Exp", "Other_Exp", "ServiceExp")
+ w <- c(nw, "Medical_Exp", "Durable_Exp")
+ # pw <- c(nw, "Added_Food_Exp_Month")
+ #Lw <- c(pw, "Medical_Exp", "Durable_Exp")
+
+ MD[, Total_Exp_Month := Reduce(`+`, .SD), .SDcols=w]
+ MD[, Total_Exp_Month_nondurable := Reduce(`+`, .SD), .SDcols=nw]
+
+ # MD[, Total_Exp_Month := Total_Exp_Month + Yaraneh]
+ # MD[, Total_Exp_Month_nondurable := Total_Exp_Month_nondurable + Yaraneh]
+
+ # MD[, Total_Exp_Month := Total_Exp_Month*1.2]
+ # MD[, Total_Exp_Month_nondurable := Total_Exp_Month_nondurable*1.2]
+
+ MD[,Total_Exp_Month_Per:=Total_Exp_Month/EqSizeOECD]
+ MD[,Total_Exp_Month_Per_nondurable:=Total_Exp_Month_nondurable/EqSizeOECD]
+
+
+ #MD<-merge(MD,BigFoodPrice,by=c("NewArea","Region"),all.x = TRUE)
+ MD<-MD[Size!=0 & OriginalFoodExpenditure!=0 & !is.na(FoodKCaloriesHH)]
+ #MD[,Home_Per_Metr:=MetrPrice/EqSizeOECD]
+
+ #Calculate Per Values
+ MD[,EqSizeCalory3 :=(Size-NKids) + NKids*(Settings$KCaloryNeed_Child/Settings$KCaloryNeed_Adult)]
+
+ MD[,EqSizeCalory2 :=
+ NAge1B*(Settings$KCaloryNeed_B1/Calorie_Need_WorldBank) +
+ NAge2B*(Settings$KCaloryNeed_B2/Calorie_Need_WorldBank) +
+ NAge3B*(Settings$KCaloryNeed_B3/Calorie_Need_WorldBank) +
+ NAge4B*(Settings$KCaloryNeed_B4/Calorie_Need_WorldBank) +
+ NAge5B*(Settings$KCaloryNeed_B5/Calorie_Need_WorldBank) +
+ NAge6B*(Settings$KCaloryNeed_B6/Calorie_Need_WorldBank) +
+ NAge7B*(Settings$KCaloryNeed_B7/Calorie_Need_WorldBank) +
+ NAge8B*(Settings$KCaloryNeed_B8/Calorie_Need_WorldBank) +
+ NAge9B*(Settings$KCaloryNeed_B9/Calorie_Need_WorldBank) +
+ NAge10B*(Settings$KCaloryNeed_B10/Calorie_Need_WorldBank)+
+ NAge1G*(Settings$KCaloryNeed_G1/Calorie_Need_WorldBank) +
+ NAge2G*(Settings$KCaloryNeed_G2/Calorie_Need_WorldBank) +
+ NAge3G*(Settings$KCaloryNeed_G3/Calorie_Need_WorldBank) +
+ NAge4G*(Settings$KCaloryNeed_G4/Calorie_Need_WorldBank) +
+ NAge5G*(Settings$KCaloryNeed_G5/Calorie_Need_WorldBank) +
+ NAge6G*(Settings$KCaloryNeed_G6/Calorie_Need_WorldBank) +
+ NAge7G*(Settings$KCaloryNeed_G7/Calorie_Need_WorldBank) +
+ NAge8G*(Settings$KCaloryNeed_G8/Calorie_Need_WorldBank) +
+ NAge9G*(Settings$KCaloryNeed_G9/Calorie_Need_WorldBank) +
+ NAge10G*(Settings$KCaloryNeed_G10/Calorie_Need_WorldBank)+
+ lactating*(Settings$KCaloryNeed_lactating/Calorie_Need_WorldBank)]
+
+ MD[,EqSizeCalory :=
+ NAge1_A_B*(Settings$KCaloryNeed_A_B1/Calorie_Need_Anstitoo) +
+ NAge2_A_B*(Settings$KCaloryNeed_A_B2/Calorie_Need_Anstitoo) +
+ NAge3_A_B*(Settings$KCaloryNeed_A_B3/Calorie_Need_Anstitoo) +
+ NAge4_A_B*(Settings$KCaloryNeed_A_B4/Calorie_Need_Anstitoo) +
+ NAge5_A_B*(Settings$KCaloryNeed_A_B5/Calorie_Need_Anstitoo) +
+ NAge6_A_B*(Settings$KCaloryNeed_A_B6/Calorie_Need_Anstitoo) +
+ NAge7_A_B*(Settings$KCaloryNeed_A_B7/Calorie_Need_Anstitoo) +
+ NAge8_A_B*(Settings$KCaloryNeed_A_B8/Calorie_Need_Anstitoo) +
+ NAge9_A_B*(Settings$KCaloryNeed_A_B9/Calorie_Need_Anstitoo) +
+ NAge1_A_G*(Settings$KCaloryNeed_A_G1/Calorie_Need_Anstitoo) +
+ NAge2_A_G*(Settings$KCaloryNeed_A_G2/Calorie_Need_Anstitoo) +
+ NAge3_A_G*(Settings$KCaloryNeed_A_G3/Calorie_Need_Anstitoo) +
+ NAge4_A_G*(Settings$KCaloryNeed_A_G4/Calorie_Need_Anstitoo) +
+ NAge5_A_G*(Settings$KCaloryNeed_A_G5/Calorie_Need_Anstitoo) +
+ NAge6_A_G*(Settings$KCaloryNeed_A_G6/Calorie_Need_Anstitoo) +
+ NAge7_A_G*(Settings$KCaloryNeed_A_G7/Calorie_Need_Anstitoo) +
+ NAge8_A_G*(Settings$KCaloryNeed_A_G8/Calorie_Need_Anstitoo) +
+ NAge9_A_G*(Settings$KCaloryNeed_A_G9/Calorie_Need_Anstitoo)+
+ lactating*(Settings$KCaloryNeed_lactating/Calorie_Need_Anstitoo)]
+
+ MD[,EqSizeCalory4 :=
+ NAge1B*(Settings$KCaloryNeed_B1/Settings$KCaloryNeed_Adult_WorldBank) +
+ NAge2B*(Settings$KCaloryNeed_B2/Settings$KCaloryNeed_Adult_WorldBank) +
+ NAge3B*(Settings$KCaloryNeed_B3/Settings$KCaloryNeed_Adult_WorldBank) +
+ NAge4B*(Settings$KCaloryNeed_B4/Settings$KCaloryNeed_Adult_WorldBank) +
+ NAge5B*(Settings$KCaloryNeed_B5/Settings$KCaloryNeed_Adult_WorldBank) +
+ NAge6B*(Settings$KCaloryNeed_B6/Settings$KCaloryNeed_Adult_WorldBank) +
+ NAge7B*(Settings$KCaloryNeed_B7/Settings$KCaloryNeed_Adult_WorldBank) +
+ NAge8B*(Settings$KCaloryNeed_B8/Settings$KCaloryNeed_Adult_WorldBank) +
+ NAge9B*(Settings$KCaloryNeed_B9/Settings$KCaloryNeed_Adult_WorldBank) +
+ NAge10B*(Settings$KCaloryNeed_B10/Settings$KCaloryNeed_Adult_WorldBank)+
+ NAge1G*(Settings$KCaloryNeed_G1/Settings$KCaloryNeed_Adult_WorldBank) +
+ NAge2G*(Settings$KCaloryNeed_G2/Settings$KCaloryNeed_Adult_WorldBank) +
+ NAge3G*(Settings$KCaloryNeed_G3/Settings$KCaloryNeed_Adult_WorldBank) +
+ NAge4G*(Settings$KCaloryNeed_G4/Settings$KCaloryNeed_Adult_WorldBank) +
+ NAge5G*(Settings$KCaloryNeed_G5/Settings$KCaloryNeed_Adult_WorldBank) +
+ NAge6G*(Settings$KCaloryNeed_G6/Settings$KCaloryNeed_Adult_WorldBank) +
+ NAge7G*(Settings$KCaloryNeed_G7/Settings$KCaloryNeed_Adult_WorldBank) +
+ NAge8G*(Settings$KCaloryNeed_G8/Settings$KCaloryNeed_Adult_WorldBank) +
+ NAge9G*(Settings$KCaloryNeed_G9/Settings$KCaloryNeed_Adult_WorldBank) +
+ NAge10G*(Settings$KCaloryNeed_G10/Settings$KCaloryNeed_Adult_WorldBank)+
+ lactating*(Settings$KCaloryNeed_lactating/Settings$KCaloryNeed_Adult_WorldBank)]
+
+ MD[,EqSizeCalory5 :=
+ NAge1_A_B*(Settings$KCaloryNeed_A_B1/Settings$KCaloryNeed_Adult_Anstitoo) +
+ NAge2_A_B*(Settings$KCaloryNeed_A_B2/Settings$KCaloryNeed_Adult_Anstitoo) +
+ NAge3_A_B*(Settings$KCaloryNeed_A_B3/Settings$KCaloryNeed_Adult_Anstitoo) +
+ NAge4_A_B*(Settings$KCaloryNeed_A_B4/Settings$KCaloryNeed_Adult_Anstitoo) +
+ NAge5_A_B*(Settings$KCaloryNeed_A_B5/Settings$KCaloryNeed_Adult_Anstitoo) +
+ NAge6_A_B*(Settings$KCaloryNeed_A_B6/Settings$KCaloryNeed_Adult_Anstitoo) +
+ NAge7_A_B*(Settings$KCaloryNeed_A_B7/Settings$KCaloryNeed_Adult_Anstitoo) +
+ NAge8_A_B*(Settings$KCaloryNeed_A_B8/Settings$KCaloryNeed_Adult_Anstitoo) +
+ NAge9_A_B*(Settings$KCaloryNeed_A_B9/Settings$KCaloryNeed_Adult_Anstitoo) +
+ NAge1_A_G*(Settings$KCaloryNeed_A_G1/Settings$KCaloryNeed_Adult_Anstitoo) +
+ NAge2_A_G*(Settings$KCaloryNeed_A_G2/Settings$KCaloryNeed_Adult_Anstitoo) +
+ NAge3_A_G*(Settings$KCaloryNeed_A_G3/Settings$KCaloryNeed_Adult_Anstitoo) +
+ NAge4_A_G*(Settings$KCaloryNeed_A_G4/Settings$KCaloryNeed_Adult_Anstitoo) +
+ NAge5_A_G*(Settings$KCaloryNeed_A_G5/Settings$KCaloryNeed_Adult_Anstitoo) +
+ NAge6_A_G*(Settings$KCaloryNeed_A_G6/Settings$KCaloryNeed_Adult_Anstitoo) +
+ NAge7_A_G*(Settings$KCaloryNeed_A_G7/Settings$KCaloryNeed_Adult_Anstitoo) +
+ NAge8_A_G*(Settings$KCaloryNeed_A_G8/Settings$KCaloryNeed_Adult_Anstitoo) +
+ NAge9_A_G*(Settings$KCaloryNeed_A_G9/Settings$KCaloryNeed_Adult_Anstitoo)+
+ lactating*(Settings$KCaloryNeed_lactating/Settings$KCaloryNeed_Adult_Anstitoo)]
+
+ MD[,Relative_Calorie1 :=FoodKCaloriesHH/Calorie_Need1]
+ MD[,Relative_Calorie2 :=FoodKCaloriesHH/Calorie_Need2]
+ MD[,OriginalFoodExpenditure_Per :=OriginalFoodExpenditure/EqSizeCalory]
+ MD[,FoodKCaloriesHH_Per:=FoodKCaloriesHH/EqSizeCalory]
+ MD[,FoodProtein_Per:=FoodProteinHH/EqSizeCalory]
+
+ #Calculate per_Calory from resturants
+ MD[,Calory_Price:=(OriginalFoodExpenditure_Per/FoodKCaloriesHH_Per)]
+ MD[,Calory_Price_Area:=weighted.median(Calory_Price,Weight,na.rm = TRUE),by=.(Region,NewArea)][order(Calory_Price)]
+ MD[,ResturantKCalories:=(Settings$OutFoodKCXShare*Resturant_Exp)/Calory_Price_Area]
+ for (col in c("ResturantKCalories")) MD[is.na(get(col)), (col) := 0]
+ MD[,TFoodKCaloriesHH:=FoodKCaloriesHH+ResturantKCalories]
+ MD[,TOriginalFoodExpenditure:=OriginalFoodExpenditure+(Settings$OutFoodKCXShare*Resturant_Exp)]
+
+ MD[,TOriginalFoodExpenditure_Per :=TOriginalFoodExpenditure/EqSizeCalory]
+ MD[,TFoodKCaloriesHH_Per:=TFoodKCaloriesHH/EqSizeCalory]
+
+ ##############################################################
+ #####for CV EV report
+ # MD[, Total_Exp_Month2 := Reduce(`+`, .SD), .SDcols=Lw]
+ # MD[, Total_Exp_Month_nondurable2 := Reduce(`+`, .SD), .SDcols=pw]
+
+ # MD[,Total_Exp_Month_Per2:=Total_Exp_Month2/EqSizeOECD]
+ # MD[,Total_Exp_Month_Per_nondurable2:=Total_Exp_Month_nondurable2/EqSizeOECD]
+
+# MD[,FoodExpenditure_Per2 :=(FoodExpenditure+Added_Food_Exp_Month)/EqSizeCalory]
+# MD[,TFoodExpenditure2:=FoodExpenditure+Added_Food_Exp_Month+(Settings$OutFoodKCXShare*Resturant_Exp)]
+ # MD[,TFoodExpenditure_Per2 :=TFoodExpenditure2/EqSizeCalory]
+ ##############################################################
+
+ save(MD, file=paste0(Settings$HEISProcessedPath,"Y",year,"Merged4CBN.rda"))
+
+ # cat(MD[,weighted.mean(Total_Exp_Month_Per_nondurable,Weight*Size)],"\n")
+ # cat(MD[,weighted.mean(Size,Weight)],"\n")
+ #cat(MD[,weighted.mean(EqSizeCalory,Weight)],"\n")
+ #cat(MD[,weighted.mean(EqSizeCalory2,Weight)],"\n")
+ #cat(MD[,weighted.mean(EqSizeCalory4,Weight)],"\n")
+ #cat(MD[,weighted.mean(EqSizeCalory5,Weight)],"\n")
+
+ cat(MD[Region=="Urban",weighted.mean(MetrPrice,Weight,na.rm = TRUE)],"\n")
+
+ MD[,weighted.mean(Bargh_Exp,Weight),by=.(ProvinceCode)]
+ MD[,weighted.median(Bargh_Exp,Weight),by=.(ProvinceCode)]
+}
+
+
+
+endtime <- proc.time()
+cat("\n\n============================\nIt took ")
+cat(endtime-starttime)
\ No newline at end of file
diff --git a/R/Archive/November 2019/51-FindInitialPoor.R b/R/Archive/November 2019/51-FindInitialPoor.R
new file mode 100644
index 00000000..3ce60d7f
--- /dev/null
+++ b/R/Archive/November 2019/51-FindInitialPoor.R
@@ -0,0 +1,165 @@
+#51-FindInitialPoor.R
+#
+# Copyright © 2018:Majid Einian & Arin Shahbazian
+# Licence: GPL-3
+
+rm(list=ls())
+
+starttime <- proc.time()
+cat("\n\n================ Prepare Data =====================================\n")
+
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+#library(readxl)
+library(data.table)
+#library(ggplot2)
+
+for(year in (Settings$startyear:Settings$endyear)){
+ cat(paste0("\n------------------------------\nYear:",year,"\n"))
+
+ # load data --------------------------------------
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"Merged4CBN3.rda"))
+
+ SMD <- MD[,.(HHID,Region,NewArea,NewArea_Name,Total_Exp_Month_Per_nondurable,TOriginalFoodExpenditure_Per,
+ # Total_Exp_Month_Per_nondurable2,TFoodExpenditure_Per2,
+ TFoodKCaloriesHH_Per,Calorie_Need_WorldBank,Calorie_Need_Anstitoo,
+ Weight,MetrPrice,Size,EqSizeOECD,Relative_Calorie1,Relative_Calorie2)]
+
+ #Choose one of these
+ #SMD[,Bundle_Value:=TOriginalFoodExpenditure_Per*Calorie_Need_WorldBank/TFoodKCaloriesHH_Per]
+ SMD[,Bundle_Value:=TOriginalFoodExpenditure_Per*Calorie_Need_Anstitoo/TFoodKCaloriesHH_Per]
+ #SMD[,Bundle_Value:=TOriginalFoodExpenditure_Per*Settings$KCaloryNeed_Adult_WorldBank/TFoodKCaloriesHH_Per]
+ #SMD[,Bundle_Value:=TOriginalFoodExpenditure_Per*Settings$KCaloryNeed_Adult_Anstitoo/TFoodKCaloriesHH_Per]
+
+
+ #SMD[,Bundle_Value2:=TOriginalFoodExpenditure_Per/Relative_Calorie1]
+ #SMD[,Bundle_Value1:=TOriginalFoodExpenditure_Per/Relative_Calorie2]
+ #SMD <- MD[,.(HHID,Region,NewArea,Total_Exp_Month_Per_nondurable,
+ #FoodExpenditure_Per,FoodKCalories_Per, Weight,MetrPrice)]
+
+ #SMD[,Bundle_Value:=FoodExpenditure_Per*Settings$KCaloryNeed_Adult/FoodKCalories_Per]
+
+ SMD <- SMD[Bundle_Value<=5000000 | TFoodKCaloriesHH_Per>=300]
+
+ #Real Prices
+ T_Bundle_Value <- SMD[NewArea==2301, .(Bundle_Value,MetrPrice,Weight)]
+ TBV1 <- T_Bundle_Value[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE)]
+ TBV2 <- T_Bundle_Value[,weighted.mean(MetrPrice,Weight,na.rm = TRUE)]
+
+ SMD[,PriceIndex:=(weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/TBV1
+ +weighted.mean(MetrPrice,Weight,na.rm = TRUE)/TBV2)/2
+ ,by=.(Region,NewArea)]
+
+ SMD[,Total_Exp_Month_Per_nondurable_Real:=Total_Exp_Month_Per_nondurable/PriceIndex]
+
+ SMD<- SMD[order(Region,Total_Exp_Month_Per_nondurable_Real)]
+ SMD[,crw:=cumsum(Weight*Size)/sum(Weight*Size),by=Region] # Cumulative Relative Weight
+
+ #Calculate deciles by weights
+ SMD[,Decile:=cut(crw,breaks = seq(0,1,.1),labels = 1:10),by=Region]
+ SMD[,Percentile:=cut(crw,breaks=seq(0,1,.01),labels=1:100),by=Region]
+
+ FirstSMD<-SMD[,.(HHID,Region,NewArea,NewArea_Name,Percentile,Decile)]
+ FirstSMD<-FirstSMD[,Realfirstpoor:=ifelse(Decile %in% 1:2,1,0)]
+ save(FirstSMD, file=paste0(Settings$HEISProcessedPath,"Y",year,"FirstSMD.rda"))
+
+ SMD[,NewPoor:=1]
+ SMD[,ThisIterationPoor:=0]
+ i <- 0
+ while(sum(SMD[,(ThisIterationPoor-NewPoor)^2])>=30 & i <=50){
+ i <- i+1
+ SMD[,pold:=Percentile]
+ SMD[,ThisIterationPoor:=ifelse(pold %in% Settings$InitialPoorPercentile,1,0)]
+ SMDIterationPoor<-SMD[ThisIterationPoor==TRUE]
+
+ T_P_Bundle_Value <- SMDIterationPoor[NewArea==2301, .(Bundle_Value,MetrPrice,Weight)]
+ TPBV1 <- T_P_Bundle_Value[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE)]
+ TPBV2 <- T_P_Bundle_Value[,weighted.mean(MetrPrice,Weight,na.rm = TRUE)]
+
+ Index <- SMDIterationPoor[,.(PriceIndex= (weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/TPBV1+
+ weighted.mean(MetrPrice,Weight,na.rm = TRUE)/TPBV2)/2)
+ ,by=.(Region,NewArea)]
+
+ SMD[,PriceIndex:=NULL]
+ SMD<- SMD[order(Region,NewArea)]
+ SMD <- merge(SMD,Index,by=c("Region","NewArea"))
+
+ SMD[,Total_Exp_Month_Per_nondurable_Real:=Total_Exp_Month_Per_nondurable/PriceIndex]
+
+ SMD<- SMD[order(Region,Total_Exp_Month_Per_nondurable_Real)]
+ SMD[,crw:=cumsum(Weight*Size)/sum(Weight*Size),by=Region] # Cumulative Relative Weight
+
+ #Calculate deciles by weights
+ SMD[,Decile:=cut(crw,breaks = seq(0,1,.1),labels = 1:10),by=Region]
+ SMD[,Percentile:=cut(crw,breaks=seq(0,1,.01),labels=1:100),by=Region]
+ SMD[,NewPoor:=ifelse(Percentile %in% Settings$InitialPoorPercentile,1,0)]
+ save(SMD,file=paste0(Settings$HEISProcessedPath,"Y",year,"SMD.rda"))
+
+
+ cat("\n",sum(SMD[,(ThisIterationPoor-NewPoor)^2]))
+ }
+ MD <- merge(MD,SMD[,.(HHID,Bundle_Value,NewPoor,Decile,Percentile)],by="HHID")
+ setnames(MD,"NewPoor","InitialPoor")
+
+ #Calculate per_Calory from resturants
+ #MD[,Calory_Price:=(FoodExpenditure_Per/FoodKCalories_Per)]
+ #MD[,Calory_Price_Area:=weighted.median(Calory_Price,Weight,na.rm = TRUE),by=.(Region,NewArea)][order(Calory_Price)]
+ #MD[,ResturantKCalories:=ifelse(Decile %in% 1:2,(Settings$OutFoodKCXShare12*Resturant_Exp)/Calory_Price_Area,
+ # ifelse(Decile %in% 3:6,(Settings$OutFoodKCXShare3456*Resturant_Exp)/Calory_Price_Area,
+ # (Settings$OutFoodKCXShare78910*Resturant_Exp)/Calory_Price_Area))]
+ #for (col in c("ResturantKCalories")) MD[is.na(get(col)), (col) := 0]
+ #MD[,TFoodKCalories:=FoodKCalories+ResturantKCalories]
+ #MD[,TFoodExpenditure:=FoodExpenditure+(Settings$OutFoodKCXShare*Resturant_Exp)]
+ #MD[,TFoodExpenditure:=FoodExpenditure+ifelse(Decile %in% 1:2,(Settings$OutFoodKCXShare12*Resturant_Exp),
+ # ifelse(Decile %in% 3:6,(Settings$OutFoodKCXShare3456*Resturant_Exp),
+ # (Settings$OutFoodKCXShare78910*Resturant_Exp)))]
+
+ #MD[,TFoodExpenditure_Per :=TFoodExpenditure/EqSizeCalory]
+ #MD[,TFoodKCalories_Per:=TFoodKCalories/EqSizeCalory]
+
+ MD[,weighted.mean(InitialPoor,Weight), by=.(NewArea,Region)]
+
+ save(MD,file=paste0(Settings$HEISProcessedPath,"Y",year,"InitialPoor.rda"))
+ MD2<-MD[,.(HHID,Region,NewArea,InitialPoor,Percentile,Weight)]
+ MDU<-MD2[Region=="Urban"]
+ MDR<-MD2[Region=="Rural"]
+ save(MDU,file=paste0(Settings$HEISProcessedPath,"Y",year,"InitialPoor2.rda"))
+ save(MDR,file=paste0(Settings$HEISProcessedPath,"Y",year,"InitialPoor3.rda"))
+
+ # MD[,weighted.mean(Bargh_Exp,Weight),by=.(Decile)][order(Decile)]
+ #MD[,weighted.median(Bargh_Exp,Weight),by=.(Decile)][order(Decile)]
+
+ # MD[,weighted.mean(Bargh_Exp,Weight),by=.(ProvinceCode)][order(ProvinceCode)]
+ #MD[,weighted.median(Bargh_Exp,Weight),by=.(ProvinceCode)][order(ProvinceCode)]
+ }
+
+#MD[,Benzin_Exp:=as.numeric(Benzin_Exp)]
+#MD2<-MD[,.(HHID,HIndivNo,Region,NewArea_Name,Decile,Percentile,Size,Weight,Total_Exp_Month_Per_nondurable,Benzin_Exp)]
+#MD2<-MD2[,Add_Benzin_Exp:=Benzin_Exp-600000]
+#MD2<-MD2[,Add_Benzin_Exp:=ifelse(Add_Benzin_Exp<0,0,Add_Benzin_Exp)]
+#MD2<-MD2[,Extra_Benzin:=ifelse(Add_Benzin_Exp>0,1,0)]
+#MD2<-MD2[,Benzin_Positive:=ifelse(Benzin_Exp>0,1,0)]
+
+#MD2<-MD2[,Decile_Add:=weighted.mean(Add_Benzin_Exp,Weight)*sum(Weight),by=.(Decile)]
+#MD2[,weighted.mean(Add_Benzin_Exp,Weight)*sum(Weight),by=.(Decile)][order(Decile)]
+
+#MD2<-MD2[,Decile_Total:=weighted.mean(Benzin_Exp,Weight)*sum(Weight),by=.(Decile)]
+#MD2[,weighted.mean(Benzin_Exp,Weight)*sum(Weight),by=.(Decile)][order(Decile)]
+
+#MD2<-MD2[,Ratio:=Decile_Add/Decile_Total]
+#MD2[,weighted.mean(Ratio,Weight),by=.(Decile)][order(Decile)]
+
+#MD2<-MD2[,Ratio2:=weighted.mean(Extra_Benzin,Weight),by=.(Decile)]
+#MD2[,weighted.mean(Extra_Benzin,Weight),by=.(Decile)][order(Decile)]
+
+#MD2<-MD2[Benzin_Positive==1,Ratio3:=weighted.mean(Extra_Benzin/HIndivNo,Weight),by=.(Decile)]
+#MD2[Benzin_Positive==1,weighted.mean(Extra_Benzin/HIndivNo,Weight),by=.(Decile)][order(Decile)]
+
+#MD2<-MD2[,Ratio4:=weighted.mean(Benzin_Positive,Weight),by=.(Decile)]
+#MD2[,weighted.mean(Benzin_Positive,Weight),by=.(Decile)][order(Decile)]
+
+endtime <- proc.time()
+cat("\n\n============================\nIt took ")
+cat((endtime-starttime)["elapsed"])
+cat(" seconds")
\ No newline at end of file
diff --git a/R/Archive/November 2019/53-Personal Poverty line for provinces (other).R b/R/Archive/November 2019/53-Personal Poverty line for provinces (other).R
new file mode 100644
index 00000000..b72314f7
--- /dev/null
+++ b/R/Archive/November 2019/53-Personal Poverty line for provinces (other).R
@@ -0,0 +1,130 @@
+# 53-Personal Poverty line for provinces.R
+#
+# Copyright © 2019: Arin Shahbazian
+# Licence: GPL-3
+
+rm(list=ls())
+
+starttime <- proc.time()
+cat("\n\n================ Personal Pline =====================================\n")
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+library(readxl)
+library(data.table)
+library(ggplot2)
+library(spatstat)
+
+for(year in (Settings$startyear:Settings$endyear)){
+ cat(paste0("\nYear:",year,"\t"))
+
+load(file=paste0(Settings$HEISProcessedPath,"Y",year,"MD4test.rda"))
+
+MDH <- TD[ TFoodExpenditure_Per>0.8*FPLine & TFoodExpenditure_Per<1.2*FPLine]
+
+
+PPH <- MDH[ ,.(.N,PPLine=weighted.mean(PersonalPLine,Weight),
+ FPLine=mean(FPLine),EngelPersonal=mean(EngelPersonal)),by=.(Region,NewArea_Name)]
+
+if (year==90) {
+ PPH90<-PPH[,PPLine9096:=PPLine*1.305*1.347*1.156*1.119*1.09*1.096]
+ save(PPH90,file="PPH90.rda")
+}
+
+if (year==91) {
+ PPH91<-PPH[,PPLine9196:=PPLine*1.347*1.156*1.119*1.09*1.096]
+ save(PPH91,file="PPH91.rda")
+}
+
+if (year==92) {
+ PPH92<-PPH[,PPLine9296:=PPLine*1.156*1.119*1.09*1.096]
+ save(PPH92,file="PPH92.rda")
+}
+
+if (year==93) {
+ PPH93<-PPH[,PPLine9396:=PPLine*1.119*1.09*1.096]
+ save(PPH93,file="PPH93.rda")
+}
+
+if (year==94) {
+ PPH94<-PPH[,PPLine9496:=PPLine*1.09*1.096]
+ save(PPH94,file="PPH94.rda")
+}
+
+if (year==95) {
+ PPH95<-PPH[,PPLine9596:=PPLine*1.096]
+ save(PPH95,file="PPH95.rda")
+}
+
+if (year==96) {
+ load(file="PPH95.rda" )
+ load(file="PPH94.rda" )
+ load(file="PPH93.rda" )
+ load(file="PPH92.rda" )
+ load(file="PPH91.rda" )
+ load(file="PPH90.rda" )
+ PPH96<-PPH[,PPLine9696:=PPLine]
+ save(PPH96,file="PPH96.rda")
+ PPH96[,N:=NULL]
+ PPH96[,EngelPersonal:=NULL]
+ PPH96[,FPLine:=NULL]
+ PPH96[,PPLine:=NULL]
+ PPH<-merge(PPH96,PPH95,by=c("Region","NewArea_Name"),all=TRUE)
+ PPH[,N:=NULL]
+ PPH[,EngelPersonal:=NULL]
+ PPH[,FPLine:=NULL]
+ PPH[,PPLine:=NULL]
+ PPH<-merge(PPH,PPH94,by=c("Region","NewArea_Name"),all=TRUE)
+ PPH[,N:=NULL]
+ PPH[,EngelPersonal:=NULL]
+ PPH[,FPLine:=NULL]
+ PPH[,PPLine:=NULL]
+ PPH<-merge(PPH,PPH93,by=c("Region","NewArea_Name"),all=TRUE)
+ PPH[,N:=NULL]
+ PPH[,EngelPersonal:=NULL]
+ PPH[,FPLine:=NULL]
+ PPH[,PPLine:=NULL]
+ PPH<-merge(PPH,PPH92,by=c("Region","NewArea_Name"),all=TRUE)
+ PPH[,N:=NULL]
+ PPH[,EngelPersonal:=NULL]
+ PPH[,FPLine:=NULL]
+ PPH[,PPLine:=NULL]
+ PPH<-merge(PPH,PPH91,by=c("Region","NewArea_Name"),all=TRUE)
+ PPH[,N:=NULL]
+ PPH[,EngelPersonal:=NULL]
+ PPH[,FPLine:=NULL]
+ PPH[,PPLine:=NULL]
+ PPH<-merge(PPH,PPH90,by=c("Region","NewArea_Name"),all=TRUE)
+ PPH[,N:=NULL]
+ PPH[,EngelPersonal:=NULL]
+ PPH[,FPLine:=NULL]
+ PPH[,PPLine:=NULL]
+ PPH[is.na(PPH)] <- 0
+ w <- c( "PPLine9696", "PPLine9596",
+ "PPLine9496", "PPLine9396",
+ "PPLine9296", "PPLine9196",
+ "PPLine9096")
+
+ PPH[, PPLineSum := Reduce(`+`, .SD), .SDcols=w]
+ PPH[, PPLineMean :=ifelse((NewArea_Name=="Chaharmahal" & Region=="Rural") |
+ (NewArea_Name=="Khorasan_Jonoobi" & Region=="Rural"),
+ PPLineSum/6,ifelse(NewArea_Name=="Khorasan_Jonoobi" & Region=="Urban",
+ PPLineSum/5,PPLineSum/7))]
+
+
+ y2<-PPH[Region=="Urban",.(PPLineMean,NewArea_Name)]
+ y2$NewArea <- factor(y2$NewArea, levels = y2$NewArea[order(y2$PPLineMean)])
+ ggplot(y2, aes(x = y2$NewArea, y = y2$PPLineMean)) + theme_bw() + geom_bar(stat = "identity") + theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1))
+
+
+ x2<-PPH[Region=="Rural",.(PPLineMean,NewArea_Name)]
+ x2$NewArea <- factor(x2$NewArea, levels = x2$NewArea[order(x2$PPLineMean)])
+ ggplot(x2, aes(x = x2$NewArea, y = x2$PPLineMean)) + theme_bw() + geom_bar(stat = "identity") + theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1))
+
+}
+}
+
+endtime <- proc.time()
+cat("\n\n============================\nIt took ")
+cat((endtime-starttime)["elapsed"])
+cat(" seconds")
\ No newline at end of file
diff --git a/R/Archive/November 2019/55-Manipulated Clustering(90-96).R b/R/Archive/November 2019/55-Manipulated Clustering(90-96).R
new file mode 100644
index 00000000..1866a8bb
--- /dev/null
+++ b/R/Archive/November 2019/55-Manipulated Clustering(90-96).R
@@ -0,0 +1,122 @@
+#55-Manipulated Clustering(93-96).R
+#
+# Copyright © 2018: Majid Einian & Arin Shahbazian
+# Licence: GPL-3
+
+rm(list=ls())
+
+starttime <- proc.time()
+cat("\n\n================ Prepare Data =====================================\n")
+library(yaml)
+library(dplyr)
+Settings <- yaml.load_file("Settings.yaml")
+
+library(readxl)
+library(data.table)
+library(ggplot2)
+
+cat(paste0("\n------------------------------\nYear:",Settings$baseyear,"\n"))
+load(file=paste0(Settings$HEISProcessedPath,"Y",Settings$baseyear,"InitialPoor.rda"))
+#load(file=paste0(Settings$HEISProcessedPath,"Y",Settings$baseyear,"BigFoodPrice.rda"))
+#MD<-merge(MD,BigFoodPrice,by=c("NewArea","Region"),all=TRUE)
+
+#####Clustering#####
+dt2Urban<-MD[Region=="Urban",.(NewArea,NewArea_Name,Region,HHID)]
+dt2Rural<-MD[Region=="Rural",.(NewArea,NewArea_Name,Region,HHID)]
+
+#####Urban#####
+dt2Urban<-dt2Urban[NewArea_Name=="Sh_Tehran",cluster3:=1]
+
+dt2Urban<-dt2Urban[NewArea_Name=="Sh_Shiraz" | NewArea_Name=="Sh_Esfahan" |
+ NewArea_Name=="Sh_Bandarabas" |
+ NewArea_Name=="Sh_Karaj" |
+ NewArea_Name=="Sh_Rasht",
+ cluster3:=2]
+
+dt2Urban<-dt2Urban[NewArea_Name=="Gilan" | NewArea_Name=="Alborz" |
+ NewArea_Name=="Kohkilooye" | NewArea_Name=="Ghazvin" |
+ NewArea_Name=="Markazi" | NewArea_Name=="Esfahan" |
+ NewArea_Name=="Ghom" | NewArea_Name=="Sh_Arak" |
+ NewArea_Name=="Tehran" | NewArea_Name=="Sh_Tabriz" |
+ NewArea_Name=="Mazandaran" | NewArea_Name=="Sh_Yazd" ,
+ cluster3:=3]
+
+dt2Urban<-dt2Urban[ NewArea_Name=="Yazd" |
+ NewArea_Name=="Sh_Kerman" |
+ NewArea_Name=="Sh_Hamedan" |
+ NewArea_Name=="Chaharmahal" |
+ NewArea_Name=="Zanjan" | NewArea_Name=="Hamedan" |
+ NewArea_Name=="Sh_Mashhad" | NewArea_Name=="Sh_Urmia" |
+ NewArea_Name=="Sh_Ahvaz" | NewArea_Name=="Hormozgan"|
+ NewArea_Name=="Booshehr" |
+ NewArea_Name=="Semnan" | NewArea_Name=="Fars",
+ cluster3:=4]
+
+dt2Urban<-dt2Urban[ NewArea_Name=="Sh_Kermanshah" | NewArea_Name== "Az_Sharghi" |
+ NewArea_Name=="Kerman" |
+ NewArea_Name=="Ardebil" |
+ NewArea_Name=="Ilam" ,
+ cluster3:=5]
+
+dt2Urban<-dt2Urban[NewArea_Name=="Khoozestan" | NewArea_Name=="Kordestan" |
+ NewArea_Name=="Khorasan_Razavi" |
+ NewArea_Name=="Khorasan_Jonoobi" | NewArea_Name=="Az_Gharbi" |
+ NewArea_Name=="Kermanshah" | NewArea_Name=="Lorestan" |
+ NewArea_Name=="Khorasan_Shomali" | NewArea_Name=="Golestan",
+ cluster3:=6]
+
+dt2Urban<-dt2Urban[NewArea_Name=="Sistan" | NewArea_Name=="Sh_Zahedan",
+ cluster3:=7]
+
+save(dt2Urban,file ="dt2Urban.rda")
+#####Rural#####
+dt2Rural<-dt2Rural[ NewArea_Name=="Tehran" | NewArea_Name=="Alborz",
+ cluster3:=1]
+
+dt2Rural<-dt2Rural[NewArea_Name=="Esfahan" | NewArea_Name=="Mazandaran" ,
+ cluster3:=2]
+
+dt2Rural<-dt2Rural[ NewArea_Name=="Ghazvin" | NewArea_Name=="Yazd" |
+ NewArea_Name=="Gilan" |
+ NewArea_Name=="Kohkilooye" | NewArea_Name=="Booshehr",
+ cluster3:=3]
+
+dt2Rural<-dt2Rural[ NewArea_Name=="Zanjan" |
+ NewArea_Name=="Chaharmahal"| NewArea_Name=="Hormozgan" | NewArea_Name=="Az_Sharghi" |
+ NewArea_Name=="Ghom" |
+ NewArea_Name=="Fars" |
+ NewArea_Name=="Markazi" | NewArea_Name=="Semnan",
+ cluster3:=4]
+
+dt2Rural<-dt2Rural[ NewArea_Name=="Hamedan" |
+ NewArea_Name=="Az_Gharbi" | NewArea_Name=="Kermanshah" |
+ NewArea_Name=="Kerman" | NewArea_Name=="Golestan" |
+ NewArea_Name=="Khorasan_Jonoobi" | NewArea_Name=="Lorestan" |
+ NewArea_Name=="Kordestan"|
+ NewArea_Name=="Khoozestan" |
+ NewArea_Name=="Ardebil" | NewArea_Name=="Ilam",
+ cluster3:=5]
+
+dt2Rural<-dt2Rural[ NewArea_Name=="Khorasan_Shomali" | NewArea_Name=="Khorasan_Razavi" |
+ NewArea_Name=="Sistan" ,
+ cluster3:=6]
+
+save(dt2Rural,file ="dt2Rural.rda")
+#####Merge#####
+dt2total<-rbind(dt2Urban,dt2Rural)
+
+
+dt2total[,HHID:=NULL]
+dt2total<-distinct(dt2total)
+
+for(year in (Settings$startyear:Settings$endyear)){
+ cat(paste0("\n------------------------------\nYear:",year,"\n"))
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"InitialPoor.rda"))
+ MD<-merge(MD,dt2total,by=c("NewArea","NewArea_Name","Region"))
+ save(MD,file=paste0(Settings$HEISProcessedPath,"Y",year,"InitialPoorClustered.rda"))
+}
+
+endtime <- proc.time()
+cat("\n\n============================\nIt took ")
+cat((endtime-starttime)["elapsed"])
+cat(" seconds")
\ No newline at end of file
diff --git a/R/Archive/November 2019/56-FoodBasicNeeds.R b/R/Archive/November 2019/56-FoodBasicNeeds.R
new file mode 100644
index 00000000..56d0070d
--- /dev/null
+++ b/R/Archive/November 2019/56-FoodBasicNeeds.R
@@ -0,0 +1,68 @@
+#54-FoodBasicNeeds.R
+#
+# Copyright © 2018:Majid Einian & Arin Shahbazian
+# Licence: GPL-3
+
+rm(list=ls())
+
+starttime <- proc.time()
+cat("\n\n================ Prepare Data =====================================\n")
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+library(readxl)
+library(data.table)
+library(ggplot2)
+
+for(year in (Settings$startyear:Settings$endyear)){
+ cat(paste0("\n------------------------------\nYear:",year,"\n"))
+
+ # load data --------------------------------------
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"InitialPoorClustered.rda"))
+
+ #Determine Food (Equal 2100 KCal) Bundle
+ #MDPoors<-MD[InitialPoor==1]
+ MD[,NewPoor:=InitialPoor]
+ #MD[,NewPoor:=ifelse(Decile %in% c(1,2,3,4),1,0)]
+ MD[,OldPoor:=1]
+
+ i <- 0
+ while(MD[(NewPoor-OldPoor)!=0,.N]>5 & i <=15){
+ i <- i + 1
+ MD[,ThisIterationPoor:=NewPoor]
+ MD[,FPLine:=NULL]
+ MDP <- MD[ThisIterationPoor==1,
+ .(FPLine=weighted.mean(Bundle_Value,Weight,na.rm = TRUE)),
+ by=.(cluster3,Region)]
+ MD <- merge(MD,MDP,by=c("Region","cluster3"))
+# print(MDP)
+ x<-MD[,.(NewArea,Region,FPLine,InitialPoor)]
+ MD[,NewPoor:=ifelse(TOriginalFoodExpenditure_Per < FPLine,1,0)]
+ print(table(MD[,.(ThisIterationPoor,NewPoor)]))
+ MD[,OldPoor:=ThisIterationPoor]
+ }
+
+ MD[,FinalFoodPoor:=OldPoor]
+
+ MD <- MD[,.(HHID,HIndivNo,Region,NewArea,NewArea_Name,cluster3,ProvinceCode,Size,HAge,HSex,
+ HLiterate,HEduLevel0,HActivityState,Area,Rooms,MetrPrice,
+ Total_Exp_Month_Per_nondurable,TOriginalFoodExpenditure_Per,
+ OriginalFoodExpenditure_Per,FPLine,Weight,Percentile,FinalFoodPoor,
+ Total_Exp_Month_Per,TFoodKCaloriesHH_Per,TOriginalFoodExpenditure,Total_Exp_Month,
+ # TFoodExpenditure2,Total_Exp_Month_nondurable2,Total_Exp_Month2,
+ # Total_Exp_Month_Per2,
+ EqSizeOECD,EqSizeCalory,Decile,Bundle_Value)]
+ save(MD,file=paste0(Settings$HEISProcessedPath,"Y",year,"FinalFoodPoor.rda"))
+
+ MDFinalfood<-MD[,.(HHID,Region,NewArea,cluster3,Percentile,FinalFoodPoor)]
+ UrbanFinalfood<-MDFinalfood[Region=="Urban"]
+ RuralFinalfood<-MDFinalfood[Region=="Rural"]
+ save(UrbanFinalfood, file=paste0(Settings$HEISProcessedPath,"Y",year,"UrbanFinalfood.rda"))
+ save(RuralFinalfood, file=paste0(Settings$HEISProcessedPath,"Y",year,"RuralFinalfood.rda"))
+
+}
+
+endtime <- proc.time()
+cat("\n\n============================\nIt took ")
+cat((endtime-starttime)["elapsed"])
+cat(" seconds")
\ No newline at end of file
diff --git a/R/Archive/November 2019/57-PovertyLines.R b/R/Archive/November 2019/57-PovertyLines.R
new file mode 100644
index 00000000..8835bfd3
--- /dev/null
+++ b/R/Archive/November 2019/57-PovertyLines.R
@@ -0,0 +1,90 @@
+# 57-PovertyLines.R
+#
+# Copyright © 2018:Majid Einian & Arin Shahbazian
+# Licence: GPL-3
+
+rm(list=ls())
+
+starttime <- proc.time()
+cat("\n\n================ Prepare Data =====================================\n")
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+library(readxl)
+library(data.table)
+library(ggplot2)
+library(stats)
+
+for(year in (Settings$startyear:Settings$endyear)){
+ cat(paste0("\nYear:",year,"\t"))
+
+ # load data --------------------------------------
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"FinalFoodPoor.rda"))
+
+
+ EngleD <- MD[ TOriginalFoodExpenditure_Per>0.8*FPLine & TOriginalFoodExpenditure_Per<1.2*FPLine,
+ .(.N,Engel=weighted.mean(TOriginalFoodExpenditure/Total_Exp_Month,Weight),
+ FPLine=mean(FPLine)),by=.(Region,cluster3)]
+ MD <- MD[,PEngel:=TOriginalFoodExpenditure/Total_Exp_Month]
+ MD2 <- MD[ TOriginalFoodExpenditure_Per>0.8*FPLine & TOriginalFoodExpenditure_Per<1.2*FPLine]
+ MD2 <- MD2[,PEngel:=TOriginalFoodExpenditure/Total_Exp_Month]
+ MD2U <- MD2[Region=="Urban"]
+ MD2R <- MD2[Region=="Rural"]
+
+ #En3es acc6rd5ng to N
+ # EngleS <- MD[ TOriginalFoodExpenditure_Per>0.8*FPLine & TOriginalFoodExpenditure_Per<1.2*FPLine,
+ # .(.N), by=.(Region,cluster3)]
+# EngleS<-EngleS[,S:=ifelse(N>400,N,0)]
+# MD<-merge(MD, EngleS)
+ # EngleD <- MD[S==0 & TOriginalFoodExpenditure_Per>0.7*FPLine & TOriginalFoodExpenditure_Per<1.3*FPLine,
+ # .(.N,Engel=weighted.mean(TOriginalFoodExpenditure/Total_Exp_Month,Weight),
+ # FPLine=mean(FPLine)),by=.(Region,cluster3)]
+ # EngleS <- MD[S==0 & TOriginalFoodExpenditure_Per>0.7*FPLine & TOriginalFoodExpenditure_Per<1.3*FPLine,
+ # .(.N), by=.(Region,cluster3)]
+ # load(file="EngleX.rda")
+
+
+
+ #EngleD<-merge(EngleD,EngleX,by=c("Region","cluster3"))
+ EngleD[,PovertyLine:=FPLine/Engel]
+ EngleD[,PovertyLine2:=5580259]
+ MD <- merge(MD,EngleD[,.(cluster3,Region,PovertyLine,PovertyLine2,Engel)],by=c("Region","cluster3"))
+
+
+ #MD<-MD[Region=="Urban"]
+
+
+ MD[,FinalPoor:=ifelse(Total_Exp_Month_Per < PovertyLine,1,0 )]
+ MD[,FinalPoor2:=ifelse(Total_Exp_Month_Per < PovertyLine2,1,0 )]
+ cat(MD[,weighted.mean(FinalPoor,Weight*Size)],"\t",
+ MD[,weighted.mean(PovertyLine,Weight*Size)],"\t",
+ # MD[,weighted.mean(PovertyLine2,Weight*Size)],"\t",
+ MD[,weighted.mean(Engel,Weight*Size)],"\t",
+ MD[,weighted.mean(FPLine,Weight*Size)])
+
+ MD[FinalPoor==1,weighted.mean(TFoodKCaloriesHH_Per,Weight)]
+ MD[FinalPoor==1,weighted.mean(TFoodKCaloriesHH_Per,Weight),by=.(Region)]
+ MD[FinalPoor==1,weighted.mean(TFoodKCaloriesHH_Per,Weight),by=.(Region,cluster3)]
+
+ #MD[,crw:=sum(Size*Weight),by=Region]
+ #MD[,sum((Size*Weight)/crw),by=.(Region,Decile)][order(Region,Decile)]
+ #MD[,weighted.mean(HIndivNo,Weight)*sum(Weight),by=.(Region,Decile)][order(Region,Decile)]
+
+ MD[FinalPoor==1,weighted.mean(TFoodKCaloriesHH_Per,Weight),by=c("ProvinceCode")][order(ProvinceCode)]
+
+
+ MD[,weighted.mean(FinalPoor,Weight*Size),by=c("ProvinceCode")][order(ProvinceCode)]
+ MD[,weighted.mean(FinalPoor,Weight*Size),by=c("Region","cluster3")][order(Region,cluster3)]
+ MD[,weighted.mean(FinalPoor2,Weight*Size),by=c("Region")]
+ MD[,weighted.mean(FinalPoor2,Weight*Size)]
+ MD3<-MD[,.(HHID,FinalPoor,Weight)]
+ save(MD3,file=paste0(Settings$HEISProcessedPath,"Y",year,"PoorsforMerge.rda"))
+ save(MD,file=paste0(Settings$HEISProcessedPath,"Y",year,"FINALPOORS.rda"))
+
+ # write.csv(EngleD,file ="Results.csv" )
+ }
+
+endtime <- proc.time()
+cat("\n\n============================\nIt took ")
+cat((endtime-starttime)["elapsed"])
+cat(" seconds")
\ No newline at end of file
diff --git a/R/Archive/November 2019/60-Merge4CBN.R b/R/Archive/November 2019/60-Merge4CBN.R
new file mode 100644
index 00000000..b36f2ebd
--- /dev/null
+++ b/R/Archive/November 2019/60-Merge4CBN.R
@@ -0,0 +1,136 @@
+#60-Merge Data for CBN Method.R
+#
+# Copyright © 2018: Majid Einian & Arin Shahbazian
+# Licence: GPL-3
+
+rm(list=ls())
+
+starttime <- proc.time()
+cat("\n\n================ Merge Data =====================================\n")
+
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+library(readxl)
+library(stringr)
+library(data.table)
+library(ggplot2)
+library(spatstat)
+
+for(year in (Settings$startyear:Settings$endyear)){
+ cat(paste0("\n------------------------------\nYear:",year,"\n"))
+
+ #load Demos+FoodPrices+Weights
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"HHBase.rda"))
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"HHI.rda"))
+ #load(file=paste0(Settings$HEISProcessedPath,"Y",year,"BigFoodPrice.rda"))
+ load(file=paste0(Settings$HEISWeightsPath,Settings$HEISWeightFileName,year,".rda"))
+ HHWeights<- as.data.table(HHWeights)
+ HHWeights[,Year:=NULL]
+
+
+
+ #load Expenditures
+
+ for(G in c("Foods","Cigars","Cloths","Amusements","Communications",
+ "Durables", "Education", "Energy", "Furnitures","Hotels",
+ "House", "Medicals","Behdashts","Transportations","Others",
+ "Resturants","Benzins")){
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,G,".rda"))
+ }
+
+ # load(file=paste0(Settings$HEISProcessedPath,"Y",year,"Added_Food.rda"))
+
+ #load Calories
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"Food_Calories.rda"))
+ FData[,Region:=NULL]
+ #for (col in c("FoodTKCalories")) FData[is.na(get(col)), (col) := 0]
+ FData <- FData[FoodTKCalories>0]
+
+ #merge groups
+ MD<-merge(HHBase,HHI ,by =c("HHID"),all=TRUE)
+ FData[,Size:=NULL]
+ MD<-merge(MD,FData ,by =c("HHID"),all=TRUE)
+ MD<-merge(MD,HHWeights ,by =c("HHID"),all=TRUE)
+ MD<-merge(MD,FoodData,by =c("HHID"),all=TRUE)
+ # MD<-merge(MD,Added_Food,by =c("HHID"),all=TRUE)
+ MD<-merge(MD,CigarData,by =c("HHID"),all=TRUE)
+ MD<-merge(MD,ClothData,by =c("HHID"),all=TRUE)
+ MD<-merge(MD,AmusementData,by =c("HHID"),all=TRUE)
+ MD<-merge(MD,CommunicationData,by =c("HHID"),all=TRUE)
+ MD<-merge(MD,EducData,by =c("HHID"),all=TRUE)
+ MD<-merge(MD,EnergyData,by =c("HHID"),all=TRUE)
+ MD<-merge(MD,FurnitureData,by =c("HHID"),all=TRUE)
+ MD<-merge(MD,HotelData,by =c("HHID"),all=TRUE)
+ MD<-merge(MD,BehdashtData,by =c("HHID"),all=TRUE)
+ MD<-merge(MD,TransportationData,by =c("HHID"),all=TRUE)
+ MD<-merge(MD,BenzinData,by =c("HHID"),all=TRUE)
+ MD<-merge(MD,OtherData,by =c("HHID"),all=TRUE)
+ MD<-merge(MD,HouseData,by =c("HHID"),all=TRUE)
+ MD<-merge(MD,MedicalData,by =c("HHID"),all=TRUE)
+ MD<-merge(MD,DurableData,by =c("HHID"),all=TRUE)
+ MD<-merge(MD,ResturantData,by =c("HHID"),all=TRUE)
+ #MD<-merge(MD,InvestmentData,by =c("HHID"),all=TRUE)
+ for (col in c("FoodExpenditure","FoodOtherExpenditure", "Cigar_Exp", "Cloth_Exp", "Amusement_Exp",
+ "Communication_Exp", "EducExpenditure", "Energy_Exp",
+ "Furniture_Exp", "Hotel_Exp", "Behdasht_Exp", "Transportation_Exp",
+ "Other_Exp", "ServiceExp", "Medical_Exp", "Durable_Exp",
+ "Resturant_Exp","Benzin_Exp"))
+ MD[is.na(get(col)), (col) := 0]
+# MD<-MD[,Yaraneh:=416000*Size]
+
+ #Calculate Monthly Total Expenditures
+ nw <- c("FoodExpenditure","FoodOtherExpenditure", "Cigar_Exp", "Cloth_Exp",
+ "Amusement_Exp", "Communication_Exp",
+ "Energy_Exp", "Furniture_Exp", "Hotel_Exp", "Behdasht_Exp",
+ "Transportation_Exp", "Other_Exp", "ServiceExp")
+ w <- c(nw, "Medical_Exp", "Durable_Exp")
+ # pw <- c(nw, "Added_Food_Exp_Month")
+ #Lw <- c(pw, "Medical_Exp", "Durable_Exp")
+
+ MD[, Total_Exp_Month := Reduce(`+`, .SD), .SDcols=w]
+ MD[, Total_Exp_Month_nondurable := Reduce(`+`, .SD), .SDcols=nw]
+
+ # MD[, Total_Exp_Month := Total_Exp_Month + Yaraneh]
+ # MD[, Total_Exp_Month_nondurable := Total_Exp_Month_nondurable + Yaraneh]
+
+ # MD[, Total_Exp_Month := Total_Exp_Month*1.2]
+ # MD[, Total_Exp_Month_nondurable := Total_Exp_Month_nondurable*1.2]
+
+ MD[,Total_Exp_Month_Per:=Total_Exp_Month/EqSizeOECD]
+ MD[,Total_Exp_Month_Per_nondurable:=Total_Exp_Month_nondurable/EqSizeOECD]
+
+
+ #MD<-merge(MD,BigFoodPrice,by=c("NewArea","Region"),all.x = TRUE)
+ MD<-MD[Size!=0 & FoodExpenditure!=0 & !is.na(FoodTKCalories)]
+ #MD[,Home_Per_Metr:=MetrPrice/EqSizeOECD]
+
+ #Calculate Per Values
+ MD[,EqSizeCalory :=(Size-NKids) + NKids*(Settings$KCaloryNeed_Child/Settings$KCaloryNeed_Adult)]
+ MD[,FoodExpenditure_Per :=FoodExpenditure/EqSizeCalory]
+ MD[,FoodTKCalories_Per:=FoodTKCalories/EqSizeCalory]
+
+ #Calculate per_Calory from resturants
+ MD[,Calory_Price:=(FoodExpenditure_Per/FoodTKCalories_Per)]
+ MD[,Calory_Price_Area:=weighted.median(Calory_Price,Weight,na.rm = TRUE),by=.(Region,NewArea)][order(Calory_Price)]
+ MD[,ResturantKCalories:=(Settings$OutFoodTKCXShare*Resturant_Exp)/Calory_Price_Area]
+ for (col in c("ResturantKCalories")) MD[is.na(get(col)), (col) := 0]
+ MD[,TFoodTKCalories:=FoodTKCalories+ResturantKCalories]
+ MD[,TFoodExpenditure:=FoodExpenditure+(Settings$OutFoodKCXShare*Resturant_Exp)]
+
+ MD[,TFoodExpenditure_Per :=TFoodExpenditure/EqSizeCalory]
+ MD[,TFoodTKCalories_Per:=TFoodTKCalories/EqSizeCalory]
+
+ ##############################################################
+
+
+ save(MD, file=paste0(Settings$HEISProcessedPath,"Y",year,"Merged4CBN.rda"))
+ cat(MD[,weighted.mean(Total_Exp_Month_Per_nondurable,Weight*Size)])
+ MD[Region=="Urban",weighted.mean(Total_Exp_Month_Per,Weight*Size),by=.(ProvinceCode)]
+}
+
+
+
+endtime <- proc.time()
+cat("\n\n============================\nIt took ")
+cat(endtime-starttime)
\ No newline at end of file
diff --git a/R/Archive/November 2019/61-FindInitialPoor.R b/R/Archive/November 2019/61-FindInitialPoor.R
new file mode 100644
index 00000000..343f0cd8
--- /dev/null
+++ b/R/Archive/November 2019/61-FindInitialPoor.R
@@ -0,0 +1,152 @@
+#61-FindInitialPoor.R
+#
+# Copyright © 2018:Majid Einian & Arin Shahbazian
+# Licence: GPL-3
+
+rm(list=ls())
+
+starttime <- proc.time()
+cat("\n\n================ Prepare Data =====================================\n")
+
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+#library(readxl)
+library(data.table)
+#library(ggplot2)
+
+for(year in (Settings$startyear:Settings$endyear)){
+ cat(paste0("\n------------------------------\nYear:",year,"\n"))
+
+ # load data --------------------------------------
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"Merged4CBN.rda"))
+
+ SMD <- MD[,.(HHID,Region,NewArea,NewArea_Name,Total_Exp_Month_Per_nondurable,TFoodExpenditure_Per,
+ # Total_Exp_Month_Per_nondurable2,TFoodExpenditure_Per2,
+ TFoodTKCalories_Per,
+ Weight,MetrPrice,Size,EqSizeOECD)]
+
+ SMD[,Bundle_Value:=TFoodExpenditure_Per*Settings$KCaloryNeed_Adult/TFoodTKCalories_Per]
+
+ #SMD <- MD[,.(HHID,Region,NewArea,Total_Exp_Month_Per_nondurable,FoodExpenditure_Per,FoodTKCalories_Per,
+ # Weight,MetrPrice)]
+
+ #SMD[,Bundle_Value:=FoodExpenditure_Per*Settings$KCaloryNeed_Adult/FoodTKCalories_Per]
+
+ SMD <- SMD[Bundle_Value<=5000000 | TFoodTKCalories_Per>=300]
+
+ #Real Prices
+ T_Bundle_Value <- SMD[NewArea==2301, .(Bundle_Value,MetrPrice,Weight)]
+ TBV1 <- T_Bundle_Value[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE)]
+ TBV2 <- T_Bundle_Value[,weighted.mean(MetrPrice,Weight,na.rm = TRUE)]
+
+ SMD[,PriceIndex:=(weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/TBV1
+ +weighted.mean(MetrPrice,Weight,na.rm = TRUE)/TBV2)/2
+ ,by=.(Region,NewArea)]
+
+ SMD[,Total_Exp_Month_Per_nondurable_Real:=Total_Exp_Month_Per_nondurable/PriceIndex]
+
+ SMD<- SMD[order(Region,Total_Exp_Month_Per_nondurable_Real)]
+ SMD[,crw:=cumsum(Weight)/sum(Weight),by=Region] # Cumulative Relative Weight
+
+ #Calculate deciles by weights
+ SMD[,Decile:=cut(crw,breaks = seq(0,1,.1),labels = 1:10),by=Region]
+ SMD[,Percentile:=cut(crw,breaks=seq(0,1,.01),labels=1:100),by=Region]
+
+ FirstSMD<-SMD[,.(HHID,Region,NewArea,NewArea_Name,Percentile,Decile)]
+ FirstSMD<-FirstSMD[,Realfirstpoor:=ifelse(Decile %in% 1:2,1,0)]
+ save(FirstSMD, file=paste0(Settings$HEISProcessedPath,"Y",year,"FirstSMD.rda"))
+
+ SMD[,NewPoor:=1]
+ SMD[,ThisIterationPoor:=0]
+ i <- 0
+ while(sum(SMD[,(ThisIterationPoor-NewPoor)^2])>=30 & i <=50){
+ i <- i+1
+ SMD[,pold:=Percentile]
+ SMD[,ThisIterationPoor:=ifelse(pold %in% Settings$InitialPoorPercentile,1,0)]
+ SMDIterationPoor<-SMD[ThisIterationPoor==TRUE]
+
+ T_P_Bundle_Value <- SMDIterationPoor[NewArea==2301, .(Bundle_Value,MetrPrice,Weight)]
+ TPBV1 <- T_P_Bundle_Value[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE)]
+ TPBV2 <- T_P_Bundle_Value[,weighted.mean(MetrPrice,Weight,na.rm = TRUE)]
+
+ Index <- SMDIterationPoor[,.(PriceIndex= (weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/TPBV1+
+ weighted.mean(MetrPrice,Weight,na.rm = TRUE)/TPBV2)/2)
+ ,by=.(Region,NewArea)]
+
+ SMD[,PriceIndex:=NULL]
+ SMD<- SMD[order(Region,NewArea)]
+ SMD <- merge(SMD,Index,by=c("Region","NewArea"))
+
+ SMD[,Total_Exp_Month_Per_nondurable_Real:=Total_Exp_Month_Per_nondurable/PriceIndex]
+
+ SMD<- SMD[order(Region,Total_Exp_Month_Per_nondurable_Real)]
+ SMD[,crw:=cumsum(Weight)/sum(Weight),by=Region] # Cumulative Relative Weight
+
+ #Calculate deciles by weights
+ SMD[,Decile:=cut(crw,breaks = seq(0,1,.1),labels = 1:10),by=Region]
+ SMD[,Percentile:=cut(crw,breaks=seq(0,1,.01),labels=1:100),by=Region]
+ SMD[,NewPoor:=ifelse(Percentile %in% Settings$InitialPoorPercentile,1,0)]
+ save(SMD,file=paste0(Settings$HEISProcessedPath,"Y",year,"SMD.rda"))
+
+
+ cat("\n",sum(SMD[,(ThisIterationPoor-NewPoor)^2]))
+ }
+ MD <- merge(MD,SMD[,.(HHID,Bundle_Value,NewPoor,Decile,Percentile)],by="HHID")
+ setnames(MD,"NewPoor","InitialPoor")
+
+ #Calculate per_Calory from resturants
+ #MD[,Calory_Price:=(FoodExpenditure_Per/FoodTKCalories_Per)]
+ #MD[,Calory_Price_Area:=weighted.median(Calory_Price,Weight,na.rm = TRUE),by=.(Region,NewArea)][order(Calory_Price)]
+ #MD[,ResturantKCalories:=ifelse(Decile %in% 1:2,(Settings$OutFoodTKCXShare12*Resturant_Exp)/Calory_Price_Area,
+ # ifelse(Decile %in% 3:6,(Settings$OutFoodTKCXShare3456*Resturant_Exp)/Calory_Price_Area,
+ # (Settings$OutFoodTKCXShare78910*Resturant_Exp)/Calory_Price_Area))]
+ #for (col in c("ResturantKCalories")) MD[is.na(get(col)), (col) := 0]
+ #MD[,TFoodTKCalories:=FoodTKCalories+ResturantKCalories]
+ #MD[,TFoodExpenditure:=FoodExpenditure+(Settings$OutFoodTKCXShare*Resturant_Exp)]
+ #MD[,TFoodExpenditure:=FoodExpenditure+ifelse(Decile %in% 1:2,(Settings$OutFoodTKCXShare12*Resturant_Exp),
+ # ifelse(Decile %in% 3:6,(Settings$OutFoodTKCXShare3456*Resturant_Exp),
+ # (Settings$OutFoodTKCXShare78910*Resturant_Exp)))]
+
+ #MD[,TFoodExpenditure_Per :=TFoodExpenditure/EqSizeCalory]
+ #MD[,TFoodTKCalories_Per:=TFoodTKCalories/EqSizeCalory]
+
+ MD[,weighted.mean(InitialPoor,Weight), by=.(NewArea,Region)]
+
+ save(MD,file=paste0(Settings$HEISProcessedPath,"Y",year,"InitialPoor.rda"))
+ MD2<-MD[,.(HHID,Region,NewArea,InitialPoor,Percentile,Weight)]
+ MDU<-MD2[Region=="Urban"]
+ MDR<-MD2[Region=="Rural"]
+ save(MDU,file=paste0(Settings$HEISProcessedPath,"Y",year,"InitialPoor2.rda"))
+ save(MDR,file=paste0(Settings$HEISProcessedPath,"Y",year,"InitialPoor3.rda"))
+}
+
+MD[,Benzin_Exp:=as.numeric(Benzin_Exp)]
+MD2<-MD[,.(HHID,HIndivNo,Region,NewArea_Name,Decile,Percentile,Size,Weight,Total_Exp_Month_Per_nondurable,Benzin_Exp)]
+MD2<-MD2[,Add_Benzin_Exp:=Benzin_Exp-600000]
+MD2<-MD2[,Add_Benzin_Exp:=ifelse(Add_Benzin_Exp<0,0,Add_Benzin_Exp)]
+MD2<-MD2[,Extra_Benzin:=ifelse(Add_Benzin_Exp>0,1,0)]
+MD2<-MD2[,Benzin_Positive:=ifelse(Benzin_Exp>0,1,0)]
+
+MD2<-MD2[,Decile_Add:=weighted.mean(Add_Benzin_Exp,Weight)*sum(Weight),by=.(Decile)]
+MD2[,weighted.mean(Add_Benzin_Exp,Weight)*sum(Weight),by=.(Decile)][order(Decile)]
+
+MD2<-MD2[,Decile_Total:=weighted.mean(Benzin_Exp,Weight)*sum(Weight),by=.(Decile)]
+MD2[,weighted.mean(Benzin_Exp,Weight)*sum(Weight),by=.(Decile)][order(Decile)]
+
+MD2<-MD2[,Ratio:=Decile_Add/Decile_Total]
+MD2[,weighted.mean(Ratio,Weight),by=.(Decile)][order(Decile)]
+
+MD2<-MD2[,Ratio2:=weighted.mean(Extra_Benzin,Weight),by=.(Decile)]
+MD2[,weighted.mean(Extra_Benzin,Weight),by=.(Decile)][order(Decile)]
+
+MD2<-MD2[Benzin_Positive==1,Ratio3:=weighted.mean(Extra_Benzin/HIndivNo,Weight),by=.(Decile)]
+MD2[Benzin_Positive==1,weighted.mean(Extra_Benzin/HIndivNo,Weight),by=.(Decile)][order(Decile)]
+
+MD2<-MD2[,Ratio4:=weighted.mean(Benzin_Positive,Weight),by=.(Decile)]
+MD2[,weighted.mean(Benzin_Positive,Weight),by=.(Decile)][order(Decile)]
+
+endtime <- proc.time()
+cat("\n\n============================\nIt took ")
+cat((endtime-starttime)["elapsed"])
+cat(" seconds")
\ No newline at end of file
diff --git a/R/Archive/November 2019/62-Poverty Line for Provinces.R b/R/Archive/November 2019/62-Poverty Line for Provinces.R
new file mode 100644
index 00000000..c61ade06
--- /dev/null
+++ b/R/Archive/November 2019/62-Poverty Line for Provinces.R
@@ -0,0 +1,281 @@
+#62-Poverty Line for Provinces
+#
+# Copyright © 2019:Majid Einian & Arin Shahbazian
+# Licence: GPL-3
+
+rm(list=ls())
+
+starttime <- proc.time()
+cat("\n\n================ Prepare Data =====================================\n")
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+library(readxl)
+library(data.table)
+library(ggplot2)
+library(spatstat)
+
+for(year in (Settings$startyear:Settings$endyear)){
+ cat(paste0("\n------------------------------\nYear:",year,"\n"))
+
+ # load data --------------------------------------
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"InitialPoor.rda"))
+
+ #Determine Food (Equal 2100 KCal) Bundle
+ MD[,NewPoor:=InitialPoor]
+ MD[,OldPoor:=1]
+
+ i <- 0
+ while(MD[(NewPoor-OldPoor)!=0,.N]>5 & i <=15){
+ i <- i + 1
+ MD[,ThisIterationPoor:=NewPoor]
+ MD[,FPLine:=NULL]
+ MDP <- MD[ThisIterationPoor==1,
+ .(FPLine=weighted.mean(Bundle_Value,Weight,na.rm = TRUE)),
+ by=.(NewArea,Region)]
+ MD <- merge(MD,MDP,by=c("Region","NewArea"))
+
+ x<-MD[,.(NewArea,Region,FPLine,InitialPoor)]
+ MD[,NewPoor:=ifelse(TFoodExpenditure_Per < FPLine,1,0)]
+ print(table(MD[,.(ThisIterationPoor,NewPoor)]))
+ MD[,OldPoor:=ThisIterationPoor]
+ }
+
+ MD[,FinalFoodPoor:=OldPoor]
+
+
+ save(MD,file=paste0(Settings$HEISProcessedPath,"Y",year,"FinalFoodPoor.rda"))
+
+ MDFinalfood<-MD[,.(HHID,Region,NewArea,NewArea_Name,Percentile,FinalFoodPoor)]
+}
+
+for(year in (Settings$startyear:Settings$endyear)){
+ cat(paste0("\nYear:",year,"\t"))
+
+ # load data --------------------------------------
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"FinalFoodPoor.rda"))
+
+
+ EngleD <- MD[TFoodExpenditure_Per<1.3*FPLine & TFoodExpenditure_Per>0.7*FPLine,
+ .(.N,Engel=weighted.mean(TFoodExpenditure/Total_Exp_Month,Weight),
+ FPLine=mean(FPLine),ProvinceCode=mean(ProvinceCode)),by=.(Region,NewArea_Name)]
+ EngleD[,PovertyLine:=FPLine/Engel]
+
+ MD[,EngelPersonal:=TFoodExpenditure/Total_Exp_Month]
+ TD<-MD[,PersonalPLine:=FPLine/EngelPersonal]
+ save(TD,file = paste0(Settings$HEISProcessedPath,"Y",year,"MD4test.rda"))
+
+ MD <- merge(MD,EngleD[,.(NewArea_Name,Region,PovertyLine,Engel)],by=c("Region","NewArea_Name"))
+ #MD<-MD[Region=="Urban" & NewArea==2301]
+ MD[,FinalPoor:=ifelse(Total_Exp_Month_Per < PovertyLine,1,0 )]
+ cat(MD[,weighted.mean(FinalPoor,Weight*Size)],"\t",
+ MD[,weighted.mean(PovertyLine,Weight* Size)],"\t",
+ MD[,weighted.mean(Engel,Weight*Size)],"\t",
+ MD[,weighted.mean(FPLine,Weight*Size)])
+
+ MD[,weighted.mean(FinalPoor,Weight*Size),by=c("ProvinceCode")][order(ProvinceCode)]
+
+ MD[,weighted.mean(FinalPoor,Weight*Size),by=c("Region","NewArea_Name")][order(Region,NewArea_Name)]
+ #MD[,weighted.mean(FinalPoor,Weight*Size),by=c("Region","cluster3")]
+ save(MD,file=paste0(Settings$HEISProcessedPath,"Y",year,"FINALPOORS.rda"))
+
+ y2<-EngleD[Region=="Urban",.(PovertyLine,NewArea_Name)]
+ y2$NewArea <- factor(y2$NewArea, levels = y2$NewArea[order(y2$PovertyLine)])
+ ggplot(y2, aes(x = y2$NewArea, y = y2$PovertyLine)) + theme_bw() + geom_bar(stat = "identity") + theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1))
+
+
+ x2<-EngleD[Region=="Rural",.(PovertyLine,NewArea_Name)]
+ x2$NewArea <- factor(x2$NewArea, levels = x2$NewArea[order(x2$PovertyLine)])
+ ggplot(x2, aes(x = x2$NewArea, y = x2$PovertyLine)) + theme_bw() + geom_bar(stat = "identity") + theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1))
+
+
+ load(file="Inflation9096.rda")
+ EngleD<-merge(EngleD,Inflation9096,by="ProvinceCode")
+
+ if (year==90) {
+ EngleD90<-EngleD[,PovertyLine9096:=PovertyLine*y9091*y9192*y9293*y9394*y9495*y9596]
+ EngleD90[,y9091:=NULL]
+ EngleD90[,y9192:=NULL]
+ EngleD90[,y9293:=NULL]
+ EngleD90[,y9394:=NULL]
+ EngleD90[,y9495:=NULL]
+ EngleD90[,y9596:=NULL]
+ save(EngleD90,file="EngleD90.rda")
+ }
+
+ if (year==91) {
+ EngleD91<-EngleD[,PovertyLine9196:=PovertyLine*y9192*y9293*y9394*y9495*y9596]
+ EngleD91[,y9091:=NULL]
+ EngleD91[,y9192:=NULL]
+ EngleD91[,y9293:=NULL]
+ EngleD91[,y9394:=NULL]
+ EngleD91[,y9495:=NULL]
+ EngleD91[,y9596:=NULL]
+ save(EngleD91,file="EngleD91.rda")
+ }
+
+ if (year==92) {
+ EngleD92<-EngleD[,PovertyLine9296:=PovertyLine*y9293*y9394*y9495*y9596]
+ EngleD92[,y9091:=NULL]
+ EngleD92[,y9192:=NULL]
+ EngleD92[,y9293:=NULL]
+ EngleD92[,y9394:=NULL]
+ EngleD92[,y9495:=NULL]
+ EngleD92[,y9596:=NULL]
+ save(EngleD92,file="EngleD92.rda")
+ }
+
+ if (year==93) {
+ EngleD93<-EngleD[,PovertyLine9396:=PovertyLine*y9394*y9495*y9596]
+ EngleD93[,y9091:=NULL]
+ EngleD93[,y9192:=NULL]
+ EngleD93[,y9293:=NULL]
+ EngleD93[,y9394:=NULL]
+ EngleD93[,y9495:=NULL]
+ EngleD93[,y9596:=NULL]
+ save(EngleD93,file="EngleD93.rda")
+ }
+
+ if (year==94) {
+ EngleD94<-EngleD[,PovertyLine9496:=PovertyLine*y9495*y9596]
+ EngleD94[,y9091:=NULL]
+ EngleD94[,y9192:=NULL]
+ EngleD94[,y9293:=NULL]
+ EngleD94[,y9394:=NULL]
+ EngleD94[,y9495:=NULL]
+ EngleD94[,y9596:=NULL]
+ save(EngleD94,file="EngleD94.rda")
+ }
+
+ if (year==95) {
+ EngleD95<-EngleD[,PovertyLine9596:=PovertyLine*y9596]
+ EngleD95[,y9091:=NULL]
+ EngleD95[,y9192:=NULL]
+ EngleD95[,y9293:=NULL]
+ EngleD95[,y9394:=NULL]
+ EngleD95[,y9495:=NULL]
+ EngleD95[,y9596:=NULL]
+ save(EngleD95,file="EngleD95.rda")
+ }
+
+ if (year==96) {
+ load(file="EngleD95.rda" )
+ load(file="EngleD94.rda" )
+ load(file="EngleD93.rda" )
+ load(file="EngleD92.rda" )
+ load(file="EngleD91.rda" )
+ load(file="EngleD90.rda" )
+ EngleD96<-EngleD[,PovertyLine9696:=PovertyLine]
+ save(EngleD96,file="EngleD96.rda")
+ EngleD96[,N:=NULL]
+ EngleD96[,Engel:=NULL]
+ EngleD96[,FPLine:=NULL]
+ EngleD96[,PovertyLine:=NULL]
+ EngleD96[,ProvinceCode:=NULL]
+ EngleD<-merge(EngleD96,EngleD95,by=c("Region","NewArea_Name"),all=TRUE)
+ EngleD[,y9091:=NULL]
+ EngleD[,y9192:=NULL]
+ EngleD[,y9293:=NULL]
+ EngleD[,y9394:=NULL]
+ EngleD[,y9495:=NULL]
+ EngleD[,y9596:=NULL]
+ EngleD[,N:=NULL]
+ EngleD[,Engel:=NULL]
+ EngleD[,FPLine:=NULL]
+ EngleD[,PovertyLine:=NULL]
+ EngleD[,ProvinceCode:=NULL]
+ EngleD<-merge(EngleD,EngleD94,by=c("Region","NewArea_Name"),all=TRUE)
+ EngleD[,y9091:=NULL]
+ EngleD[,y9192:=NULL]
+ EngleD[,y9293:=NULL]
+ EngleD[,y9394:=NULL]
+ EngleD[,y9495:=NULL]
+ EngleD[,y9596:=NULL]
+ EngleD[,N:=NULL]
+ EngleD[,Engel:=NULL]
+ EngleD[,FPLine:=NULL]
+ EngleD[,PovertyLine:=NULL]
+ EngleD[,ProvinceCode:=NULL]
+ EngleD<-merge(EngleD,EngleD93,by=c("Region","NewArea_Name"),all=TRUE)
+ EngleD[,y9091:=NULL]
+ EngleD[,y9192:=NULL]
+ EngleD[,y9293:=NULL]
+ EngleD[,y9394:=NULL]
+ EngleD[,y9495:=NULL]
+ EngleD[,y9596:=NULL]
+ EngleD[,N:=NULL]
+ EngleD[,Engel:=NULL]
+ EngleD[,FPLine:=NULL]
+ EngleD[,PovertyLine:=NULL]
+ EngleD[,ProvinceCode:=NULL]
+ EngleD<-merge(EngleD,EngleD92,by=c("Region","NewArea_Name"),all=TRUE)
+ EngleD[,y9091:=NULL]
+ EngleD[,y9192:=NULL]
+ EngleD[,y9293:=NULL]
+ EngleD[,y9394:=NULL]
+ EngleD[,y9495:=NULL]
+ EngleD[,y9596:=NULL]
+ EngleD[,N:=NULL]
+ EngleD[,Engel:=NULL]
+ EngleD[,FPLine:=NULL]
+ EngleD[,PovertyLine:=NULL]
+ EngleD[,ProvinceCode:=NULL]
+ EngleD<-merge(EngleD,EngleD91,by=c("Region","NewArea_Name"),all=TRUE)
+ EngleD[,y9091:=NULL]
+ EngleD[,y9192:=NULL]
+ EngleD[,y9293:=NULL]
+ EngleD[,y9394:=NULL]
+ EngleD[,y9495:=NULL]
+ EngleD[,y9596:=NULL]
+ EngleD[,N:=NULL]
+ EngleD[,Engel:=NULL]
+ EngleD[,FPLine:=NULL]
+ EngleD[,PovertyLine:=NULL]
+ EngleD[,ProvinceCode:=NULL]
+ EngleD<-merge(EngleD,EngleD90,by=c("Region","NewArea_Name"),all=TRUE)
+ EngleD[,y9091.x:=NULL]
+ EngleD[,y9192.x:=NULL]
+ EngleD[,y9293.x:=NULL]
+ EngleD[,y9394.x:=NULL]
+ EngleD[,y9495.x:=NULL]
+ EngleD[,y9091.y:=NULL]
+ EngleD[,y9192.y:=NULL]
+ EngleD[,y9293.y:=NULL]
+ EngleD[,y9394.y:=NULL]
+ EngleD[,y9495.y:=NULL]
+ EngleD[,N:=NULL]
+ EngleD[,Engel:=NULL]
+ EngleD[,FPLine:=NULL]
+ EngleD[,PovertyLine:=NULL]
+ EngleD[,ProvinceCode:=NULL]
+ EngleD[is.na(EngleD)] <- 0
+ w <- c( "PovertyLine9696", "PovertyLine9596",
+ "PovertyLine9496", "PovertyLine9396",
+ "PovertyLine9296", "PovertyLine9196",
+ "PovertyLine9096")
+
+ EngleD[, PovertyLineSum := Reduce(`+`, .SD), .SDcols=w]
+ EngleD[, PovertyLineMean :=ifelse((NewArea_Name=="Chaharmahal" & Region=="Rural") |
+ (NewArea_Name=="Khorasan_Jonoobi" & Region=="Rural"),
+ PovertyLineSum/6,ifelse(NewArea_Name=="Khorasan_Jonoobi" & Region=="Urban",
+ PovertyLineSum/5,PovertyLineSum/7))]
+
+
+ y2<-EngleD[Region=="Urban",.(PovertyLineMean,NewArea_Name)]
+ y2$NewArea <- factor(y2$NewArea, levels = y2$NewArea[order(y2$PovertyLineMean)])
+ ggplot(y2, aes(x = y2$NewArea, y = y2$PovertyLineMean)) + theme_bw() + geom_bar(stat = "identity") + theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1))
+
+
+ x2<-EngleD[Region=="Rural",.(PovertyLineMean,NewArea_Name)]
+ x2$NewArea <- factor(x2$NewArea, levels = x2$NewArea[order(x2$PovertyLineMean)])
+ ggplot(x2, aes(x = x2$NewArea, y = x2$PovertyLineMean)) + theme_bw() + geom_bar(stat = "identity") + theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1))
+
+ }
+
+}
+
+
+endtime <- proc.time()
+cat("\n\n============================\nIt took ")
+cat((endtime-starttime)["elapsed"])
+cat(" seconds")
\ No newline at end of file
diff --git a/R/Archive/November 2019/63-Personal Poverty line for provinces (other).R b/R/Archive/November 2019/63-Personal Poverty line for provinces (other).R
new file mode 100644
index 00000000..b72314f7
--- /dev/null
+++ b/R/Archive/November 2019/63-Personal Poverty line for provinces (other).R
@@ -0,0 +1,130 @@
+# 53-Personal Poverty line for provinces.R
+#
+# Copyright © 2019: Arin Shahbazian
+# Licence: GPL-3
+
+rm(list=ls())
+
+starttime <- proc.time()
+cat("\n\n================ Personal Pline =====================================\n")
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+library(readxl)
+library(data.table)
+library(ggplot2)
+library(spatstat)
+
+for(year in (Settings$startyear:Settings$endyear)){
+ cat(paste0("\nYear:",year,"\t"))
+
+load(file=paste0(Settings$HEISProcessedPath,"Y",year,"MD4test.rda"))
+
+MDH <- TD[ TFoodExpenditure_Per>0.8*FPLine & TFoodExpenditure_Per<1.2*FPLine]
+
+
+PPH <- MDH[ ,.(.N,PPLine=weighted.mean(PersonalPLine,Weight),
+ FPLine=mean(FPLine),EngelPersonal=mean(EngelPersonal)),by=.(Region,NewArea_Name)]
+
+if (year==90) {
+ PPH90<-PPH[,PPLine9096:=PPLine*1.305*1.347*1.156*1.119*1.09*1.096]
+ save(PPH90,file="PPH90.rda")
+}
+
+if (year==91) {
+ PPH91<-PPH[,PPLine9196:=PPLine*1.347*1.156*1.119*1.09*1.096]
+ save(PPH91,file="PPH91.rda")
+}
+
+if (year==92) {
+ PPH92<-PPH[,PPLine9296:=PPLine*1.156*1.119*1.09*1.096]
+ save(PPH92,file="PPH92.rda")
+}
+
+if (year==93) {
+ PPH93<-PPH[,PPLine9396:=PPLine*1.119*1.09*1.096]
+ save(PPH93,file="PPH93.rda")
+}
+
+if (year==94) {
+ PPH94<-PPH[,PPLine9496:=PPLine*1.09*1.096]
+ save(PPH94,file="PPH94.rda")
+}
+
+if (year==95) {
+ PPH95<-PPH[,PPLine9596:=PPLine*1.096]
+ save(PPH95,file="PPH95.rda")
+}
+
+if (year==96) {
+ load(file="PPH95.rda" )
+ load(file="PPH94.rda" )
+ load(file="PPH93.rda" )
+ load(file="PPH92.rda" )
+ load(file="PPH91.rda" )
+ load(file="PPH90.rda" )
+ PPH96<-PPH[,PPLine9696:=PPLine]
+ save(PPH96,file="PPH96.rda")
+ PPH96[,N:=NULL]
+ PPH96[,EngelPersonal:=NULL]
+ PPH96[,FPLine:=NULL]
+ PPH96[,PPLine:=NULL]
+ PPH<-merge(PPH96,PPH95,by=c("Region","NewArea_Name"),all=TRUE)
+ PPH[,N:=NULL]
+ PPH[,EngelPersonal:=NULL]
+ PPH[,FPLine:=NULL]
+ PPH[,PPLine:=NULL]
+ PPH<-merge(PPH,PPH94,by=c("Region","NewArea_Name"),all=TRUE)
+ PPH[,N:=NULL]
+ PPH[,EngelPersonal:=NULL]
+ PPH[,FPLine:=NULL]
+ PPH[,PPLine:=NULL]
+ PPH<-merge(PPH,PPH93,by=c("Region","NewArea_Name"),all=TRUE)
+ PPH[,N:=NULL]
+ PPH[,EngelPersonal:=NULL]
+ PPH[,FPLine:=NULL]
+ PPH[,PPLine:=NULL]
+ PPH<-merge(PPH,PPH92,by=c("Region","NewArea_Name"),all=TRUE)
+ PPH[,N:=NULL]
+ PPH[,EngelPersonal:=NULL]
+ PPH[,FPLine:=NULL]
+ PPH[,PPLine:=NULL]
+ PPH<-merge(PPH,PPH91,by=c("Region","NewArea_Name"),all=TRUE)
+ PPH[,N:=NULL]
+ PPH[,EngelPersonal:=NULL]
+ PPH[,FPLine:=NULL]
+ PPH[,PPLine:=NULL]
+ PPH<-merge(PPH,PPH90,by=c("Region","NewArea_Name"),all=TRUE)
+ PPH[,N:=NULL]
+ PPH[,EngelPersonal:=NULL]
+ PPH[,FPLine:=NULL]
+ PPH[,PPLine:=NULL]
+ PPH[is.na(PPH)] <- 0
+ w <- c( "PPLine9696", "PPLine9596",
+ "PPLine9496", "PPLine9396",
+ "PPLine9296", "PPLine9196",
+ "PPLine9096")
+
+ PPH[, PPLineSum := Reduce(`+`, .SD), .SDcols=w]
+ PPH[, PPLineMean :=ifelse((NewArea_Name=="Chaharmahal" & Region=="Rural") |
+ (NewArea_Name=="Khorasan_Jonoobi" & Region=="Rural"),
+ PPLineSum/6,ifelse(NewArea_Name=="Khorasan_Jonoobi" & Region=="Urban",
+ PPLineSum/5,PPLineSum/7))]
+
+
+ y2<-PPH[Region=="Urban",.(PPLineMean,NewArea_Name)]
+ y2$NewArea <- factor(y2$NewArea, levels = y2$NewArea[order(y2$PPLineMean)])
+ ggplot(y2, aes(x = y2$NewArea, y = y2$PPLineMean)) + theme_bw() + geom_bar(stat = "identity") + theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1))
+
+
+ x2<-PPH[Region=="Rural",.(PPLineMean,NewArea_Name)]
+ x2$NewArea <- factor(x2$NewArea, levels = x2$NewArea[order(x2$PPLineMean)])
+ ggplot(x2, aes(x = x2$NewArea, y = x2$PPLineMean)) + theme_bw() + geom_bar(stat = "identity") + theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1))
+
+}
+}
+
+endtime <- proc.time()
+cat("\n\n============================\nIt took ")
+cat((endtime-starttime)["elapsed"])
+cat(" seconds")
\ No newline at end of file
diff --git a/R/Archive/November 2019/64- TTests for PLines (other).R b/R/Archive/November 2019/64- TTests for PLines (other).R
new file mode 100644
index 00000000..d33f2f95
--- /dev/null
+++ b/R/Archive/November 2019/64- TTests for PLines (other).R
@@ -0,0 +1,357 @@
+# 57-T-Test for PLines in Clusters.R
+#
+# Copyright © 2019: Arin Shahbazian
+# Licence: GPL-3
+
+rm(list=ls())
+
+starttime <- proc.time()
+cat("\n\n================ T-Tests =====================================\n")
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+library(readxl)
+library(data.table)
+library(ggplot2)
+library(spatstat)
+
+year<-93
+load(file=paste0(Settings$HEISProcessedPath,"Y",year,"MD4test.rda"))
+
+MDH <- TD[ TFoodExpenditure_Per>0.8*FPLine & TFoodExpenditure_Per<1.2*FPLine]
+
+##############################################
+PPH <- MDH[ ,.(.N,PPLine=weighted.mean(PersonalPLine,Weight),
+ FPLine=mean(FPLine),EngelPersonal=mean(EngelPersonal)),by=.(Region,NewArea_Name)]
+
+
+y2<-PPH[Region=="Urban",.(PPLine,NewArea_Name)]
+y2$NewArea <- factor(y2$NewArea, levels = y2$NewArea[order(y2$PPLine)])
+ggplot(y2, aes(x = y2$NewArea, y = y2$PPLine)) + theme_bw() + geom_bar(stat = "identity") + theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1))
+
+
+x2<-PPH[Region=="Rural",.(PPLine,NewArea_Name)]
+x2$NewArea <- factor(x2$NewArea, levels = x2$NewArea[order(x2$PPLine)])
+ggplot(x2, aes(x = x2$NewArea, y = x2$PPLine)) + theme_bw() + geom_bar(stat = "identity") + theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1))
+
+###############Urban###############
+#####Cluster 2
+a<-MDH[Region=="Urban" & NewArea==707,.(PersonalPLine,cluster3,NewArea_Name)]
+b<-MDH[Region=="Urban" & NewArea!=707 & cluster3==2,.(PersonalPLine,cluster3,NewArea_Name)]
+t.test(a$PersonalPLine,b$PersonalPLine, var.equal=TRUE, paired=FALSE)
+
+a<-MDH[Region=="Urban" & NewArea==1002,.(PersonalPLine,cluster3,NewArea_Name)]
+b<-MDH[Region=="Urban" & NewArea!=1002 & cluster3==2,.(PersonalPLine,cluster3,NewArea_Name)]
+t.test(a$PersonalPLine,b$PersonalPLine, var.equal=TRUE, paired=FALSE)
+
+a<-MDH[Region=="Urban" & NewArea==3001,.(PersonalPLine,cluster3,NewArea_Name)]
+b<-MDH[Region=="Urban" & NewArea!=3001 & cluster3==2,.(PersonalPLine,cluster3,NewArea_Name)]
+t.test(a$PersonalPLine,b$PersonalPLine, var.equal=TRUE, paired=FALSE)
+
+a<-MDH[Region=="Urban" & NewArea==2202,.(PersonalPLine,cluster3,NewArea_Name)]
+b<-MDH[Region=="Urban" & NewArea!=2202 & cluster3==2,.(PersonalPLine,cluster3,NewArea_Name)]
+t.test(a$PersonalPLine,b$PersonalPLine, var.equal=TRUE, paired=FALSE)
+
+#####Cluster 8
+a<-MDH[Region=="Urban" & NewArea==30,.(PersonalPLine,cluster3,NewArea_Name)]
+b<-MDH[Region=="Urban" & NewArea!=30 & cluster3==8,.(PersonalPLine,cluster3,NewArea_Name)]
+t.test(a$PersonalPLine,b$PersonalPLine, var.equal=TRUE, paired=FALSE)
+
+a<-MDH[Region=="Urban" & NewArea_Name=="Gilan",.(PersonalPLine,cluster3,NewArea_Name)]
+b<-MDH[Region=="Urban" & NewArea_Name!="Gilan" & cluster3==8,.(PersonalPLine,cluster3,NewArea_Name)]
+t.test(a$PersonalPLine,b$PersonalPLine, var.equal=TRUE, paired=FALSE)
+
+
+#####Cluster 3
+a<-MDH[Region=="Urban" & NewArea==23,.(PersonalPLine,cluster3,NewArea_Name)]
+b<-MDH[Region=="Urban" & NewArea!=23 & cluster3==3,.(PersonalPLine,cluster3,NewArea_Name)]
+t.test(a$PersonalPLine,b$PersonalPLine, var.equal=TRUE, paired=FALSE)
+
+
+a<-MDH[Region=="Urban" & NewArea_Name=="Sh_Arak",.(PersonalPLine,cluster3,NewArea_Name)]
+b<-MDH[Region=="Urban" & NewArea_Name!="Sh_Arak" & cluster3==3,.(PersonalPLine,cluster3,NewArea_Name)]
+t.test(a$PersonalPLine,b$PersonalPLine, var.equal=TRUE, paired=FALSE)
+
+a<-MDH[Region=="Urban" & NewArea==17,.(PersonalPLine,cluster3,NewArea_Name)]
+b<-MDH[Region=="Urban" & NewArea!=17 & cluster3==3,.(PersonalPLine,cluster3,NewArea_Name)]
+t.test(a$PersonalPLine,b$PersonalPLine, var.equal=TRUE, paired=FALSE)
+
+a<-MDH[Region=="Urban" & NewArea==2,.(PersonalPLine,cluster3,NewArea_Name)]
+b<-MDH[Region=="Urban" & NewArea!=2 & cluster3==3,.(PersonalPLine,cluster3,NewArea_Name)]
+t.test(a$PersonalPLine,b$PersonalPLine, var.equal=TRUE, paired=FALSE)
+
+
+a<-MDH[Region=="Urban" & NewArea==916,.(PersonalPLine,cluster3,NewArea_Name)]
+b<-MDH[Region=="Urban" & NewArea!=916 & cluster3==3,.(PersonalPLine,cluster3,NewArea_Name)]
+t.test(a$PersonalPLine,b$PersonalPLine, var.equal=TRUE, paired=FALSE)
+
+a<-MDH[Region=="Urban" & NewArea==303,.(PersonalPLine,cluster3,NewArea_Name)]
+b<-MDH[Region=="Urban" & NewArea!=303 & cluster3==3,.(PersonalPLine,cluster3,NewArea_Name)]
+t.test(a$PersonalPLine,b$PersonalPLine, var.equal=TRUE, paired=FALSE)
+
+a<-MDH[Region=="Urban" & NewArea==25,.(PersonalPLine,cluster3,NewArea_Name)]
+b<-MDH[Region=="Urban" & NewArea!=25 & cluster3==3,.(PersonalPLine,cluster3,NewArea_Name)]
+t.test(a$PersonalPLine,b$PersonalPLine, var.equal=TRUE, paired=FALSE)
+
+a<-MDH[Region=="Urban" & NewArea==808,.(PersonalPLine,cluster3,NewArea_Name)]
+b<-MDH[Region=="Urban" & NewArea!=808 & cluster3==3,.(PersonalPLine,cluster3,NewArea_Name)]
+t.test(a$PersonalPLine,b$PersonalPLine, var.equal=TRUE, paired=FALSE)
+
+a<-MDH[Region=="Urban" & NewArea==603,.(PersonalPLine,cluster3,NewArea_Name)]
+b<-MDH[Region=="Urban" & NewArea!=603 & cluster3==3,.(PersonalPLine,cluster3,NewArea_Name)]
+t.test(a$PersonalPLine,b$PersonalPLine, var.equal=TRUE, paired=FALSE)
+
+a<-MDH[Region=="Urban" & NewArea==0,.(PersonalPLine,cluster3,NewArea_Name)]
+b<-MDH[Region=="Urban" & NewArea!=0 & cluster3==3,.(PersonalPLine,cluster3,NewArea_Name)]
+t.test(a$PersonalPLine,b$PersonalPLine, var.equal=TRUE, paired=FALSE)
+
+a<-MDH[Region=="Urban" & NewArea==22,.(PersonalPLine,cluster3,NewArea_Name)]
+b<-MDH[Region=="Urban" & NewArea!=22 & cluster3==3,.(PersonalPLine,cluster3,NewArea_Name)]
+t.test(a$PersonalPLine,b$PersonalPLine, var.equal=TRUE, paired=FALSE)
+
+a<-MDH[Region=="Urban" & NewArea==21,.(PersonalPLine,cluster3,NewArea_Name)]
+b<-MDH[Region=="Urban" & NewArea!=21 & cluster3==3,.(PersonalPLine,cluster3,NewArea_Name)]
+t.test(a$PersonalPLine,b$PersonalPLine, var.equal=TRUE, paired=FALSE)
+
+a<-MDH[Region=="Urban" & NewArea==7,.(PersonalPLine,cluster3,NewArea_Name)]
+b<-MDH[Region=="Urban" & NewArea!=7 & cluster3==3,.(PersonalPLine,cluster3,NewArea_Name)]
+t.test(a$PersonalPLine,b$PersonalPLine, var.equal=TRUE, paired=FALSE)
+
+a<-MDH[Region=="Urban" & NewArea==26,.(PersonalPLine,cluster3,NewArea_Name)]
+b<-MDH[Region=="Urban" & NewArea!=26 & cluster3==3,.(PersonalPLine,cluster3,NewArea_Name)]
+t.test(a$PersonalPLine,b$PersonalPLine, var.equal=TRUE, paired=FALSE)
+
+a<-MDH[Region=="Urban" & NewArea==10,.(PersonalPLine,cluster3,NewArea_Name)]
+b<-MDH[Region=="Urban" & NewArea!=10 & cluster3==3,.(PersonalPLine,cluster3,NewArea_Name)]
+t.test(a$PersonalPLine,b$PersonalPLine, var.equal=TRUE, paired=FALSE)
+
+a<-MDH[Region=="Urban" & NewArea==13,.(PersonalPLine,cluster3,NewArea_Name)]
+b<-MDH[Region=="Urban" & NewArea!=13 & cluster3==3,.(PersonalPLine,cluster3,NewArea_Name)]
+t.test(a$PersonalPLine,b$PersonalPLine, var.equal=TRUE, paired=FALSE)
+
+a<-MDH[Region=="Urban" & NewArea==20,.(PersonalPLine,cluster3,NewArea_Name)]
+b<-MDH[Region=="Urban" & NewArea!=20 & cluster3==3,.(PersonalPLine,cluster3,NewArea_Name)]
+t.test(a$PersonalPLine,b$PersonalPLine, var.equal=TRUE, paired=FALSE)
+
+
+#####Cluster 4
+a<-MDH[Region=="Urban" & NewArea==3,.(PersonalPLine,cluster3,NewArea_Name)]
+b<-MDH[Region=="Urban" & NewArea!=3 & cluster3==4,.(PersonalPLine,cluster3,NewArea_Name)]
+t.test(a$PersonalPLine,b$PersonalPLine, var.equal=TRUE, paired=FALSE)
+
+a<-MDH[Region=="Urban" & NewArea==8,.(PersonalPLine,cluster3,NewArea_Name)]
+b<-MDH[Region=="Urban" & NewArea!=8 & cluster3==4,.(PersonalPLine,cluster3,NewArea_Name)]
+t.test(a$PersonalPLine,b$PersonalPLine, var.equal=TRUE, paired=FALSE)
+
+a<-MDH[Region=="Urban" & NewArea==19,.(PersonalPLine,cluster3,NewArea_Name)]
+b<-MDH[Region=="Urban" & NewArea!=19 & cluster3==4,.(PersonalPLine,cluster3,NewArea_Name)]
+t.test(a$PersonalPLine,b$PersonalPLine, var.equal=TRUE, paired=FALSE)
+
+a<-MDH[Region=="Urban" & NewArea==12,.(PersonalPLine,cluster3,NewArea_Name)]
+b<-MDH[Region=="Urban" & NewArea!=12 & cluster3==4,.(PersonalPLine,cluster3,NewArea_Name)]
+t.test(a$PersonalPLine,b$PersonalPLine, var.equal=TRUE, paired=FALSE)
+
+a<-MDH[Region=="Urban" & NewArea==18,.(PersonalPLine,cluster3,NewArea_Name)]
+b<-MDH[Region=="Urban" & NewArea!=18 & cluster3==4,.(PersonalPLine,cluster3,NewArea_Name)]
+t.test(a$PersonalPLine,b$PersonalPLine, var.equal=TRUE, paired=FALSE)
+
+a<-MDH[Region=="Urban" & NewArea==24,.(PersonalPLine,cluster3,NewArea_Name)]
+b<-MDH[Region=="Urban" & NewArea!=24 & cluster3==4,.(PersonalPLine,cluster3,NewArea_Name)]
+t.test(a$PersonalPLine,b$PersonalPLine, var.equal=TRUE, paired=FALSE)
+
+a<-MDH[Region=="Urban" & NewArea==14,.(PersonalPLine,cluster3,NewArea_Name)]
+b<-MDH[Region=="Urban" & NewArea!=14 & cluster3==4,.(PersonalPLine,cluster3,NewArea_Name)]
+t.test(a$PersonalPLine,b$PersonalPLine, var.equal=TRUE, paired=FALSE)
+
+a<-MDH[Region=="Urban" & NewArea==9,.(PersonalPLine,cluster3,NewArea_Name)]
+b<-MDH[Region=="Urban" & NewArea!=9 & cluster3==4,.(PersonalPLine,cluster3,NewArea_Name)]
+t.test(a$PersonalPLine,b$PersonalPLine, var.equal=TRUE, paired=FALSE)
+
+#####Cluster 5
+a<-MDH[Region=="Urban" & NewArea==6,.(PersonalPLine,cluster3,NewArea_Name)]
+b<-MDH[Region=="Urban" & NewArea!=6 & cluster3==5,.(PersonalPLine,cluster3,NewArea_Name)]
+t.test(a$PersonalPLine,b$PersonalPLine, var.equal=TRUE, paired=FALSE)
+
+a<-MDH[Region=="Urban" & NewArea==16,.(PersonalPLine,cluster3,NewArea_Name)]
+b<-MDH[Region=="Urban" & NewArea!=16 & cluster3==5,.(PersonalPLine,cluster3,NewArea_Name)]
+t.test(a$PersonalPLine,b$PersonalPLine, var.equal=TRUE, paired=FALSE)
+
+a<-MDH[Region=="Urban" & NewArea==29,.(PersonalPLine,cluster3,NewArea_Name)]
+b<-MDH[Region=="Urban" & NewArea!=29 & cluster3==5,.(PersonalPLine,cluster3,NewArea_Name)]
+t.test(a$PersonalPLine,b$PersonalPLine, var.equal=TRUE, paired=FALSE)
+
+a<-MDH[Region=="Urban" & NewArea==4,.(PersonalPLine,cluster3,NewArea_Name)]
+b<-MDH[Region=="Urban" & NewArea!=4 & cluster3==5,.(PersonalPLine,cluster3,NewArea_Name)]
+t.test(a$PersonalPLine,b$PersonalPLine, var.equal=TRUE, paired=FALSE)
+
+a<-MDH[Region=="Urban" & NewArea==401,.(PersonalPLine,cluster3,NewArea_Name)]
+b<-MDH[Region=="Urban" & NewArea!=401 & cluster3==5,.(PersonalPLine,cluster3,NewArea_Name)]
+t.test(a$PersonalPLine,b$PersonalPLine, var.equal=TRUE, paired=FALSE)
+
+a<-MDH[Region=="Urban" & NewArea==15,.(PersonalPLine,cluster3,NewArea_Name)]
+b<-MDH[Region=="Urban" & NewArea!=15 & cluster3==5,.(PersonalPLine,cluster3,NewArea_Name)]
+t.test(a$PersonalPLine,b$PersonalPLine, var.equal=TRUE, paired=FALSE)
+
+a<-MDH[Region=="Urban" & NewArea==5,.(PersonalPLine,cluster3,NewArea_Name)]
+b<-MDH[Region=="Urban" & NewArea!=5 & cluster3==5,.(PersonalPLine,cluster3,NewArea_Name)]
+t.test(a$PersonalPLine,b$PersonalPLine, var.equal=TRUE, paired=FALSE)
+
+a<-MDH[Region=="Urban" & NewArea==502,.(PersonalPLine,cluster3,NewArea_Name)]
+b<-MDH[Region=="Urban" & NewArea!=502 & cluster3==5,.(PersonalPLine,cluster3,NewArea_Name)]
+t.test(a$PersonalPLine,b$PersonalPLine, var.equal=TRUE, paired=FALSE)
+
+#####Cluster 6
+a<-MDH[Region=="Urban" & NewArea==28,.(PersonalPLine,cluster3,NewArea_Name)]
+b<-MDH[Region=="Urban" & NewArea!=28 & cluster3==6,.(PersonalPLine,cluster3,NewArea_Name)]
+t.test(a$PersonalPLine,b$PersonalPLine, var.equal=TRUE, paired=FALSE)
+
+a<-MDH[Region=="Urban" & NewArea==27,.(PersonalPLine,cluster3,NewArea_Name)]
+b<-MDH[Region=="Urban" & NewArea!=27 & cluster3==6,.(PersonalPLine,cluster3,NewArea_Name)]
+t.test(a$PersonalPLine,b$PersonalPLine, var.equal=TRUE, paired=FALSE)
+
+a<-MDH[Region=="Urban" & NewArea==1105,.(PersonalPLine,cluster3,NewArea_Name)]
+b<-MDH[Region=="Urban" & NewArea!=1105 & cluster3==6,.(PersonalPLine,cluster3,NewArea_Name)]
+t.test(a$PersonalPLine,b$PersonalPLine, var.equal=TRUE, paired=FALSE)
+
+###############Rural###############
+#####Cluster 1
+a<-MDH[Region=="Rural" & NewArea==30,.(PersonalPLine,cluster3,NewArea_Name)]
+b<-MDH[Region=="Rural" & NewArea!=30 & cluster3==1,.(PersonalPLine,cluster3,NewArea_Name)]
+t.test(a$PersonalPLine,b$PersonalPLine, var.equal=TRUE, paired=FALSE)
+
+a<-MDH[Region=="Rural" & NewArea==23,.(PersonalPLine,cluster3,NewArea_Name)]
+b<-MDH[Region=="Rural" & NewArea!=23 & cluster3==1,.(PersonalPLine,cluster3,NewArea_Name)]
+t.test(a$PersonalPLine,b$PersonalPLine, var.equal=TRUE, paired=FALSE)
+
+#####Cluster 2
+a<-MDH[Region=="Rural" & NewArea==2,.(PersonalPLine,cluster3,NewArea_Name)]
+b<-MDH[Region=="Rural" & NewArea!=2 & cluster3==2,.(PersonalPLine,cluster3,NewArea_Name)]
+t.test(a$PersonalPLine,b$PersonalPLine, var.equal=TRUE, paired=FALSE)
+
+a<-MDH[Region=="Rural" & NewArea==10,.(PersonalPLine,cluster3,NewArea_Name)]
+b<-MDH[Region=="Rural" & NewArea!=10 & cluster3==2,.(PersonalPLine,cluster3,NewArea_Name)]
+t.test(a$PersonalPLine,b$PersonalPLine, var.equal=TRUE, paired=FALSE)
+
+###Cluster3
+a<-MDH[Region=="Rural" & NewArea==1,.(PersonalPLine,cluster3,NewArea_Name)]
+b<-MDH[Region=="Rural" & NewArea!=1 & cluster3==3,.(PersonalPLine,cluster3,NewArea_Name)]
+t.test(a$PersonalPLine,b$PersonalPLine, var.equal=TRUE, paired=FALSE)
+
+
+a<-MDH[Region=="Rural" & NewArea==21,.(PersonalPLine,cluster3,NewArea_Name)]
+b<-MDH[Region=="Rural" & NewArea!=21 & cluster3==3,.(PersonalPLine,cluster3,NewArea_Name)]
+t.test(a$PersonalPLine,b$PersonalPLine, var.equal=TRUE, paired=FALSE)
+
+a<-MDH[Region=="Rural" & NewArea==17,.(PersonalPLine,cluster3,NewArea_Name)]
+b<-MDH[Region=="Rural" & NewArea!=17 & cluster3==3,.(PersonalPLine,cluster3,NewArea_Name)]
+t.test(a$PersonalPLine,b$PersonalPLine, var.equal=TRUE, paired=FALSE)
+
+a<-MDH[Region=="Rural" & NewArea==18,.(PersonalPLine,cluster3,NewArea_Name)]
+b<-MDH[Region=="Rural" & NewArea!=18 & cluster3==3,.(PersonalPLine,cluster3,NewArea_Name)]
+t.test(a$PersonalPLine,b$PersonalPLine, var.equal=TRUE, paired=FALSE)
+
+
+#####Cluster 4
+a<-MDH[Region=="Rural" & NewArea==22,.(PersonalPLine,cluster3,NewArea_Name)]
+b<-MDH[Region=="Rural" & NewArea!=22 & cluster3==4,.(PersonalPLine,cluster3,NewArea_Name)]
+t.test(a$PersonalPLine,b$PersonalPLine, var.equal=TRUE, paired=FALSE)
+
+a<-MDH[Region=="Rural" & NewArea==3,.(PersonalPLine,cluster3,NewArea_Name)]
+b<-MDH[Region=="Rural" & NewArea!=3 & cluster3==4,.(PersonalPLine,cluster3,NewArea_Name)]
+t.test(a$PersonalPLine,b$PersonalPLine, var.equal=TRUE, paired=FALSE)
+
+a<-MDH[Region=="Rural" & NewArea==7,.(PersonalPLine,cluster3,NewArea_Name)]
+b<-MDH[Region=="Rural" & NewArea!=7 & cluster3==4,.(PersonalPLine,cluster3,NewArea_Name)]
+t.test(a$PersonalPLine,b$PersonalPLine, var.equal=TRUE, paired=FALSE)
+
+a<-MDH[Region=="Rural" & NewArea==25,.(PersonalPLine,cluster3,NewArea_Name)]
+b<-MDH[Region=="Rural" & NewArea!=25 & cluster3==4,.(PersonalPLine,cluster3,NewArea_Name)]
+t.test(a$PersonalPLine,b$PersonalPLine, var.equal=TRUE, paired=FALSE)
+
+a<-MDH[Region=="Rural" & NewArea==26,.(PersonalPLine,cluster3,NewArea_Name)]
+b<-MDH[Region=="Rural" & NewArea!=26 & cluster3==4,.(PersonalPLine,cluster3,NewArea_Name)]
+t.test(a$PersonalPLine,b$PersonalPLine, var.equal=TRUE, paired=FALSE)
+
+a<-MDH[Region=="Rural" & NewArea==20,.(PersonalPLine,cluster3,NewArea_Name)]
+b<-MDH[Region=="Rural" & NewArea!=20 & cluster3==4,.(PersonalPLine,cluster3,NewArea_Name)]
+t.test(a$PersonalPLine,b$PersonalPLine, var.equal=TRUE, paired=FALSE)
+
+#####Cluster 8
+a<-MDH[Region=="Rural" & NewArea==0,.(PersonalPLine,cluster3,NewArea_Name)]
+b<-MDH[Region=="Rural" & NewArea!=0 & cluster3==8,.(PersonalPLine,cluster3,NewArea_Name)]
+t.test(a$PersonalPLine,b$PersonalPLine, var.equal=TRUE, paired=FALSE)
+
+a<-MDH[Region=="Rural" & NewArea==19,.(PersonalPLine,cluster3,NewArea_Name)]
+b<-MDH[Region=="Rural" & NewArea!=19 & cluster3==8,.(PersonalPLine,cluster3,NewArea_Name)]
+t.test(a$PersonalPLine,b$PersonalPLine, var.equal=TRUE, paired=FALSE)
+
+a<-MDH[Region=="Rural" & NewArea==13,.(PersonalPLine,cluster3,NewArea_Name)]
+b<-MDH[Region=="Rural" & NewArea!=13 & cluster3==8,.(PersonalPLine,cluster3,NewArea_Name)]
+t.test(a$PersonalPLine,b$PersonalPLine, var.equal=TRUE, paired=FALSE)
+
+
+#####Cluster 5
+
+a<-MDH[Region=="Rural" & NewArea==6,.(PersonalPLine,cluster3,NewArea_Name)]
+b<-MDH[Region=="Rural" & NewArea!=6 & cluster3==5,.(PersonalPLine,cluster3,NewArea_Name)]
+t.test(a$PersonalPLine,b$PersonalPLine, var.equal=TRUE, paired=FALSE)
+
+a<-MDH[Region=="Rural" & NewArea==12,.(PersonalPLine,cluster3,NewArea_Name)]
+b<-MDH[Region=="Rural" & NewArea!=12 & cluster3==5,.(PersonalPLine,cluster3,NewArea_Name)]
+t.test(a$PersonalPLine,b$PersonalPLine, var.equal=TRUE, paired=FALSE)
+
+a<-MDH[Region=="Rural" & NewArea==14,.(PersonalPLine,cluster3,NewArea_Name)]
+b<-MDH[Region=="Rural" & NewArea!=14 & cluster3==5,.(PersonalPLine,cluster3,NewArea_Name)]
+t.test(a$PersonalPLine,b$PersonalPLine, var.equal=TRUE, paired=FALSE)
+
+
+a<-MDH[Region=="Rural" & NewArea==24,.(PersonalPLine,cluster3,NewArea_Name)]
+b<-MDH[Region=="Rural" & NewArea!=24 & cluster3==5,.(PersonalPLine,cluster3,NewArea_Name)]
+t.test(a$PersonalPLine,b$PersonalPLine, var.equal=TRUE, paired=FALSE)
+
+a<-MDH[Region=="Rural" & NewArea==5,.(PersonalPLine,cluster3,NewArea_Name)]
+b<-MDH[Region=="Rural" & NewArea!=5 & cluster3==5,.(PersonalPLine,cluster3,NewArea_Name)]
+t.test(a$PersonalPLine,b$PersonalPLine, var.equal=TRUE, paired=FALSE)
+
+a<-MDH[Region=="Rural" & NewArea==8,.(PersonalPLine,cluster3,NewArea_Name)]
+b<-MDH[Region=="Rural" & NewArea!=8 & cluster3==5,.(PersonalPLine,cluster3,NewArea_Name)]
+t.test(a$PersonalPLine,b$PersonalPLine, var.equal=TRUE, paired=FALSE)
+
+a<-MDH[Region=="Rural" & NewArea==9,.(PersonalPLine,cluster3,NewArea_Name)]
+b<-MDH[Region=="Rural" & NewArea!=9 & cluster3==5,.(PersonalPLine,cluster3,NewArea_Name)]
+t.test(a$PersonalPLine,b$PersonalPLine, var.equal=TRUE, paired=FALSE)
+
+
+a<-MDH[Region=="Rural" & NewArea==27,.(PersonalPLine,cluster3,NewArea_Name)]
+b<-MDH[Region=="Rural" & NewArea!=27 & cluster3==5,.(PersonalPLine,cluster3,NewArea_Name)]
+t.test(a$PersonalPLine,b$PersonalPLine, var.equal=TRUE, paired=FALSE)
+
+
+#####Cluster 6
+a<-MDH[Region=="Rural" & NewArea==4,.(PersonalPLine,cluster3,NewArea_Name)]
+b<-MDH[Region=="Rural" & NewArea!=4 & cluster3==6,.(PersonalPLine,cluster3,NewArea_Name)]
+t.test(a$PersonalPLine,b$PersonalPLine, var.equal=TRUE, paired=FALSE)
+
+a<-MDH[Region=="Rural" & NewArea==15,.(PersonalPLine,cluster3,NewArea_Name)]
+b<-MDH[Region=="Rural" & NewArea!=15 & cluster3==6,.(PersonalPLine,cluster3,NewArea_Name)]
+t.test(a$PersonalPLine,b$PersonalPLine, var.equal=TRUE, paired=FALSE)
+
+a<-MDH[Region=="Rural" & NewArea==16,.(PersonalPLine,cluster3,NewArea_Name)]
+b<-MDH[Region=="Rural" & NewArea!=16 & cluster3==6,.(PersonalPLine,cluster3,NewArea_Name)]
+t.test(a$PersonalPLine,b$PersonalPLine, var.equal=TRUE, paired=FALSE)
+
+a<-MDH[Region=="Rural" & NewArea==28,.(PersonalPLine,cluster3,NewArea_Name)]
+b<-MDH[Region=="Rural" & NewArea!=28 & cluster3==6,.(PersonalPLine,cluster3,NewArea_Name)]
+t.test(a$PersonalPLine,b$PersonalPLine, var.equal=TRUE, paired=FALSE)
+
+a<-MDH[Region=="Rural" & NewArea==29,.(PersonalPLine,cluster3,NewArea_Name)]
+b<-MDH[Region=="Rural" & NewArea!=29 & cluster3==6,.(PersonalPLine,cluster3,NewArea_Name)]
+t.test(a$PersonalPLine,b$PersonalPLine, var.equal=TRUE, paired=FALSE)
+
+
+
+
+endtime <- proc.time()
+cat("\n\n============================\nIt took ")
+cat((endtime-starttime)["elapsed"])
+cat(" seconds")
\ No newline at end of file
diff --git a/R/Archive/November 2019/65-Manipulated Clustering(90-96).R b/R/Archive/November 2019/65-Manipulated Clustering(90-96).R
new file mode 100644
index 00000000..886b848a
--- /dev/null
+++ b/R/Archive/November 2019/65-Manipulated Clustering(90-96).R
@@ -0,0 +1,119 @@
+#65-Manipulated Clustering(93-96).R
+#
+# Copyright © 2018: Majid Einian & Arin Shahbazian
+# Licence: GPL-3
+
+rm(list=ls())
+
+starttime <- proc.time()
+cat("\n\n================ Prepare Data =====================================\n")
+library(yaml)
+library(dplyr)
+Settings <- yaml.load_file("Settings.yaml")
+
+library(readxl)
+library(data.table)
+library(ggplot2)
+
+cat(paste0("\n------------------------------\nYear:",Settings$baseyear,"\n"))
+load(file=paste0(Settings$HEISProcessedPath,"Y",Settings$baseyear,"InitialPoor.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y",Settings$baseyear,"BigFoodPrice.rda"))
+MD<-merge(MD,BigFoodPrice,by=c("NewArea","Region"),all=TRUE)
+
+#####Clustering#####
+dt2Urban<-MD[Region=="Urban",.(NewArea,NewArea_Name,Region,HHID)]
+dt2Rural<-MD[Region=="Rural",.(NewArea,NewArea_Name,Region,HHID)]
+
+#####Urban#####
+dt2Urban<-dt2Urban[NewArea_Name=="Sh_Tehran",cluster3:=1]
+dt2Urban<-dt2Urban[NewArea_Name=="Sh_Shiraz" | NewArea_Name=="Sh_Esfahan" |
+ NewArea_Name=="Sh_Bandarabas" |
+ NewArea_Name=="Sh_Karaj" ,
+ cluster3:=2]
+dt2Urban<-dt2Urban[NewArea_Name=="Gilan" | NewArea_Name=="Alborz" |
+ NewArea_Name=="Kohkilooye" | NewArea_Name=="Sh_Rasht" ,
+ cluster3:=3]
+dt2Urban<-dt2Urban[NewArea_Name=="Mazandaran" |
+ NewArea_Name=="Sh_Ahvaz" | NewArea_Name=="Tehran" |
+ NewArea_Name=="Yazd" | NewArea_Name=="Sh_Tabriz" |
+ NewArea_Name=="Sh_Mashhad" | NewArea_Name=="Ghom" |
+ NewArea_Name=="Sh_Kerman" | NewArea_Name=="Sh_Arak" |
+ NewArea_Name=="Sh_Yazd" | NewArea_Name=="Sh_Hamedan" |
+ NewArea_Name=="Chaharmahal" |
+ NewArea_Name=="Zanjan" | NewArea_Name=="Hamedan" |
+ NewArea_Name=="Sh_Mashhad" | NewArea_Name=="Sh_Urmia" |
+ NewArea_Name=="Sh_Ahvaz" | NewArea_Name=="Hormozgan"|
+ NewArea_Name=="Booshehr" |
+ NewArea_Name=="Semnan" | NewArea_Name=="Fars",
+ cluster3:=4]
+dt2Urban<-dt2Urban[ NewArea_Name=="Sh_Kermanshah" | NewArea_Name== "Az_Sharghi" |
+ NewArea_Name=="Kerman" |
+ NewArea_Name=="Ardebil" |
+ NewArea_Name=="Ilam" | NewArea_Name=="Lorestan",
+ cluster3:=5]
+dt2Urban<-dt2Urban[NewArea_Name=="Khoozestan" | NewArea_Name=="Kordestan" |
+ NewArea_Name=="Ghazvin" | NewArea_Name=="Fars" | NewArea_Name=="Markazi" |
+ NewArea_Name=="Esfahan" ,
+ cluster3:=4]
+dt2Urban<-dt2Urban[NewArea_Name=="Az_Sharghi" |
+ NewArea_Name=="Semnan" | NewArea_Name=="Hamedan" |
+ NewArea_Name=="Kerman" | NewArea_Name=="Zanjan" |
+ NewArea_Name=="Hormozgan"|
+ NewArea_Name=="Booshehr" | NewArea_Name=="Kordestan" |
+ NewArea_Name=="Ardebil" | NewArea_Name=="Chaharmahal" |
+ NewArea_Name=="Sh_Urmia",
+ cluster3:=5]
+dt2Urban<-dt2Urban[NewArea_Name=="Khoozestan" |NewArea_Name=="Ilam" |
+ NewArea_Name=="Khorasan_Razavi" |
+ NewArea_Name=="Khorasan_Jonoobi" | NewArea_Name=="Az_Gharbi" |
+ NewArea_Name=="Kermanshah" | NewArea_Name=="Lorestan" |
+ NewArea_Name=="Sh_Kermanshah" |
+ NewArea_Name=="Khorasan_Shomali" | NewArea_Name=="Golestan",
+ cluster3:=6]
+dt2Urban<-dt2Urban[NewArea_Name=="Sistan" | NewArea_Name=="Sh_Zahedan",
+ cluster3:=7]
+save(dt2Urban,file ="dt2Urban.rda")
+#####Rural#####
+dt2Rural<-dt2Rural[ NewArea_Name=="Tehran" | NewArea_Name=="Alborz",
+ cluster3:=1]
+dt2Rural<-dt2Rural[NewArea_Name=="Esfahan" | NewArea_Name=="Mazandaran" |
+ NewArea_Name=="Kohkilooye" | NewArea_Name=="Booshehr",
+ cluster3:=2]
+dt2Rural<-dt2Rural[ NewArea_Name=="Yazd" |
+ NewArea_Name=="Gilan" | NewArea_Name=="Zanjan" |
+ NewArea_Name=="Chaharmahal"| NewArea_Name=="Hormozgan" | NewArea_Name=="Az_Sharghi" |
+ NewArea_Name=="Ghom" |
+ NewArea_Name=="Fars" | NewArea_Name=="Ghazvin" |
+ NewArea_Name=="Markazi" | NewArea_Name=="Semnan"|
+ NewArea_Name=="Ardebil" | NewArea_Name=="Ilam",
+ cluster3:=3]
+dt2Rural<-dt2Rural[ NewArea_Name=="Hamedan" |
+ NewArea_Name=="Az_Gharbi" | NewArea_Name=="Kermanshah" |
+ NewArea_Name=="Kerman" | NewArea_Name=="Golestan" |
+ NewArea_Name=="Khorasan_Jonoobi" | NewArea_Name=="Lorestan" |
+ NewArea_Name=="Kordestan"|
+ NewArea_Name=="Khoozestan",
+ cluster3:=4]
+dt2Rural<-dt2Rural[ NewArea_Name=="Khorasan_Shomali" | NewArea_Name=="Khorasan_Razavi" |
+ NewArea_Name=="Sistan" ,
+ cluster3:=5]
+
+save(dt2Rural,file ="dt2Rural.rda")
+#####Merge#####
+dt2total<-rbind(dt2Urban,dt2Rural)
+
+
+dt2total[,HHID:=NULL]
+dt2total<-distinct(dt2total)
+
+for(year in (Settings$startyear:Settings$endyear)){
+ cat(paste0("\n------------------------------\nYear:",year,"\n"))
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"InitialPoor.rda"))
+ MD<-merge(MD,dt2total,by=c("NewArea","NewArea_Name","Region"))
+ save(MD,file=paste0(Settings$HEISProcessedPath,"Y",year,"InitialPoorClustered.rda"))
+}
+
+endtime <- proc.time()
+cat("\n\n============================\nIt took ")
+cat((endtime-starttime)["elapsed"])
+cat(" seconds")
\ No newline at end of file
diff --git a/R/Archive/November 2019/66-FoodBasicNeeds.R b/R/Archive/November 2019/66-FoodBasicNeeds.R
new file mode 100644
index 00000000..68c4acc2
--- /dev/null
+++ b/R/Archive/November 2019/66-FoodBasicNeeds.R
@@ -0,0 +1,68 @@
+#54-FoodBasicNeeds.R
+#
+# Copyright © 2018:Majid Einian & Arin Shahbazian
+# Licence: GPL-3
+
+rm(list=ls())
+
+starttime <- proc.time()
+cat("\n\n================ Prepare Data =====================================\n")
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+library(readxl)
+library(data.table)
+library(ggplot2)
+
+for(year in (Settings$startyear:Settings$endyear)){
+ cat(paste0("\n------------------------------\nYear:",year,"\n"))
+
+ # load data --------------------------------------
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"InitialPoorClustered.rda"))
+
+ #Determine Food (Equal 2100 KCal) Bundle
+ #MDPoors<-MD[InitialPoor==1]
+ MD[,NewPoor:=InitialPoor]
+ #MD[,NewPoor:=ifelse(Decile %in% c(1,2,3,4),1,0)]
+ MD[,OldPoor:=1]
+
+ i <- 0
+ while(MD[(NewPoor-OldPoor)!=0,.N]>5 & i <=15){
+ i <- i + 1
+ MD[,ThisIterationPoor:=NewPoor]
+ MD[,FPLine:=NULL]
+ MDP <- MD[ThisIterationPoor==1,
+ .(FPLine=weighted.mean(Bundle_Value,Weight,na.rm = TRUE)),
+ by=.(cluster3,Region)]
+ MD <- merge(MD,MDP,by=c("Region","cluster3"))
+# print(MDP)
+ x<-MD[,.(NewArea,Region,FPLine,InitialPoor)]
+ MD[,NewPoor:=ifelse(TFoodExpenditure_Per < FPLine,1,0)]
+ print(table(MD[,.(ThisIterationPoor,NewPoor)]))
+ MD[,OldPoor:=ThisIterationPoor]
+ }
+
+ MD[,FinalFoodPoor:=OldPoor]
+
+ MD <- MD[,.(HHID,Region,NewArea,NewArea_Name,cluster3,ProvinceCode,Size,HAge,HSex,
+ HLiterate,HEduLevel0,HActivityState,Area,Rooms,MetrPrice,
+ Total_Exp_Month_Per_nondurable,TFoodExpenditure_Per,
+ FoodExpenditure_Per,FPLine,Weight,Percentile,FinalFoodPoor,
+ Total_Exp_Month_Per,TFoodTKCalories_Per,TFoodExpenditure,Total_Exp_Month,
+ # TFoodExpenditure2,Total_Exp_Month_nondurable2,Total_Exp_Month2,
+ # Total_Exp_Month_Per2,
+ EqSizeOECD,EqSizeCalory,Decile,Bundle_Value)]
+ save(MD,file=paste0(Settings$HEISProcessedPath,"Y",year,"FinalFoodPoor.rda"))
+
+ MDFinalfood<-MD[,.(HHID,Region,NewArea,cluster3,Percentile,FinalFoodPoor)]
+ UrbanFinalfood<-MDFinalfood[Region=="Urban"]
+ RuralFinalfood<-MDFinalfood[Region=="Rural"]
+ save(UrbanFinalfood, file=paste0(Settings$HEISProcessedPath,"Y",year,"UrbanFinalfood.rda"))
+ save(RuralFinalfood, file=paste0(Settings$HEISProcessedPath,"Y",year,"RuralFinalfood.rda"))
+
+}
+
+endtime <- proc.time()
+cat("\n\n============================\nIt took ")
+cat((endtime-starttime)["elapsed"])
+cat(" seconds")
\ No newline at end of file
diff --git a/R/Archive/November 2019/67-PovertyLines.R b/R/Archive/November 2019/67-PovertyLines.R
new file mode 100644
index 00000000..7c98c168
--- /dev/null
+++ b/R/Archive/November 2019/67-PovertyLines.R
@@ -0,0 +1,73 @@
+# 57-PovertyLines.R
+#
+# Copyright © 2018:Majid Einian & Arin Shahbazian
+# Licence: GPL-3
+
+rm(list=ls())
+
+starttime <- proc.time()
+cat("\n\n================ Prepare Data =====================================\n")
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+library(readxl)
+library(data.table)
+library(ggplot2)
+library(stats)
+
+for(year in (Settings$startyear:Settings$endyear)){
+ cat(paste0("\nYear:",year,"\t"))
+
+ # load data --------------------------------------
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"FinalFoodPoor.rda"))
+
+
+ EngleD <- MD[ TFoodExpenditure_Per>0.7*FPLine & TFoodExpenditure_Per<1.3*FPLine,
+ .(.N,Engel=weighted.mean(TFoodExpenditure/Total_Exp_Month,Weight),
+ FPLine=mean(FPLine)),by=.(Region,cluster3)]
+
+ MD2 <- MD[ TFoodExpenditure_Per>0.8*FPLine & TFoodExpenditure_Per<1.2*FPLine]
+ MD2 <- MD2[,PEngel:=TFoodExpenditure/Total_Exp_Month]
+ MD2U <- MD2[Region=="Urban"]
+ MD2R <- MD2[Region=="Rural"]
+
+ #En3es acc6rd5ng to N
+ # EngleS <- MD[ TFoodExpenditure_Per>0.8*FPLine & TFoodExpenditure_Per<1.2*FPLine,
+ # .(.N), by=.(Region,cluster3)]
+# EngleS<-EngleS[,S:=ifelse(N>400,N,0)]
+# MD<-merge(MD, EngleS)
+ # EngleD <- MD[S==0 & TFoodExpenditure_Per>0.7*FPLine & TFoodExpenditure_Per<1.3*FPLine,
+ # .(.N,Engel=weighted.mean(TFoodExpenditure/Total_Exp_Month,Weight),
+ # FPLine=mean(FPLine)),by=.(Region,cluster3)]
+ # EngleS <- MD[S==0 & TFoodExpenditure_Per>0.7*FPLine & TFoodExpenditure_Per<1.3*FPLine,
+ # .(.N), by=.(Region,cluster3)]
+ # load(file="EngleX.rda")
+
+
+
+ #EngleD<-merge(EngleD,EngleX,by=c("Region","cluster3"))
+ EngleD[,PovertyLine:=FPLine/Engel]
+ MD <- merge(MD,EngleD[,.(cluster3,Region,PovertyLine,Engel)],by=c("Region","cluster3"))
+
+
+ MD<-MD[Region=="Urban"]
+
+
+ MD[,FinalPoor:=ifelse(Total_Exp_Month_Per < PovertyLine,1,0 )]
+ cat(MD[,weighted.mean(FinalPoor,Weight*Size)],"\t",
+ MD[,weighted.mean(PovertyLine,Weight*Size)],"\t",
+ MD[,weighted.mean(Engel,Weight*Size)],"\t",
+ MD[,weighted.mean(FPLine,Weight*Size)])
+
+ MD[,weighted.mean(FinalPoor,Weight*Size),by=c("ProvinceCode")][order(ProvinceCode)]
+ MD[,weighted.mean(FinalPoor,Weight*Size),by=c("Region","cluster3")][order(Region,cluster3)]
+ MD[,weighted.mean(FinalPoor,Weight),by=c("Region")]
+ MD3<-MD[,.(HHID,FinalPoor,Weight)]
+ save(MD3,file=paste0(Settings$HEISProcessedPath,"Y",year,"PoorsforMerge.rda"))
+ save(MD,file=paste0(Settings$HEISProcessedPath,"Y",year,"FINALPOORS.rda"))
+}
+
+endtime <- proc.time()
+cat("\n\n============================\nIt took ")
+cat((endtime-starttime)["elapsed"])
+cat(" seconds")
\ No newline at end of file
diff --git a/R/Archive/November 2019/70- Poverty line Predictions (Fall 1397).R b/R/Archive/November 2019/70- Poverty line Predictions (Fall 1397).R
new file mode 100644
index 00000000..93cb14b3
--- /dev/null
+++ b/R/Archive/November 2019/70- Poverty line Predictions (Fall 1397).R
@@ -0,0 +1,248 @@
+#56- Poverty line Predictions (Fall 1397)
+#
+# Copyright 2019: Majid Einian & Arin Shahbazian
+# Licence: GPL-3
+
+rm(list=ls())
+
+starttime <- proc.time()
+cat("\n\n================ Merge Data =====================================\n")
+
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+library(readxl)
+library(stringr)
+library(data.table)
+library(sm)
+library(ggplot2)
+library(spatstat)
+
+year<-96
+cat(paste0("\n------------------------------\nYear:",year,"\n"))
+
+#load Demos+FoodPrices+Weights
+load(file=paste0(Settings$HEISProcessedPath,"Y",year,"HHBase.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y",year,"HHI.rda"))
+load(file=paste0(Settings$HEISWeightsPath,Settings$HEISWeightFileName,year,".rda"))
+HHWeights<- as.data.table(HHWeights)
+HHWeights[,Year:=NULL]
+
+
+#load Expenditures
+
+for(G in c("Foods","Cigars","Cloths","Amusements","Communications",
+ "Durables", "Education", "Energy", "Furnitures","Hotels",
+ "House", "Medicals","Behdashts","Transportations","Others",
+ "Resturants")){
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,G,".rda"))
+}
+
+#load Calories
+load(file=paste0(Settings$HEISProcessedPath,"Y",year,"Food_Calories.rda"))
+FData[,Region:=NULL]
+#for (col in c("FoodKCalories")) FData[is.na(get(col)), (col) := 0]
+FData <- FData[FoodKCalories>0]
+
+#merge groups
+MD<-merge(HHBase,HHI ,by =c("HHID"),all=TRUE)
+FData[,Size:=NULL]
+MD<-merge(MD,FData ,by =c("HHID"),all=TRUE)
+MD<-merge(MD,HHWeights ,by =c("HHID"),all=TRUE)
+MD<-merge(MD,FoodData,by =c("HHID"),all=TRUE)
+MD<-merge(MD,CigarData,by =c("HHID"),all=TRUE)
+MD<-merge(MD,ClothData,by =c("HHID"),all=TRUE)
+MD<-merge(MD,AmusementData,by =c("HHID"),all=TRUE)
+MD<-merge(MD,CommunicationData,by =c("HHID"),all=TRUE)
+MD<-merge(MD,EducData,by =c("HHID"),all=TRUE)
+MD<-merge(MD,EnergyData,by =c("HHID"),all=TRUE)
+MD<-merge(MD,FurnitureData,by =c("HHID"),all=TRUE)
+MD<-merge(MD,HotelData,by =c("HHID"),all=TRUE)
+MD<-merge(MD,BehdashtData,by =c("HHID"),all=TRUE)
+MD<-merge(MD,TransportationData,by =c("HHID"),all=TRUE)
+MD<-merge(MD,OtherData,by =c("HHID"),all=TRUE)
+MD<-merge(MD,HouseData,by =c("HHID"),all=TRUE)
+MD<-merge(MD,MedicalData,by =c("HHID"),all=TRUE)
+MD<-merge(MD,DurableData,by =c("HHID"),all=TRUE)
+MD<-merge(MD,ResturantData,by =c("HHID"),all=TRUE)
+#MD<-merge(MD,InvestmentData,by =c("HHID"),all=TRUE)
+for (col in c("FoodExpenditure", "Cigar_Exp", "Cloth_Exp", "Amusement_Exp",
+ "Communication_Exp", "EducExpenditure", "Energy_Exp",
+ "Furniture_Exp", "Hotel_Exp", "Behdasht_Exp", "Transportation_Exp",
+ "Other_Exp", "ServiceExp", "Medical_Exp", "Durable_Exp",
+ "Resturant_Exp"))
+ MD[is.na(get(col)), (col) := 0]
+
+#Realize Expenditures
+load(file="PriceIndex9697.rda")
+MD<-merge(MD,PriceIndex9697,by =c("ProvinceCode"),all.x=TRUE)
+
+MD$FoodExpenditure<-MD$FoodExpenditure*MD$fall971food_index/MD$total961food_index
+MD$Cigar_Exp<-MD$Cigar_Exp*MD$fall971cigar_index/MD$total961cigar_index
+MD$Cloth_Exp<-MD$Cloth_Exp*MD$fall971cloth_index/MD$total961cloth_index
+MD$Amusement_Exp<-MD$Amusement_Exp*MD$fall971amusement_index/MD$total961amusement_index
+MD$Communication_Exp<-MD$Communication_Exp*MD$fall971communication_index/MD$total961communication_index
+#MD$EducExpenditure<-MD$EducExpenditure*MD$fall971education_index/MD$total961education_index
+MD$Energy_Exp<-MD$Energy_Exp*MD$fall971house_energy_index/MD$total961house_energy_index
+MD$Furniture_Exp<-MD$Furniture_Exp*MD$fall971furniture_index/MD$total961furniture_index
+MD$Hotel_Exp<-MD$Hotel_Exp*MD$fall971hotel_index/MD$total961hotel_index
+MD$Behdasht_Exp<-MD$Behdasht_Exp*MD$fall971behdasht_index/MD$total961behdasht_index
+MD$Transportation_Exp<-MD$Transportation_Exp*MD$fall971transportation_index/MD$total961transportation_index
+MD$Other_Exp<-MD$Other_Exp*MD$fall971other_index/MD$total961other_index
+MD$ServiceExp<-MD$ServiceExp*MD$fall971house_energy_index/MD$total961house_energy_index
+MD$Medical_Exp<-MD$Medical_Exp*MD$fall971behdasht_index/MD$total961behdasht_index
+MD$Durable_Exp<-MD$Durable_Exp*MD$azar97/MD$total96
+MD$Resturant_Exp<-MD$Resturant_Exp*MD$fall971hotel_index/MD$total961hotel_index
+
+#Calculate Monthly Total Expenditures
+nw <- c("FoodExpenditure", "Cigar_Exp", "Cloth_Exp",
+ "Amusement_Exp", "Communication_Exp",
+ "Energy_Exp", "Furniture_Exp", "Hotel_Exp", "Behdasht_Exp",
+ "Transportation_Exp", "Other_Exp", "ServiceExp")
+w <- c(nw, "Medical_Exp", "Durable_Exp")
+
+MD[, Total_Exp_Month := Reduce(`+`, .SD), .SDcols=w]
+MD[, Total_Exp_Month_nondurable := Reduce(`+`, .SD), .SDcols=nw]
+
+MD[,Total_Exp_Month_Per:=Total_Exp_Month/EqSizeOECD]
+MD[,Total_Exp_Month_Per_nondurable:=Total_Exp_Month_nondurable/EqSizeOECD]
+MD<-MD[Size!=0 & FoodExpenditure!=0 & !is.na(FoodKCalories)]
+
+#Calculate Per Values
+MD[,EqSizeCalory :=(Size-NKids) + NKids*(Settings$KCaloryNeed_Child/Settings$KCaloryNeed_Adult)]
+MD[,FoodExpenditure_Per :=FoodExpenditure/EqSizeCalory]
+MD[,FoodKCalories_Per:=FoodKCalories/EqSizeCalory]
+
+#Calculate per_Calory from resturants
+MD[,Calory_Price:=(FoodExpenditure_Per/FoodKCalories_Per)]
+MD[,Calory_Price_Area:=weighted.median(Calory_Price,Weight,na.rm = TRUE),by=.(Region,NewArea)][order(Calory_Price)]
+MD[,ResturantKCalories:=(Settings$OutFoodKCXShare*Resturant_Exp)/Calory_Price_Area]
+for (col in c("ResturantKCalories")) MD[is.na(get(col)), (col) := 0]
+MD[,TFoodKCalories:=FoodKCalories+ResturantKCalories]
+MD[,TFoodExpenditure:=FoodExpenditure+(Settings$OutFoodKCXShare*Resturant_Exp)]
+
+MD[,TFoodExpenditure_Per :=TFoodExpenditure/EqSizeCalory]
+MD[,TFoodKCalories_Per:=TFoodKCalories/EqSizeCalory]
+
+SMD <- MD[,.(HHID,Region,NewArea,Total_Exp_Month_Per_nondurable,TFoodExpenditure_Per,TFoodKCalories_Per,
+ Weight,MetrPrice,Size,EqSizeOECD)]
+
+SMD[,Bundle_Value:=TFoodExpenditure_Per*Settings$KCaloryNeed_Adult/TFoodKCalories_Per]
+
+SMD <- SMD[Bundle_Value<=5000000 | TFoodKCalories_Per>=300]
+
+#Real Prices
+T_Bundle_Value <- SMD[NewArea==2301, .(Bundle_Value,MetrPrice,Weight)]
+TBV1 <- T_Bundle_Value[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE)]
+TBV2 <- T_Bundle_Value[,weighted.mean(MetrPrice,Weight,na.rm = TRUE)]
+
+SMD[,PriceIndex:=(weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/TBV1
+ +weighted.mean(MetrPrice,Weight,na.rm = TRUE)/TBV2)/2
+ ,by=.(Region,NewArea)]
+
+SMD[,Total_Exp_Month_Per_nondurable_Real:=Total_Exp_Month_Per_nondurable/PriceIndex]
+
+SMD<- SMD[order(Region,Total_Exp_Month_Per_nondurable_Real)]
+SMD[,crw:=cumsum(Weight)/sum(Weight),by=Region] # Cumulative Relative Weight
+
+#Calculate deciles by weights
+SMD[,Decile:=cut(crw,breaks = seq(0,1,.1),labels = 1:10),by=Region]
+SMD[,Percentile:=cut(crw,breaks=seq(0,1,.01),labels=1:100),by=Region]
+
+FirstSMD<-SMD[,.(HHID,Region,NewArea,Percentile,Decile)]
+FirstSMD<-FirstSMD[,Realfirstpoor:=ifelse(Decile %in% 1:2,1,0)]
+
+SMD[,NewPoor:=1]
+SMD[,ThisIterationPoor:=0]
+i <- 0
+while(sum(SMD[,(ThisIterationPoor-NewPoor)^2])>=30 & i <=50){
+ i <- i+1
+ SMD[,pold:=Percentile]
+ SMD[,ThisIterationPoor:=ifelse(pold %in% Settings$InitialPoorPercentile,1,0)]
+ SMDIterationPoor<-SMD[ThisIterationPoor==TRUE]
+
+ T_P_Bundle_Value <- SMDIterationPoor[NewArea==2301, .(Bundle_Value,MetrPrice,Weight)]
+ TPBV1 <- T_P_Bundle_Value[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE)]
+ TPBV2 <- T_P_Bundle_Value[,weighted.mean(MetrPrice,Weight,na.rm = TRUE)]
+
+ Index <- SMDIterationPoor[,.(PriceIndex= (weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/TPBV1+
+ weighted.mean(MetrPrice,Weight,na.rm = TRUE)/TPBV2)/2)
+ ,by=.(Region,NewArea)]
+
+ SMD[,PriceIndex:=NULL]
+ SMD<- SMD[order(Region,NewArea)]
+ SMD <- merge(SMD,Index,by=c("Region","NewArea"))
+
+ SMD[,Total_Exp_Month_Per_nondurable_Real:=Total_Exp_Month_Per_nondurable/PriceIndex]
+
+ SMD<- SMD[order(Region,Total_Exp_Month_Per_nondurable_Real)]
+ SMD[,crw:=cumsum(Weight)/sum(Weight),by=Region] # Cumulative Relative Weight
+
+ #Calculate deciles by weights
+ SMD[,Decile:=cut(crw,breaks = seq(0,1,.1),labels = 1:10),by=Region]
+ SMD[,Percentile:=cut(crw,breaks=seq(0,1,.01),labels=1:100),by=Region]
+ SMD[,NewPoor:=ifelse(Percentile %in% Settings$InitialPoorPercentile,1,0)]
+
+
+ cat("\n",sum(SMD[,(ThisIterationPoor-NewPoor)^2]))
+}
+MD <- merge(MD,SMD[,.(HHID,Bundle_Value,NewPoor,Decile,Percentile)],by="HHID")
+setnames(MD,"NewPoor","InitialPoor")
+
+MD[,weighted.mean(InitialPoor,Weight), by=.(NewArea,Region)]
+save(MD,file=paste0(Settings$HEISProcessedPath,"Y",year,"InitialPoor.rda"))
+
+load(file="dt2Urban.rda")
+load(file="dt2Rural.rda")
+dt2total<-rbind(dt2Urban,dt2Rural)
+
+load(file=paste0(Settings$HEISProcessedPath,"Y",year,"InitialPoor.rda"))
+dt2total <- dt2total[,lapply(.SD,sum),by=.(Region, NewArea,NewArea_Name,cluster3)]
+dt2total[,HHID:=NULL]
+MD<-merge(MD,dt2total,by=c("NewArea","Region","NewArea_Name"),all.x=TRUE)
+
+#Determine Food (Equal 2100 KCal) Bundle
+MD[,NewPoor:=InitialPoor]
+MD[,OldPoor:=1]
+
+i <- 0
+while(MD[(NewPoor-OldPoor)!=0,.N]>5 & i <=15){
+ i <- i + 1
+ MD[,ThisIterationPoor:=NewPoor]
+ MD[,FPLine:=NULL]
+ MDP <- MD[ThisIterationPoor==1,
+ .(FPLine=weighted.mean(Bundle_Value,Weight,na.rm = TRUE)),
+ by=.(cluster3,Region)]
+ MD <- merge(MD,MDP,by=c("Region","cluster3"))
+ # print(MDP)
+ x<-MD[,.(cluster3,Region,FPLine,InitialPoor)]
+ MD[,NewPoor:=ifelse(TFoodExpenditure_Per < FPLine,1,0)]
+ print(table(MD[,.(ThisIterationPoor,NewPoor)]))
+ MD[,OldPoor:=ThisIterationPoor]
+}
+
+MD[,FinalFoodPoor:=OldPoor]
+MD <- MD[,.(HHID,Region,NewArea,cluster3,ProvinceCode,Size,HAge,HSex,
+ HLiterate,HEduLevel0,HActivityState,Area,Rooms,MetrPrice,
+ Total_Exp_Month_Per_nondurable,TFoodExpenditure_Per,
+ FoodExpenditure_Per,FPLine,Weight,Percentile,FinalFoodPoor,
+ TFoodExpenditure,Total_Exp_Month_nondurable,Total_Exp_Month,
+ Total_Exp_Month_Per)]
+
+EngleD <- MD[TFoodExpenditure_Per<1.1*FPLine & TFoodExpenditure_Per>0.9*FPLine,
+ .(.N,Engel=weighted.mean(TFoodExpenditure/Total_Exp_Month,Weight),
+ FPLine=mean(FPLine)),by=.(Region,cluster3)]
+EngleD[,PovertyLine:=FPLine/Engel]
+MD <- merge(MD,EngleD[,.(cluster3,Region,PovertyLine,Engel)],by=c("Region","cluster3"))
+MD<-MD[Region=="Rural" ]
+MD[,FinalPoor:=ifelse(Total_Exp_Month_Per < PovertyLine,1,0 )]
+cat(MD[,weighted.mean(FinalPoor,Weight*Size)],"\t",
+ MD[,weighted.mean(PovertyLine,Weight*Size)],"\t",
+ MD[,weighted.mean(Engel,Weight*Size)],"\t",
+ MD[,weighted.mean(FPLine,Weight*Size)])
+#MD[,weighted.mean(FinalPoor,Weight*Size),by=.(Region,NewArea)][order(V1)]
+MD[,weighted.mean(FinalPoor,Weight),by=c("Region","cluster3")]
+
+endtime <- proc.time()
+cat("\n\n============================\nIt took ")
+cat(endtime-starttime)
\ No newline at end of file
diff --git a/R/Archive/November 2019/71-PlotDataMaps.R b/R/Archive/November 2019/71-PlotDataMaps.R
new file mode 100644
index 00000000..d7df4132
--- /dev/null
+++ b/R/Archive/November 2019/71-PlotDataMaps.R
@@ -0,0 +1,49 @@
+#Poverty Map
+#
+# Copyright © 2018:Majid Einian
+# Licence: GPL-3
+ rm(list=ls())
+
+library(data.table)
+library(readxl)
+library(rworldmap)
+library(rgdal)
+
+
+Poverty <- data.table(read_excel("Data/Poverty.xlsx","Province")) # Data to be plotted, see the excell file
+
+tfs <- paste0("+proj=lcc +lat_1=30 +lat_2=36 +lat_0=24 +lon_0=54 ",
+ "+x_0=0 +y_0=0 +datum=WGS84 +units=m +no_defs ",
+ "+ellps=WGS84 +towgs84=0,0,0") # Transformation to make all shapefiles in one coordinate system
+
+o <- capture.output(Seas <- readOGR("Shapefiles/1385",
+ layer = "Sea")) # Maps of Caspian Sea, Persian Gulf, & Oman Sea
+Seas <- spTransform(Seas,CRS(tfs))
+
+o <- capture.output(Lakes <- readOGR("Shapefiles/1385", # Maps of Lakes
+ layer = "Lake"))
+Lakes <- spTransform(Lakes,CRS(tfs))
+
+o <- capture.output(ProvMap <- readOGR("Shapefiles/OSM", # Maps of provinces based on latest admin. areas.
+ layer = "Iran_AL4")) # extracted from openstreetmaps.org
+ProvMap <- spTransform(ProvMap,CRS(tfs))
+
+MapData <- rworldmap::joinData2Map(Poverty, # Joining the data to map
+ nameMap="ProvMap",
+ nameJoinIDMap="ENNAME", # province name in shapefile
+ nameJoinColumnData="NameEn2", # province name in data excel
+ verbose = TRUE)
+
+plot(Seas,col="lightblue", border="lightblue") # plot seas
+plot(Lakes[c(15,25),],add=TRUE,col="lightblue", border="lightblue") # plot just Urmia and Qom lakes
+
+mapParams <- rworldmap::mapPolys(MapData, add = TRUE, nameColumnToPlot = "HCR95",
+ colourPalette = "heat",
+ mapTitle = paste0("Poverty Rate"),
+ addLegend = FALSE) # Plot data
+do.call( addMapLegend, c( mapParams
+ , legendLabels = "all" # add legend
+ , digits = 2
+ , legendWidth = 0.7
+ , legendShrink = .5
+ , horizontal = TRUE))
diff --git a/R/Archive/November 2019/72-PovertyIndexes.R b/R/Archive/November 2019/72-PovertyIndexes.R
new file mode 100644
index 00000000..0237a37a
--- /dev/null
+++ b/R/Archive/November 2019/72-PovertyIndexes.R
@@ -0,0 +1,60 @@
+# 56-PovertyIndexes.R
+#
+# Copyright © 2018:Majid Einian & Arin Shahbazian
+# Licence: GPL-3
+
+rm(list=ls())
+
+starttime <- proc.time()
+cat("\n\n================ Prepare Data =====================================\n")
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+library(readxl)
+library(data.table)
+library(ggplot2)
+
+for(year in (Settings$startyear:Settings$endyear)){
+ cat(paste0("\nYear:",year,"\t"))
+
+ # load data --------------------------------------
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"FINALPOORS.rda"))
+
+ #Head-Count Ratio Index
+ # cat(MD[,weighted.mean(FinalPoor,Weight*Size)],"\t",
+ # MD[,weighted.mean(PovertyLine,Weight*Size)],"\t",
+ # MD[,weighted.mean(Engel,Weight*Size)],"\t",
+ # MD[,weighted.mean(FPLine,Weight*Size)])
+
+ #Intesnsity of Poverty (Poverty gap index)
+ MD[FinalPoor==1,Index:=1-(weighted.mean(Total_Exp_Month_Per_nondurable/PovertyLine,
+ Weight))]
+ MD[FinalPoor==1,weighted.mean(Index,Weight)]
+
+
+ #Poverty depth index (Foster-Greer-Thorbecke)
+ MD[FinalPoor==1,Index2:=(1-(weighted.mean(Total_Exp_Month_Per_nondurable/PovertyLine
+ ,Weight)))^2]
+ MD[FinalPoor==1,weighted.mean(Index2,Weight)]
+
+ cat(MD[,weighted.mean(Index,Weight*Size,na.rm = TRUE)],"\t",
+ MD[,weighted.mean(Index2,Weight*Size,na.rm = TRUE)])
+}
+
+
+ #Intesnsity of Poverty (Poverty gap index)
+ MD[FinalPoor==1,Index:=1-(weighted.mean(Total_Exp_Month_Per_nondurable/PovertyLine,
+ Weight)),by=.(Region,cluster3)]
+ MD[FinalPoor==1,weighted.mean(Index,Weight),by=.(Region,cluster3)]
+
+
+ #Poverty depth index (Foster-Greer-Thorbecke)
+ MD[FinalPoor==1,Index2:=(1-(weighted.mean(Total_Exp_Month_Per_nondurable/PovertyLine
+ ,Weight)))^2,by=.(Region,cluster3)]
+ MD[FinalPoor==1,weighted.mean(Index2,Weight),by=.(Region,cluster3)]
+
+
+endtime <- proc.time()
+cat("\n\n============================\nIt took ")
+cat((endtime-starttime)["elapsed"])
+cat(" seconds")
\ No newline at end of file
diff --git a/R/Archive/November 2019/73-Gini.R b/R/Archive/November 2019/73-Gini.R
new file mode 100644
index 00000000..0b45c8f9
--- /dev/null
+++ b/R/Archive/November 2019/73-Gini.R
@@ -0,0 +1,56 @@
+#Gini Coefficient.R
+#
+# Copyright © 2019:Majid Einian & Arin Shahbazian
+# Licence: GPL-3
+
+rm(list=ls())
+
+starttime <- proc.time()
+cat("\n\n================ Prepare Data =====================================\n")
+
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+#library(readxl)
+library(data.table)
+library(acid)
+
+Gini <- data.table(Year=NA_integer_,Gini=NA_integer_,ProvinceCode=NA_integer_)[0]
+Pop <- data.table(Year=NA_integer_,Pop=NA_integer_,ProvinceCode=NA_integer_)[0]
+
+
+#year<-89
+for(year in (Settings$startyear:Settings$endyear)){
+ cat(paste0("\n------------------------------\nYear:",year,"\n"))
+
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"FINALPOORS.rda"))
+
+ m<-c(0:30)
+ for(p in m){
+ print(MD[ProvinceCode==p,weighted.gini(Total_Exp_Month_Per,Weight)])
+ print(MD[,weighted.gini(Total_Exp_Month_Per,Weight)])
+}
+
+ X1 <- MD[,.(Gini=weighted.gini(Total_Exp_Month_Per,Weight))]
+
+ X1[,Year:=year]
+ MD<-MD[!is.na(Weight)]
+
+ #Gini <- rbind(Gini,X1)
+ Gini<-X1[,weighted.mean(as.numeric(Gini))]
+
+ #X2 <- MD[,.(Pop=sum(Size*Weight)),by=ProvinceCode]
+ #X2[,Year:=year]
+ #Pop <- rbind(Pop,X2)
+
+ #write.csv(Pop,file = "Pop.csv")
+}
+
+#Final_Dataset <- read_excel("C:/Users/pc1/Desktop/MRC fall 98/Dataset/Final Dataset.xlsx", sheet = "Sheet4")
+#Final_Dataset<-as.data.table(Final_Dataset)
+#Final_Dataset2<-Final_Dataset[,weighted.mean(Woman_Contribution,Pop),by=.(Year)]
+
+
+endtime <- proc.time()
+cat("\n\n============================\nIt took ")
+cat(endtime-starttime)
diff --git a/R/Archive/November 2019/74-graph codes.R b/R/Archive/November 2019/74-graph codes.R
new file mode 100644
index 00000000..dc6b8cf3
--- /dev/null
+++ b/R/Archive/November 2019/74-graph codes.R
@@ -0,0 +1,33 @@
+x <- MD$TFoodKCalories_Per
+h<-hist(x, breaks=10, col="red", xlab="Miles TFoodKCalories_Per Gallon",
+ main="Histogram with Normal Curve")
+xfit<-seq(min(x),max(x),length=40)
+yfit<-dnorm(xfit,mean=mean(x),sd=sd(x))
+yfit <- yfit*diff(h$mids[1:2])*length(x)
+lines(xfit, yfit, col="blue", lwd=2)
+
+plot(PEngel~TFoodKCalories_Per,data=MD2R)
+
+a<-X4$total
+b<-X4$urban
+c<-X4$rural
+ts.plot(ts(a),ts(b),ts(c),gpars=list(xlab="year",ylab="HCR",lty=c(1:3)),col=1:4)
+
+
+a<-X4$urban1
+b<-X4$urban2
+c<-X4$urban3
+d<-X4$urban4
+e<-X4$urban5
+f<-X4$urban6
+g<-X4$urban7
+ts.plot(ts(a),ts(b),ts(c),ts(d),ts(e),ts(f),ts(g),gpars=list(xlab="year",ylab="HCR",lty=c(1:3)),col=1:4)
+
+a<-X4$rural1
+b<-X4$rural2
+c<-X4$rural3
+d<-X4$rural4
+e<-X4$rural5
+ts.plot(ts(a),ts(b),ts(c),ts(d),ts(e),gpars=list(xlab="year",ylab="HCR",lty=c(1:3)),col=1:4)
+
+
\ No newline at end of file
diff --git a/R/Archive/November 2019/75-ActualPanel.R b/R/Archive/November 2019/75-ActualPanel.R
new file mode 100644
index 00000000..c8142ab7
--- /dev/null
+++ b/R/Archive/November 2019/75-ActualPanel.R
@@ -0,0 +1,143 @@
+# 70-ActualPanel
+#
+#
+# Copyright © 2018-2019: Majid Einian
+# Licence: GPL-3
+#
+rm(list = ls())
+
+starttime <- proc.time()
+cat("\n\n================ =====================================\n")
+
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+library(readxl)
+library(data.table)
+
+year <- 92
+
+load(paste0(Settings$HEISProcessedPath,"Y",year,"Total_Income.rda"))
+load(paste0(Settings$HEISProcessedPath,"Y",year,"Merged4CBN.rda"))
+D92 <- merge(MD,IncomeTable,by="HHID", all.x=TRUE)
+D92[is.na(WorkClass), WorkClass:="Rtr"]
+D92 <- D92[,.(HHID,Region,Year,Quarter,Month,ProvinceCode,CountyCode,NewArea,
+ HEmployed,HUnemployed,
+ Weight,EqSizeOECD,
+ HBY=1300+Year-HAge,
+ CPI=70.916,
+ Total_Exp_Month,Total_Exp_Month_nondurable,
+ Total_Exp_Month_Per,Total_Exp_Month_Per_nondurable,
+ NetIncome,WorkClass)]
+rm(MD,IncomeTable)
+
+year <- 93
+load(paste0(Settings$HEISProcessedPath,"Y",year,"Total_Income.rda"))
+load(paste0(Settings$HEISProcessedPath,"Y",year,"Merged4CBN.rda"))
+D93 <- merge(MD,IncomeTable,by="HHID", all.x=TRUE)
+D93[is.na(WorkClass), WorkClass:="Rtr"]
+D93 <- D93[,.(HHID,Region,Year,Quarter,Month,ProvinceCode,CountyCode,NewArea
+ ,HEmployed,HUnemployed
+ ,Weight,EqSizeOECD,
+ HBY=1300+Year-HAge,
+ CPI=81.948,
+ Total_Exp_Month,Total_Exp_Month_nondurable,
+ Total_Exp_Month_Per,Total_Exp_Month_Per_nondurable,
+ NetIncome,WorkClass)]
+rm(MD,IncomeTable)
+
+year <- 94
+load(paste0(Settings$HEISProcessedPath,"Y",year,"Total_Income.rda"))
+load(paste0(Settings$HEISProcessedPath,"Y",year,"Merged4CBN.rda"))
+D94 <- merge(MD,IncomeTable,by="HHID", all.x=TRUE)
+D94[is.na(WorkClass), WorkClass:="Rtr"]
+D94 <- D94[,.(HHID,Region,Year,Quarter,Month,ProvinceCode,CountyCode,NewArea
+ ,HEmployed,HUnemployed
+ ,Weight,EqSizeOECD,
+ HBY=1300+Year-HAge,
+ CPI=91.714,
+ Total_Exp_Month,Total_Exp_Month_nondurable,
+ Total_Exp_Month_Per,Total_Exp_Month_Per_nondurable,
+ NetIncome,WorkClass)]
+rm(MD,IncomeTable)
+
+year <- 95
+load(paste0(Settings$HEISProcessedPath,"Y",year,"Total_Income.rda"))
+load(paste0(Settings$HEISProcessedPath,"Y",year,"Merged4CBN.rda"))
+D95 <- merge(MD,IncomeTable,by="HHID", all.x=TRUE)
+D95[is.na(WorkClass), WorkClass:="Rtr"]
+D95 <- D95[,.(HHID,Region,Year,Quarter,Month,ProvinceCode,CountyCode,NewArea
+ ,HEmployed,HUnemployed
+ ,Weight,EqSizeOECD,
+ HBY=1300+Year-HAge,
+ CPI=100.000,
+ Total_Exp_Month,Total_Exp_Month_nondurable,
+ Total_Exp_Month_Per,Total_Exp_Month_Per_nondurable,
+ NetIncome,WorkClass)]
+rm(MD,IncomeTable)
+
+year <- 96
+load(paste0(Settings$HEISProcessedPath,"Y",year,"Total_Income.rda"))
+load(paste0(Settings$HEISProcessedPath,"Y",year,"Merged4CBN.rda"))
+D96 <- merge(MD,IncomeTable,by="HHID", all.x=TRUE)
+D96[is.na(WorkClass), WorkClass:="Rtr"]
+D96 <- D96[,.(HHID,Region,Year,Quarter,Month,ProvinceCode,CountyCode,NewArea
+ ,HEmployed,HUnemployed
+ ,Weight,EqSizeOECD,
+ HBY=1300+Year-HAge,
+ CPI=109.650,
+ Total_Exp_Month,Total_Exp_Month_nondurable,
+ Total_Exp_Month_Per,Total_Exp_Month_Per_nondurable,
+ NetIncome,WorkClass)]
+rm(MD,IncomeTable)
+
+
+
+P23 <- merge(D92,D93,by="HHID",all = FALSE)
+P34 <- merge(D93,D94,by="HHID",all = FALSE)
+P45 <- merge(D94,D95,by="HHID",all = FALSE)
+P56 <- merge(D95,D96,by="HHID",all = FALSE)
+
+P24 <- merge(D92,D94,by="HHID",all = FALSE)
+P35 <- merge(D93,D95,by="HHID",all = FALSE)
+P46 <- merge(D94,D96,by="HHID",all = FALSE)
+
+P234 <- merge(P23,D94,by="HHID",all = FALSE)
+P345 <- merge(P34,D95,by="HHID",all = FALSE)
+P456 <- merge(P45,D96,by="HHID",all = FALSE)
+
+
+P <- P23
+
+for(P in list(P23,P34,P45,P56)){
+ P[NetIncome.x==0,NetIncome.x:=NA]
+ P[NetIncome.y==0,NetIncome.y:=NA]
+ P[,c0:=log(Total_Exp_Month_Per_nondurable.x/CPI.x*100)]
+ P[,c1:=log(Total_Exp_Month_Per_nondurable.y/CPI.y*100)]
+ P[,y0:=log(NetIncome.x/EqSizeOECD.x/CPI.x*100)]
+ P[,y1:=log(NetIncome.y/EqSizeOECD.y/CPI.y*100)]
+ #sd(P$y0,na.rm = TRUE)
+ #sd(P$y1,na.rm = TRUE)
+ print(cov.wt(P[!is.na(y0) & !is.na(y1),.(y0,y1)],wt = P[!is.na(y0) & !is.na(y1)]$Weight.x,cor = TRUE)$cor[2,1])
+}
+ table(P[,.(Region.x,Region.y)])
+ summary(P[,Quarter.x-Quarter.y])
+ summary(P[,Month.x-Month.y])
+ table(P[,.(Month.x,Month.y)])
+ table(P[,.(ProvinceCode.x-ProvinceCode.y)])
+# table(P[,.(HActivityState.x,HActivityState.y)])
+ table(P[,.(WorkClass.x,WorkClass.y)])
+# table(P[,.(WorkClass.x,HActivityState.y)])
+
+
+
+
+
+
+L <- P[,.(sum(Weight.x,na.rm = TRUE),sum(Weight.y, na.rm = TRUE)),by=.(WorkClass.x,WorkClass.y)][order(WorkClass.x,WorkClass.y)]
+L[,sh.x:=V1/sum(V1)*100]
+L[,sh.y:=V2/sum(V2)*100]
+library(reshape2)
+acast(L,WorkClass.x~WorkClass.y,value.var = "sh.x")
+
+
diff --git a/R/Archive/November 2019/76-Another approach of Poverty line (Fall 1397).R b/R/Archive/November 2019/76-Another approach of Poverty line (Fall 1397).R
new file mode 100644
index 00000000..f83aee38
--- /dev/null
+++ b/R/Archive/November 2019/76-Another approach of Poverty line (Fall 1397).R
@@ -0,0 +1,251 @@
+# Another approach of Poverty line (Fall 1397)
+#
+# Copyright 2019: Majid Einian & Arin Shahbazian
+# Licence: GPL-3
+
+rm(list=ls())
+
+starttime <- proc.time()
+cat("\n\n================ Merge Data =====================================\n")
+
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+library(readxl)
+library(stringr)
+library(data.table)
+library(sm)
+library(ggplot2)
+library(spatstat)
+
+year<-96
+cat(paste0("\n------------------------------\nYear:",year,"\n"))
+
+#load Demos+FoodPrices+Weights
+load(file=paste0(Settings$HEISProcessedPath,"Y",year,"HHBase.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y",year,"HHI.rda"))
+load(file=paste0(Settings$HEISWeightsPath,Settings$HEISWeightFileName,year,".rda"))
+HHWeights<- as.data.table(HHWeights)
+HHWeights[,Year:=NULL]
+
+
+#load Expenditures
+
+for(G in c("Foods","Cigars","Cloths","Amusements","Communications",
+ "Durables", "Education", "Energy", "Furnitures","Hotels",
+ "House", "Medicals","Behdashts","Transportations","Others",
+ "Resturants")){
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,G,".rda"))
+}
+
+#load Calories
+load(file=paste0(Settings$HEISProcessedPath,"Y",year,"Food_Calories.rda"))
+FData[,Region:=NULL]
+#for (col in c("FoodKCalories")) FData[is.na(get(col)), (col) := 0]
+FData <- FData[FoodKCalories>0]
+
+#merge groups
+MD<-merge(HHBase,HHI ,by =c("HHID"),all=TRUE)
+FData[,Size:=NULL]
+MD<-merge(MD,FData ,by =c("HHID"),all=TRUE)
+MD<-merge(MD,HHWeights ,by =c("HHID"),all=TRUE)
+MD<-merge(MD,FoodData,by =c("HHID"),all=TRUE)
+MD<-merge(MD,CigarData,by =c("HHID"),all=TRUE)
+MD<-merge(MD,ClothData,by =c("HHID"),all=TRUE)
+MD<-merge(MD,AmusementData,by =c("HHID"),all=TRUE)
+MD<-merge(MD,CommunicationData,by =c("HHID"),all=TRUE)
+MD<-merge(MD,EducData,by =c("HHID"),all=TRUE)
+MD<-merge(MD,EnergyData,by =c("HHID"),all=TRUE)
+MD<-merge(MD,FurnitureData,by =c("HHID"),all=TRUE)
+MD<-merge(MD,HotelData,by =c("HHID"),all=TRUE)
+MD<-merge(MD,BehdashtData,by =c("HHID"),all=TRUE)
+MD<-merge(MD,TransportationData,by =c("HHID"),all=TRUE)
+MD<-merge(MD,OtherData,by =c("HHID"),all=TRUE)
+MD<-merge(MD,HouseData,by =c("HHID"),all=TRUE)
+MD<-merge(MD,MedicalData,by =c("HHID"),all=TRUE)
+MD<-merge(MD,DurableData,by =c("HHID"),all=TRUE)
+MD<-merge(MD,ResturantData,by =c("HHID"),all=TRUE)
+#MD<-merge(MD,InvestmentData,by =c("HHID"),all=TRUE)
+for (col in c("FoodExpenditure", "Cigar_Exp", "Cloth_Exp", "Amusement_Exp",
+ "Communication_Exp", "EducExpenditure", "Energy_Exp",
+ "Furniture_Exp", "Hotel_Exp", "Behdasht_Exp", "Transportation_Exp",
+ "Other_Exp", "ServiceExp", "Medical_Exp", "Durable_Exp",
+ "Resturant_Exp"))
+ MD[is.na(get(col)), (col) := 0]
+
+#Realize Expenditures
+load(file="PriceIndex9697.rda")
+MD<-merge(MD,PriceIndex9697,by =c("ProvinceCode"),all.x=TRUE)
+
+MD$FoodExpenditure<-MD$FoodExpenditure*1.2
+MD$Cigar_Exp<-MD$Cigar_Exp*1.2
+MD$Cloth_Exp<-MD$Cloth_Exp*1.2
+MD$Amusement_Exp<-MD$Amusement_Exp*1.2
+MD$Communication_Exp<-MD$Communication_Exp*1.2
+MD$EducExpenditure<-MD$EducExpenditure*1.2
+MD$Energy_Exp<-MD$Energy_Exp*1.2
+MD$Furniture_Exp<-MD$Furniture_Exp*1.2
+MD$Hotel_Exp<-MD$Hotel_Exp*1.2
+MD$Behdasht_Exp<-MD$Behdasht_Exp*1.2
+MD$Transportation_Exp<-MD$Transportation_Exp*1.2
+MD$Other_Exp<-MD$Other_Exp*1.2
+MD$ServiceExp<-MD$ServiceExp*1.2
+MD$Medical_Exp<-MD$Medical_Exp*1.2
+MD$Durable_Exp<-MD$Durable_Exp*1.2
+MD$Resturant_Exp<-MD$Resturant_Exp*1.2
+
+
+#Calculate Monthly Total Expenditures
+nw <- c("FoodExpenditure", "Cigar_Exp", "Cloth_Exp",
+ "Amusement_Exp", "Communication_Exp", "EducExpenditure",
+ "Energy_Exp", "Furniture_Exp", "Hotel_Exp", "Behdasht_Exp",
+ "Transportation_Exp", "Other_Exp", "ServiceExp")
+w <- c(nw, "Medical_Exp", "Durable_Exp")
+
+MD[, Total_Exp_Month := Reduce(`+`, .SD), .SDcols=w]
+MD[, Total_Exp_Month_nondurable := Reduce(`+`, .SD), .SDcols=nw]
+
+MD[,Total_Exp_Month_Per:=Total_Exp_Month/EqSizeOECD]
+MD[,Total_Exp_Month_Per_nondurable:=Total_Exp_Month_nondurable/EqSizeOECD]
+MD<-MD[Size!=0 & FoodExpenditure!=0 & !is.na(FoodKCalories)]
+
+#Calculate Per Values
+MD[,EqSizeCalory :=(Size-NKids) + NKids*(Settings$KCaloryNeed_Child/Settings$KCaloryNeed_Adult)]
+MD[,FoodExpenditure_Per :=FoodExpenditure/EqSizeCalory]
+MD[,FoodKCalories_Per:=FoodKCalories/EqSizeCalory]
+
+#Calculate per_Calory from resturants
+MD[,Calory_Price:=(FoodExpenditure_Per/FoodKCalories_Per)]
+MD[,Calory_Price_Area:=weighted.median(Calory_Price,Weight,na.rm = TRUE),by=.(Region,NewArea)][order(Calory_Price)]
+MD[,ResturantKCalories:=(Settings$OutFoodKCXShare*Resturant_Exp)/Calory_Price_Area]
+for (col in c("ResturantKCalories")) MD[is.na(get(col)), (col) := 0]
+MD[,TFoodKCalories:=FoodKCalories+ResturantKCalories]
+MD[,TFoodExpenditure:=FoodExpenditure+(Settings$OutFoodKCXShare*Resturant_Exp)]
+
+MD[,TFoodExpenditure_Per :=TFoodExpenditure/EqSizeCalory]
+MD[,TFoodKCalories_Per:=TFoodKCalories/EqSizeCalory]
+
+SMD <- MD[,.(HHID,Region,NewArea,Total_Exp_Month_Per_nondurable,TFoodExpenditure_Per,TFoodKCalories_Per,
+ Weight,MetrPrice,Size,EqSizeOECD)]
+
+SMD[,Bundle_Value:=TFoodExpenditure_Per*Settings$KCaloryNeed_Adult/TFoodKCalories_Per]
+
+SMD <- SMD[Bundle_Value<=5000000 | TFoodKCalories_Per>=300]
+
+#Real Prices
+T_Bundle_Value <- SMD[NewArea==2301, .(Bundle_Value,MetrPrice,Weight)]
+TBV1 <- T_Bundle_Value[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE)]
+TBV2 <- T_Bundle_Value[,weighted.mean(MetrPrice,Weight,na.rm = TRUE)]
+
+SMD[,PriceIndex:=(weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/TBV1
+ +weighted.mean(MetrPrice,Weight,na.rm = TRUE)/TBV2)/2
+ ,by=.(Region,NewArea)]
+
+SMD[,Total_Exp_Month_Per_nondurable_Real:=Total_Exp_Month_Per_nondurable/PriceIndex]
+
+SMD<- SMD[order(Region,Total_Exp_Month_Per_nondurable_Real)]
+SMD[,crw:=cumsum(Weight)/sum(Weight),by=Region] # Cumulative Relative Weight
+
+#Calculate deciles by weights
+SMD[,Decile:=cut(crw,breaks = seq(0,1,.1),labels = 1:10),by=Region]
+SMD[,Percentile:=cut(crw,breaks=seq(0,1,.01),labels=1:100),by=Region]
+
+FirstSMD<-SMD[,.(HHID,Region,NewArea,Percentile,Decile)]
+FirstSMD<-FirstSMD[,Realfirstpoor:=ifelse(Decile %in% 1:2,1,0)]
+
+SMD[,NewPoor:=1]
+SMD[,ThisIterationPoor:=0]
+i <- 0
+while(sum(SMD[,(ThisIterationPoor-NewPoor)^2])>=30 & i <=50){
+ i <- i+1
+ SMD[,pold:=Percentile]
+ SMD[,ThisIterationPoor:=ifelse(pold %in% Settings$InitialPoorPercentile,1,0)]
+ SMDIterationPoor<-SMD[ThisIterationPoor==TRUE]
+
+ T_P_Bundle_Value <- SMDIterationPoor[NewArea==2301, .(Bundle_Value,MetrPrice,Weight)]
+ TPBV1 <- T_P_Bundle_Value[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE)]
+ TPBV2 <- T_P_Bundle_Value[,weighted.mean(MetrPrice,Weight,na.rm = TRUE)]
+
+ Index <- SMDIterationPoor[,.(PriceIndex= (weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/TPBV1+
+ weighted.mean(MetrPrice,Weight,na.rm = TRUE)/TPBV2)/2)
+ ,by=.(Region,NewArea)]
+
+ SMD[,PriceIndex:=NULL]
+ SMD<- SMD[order(Region,NewArea)]
+ SMD <- merge(SMD,Index,by=c("Region","NewArea"))
+
+ SMD[,Total_Exp_Month_Per_nondurable_Real:=Total_Exp_Month_Per_nondurable/PriceIndex]
+
+ SMD<- SMD[order(Region,Total_Exp_Month_Per_nondurable_Real)]
+ SMD[,crw:=cumsum(Weight)/sum(Weight),by=Region] # Cumulative Relative Weight
+
+ #Calculate deciles by weights
+ SMD[,Decile:=cut(crw,breaks = seq(0,1,.1),labels = 1:10),by=Region]
+ SMD[,Percentile:=cut(crw,breaks=seq(0,1,.01),labels=1:100),by=Region]
+ SMD[,NewPoor:=ifelse(Percentile %in% Settings$InitialPoorPercentile,1,0)]
+
+
+ cat("\n",sum(SMD[,(ThisIterationPoor-NewPoor)^2]))
+}
+MD <- merge(MD,SMD[,.(HHID,Bundle_Value,NewPoor,Decile,Percentile)],by="HHID")
+setnames(MD,"NewPoor","InitialPoor")
+
+MD[,weighted.mean(InitialPoor,Weight), by=.(NewArea,Region)]
+save(MD,file=paste0(Settings$HEISProcessedPath,"Y",year,"InitialPoor.rda"))
+
+load(file="dtpastUrban.rda")
+load(file="dtpastRural.rda")
+dt2total<-rbind(dtpastUrban,dtpastRural)
+
+#load(file="dt2Urban.rda")
+#load(file="dt2Rural.rda")
+#dt2total<-rbind(dt2Urban,dt2Rural)
+
+load(file=paste0(Settings$HEISProcessedPath,"Y",year,"InitialPoor.rda"))
+MD<-merge(MD,dt2total,by=c("NewArea","Region"),all.x=TRUE)
+
+#Determine Food (Equal 2100 KCal) Bundle
+MD[,NewPoor:=InitialPoor]
+MD[,OldPoor:=1]
+
+i <- 0
+while(MD[(NewPoor-OldPoor)!=0,.N]>5 & i <=15){
+ i <- i + 1
+ MD[,ThisIterationPoor:=NewPoor]
+ MD[,FPLine:=NULL]
+ MDP <- MD[ThisIterationPoor==1,
+ .(FPLine=weighted.mean(Bundle_Value,Weight,na.rm = TRUE)),
+ by=.(cluster,Region)]
+ MD <- merge(MD,MDP,by=c("Region","cluster"))
+ # print(MDP)
+ x<-MD[,.(cluster,Region,FPLine,InitialPoor)]
+ MD[,NewPoor:=ifelse(TFoodExpenditure_Per < FPLine,1,0)]
+ print(table(MD[,.(ThisIterationPoor,NewPoor)]))
+ MD[,OldPoor:=ThisIterationPoor]
+}
+
+MD[,FinalFoodPoor:=OldPoor]
+MD <- MD[,.(HHID,Region,NewArea,cluster,ProvinceCode,Size,HAge,HSex,
+ HLiterate,HEduLevel0,HActivityState,Area,Rooms,MetrPrice,
+ Total_Exp_Month_Per_nondurable,TFoodExpenditure_Per,
+ FoodExpenditure_Per,FPLine,Weight,Percentile,FinalFoodPoor,
+ TFoodExpenditure,Total_Exp_Month_nondurable,Total_Exp_Month,
+ Total_Exp_Month_Per)]
+
+load(file="Compare.rda")
+MD <- merge(MD,Compare,by=c("Region","cluster"))
+#MD<-MD[Region=="Rural"]
+MD[,FinalPoor:=ifelse(Total_Exp_Month_Per < PovertyLine,1,0 )]
+cat(MD[,weighted.mean(FinalPoor,Weight*Size)],"\t",
+ MD[,weighted.mean(PovertyLine,Weight*Size)],"\t",
+ MD[,weighted.mean(FPLine,Weight*Size)])
+#MD[,weighted.mean(FinalPoor,Weight*Size),by=.(Region,NewArea)][order(V1)]
+MD[,weighted.mean(FinalPoor,Weight)]
+MD[,weighted.mean(FinalPoor,Weight),by=c("Region")]
+MD[,weighted.mean(FinalPoor,Weight),by=c("Region","cluster")]
+#Compare<-EngleD[,.(Region,cluster,PovertyLine)]
+#MD<-merge(MD,Compare,by=c("Region","cluster"))
+
+endtime <- proc.time()
+cat("\n\n============================\nIt took ")
+cat(endtime-starttime)
\ No newline at end of file
diff --git a/R/Archive/November 2019/77-Engle's Map.R b/R/Archive/November 2019/77-Engle's Map.R
new file mode 100644
index 00000000..9d7ee49a
--- /dev/null
+++ b/R/Archive/November 2019/77-Engle's Map.R
@@ -0,0 +1,63 @@
+#Engle's Map
+#
+# Copyright © 2019:Majid Einian & Arin Shahbazian
+# Licence: GPL-3
+rm(list=ls())
+
+library(data.table)
+library(readxl)
+library(rworldmap)
+library(rgdal)
+
+
+Engle <- data.table(read_excel("Data/Engle.xlsx","Province")) # Data to be plotted, see the excell file
+
+tfs <- paste0("+proj=lcc +lat_1=30 +lat_2=36 +lat_0=24 +lon_0=54 ",
+ "+x_0=0 +y_0=0 +datum=WGS84 +units=m +no_defs ",
+ "+ellps=WGS84 +towgs84=0,0,0") # Transformation to make all shapefiles in one coordinate system
+
+o <- capture.output(Seas <- readOGR("Shapefiles/1385",
+ layer = "Sea")) # Maps of Caspian Sea, Persian Gulf, & Oman Sea
+Seas <- spTransform(Seas,CRS(tfs))
+
+o <- capture.output(Lakes <- readOGR("Shapefiles/1385", # Maps of Lakes
+ layer = "Lake"))
+Lakes <- spTransform(Lakes,CRS(tfs))
+
+o <- capture.output(ProvMap <- readOGR("Shapefiles/OSM", # Maps of provinces based on latest admin. areas.
+ layer = "Iran_AL4")) # extracted from openstreetmaps.org
+ProvMap <- spTransform(ProvMap,CRS(tfs))
+
+MapData <- rworldmap::joinData2Map(Engle,nameMap="ProvMap", # Joining the data to map
+ nameJoinIDMap="ENNAME", # province name in shapefile
+ nameJoinColumnData="NameEn2", # province name in data excel
+ verbose = TRUE)
+MapData2<-MapData
+
+plot(Seas,col="lightblue", border="lightblue") # plot seas
+plot(Lakes[c(15,25),],add=TRUE,col="lightblue", border="lightblue") # plot just Urmia and Qom lakes
+
+#Urban Areas
+mapUrban <- rworldmap::mapPolys(MapData, add = TRUE, nameColumnToPlot = "EngleUrban3",
+ colourPalette = "heat",
+ mapTitle = paste0("Engle Rate in Urban Areas"),
+ addLegend = FALSE) # Plot data
+do.call( addMapLegend, c( mapUrban
+ , legendLabels = "all" # add legend
+ , digits = 2
+ , legendWidth = 0.7
+ , legendShrink = .5
+ , horizontal = TRUE))
+
+
+#Rural Areas
+mapRural <- rworldmap::mapPolys(MapData2, add = FALSE, nameColumnToPlot = "EngleRural3",
+ colourPalette = "heat",
+ mapTitle = paste0("Engle Rate in Rural Areas"),
+ addLegend = FALSE) # Plot data
+do.call( addMapLegend, c( mapRural
+ , legendLabels = "all" # add legend
+ , digits = 2
+ , legendWidth = 0.7
+ , legendShrink = .5
+ , horizontal = TRUE))
diff --git a/R/Archive/November 2019/80-Poor properties.R b/R/Archive/November 2019/80-Poor properties.R
new file mode 100644
index 00000000..cd00f3d5
--- /dev/null
+++ b/R/Archive/November 2019/80-Poor properties.R
@@ -0,0 +1,427 @@
+#Poors properties.R
+#
+# Copyright © 2018:Arin Shahbazian
+# Licence: GPL-3
+#
+rm(list=ls())
+starttime <- proc.time()
+
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+library(readxl)
+library(stringr)
+library(data.table)
+library(sm)
+library(ggplot2)
+library(xlsx)
+library(haven)
+
+for(year in (Settings$startyear:Settings$endyear)){
+ cat(paste0("\nYear:",year,"\t"))
+
+ #Load Data
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"NewFinalPoor.rda"))
+ UNewFinalPoor<-NewFinalPoor[Region=="Urban"]
+ RNewFinalPoor<-NewFinalPoor[Region=="Rural"]
+
+ #Add house properties
+ T95P2 <- read_dta("D:/R/T95P2.dta")
+ R95P2 <- read_dta("D:/R/R95P2.dta")
+ U95P2 <- read_dta("D:/R/U95P2.dta")
+
+ CBN95<-merge(NewFinalPoor,T95P2,by =c("HHID"),all.x=TRUE)
+ CBN_Urban<-merge(UNewFinalPoor,U95P2,by =c("HHID"),all.x=TRUE)
+ CBN_Rural<-merge(RNewFinalPoor,R95P2,by =c("HHID"),all.x=TRUE)
+
+ CBN_Poor95<-CBN95[FinalPoor==1]
+ CBN_Poor_Urban<-CBN_Urban[FinalPoor==1]
+ CBN_Poor_Rural<-CBN_Rural[FinalPoor==1]
+
+
+ CBN_NonPoor_Urban<-CBN_Urban[FinalPoor==0]
+ CBN_NonPoor_Rural<-CBN_Rural[FinalPoor==0]
+ CBN_NonPoor95<-rbind(CBN_NonPoor_Urban,CBN_NonPoor_Rural)
+
+
+##### Age #####
+#Calculation
+Age<-CBN_NonPoor95[,Age:=weighted.mean(HAge,Weight),by=NewArea][order(NewArea)]
+Age<-Age[,.(Age,NewArea,Weight)]
+Age1<-Age[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(NewArea)]
+Age1[,Weight:=NULL]
+
+Age<-CBN_Poor95[,Poor_Age:=weighted.mean(HAge,Weight),by=NewArea][order(NewArea)]
+Age<-Age[,.(Poor_Age,NewArea,Weight)]
+Age2<-Age[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(NewArea)]
+
+Age<-CBN_NonPoor95[,Poor_Age_40:=weighted.mean(ifelse(HAge<=40,1,0),Weight),by=NewArea][order(NewArea)]
+Age<-Age[,.(Poor_Age_40,NewArea,Weight)]
+Age3<-Age[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(NewArea)]
+
+Age<-CBN_NonPoor95[,Poor_Age_4050:=weighted.mean(ifelse(HAge>40 & HAge<50,1,0),Weight),by=NewArea][order(NewArea)]
+Age<-Age[,.(Poor_Age_4050,NewArea,Weight)]
+Age4<-Age[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(NewArea)]
+
+Age<-CBN_NonPoor95[,Poor_Age_50:=weighted.mean(ifelse(HAge>=50,1,0),Weight),by=NewArea][order(NewArea)]
+Age<-Age[,.(Poor_Age_50,NewArea,Weight)]
+Age5<-Age[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(NewArea)]
+
+Age<-CBN_Poor95[,Poor_Age:=weighted.mean(HAge,Weight),by=NewArea][order(NewArea)]
+Age<-Age[,.(Poor_Age,NewArea,Weight)]
+Age2<-Age[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(NewArea)]
+
+Age<-CBN_Poor95[,Poor_Age_40:=weighted.mean(ifelse(HAge<=40,1,0),Weight),by=NewArea][order(NewArea)]
+Age<-Age[,.(Poor_Age_40,NewArea,Weight)]
+Age6<-Age[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(NewArea)]
+
+Age<-CBN_Poor95[,Poor_Age_4050:=weighted.mean(ifelse(HAge>40 & HAge<50,1,0),Weight),by=NewArea][order(NewArea)]
+Age<-Age[,.(Poor_Age_4050,NewArea,Weight)]
+Age7<-Age[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(NewArea)]
+
+Age<-CBN_Poor95[,Poor_Age_50:=weighted.mean(ifelse(HAge>=50,1,0),Weight),by=NewArea][order(NewArea)]
+Age<-Age[,.(Poor_Age_50,NewArea,Weight)]
+Age8<-Age[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(NewArea)]
+
+AgeT<-merge(Age1,Age2,by =c("NewArea"),all.x=TRUE)
+AgeT[,Weight:=NULL]
+AgeT<-merge(AgeT,Age3,by =c("NewArea"),all.x=TRUE)
+AgeT[,Weight:=NULL]
+AgeT<-merge(AgeT,Age4,by =c("NewArea"),all.x=TRUE)
+AgeT[,Weight:=NULL]
+AgeT<-merge(AgeT,Age5,by =c("NewArea"),all.x=TRUE)
+AgeT[,Weight:=NULL]
+AgeT<-merge(AgeT,Age6,by =c("NewArea"),all.x=TRUE)
+AgeT[,Weight:=NULL]
+AgeT<-merge(AgeT,Age7,by =c("NewArea"),all.x=TRUE)
+AgeT[,Weight:=NULL]
+AgeT<-merge(AgeT,Age8,by =c("NewArea"),all.x=TRUE)
+AgeT[,Weight:=NULL]
+write.xlsx(AgeT, "D:/R/Poors.xlsx",sheetName = "Age1")
+
+
+Age<-CBN95[,Age_40:=weighted.mean(ifelse(HAge<=40,1,0),Weight),by=FinalPoor][order(FinalPoor)]
+Age<-Age[,.(Age_40,FinalPoor,Weight)]
+Age6<-Age[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(FinalPoor)]
+Age6[,Weight:=NULL]
+
+Age<-CBN95[,Age_4050:=weighted.mean(ifelse(HAge>40 & HAge<50,1,0),Weight),by=FinalPoor][order(FinalPoor)]
+Age<-Age[,.(Age_4050,FinalPoor,Weight)]
+Age7<-Age[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(FinalPoor)]
+
+Age<-CBN95[,Age_50:=weighted.mean(ifelse(HAge>=50,1,0),Weight),by=FinalPoor][order(FinalPoor)]
+Age<-Age[,.(Age_50,FinalPoor,Weight)]
+Age8<-Age[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(FinalPoor)]
+
+AgeT<-merge(Age6,Age7,by =c("FinalPoor"),all.x=TRUE)
+AgeT[,Weight:=NULL]
+AgeT<-merge(AgeT,Age8,by =c("FinalPoor"),all.x=TRUE)
+AgeT[,Weight:=NULL]
+write.xlsx(AgeT, "D:/R/Poors.xlsx",sheetName = "Age2",append = TRUE)
+
+
+
+##### Sex #####
+Female<-CBN_NonPoor95[,Female_Poors:=weighted.mean(ifelse(HSex %in% "Female",1,0),Weight),by=ProvinceCode][order(ProvinceCode)]
+Female<-Female[,.(Female_Poors,NewArea,Weight)]
+Female1<-Female[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(NewArea)]
+Female1[,Weight:=NULL]
+
+Female<-CBN_Poor95[,Female:=weighted.mean(ifelse(HSex %in% "Female",1,0),Weight),by=ProvinceCode][order(ProvinceCode)]
+Female<-Female[,.(Female,NewArea,Weight)]
+Female2<-Female[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(NewArea)]
+
+Female1<-merge(Female1,Female2,by =c("NewArea"),all.x=TRUE)
+Female1[,Weight:=NULL]
+write.xlsx(Female1, "D:/R/Poors.xlsx",sheetName = "Female1",append = TRUE)
+
+Female<-CBN95[,Female:=weighted.mean(ifelse(HSex %in% "Female",1,0),Weight),by=FinalPoor][order(FinalPoor)]
+Female<-Female[,.(Female,FinalPoor,Weight)]
+Female3<-Female[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(FinalPoor)]
+Female3[,Weight:=NULL]
+write.xlsx(Female3, "D:/R/Poors.xlsx",sheetName = "Female2",append = TRUE)
+
+##### Size #####
+Size<-CBN_NonPoor95[,Size:=weighted.mean(Size,Weight),by=NewArea][order(NewArea)]
+Size<-Size[,.(Size,NewArea,Weight)]
+Size1<-Size[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(NewArea)]
+Size1[,Weight:=NULL]
+
+Size<-CBN_Poor95[,Poor_Size:=weighted.mean(Size,Weight),by=NewArea][order(NewArea)]
+Size<-Size[,.(Poor_Size,NewArea,Weight)]
+Size2<-Size[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(NewArea)]
+
+SizeT<-merge(Size1,Size2,by =c("NewArea"),all.x=TRUE)
+SizeT[,Weight:=NULL]
+write.xlsx(SizeT, "D:/R/Poors.xlsx",sheetName = "Size1",append = TRUE)
+
+Size<-CBN95[,Size:=weighted.mean(Size,Weight),by=FinalPoor][order(FinalPoor)]
+Size<-Size[,.(Size,FinalPoor,Weight)]
+Size3<-Size[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(FinalPoor)]
+Size3[,Weight:=NULL]
+write.xlsx(Size3, "D:/R/Poors.xlsx",sheetName = "Size2",append = TRUE)
+
+
+
+
+##### Literature #####
+Literate<-CBN_NonPoor95[,Literate_Poors:=weighted.mean(ifelse(HLiterate %in% "TRUE",1,0),Weight),by=NewArea][order(NewArea)]
+Literate<-Literate[,.(Literate_Poors,NewArea,Weight)]
+Literate1<-Literate[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(NewArea)]
+Literate1[,Weight:=NULL]
+
+Literate<-CBN_Poor95[,Literate:=weighted.mean(ifelse(HLiterate %in% "TRUE",1,0),Weight),by=NewArea][order(NewArea)]
+Literate<-Literate[,.(Literate,NewArea,Weight)]
+Literate2<-Literate[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(NewArea)]
+
+Literate1<-merge(Literate1,Literate2,by =c("NewArea"),all.x=TRUE)
+Literate1[,Weight:=NULL]
+write.xlsx(Literate1, "D:/R/Poors.xlsx",sheetName = "Literate1",append = TRUE)
+
+Literate<-CBN95[,Literate:=weighted.mean(ifelse(HLiterate %in% "TRUE",1,0),Weight),by=FinalPoor][order(FinalPoor)]
+Literate<-Literate[,.(Literate,FinalPoor,Weight)]
+Literate3<-Literate[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(FinalPoor)]
+Literate3[,Weight:=NULL]
+write.xlsx(Literate3, "D:/R/Poors.xlsx",sheetName = "Literate2",append = TRUE)
+
+
+##### Education #####
+
+#Education<-CBN_NonPoor95[,Education_Poors1:=weighted.mean(ifelse(HEduLevel0 %in% "Illiterate",1,
+# ifelse(HEduLevel0 %in% "Elementary",2,
+#ifelse(HEduLevel0 %in% "Middle",3,
+#ifelse(HEduLevel0 %in% "High",4,
+#ifelse(HEduLevel0 %in% "Pre",5,
+#ifelse(HEduLevel0 %in% "University",6,0)))))),Weight),by=NewArea][order(NewArea)]
+
+Education<-CBN_NonPoor95[,Education_Poors1:=weighted.mean(ifelse(HEduLevel0 %in% "Illiterate",1,0),Weight),by=NewArea][order(NewArea)]
+Education<-Education[,.(Education_Poors1,NewArea,Weight)]
+Education1<-Education[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(NewArea)]
+Education1[,Weight:=NULL]
+
+Education<-CBN_NonPoor95[,Education_Poors2:=weighted.mean(ifelse(HEduLevel0 %in% "Elementary",1,0),Weight),by=NewArea][order(NewArea)]
+Education<-Education[,.(Education_Poors2,NewArea,Weight)]
+Education2<-Education[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(NewArea)]
+
+Education<-CBN_NonPoor95[,Education_Poors3:=weighted.mean(ifelse(HEduLevel0 %in% "Middle",1,0),Weight),by=NewArea][order(NewArea)]
+Education<-Education[,.(Education_Poors3,NewArea,Weight)]
+Education3<-Education[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(NewArea)]
+
+Education<-CBN_NonPoor95[,Education_Poors4:=weighted.mean(ifelse(HEduLevel0 %in% "High",1,0),Weight),by=NewArea][order(NewArea)]
+Education<-Education[,.(Education_Poors4,NewArea,Weight)]
+Education4<-Education[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(NewArea)]
+
+Education<-CBN_NonPoor95[,Education_Poors5:=weighted.mean(ifelse(HEduLevel0 %in% "Pre",1,0),Weight),by=NewArea][order(NewArea)]
+Education<-Education[,.(Education_Poors5,NewArea,Weight)]
+Education5<-Education[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(NewArea)]
+
+Education<-CBN_NonPoor95[,Education_Poors6:=weighted.mean(ifelse(HEduLevel0 %in% "University",1,0),Weight),by=NewArea][order(NewArea)]
+Education<-Education[,.(Education_Poors6,NewArea,Weight)]
+Education6<-Education[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(NewArea)]
+
+Education<-CBN_Poor95[,Education_Poors7:=weighted.mean(ifelse(HEduLevel0 %in% "Illiterate",1,0),Weight),by=NewArea][order(NewArea)]
+Education<-Education[,.(Education_Poors7,NewArea,Weight)]
+Education7<-Education[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(NewArea)]
+Education7[,Weight:=NULL]
+
+Education<-CBN_Poor95[,Education_Poors8:=weighted.mean(ifelse(HEduLevel0 %in% "Elementary",1,0),Weight),by=NewArea][order(NewArea)]
+Education<-Education[,.(Education_Poors8,NewArea,Weight)]
+Education8<-Education[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(NewArea)]
+
+Education<-CBN_Poor95[,Education_Poors9:=weighted.mean(ifelse(HEduLevel0 %in% "Middle",1,0),Weight),by=NewArea][order(NewArea)]
+Education<-Education[,.(Education_Poors9,NewArea,Weight)]
+Education9<-Education[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(NewArea)]
+
+Education<-CBN_Poor95[,Education_Poors10:=weighted.mean(ifelse(HEduLevel0 %in% "High",1,0),Weight),by=NewArea][order(NewArea)]
+Education<-Education[,.(Education_Poors10,NewArea,Weight)]
+Education10<-Education[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(NewArea)]
+
+Education<-CBN_Poor95[,Education_Poors11:=weighted.mean(ifelse(HEduLevel0 %in% "Pre",1,0),Weight),by=NewArea][order(NewArea)]
+Education<-Education[,.(Education_Poors11,NewArea,Weight)]
+Education11<-Education[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(NewArea)]
+
+Education<-CBN_Poor95[,Education_Poors12:=weighted.mean(ifelse(HEduLevel0 %in% "University",1,0),Weight),by=NewArea][order(NewArea)]
+Education<-Education[,.(Education_Poors12,NewArea,Weight)]
+Education12<-Education[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(NewArea)]
+
+Education1<-merge(Education1,Education2,by =c("NewArea"),all.x=TRUE)
+Education1[,Weight:=NULL]
+Education1<-merge(Education1,Education3,by =c("NewArea"),all.x=TRUE)
+Education1[,Weight:=NULL]
+Education1<-merge(Education1,Education4,by =c("NewArea"),all.x=TRUE)
+Education1[,Weight:=NULL]
+Education1<-merge(Education1,Education5,by =c("NewArea"),all.x=TRUE)
+Education1[,Weight:=NULL]
+Education1<-merge(Education1,Education6,by =c("NewArea"),all.x=TRUE)
+Education1[,Weight:=NULL]
+Education1<-merge(Education1,Education7,by =c("NewArea"),all.x=TRUE)
+Education1<-merge(Education1,Education8,by =c("NewArea"),all.x=TRUE)
+Education1[,Weight:=NULL]
+Education1<-merge(Education1,Education9,by =c("NewArea"),all.x=TRUE)
+Education1[,Weight:=NULL]
+Education1<-merge(Education1,Education10,by =c("NewArea"),all.x=TRUE)
+Education1[,Weight:=NULL]
+Education1<-merge(Education1,Education11,by =c("NewArea"),all.x=TRUE)
+Education1[,Weight:=NULL]
+Education1<-merge(Education1,Education12,by =c("NewArea"),all.x=TRUE)
+Education1[,Weight:=NULL]
+write.xlsx(Education1, "D:/R/Poors.xlsx",sheetName = "Education1",append = TRUE)
+
+
+Education13<-CBN95[,Education1:=weighted.mean(ifelse(HEduLevel0 %in% "Illiterate",1,0),Weight),by=FinalPoor][order(FinalPoor)]
+Education13<-Education13[,.(Education1,FinalPoor,Weight)]
+Education13<-Education13[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(FinalPoor)]
+Education13[,Weight:=NULL]
+
+Education14<-CBN95[,Education2:=weighted.mean(ifelse(HEduLevel0 %in% "Elementary",1,0),Weight),by=FinalPoor][order(FinalPoor)]
+Education14<-Education14[,.(Education2,FinalPoor,Weight)]
+Education14<-Education14[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(FinalPoor)]
+Education14[,Weight:=NULL]
+
+Education15<-CBN95[,Education3:=weighted.mean(ifelse(HEduLevel0 %in% "Middle",1,0),Weight),by=FinalPoor][order(FinalPoor)]
+Education15<-Education15[,.(Education3,FinalPoor,Weight)]
+Education15<-Education15[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(FinalPoor)]
+Education15[,Weight:=NULL]
+
+Education16<-CBN95[,Education4:=weighted.mean(ifelse(HEduLevel0 %in% "High",1,0),Weight),by=FinalPoor][order(FinalPoor)]
+Education16<-Education16[,.(Education4,FinalPoor,Weight)]
+Education16<-Education16[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(FinalPoor)]
+Education16[,Weight:=NULL]
+
+Education17<-CBN95[,Education5:=weighted.mean(ifelse(HEduLevel0 %in% "Pre",1,0),Weight),by=FinalPoor][order(FinalPoor)]
+Education17<-Education17[,.(Education5,FinalPoor,Weight)]
+Education17<-Education17[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(FinalPoor)]
+Education17[,Weight:=NULL]
+
+Education18<-CBN95[,Education6:=weighted.mean(ifelse(HEduLevel0 %in% "University",1,0),Weight),by=FinalPoor][order(FinalPoor)]
+Education18<-Education18[,.(Education6,FinalPoor,Weight)]
+Education18<-Education18[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(FinalPoor)]
+Education18[,Weight:=NULL]
+
+Education2<-merge(Education13,Education14,by =c("FinalPoor"),all.x=TRUE)
+Education2<-merge(Education2,Education15,by =c("FinalPoor"),all.x=TRUE)
+Education2<-merge(Education2,Education16,by =c("FinalPoor"),all.x=TRUE)
+Education2<-merge(Education2,Education17,by =c("FinalPoor"),all.x=TRUE)
+Education2<-merge(Education2,Education18,by =c("FinalPoor"),all.x=TRUE)
+write.xlsx(Education2, "D:/R/Poors.xlsx",sheetName = "Education2",append = TRUE)
+
+
+
+##### Activity #####
+Activity<-CBN_NonPoor95[,Activity_Poors1:=weighted.mean(ifelse(HActivityState %in% "Employed",1,0),Weight),by=NewArea][order(NewArea)]
+Activity<-Activity[,.(Activity_Poors1,NewArea,Weight)]
+Activity1<-Activity[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(NewArea)]
+Activity1[,Weight:=NULL]
+
+Activity<-CBN_NonPoor95[,Activity_Poors2:=weighted.mean(ifelse(HActivityState %in% "Unemployed",1,0),Weight),by=NewArea][order(NewArea)]
+Activity<-Activity[,.(Activity_Poors2,NewArea,Weight)]
+Activity2<-Activity[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(NewArea)]
+
+Activity<-CBN_NonPoor95[,Activity_Poors3:=weighted.mean(ifelse(HActivityState %in% "Income without Work",1,0),Weight),by=NewArea][order(NewArea)]
+Activity<-Activity[,.(Activity_Poors3,NewArea,Weight)]
+Activity3<-Activity[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(NewArea)]
+
+Activity<-CBN_NonPoor95[,Activity_Poors4:=weighted.mean(ifelse(HActivityState %in% "Student",1,0),Weight),by=NewArea][order(NewArea)]
+Activity<-Activity[,.(Activity_Poors4,NewArea,Weight)]
+Activity4<-Activity[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(NewArea)]
+
+Activity<-CBN_NonPoor95[,Activity_Poors5:=weighted.mean(ifelse(HActivityState %in% "Housekeeper",1,0),Weight),by=NewArea][order(NewArea)]
+Activity<-Activity[,.(Activity_Poors5,NewArea,Weight)]
+Activity5<-Activity[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(NewArea)]
+
+Activity<-CBN_NonPoor95[,Activity_Poors6:=weighted.mean(ifelse(HActivityState %in% "Other",1,0),Weight),by=NewArea][order(NewArea)]
+Activity<-Activity[,.(Activity_Poors6,NewArea,Weight)]
+Activity6<-Activity[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(NewArea)]
+
+Activity<-CBN_Poor95[,Activity_Poors7:=weighted.mean(ifelse(HActivityState %in% "Employed",1,0),Weight),by=NewArea][order(NewArea)]
+Activity<-Activity[,.(Activity_Poors7,NewArea,Weight)]
+Activity7<-Activity[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(NewArea)]
+Activity7[,Weight:=NULL]
+
+Activity<-CBN_Poor95[,Activity_Poors8:=weighted.mean(ifelse(HActivityState %in% "Unemployed",1,0),Weight),by=NewArea][order(NewArea)]
+Activity<-Activity[,.(Activity_Poors8,NewArea,Weight)]
+Activity8<-Activity[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(NewArea)]
+
+Activity<-CBN_Poor95[,Activity_Poors9:=weighted.mean(ifelse(HActivityState %in% "Income without Work",1,0),Weight),by=NewArea][order(NewArea)]
+Activity<-Activity[,.(Activity_Poors9,NewArea,Weight)]
+Activity9<-Activity[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(NewArea)]
+
+Activity<-CBN_Poor95[,Activity_Poors10:=weighted.mean(ifelse(HActivityState %in% "Student",1,0),Weight),by=NewArea][order(NewArea)]
+Activity<-Activity[,.(Activity_Poors10,NewArea,Weight)]
+Activity10<-Activity[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(NewArea)]
+
+Activity<-CBN_Poor95[,Activity_Poors11:=weighted.mean(ifelse(HActivityState %in% "Housekeeper",1,0),Weight),by=NewArea][order(NewArea)]
+Activity<-Activity[,.(Activity_Poors11,NewArea,Weight)]
+Activity11<-Activity[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(NewArea)]
+
+Activity<-CBN_Poor95[,Activity_Poors12:=weighted.mean(ifelse(HActivityState %in% "Other",1,0),Weight),by=NewArea][order(NewArea)]
+Activity<-Activity[,.(Activity_Poors12,NewArea,Weight)]
+Activity12<-Activity[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(NewArea)]
+
+Activity1<-merge(Activity1,Activity2,by =c("NewArea"),all.x=TRUE)
+Activity1[,Weight:=NULL]
+Activity1<-merge(Activity1,Activity3,by =c("NewArea"),all.x=TRUE)
+Activity1[,Weight:=NULL]
+Activity1<-merge(Activity1,Activity4,by =c("NewArea"),all.x=TRUE)
+Activity1[,Weight:=NULL]
+Activity1<-merge(Activity1,Activity5,by =c("NewArea"),all.x=TRUE)
+Activity1[,Weight:=NULL]
+Activity1<-merge(Activity1,Activity6,by =c("NewArea"),all.x=TRUE)
+Activity1[,Weight:=NULL]
+Activity1<-merge(Activity1,Activity7,by =c("NewArea"),all.x=TRUE)
+Activity1<-merge(Activity1,Activity8,by =c("NewArea"),all.x=TRUE)
+Activity1[,Weight:=NULL]
+Activity1<-merge(Activity1,Activity9,by =c("NewArea"),all.x=TRUE)
+Activity1[,Weight:=NULL]
+Activity1<-merge(Activity1,Activity10,by =c("NewArea"),all.x=TRUE)
+Activity1[,Weight:=NULL]
+Activity1<-merge(Activity1,Activity11,by =c("NewArea"),all.x=TRUE)
+Activity1[,Weight:=NULL]
+Activity1<-merge(Activity1,Activity12,by =c("NewArea"),all.x=TRUE)
+Activity1[,Weight:=NULL]
+write.xlsx(Activity1, "D:/R/Poors.xlsx",sheetName = "Activity1",append = TRUE)
+
+
+Activity13<-CBN95[,Activity1:=weighted.mean(ifelse(HActivityState %in% "Employed",1,0),Weight),by=FinalPoor][order(FinalPoor)]
+Activity13<-Activity13[,.(Activity1,FinalPoor,Weight)]
+Activity13<-Activity13[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(FinalPoor)]
+Activity13[,Weight:=NULL]
+
+Activity14<-CBN95[,Activity2:=weighted.mean(ifelse(HActivityState %in% "Unemployed",1,0),Weight),by=FinalPoor][order(FinalPoor)]
+Activity14<-Activity14[,.(Activity2,FinalPoor,Weight)]
+Activity14<-Activity14[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(FinalPoor)]
+Activity14[,Weight:=NULL]
+
+Activity15<-CBN95[,Activity3:=weighted.mean(ifelse(HActivityState %in% "Income without Work",1,0),Weight),by=FinalPoor][order(FinalPoor)]
+Activity15<-Activity15[,.(Activity3,FinalPoor,Weight)]
+Activity15<-Activity15[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(FinalPoor)]
+Activity15[,Weight:=NULL]
+
+Activity16<-CBN95[,Activity4:=weighted.mean(ifelse(HActivityState %in% "Student",1,0),Weight),by=FinalPoor][order(FinalPoor)]
+Activity16<-Activity16[,.(Activity4,FinalPoor,Weight)]
+Activity16<-Activity16[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(FinalPoor)]
+Activity16[,Weight:=NULL]
+
+Activity17<-CBN95[,Activity5:=weighted.mean(ifelse(HActivityState %in% "Housekeeper",1,0),Weight),by=FinalPoor][order(FinalPoor)]
+Activity17<-Activity17[,.(Activity5,FinalPoor,Weight)]
+Activity17<-Activity17[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(FinalPoor)]
+Activity17[,Weight:=NULL]
+
+Activity18<-CBN95[,Activity6:=weighted.mean(ifelse(HActivityState %in% "Other",1,0),Weight),by=FinalPoor][order(FinalPoor)]
+Activity18<-Activity18[,.(Activity6,FinalPoor,Weight)]
+Activity18<-Activity18[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(FinalPoor)]
+Activity18[,Weight:=NULL]
+
+Activity2<-merge(Activity13,Activity14,by =c("FinalPoor"),all.x=TRUE)
+Activity2<-merge(Activity2,Activity15,by =c("FinalPoor"),all.x=TRUE)
+Activity2<-merge(Activity2,Activity16,by =c("FinalPoor"),all.x=TRUE)
+Activity2<-merge(Activity2,Activity17,by =c("FinalPoor"),all.x=TRUE)
+Activity2<-merge(Activity2,Activity18,by =c("FinalPoor"),all.x=TRUE)
+write.xlsx(Activity2, "D:/R/Poors.xlsx",sheetName = "Activity2",append = TRUE)
+
+}
+
+
+endtime <- proc.time()
+cat("\n\n============================\nIt took ")
+cat(endtime-starttime)
diff --git a/R/Archive/November 2019/81-Poor properties_Rural.R b/R/Archive/November 2019/81-Poor properties_Rural.R
new file mode 100644
index 00000000..7520e999
--- /dev/null
+++ b/R/Archive/November 2019/81-Poor properties_Rural.R
@@ -0,0 +1,462 @@
+#Poors properties.R
+#
+# Copyright © 2018:Arin Shahbazian
+# Licence: GPL-3
+#
+rm(list=ls())
+starttime <- proc.time()
+
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+library(readxl)
+library(stringr)
+library(data.table)
+library(sm)
+library(ggplot2)
+library(xlsx)
+library(haven)
+
+#Load Data
+load(file=paste0(Settings$HEISProcessedPath,"CBN_Urban","95.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"CBN_Rural","95.rda"))
+CBN95<-rbind(CBN_Urban,CBN_Rural)
+
+#Add house properties
+T95P2 <- read_dta("D:/R/T95P2.dta")
+R95P2 <- read_dta("D:/R/R95P2.dta")
+U95P2 <- read_dta("D:/R/U95P2.dta")
+
+CBN95<-merge(CBN95,T95P2,by =c("HHID"),all.x=TRUE)
+CBN_Urban<-merge(CBN_Urban,U95P2,by =c("HHID"),all.x=TRUE)
+CBN_Rural<-merge(CBN_Rural,R95P2,by =c("HHID"),all.x=TRUE)
+
+load(file=paste0(Settings$HEISProcessedPath,"CBNPoor_Urban","95.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"CBNPoor_Rural","95.rda"))
+CBN_Poor95<-rbind(CBNPoor_Urban,CBNPoor_Rural)
+
+CBN_Poor95<-merge(CBN_Poor95,T95P2,by =c("HHID"),all.x=TRUE)
+CBNPoor_Urban<-merge(CBNPoor_Urban,U95P2,by =c("HHID"),all.x=TRUE)
+CBNPoor_Rural<-merge(CBNPoor_Rural,R95P2,by =c("HHID"),all.x=TRUE)
+
+
+CBN_NonPoor_Urban<-CBN_Urban[Poor11==0]
+CBN_NonPoor_Rural<-CBN_Rural[Poor11==0]
+CBN_NonPoor95<-rbind(CBN_NonPoor_Urban,CBN_NonPoor_Rural)
+
+CBN95[,ProvinceCode2:=as.integer(str_sub(HHIDs,2,3))]
+CBN_Urban[,ProvinceCode2:=as.integer(str_sub(HHIDs,2,3))]
+CBN_Rural[,ProvinceCode2:=as.integer(str_sub(HHIDs,2,3))]
+CBN_Poor95[,ProvinceCode2:=as.integer(str_sub(HHIDs,2,3))]
+CBNPoor_Urban[,ProvinceCode2:=as.integer(str_sub(HHIDs,2,3))]
+CBNPoor_Rural[,ProvinceCode2:=as.integer(str_sub(HHIDs,2,3))]
+CBN_NonPoor95[,ProvinceCode2:=as.integer(str_sub(HHIDs,2,3))]
+CBN_NonPoor_Urban[,ProvinceCode2:=as.integer(str_sub(HHIDs,2,3))]
+CBN_NonPoor_Rural[,ProvinceCode2:=as.integer(str_sub(HHIDs,2,3))]
+
+##### Age #####
+#Calculation
+Age<-CBN_NonPoor_Rural[,Age:=weighted.mean(HAge,Weight),by=cluster][order(cluster)]
+Age<-Age[,.(Age,cluster,Weight)]
+Age1<-Age[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(cluster)]
+Age1[,Weight:=NULL]
+
+Age<-CBNPoor_Rural[,Poor_Age:=weighted.mean(HAge,Weight),by=cluster][order(cluster)]
+Age<-Age[,.(Poor_Age,cluster,Weight)]
+Age2<-Age[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(cluster)]
+
+Age<-CBN_NonPoor_Rural[,Poor_Age_40:=weighted.mean(ifelse(HAge<=40,1,0),Weight),by=cluster][order(cluster)]
+Age<-Age[,.(Poor_Age_40,cluster,Weight)]
+Age3<-Age[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(cluster)]
+
+Age<-CBN_NonPoor_Rural[,Poor_Age_4050:=weighted.mean(ifelse(HAge>40 & HAge<50,1,0),Weight),by=cluster][order(cluster)]
+Age<-Age[,.(Poor_Age_4050,cluster,Weight)]
+Age4<-Age[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(cluster)]
+
+Age<-CBN_NonPoor_Rural[,Poor_Age_50:=weighted.mean(ifelse(HAge>=50,1,0),Weight),by=cluster][order(cluster)]
+Age<-Age[,.(Poor_Age_50,cluster,Weight)]
+Age5<-Age[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(cluster)]
+
+Age<-CBNPoor_Rural[,Poor_Age:=weighted.mean(HAge,Weight),by=cluster][order(cluster)]
+Age<-Age[,.(Poor_Age,cluster,Weight)]
+Age2<-Age[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(cluster)]
+
+Age<-CBNPoor_Rural[,Poor_Age_40:=weighted.mean(ifelse(HAge<=40,1,0),Weight),by=cluster][order(cluster)]
+Age<-Age[,.(Poor_Age_40,cluster,Weight)]
+Age6<-Age[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(cluster)]
+
+Age<-CBNPoor_Rural[,Poor_Age_4050:=weighted.mean(ifelse(HAge>40 & HAge<50,1,0),Weight),by=cluster][order(cluster)]
+Age<-Age[,.(Poor_Age_4050,cluster,Weight)]
+Age7<-Age[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(cluster)]
+
+Age<-CBNPoor_Rural[,Poor_Age_50:=weighted.mean(ifelse(HAge>=50,1,0),Weight),by=cluster][order(cluster)]
+Age<-Age[,.(Poor_Age_50,cluster,Weight)]
+Age8<-Age[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(cluster)]
+
+AgeT<-merge(Age1,Age2,by =c("cluster"),all.x=TRUE)
+AgeT[,Weight:=NULL]
+AgeT<-merge(AgeT,Age3,by =c("cluster"),all.x=TRUE)
+AgeT[,Weight:=NULL]
+AgeT<-merge(AgeT,Age4,by =c("cluster"),all.x=TRUE)
+AgeT[,Weight:=NULL]
+AgeT<-merge(AgeT,Age5,by =c("cluster"),all.x=TRUE)
+AgeT[,Weight:=NULL]
+AgeT<-merge(AgeT,Age6,by =c("cluster"),all.x=TRUE)
+AgeT[,Weight:=NULL]
+AgeT<-merge(AgeT,Age7,by =c("cluster"),all.x=TRUE)
+AgeT[,Weight:=NULL]
+AgeT<-merge(AgeT,Age8,by =c("cluster"),all.x=TRUE)
+AgeT[,Weight:=NULL]
+write.xlsx(AgeT, "D:/R/Poors_Rural2.xlsx",sheetName = "Age1")
+
+
+Age<-CBN_Rural[,Age_40:=weighted.mean(ifelse(HAge<=40,1,0),Weight),by=Poor11][order(Poor11)]
+Age<-Age[,.(Age_40,Poor11,Weight)]
+Age6<-Age[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(Poor11)]
+Age6[,Weight:=NULL]
+
+Age<-CBN_Rural[,Age_4050:=weighted.mean(ifelse(HAge>40 & HAge<50,1,0),Weight),by=Poor11][order(Poor11)]
+Age<-Age[,.(Age_4050,Poor11,Weight)]
+Age7<-Age[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(Poor11)]
+
+Age<-CBN_Rural[,Age_50:=weighted.mean(ifelse(HAge>=50,1,0),Weight),by=Poor11][order(Poor11)]
+Age<-Age[,.(Age_50,Poor11,Weight)]
+Age8<-Age[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(Poor11)]
+
+AgeT<-merge(Age6,Age7,by =c("Poor11"),all.x=TRUE)
+AgeT[,Weight:=NULL]
+AgeT<-merge(AgeT,Age8,by =c("Poor11"),all.x=TRUE)
+AgeT[,Weight:=NULL]
+write.xlsx(AgeT, "D:/R/Poors_Rural2.xlsx",sheetName = "Age2",append = TRUE)
+
+#Graphs
+#sm.density.compare(CBN_Rural$HAge, CBN_Rural$Poor11)
+#sm.density.compare(CBNPoor_Rural$HAge, CBNPoor_Rural$cluster)
+
+#sm.density.compare(CBN_Rural$HAge, CBN_Rural$Poor11)
+#sm.density.compare(CBNPoor_Rural$HAge, CBNPoor_Rural$cluster)
+
+#sm.density.compare(CBN_NonPoor_Rural$HAge, CBN_NonPoor_Rural$Poor11)
+#sm.density.compare(CBNPoor_Rural$HAge, CBNPoor_Rural$cluster)
+
+
+#hist(CBNPoor_Rural$HAge,breaks=12, col="red")
+#plot(density(CBNPoor_Rural$HAge))
+#plot(density(CBNPoor_Rural$HAge,weights=CBNPoor_Rural$Weight),type='l',bty='n')
+#polygon(density(CBNPoor_Rural$HAge), col="red", border="blue")
+#sm.density.compare(CBNPoor_Rural$HAge, CBNPoor_Rural$cluster,weights=CBNPoor_Rural$Weight)
+#boxplot(CBNPoor_Rural$HAge, horizontal = TRUE,col="red")
+
+
+##### Sex #####
+Female<-CBN_NonPoor_Rural[,Female_Poors:=weighted.mean(ifelse(HSex %in% "Female",1,0),Weight),by=ProvinceCode][order(ProvinceCode)]
+Female<-Female[,.(Female_Poors,cluster,Weight)]
+Female1<-Female[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(cluster)]
+Female1[,Weight:=NULL]
+
+Female<-CBNPoor_Rural[,Female:=weighted.mean(ifelse(HSex %in% "Female",1,0),Weight),by=ProvinceCode][order(ProvinceCode)]
+Female<-Female[,.(Female,cluster,Weight)]
+Female2<-Female[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(cluster)]
+
+Female1<-merge(Female1,Female2,by =c("cluster"),all.x=TRUE)
+Female1[,Weight:=NULL]
+write.xlsx(Female1, "D:/R/Poors_Rural2.xlsx",sheetName = "Female1",append = TRUE)
+
+Female<-CBN_Rural[,Female:=weighted.mean(ifelse(HSex %in% "Female",1,0),Weight),by=Poor11][order(Poor11)]
+Female<-Female[,.(Female,Poor11,Weight)]
+Female3<-Female[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(Poor11)]
+Female3[,Weight:=NULL]
+write.xlsx(Female3, "D:/R/Poors_Rural2.xlsx",sheetName = "Female2",append = TRUE)
+
+##### Size #####
+Size<-CBN_NonPoor_Rural[,Size:=weighted.mean(Size,Weight),by=cluster][order(cluster)]
+Size<-Size[,.(Size,cluster,Weight)]
+Size1<-Size[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(cluster)]
+Size1[,Weight:=NULL]
+
+Size<-CBNPoor_Rural[,Poor_Size:=weighted.mean(Size,Weight),by=cluster][order(cluster)]
+Size<-Size[,.(Poor_Size,cluster,Weight)]
+Size2<-Size[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(cluster)]
+
+SizeT<-merge(Size1,Size2,by =c("cluster"),all.x=TRUE)
+SizeT[,Weight:=NULL]
+write.xlsx(SizeT, "D:/R/Poors_Rural2.xlsx",sheetName = "Size1",append = TRUE)
+
+Size<-CBN_Rural[,Size:=weighted.mean(Size,Weight),by=Poor11][order(Poor11)]
+Size<-Size[,.(Size,Poor11,Weight)]
+Size3<-Size[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(Poor11)]
+Size3[,Weight:=NULL]
+write.xlsx(Size3, "D:/R/Poors_Rural2.xlsx",sheetName = "Size2",append = TRUE)
+
+
+#sm.density.compare(CBN_Rural$Size, CBN_Rural$Poor11)
+#sm.density.compare(CBNPoor_Rural$Size, CBNPoor_Rural$cluster)
+
+#sm.density.compare(CBN_Rural$Size, CBN_Rural$Poor11)
+#sm.density.compare(CBNPoor_Rural$Size, CBNPoor_Rural$cluster)
+
+#sm.density.compare(CBN_NonPoor_Rural$Size, CBN_NonPoor_Rural$Poor11)
+#sm.density.compare(CBNPoor_Rural$Size, CBNPoor_Rural$cluster)
+
+
+##### Literature #####
+Literate<-CBN_NonPoor_Rural[,Literate_Poors:=weighted.mean(ifelse(HLiterate %in% "TRUE",1,0),Weight),by=cluster][order(cluster)]
+Literate<-Literate[,.(Literate_Poors,cluster,Weight)]
+Literate1<-Literate[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(cluster)]
+Literate1[,Weight:=NULL]
+
+Literate<-CBNPoor_Rural[,Literate:=weighted.mean(ifelse(HLiterate %in% "TRUE",1,0),Weight),by=cluster][order(cluster)]
+Literate<-Literate[,.(Literate,cluster,Weight)]
+Literate2<-Literate[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(cluster)]
+
+Literate1<-merge(Literate1,Literate2,by =c("cluster"),all.x=TRUE)
+Literate1[,Weight:=NULL]
+write.xlsx(Literate1, "D:/R/Poors_Rural2.xlsx",sheetName = "Literate1",append = TRUE)
+
+Literate<-CBN_Rural[,Literate:=weighted.mean(ifelse(HLiterate %in% "TRUE",1,0),Weight),by=Poor11][order(Poor11)]
+Literate<-Literate[,.(Literate,Poor11,Weight)]
+Literate3<-Literate[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(Poor11)]
+Literate3[,Weight:=NULL]
+write.xlsx(Literate3, "D:/R/Poors_Rural2.xlsx",sheetName = "Literate2",append = TRUE)
+
+
+##### Education #####
+
+#Education<-CBN_NonPoor_Rural[,Education_Poors1:=weighted.mean(ifelse(HEduLevel0 %in% "Illiterate",1,
+# ifelse(HEduLevel0 %in% "Elementary",2,
+#ifelse(HEduLevel0 %in% "Middle",3,
+#ifelse(HEduLevel0 %in% "High",4,
+#ifelse(HEduLevel0 %in% "Pre",5,
+#ifelse(HEduLevel0 %in% "University",6,0)))))),Weight),by=cluster][order(cluster)]
+
+Education<-CBN_NonPoor_Rural[,Education_Poors1:=weighted.mean(ifelse(HEduLevel0 %in% "Illiterate",1,0),Weight),by=cluster][order(cluster)]
+Education<-Education[,.(Education_Poors1,cluster,Weight)]
+Education1<-Education[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(cluster)]
+Education1[,Weight:=NULL]
+
+Education<-CBN_NonPoor_Rural[,Education_Poors2:=weighted.mean(ifelse(HEduLevel0 %in% "Elementary",1,0),Weight),by=cluster][order(cluster)]
+Education<-Education[,.(Education_Poors2,cluster,Weight)]
+Education2<-Education[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(cluster)]
+
+Education<-CBN_NonPoor_Rural[,Education_Poors3:=weighted.mean(ifelse(HEduLevel0 %in% "Middle",1,0),Weight),by=cluster][order(cluster)]
+Education<-Education[,.(Education_Poors3,cluster,Weight)]
+Education3<-Education[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(cluster)]
+
+Education<-CBN_NonPoor_Rural[,Education_Poors4:=weighted.mean(ifelse(HEduLevel0 %in% "High",1,0),Weight),by=cluster][order(cluster)]
+Education<-Education[,.(Education_Poors4,cluster,Weight)]
+Education4<-Education[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(cluster)]
+
+Education<-CBN_NonPoor_Rural[,Education_Poors5:=weighted.mean(ifelse(HEduLevel0 %in% "Pre",1,0),Weight),by=cluster][order(cluster)]
+Education<-Education[,.(Education_Poors5,cluster,Weight)]
+Education5<-Education[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(cluster)]
+
+Education<-CBN_NonPoor_Rural[,Education_Poors6:=weighted.mean(ifelse(HEduLevel0 %in% "University",1,0),Weight),by=cluster][order(cluster)]
+Education<-Education[,.(Education_Poors6,cluster,Weight)]
+Education6<-Education[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(cluster)]
+
+Education<-CBNPoor_Rural[,Education_Poors7:=weighted.mean(ifelse(HEduLevel0 %in% "Illiterate",1,0),Weight),by=cluster][order(cluster)]
+Education<-Education[,.(Education_Poors7,cluster,Weight)]
+Education7<-Education[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(cluster)]
+Education7[,Weight:=NULL]
+
+Education<-CBNPoor_Rural[,Education_Poors8:=weighted.mean(ifelse(HEduLevel0 %in% "Elementary",1,0),Weight),by=cluster][order(cluster)]
+Education<-Education[,.(Education_Poors8,cluster,Weight)]
+Education8<-Education[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(cluster)]
+
+Education<-CBNPoor_Rural[,Education_Poors9:=weighted.mean(ifelse(HEduLevel0 %in% "Middle",1,0),Weight),by=cluster][order(cluster)]
+Education<-Education[,.(Education_Poors9,cluster,Weight)]
+Education9<-Education[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(cluster)]
+
+Education<-CBNPoor_Rural[,Education_Poors10:=weighted.mean(ifelse(HEduLevel0 %in% "High",1,0),Weight),by=cluster][order(cluster)]
+Education<-Education[,.(Education_Poors10,cluster,Weight)]
+Education10<-Education[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(cluster)]
+
+Education<-CBNPoor_Rural[,Education_Poors11:=weighted.mean(ifelse(HEduLevel0 %in% "Pre",1,0),Weight),by=cluster][order(cluster)]
+Education<-Education[,.(Education_Poors11,cluster,Weight)]
+Education11<-Education[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(cluster)]
+
+Education<-CBNPoor_Rural[,Education_Poors12:=weighted.mean(ifelse(HEduLevel0 %in% "University",1,0),Weight),by=cluster][order(cluster)]
+Education<-Education[,.(Education_Poors12,cluster,Weight)]
+Education12<-Education[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(cluster)]
+
+Education1<-merge(Education1,Education2,by =c("cluster"),all.x=TRUE)
+Education1[,Weight:=NULL]
+Education1<-merge(Education1,Education3,by =c("cluster"),all.x=TRUE)
+Education1[,Weight:=NULL]
+Education1<-merge(Education1,Education4,by =c("cluster"),all.x=TRUE)
+Education1[,Weight:=NULL]
+Education1<-merge(Education1,Education5,by =c("cluster"),all.x=TRUE)
+Education1[,Weight:=NULL]
+Education1<-merge(Education1,Education6,by =c("cluster"),all.x=TRUE)
+Education1[,Weight:=NULL]
+Education1<-merge(Education1,Education7,by =c("cluster"),all.x=TRUE)
+Education1<-merge(Education1,Education8,by =c("cluster"),all.x=TRUE)
+Education1[,Weight:=NULL]
+Education1<-merge(Education1,Education9,by =c("cluster"),all.x=TRUE)
+Education1[,Weight:=NULL]
+Education1<-merge(Education1,Education10,by =c("cluster"),all.x=TRUE)
+Education1[,Weight:=NULL]
+Education1<-merge(Education1,Education11,by =c("cluster"),all.x=TRUE)
+Education1[,Weight:=NULL]
+Education1<-merge(Education1,Education12,by =c("cluster"),all.x=TRUE)
+Education1[,Weight:=NULL]
+write.xlsx(Education1, "D:/R/Poors_Rural2.xlsx",sheetName = "Education1",append = TRUE)
+
+
+Education13<-CBN_Rural[,Education1:=weighted.mean(ifelse(HEduLevel0 %in% "Illiterate",1,0),Weight),by=Poor11][order(Poor11)]
+Education13<-Education13[,.(Education1,Poor11,Weight)]
+Education13<-Education13[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(Poor11)]
+Education13[,Weight:=NULL]
+
+Education14<-CBN_Rural[,Education2:=weighted.mean(ifelse(HEduLevel0 %in% "Elementary",1,0),Weight),by=Poor11][order(Poor11)]
+Education14<-Education14[,.(Education2,Poor11,Weight)]
+Education14<-Education14[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(Poor11)]
+Education14[,Weight:=NULL]
+
+Education15<-CBN_Rural[,Education3:=weighted.mean(ifelse(HEduLevel0 %in% "Middle",1,0),Weight),by=Poor11][order(Poor11)]
+Education15<-Education15[,.(Education3,Poor11,Weight)]
+Education15<-Education15[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(Poor11)]
+Education15[,Weight:=NULL]
+
+Education16<-CBN_Rural[,Education4:=weighted.mean(ifelse(HEduLevel0 %in% "High",1,0),Weight),by=Poor11][order(Poor11)]
+Education16<-Education16[,.(Education4,Poor11,Weight)]
+Education16<-Education16[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(Poor11)]
+Education16[,Weight:=NULL]
+
+Education17<-CBN_Rural[,Education5:=weighted.mean(ifelse(HEduLevel0 %in% "Pre",1,0),Weight),by=Poor11][order(Poor11)]
+Education17<-Education17[,.(Education5,Poor11,Weight)]
+Education17<-Education17[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(Poor11)]
+Education17[,Weight:=NULL]
+
+Education18<-CBN_Rural[,Education6:=weighted.mean(ifelse(HEduLevel0 %in% "University",1,0),Weight),by=Poor11][order(Poor11)]
+Education18<-Education18[,.(Education6,Poor11,Weight)]
+Education18<-Education18[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(Poor11)]
+Education18[,Weight:=NULL]
+
+Education2<-merge(Education13,Education14,by =c("Poor11"),all.x=TRUE)
+Education2<-merge(Education2,Education15,by =c("Poor11"),all.x=TRUE)
+Education2<-merge(Education2,Education16,by =c("Poor11"),all.x=TRUE)
+Education2<-merge(Education2,Education17,by =c("Poor11"),all.x=TRUE)
+Education2<-merge(Education2,Education18,by =c("Poor11"),all.x=TRUE)
+write.xlsx(Education2, "D:/R/Poors_Rural2.xlsx",sheetName = "Education2",append = TRUE)
+
+
+
+##### Activity #####
+Activity<-CBN_NonPoor_Rural[,Activity_Poors1:=weighted.mean(ifelse(HActivityState %in% "Employed",1,0),Weight),by=cluster][order(cluster)]
+Activity<-Activity[,.(Activity_Poors1,cluster,Weight)]
+Activity1<-Activity[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(cluster)]
+Activity1[,Weight:=NULL]
+
+Activity<-CBN_NonPoor_Rural[,Activity_Poors2:=weighted.mean(ifelse(HActivityState %in% "Unemployed",1,0),Weight),by=cluster][order(cluster)]
+Activity<-Activity[,.(Activity_Poors2,cluster,Weight)]
+Activity2<-Activity[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(cluster)]
+
+Activity<-CBN_NonPoor_Rural[,Activity_Poors3:=weighted.mean(ifelse(HActivityState %in% "Income without Work",1,0),Weight),by=cluster][order(cluster)]
+Activity<-Activity[,.(Activity_Poors3,cluster,Weight)]
+Activity3<-Activity[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(cluster)]
+
+Activity<-CBN_NonPoor_Rural[,Activity_Poors4:=weighted.mean(ifelse(HActivityState %in% "Student",1,0),Weight),by=cluster][order(cluster)]
+Activity<-Activity[,.(Activity_Poors4,cluster,Weight)]
+Activity4<-Activity[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(cluster)]
+
+Activity<-CBN_NonPoor_Rural[,Activity_Poors5:=weighted.mean(ifelse(HActivityState %in% "Housekeeper",1,0),Weight),by=cluster][order(cluster)]
+Activity<-Activity[,.(Activity_Poors5,cluster,Weight)]
+Activity5<-Activity[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(cluster)]
+
+Activity<-CBN_NonPoor_Rural[,Activity_Poors6:=weighted.mean(ifelse(HActivityState %in% "Other",1,0),Weight),by=cluster][order(cluster)]
+Activity<-Activity[,.(Activity_Poors6,cluster,Weight)]
+Activity6<-Activity[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(cluster)]
+
+Activity<-CBNPoor_Rural[,Activity_Poors7:=weighted.mean(ifelse(HActivityState %in% "Employed",1,0),Weight),by=cluster][order(cluster)]
+Activity<-Activity[,.(Activity_Poors7,cluster,Weight)]
+Activity7<-Activity[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(cluster)]
+Activity7[,Weight:=NULL]
+
+Activity<-CBNPoor_Rural[,Activity_Poors8:=weighted.mean(ifelse(HActivityState %in% "Unemployed",1,0),Weight),by=cluster][order(cluster)]
+Activity<-Activity[,.(Activity_Poors8,cluster,Weight)]
+Activity8<-Activity[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(cluster)]
+
+Activity<-CBNPoor_Rural[,Activity_Poors9:=weighted.mean(ifelse(HActivityState %in% "Income without Work",1,0),Weight),by=cluster][order(cluster)]
+Activity<-Activity[,.(Activity_Poors9,cluster,Weight)]
+Activity9<-Activity[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(cluster)]
+
+Activity<-CBNPoor_Rural[,Activity_Poors10:=weighted.mean(ifelse(HActivityState %in% "Student",1,0),Weight),by=cluster][order(cluster)]
+Activity<-Activity[,.(Activity_Poors10,cluster,Weight)]
+Activity10<-Activity[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(cluster)]
+
+Activity<-CBNPoor_Rural[,Activity_Poors11:=weighted.mean(ifelse(HActivityState %in% "Housekeeper",1,0),Weight),by=cluster][order(cluster)]
+Activity<-Activity[,.(Activity_Poors11,cluster,Weight)]
+Activity11<-Activity[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(cluster)]
+
+Activity<-CBNPoor_Rural[,Activity_Poors12:=weighted.mean(ifelse(HActivityState %in% "Other",1,0),Weight),by=cluster][order(cluster)]
+Activity<-Activity[,.(Activity_Poors12,cluster,Weight)]
+Activity12<-Activity[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(cluster)]
+
+Activity1<-merge(Activity1,Activity2,by =c("cluster"),all.x=TRUE)
+Activity1[,Weight:=NULL]
+Activity1<-merge(Activity1,Activity3,by =c("cluster"),all.x=TRUE)
+Activity1[,Weight:=NULL]
+Activity1<-merge(Activity1,Activity4,by =c("cluster"),all.x=TRUE)
+Activity1[,Weight:=NULL]
+Activity1<-merge(Activity1,Activity5,by =c("cluster"),all.x=TRUE)
+Activity1[,Weight:=NULL]
+Activity1<-merge(Activity1,Activity6,by =c("cluster"),all.x=TRUE)
+Activity1[,Weight:=NULL]
+Activity1<-merge(Activity1,Activity7,by =c("cluster"),all.x=TRUE)
+Activity1<-merge(Activity1,Activity8,by =c("cluster"),all.x=TRUE)
+Activity1[,Weight:=NULL]
+Activity1<-merge(Activity1,Activity9,by =c("cluster"),all.x=TRUE)
+Activity1[,Weight:=NULL]
+Activity1<-merge(Activity1,Activity10,by =c("cluster"),all.x=TRUE)
+Activity1[,Weight:=NULL]
+Activity1<-merge(Activity1,Activity11,by =c("cluster"),all.x=TRUE)
+Activity1[,Weight:=NULL]
+Activity1<-merge(Activity1,Activity12,by =c("cluster"),all.x=TRUE)
+Activity1[,Weight:=NULL]
+write.xlsx(Activity1, "D:/R/Poors_Rural2.xlsx",sheetName = "Activity1",append = TRUE)
+
+
+Activity13<-CBN_Rural[,Activity1:=weighted.mean(ifelse(HActivityState %in% "Employed",1,0),Weight),by=Poor11][order(Poor11)]
+Activity13<-Activity13[,.(Activity1,Poor11,Weight)]
+Activity13<-Activity13[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(Poor11)]
+Activity13[,Weight:=NULL]
+
+Activity14<-CBN_Rural[,Activity2:=weighted.mean(ifelse(HActivityState %in% "Unemployed",1,0),Weight),by=Poor11][order(Poor11)]
+Activity14<-Activity14[,.(Activity2,Poor11,Weight)]
+Activity14<-Activity14[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(Poor11)]
+Activity14[,Weight:=NULL]
+
+Activity15<-CBN_Rural[,Activity3:=weighted.mean(ifelse(HActivityState %in% "Income without Work",1,0),Weight),by=Poor11][order(Poor11)]
+Activity15<-Activity15[,.(Activity3,Poor11,Weight)]
+Activity15<-Activity15[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(Poor11)]
+Activity15[,Weight:=NULL]
+
+Activity16<-CBN_Rural[,Activity4:=weighted.mean(ifelse(HActivityState %in% "Student",1,0),Weight),by=Poor11][order(Poor11)]
+Activity16<-Activity16[,.(Activity4,Poor11,Weight)]
+Activity16<-Activity16[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(Poor11)]
+Activity16[,Weight:=NULL]
+
+Activity17<-CBN_Rural[,Activity5:=weighted.mean(ifelse(HActivityState %in% "Housekeeper",1,0),Weight),by=Poor11][order(Poor11)]
+Activity17<-Activity17[,.(Activity5,Poor11,Weight)]
+Activity17<-Activity17[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(Poor11)]
+Activity17[,Weight:=NULL]
+
+Activity18<-CBN_Rural[,Activity6:=weighted.mean(ifelse(HActivityState %in% "Other",1,0),Weight),by=Poor11][order(Poor11)]
+Activity18<-Activity18[,.(Activity6,Poor11,Weight)]
+Activity18<-Activity18[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(Poor11)]
+Activity18[,Weight:=NULL]
+
+Activity2<-merge(Activity13,Activity14,by =c("Poor11"),all.x=TRUE)
+Activity2<-merge(Activity2,Activity15,by =c("Poor11"),all.x=TRUE)
+Activity2<-merge(Activity2,Activity16,by =c("Poor11"),all.x=TRUE)
+Activity2<-merge(Activity2,Activity17,by =c("Poor11"),all.x=TRUE)
+Activity2<-merge(Activity2,Activity18,by =c("Poor11"),all.x=TRUE)
+write.xlsx(Activity2, "D:/R/Poors_Rural2.xlsx",sheetName = "Activity2",append = TRUE)
+
+
+
+
+endtime <- proc.time()
+cat("\n\n============================\nIt took ")
+cat(endtime-starttime)
diff --git a/R/Archive/November 2019/81-Poor properties_Urban.R b/R/Archive/November 2019/81-Poor properties_Urban.R
new file mode 100644
index 00000000..f8d334a3
--- /dev/null
+++ b/R/Archive/November 2019/81-Poor properties_Urban.R
@@ -0,0 +1,462 @@
+#Poors properties.R
+#
+# Copyright © 2018:Arin Shahbazian
+# Licence: GPL-3
+#
+rm(list=ls())
+starttime <- proc.time()
+
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+library(readxl)
+library(stringr)
+library(data.table)
+library(sm)
+library(ggplot2)
+library(xlsx)
+library(haven)
+
+#Load Data
+load(file=paste0(Settings$HEISProcessedPath,"CBN_Urban","95.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"CBN_Rural","95.rda"))
+CBN95<-rbind(CBN_Urban,CBN_Rural)
+
+#Add house properties
+T95P2 <- read_dta("D:/R/T95P2.dta")
+R95P2 <- read_dta("D:/R/R95P2.dta")
+U95P2 <- read_dta("D:/R/U95P2.dta")
+
+CBN95<-merge(CBN95,T95P2,by =c("HHID"),all.x=TRUE)
+CBN_Urban<-merge(CBN_Urban,U95P2,by =c("HHID"),all.x=TRUE)
+CBN_Rural<-merge(CBN_Rural,R95P2,by =c("HHID"),all.x=TRUE)
+
+load(file=paste0(Settings$HEISProcessedPath,"CBNPoor_Urban","95.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"CBNPoor_Rural","95.rda"))
+CBN_Poor95<-rbind(CBNPoor_Urban,CBNPoor_Rural)
+
+CBN_Poor95<-merge(CBN_Poor95,T95P2,by =c("HHID"),all.x=TRUE)
+CBNPoor_Urban<-merge(CBNPoor_Urban,U95P2,by =c("HHID"),all.x=TRUE)
+CBNPoor_Rural<-merge(CBNPoor_Rural,R95P2,by =c("HHID"),all.x=TRUE)
+
+
+CBN_NonPoor_Urban<-CBN_Urban[Poor11==0]
+CBN_NonPoor_Rural<-CBN_Rural[Poor11==0]
+CBN_NonPoor95<-rbind(CBN_NonPoor_Urban,CBN_NonPoor_Rural)
+
+CBN95[,ProvinceCode2:=as.integer(str_sub(HHIDs,2,3))]
+CBN_Urban[,ProvinceCode2:=as.integer(str_sub(HHIDs,2,3))]
+CBN_Rural[,ProvinceCode2:=as.integer(str_sub(HHIDs,2,3))]
+CBN_Poor95[,ProvinceCode2:=as.integer(str_sub(HHIDs,2,3))]
+CBNPoor_Urban[,ProvinceCode2:=as.integer(str_sub(HHIDs,2,3))]
+CBNPoor_Rural[,ProvinceCode2:=as.integer(str_sub(HHIDs,2,3))]
+CBN_NonPoor95[,ProvinceCode2:=as.integer(str_sub(HHIDs,2,3))]
+CBN_NonPoor_Urban[,ProvinceCode2:=as.integer(str_sub(HHIDs,2,3))]
+CBN_NonPoor_Rural[,ProvinceCode2:=as.integer(str_sub(HHIDs,2,3))]
+
+##### Age #####
+#Calculation
+Age<-CBN_NonPoor_Urban[,Age:=weighted.mean(HAge,Weight),by=cluster][order(cluster)]
+Age<-Age[,.(Age,cluster,Weight)]
+Age1<-Age[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(cluster)]
+Age1[,Weight:=NULL]
+
+Age<-CBNPoor_Urban[,Poor_Age:=weighted.mean(HAge,Weight),by=cluster][order(cluster)]
+Age<-Age[,.(Poor_Age,cluster,Weight)]
+Age2<-Age[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(cluster)]
+
+Age<-CBN_NonPoor_Urban[,Poor_Age_40:=weighted.mean(ifelse(HAge<=40,1,0),Weight),by=cluster][order(cluster)]
+Age<-Age[,.(Poor_Age_40,cluster,Weight)]
+Age3<-Age[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(cluster)]
+
+Age<-CBN_NonPoor_Urban[,Poor_Age_4050:=weighted.mean(ifelse(HAge>40 & HAge<50,1,0),Weight),by=cluster][order(cluster)]
+Age<-Age[,.(Poor_Age_4050,cluster,Weight)]
+Age4<-Age[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(cluster)]
+
+Age<-CBN_NonPoor_Urban[,Poor_Age_50:=weighted.mean(ifelse(HAge>=50,1,0),Weight),by=cluster][order(cluster)]
+Age<-Age[,.(Poor_Age_50,cluster,Weight)]
+Age5<-Age[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(cluster)]
+
+Age<-CBNPoor_Urban[,Poor_Age:=weighted.mean(HAge,Weight),by=cluster][order(cluster)]
+Age<-Age[,.(Poor_Age,cluster,Weight)]
+Age2<-Age[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(cluster)]
+
+Age<-CBNPoor_Urban[,Poor_Age_40:=weighted.mean(ifelse(HAge<=40,1,0),Weight),by=cluster][order(cluster)]
+Age<-Age[,.(Poor_Age_40,cluster,Weight)]
+Age6<-Age[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(cluster)]
+
+Age<-CBNPoor_Urban[,Poor_Age_4050:=weighted.mean(ifelse(HAge>40 & HAge<50,1,0),Weight),by=cluster][order(cluster)]
+Age<-Age[,.(Poor_Age_4050,cluster,Weight)]
+Age7<-Age[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(cluster)]
+
+Age<-CBNPoor_Urban[,Poor_Age_50:=weighted.mean(ifelse(HAge>=50,1,0),Weight),by=cluster][order(cluster)]
+Age<-Age[,.(Poor_Age_50,cluster,Weight)]
+Age8<-Age[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(cluster)]
+
+AgeT<-merge(Age1,Age2,by =c("cluster"),all.x=TRUE)
+AgeT[,Weight:=NULL]
+AgeT<-merge(AgeT,Age3,by =c("cluster"),all.x=TRUE)
+AgeT[,Weight:=NULL]
+AgeT<-merge(AgeT,Age4,by =c("cluster"),all.x=TRUE)
+AgeT[,Weight:=NULL]
+AgeT<-merge(AgeT,Age5,by =c("cluster"),all.x=TRUE)
+AgeT[,Weight:=NULL]
+AgeT<-merge(AgeT,Age6,by =c("cluster"),all.x=TRUE)
+AgeT[,Weight:=NULL]
+AgeT<-merge(AgeT,Age7,by =c("cluster"),all.x=TRUE)
+AgeT[,Weight:=NULL]
+AgeT<-merge(AgeT,Age8,by =c("cluster"),all.x=TRUE)
+AgeT[,Weight:=NULL]
+write.xlsx(AgeT, "D:/R/Poors_Urban2.xlsx",sheetName = "Age1")
+
+
+Age<-CBN_Urban[,Age_40:=weighted.mean(ifelse(HAge<=40,1,0),Weight),by=Poor11][order(Poor11)]
+Age<-Age[,.(Age_40,Poor11,Weight)]
+Age6<-Age[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(Poor11)]
+Age6[,Weight:=NULL]
+
+Age<-CBN_Urban[,Age_4050:=weighted.mean(ifelse(HAge>40 & HAge<50,1,0),Weight),by=Poor11][order(Poor11)]
+Age<-Age[,.(Age_4050,Poor11,Weight)]
+Age7<-Age[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(Poor11)]
+
+Age<-CBN_Urban[,Age_50:=weighted.mean(ifelse(HAge>=50,1,0),Weight),by=Poor11][order(Poor11)]
+Age<-Age[,.(Age_50,Poor11,Weight)]
+Age8<-Age[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(Poor11)]
+
+AgeT<-merge(Age6,Age7,by =c("Poor11"),all.x=TRUE)
+AgeT[,Weight:=NULL]
+AgeT<-merge(AgeT,Age8,by =c("Poor11"),all.x=TRUE)
+AgeT[,Weight:=NULL]
+write.xlsx(AgeT, "D:/R/Poors_Urban2.xlsx",sheetName = "Age2",append = TRUE)
+
+#Graphs
+#sm.density.compare(CBN_Urban$HAge, CBN_Urban$Poor11)
+#sm.density.compare(CBNPoor_Urban$HAge, CBNPoor_Urban$ProvinceCode2)
+
+#sm.density.compare(CBN_Rural$HAge, CBN_Rural$Poor11)
+#sm.density.compare(CBNPoor_Rural$HAge, CBNPoor_Rural$ProvinceCode2)
+
+#sm.density.compare(CBN_NonPoor_Urban$HAge, CBN_NonPoor_Urban$Poor11)
+#sm.density.compare(CBNPoor_Urban$HAge, CBNPoor_Urban$ProvinceCode2)
+
+
+#hist(CBNPoor_Urban$HAge,breaks=12, col="red")
+#plot(density(CBNPoor_Urban$HAge))
+#plot(density(CBNPoor_Urban$HAge,weights=CBNPoor_Urban$Weight),type='l',bty='n')
+#polygon(density(CBNPoor_Urban$HAge), col="red", border="blue")
+#sm.density.compare(CBNPoor_Urban$HAge, CBNPoor_Urban$cluster,Weights=CBNPoor_Urban$Weight)
+#boxplot(CBNPoor_Urban$HAge, horizontal = TRUE,col="red")
+
+
+##### Sex #####
+Female<-CBN_NonPoor_Urban[,Female_Poors:=weighted.mean(ifelse(HSex %in% "Female",1,0),Weight),by=cluster][order(cluster)]
+Female<-Female[,.(Female_Poors,cluster,Weight)]
+Female1<-Female[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(cluster)]
+Female1[,Weight:=NULL]
+
+Female<-CBNPoor_Urban[,Female:=weighted.mean(ifelse(HSex %in% "Female",1,0),Weight),by=cluster][order(cluster)]
+Female<-Female[,.(Female,cluster,Weight)]
+Female2<-Female[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(cluster)]
+
+Female1<-merge(Female1,Female2,by =c("cluster"),all.x=TRUE)
+Female1[,Weight:=NULL]
+write.xlsx(Female1, "D:/R/Poors_Urban2.xlsx",sheetName = "Female1",append = TRUE)
+
+Female<-CBN_Urban[,Female:=weighted.mean(ifelse(HSex %in% "Female",1,0),Weight),by=Poor11][order(Poor11)]
+Female<-Female[,.(Female,Poor11,Weight)]
+Female3<-Female[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(Poor11)]
+Female3[,Weight:=NULL]
+write.xlsx(Female3, "D:/R/Poors_Urban2.xlsx",sheetName = "Female2",append = TRUE)
+
+##### Size #####
+Size<-CBN_NonPoor_Urban[,Size:=weighted.mean(Size,Weight),by=cluster][order(cluster)]
+Size<-Size[,.(Size,cluster,Weight)]
+Size1<-Size[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(cluster)]
+Size1[,Weight:=NULL]
+
+Size<-CBNPoor_Urban[,Poor_Size:=weighted.mean(Size,Weight),by=cluster][order(cluster)]
+Size<-Size[,.(Poor_Size,cluster,Weight)]
+Size2<-Size[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(cluster)]
+
+SizeT<-merge(Size1,Size2,by =c("cluster"),all.x=TRUE)
+SizeT[,Weight:=NULL]
+write.xlsx(SizeT, "D:/R/Poors_Urban2.xlsx",sheetName = "Size1",append = TRUE)
+
+Size<-CBN_Urban[,Size:=weighted.mean(Size,Weight),by=Poor11][order(Poor11)]
+Size<-Size[,.(Size,Poor11,Weight)]
+Size3<-Size[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(Poor11)]
+Size3[,Weight:=NULL]
+write.xlsx(Size3, "D:/R/Poors_Urban2.xlsx",sheetName = "Size2",append = TRUE)
+
+
+#sm.density.compare(CBN_Urban$Size, CBN_Urban$Poor11)
+#sm.density.compare(CBNPoor_Urban$Size, CBNPoor_Urban$ProvinceCode2)
+
+#sm.density.compare(CBN_Rural$Size, CBN_Rural$Poor11)
+#sm.density.compare(CBNPoor_Rural$Size, CBNPoor_Rural$ProvinceCode2)
+
+#sm.density.compare(CBN_NonPoor_Urban$Size, CBN_NonPoor_Urban$Poor11)
+#sm.density.compare(CBNPoor_Urban$Size, CBNPoor_Urban$ProvinceCode2)
+
+
+##### Literature #####
+Literate<-CBN_NonPoor_Urban[,Literate_Poors:=weighted.mean(ifelse(HLiterate %in% "TRUE",1,0),Weight),by=cluster][order(cluster)]
+Literate<-Literate[,.(Literate_Poors,cluster,Weight)]
+Literate1<-Literate[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(cluster)]
+Literate1[,Weight:=NULL]
+
+Literate<-CBNPoor_Urban[,Literate:=weighted.mean(ifelse(HLiterate %in% "TRUE",1,0),Weight),by=cluster][order(cluster)]
+Literate<-Literate[,.(Literate,cluster,Weight)]
+Literate2<-Literate[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(cluster)]
+
+Literate1<-merge(Literate1,Literate2,by =c("cluster"),all.x=TRUE)
+Literate1[,Weight:=NULL]
+write.xlsx(Literate1, "D:/R/Poors_Urban2.xlsx",sheetName = "Literate1",append = TRUE)
+
+Literate<-CBN_Urban[,Literate:=weighted.mean(ifelse(HLiterate %in% "TRUE",1,0),Weight),by=Poor11][order(Poor11)]
+Literate<-Literate[,.(Literate,Poor11,Weight)]
+Literate3<-Literate[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(Poor11)]
+Literate3[,Weight:=NULL]
+write.xlsx(Literate3, "D:/R/Poors_Urban2.xlsx",sheetName = "Literate2",append = TRUE)
+
+
+##### Education #####
+
+#Education<-CBN_NonPoor_Urban[,Education_Poors1:=weighted.mean(ifelse(HEduLevel0 %in% "Illiterate",1,
+# ifelse(HEduLevel0 %in% "Elementary",2,
+#ifelse(HEduLevel0 %in% "Middle",3,
+#ifelse(HEduLevel0 %in% "High",4,
+#ifelse(HEduLevel0 %in% "Pre",5,
+#ifelse(HEduLevel0 %in% "University",6,0)))))),Weight),by=cluster][order(cluster)]
+
+Education<-CBN_NonPoor_Urban[,Education_Poors1:=weighted.mean(ifelse(HEduLevel0 %in% "Illiterate",1,0),Weight),by=cluster][order(cluster)]
+Education<-Education[,.(Education_Poors1,cluster,Weight)]
+Education1<-Education[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(cluster)]
+Education1[,Weight:=NULL]
+
+Education<-CBN_NonPoor_Urban[,Education_Poors2:=weighted.mean(ifelse(HEduLevel0 %in% "Elementary",1,0),Weight),by=cluster][order(cluster)]
+Education<-Education[,.(Education_Poors2,cluster,Weight)]
+Education2<-Education[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(cluster)]
+
+Education<-CBN_NonPoor_Urban[,Education_Poors3:=weighted.mean(ifelse(HEduLevel0 %in% "Middle",1,0),Weight),by=cluster][order(cluster)]
+Education<-Education[,.(Education_Poors3,cluster,Weight)]
+Education3<-Education[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(cluster)]
+
+Education<-CBN_NonPoor_Urban[,Education_Poors4:=weighted.mean(ifelse(HEduLevel0 %in% "High",1,0),Weight),by=cluster][order(cluster)]
+Education<-Education[,.(Education_Poors4,cluster,Weight)]
+Education4<-Education[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(cluster)]
+
+Education<-CBN_NonPoor_Urban[,Education_Poors5:=weighted.mean(ifelse(HEduLevel0 %in% "Pre",1,0),Weight),by=cluster][order(cluster)]
+Education<-Education[,.(Education_Poors5,cluster,Weight)]
+Education5<-Education[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(cluster)]
+
+Education<-CBN_NonPoor_Urban[,Education_Poors6:=weighted.mean(ifelse(HEduLevel0 %in% "University",1,0),Weight),by=cluster][order(cluster)]
+Education<-Education[,.(Education_Poors6,cluster,Weight)]
+Education6<-Education[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(cluster)]
+
+Education<-CBNPoor_Urban[,Education_Poors7:=weighted.mean(ifelse(HEduLevel0 %in% "Illiterate",1,0),Weight),by=cluster][order(cluster)]
+Education<-Education[,.(Education_Poors7,cluster,Weight)]
+Education7<-Education[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(cluster)]
+Education7[,Weight:=NULL]
+
+Education<-CBNPoor_Urban[,Education_Poors8:=weighted.mean(ifelse(HEduLevel0 %in% "Elementary",1,0),Weight),by=cluster][order(cluster)]
+Education<-Education[,.(Education_Poors8,cluster,Weight)]
+Education8<-Education[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(cluster)]
+
+Education<-CBNPoor_Urban[,Education_Poors9:=weighted.mean(ifelse(HEduLevel0 %in% "Middle",1,0),Weight),by=cluster][order(cluster)]
+Education<-Education[,.(Education_Poors9,cluster,Weight)]
+Education9<-Education[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(cluster)]
+
+Education<-CBNPoor_Urban[,Education_Poors10:=weighted.mean(ifelse(HEduLevel0 %in% "High",1,0),Weight),by=cluster][order(cluster)]
+Education<-Education[,.(Education_Poors10,cluster,Weight)]
+Education10<-Education[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(cluster)]
+
+Education<-CBNPoor_Urban[,Education_Poors11:=weighted.mean(ifelse(HEduLevel0 %in% "Pre",1,0),Weight),by=cluster][order(cluster)]
+Education<-Education[,.(Education_Poors11,cluster,Weight)]
+Education11<-Education[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(cluster)]
+
+Education<-CBNPoor_Urban[,Education_Poors12:=weighted.mean(ifelse(HEduLevel0 %in% "University",1,0),Weight),by=cluster][order(cluster)]
+Education<-Education[,.(Education_Poors12,cluster,Weight)]
+Education12<-Education[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(cluster)]
+
+Education1<-merge(Education1,Education2,by =c("cluster"),all.x=TRUE)
+Education1[,Weight:=NULL]
+Education1<-merge(Education1,Education3,by =c("cluster"),all.x=TRUE)
+Education1[,Weight:=NULL]
+Education1<-merge(Education1,Education4,by =c("cluster"),all.x=TRUE)
+Education1[,Weight:=NULL]
+Education1<-merge(Education1,Education5,by =c("cluster"),all.x=TRUE)
+Education1[,Weight:=NULL]
+Education1<-merge(Education1,Education6,by =c("cluster"),all.x=TRUE)
+Education1[,Weight:=NULL]
+Education1<-merge(Education1,Education7,by =c("cluster"),all.x=TRUE)
+Education1<-merge(Education1,Education8,by =c("cluster"),all.x=TRUE)
+Education1[,Weight:=NULL]
+Education1<-merge(Education1,Education9,by =c("cluster"),all.x=TRUE)
+Education1[,Weight:=NULL]
+Education1<-merge(Education1,Education10,by =c("cluster"),all.x=TRUE)
+Education1[,Weight:=NULL]
+Education1<-merge(Education1,Education11,by =c("cluster"),all.x=TRUE)
+Education1[,Weight:=NULL]
+Education1<-merge(Education1,Education12,by =c("cluster"),all.x=TRUE)
+Education1[,Weight:=NULL]
+write.xlsx(Education1, "D:/R/Poors_Urban2.xlsx",sheetName = "Education1",append = TRUE)
+
+
+Education13<-CBN_Urban[,Education1:=weighted.mean(ifelse(HEduLevel0 %in% "Illiterate",1,0),Weight),by=Poor11][order(Poor11)]
+Education13<-Education13[,.(Education1,Poor11,Weight)]
+Education13<-Education13[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(Poor11)]
+Education13[,Weight:=NULL]
+
+Education14<-CBN_Urban[,Education2:=weighted.mean(ifelse(HEduLevel0 %in% "Elementary",1,0),Weight),by=Poor11][order(Poor11)]
+Education14<-Education14[,.(Education2,Poor11,Weight)]
+Education14<-Education14[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(Poor11)]
+Education14[,Weight:=NULL]
+
+Education15<-CBN_Urban[,Education3:=weighted.mean(ifelse(HEduLevel0 %in% "Middle",1,0),Weight),by=Poor11][order(Poor11)]
+Education15<-Education15[,.(Education3,Poor11,Weight)]
+Education15<-Education15[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(Poor11)]
+Education15[,Weight:=NULL]
+
+Education16<-CBN_Urban[,Education4:=weighted.mean(ifelse(HEduLevel0 %in% "High",1,0),Weight),by=Poor11][order(Poor11)]
+Education16<-Education16[,.(Education4,Poor11,Weight)]
+Education16<-Education16[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(Poor11)]
+Education16[,Weight:=NULL]
+
+Education17<-CBN_Urban[,Education5:=weighted.mean(ifelse(HEduLevel0 %in% "Pre",1,0),Weight),by=Poor11][order(Poor11)]
+Education17<-Education17[,.(Education5,Poor11,Weight)]
+Education17<-Education17[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(Poor11)]
+Education17[,Weight:=NULL]
+
+Education18<-CBN_Urban[,Education6:=weighted.mean(ifelse(HEduLevel0 %in% "University",1,0),Weight),by=Poor11][order(Poor11)]
+Education18<-Education18[,.(Education6,Poor11,Weight)]
+Education18<-Education18[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(Poor11)]
+Education18[,Weight:=NULL]
+
+Education2<-merge(Education13,Education14,by =c("Poor11"),all.x=TRUE)
+Education2<-merge(Education2,Education15,by =c("Poor11"),all.x=TRUE)
+Education2<-merge(Education2,Education16,by =c("Poor11"),all.x=TRUE)
+Education2<-merge(Education2,Education17,by =c("Poor11"),all.x=TRUE)
+Education2<-merge(Education2,Education18,by =c("Poor11"),all.x=TRUE)
+write.xlsx(Education2, "D:/R/Poors_Urban2.xlsx",sheetName = "Education2",append = TRUE)
+
+
+
+##### Activity #####
+Activity<-CBN_NonPoor_Urban[,Activity_Poors1:=weighted.mean(ifelse(HActivityState %in% "Employed",1,0),Weight),by=cluster][order(cluster)]
+Activity<-Activity[,.(Activity_Poors1,cluster,Weight)]
+Activity1<-Activity[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(cluster)]
+Activity1[,Weight:=NULL]
+
+Activity<-CBN_NonPoor_Urban[,Activity_Poors2:=weighted.mean(ifelse(HActivityState %in% "Unemployed",1,0),Weight),by=cluster][order(cluster)]
+Activity<-Activity[,.(Activity_Poors2,cluster,Weight)]
+Activity2<-Activity[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(cluster)]
+
+Activity<-CBN_NonPoor_Urban[,Activity_Poors3:=weighted.mean(ifelse(HActivityState %in% "Income without Work",1,0),Weight),by=cluster][order(cluster)]
+Activity<-Activity[,.(Activity_Poors3,cluster,Weight)]
+Activity3<-Activity[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(cluster)]
+
+Activity<-CBN_NonPoor_Urban[,Activity_Poors4:=weighted.mean(ifelse(HActivityState %in% "Student",1,0),Weight),by=cluster][order(cluster)]
+Activity<-Activity[,.(Activity_Poors4,cluster,Weight)]
+Activity4<-Activity[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(cluster)]
+
+Activity<-CBN_NonPoor_Urban[,Activity_Poors5:=weighted.mean(ifelse(HActivityState %in% "Housekeeper",1,0),Weight),by=cluster][order(cluster)]
+Activity<-Activity[,.(Activity_Poors5,cluster,Weight)]
+Activity5<-Activity[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(cluster)]
+
+Activity<-CBN_NonPoor_Urban[,Activity_Poors6:=weighted.mean(ifelse(HActivityState %in% "Other",1,0),Weight),by=cluster][order(cluster)]
+Activity<-Activity[,.(Activity_Poors6,cluster,Weight)]
+Activity6<-Activity[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(cluster)]
+
+Activity<-CBNPoor_Urban[,Activity_Poors7:=weighted.mean(ifelse(HActivityState %in% "Employed",1,0),Weight),by=cluster][order(cluster)]
+Activity<-Activity[,.(Activity_Poors7,cluster,Weight)]
+Activity7<-Activity[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(cluster)]
+Activity7[,Weight:=NULL]
+
+Activity<-CBNPoor_Urban[,Activity_Poors8:=weighted.mean(ifelse(HActivityState %in% "Unemployed",1,0),Weight),by=cluster][order(cluster)]
+Activity<-Activity[,.(Activity_Poors8,cluster,Weight)]
+Activity8<-Activity[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(cluster)]
+
+Activity<-CBNPoor_Urban[,Activity_Poors9:=weighted.mean(ifelse(HActivityState %in% "Income without Work",1,0),Weight),by=cluster][order(cluster)]
+Activity<-Activity[,.(Activity_Poors9,cluster,Weight)]
+Activity9<-Activity[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(cluster)]
+
+Activity<-CBNPoor_Urban[,Activity_Poors10:=weighted.mean(ifelse(HActivityState %in% "Student",1,0),Weight),by=cluster][order(cluster)]
+Activity<-Activity[,.(Activity_Poors10,cluster,Weight)]
+Activity10<-Activity[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(cluster)]
+
+Activity<-CBNPoor_Urban[,Activity_Poors11:=weighted.mean(ifelse(HActivityState %in% "Housekeeper",1,0),Weight),by=cluster][order(cluster)]
+Activity<-Activity[,.(Activity_Poors11,cluster,Weight)]
+Activity11<-Activity[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(cluster)]
+
+Activity<-CBNPoor_Urban[,Activity_Poors12:=weighted.mean(ifelse(HActivityState %in% "Other",1,0),Weight),by=cluster][order(cluster)]
+Activity<-Activity[,.(Activity_Poors12,cluster,Weight)]
+Activity12<-Activity[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(cluster)]
+
+Activity1<-merge(Activity1,Activity2,by =c("cluster"),all.x=TRUE)
+Activity1[,Weight:=NULL]
+Activity1<-merge(Activity1,Activity3,by =c("cluster"),all.x=TRUE)
+Activity1[,Weight:=NULL]
+Activity1<-merge(Activity1,Activity4,by =c("cluster"),all.x=TRUE)
+Activity1[,Weight:=NULL]
+Activity1<-merge(Activity1,Activity5,by =c("cluster"),all.x=TRUE)
+Activity1[,Weight:=NULL]
+Activity1<-merge(Activity1,Activity6,by =c("cluster"),all.x=TRUE)
+Activity1[,Weight:=NULL]
+Activity1<-merge(Activity1,Activity7,by =c("cluster"),all.x=TRUE)
+Activity1<-merge(Activity1,Activity8,by =c("cluster"),all.x=TRUE)
+Activity1[,Weight:=NULL]
+Activity1<-merge(Activity1,Activity9,by =c("cluster"),all.x=TRUE)
+Activity1[,Weight:=NULL]
+Activity1<-merge(Activity1,Activity10,by =c("cluster"),all.x=TRUE)
+Activity1[,Weight:=NULL]
+Activity1<-merge(Activity1,Activity11,by =c("cluster"),all.x=TRUE)
+Activity1[,Weight:=NULL]
+Activity1<-merge(Activity1,Activity12,by =c("cluster"),all.x=TRUE)
+Activity1[,Weight:=NULL]
+write.xlsx(Activity1, "D:/R/Poors_Urban2.xlsx",sheetName = "Activity1",append = TRUE)
+
+
+Activity13<-CBN_Urban[,Activity1:=weighted.mean(ifelse(HActivityState %in% "Employed",1,0),Weight),by=Poor11][order(Poor11)]
+Activity13<-Activity13[,.(Activity1,Poor11,Weight)]
+Activity13<-Activity13[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(Poor11)]
+Activity13[,Weight:=NULL]
+
+Activity14<-CBN_Urban[,Activity2:=weighted.mean(ifelse(HActivityState %in% "Unemployed",1,0),Weight),by=Poor11][order(Poor11)]
+Activity14<-Activity14[,.(Activity2,Poor11,Weight)]
+Activity14<-Activity14[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(Poor11)]
+Activity14[,Weight:=NULL]
+
+Activity15<-CBN_Urban[,Activity3:=weighted.mean(ifelse(HActivityState %in% "Income without Work",1,0),Weight),by=Poor11][order(Poor11)]
+Activity15<-Activity15[,.(Activity3,Poor11,Weight)]
+Activity15<-Activity15[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(Poor11)]
+Activity15[,Weight:=NULL]
+
+Activity16<-CBN_Urban[,Activity4:=weighted.mean(ifelse(HActivityState %in% "Student",1,0),Weight),by=Poor11][order(Poor11)]
+Activity16<-Activity16[,.(Activity4,Poor11,Weight)]
+Activity16<-Activity16[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(Poor11)]
+Activity16[,Weight:=NULL]
+
+Activity17<-CBN_Urban[,Activity5:=weighted.mean(ifelse(HActivityState %in% "Housekeeper",1,0),Weight),by=Poor11][order(Poor11)]
+Activity17<-Activity17[,.(Activity5,Poor11,Weight)]
+Activity17<-Activity17[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(Poor11)]
+Activity17[,Weight:=NULL]
+
+Activity18<-CBN_Urban[,Activity6:=weighted.mean(ifelse(HActivityState %in% "Other",1,0),Weight),by=Poor11][order(Poor11)]
+Activity18<-Activity18[,.(Activity6,Poor11,Weight)]
+Activity18<-Activity18[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(Poor11)]
+Activity18[,Weight:=NULL]
+
+Activity2<-merge(Activity13,Activity14,by =c("Poor11"),all.x=TRUE)
+Activity2<-merge(Activity2,Activity15,by =c("Poor11"),all.x=TRUE)
+Activity2<-merge(Activity2,Activity16,by =c("Poor11"),all.x=TRUE)
+Activity2<-merge(Activity2,Activity17,by =c("Poor11"),all.x=TRUE)
+Activity2<-merge(Activity2,Activity18,by =c("Poor11"),all.x=TRUE)
+write.xlsx(Activity2, "D:/R/Poors_Urban2.xlsx",sheetName = "Activity2",append = TRUE)
+
+
+
+
+endtime <- proc.time()
+cat("\n\n============================\nIt took ")
+cat(endtime-starttime)
diff --git a/R/Archive/November 2019/82-Poor properties_Home_Rural.R b/R/Archive/November 2019/82-Poor properties_Home_Rural.R
new file mode 100644
index 00000000..c91b88f7
--- /dev/null
+++ b/R/Archive/November 2019/82-Poor properties_Home_Rural.R
@@ -0,0 +1,270 @@
+#Poors properties.R
+#
+# Copyright © 2018:Arin Shahbazian
+# Licence: GPL-3
+#
+rm(list=ls())
+starttime <- proc.time()
+
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+library(readxl)
+library(stringr)
+library(data.table)
+library(sm)
+library(ggplot2)
+library(xlsx)
+library(haven)
+
+for(year in (Settings$startyear:Settings$endyear)){
+ cat(paste0("\nYear:",year,"\t"))
+
+ #Load Data
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"NewFinalPoor.rda"))
+ UNewFinalPoor<-NewFinalPoor[Region=="Urban"]
+ RNewFinalPoor<-NewFinalPoor[Region=="Rural"]
+
+ #Add house properties
+ T95P2 <- read_dta("D:/R/T95P2.dta")
+ R95P2 <- read_dta("D:/R/R95P2.dta")
+ U95P2 <- read_dta("D:/R/U95P2.dta")
+
+ CBN95<-merge(NewFinalPoor,T95P2,by =c("HHID"),all.x=TRUE)
+ CBN_Urban<-merge(UNewFinalPoor,U95P2,by =c("HHID"),all.x=TRUE)
+ CBN_Rural<-merge(RNewFinalPoor,R95P2,by =c("HHID"),all.x=TRUE)
+
+ CBN_Poor95<-CBN95[FinalPoor==1]
+ CBN_Poor_Urban<-CBN_Urban[FinalPoor==1]
+ CBN_Poor_Rural<-CBN_Rural[FinalPoor==1]
+
+
+ CBN_NonPoor_Urban<-CBN_Urban[FinalPoor==0]
+ CBN_NonPoor_Rural<-CBN_Rural[FinalPoor==0]
+ CBN_NonPoor95<-rbind(CBN_NonPoor_Urban,CBN_NonPoor_Rural)
+
+
+##### Hoese Conditions #####
+Area_Per<-CBN_NonPoor_Rural[,Area_Per1:=weighted.mean(Area/Size,Weight),by=NewArea][order(NewArea)]
+Area_Per<-Area_Per[,.(Area_Per1,NewArea,Weight)]
+Area_Per1<-Area_Per[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(NewArea)]
+Area_Per1[,Weight:=NULL]
+
+Area_Per<-CBN_Poor_Rural[,Area_Per2:=weighted.mean(Area/Size,Weight),by=NewArea][order(NewArea)]
+Area_Per<-Area_Per[,.(Area_Per2,NewArea,Weight)]
+Area_Per2<-Area_Per[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(NewArea)]
+Area_Per2[,Weight:=NULL]
+
+Area_Per1<-merge(Area_Per1,Area_Per2,by =c("NewArea"),all.x=TRUE)
+write.xlsx(Area_Per1, "D:/R/Poors_Rural_home.xlsx",sheetName = "Area_Per1")
+
+Area_Per<-CBN_Rural[,Area_Per:=weighted.mean(Area/Size,Weight),by=FinalPoor][order(FinalPoor)]
+Area_Per<-Area_Per[,.(Area_Per,FinalPoor,Weight)]
+Area_Per<-Area_Per[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(FinalPoor)]
+Area_Per[,Weight:=NULL]
+write.xlsx(Area_Per, "D:/R/Poors_Rural_home.xlsx",sheetName = "Area_Per2",append = TRUE)
+
+Rooms_Per<-CBN_NonPoor_Rural[,Rooms_Per1:=weighted.mean(Rooms/Size,Weight),by=NewArea][order(NewArea)]
+Rooms_Per<-Rooms_Per[,.(Rooms_Per1,NewArea,Weight)]
+Rooms_Per1<-Rooms_Per[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(NewArea)]
+Rooms_Per1[,Weight:=NULL]
+
+Rooms_Per<-CBN_Poor_Rural[,Rooms_Per2:=weighted.mean(Rooms/Size,Weight),by=NewArea][order(NewArea)]
+Rooms_Per<-Rooms_Per[,.(Rooms_Per2,NewArea,Weight)]
+Rooms_Per2<-Rooms_Per[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(NewArea)]
+Rooms_Per2[,Weight:=NULL]
+
+Rooms_Per1<-merge(Rooms_Per1,Rooms_Per2,by =c("NewArea"),all.x=TRUE)
+write.xlsx(Rooms_Per1, "D:/R/Poors_Rural_home.xlsx",sheetName = "Rooms_Per1",append = TRUE)
+
+Rooms_Per<-CBN_Rural[,Rooms_Per:=weighted.mean(Rooms/Size,Weight),by=FinalPoor][order(FinalPoor)]
+Rooms_Per<-Rooms_Per[,.(Rooms_Per,FinalPoor,Weight)]
+Rooms_Per<-Rooms_Per[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(FinalPoor)]
+Rooms_Per[,Weight:=NULL]
+write.xlsx(Rooms_Per, "D:/R/Poors_Rural_home.xlsx",sheetName = "Rooms_Per2",append = TRUE)
+
+MetrPrice<-CBN_NonPoor_Rural[,MetrPrice1:=weighted.mean(MetrPrice,Weight),by=NewArea][order(NewArea)]
+MetrPrice<-MetrPrice[,.(MetrPrice1,NewArea,Weight)]
+MetrPrice1<-MetrPrice[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(NewArea)]
+MetrPrice1[,Weight:=NULL]
+
+MetrPrice<-CBN_Poor_Rural[,MetrPrice2:=weighted.mean(MetrPrice,Weight),by=NewArea][order(NewArea)]
+MetrPrice<-MetrPrice[,.(MetrPrice2,NewArea,Weight)]
+MetrPrice2<-MetrPrice[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(NewArea)]
+MetrPrice2[,Weight:=NULL]
+
+MetrPrice1<-merge(MetrPrice1,MetrPrice2,by =c("NewArea"),all.x=TRUE)
+write.xlsx(MetrPrice1, "D:/R/Poors_Rural_home.xlsx",sheetName = "MetrPrice1",append = TRUE)
+
+MetrPrice<-CBN_Rural[,MetrPrice:=weighted.mean(MetrPrice,Weight),by=FinalPoor][order(FinalPoor)]
+MetrPrice<-MetrPrice[,.(MetrPrice,FinalPoor,Weight)]
+MetrPrice<-MetrPrice[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(FinalPoor)]
+MetrPrice[,Weight:=NULL]
+write.xlsx(MetrPrice, "D:/R/Poors_Rural_home.xlsx",sheetName = "MetrPrice2",append = TRUE)
+
+##### Electricity #####
+Electricity<-CBN_NonPoor_Rural[,Electricity_Poors:=weighted.mean(Electricity,Weight),by=NewArea][order(NewArea)]
+Electricity<-Electricity[,.(Electricity_Poors,NewArea,Weight)]
+Electricity1<-Electricity[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(NewArea)]
+Electricity1[,Weight:=NULL]
+
+Electricity<-CBN_Poor_Rural[,Electricity:=weighted.mean(Electricity,Weight),by=NewArea][order(NewArea)]
+Electricity<-Electricity[,.(Electricity,NewArea,Weight)]
+Electricity2<-Electricity[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(NewArea)]
+
+Electricity1<-merge(Electricity1,Electricity2,by =c("NewArea"),all.x=TRUE)
+Electricity1[,Weight:=NULL]
+write.xlsx(Electricity1, "D:/R/Poors_Rural_home.xlsx",sheetName = "Electricity1",append = TRUE)
+
+Electricity<-CBN_Rural[,Electricity:=weighted.mean(Electricity,Weight),by=FinalPoor][order(FinalPoor)]
+Electricity<-Electricity[,.(Electricity,FinalPoor,Weight)]
+Electricity3<-Electricity[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(FinalPoor)]
+Electricity3[,Weight:=NULL]
+write.xlsx(Electricity3, "D:/R/Poors_Rural_home.xlsx",sheetName = "Electricity2",append = TRUE)
+
+##### PipedWater #####
+PipedWater<-CBN_NonPoor_Rural[,PipedWater_Poors:=weighted.mean(PipedWater,Weight),by=NewArea][order(NewArea)]
+PipedWater<-PipedWater[,.(PipedWater_Poors,NewArea,Weight)]
+PipedWater1<-PipedWater[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(NewArea)]
+PipedWater1[,Weight:=NULL]
+
+PipedWater<-CBN_Poor_Rural[,PipedWater:=weighted.mean(PipedWater,Weight),by=NewArea][order(NewArea)]
+PipedWater<-PipedWater[,.(PipedWater,NewArea,Weight)]
+PipedWater2<-PipedWater[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(NewArea)]
+
+PipedWater1<-merge(PipedWater1,PipedWater2,by =c("NewArea"),all.x=TRUE)
+PipedWater1[,Weight:=NULL]
+write.xlsx(PipedWater1, "D:/R/Poors_Rural_home.xlsx",sheetName = "PipedWater1",append = TRUE)
+
+PipedWater<-CBN_Rural[,PipedWater:=weighted.mean(PipedWater,Weight),by=FinalPoor][order(FinalPoor)]
+PipedWater<-PipedWater[,.(PipedWater,FinalPoor,Weight)]
+PipedWater3<-PipedWater[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(FinalPoor)]
+PipedWater3[,Weight:=NULL]
+write.xlsx(PipedWater3, "D:/R/Poors_Rural_home.xlsx",sheetName = "PipedWater2",append = TRUE)
+
+
+##### PipedGas #####
+PipedGas<-CBN_NonPoor_Rural[,PipedGas_Poors:=weighted.mean(PipedGas,Weight),by=NewArea][order(NewArea)]
+PipedGas<-PipedGas[,.(PipedGas_Poors,NewArea,Weight)]
+PipedGas1<-PipedGas[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(NewArea)]
+PipedGas1[,Weight:=NULL]
+
+PipedGas<-CBN_Poor_Rural[,PipedGas:=weighted.mean(PipedGas,Weight),by=NewArea][order(NewArea)]
+PipedGas<-PipedGas[,.(PipedGas,NewArea,Weight)]
+PipedGas2<-PipedGas[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(NewArea)]
+
+PipedGas1<-merge(PipedGas1,PipedGas2,by =c("NewArea"),all.x=TRUE)
+PipedGas1[,Weight:=NULL]
+write.xlsx(PipedGas1, "D:/R/Poors_Rural_home.xlsx",sheetName = "PipedGas1",append = TRUE)
+
+PipedGas<-CBN_Rural[,PipedGas:=weighted.mean(PipedGas,Weight),by=FinalPoor][order(FinalPoor)]
+PipedGas<-PipedGas[,.(PipedGas,FinalPoor,Weight)]
+PipedGas3<-PipedGas[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(FinalPoor)]
+PipedGas3[,Weight:=NULL]
+write.xlsx(PipedGas3, "D:/R/Poors_Rural_home.xlsx",sheetName = "PipedGas2",append = TRUE)
+
+##### Telephone #####
+Telephone<-CBN_NonPoor_Rural[,Telephone_Poors:=weighted.mean(Telephone,Weight),by=NewArea][order(NewArea)]
+Telephone<-Telephone[,.(Telephone_Poors,NewArea,Weight)]
+Telephone1<-Telephone[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(NewArea)]
+Telephone1[,Weight:=NULL]
+
+Telephone<-CBN_Poor_Rural[,Telephone:=weighted.mean(Telephone,Weight),by=NewArea][order(NewArea)]
+Telephone<-Telephone[,.(Telephone,NewArea,Weight)]
+Telephone2<-Telephone[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(NewArea)]
+
+Telephone1<-merge(Telephone1,Telephone2,by =c("NewArea"),all.x=TRUE)
+Telephone1[,Weight:=NULL]
+write.xlsx(Telephone1, "D:/R/Poors_Rural_home.xlsx",sheetName = "Telephone1",append = TRUE)
+
+Telephone<-CBN_Rural[,Telephone:=weighted.mean(Telephone,Weight),by=FinalPoor][order(FinalPoor)]
+Telephone<-Telephone[,.(Telephone,FinalPoor,Weight)]
+Telephone3<-Telephone[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(FinalPoor)]
+Telephone3[,Weight:=NULL]
+write.xlsx(Telephone3, "D:/R/Poors_Rural_home.xlsx",sheetName = "Telephone2",append = TRUE)
+
+##### Internet #####
+Internet<-CBN_NonPoor_Rural[,Internet_Poors:=weighted.mean(Internet,Weight),by=NewArea][order(NewArea)]
+Internet<-Internet[,.(Internet_Poors,NewArea,Weight)]
+Internet1<-Internet[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(NewArea)]
+Internet1[,Weight:=NULL]
+
+Internet<-CBN_Poor_Rural[,Internet:=weighted.mean(Internet,Weight),by=NewArea][order(NewArea)]
+Internet<-Internet[,.(Internet,NewArea,Weight)]
+Internet2<-Internet[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(NewArea)]
+
+Internet1<-merge(Internet1,Internet2,by =c("NewArea"),all.x=TRUE)
+Internet1[,Weight:=NULL]
+write.xlsx(Internet1, "D:/R/Poors_Rural_home.xlsx",sheetName = "Internet1",append = TRUE)
+
+Internet<-CBN_Rural[,Internet:=weighted.mean(Internet,Weight),by=FinalPoor][order(FinalPoor)]
+Internet<-Internet[,.(Internet,FinalPoor,Weight)]
+Internet3<-Internet[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(FinalPoor)]
+Internet3[,Weight:=NULL]
+write.xlsx(Internet3, "D:/R/Poors_Rural_home.xlsx",sheetName = "Internet2",append = TRUE)
+
+##### Car #####
+Car<-CBN_NonPoor_Rural[,Car_Poors:=weighted.mean(Car,Weight),by=NewArea][order(NewArea)]
+Car<-Car[,.(Car_Poors,NewArea,Weight)]
+Car1<-Car[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(NewArea)]
+Car1[,Weight:=NULL]
+
+Car<-CBN_Poor_Rural[,Car:=weighted.mean(Car,Weight),by=NewArea][order(NewArea)]
+Car<-Car[,.(Car,NewArea,Weight)]
+Car2<-Car[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(NewArea)]
+
+Car1<-merge(Car1,Car2,by =c("NewArea"),all.x=TRUE)
+Car1[,Weight:=NULL]
+write.xlsx(Car1, "D:/R/Poors_Rural_home.xlsx",sheetName = "Car1",append = TRUE)
+
+Car<-CBN_Rural[,Car:=weighted.mean(Car,Weight),by=FinalPoor][order(FinalPoor)]
+Car<-Car[,.(Car,FinalPoor,Weight)]
+Car3<-Car[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(FinalPoor)]
+Car3[,Weight:=NULL]
+write.xlsx(Car3, "D:/R/Poors_Rural_home.xlsx",sheetName = "Car2",append = TRUE)
+
+##### PC #####
+PC<-CBN_NonPoor_Rural[,PC_Poors:=weighted.mean(PC,Weight),by=NewArea][order(NewArea)]
+PC<-PC[,.(PC_Poors,NewArea,Weight)]
+PC1<-PC[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(NewArea)]
+PC1[,Weight:=NULL]
+
+PC<-CBN_Poor_Rural[,PC:=weighted.mean(PC,Weight),by=NewArea][order(NewArea)]
+PC<-PC[,.(PC,NewArea,Weight)]
+PC2<-PC[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(NewArea)]
+
+PC1<-merge(PC1,PC2,by =c("NewArea"),all.x=TRUE)
+PC1[,Weight:=NULL]
+write.xlsx(PC1, "D:/R/Poors_Rural_home.xlsx",sheetName = "PC1",append = TRUE)
+
+PC<-CBN_Rural[,PC:=weighted.mean(PC,Weight),by=FinalPoor][order(FinalPoor)]
+PC<-PC[,.(PC,FinalPoor,Weight)]
+PC3<-PC[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(FinalPoor)]
+PC3[,Weight:=NULL]
+write.xlsx(PC3, "D:/R/Poors_Rural_home.xlsx",sheetName = "PC2",append = TRUE)
+
+##### Cell #####
+Cell<-CBN_NonPoor_Rural[,Cell_Poors:=weighted.mean(Cell,Weight),by=NewArea][order(NewArea)]
+Cell<-Cell[,.(Cell_Poors,NewArea,Weight)]
+Cell1<-Cell[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(NewArea)]
+Cell1[,Weight:=NULL]
+
+Cell<-CBN_Poor_Rural[,Cell:=weighted.mean(Cell,Weight),by=NewArea][order(NewArea)]
+Cell<-Cell[,.(Cell,NewArea,Weight)]
+Cell2<-Cell[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(NewArea)]
+
+Cell1<-merge(Cell1,Cell2,by =c("NewArea"),all.x=TRUE)
+Cell1[,Weight:=NULL]
+write.xlsx(Cell1, "D:/R/Poors_Rural_home.xlsx",sheetName = "Cell1",append = TRUE)
+
+Cell<-CBN_Rural[,Cell:=weighted.mean(Cell,Weight),by=FinalPoor][order(FinalPoor)]
+Cell<-Cell[,.(Cell,FinalPoor,Weight)]
+Cell3<-Cell[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(FinalPoor)]
+Cell3[,Weight:=NULL]
+write.xlsx(Cell3, "D:/R/Poors_Rural_home.xlsx",sheetName = "Cell2",append = TRUE)
+
+}
+
+endtime <- proc.time()
+cat("\n\n============================\nIt took ")
+cat(endtime-starttime)
diff --git a/R/Archive/November 2019/83-Poor properties_Home_Urban.R b/R/Archive/November 2019/83-Poor properties_Home_Urban.R
new file mode 100644
index 00000000..33f0885b
--- /dev/null
+++ b/R/Archive/November 2019/83-Poor properties_Home_Urban.R
@@ -0,0 +1,269 @@
+#Poors properties.R
+#
+# Copyright © 2018:Arin Shahbazian
+# Licence: GPL-3
+#
+rm(list=ls())
+starttime <- proc.time()
+
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+library(readxl)
+library(stringr)
+library(data.table)
+library(sm)
+library(ggplot2)
+library(xlsx)
+library(haven)
+
+for(year in (Settings$startyear:Settings$endyear)){
+ cat(paste0("\nYear:",year,"\t"))
+
+ #Load Data
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"NewFinalPoor.rda"))
+ UNewFinalPoor<-NewFinalPoor[Region=="Urban"]
+ RNewFinalPoor<-NewFinalPoor[Region=="Rural"]
+
+ #Add house properties
+ T95P2 <- read_dta("D:/R/T95P2.dta")
+ R95P2 <- read_dta("D:/R/R95P2.dta")
+ U95P2 <- read_dta("D:/R/U95P2.dta")
+
+ CBN95<-merge(NewFinalPoor,T95P2,by =c("HHID"),all.x=TRUE)
+ CBN_Urban<-merge(UNewFinalPoor,U95P2,by =c("HHID"),all.x=TRUE)
+ CBN_Rural<-merge(RNewFinalPoor,R95P2,by =c("HHID"),all.x=TRUE)
+
+ CBN_Poor95<-CBN95[FinalPoor==1]
+ CBN_Poor_Urban<-CBN_Urban[FinalPoor==1]
+ CBN_Poor_Rural<-CBN_Rural[FinalPoor==1]
+
+
+ CBN_NonPoor_Urban<-CBN_Urban[FinalPoor==0]
+ CBN_NonPoor_Rural<-CBN_Rural[FinalPoor==0]
+ CBN_NonPoor95<-rbind(CBN_NonPoor_Urban,CBN_NonPoor_Rural)
+
+
+##### Hoese Conditions #####
+Area_Per<-CBN_NonPoor_Urban[,Area_Per1:=weighted.mean(Area/Size,Weight),by=NewArea][order(NewArea)]
+Area_Per<-Area_Per[,.(Area_Per1,NewArea,Weight)]
+Area_Per1<-Area_Per[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(NewArea)]
+Area_Per1[,Weight:=NULL]
+
+Area_Per<-CBN_Poor_Urban[,Area_Per2:=weighted.mean(Area/Size,Weight),by=NewArea][order(NewArea)]
+Area_Per<-Area_Per[,.(Area_Per2,NewArea,Weight)]
+Area_Per2<-Area_Per[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(NewArea)]
+Area_Per2[,Weight:=NULL]
+
+Area_Per1<-merge(Area_Per1,Area_Per2,by =c("NewArea"),all.x=TRUE)
+write.xlsx(Area_Per1, "D:/R/Poors_Urban_home.xlsx",sheetName = "Area_Per1")
+
+Area_Per<-CBN_Urban[,Area_Per:=weighted.mean(Area/Size,Weight),by=FinalPoor][order(FinalPoor)]
+Area_Per<-Area_Per[,.(Area_Per,FinalPoor,Weight)]
+Area_Per<-Area_Per[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(FinalPoor)]
+Area_Per[,Weight:=NULL]
+write.xlsx(Area_Per, "D:/R/Poors_Urban_home.xlsx",sheetName = "Area_Per2",append = TRUE)
+
+Rooms_Per<-CBN_NonPoor_Urban[,Rooms_Per1:=weighted.mean(Rooms/Size,Weight),by=NewArea][order(NewArea)]
+Rooms_Per<-Rooms_Per[,.(Rooms_Per1,NewArea,Weight)]
+Rooms_Per1<-Rooms_Per[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(NewArea)]
+Rooms_Per1[,Weight:=NULL]
+
+Rooms_Per<-CBN_Poor_Urban[,Rooms_Per2:=weighted.mean(Rooms/Size,Weight),by=NewArea][order(NewArea)]
+Rooms_Per<-Rooms_Per[,.(Rooms_Per2,NewArea,Weight)]
+Rooms_Per2<-Rooms_Per[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(NewArea)]
+Rooms_Per2[,Weight:=NULL]
+
+Rooms_Per1<-merge(Rooms_Per1,Rooms_Per2,by =c("NewArea"),all.x=TRUE)
+write.xlsx(Rooms_Per1, "D:/R/Poors_Urban_home.xlsx",sheetName = "Rooms_Per1",append = TRUE)
+
+Rooms_Per<-CBN_Urban[,Rooms_Per:=weighted.mean(Rooms/Size,Weight),by=FinalPoor][order(FinalPoor)]
+Rooms_Per<-Rooms_Per[,.(Rooms_Per,FinalPoor,Weight)]
+Rooms_Per<-Rooms_Per[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(FinalPoor)]
+Rooms_Per[,Weight:=NULL]
+write.xlsx(Rooms_Per, "D:/R/Poors_Urban_home.xlsx",sheetName = "Rooms_Per2",append = TRUE)
+
+MetrPrice<-CBN_NonPoor_Urban[,MetrPrice1:=weighted.mean(MetrPrice,Weight),by=NewArea][order(NewArea)]
+MetrPrice<-MetrPrice[,.(MetrPrice1,NewArea,Weight)]
+MetrPrice1<-MetrPrice[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(NewArea)]
+MetrPrice1[,Weight:=NULL]
+
+MetrPrice<-CBN_Poor_Urban[,MetrPrice2:=weighted.mean(MetrPrice,Weight),by=NewArea][order(NewArea)]
+MetrPrice<-MetrPrice[,.(MetrPrice2,NewArea,Weight)]
+MetrPrice2<-MetrPrice[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(NewArea)]
+MetrPrice2[,Weight:=NULL]
+
+MetrPrice1<-merge(MetrPrice1,MetrPrice2,by =c("NewArea"),all.x=TRUE)
+write.xlsx(MetrPrice1, "D:/R/Poors_Urban_home.xlsx",sheetName = "MetrPrice1",append = TRUE)
+
+MetrPrice<-CBN_Urban[,MetrPrice:=weighted.mean(MetrPrice,Weight),by=FinalPoor][order(FinalPoor)]
+MetrPrice<-MetrPrice[,.(MetrPrice,FinalPoor,Weight)]
+MetrPrice<-MetrPrice[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(FinalPoor)]
+MetrPrice[,Weight:=NULL]
+write.xlsx(MetrPrice, "D:/R/Poors_Urban_home.xlsx",sheetName = "MetrPrice2",append = TRUE)
+
+##### Electricity #####
+Electricity<-CBN_NonPoor_Urban[,Electricity_Poors:=weighted.mean(Electricity,Weight),by=NewArea][order(NewArea)]
+Electricity<-Electricity[,.(Electricity_Poors,NewArea,Weight)]
+Electricity1<-Electricity[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(NewArea)]
+Electricity1[,Weight:=NULL]
+
+Electricity<-CBN_Poor_Urban[,Electricity:=weighted.mean(Electricity,Weight),by=NewArea][order(NewArea)]
+Electricity<-Electricity[,.(Electricity,NewArea,Weight)]
+Electricity2<-Electricity[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(NewArea)]
+
+Electricity1<-merge(Electricity1,Electricity2,by =c("NewArea"),all.x=TRUE)
+Electricity1[,Weight:=NULL]
+write.xlsx(Electricity1, "D:/R/Poors_Urban_home.xlsx",sheetName = "Electricity1",append = TRUE)
+
+Electricity<-CBN_Urban[,Electricity:=weighted.mean(Electricity,Weight),by=FinalPoor][order(FinalPoor)]
+Electricity<-Electricity[,.(Electricity,FinalPoor,Weight)]
+Electricity3<-Electricity[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(FinalPoor)]
+Electricity3[,Weight:=NULL]
+write.xlsx(Electricity3, "D:/R/Poors_Urban_home.xlsx",sheetName = "Electricity2",append = TRUE)
+
+##### PipedWater #####
+PipedWater<-CBN_NonPoor_Urban[,PipedWater_Poors:=weighted.mean(PipedWater,Weight),by=NewArea][order(NewArea)]
+PipedWater<-PipedWater[,.(PipedWater_Poors,NewArea,Weight)]
+PipedWater1<-PipedWater[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(NewArea)]
+PipedWater1[,Weight:=NULL]
+
+PipedWater<-CBN_Poor_Urban[,PipedWater:=weighted.mean(PipedWater,Weight),by=NewArea][order(NewArea)]
+PipedWater<-PipedWater[,.(PipedWater,NewArea,Weight)]
+PipedWater2<-PipedWater[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(NewArea)]
+
+PipedWater1<-merge(PipedWater1,PipedWater2,by =c("NewArea"),all.x=TRUE)
+PipedWater1[,Weight:=NULL]
+write.xlsx(PipedWater1, "D:/R/Poors_Urban_home.xlsx",sheetName = "PipedWater1",append = TRUE)
+
+PipedWater<-CBN_Urban[,PipedWater:=weighted.mean(PipedWater,Weight),by=FinalPoor][order(FinalPoor)]
+PipedWater<-PipedWater[,.(PipedWater,FinalPoor,Weight)]
+PipedWater3<-PipedWater[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(FinalPoor)]
+PipedWater3[,Weight:=NULL]
+write.xlsx(PipedWater3, "D:/R/Poors_Urban_home.xlsx",sheetName = "PipedWater2",append = TRUE)
+
+
+##### PipedGas #####
+PipedGas<-CBN_NonPoor_Urban[,PipedGas_Poors:=weighted.mean(PipedGas,Weight),by=NewArea][order(NewArea)]
+PipedGas<-PipedGas[,.(PipedGas_Poors,NewArea,Weight)]
+PipedGas1<-PipedGas[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(NewArea)]
+PipedGas1[,Weight:=NULL]
+
+PipedGas<-CBN_Poor_Urban[,PipedGas:=weighted.mean(PipedGas,Weight),by=NewArea][order(NewArea)]
+PipedGas<-PipedGas[,.(PipedGas,NewArea,Weight)]
+PipedGas2<-PipedGas[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(NewArea)]
+
+PipedGas1<-merge(PipedGas1,PipedGas2,by =c("NewArea"),all.x=TRUE)
+PipedGas1[,Weight:=NULL]
+write.xlsx(PipedGas1, "D:/R/Poors_Urban_home.xlsx",sheetName = "PipedGas1",append = TRUE)
+
+PipedGas<-CBN_Urban[,PipedGas:=weighted.mean(PipedGas,Weight),by=FinalPoor][order(FinalPoor)]
+PipedGas<-PipedGas[,.(PipedGas,FinalPoor,Weight)]
+PipedGas3<-PipedGas[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(FinalPoor)]
+PipedGas3[,Weight:=NULL]
+write.xlsx(PipedGas3, "D:/R/Poors_Urban_home.xlsx",sheetName = "PipedGas2",append = TRUE)
+
+##### Telephone #####
+Telephone<-CBN_NonPoor_Urban[,Telephone_Poors:=weighted.mean(Telephone,Weight),by=NewArea][order(NewArea)]
+Telephone<-Telephone[,.(Telephone_Poors,NewArea,Weight)]
+Telephone1<-Telephone[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(NewArea)]
+Telephone1[,Weight:=NULL]
+
+Telephone<-CBN_Poor_Urban[,Telephone:=weighted.mean(Telephone,Weight),by=NewArea][order(NewArea)]
+Telephone<-Telephone[,.(Telephone,NewArea,Weight)]
+Telephone2<-Telephone[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(NewArea)]
+
+Telephone1<-merge(Telephone1,Telephone2,by =c("NewArea"),all.x=TRUE)
+Telephone1[,Weight:=NULL]
+write.xlsx(Telephone1, "D:/R/Poors_Urban_home.xlsx",sheetName = "Telephone1",append = TRUE)
+
+Telephone<-CBN_Urban[,Telephone:=weighted.mean(Telephone,Weight),by=FinalPoor][order(FinalPoor)]
+Telephone<-Telephone[,.(Telephone,FinalPoor,Weight)]
+Telephone3<-Telephone[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(FinalPoor)]
+Telephone3[,Weight:=NULL]
+write.xlsx(Telephone3, "D:/R/Poors_Urban_home.xlsx",sheetName = "Telephone2",append = TRUE)
+
+##### Internet #####
+Internet<-CBN_NonPoor_Urban[,Internet_Poors:=weighted.mean(Internet,Weight),by=NewArea][order(NewArea)]
+Internet<-Internet[,.(Internet_Poors,NewArea,Weight)]
+Internet1<-Internet[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(NewArea)]
+Internet1[,Weight:=NULL]
+
+Internet<-CBN_Poor_Urban[,Internet:=weighted.mean(Internet,Weight),by=NewArea][order(NewArea)]
+Internet<-Internet[,.(Internet,NewArea,Weight)]
+Internet2<-Internet[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(NewArea)]
+
+Internet1<-merge(Internet1,Internet2,by =c("NewArea"),all.x=TRUE)
+Internet1[,Weight:=NULL]
+write.xlsx(Internet1, "D:/R/Poors_Urban_home.xlsx",sheetName = "Internet1",append = TRUE)
+
+Internet<-CBN_Urban[,Internet:=weighted.mean(Internet,Weight),by=FinalPoor][order(FinalPoor)]
+Internet<-Internet[,.(Internet,FinalPoor,Weight)]
+Internet3<-Internet[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(FinalPoor)]
+Internet3[,Weight:=NULL]
+write.xlsx(Internet3, "D:/R/Poors_Urban_home.xlsx",sheetName = "Internet2",append = TRUE)
+
+##### Car #####
+Car<-CBN_NonPoor_Urban[,Car_Poors:=weighted.mean(Car,Weight),by=NewArea][order(NewArea)]
+Car<-Car[,.(Car_Poors,NewArea,Weight)]
+Car1<-Car[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(NewArea)]
+Car1[,Weight:=NULL]
+
+Car<-CBN_Poor_Urban[,Car:=weighted.mean(Car,Weight),by=NewArea][order(NewArea)]
+Car<-Car[,.(Car,NewArea,Weight)]
+Car2<-Car[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(NewArea)]
+
+Car1<-merge(Car1,Car2,by =c("NewArea"),all.x=TRUE)
+Car1[,Weight:=NULL]
+write.xlsx(Car1, "D:/R/Poors_Urban_home.xlsx",sheetName = "Car1",append = TRUE)
+
+Car<-CBN_Urban[,Car:=weighted.mean(Car,Weight),by=FinalPoor][order(FinalPoor)]
+Car<-Car[,.(Car,FinalPoor,Weight)]
+Car3<-Car[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(FinalPoor)]
+Car3[,Weight:=NULL]
+write.xlsx(Car3, "D:/R/Poors_Urban_home.xlsx",sheetName = "Car2",append = TRUE)
+
+##### PC #####
+PC<-CBN_NonPoor_Urban[,PC_Poors:=weighted.mean(PC,Weight),by=NewArea][order(NewArea)]
+PC<-PC[,.(PC_Poors,NewArea,Weight)]
+PC1<-PC[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(NewArea)]
+PC1[,Weight:=NULL]
+
+PC<-CBN_Poor_Urban[,PC:=weighted.mean(PC,Weight),by=NewArea][order(NewArea)]
+PC<-PC[,.(PC,NewArea,Weight)]
+PC2<-PC[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(NewArea)]
+
+PC1<-merge(PC1,PC2,by =c("NewArea"),all.x=TRUE)
+PC1[,Weight:=NULL]
+write.xlsx(PC1, "D:/R/Poors_Urban_home.xlsx",sheetName = "PC1",append = TRUE)
+
+PC<-CBN_Urban[,PC:=weighted.mean(PC,Weight),by=FinalPoor][order(FinalPoor)]
+PC<-PC[,.(PC,FinalPoor,Weight)]
+PC3<-PC[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(FinalPoor)]
+PC3[,Weight:=NULL]
+write.xlsx(PC3, "D:/R/Poors_Urban_home.xlsx",sheetName = "PC2",append = TRUE)
+
+##### Cell #####
+Cell<-CBN_NonPoor_Urban[,Cell_Poors:=weighted.mean(Cell,Weight),by=NewArea][order(NewArea)]
+Cell<-Cell[,.(Cell_Poors,NewArea,Weight)]
+Cell1<-Cell[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(NewArea)]
+Cell1[,Weight:=NULL]
+
+Cell<-CBN_Poor_Urban[,Cell:=weighted.mean(Cell,Weight),by=NewArea][order(NewArea)]
+Cell<-Cell[,.(Cell,NewArea,Weight)]
+Cell2<-Cell[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(NewArea)]
+
+Cell1<-merge(Cell1,Cell2,by =c("NewArea"),all.x=TRUE)
+Cell1[,Weight:=NULL]
+write.xlsx(Cell1, "D:/R/Poors_Urban_home.xlsx",sheetName = "Cell1",append = TRUE)
+
+Cell<-CBN_Urban[,Cell:=weighted.mean(Cell,Weight),by=FinalPoor][order(FinalPoor)]
+Cell<-Cell[,.(Cell,FinalPoor,Weight)]
+Cell3<-Cell[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(FinalPoor)]
+Cell3[,Weight:=NULL]
+write.xlsx(Cell3, "D:/R/Poors_Urban_home.xlsx",sheetName = "Cell2",append = TRUE)
+
+}
+endtime <- proc.time()
+cat("\n\n============================\nIt took ")
+cat(endtime-starttime)
diff --git a/R/Archive/November 2019/84-Poor properties_Home.R b/R/Archive/November 2019/84-Poor properties_Home.R
new file mode 100644
index 00000000..0d3a54f2
--- /dev/null
+++ b/R/Archive/November 2019/84-Poor properties_Home.R
@@ -0,0 +1,268 @@
+#Poors properties.R
+#
+# Copyright © 2018:Arin Shahbazian
+# Licence: GPL-3
+#
+rm(list=ls())
+starttime <- proc.time()
+
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+library(readxl)
+library(stringr)
+library(data.table)
+library(sm)
+library(ggplot2)
+library(xlsx)
+library(haven)
+
+for(year in (Settings$startyear:Settings$endyear)){
+ cat(paste0("\nYear:",year,"\t"))
+
+ #Load Data
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"NewFinalPoor.rda"))
+ UNewFinalPoor<-NewFinalPoor[Region=="Urban"]
+ RNewFinalPoor<-NewFinalPoor[Region=="Rural"]
+
+ #Add house properties
+ T95P2 <- read_dta("D:/R/T95P2.dta")
+ R95P2 <- read_dta("D:/R/R95P2.dta")
+ U95P2 <- read_dta("D:/R/U95P2.dta")
+
+ CBN95<-merge(NewFinalPoor,T95P2,by =c("HHID"),all.x=TRUE)
+ CBN_Urban<-merge(UNewFinalPoor,U95P2,by =c("HHID"),all.x=TRUE)
+ CBN_Rural<-merge(RNewFinalPoor,R95P2,by =c("HHID"),all.x=TRUE)
+
+ CBN_Poor95<-CBN95[FinalPoor==1]
+ CBN_Poor_Urban<-CBN_Urban[FinalPoor==1]
+ CBN_Poor_Rural<-CBN_Rural[FinalPoor==1]
+
+
+ CBN_NonPoor_Urban<-CBN_Urban[FinalPoor==0]
+ CBN_NonPoor_Rural<-CBN_Rural[FinalPoor==0]
+ CBN_NonPoor95<-rbind(CBN_NonPoor_Urban,CBN_NonPoor_Rural)
+
+##### Hoese Conditions #####
+Area_Per<-CBN_NonPoor95[,Area_Per1:=weighted.mean(Area/Size,Weight),by=NewArea][order(NewArea)]
+Area_Per<-Area_Per[,.(Area_Per1,NewArea,Weight)]
+Area_Per1<-Area_Per[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(NewArea)]
+Area_Per1[,Weight:=NULL]
+
+Area_Per<-CBN_Poor95[,Area_Per2:=weighted.mean(Area/Size,Weight),by=NewArea][order(NewArea)]
+Area_Per<-Area_Per[,.(Area_Per2,NewArea,Weight)]
+Area_Per2<-Area_Per[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(NewArea)]
+Area_Per2[,Weight:=NULL]
+
+Area_Per1<-merge(Area_Per1,Area_Per2,by =c("NewArea"),all.x=TRUE)
+write.xlsx(Area_Per1, "D:/R/Poors_home.xlsx",sheetName = "Area_Per1")
+
+Area_Per<-CBN95[,Area_Per:=weighted.mean(Area/Size,Weight),by=FinalPoor][order(FinalPoor)]
+Area_Per<-Area_Per[,.(Area_Per,FinalPoor,Weight)]
+Area_Per<-Area_Per[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(FinalPoor)]
+Area_Per[,Weight:=NULL]
+write.xlsx(Area_Per, "D:/R/Poors_home.xlsx",sheetName = "Area_Per2",append = TRUE)
+
+Rooms_Per<-CBN_NonPoor95[,Rooms_Per1:=weighted.mean(Rooms/Size,Weight),by=NewArea][order(NewArea)]
+Rooms_Per<-Rooms_Per[,.(Rooms_Per1,NewArea,Weight)]
+Rooms_Per1<-Rooms_Per[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(NewArea)]
+Rooms_Per1[,Weight:=NULL]
+
+Rooms_Per<-CBN_Poor95[,Rooms_Per2:=weighted.mean(Rooms/Size,Weight),by=NewArea][order(NewArea)]
+Rooms_Per<-Rooms_Per[,.(Rooms_Per2,NewArea,Weight)]
+Rooms_Per2<-Rooms_Per[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(NewArea)]
+Rooms_Per2[,Weight:=NULL]
+
+Rooms_Per1<-merge(Rooms_Per1,Rooms_Per2,by =c("NewArea"),all.x=TRUE)
+write.xlsx(Rooms_Per1, "D:/R/Poors_home.xlsx",sheetName = "Rooms_Per1",append = TRUE)
+
+Rooms_Per<-CBN95[,Rooms_Per:=weighted.mean(Rooms/Size,Weight),by=FinalPoor][order(FinalPoor)]
+Rooms_Per<-Rooms_Per[,.(Rooms_Per,FinalPoor,Weight)]
+Rooms_Per<-Rooms_Per[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(FinalPoor)]
+Rooms_Per[,Weight:=NULL]
+write.xlsx(Rooms_Per, "D:/R/Poors_home.xlsx",sheetName = "Rooms_Per2",append = TRUE)
+
+MetrPrice<-CBN_NonPoor95[,MetrPrice1:=weighted.mean(MetrPrice,Weight),by=NewArea][order(NewArea)]
+MetrPrice<-MetrPrice[,.(MetrPrice1,NewArea,Weight)]
+MetrPrice1<-MetrPrice[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(NewArea)]
+MetrPrice1[,Weight:=NULL]
+
+MetrPrice<-CBN_Poor95[,MetrPrice2:=weighted.mean(MetrPrice,Weight),by=NewArea][order(NewArea)]
+MetrPrice<-MetrPrice[,.(MetrPrice2,NewArea,Weight)]
+MetrPrice2<-MetrPrice[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(NewArea)]
+MetrPrice2[,Weight:=NULL]
+
+MetrPrice1<-merge(MetrPrice1,MetrPrice2,by =c("NewArea"),all.x=TRUE)
+write.xlsx(MetrPrice1, "D:/R/Poors_home.xlsx",sheetName = "MetrPrice1",append = TRUE)
+
+MetrPrice<-CBN95[,MetrPrice:=weighted.mean(MetrPrice,Weight),by=FinalPoor][order(FinalPoor)]
+MetrPrice<-MetrPrice[,.(MetrPrice,FinalPoor,Weight)]
+MetrPrice<-MetrPrice[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(FinalPoor)]
+MetrPrice[,Weight:=NULL]
+write.xlsx(MetrPrice, "D:/R/Poors_home.xlsx",sheetName = "MetrPrice2",append = TRUE)
+
+##### Electricity #####
+Electricity<-CBN_NonPoor95[,Electricity_Poors:=weighted.mean(Electricity,Weight),by=NewArea][order(NewArea)]
+Electricity<-Electricity[,.(Electricity_Poors,NewArea,Weight)]
+Electricity1<-Electricity[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(NewArea)]
+Electricity1[,Weight:=NULL]
+
+Electricity<-CBN_Poor95[,Electricity:=weighted.mean(Electricity,Weight),by=NewArea][order(NewArea)]
+Electricity<-Electricity[,.(Electricity,NewArea,Weight)]
+Electricity2<-Electricity[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(NewArea)]
+
+Electricity1<-merge(Electricity1,Electricity2,by =c("NewArea"),all.x=TRUE)
+Electricity1[,Weight:=NULL]
+write.xlsx(Electricity1, "D:/R/Poors_home.xlsx",sheetName = "Electricity1",append = TRUE)
+
+Electricity<-CBN95[,Electricity:=weighted.mean(Electricity,Weight),by=FinalPoor][order(FinalPoor)]
+Electricity<-Electricity[,.(Electricity,FinalPoor,Weight)]
+Electricity3<-Electricity[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(FinalPoor)]
+Electricity3[,Weight:=NULL]
+write.xlsx(Electricity3, "D:/R/Poors_home.xlsx",sheetName = "Electricity2",append = TRUE)
+
+##### PipedWater #####
+PipedWater<-CBN_NonPoor95[,PipedWater_Poors:=weighted.mean(PipedWater,Weight),by=NewArea][order(NewArea)]
+PipedWater<-PipedWater[,.(PipedWater_Poors,NewArea,Weight)]
+PipedWater1<-PipedWater[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(NewArea)]
+PipedWater1[,Weight:=NULL]
+
+PipedWater<-CBN_Poor95[,PipedWater:=weighted.mean(PipedWater,Weight),by=NewArea][order(NewArea)]
+PipedWater<-PipedWater[,.(PipedWater,NewArea,Weight)]
+PipedWater2<-PipedWater[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(NewArea)]
+
+PipedWater1<-merge(PipedWater1,PipedWater2,by =c("NewArea"),all.x=TRUE)
+PipedWater1[,Weight:=NULL]
+write.xlsx(PipedWater1, "D:/R/Poors_home.xlsx",sheetName = "PipedWater1",append = TRUE)
+
+PipedWater<-CBN95[,PipedWater:=weighted.mean(PipedWater,Weight),by=FinalPoor][order(FinalPoor)]
+PipedWater<-PipedWater[,.(PipedWater,FinalPoor,Weight)]
+PipedWater3<-PipedWater[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(FinalPoor)]
+PipedWater3[,Weight:=NULL]
+write.xlsx(PipedWater3, "D:/R/Poors_home.xlsx",sheetName = "PipedWater2",append = TRUE)
+
+
+##### PipedGas #####
+PipedGas<-CBN_NonPoor95[,PipedGas_Poors:=weighted.mean(PipedGas,Weight),by=NewArea][order(NewArea)]
+PipedGas<-PipedGas[,.(PipedGas_Poors,NewArea,Weight)]
+PipedGas1<-PipedGas[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(NewArea)]
+PipedGas1[,Weight:=NULL]
+
+PipedGas<-CBN_Poor95[,PipedGas:=weighted.mean(PipedGas,Weight),by=NewArea][order(NewArea)]
+PipedGas<-PipedGas[,.(PipedGas,NewArea,Weight)]
+PipedGas2<-PipedGas[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(NewArea)]
+
+PipedGas1<-merge(PipedGas1,PipedGas2,by =c("NewArea"),all.x=TRUE)
+PipedGas1[,Weight:=NULL]
+write.xlsx(PipedGas1, "D:/R/Poors_home.xlsx",sheetName = "PipedGas1",append = TRUE)
+
+PipedGas<-CBN95[,PipedGas:=weighted.mean(PipedGas,Weight),by=FinalPoor][order(FinalPoor)]
+PipedGas<-PipedGas[,.(PipedGas,FinalPoor,Weight)]
+PipedGas3<-PipedGas[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(FinalPoor)]
+PipedGas3[,Weight:=NULL]
+write.xlsx(PipedGas3, "D:/R/Poors_home.xlsx",sheetName = "PipedGas2",append = TRUE)
+
+##### Telephone #####
+Telephone<-CBN_NonPoor95[,Telephone_Poors:=weighted.mean(Telephone,Weight),by=NewArea][order(NewArea)]
+Telephone<-Telephone[,.(Telephone_Poors,NewArea,Weight)]
+Telephone1<-Telephone[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(NewArea)]
+Telephone1[,Weight:=NULL]
+
+Telephone<-CBN_Poor95[,Telephone:=weighted.mean(Telephone,Weight),by=NewArea][order(NewArea)]
+Telephone<-Telephone[,.(Telephone,NewArea,Weight)]
+Telephone2<-Telephone[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(NewArea)]
+
+Telephone1<-merge(Telephone1,Telephone2,by =c("NewArea"),all.x=TRUE)
+Telephone1[,Weight:=NULL]
+write.xlsx(Telephone1, "D:/R/Poors_home.xlsx",sheetName = "Telephone1",append = TRUE)
+
+Telephone<-CBN95[,Telephone:=weighted.mean(Telephone,Weight),by=FinalPoor][order(FinalPoor)]
+Telephone<-Telephone[,.(Telephone,FinalPoor,Weight)]
+Telephone3<-Telephone[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(FinalPoor)]
+Telephone3[,Weight:=NULL]
+write.xlsx(Telephone3, "D:/R/Poors_home.xlsx",sheetName = "Telephone2",append = TRUE)
+
+##### Internet #####
+Internet<-CBN_NonPoor95[,Internet_Poors:=weighted.mean(Internet,Weight),by=NewArea][order(NewArea)]
+Internet<-Internet[,.(Internet_Poors,NewArea,Weight)]
+Internet1<-Internet[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(NewArea)]
+Internet1[,Weight:=NULL]
+
+Internet<-CBN_Poor95[,Internet:=weighted.mean(Internet,Weight),by=NewArea][order(NewArea)]
+Internet<-Internet[,.(Internet,NewArea,Weight)]
+Internet2<-Internet[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(NewArea)]
+
+Internet1<-merge(Internet1,Internet2,by =c("NewArea"),all.x=TRUE)
+Internet1[,Weight:=NULL]
+write.xlsx(Internet1, "D:/R/Poors_home.xlsx",sheetName = "Internet1",append = TRUE)
+
+Internet<-CBN95[,Internet:=weighted.mean(Internet,Weight),by=FinalPoor][order(FinalPoor)]
+Internet<-Internet[,.(Internet,FinalPoor,Weight)]
+Internet3<-Internet[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(FinalPoor)]
+Internet3[,Weight:=NULL]
+write.xlsx(Internet3, "D:/R/Poors_home.xlsx",sheetName = "Internet2",append = TRUE)
+
+##### Car #####
+Car<-CBN_NonPoor95[,Car_Poors:=weighted.mean(Car,Weight),by=NewArea][order(NewArea)]
+Car<-Car[,.(Car_Poors,NewArea,Weight)]
+Car1<-Car[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(NewArea)]
+Car1[,Weight:=NULL]
+
+Car<-CBN_Poor95[,Car:=weighted.mean(Car,Weight),by=NewArea][order(NewArea)]
+Car<-Car[,.(Car,NewArea,Weight)]
+Car2<-Car[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(NewArea)]
+
+Car1<-merge(Car1,Car2,by =c("NewArea"),all.x=TRUE)
+Car1[,Weight:=NULL]
+write.xlsx(Car1, "D:/R/Poors_home.xlsx",sheetName = "Car1",append = TRUE)
+
+Car<-CBN95[,Car:=weighted.mean(Car,Weight),by=FinalPoor][order(FinalPoor)]
+Car<-Car[,.(Car,FinalPoor,Weight)]
+Car3<-Car[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(FinalPoor)]
+Car3[,Weight:=NULL]
+write.xlsx(Car3, "D:/R/Poors_home.xlsx",sheetName = "Car2",append = TRUE)
+
+##### PC #####
+PC<-CBN_NonPoor95[,PC_Poors:=weighted.mean(PC,Weight),by=NewArea][order(NewArea)]
+PC<-PC[,.(PC_Poors,NewArea,Weight)]
+PC1<-PC[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(NewArea)]
+PC1[,Weight:=NULL]
+
+PC<-CBN_Poor95[,PC:=weighted.mean(PC,Weight),by=NewArea][order(NewArea)]
+PC<-PC[,.(PC,NewArea,Weight)]
+PC2<-PC[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(NewArea)]
+
+PC1<-merge(PC1,PC2,by =c("NewArea"),all.x=TRUE)
+PC1[,Weight:=NULL]
+write.xlsx(PC1, "D:/R/Poors_home.xlsx",sheetName = "PC1",append = TRUE)
+
+PC<-CBN95[,PC:=weighted.mean(PC,Weight),by=FinalPoor][order(FinalPoor)]
+PC<-PC[,.(PC,FinalPoor,Weight)]
+PC3<-PC[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(FinalPoor)]
+PC3[,Weight:=NULL]
+write.xlsx(PC3, "D:/R/Poors_home.xlsx",sheetName = "PC2",append = TRUE)
+
+##### Cell #####
+Cell<-CBN_NonPoor95[,Cell_Poors:=weighted.mean(Cell,Weight),by=NewArea][order(NewArea)]
+Cell<-Cell[,.(Cell_Poors,NewArea,Weight)]
+Cell1<-Cell[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(NewArea)]
+Cell1[,Weight:=NULL]
+
+Cell<-CBN_Poor95[,Cell:=weighted.mean(Cell,Weight),by=NewArea][order(NewArea)]
+Cell<-Cell[,.(Cell,NewArea,Weight)]
+Cell2<-Cell[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(NewArea)]
+
+Cell1<-merge(Cell1,Cell2,by =c("NewArea"),all.x=TRUE)
+Cell1[,Weight:=NULL]
+write.xlsx(Cell1, "D:/R/Poors_home.xlsx",sheetName = "Cell1",append = TRUE)
+
+Cell<-CBN95[,Cell:=weighted.mean(Cell,Weight),by=FinalPoor][order(FinalPoor)]
+Cell<-Cell[,.(Cell,FinalPoor,Weight)]
+Cell3<-Cell[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(FinalPoor)]
+Cell3[,Weight:=NULL]
+write.xlsx(Cell3, "D:/R/Poors_home.xlsx",sheetName = "Cell2",append = TRUE)
+
+}
+endtime <- proc.time()
+cat("\n\n============================\nIt took ")
+cat(endtime-starttime)
diff --git a/R/Archive/November 2019/85-Poor properties_Home2.R b/R/Archive/November 2019/85-Poor properties_Home2.R
new file mode 100644
index 00000000..94ec6462
--- /dev/null
+++ b/R/Archive/November 2019/85-Poor properties_Home2.R
@@ -0,0 +1,349 @@
+#Poors properties.R
+#
+# Copyright © 2018:Arin Shahbazian
+# Licence: GPL-3
+#
+rm(list=ls())
+starttime <- proc.time()
+
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+library(readxl)
+library(stringr)
+library(data.table)
+library(sm)
+library(ggplot2)
+library(xlsx)
+library(haven)
+
+for(year in (Settings$startyear:Settings$endyear)){
+ cat(paste0("\nYear:",year,"\t"))
+
+ #Load Data
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"NewFinalPoor.rda"))
+ UNewFinalPoor<-NewFinalPoor[Region=="Urban"]
+ RNewFinalPoor<-NewFinalPoor[Region=="Rural"]
+
+ #Add house properties
+ T95P2 <- read_dta("D:/R/T95P2.dta")
+ R95P2 <- read_dta("D:/R/R95P2.dta")
+ U95P2 <- read_dta("D:/R/U95P2.dta")
+
+ CBN95<-merge(NewFinalPoor,T95P2,by =c("HHID"),all.x=TRUE)
+ CBN_Urban<-merge(UNewFinalPoor,U95P2,by =c("HHID"),all.x=TRUE)
+ CBN_Rural<-merge(RNewFinalPoor,R95P2,by =c("HHID"),all.x=TRUE)
+
+ CBN_Poor95<-CBN95[FinalPoor==1]
+ CBN_Poor_Urban<-CBN_Urban[FinalPoor==1]
+ CBN_Poor_Rural<-CBN_Rural[FinalPoor==1]
+
+
+ CBN_NonPoor_Urban<-CBN_Urban[FinalPoor==0]
+ CBN_NonPoor_Rural<-CBN_Rural[FinalPoor==0]
+ CBN_NonPoor95<-rbind(CBN_NonPoor_Urban,CBN_NonPoor_Rural)
+
+##### HouseOwn #####
+
+HouseOwn<-CBN_NonPoor95[,HouseOwn_Poors1:=weighted.mean(ifelse(HouseOwn==1,1,0),Weight),by=NewArea][order(NewArea)]
+HouseOwn<-HouseOwn[,.(HouseOwn_Poors1,NewArea,Weight)]
+HouseOwn1<-HouseOwn[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(NewArea)]
+HouseOwn1[,Weight:=NULL]
+
+HouseOwn<-CBN_NonPoor95[,HouseOwn_Poors2:=weighted.mean(ifelse(HouseOwn==2,1,0),Weight),by=NewArea][order(NewArea)]
+HouseOwn<-HouseOwn[,.(HouseOwn_Poors2,NewArea,Weight)]
+HouseOwn2<-HouseOwn[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(NewArea)]
+
+HouseOwn<-CBN_NonPoor95[,HouseOwn_Poors3:=weighted.mean(ifelse(HouseOwn==3,1,0),Weight),by=NewArea][order(NewArea)]
+HouseOwn<-HouseOwn[,.(HouseOwn_Poors3,NewArea,Weight)]
+HouseOwn3<-HouseOwn[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(NewArea)]
+
+HouseOwn<-CBN_NonPoor95[,HouseOwn_Poors4:=weighted.mean(ifelse(HouseOwn==4,1,0),Weight),by=NewArea][order(NewArea)]
+HouseOwn<-HouseOwn[,.(HouseOwn_Poors4,NewArea,Weight)]
+HouseOwn4<-HouseOwn[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(NewArea)]
+
+HouseOwn<-CBN_NonPoor95[,HouseOwn_Poors5:=weighted.mean(ifelse(HouseOwn==5,1,0),Weight),by=NewArea][order(NewArea)]
+HouseOwn<-HouseOwn[,.(HouseOwn_Poors5,NewArea,Weight)]
+HouseOwn5<-HouseOwn[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(NewArea)]
+
+HouseOwn<-CBN_NonPoor95[,HouseOwn_Poors6:=weighted.mean(ifelse(HouseOwn==6,1,0),Weight),by=NewArea][order(NewArea)]
+HouseOwn<-HouseOwn[,.(HouseOwn_Poors6,NewArea,Weight)]
+HouseOwn6<-HouseOwn[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(NewArea)]
+
+HouseOwn<-CBN_Poor95[,HouseOwn_Poors7:=weighted.mean(ifelse(HouseOwn==1,1,0),Weight),by=NewArea][order(NewArea)]
+HouseOwn<-HouseOwn[,.(HouseOwn_Poors7,NewArea,Weight)]
+HouseOwn7<-HouseOwn[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(NewArea)]
+HouseOwn7[,Weight:=NULL]
+
+HouseOwn<-CBN_Poor95[,HouseOwn_Poors8:=weighted.mean(ifelse(HouseOwn==2,1,0),Weight),by=NewArea][order(NewArea)]
+HouseOwn<-HouseOwn[,.(HouseOwn_Poors8,NewArea,Weight)]
+HouseOwn8<-HouseOwn[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(NewArea)]
+
+HouseOwn<-CBN_Poor95[,HouseOwn_Poors9:=weighted.mean(ifelse(HouseOwn==3,1,0),Weight),by=NewArea][order(NewArea)]
+HouseOwn<-HouseOwn[,.(HouseOwn_Poors9,NewArea,Weight)]
+HouseOwn9<-HouseOwn[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(NewArea)]
+
+HouseOwn<-CBN_Poor95[,HouseOwn_Poors10:=weighted.mean(ifelse(HouseOwn==4,1,0),Weight),by=NewArea][order(NewArea)]
+HouseOwn<-HouseOwn[,.(HouseOwn_Poors10,NewArea,Weight)]
+HouseOwn10<-HouseOwn[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(NewArea)]
+
+HouseOwn<-CBN_Poor95[,HouseOwn_Poors11:=weighted.mean(ifelse(HouseOwn==5,1,0),Weight),by=NewArea][order(NewArea)]
+HouseOwn<-HouseOwn[,.(HouseOwn_Poors11,NewArea,Weight)]
+HouseOwn11<-HouseOwn[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(NewArea)]
+
+HouseOwn<-CBN_Poor95[,HouseOwn_Poors12:=weighted.mean(ifelse(HouseOwn==6,1,0),Weight),by=NewArea][order(NewArea)]
+HouseOwn<-HouseOwn[,.(HouseOwn_Poors12,NewArea,Weight)]
+HouseOwn12<-HouseOwn[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(NewArea)]
+
+HouseOwn1<-merge(HouseOwn1,HouseOwn2,by =c("NewArea"),all.x=TRUE)
+HouseOwn1[,Weight:=NULL]
+HouseOwn1<-merge(HouseOwn1,HouseOwn3,by =c("NewArea"),all.x=TRUE)
+HouseOwn1[,Weight:=NULL]
+HouseOwn1<-merge(HouseOwn1,HouseOwn4,by =c("NewArea"),all.x=TRUE)
+HouseOwn1[,Weight:=NULL]
+HouseOwn1<-merge(HouseOwn1,HouseOwn5,by =c("NewArea"),all.x=TRUE)
+HouseOwn1[,Weight:=NULL]
+HouseOwn1<-merge(HouseOwn1,HouseOwn6,by =c("NewArea"),all.x=TRUE)
+HouseOwn1[,Weight:=NULL]
+HouseOwn1<-merge(HouseOwn1,HouseOwn7,by =c("NewArea"),all.x=TRUE)
+HouseOwn1<-merge(HouseOwn1,HouseOwn8,by =c("NewArea"),all.x=TRUE)
+HouseOwn1[,Weight:=NULL]
+HouseOwn1<-merge(HouseOwn1,HouseOwn9,by =c("NewArea"),all.x=TRUE)
+HouseOwn1[,Weight:=NULL]
+HouseOwn1<-merge(HouseOwn1,HouseOwn10,by =c("NewArea"),all.x=TRUE)
+HouseOwn1[,Weight:=NULL]
+HouseOwn1<-merge(HouseOwn1,HouseOwn11,by =c("NewArea"),all.x=TRUE)
+HouseOwn1[,Weight:=NULL]
+HouseOwn1<-merge(HouseOwn1,HouseOwn12,by =c("NewArea"),all.x=TRUE)
+HouseOwn1[,Weight:=NULL]
+write.xlsx(HouseOwn1, "D:/R/Poors_House2.xlsx",sheetName = "HouseOwn1")
+
+
+HouseOwn13<-CBN95[,HouseOwn1:=weighted.mean(ifelse(HouseOwn==1,1,0),Weight),by=FinalPoor][order(FinalPoor)]
+HouseOwn13<-HouseOwn13[,.(HouseOwn1,FinalPoor,Weight)]
+HouseOwn13<-HouseOwn13[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(FinalPoor)]
+HouseOwn13[,Weight:=NULL]
+
+HouseOwn14<-CBN95[,HouseOwn2:=weighted.mean(ifelse(HouseOwn==2,1,0),Weight),by=FinalPoor][order(FinalPoor)]
+HouseOwn14<-HouseOwn14[,.(HouseOwn2,FinalPoor,Weight)]
+HouseOwn14<-HouseOwn14[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(FinalPoor)]
+HouseOwn14[,Weight:=NULL]
+
+HouseOwn15<-CBN95[,HouseOwn3:=weighted.mean(ifelse(HouseOwn==3,1,0),Weight),by=FinalPoor][order(FinalPoor)]
+HouseOwn15<-HouseOwn15[,.(HouseOwn3,FinalPoor,Weight)]
+HouseOwn15<-HouseOwn15[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(FinalPoor)]
+HouseOwn15[,Weight:=NULL]
+
+HouseOwn16<-CBN95[,HouseOwn4:=weighted.mean(ifelse(HouseOwn==4,1,0),Weight),by=FinalPoor][order(FinalPoor)]
+HouseOwn16<-HouseOwn16[,.(HouseOwn4,FinalPoor,Weight)]
+HouseOwn16<-HouseOwn16[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(FinalPoor)]
+HouseOwn16[,Weight:=NULL]
+
+HouseOwn17<-CBN95[,HouseOwn5:=weighted.mean(ifelse(HouseOwn==5,1,0),Weight),by=FinalPoor][order(FinalPoor)]
+HouseOwn17<-HouseOwn17[,.(HouseOwn5,FinalPoor,Weight)]
+HouseOwn17<-HouseOwn17[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(FinalPoor)]
+HouseOwn17[,Weight:=NULL]
+
+HouseOwn18<-CBN95[,HouseOwn6:=weighted.mean(ifelse(HouseOwn==6,1,0),Weight),by=FinalPoor][order(FinalPoor)]
+HouseOwn18<-HouseOwn18[,.(HouseOwn6,FinalPoor,Weight)]
+HouseOwn18<-HouseOwn18[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(FinalPoor)]
+HouseOwn18[,Weight:=NULL]
+
+HouseOwn2<-merge(HouseOwn13,HouseOwn14,by =c("FinalPoor"),all.x=TRUE)
+HouseOwn2<-merge(HouseOwn2,HouseOwn15,by =c("FinalPoor"),all.x=TRUE)
+HouseOwn2<-merge(HouseOwn2,HouseOwn16,by =c("FinalPoor"),all.x=TRUE)
+HouseOwn2<-merge(HouseOwn2,HouseOwn17,by =c("FinalPoor"),all.x=TRUE)
+HouseOwn2<-merge(HouseOwn2,HouseOwn18,by =c("FinalPoor"),all.x=TRUE)
+write.xlsx(HouseOwn2, "D:/R/Poors_House2.xlsx",sheetName = "HouseOwn2",append = TRUE)
+
+##### skeleton #####
+
+skeleton<-CBN_NonPoor95[,skeleton_Poors1:=weighted.mean(ifelse(skeleton==1,1,0),Weight),by=NewArea][order(NewArea)]
+skeleton<-skeleton[,.(skeleton_Poors1,NewArea,Weight)]
+skeleton1<-skeleton[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(NewArea)]
+skeleton1[,Weight:=NULL]
+
+skeleton<-CBN_NonPoor95[,skeleton_Poors2:=weighted.mean(ifelse(skeleton==2,1,0),Weight),by=NewArea][order(NewArea)]
+skeleton<-skeleton[,.(skeleton_Poors2,NewArea,Weight)]
+skeleton2<-skeleton[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(NewArea)]
+
+skeleton<-CBN_NonPoor95[,skeleton_Poors3:=weighted.mean(ifelse(skeleton==3,1,0),Weight),by=NewArea][order(NewArea)]
+skeleton<-skeleton[,.(skeleton_Poors3,NewArea,Weight)]
+skeleton3<-skeleton[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(NewArea)]
+
+skeleton<-CBN_NonPoor95[,skeleton_Poors4:=weighted.mean(ifelse(skeleton==4,1,0),Weight),by=NewArea][order(NewArea)]
+skeleton<-skeleton[,.(skeleton_Poors4,NewArea,Weight)]
+skeleton4<-skeleton[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(NewArea)]
+
+skeleton<-CBN_NonPoor95[,skeleton_Poors5:=weighted.mean(ifelse(skeleton==5,1,0),Weight),by=NewArea][order(NewArea)]
+skeleton<-skeleton[,.(skeleton_Poors5,NewArea,Weight)]
+skeleton5<-skeleton[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(NewArea)]
+
+skeleton<-CBN_NonPoor95[,skeleton_Poors6:=weighted.mean(ifelse(skeleton==6,1,0),Weight),by=NewArea][order(NewArea)]
+skeleton<-skeleton[,.(skeleton_Poors6,NewArea,Weight)]
+skeleton6<-skeleton[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(NewArea)]
+
+skeleton<-CBN_NonPoor95[,skeleton_Poors13:=weighted.mean(ifelse(skeleton==7,1,0),Weight),by=NewArea][order(NewArea)]
+skeleton<-skeleton[,.(skeleton_Poors13,NewArea,Weight)]
+skeleton13<-skeleton[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(NewArea)]
+
+skeleton<-CBN_NonPoor95[,skeleton_Poors14:=weighted.mean(ifelse(skeleton==8,1,0),Weight),by=NewArea][order(NewArea)]
+skeleton<-skeleton[,.(skeleton_Poors14,NewArea,Weight)]
+skeleton14<-skeleton[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(NewArea)]
+
+skeleton<-CBN_NonPoor95[,skeleton_Poors15:=weighted.mean(ifelse(skeleton==20,1,0),Weight),by=NewArea][order(NewArea)]
+skeleton<-skeleton[,.(skeleton_Poors15,NewArea,Weight)]
+skeleton15<-skeleton[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(NewArea)]
+
+skeleton<-CBN_NonPoor95[,skeleton_Poors16:=weighted.mean(ifelse(skeleton==10,1,0),Weight),by=NewArea][order(NewArea)]
+skeleton<-skeleton[,.(skeleton_Poors16,NewArea,Weight)]
+skeleton16<-skeleton[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(NewArea)]
+
+
+skeleton<-CBN_Poor95[,skeleton_Poors7:=weighted.mean(ifelse(skeleton==1,1,0),Weight),by=NewArea][order(NewArea)]
+skeleton<-skeleton[,.(skeleton_Poors7,NewArea,Weight)]
+skeleton7<-skeleton[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(NewArea)]
+skeleton7[,Weight:=NULL]
+
+skeleton<-CBN_Poor95[,skeleton_Poors8:=weighted.mean(ifelse(skeleton==2,1,0),Weight),by=NewArea][order(NewArea)]
+skeleton<-skeleton[,.(skeleton_Poors8,NewArea,Weight)]
+skeleton8<-skeleton[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(NewArea)]
+
+skeleton<-CBN_Poor95[,skeleton_Poors9:=weighted.mean(ifelse(skeleton==3,1,0),Weight),by=NewArea][order(NewArea)]
+skeleton<-skeleton[,.(skeleton_Poors9,NewArea,Weight)]
+skeleton9<-skeleton[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(NewArea)]
+
+skeleton<-CBN_Poor95[,skeleton_Poors10:=weighted.mean(ifelse(skeleton==4,1,0),Weight),by=NewArea][order(NewArea)]
+skeleton<-skeleton[,.(skeleton_Poors10,NewArea,Weight)]
+skeleton10<-skeleton[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(NewArea)]
+
+skeleton<-CBN_Poor95[,skeleton_Poors11:=weighted.mean(ifelse(skeleton==5,1,0),Weight),by=NewArea][order(NewArea)]
+skeleton<-skeleton[,.(skeleton_Poors11,NewArea,Weight)]
+skeleton11<-skeleton[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(NewArea)]
+
+skeleton<-CBN_Poor95[,skeleton_Poors12:=weighted.mean(ifelse(skeleton==6,1,0),Weight),by=NewArea][order(NewArea)]
+skeleton<-skeleton[,.(skeleton_Poors12,NewArea,Weight)]
+skeleton12<-skeleton[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(NewArea)]
+
+skeleton<-CBN_Poor95[,skeleton_Poors17:=weighted.mean(ifelse(skeleton==6,1,0),Weight),by=NewArea][order(NewArea)]
+skeleton<-skeleton[,.(skeleton_Poors17,NewArea,Weight)]
+skeleton17<-skeleton[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(NewArea)]
+
+skeleton<-CBN_Poor95[,skeleton_Poors18:=weighted.mean(ifelse(skeleton==6,1,0),Weight),by=NewArea][order(NewArea)]
+skeleton<-skeleton[,.(skeleton_Poors18,NewArea,Weight)]
+skeleton18<-skeleton[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(NewArea)]
+
+skeleton<-CBN_Poor95[,skeleton_Poors19:=weighted.mean(ifelse(skeleton==6,1,0),Weight),by=NewArea][order(NewArea)]
+skeleton<-skeleton[,.(skeleton_Poors19,NewArea,Weight)]
+skeleton19<-skeleton[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(NewArea)]
+
+skeleton<-CBN_Poor95[,skeleton_Poors20:=weighted.mean(ifelse(skeleton==6,1,0),Weight),by=NewArea][order(NewArea)]
+skeleton<-skeleton[,.(skeleton_Poors20,NewArea,Weight)]
+skeleton20<-skeleton[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(NewArea)]
+
+skeleton1<-merge(skeleton1,skeleton2,by =c("NewArea"),all.x=TRUE)
+skeleton1[,Weight:=NULL]
+skeleton1<-merge(skeleton1,skeleton3,by =c("NewArea"),all.x=TRUE)
+skeleton1[,Weight:=NULL]
+skeleton1<-merge(skeleton1,skeleton4,by =c("NewArea"),all.x=TRUE)
+skeleton1[,Weight:=NULL]
+skeleton1<-merge(skeleton1,skeleton5,by =c("NewArea"),all.x=TRUE)
+skeleton1[,Weight:=NULL]
+skeleton1<-merge(skeleton1,skeleton6,by =c("NewArea"),all.x=TRUE)
+skeleton1[,Weight:=NULL]
+skeleton1<-merge(skeleton1,skeleton13,by =c("NewArea"),all.x=TRUE)
+skeleton1[,Weight:=NULL]
+skeleton1<-merge(skeleton1,skeleton14,by =c("NewArea"),all.x=TRUE)
+skeleton1[,Weight:=NULL]
+skeleton1<-merge(skeleton1,skeleton15,by =c("NewArea"),all.x=TRUE)
+skeleton1[,Weight:=NULL]
+skeleton1<-merge(skeleton1,skeleton16,by =c("NewArea"),all.x=TRUE)
+skeleton1[,Weight:=NULL]
+skeleton1<-merge(skeleton1,skeleton7,by =c("NewArea"),all.x=TRUE)
+skeleton1<-merge(skeleton1,skeleton8,by =c("NewArea"),all.x=TRUE)
+skeleton1[,Weight:=NULL]
+skeleton1<-merge(skeleton1,skeleton9,by =c("NewArea"),all.x=TRUE)
+skeleton1[,Weight:=NULL]
+skeleton1<-merge(skeleton1,skeleton10,by =c("NewArea"),all.x=TRUE)
+skeleton1[,Weight:=NULL]
+skeleton1<-merge(skeleton1,skeleton11,by =c("NewArea"),all.x=TRUE)
+skeleton1[,Weight:=NULL]
+skeleton1<-merge(skeleton1,skeleton12,by =c("NewArea"),all.x=TRUE)
+skeleton1[,Weight:=NULL]
+skeleton1<-merge(skeleton1,skeleton17,by =c("NewArea"),all.x=TRUE)
+skeleton1[,Weight:=NULL]
+skeleton1<-merge(skeleton1,skeleton18,by =c("NewArea"),all.x=TRUE)
+skeleton1[,Weight:=NULL]
+skeleton1<-merge(skeleton1,skeleton19,by =c("NewArea"),all.x=TRUE)
+skeleton1[,Weight:=NULL]
+skeleton1<-merge(skeleton1,skeleton20,by =c("NewArea"),all.x=TRUE)
+skeleton1[,Weight:=NULL]
+write.xlsx(skeleton1, "D:/R/Poors_House2.xlsx",sheetName = "skeleton1",append = TRUE)
+
+
+skeleton13<-CBN95[,skeleton1:=weighted.mean(ifelse(skeleton==1,1,0),Weight),by=FinalPoor][order(FinalPoor)]
+skeleton13<-skeleton13[,.(skeleton1,FinalPoor,Weight)]
+skeleton13<-skeleton13[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(FinalPoor)]
+skeleton13[,Weight:=NULL]
+
+skeleton14<-CBN95[,skeleton2:=weighted.mean(ifelse(skeleton==2,1,0),Weight),by=FinalPoor][order(FinalPoor)]
+skeleton14<-skeleton14[,.(skeleton2,FinalPoor,Weight)]
+skeleton14<-skeleton14[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(FinalPoor)]
+skeleton14[,Weight:=NULL]
+
+skeleton15<-CBN95[,skeleton3:=weighted.mean(ifelse(skeleton==3,1,0),Weight),by=FinalPoor][order(FinalPoor)]
+skeleton15<-skeleton15[,.(skeleton3,FinalPoor,Weight)]
+skeleton15<-skeleton15[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(FinalPoor)]
+skeleton15[,Weight:=NULL]
+
+skeleton16<-CBN95[,skeleton4:=weighted.mean(ifelse(skeleton==4,1,0),Weight),by=FinalPoor][order(FinalPoor)]
+skeleton16<-skeleton16[,.(skeleton4,FinalPoor,Weight)]
+skeleton16<-skeleton16[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(FinalPoor)]
+skeleton16[,Weight:=NULL]
+
+skeleton17<-CBN95[,skeleton5:=weighted.mean(ifelse(skeleton==5,1,0),Weight),by=FinalPoor][order(FinalPoor)]
+skeleton17<-skeleton17[,.(skeleton5,FinalPoor,Weight)]
+skeleton17<-skeleton17[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(FinalPoor)]
+skeleton17[,Weight:=NULL]
+
+skeleton18<-CBN95[,skeleton6:=weighted.mean(ifelse(skeleton==6,1,0),Weight),by=FinalPoor][order(FinalPoor)]
+skeleton18<-skeleton18[,.(skeleton6,FinalPoor,Weight)]
+skeleton18<-skeleton18[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(FinalPoor)]
+skeleton18[,Weight:=NULL]
+
+skeleton19<-CBN95[,skeleton7:=weighted.mean(ifelse(skeleton==7,1,0),Weight),by=FinalPoor][order(FinalPoor)]
+skeleton19<-skeleton19[,.(skeleton7,FinalPoor,Weight)]
+skeleton19<-skeleton19[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(FinalPoor)]
+skeleton19[,Weight:=NULL]
+
+skeleton20<-CBN95[,skeleton8:=weighted.mean(ifelse(skeleton==8,1,0),Weight),by=FinalPoor][order(FinalPoor)]
+skeleton20<-skeleton20[,.(skeleton8,FinalPoor,Weight)]
+skeleton20<-skeleton20[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(FinalPoor)]
+skeleton20[,Weight:=NULL]
+
+skeleton21<-CBN95[,skeleton10:=weighted.mean(ifelse(skeleton==10,1,0),Weight),by=FinalPoor][order(FinalPoor)]
+skeleton21<-skeleton21[,.(skeleton10,FinalPoor,Weight)]
+skeleton21<-skeleton21[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(FinalPoor)]
+skeleton21[,Weight:=NULL]
+
+skeleton22<-CBN95[,skeleton20:=weighted.mean(ifelse(skeleton==20,1,0),Weight),by=FinalPoor][order(FinalPoor)]
+skeleton22<-skeleton22[,.(skeleton20,FinalPoor,Weight)]
+skeleton22<-skeleton22[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(FinalPoor)]
+skeleton22[,Weight:=NULL]
+
+skeleton2<-merge(skeleton13,skeleton14,by =c("FinalPoor"),all.x=TRUE)
+skeleton2<-merge(skeleton2,skeleton15,by =c("FinalPoor"),all.x=TRUE)
+skeleton2<-merge(skeleton2,skeleton16,by =c("FinalPoor"),all.x=TRUE)
+skeleton2<-merge(skeleton2,skeleton17,by =c("FinalPoor"),all.x=TRUE)
+skeleton2<-merge(skeleton2,skeleton18,by =c("FinalPoor"),all.x=TRUE)
+skeleton2<-merge(skeleton2,skeleton19,by =c("FinalPoor"),all.x=TRUE)
+skeleton2<-merge(skeleton2,skeleton20,by =c("FinalPoor"),all.x=TRUE)
+skeleton2<-merge(skeleton2,skeleton21,by =c("FinalPoor"),all.x=TRUE)
+skeleton2<-merge(skeleton2,skeleton22,by =c("FinalPoor"),all.x=TRUE)
+write.xlsx(skeleton2, "D:/R/Poors_House2.xlsx",sheetName = "skeleton2",append = TRUE)
+
+}
+
+endtime <- proc.time()
+cat("\n\n============================\nIt took ")
+cat(endtime-starttime)
\ No newline at end of file
diff --git a/R/Archive/November 2019/86-Poor properties_Home2_Rural.R b/R/Archive/November 2019/86-Poor properties_Home2_Rural.R
new file mode 100644
index 00000000..2b36ed91
--- /dev/null
+++ b/R/Archive/November 2019/86-Poor properties_Home2_Rural.R
@@ -0,0 +1,348 @@
+#Poors properties.R
+#
+# Copyright © 2018:Arin Shahbazian
+# Licence: GPL-3
+#
+rm(list=ls())
+starttime <- proc.time()
+
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+library(readxl)
+library(stringr)
+library(data.table)
+library(sm)
+library(ggplot2)
+library(xlsx)
+library(haven)
+
+for(year in (Settings$startyear:Settings$endyear)){
+ cat(paste0("\nYear:",year,"\t"))
+
+ #Load Data
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"NewFinalPoor.rda"))
+ UNewFinalPoor<-NewFinalPoor[Region=="Urban"]
+ RNewFinalPoor<-NewFinalPoor[Region=="Rural"]
+
+ #Add house properties
+ T95P2 <- read_dta("D:/R/T95P2.dta")
+ R95P2 <- read_dta("D:/R/R95P2.dta")
+ U95P2 <- read_dta("D:/R/U95P2.dta")
+
+ CBN95<-merge(NewFinalPoor,T95P2,by =c("HHID"),all.x=TRUE)
+ CBN_Urban<-merge(UNewFinalPoor,U95P2,by =c("HHID"),all.x=TRUE)
+ CBN_Rural<-merge(RNewFinalPoor,R95P2,by =c("HHID"),all.x=TRUE)
+
+ CBN_Poor95<-CBN95[FinalPoor==1]
+ CBN_Poor_Urban<-CBN_Urban[FinalPoor==1]
+ CBN_Poor_Rural<-CBN_Rural[FinalPoor==1]
+
+
+ CBN_NonPoor_Urban<-CBN_Urban[FinalPoor==0]
+ CBN_NonPoor_Rural<-CBN_Rural[FinalPoor==0]
+ CBN_NonPoor95<-rbind(CBN_NonPoor_Urban,CBN_NonPoor_Rural)
+
+##### HouseOwn #####
+
+HouseOwn<-CBN_NonPoor_Rural[,HouseOwn_Poors1:=weighted.mean(ifelse(HouseOwn==1,1,0),Weight),by=NewArea][order(NewArea)]
+HouseOwn<-HouseOwn[,.(HouseOwn_Poors1,NewArea,Weight)]
+HouseOwn1<-HouseOwn[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(NewArea)]
+HouseOwn1[,Weight:=NULL]
+
+HouseOwn<-CBN_NonPoor_Rural[,HouseOwn_Poors2:=weighted.mean(ifelse(HouseOwn==2,1,0),Weight),by=NewArea][order(NewArea)]
+HouseOwn<-HouseOwn[,.(HouseOwn_Poors2,NewArea,Weight)]
+HouseOwn2<-HouseOwn[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(NewArea)]
+
+HouseOwn<-CBN_NonPoor_Rural[,HouseOwn_Poors3:=weighted.mean(ifelse(HouseOwn==3,1,0),Weight),by=NewArea][order(NewArea)]
+HouseOwn<-HouseOwn[,.(HouseOwn_Poors3,NewArea,Weight)]
+HouseOwn3<-HouseOwn[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(NewArea)]
+
+HouseOwn<-CBN_NonPoor_Rural[,HouseOwn_Poors4:=weighted.mean(ifelse(HouseOwn==4,1,0),Weight),by=NewArea][order(NewArea)]
+HouseOwn<-HouseOwn[,.(HouseOwn_Poors4,NewArea,Weight)]
+HouseOwn4<-HouseOwn[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(NewArea)]
+
+HouseOwn<-CBN_NonPoor_Rural[,HouseOwn_Poors5:=weighted.mean(ifelse(HouseOwn==5,1,0),Weight),by=NewArea][order(NewArea)]
+HouseOwn<-HouseOwn[,.(HouseOwn_Poors5,NewArea,Weight)]
+HouseOwn5<-HouseOwn[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(NewArea)]
+
+HouseOwn<-CBN_NonPoor_Rural[,HouseOwn_Poors6:=weighted.mean(ifelse(HouseOwn==6,1,0),Weight),by=NewArea][order(NewArea)]
+HouseOwn<-HouseOwn[,.(HouseOwn_Poors6,NewArea,Weight)]
+HouseOwn6<-HouseOwn[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(NewArea)]
+
+HouseOwn<-CBN_Poor_Rural[,HouseOwn_Poors7:=weighted.mean(ifelse(HouseOwn==1,1,0),Weight),by=NewArea][order(NewArea)]
+HouseOwn<-HouseOwn[,.(HouseOwn_Poors7,NewArea,Weight)]
+HouseOwn7<-HouseOwn[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(NewArea)]
+HouseOwn7[,Weight:=NULL]
+
+HouseOwn<-CBN_Poor_Rural[,HouseOwn_Poors8:=weighted.mean(ifelse(HouseOwn==2,1,0),Weight),by=NewArea][order(NewArea)]
+HouseOwn<-HouseOwn[,.(HouseOwn_Poors8,NewArea,Weight)]
+HouseOwn8<-HouseOwn[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(NewArea)]
+
+HouseOwn<-CBN_Poor_Rural[,HouseOwn_Poors9:=weighted.mean(ifelse(HouseOwn==3,1,0),Weight),by=NewArea][order(NewArea)]
+HouseOwn<-HouseOwn[,.(HouseOwn_Poors9,NewArea,Weight)]
+HouseOwn9<-HouseOwn[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(NewArea)]
+
+HouseOwn<-CBN_Poor_Rural[,HouseOwn_Poors10:=weighted.mean(ifelse(HouseOwn==4,1,0),Weight),by=NewArea][order(NewArea)]
+HouseOwn<-HouseOwn[,.(HouseOwn_Poors10,NewArea,Weight)]
+HouseOwn10<-HouseOwn[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(NewArea)]
+
+HouseOwn<-CBN_Poor_Rural[,HouseOwn_Poors11:=weighted.mean(ifelse(HouseOwn==5,1,0),Weight),by=NewArea][order(NewArea)]
+HouseOwn<-HouseOwn[,.(HouseOwn_Poors11,NewArea,Weight)]
+HouseOwn11<-HouseOwn[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(NewArea)]
+
+HouseOwn<-CBN_Poor_Rural[,HouseOwn_Poors12:=weighted.mean(ifelse(HouseOwn==6,1,0),Weight),by=NewArea][order(NewArea)]
+HouseOwn<-HouseOwn[,.(HouseOwn_Poors12,NewArea,Weight)]
+HouseOwn12<-HouseOwn[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(NewArea)]
+
+HouseOwn1<-merge(HouseOwn1,HouseOwn2,by =c("NewArea"),all.x=TRUE)
+HouseOwn1[,Weight:=NULL]
+HouseOwn1<-merge(HouseOwn1,HouseOwn3,by =c("NewArea"),all.x=TRUE)
+HouseOwn1[,Weight:=NULL]
+HouseOwn1<-merge(HouseOwn1,HouseOwn4,by =c("NewArea"),all.x=TRUE)
+HouseOwn1[,Weight:=NULL]
+HouseOwn1<-merge(HouseOwn1,HouseOwn5,by =c("NewArea"),all.x=TRUE)
+HouseOwn1[,Weight:=NULL]
+HouseOwn1<-merge(HouseOwn1,HouseOwn6,by =c("NewArea"),all.x=TRUE)
+HouseOwn1[,Weight:=NULL]
+HouseOwn1<-merge(HouseOwn1,HouseOwn7,by =c("NewArea"),all.x=TRUE)
+HouseOwn1<-merge(HouseOwn1,HouseOwn8,by =c("NewArea"),all.x=TRUE)
+HouseOwn1[,Weight:=NULL]
+HouseOwn1<-merge(HouseOwn1,HouseOwn9,by =c("NewArea"),all.x=TRUE)
+HouseOwn1[,Weight:=NULL]
+HouseOwn1<-merge(HouseOwn1,HouseOwn10,by =c("NewArea"),all.x=TRUE)
+HouseOwn1[,Weight:=NULL]
+HouseOwn1<-merge(HouseOwn1,HouseOwn11,by =c("NewArea"),all.x=TRUE)
+HouseOwn1[,Weight:=NULL]
+HouseOwn1<-merge(HouseOwn1,HouseOwn12,by =c("NewArea"),all.x=TRUE)
+HouseOwn1[,Weight:=NULL]
+write.xlsx(HouseOwn1, "D:/R/Poors_House2_Rural.xlsx",sheetName = "HouseOwn1")
+
+
+HouseOwn13<-CBN_Rural[,HouseOwn1:=weighted.mean(ifelse(HouseOwn==1,1,0),Weight),by=FinalPoor][order(FinalPoor)]
+HouseOwn13<-HouseOwn13[,.(HouseOwn1,FinalPoor,Weight)]
+HouseOwn13<-HouseOwn13[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(FinalPoor)]
+HouseOwn13[,Weight:=NULL]
+
+HouseOwn14<-CBN_Rural[,HouseOwn2:=weighted.mean(ifelse(HouseOwn==2,1,0),Weight),by=FinalPoor][order(FinalPoor)]
+HouseOwn14<-HouseOwn14[,.(HouseOwn2,FinalPoor,Weight)]
+HouseOwn14<-HouseOwn14[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(FinalPoor)]
+HouseOwn14[,Weight:=NULL]
+
+HouseOwn15<-CBN_Rural[,HouseOwn3:=weighted.mean(ifelse(HouseOwn==3,1,0),Weight),by=FinalPoor][order(FinalPoor)]
+HouseOwn15<-HouseOwn15[,.(HouseOwn3,FinalPoor,Weight)]
+HouseOwn15<-HouseOwn15[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(FinalPoor)]
+HouseOwn15[,Weight:=NULL]
+
+HouseOwn16<-CBN_Rural[,HouseOwn4:=weighted.mean(ifelse(HouseOwn==4,1,0),Weight),by=FinalPoor][order(FinalPoor)]
+HouseOwn16<-HouseOwn16[,.(HouseOwn4,FinalPoor,Weight)]
+HouseOwn16<-HouseOwn16[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(FinalPoor)]
+HouseOwn16[,Weight:=NULL]
+
+HouseOwn17<-CBN_Rural[,HouseOwn5:=weighted.mean(ifelse(HouseOwn==5,1,0),Weight),by=FinalPoor][order(FinalPoor)]
+HouseOwn17<-HouseOwn17[,.(HouseOwn5,FinalPoor,Weight)]
+HouseOwn17<-HouseOwn17[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(FinalPoor)]
+HouseOwn17[,Weight:=NULL]
+
+HouseOwn18<-CBN_Rural[,HouseOwn6:=weighted.mean(ifelse(HouseOwn==6,1,0),Weight),by=FinalPoor][order(FinalPoor)]
+HouseOwn18<-HouseOwn18[,.(HouseOwn6,FinalPoor,Weight)]
+HouseOwn18<-HouseOwn18[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(FinalPoor)]
+HouseOwn18[,Weight:=NULL]
+
+HouseOwn2<-merge(HouseOwn13,HouseOwn14,by =c("FinalPoor"),all.x=TRUE)
+HouseOwn2<-merge(HouseOwn2,HouseOwn15,by =c("FinalPoor"),all.x=TRUE)
+HouseOwn2<-merge(HouseOwn2,HouseOwn16,by =c("FinalPoor"),all.x=TRUE)
+HouseOwn2<-merge(HouseOwn2,HouseOwn17,by =c("FinalPoor"),all.x=TRUE)
+HouseOwn2<-merge(HouseOwn2,HouseOwn18,by =c("FinalPoor"),all.x=TRUE)
+write.xlsx(HouseOwn2, "D:/R/Poors_House2_Rural.xlsx",sheetName = "HouseOwn2",append = TRUE)
+
+##### skeleton #####
+
+skeleton<-CBN_NonPoor_Rural[,skeleton_Poors1:=weighted.mean(ifelse(skeleton==1,1,0),Weight),by=NewArea][order(NewArea)]
+skeleton<-skeleton[,.(skeleton_Poors1,NewArea,Weight)]
+skeleton1<-skeleton[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(NewArea)]
+skeleton1[,Weight:=NULL]
+
+skeleton<-CBN_NonPoor_Rural[,skeleton_Poors2:=weighted.mean(ifelse(skeleton==2,1,0),Weight),by=NewArea][order(NewArea)]
+skeleton<-skeleton[,.(skeleton_Poors2,NewArea,Weight)]
+skeleton2<-skeleton[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(NewArea)]
+
+skeleton<-CBN_NonPoor_Rural[,skeleton_Poors3:=weighted.mean(ifelse(skeleton==3,1,0),Weight),by=NewArea][order(NewArea)]
+skeleton<-skeleton[,.(skeleton_Poors3,NewArea,Weight)]
+skeleton3<-skeleton[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(NewArea)]
+
+skeleton<-CBN_NonPoor_Rural[,skeleton_Poors4:=weighted.mean(ifelse(skeleton==4,1,0),Weight),by=NewArea][order(NewArea)]
+skeleton<-skeleton[,.(skeleton_Poors4,NewArea,Weight)]
+skeleton4<-skeleton[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(NewArea)]
+
+skeleton<-CBN_NonPoor_Rural[,skeleton_Poors5:=weighted.mean(ifelse(skeleton==5,1,0),Weight),by=NewArea][order(NewArea)]
+skeleton<-skeleton[,.(skeleton_Poors5,NewArea,Weight)]
+skeleton5<-skeleton[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(NewArea)]
+
+skeleton<-CBN_NonPoor_Rural[,skeleton_Poors6:=weighted.mean(ifelse(skeleton==6,1,0),Weight),by=NewArea][order(NewArea)]
+skeleton<-skeleton[,.(skeleton_Poors6,NewArea,Weight)]
+skeleton6<-skeleton[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(NewArea)]
+
+skeleton<-CBN_NonPoor_Rural[,skeleton_Poors13:=weighted.mean(ifelse(skeleton==7,1,0),Weight),by=NewArea][order(NewArea)]
+skeleton<-skeleton[,.(skeleton_Poors13,NewArea,Weight)]
+skeleton13<-skeleton[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(NewArea)]
+
+skeleton<-CBN_NonPoor_Rural[,skeleton_Poors14:=weighted.mean(ifelse(skeleton==8,1,0),Weight),by=NewArea][order(NewArea)]
+skeleton<-skeleton[,.(skeleton_Poors14,NewArea,Weight)]
+skeleton14<-skeleton[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(NewArea)]
+
+skeleton<-CBN_NonPoor_Rural[,skeleton_Poors15:=weighted.mean(ifelse(skeleton==20,1,0),Weight),by=NewArea][order(NewArea)]
+skeleton<-skeleton[,.(skeleton_Poors15,NewArea,Weight)]
+skeleton15<-skeleton[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(NewArea)]
+
+skeleton<-CBN_NonPoor_Rural[,skeleton_Poors16:=weighted.mean(ifelse(skeleton==10,1,0),Weight),by=NewArea][order(NewArea)]
+skeleton<-skeleton[,.(skeleton_Poors16,NewArea,Weight)]
+skeleton16<-skeleton[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(NewArea)]
+
+
+skeleton<-CBN_Poor_Rural[,skeleton_Poors7:=weighted.mean(ifelse(skeleton==1,1,0),Weight),by=NewArea][order(NewArea)]
+skeleton<-skeleton[,.(skeleton_Poors7,NewArea,Weight)]
+skeleton7<-skeleton[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(NewArea)]
+skeleton7[,Weight:=NULL]
+
+skeleton<-CBN_Poor_Rural[,skeleton_Poors8:=weighted.mean(ifelse(skeleton==2,1,0),Weight),by=NewArea][order(NewArea)]
+skeleton<-skeleton[,.(skeleton_Poors8,NewArea,Weight)]
+skeleton8<-skeleton[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(NewArea)]
+
+skeleton<-CBN_Poor_Rural[,skeleton_Poors9:=weighted.mean(ifelse(skeleton==3,1,0),Weight),by=NewArea][order(NewArea)]
+skeleton<-skeleton[,.(skeleton_Poors9,NewArea,Weight)]
+skeleton9<-skeleton[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(NewArea)]
+
+skeleton<-CBN_Poor_Rural[,skeleton_Poors10:=weighted.mean(ifelse(skeleton==4,1,0),Weight),by=NewArea][order(NewArea)]
+skeleton<-skeleton[,.(skeleton_Poors10,NewArea,Weight)]
+skeleton10<-skeleton[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(NewArea)]
+
+skeleton<-CBN_Poor_Rural[,skeleton_Poors11:=weighted.mean(ifelse(skeleton==5,1,0),Weight),by=NewArea][order(NewArea)]
+skeleton<-skeleton[,.(skeleton_Poors11,NewArea,Weight)]
+skeleton11<-skeleton[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(NewArea)]
+
+skeleton<-CBN_Poor_Rural[,skeleton_Poors12:=weighted.mean(ifelse(skeleton==6,1,0),Weight),by=NewArea][order(NewArea)]
+skeleton<-skeleton[,.(skeleton_Poors12,NewArea,Weight)]
+skeleton12<-skeleton[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(NewArea)]
+
+skeleton<-CBN_Poor_Rural[,skeleton_Poors17:=weighted.mean(ifelse(skeleton==6,1,0),Weight),by=NewArea][order(NewArea)]
+skeleton<-skeleton[,.(skeleton_Poors17,NewArea,Weight)]
+skeleton17<-skeleton[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(NewArea)]
+
+skeleton<-CBN_Poor_Rural[,skeleton_Poors18:=weighted.mean(ifelse(skeleton==6,1,0),Weight),by=NewArea][order(NewArea)]
+skeleton<-skeleton[,.(skeleton_Poors18,NewArea,Weight)]
+skeleton18<-skeleton[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(NewArea)]
+
+skeleton<-CBN_Poor_Rural[,skeleton_Poors19:=weighted.mean(ifelse(skeleton==6,1,0),Weight),by=NewArea][order(NewArea)]
+skeleton<-skeleton[,.(skeleton_Poors19,NewArea,Weight)]
+skeleton19<-skeleton[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(NewArea)]
+
+skeleton<-CBN_Poor_Rural[,skeleton_Poors20:=weighted.mean(ifelse(skeleton==6,1,0),Weight),by=NewArea][order(NewArea)]
+skeleton<-skeleton[,.(skeleton_Poors20,NewArea,Weight)]
+skeleton20<-skeleton[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(NewArea)]
+
+skeleton1<-merge(skeleton1,skeleton2,by =c("NewArea"),all.x=TRUE)
+skeleton1[,Weight:=NULL]
+skeleton1<-merge(skeleton1,skeleton3,by =c("NewArea"),all.x=TRUE)
+skeleton1[,Weight:=NULL]
+skeleton1<-merge(skeleton1,skeleton4,by =c("NewArea"),all.x=TRUE)
+skeleton1[,Weight:=NULL]
+skeleton1<-merge(skeleton1,skeleton5,by =c("NewArea"),all.x=TRUE)
+skeleton1[,Weight:=NULL]
+skeleton1<-merge(skeleton1,skeleton6,by =c("NewArea"),all.x=TRUE)
+skeleton1[,Weight:=NULL]
+skeleton1<-merge(skeleton1,skeleton13,by =c("NewArea"),all.x=TRUE)
+skeleton1[,Weight:=NULL]
+skeleton1<-merge(skeleton1,skeleton14,by =c("NewArea"),all.x=TRUE)
+skeleton1[,Weight:=NULL]
+skeleton1<-merge(skeleton1,skeleton15,by =c("NewArea"),all.x=TRUE)
+skeleton1[,Weight:=NULL]
+skeleton1<-merge(skeleton1,skeleton16,by =c("NewArea"),all.x=TRUE)
+skeleton1[,Weight:=NULL]
+skeleton1<-merge(skeleton1,skeleton7,by =c("NewArea"),all.x=TRUE)
+skeleton1<-merge(skeleton1,skeleton8,by =c("NewArea"),all.x=TRUE)
+skeleton1[,Weight:=NULL]
+skeleton1<-merge(skeleton1,skeleton9,by =c("NewArea"),all.x=TRUE)
+skeleton1[,Weight:=NULL]
+skeleton1<-merge(skeleton1,skeleton10,by =c("NewArea"),all.x=TRUE)
+skeleton1[,Weight:=NULL]
+skeleton1<-merge(skeleton1,skeleton11,by =c("NewArea"),all.x=TRUE)
+skeleton1[,Weight:=NULL]
+skeleton1<-merge(skeleton1,skeleton12,by =c("NewArea"),all.x=TRUE)
+skeleton1[,Weight:=NULL]
+skeleton1<-merge(skeleton1,skeleton17,by =c("NewArea"),all.x=TRUE)
+skeleton1[,Weight:=NULL]
+skeleton1<-merge(skeleton1,skeleton18,by =c("NewArea"),all.x=TRUE)
+skeleton1[,Weight:=NULL]
+skeleton1<-merge(skeleton1,skeleton19,by =c("NewArea"),all.x=TRUE)
+skeleton1[,Weight:=NULL]
+skeleton1<-merge(skeleton1,skeleton20,by =c("NewArea"),all.x=TRUE)
+skeleton1[,Weight:=NULL]
+write.xlsx(skeleton1, "D:/R/Poors_House2_Rural.xlsx",sheetName = "skeleton1",append = TRUE)
+
+
+skeleton13<-CBN_Rural[,skeleton1:=weighted.mean(ifelse(skeleton==1,1,0),Weight),by=FinalPoor][order(FinalPoor)]
+skeleton13<-skeleton13[,.(skeleton1,FinalPoor,Weight)]
+skeleton13<-skeleton13[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(FinalPoor)]
+skeleton13[,Weight:=NULL]
+
+skeleton14<-CBN_Rural[,skeleton2:=weighted.mean(ifelse(skeleton==2,1,0),Weight),by=FinalPoor][order(FinalPoor)]
+skeleton14<-skeleton14[,.(skeleton2,FinalPoor,Weight)]
+skeleton14<-skeleton14[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(FinalPoor)]
+skeleton14[,Weight:=NULL]
+
+skeleton15<-CBN_Rural[,skeleton3:=weighted.mean(ifelse(skeleton==3,1,0),Weight),by=FinalPoor][order(FinalPoor)]
+skeleton15<-skeleton15[,.(skeleton3,FinalPoor,Weight)]
+skeleton15<-skeleton15[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(FinalPoor)]
+skeleton15[,Weight:=NULL]
+
+skeleton16<-CBN_Rural[,skeleton4:=weighted.mean(ifelse(skeleton==4,1,0),Weight),by=FinalPoor][order(FinalPoor)]
+skeleton16<-skeleton16[,.(skeleton4,FinalPoor,Weight)]
+skeleton16<-skeleton16[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(FinalPoor)]
+skeleton16[,Weight:=NULL]
+
+skeleton17<-CBN_Rural[,skeleton5:=weighted.mean(ifelse(skeleton==5,1,0),Weight),by=FinalPoor][order(FinalPoor)]
+skeleton17<-skeleton17[,.(skeleton5,FinalPoor,Weight)]
+skeleton17<-skeleton17[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(FinalPoor)]
+skeleton17[,Weight:=NULL]
+
+skeleton18<-CBN_Rural[,skeleton6:=weighted.mean(ifelse(skeleton==6,1,0),Weight),by=FinalPoor][order(FinalPoor)]
+skeleton18<-skeleton18[,.(skeleton6,FinalPoor,Weight)]
+skeleton18<-skeleton18[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(FinalPoor)]
+skeleton18[,Weight:=NULL]
+
+skeleton19<-CBN_Rural[,skeleton7:=weighted.mean(ifelse(skeleton==7,1,0),Weight),by=FinalPoor][order(FinalPoor)]
+skeleton19<-skeleton19[,.(skeleton7,FinalPoor,Weight)]
+skeleton19<-skeleton19[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(FinalPoor)]
+skeleton19[,Weight:=NULL]
+
+skeleton20<-CBN_Rural[,skeleton8:=weighted.mean(ifelse(skeleton==8,1,0),Weight),by=FinalPoor][order(FinalPoor)]
+skeleton20<-skeleton20[,.(skeleton8,FinalPoor,Weight)]
+skeleton20<-skeleton20[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(FinalPoor)]
+skeleton20[,Weight:=NULL]
+
+skeleton21<-CBN_Rural[,skeleton10:=weighted.mean(ifelse(skeleton==10,1,0),Weight),by=FinalPoor][order(FinalPoor)]
+skeleton21<-skeleton21[,.(skeleton10,FinalPoor,Weight)]
+skeleton21<-skeleton21[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(FinalPoor)]
+skeleton21[,Weight:=NULL]
+
+skeleton22<-CBN_Rural[,skeleton20:=weighted.mean(ifelse(skeleton==20,1,0),Weight),by=FinalPoor][order(FinalPoor)]
+skeleton22<-skeleton22[,.(skeleton20,FinalPoor,Weight)]
+skeleton22<-skeleton22[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(FinalPoor)]
+skeleton22[,Weight:=NULL]
+
+skeleton2<-merge(skeleton13,skeleton14,by =c("FinalPoor"),all.x=TRUE)
+skeleton2<-merge(skeleton2,skeleton15,by =c("FinalPoor"),all.x=TRUE)
+skeleton2<-merge(skeleton2,skeleton16,by =c("FinalPoor"),all.x=TRUE)
+skeleton2<-merge(skeleton2,skeleton17,by =c("FinalPoor"),all.x=TRUE)
+skeleton2<-merge(skeleton2,skeleton18,by =c("FinalPoor"),all.x=TRUE)
+skeleton2<-merge(skeleton2,skeleton19,by =c("FinalPoor"),all.x=TRUE)
+skeleton2<-merge(skeleton2,skeleton20,by =c("FinalPoor"),all.x=TRUE)
+skeleton2<-merge(skeleton2,skeleton21,by =c("FinalPoor"),all.x=TRUE)
+skeleton2<-merge(skeleton2,skeleton22,by =c("FinalPoor"),all.x=TRUE)
+write.xlsx(skeleton2, "D:/R/Poors_House2_Rural.xlsx",sheetName = "skeleton2",append = TRUE)
+
+}
+endtime <- proc.time()
+cat("\n\n============================\nIt took ")
+cat(endtime-starttime)
\ No newline at end of file
diff --git a/R/Archive/November 2019/87-Poor properties_Home2_Urban.R b/R/Archive/November 2019/87-Poor properties_Home2_Urban.R
new file mode 100644
index 00000000..d3a48931
--- /dev/null
+++ b/R/Archive/November 2019/87-Poor properties_Home2_Urban.R
@@ -0,0 +1,348 @@
+#Poors properties.R
+#
+# Copyright © 2018:Arin Shahbazian
+# Licence: GPL-3
+#
+rm(list=ls())
+starttime <- proc.time()
+
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+library(readxl)
+library(stringr)
+library(data.table)
+library(sm)
+library(ggplot2)
+library(xlsx)
+library(haven)
+
+for(year in (Settings$startyear:Settings$endyear)){
+ cat(paste0("\nYear:",year,"\t"))
+
+ #Load Data
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"NewFinalPoor.rda"))
+ UNewFinalPoor<-NewFinalPoor[Region=="Urban"]
+ RNewFinalPoor<-NewFinalPoor[Region=="Rural"]
+
+ #Add house properties
+ T95P2 <- read_dta("D:/R/T95P2.dta")
+ R95P2 <- read_dta("D:/R/R95P2.dta")
+ U95P2 <- read_dta("D:/R/U95P2.dta")
+
+ CBN95<-merge(NewFinalPoor,T95P2,by =c("HHID"),all.x=TRUE)
+ CBN_Urban<-merge(UNewFinalPoor,U95P2,by =c("HHID"),all.x=TRUE)
+ CBN_Rural<-merge(RNewFinalPoor,R95P2,by =c("HHID"),all.x=TRUE)
+
+ CBN_Poor95<-CBN95[FinalPoor==1]
+ CBN_Poor_Urban<-CBN_Urban[FinalPoor==1]
+ CBN_Poor_Rural<-CBN_Rural[FinalPoor==1]
+
+
+ CBN_NonPoor_Urban<-CBN_Urban[FinalPoor==0]
+ CBN_NonPoor_Rural<-CBN_Rural[FinalPoor==0]
+ CBN_NonPoor95<-rbind(CBN_NonPoor_Urban,CBN_NonPoor_Rural)
+
+##### HouseOwn #####
+
+HouseOwn<-CBN_NonPoor_Urban[,HouseOwn_Poors1:=weighted.mean(ifelse(HouseOwn==1,1,0),Weight),by=NewArea][order(NewArea)]
+HouseOwn<-HouseOwn[,.(HouseOwn_Poors1,NewArea,Weight)]
+HouseOwn1<-HouseOwn[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(NewArea)]
+HouseOwn1[,Weight:=NULL]
+
+HouseOwn<-CBN_NonPoor_Urban[,HouseOwn_Poors2:=weighted.mean(ifelse(HouseOwn==2,1,0),Weight),by=NewArea][order(NewArea)]
+HouseOwn<-HouseOwn[,.(HouseOwn_Poors2,NewArea,Weight)]
+HouseOwn2<-HouseOwn[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(NewArea)]
+
+HouseOwn<-CBN_NonPoor_Urban[,HouseOwn_Poors3:=weighted.mean(ifelse(HouseOwn==3,1,0),Weight),by=NewArea][order(NewArea)]
+HouseOwn<-HouseOwn[,.(HouseOwn_Poors3,NewArea,Weight)]
+HouseOwn3<-HouseOwn[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(NewArea)]
+
+HouseOwn<-CBN_NonPoor_Urban[,HouseOwn_Poors4:=weighted.mean(ifelse(HouseOwn==4,1,0),Weight),by=NewArea][order(NewArea)]
+HouseOwn<-HouseOwn[,.(HouseOwn_Poors4,NewArea,Weight)]
+HouseOwn4<-HouseOwn[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(NewArea)]
+
+HouseOwn<-CBN_NonPoor_Urban[,HouseOwn_Poors5:=weighted.mean(ifelse(HouseOwn==5,1,0),Weight),by=NewArea][order(NewArea)]
+HouseOwn<-HouseOwn[,.(HouseOwn_Poors5,NewArea,Weight)]
+HouseOwn5<-HouseOwn[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(NewArea)]
+
+HouseOwn<-CBN_NonPoor_Urban[,HouseOwn_Poors6:=weighted.mean(ifelse(HouseOwn==6,1,0),Weight),by=NewArea][order(NewArea)]
+HouseOwn<-HouseOwn[,.(HouseOwn_Poors6,NewArea,Weight)]
+HouseOwn6<-HouseOwn[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(NewArea)]
+
+HouseOwn<-CBN_Poor_Urban[,HouseOwn_Poors7:=weighted.mean(ifelse(HouseOwn==1,1,0),Weight),by=NewArea][order(NewArea)]
+HouseOwn<-HouseOwn[,.(HouseOwn_Poors7,NewArea,Weight)]
+HouseOwn7<-HouseOwn[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(NewArea)]
+HouseOwn7[,Weight:=NULL]
+
+HouseOwn<-CBN_Poor_Urban[,HouseOwn_Poors8:=weighted.mean(ifelse(HouseOwn==2,1,0),Weight),by=NewArea][order(NewArea)]
+HouseOwn<-HouseOwn[,.(HouseOwn_Poors8,NewArea,Weight)]
+HouseOwn8<-HouseOwn[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(NewArea)]
+
+HouseOwn<-CBN_Poor_Urban[,HouseOwn_Poors9:=weighted.mean(ifelse(HouseOwn==3,1,0),Weight),by=NewArea][order(NewArea)]
+HouseOwn<-HouseOwn[,.(HouseOwn_Poors9,NewArea,Weight)]
+HouseOwn9<-HouseOwn[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(NewArea)]
+
+HouseOwn<-CBN_Poor_Urban[,HouseOwn_Poors10:=weighted.mean(ifelse(HouseOwn==4,1,0),Weight),by=NewArea][order(NewArea)]
+HouseOwn<-HouseOwn[,.(HouseOwn_Poors10,NewArea,Weight)]
+HouseOwn10<-HouseOwn[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(NewArea)]
+
+HouseOwn<-CBN_Poor_Urban[,HouseOwn_Poors11:=weighted.mean(ifelse(HouseOwn==5,1,0),Weight),by=NewArea][order(NewArea)]
+HouseOwn<-HouseOwn[,.(HouseOwn_Poors11,NewArea,Weight)]
+HouseOwn11<-HouseOwn[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(NewArea)]
+
+HouseOwn<-CBN_Poor_Urban[,HouseOwn_Poors12:=weighted.mean(ifelse(HouseOwn==6,1,0),Weight),by=NewArea][order(NewArea)]
+HouseOwn<-HouseOwn[,.(HouseOwn_Poors12,NewArea,Weight)]
+HouseOwn12<-HouseOwn[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(NewArea)]
+
+HouseOwn1<-merge(HouseOwn1,HouseOwn2,by =c("NewArea"),all.x=TRUE)
+HouseOwn1[,Weight:=NULL]
+HouseOwn1<-merge(HouseOwn1,HouseOwn3,by =c("NewArea"),all.x=TRUE)
+HouseOwn1[,Weight:=NULL]
+HouseOwn1<-merge(HouseOwn1,HouseOwn4,by =c("NewArea"),all.x=TRUE)
+HouseOwn1[,Weight:=NULL]
+HouseOwn1<-merge(HouseOwn1,HouseOwn5,by =c("NewArea"),all.x=TRUE)
+HouseOwn1[,Weight:=NULL]
+HouseOwn1<-merge(HouseOwn1,HouseOwn6,by =c("NewArea"),all.x=TRUE)
+HouseOwn1[,Weight:=NULL]
+HouseOwn1<-merge(HouseOwn1,HouseOwn7,by =c("NewArea"),all.x=TRUE)
+HouseOwn1<-merge(HouseOwn1,HouseOwn8,by =c("NewArea"),all.x=TRUE)
+HouseOwn1[,Weight:=NULL]
+HouseOwn1<-merge(HouseOwn1,HouseOwn9,by =c("NewArea"),all.x=TRUE)
+HouseOwn1[,Weight:=NULL]
+HouseOwn1<-merge(HouseOwn1,HouseOwn10,by =c("NewArea"),all.x=TRUE)
+HouseOwn1[,Weight:=NULL]
+HouseOwn1<-merge(HouseOwn1,HouseOwn11,by =c("NewArea"),all.x=TRUE)
+HouseOwn1[,Weight:=NULL]
+HouseOwn1<-merge(HouseOwn1,HouseOwn12,by =c("NewArea"),all.x=TRUE)
+HouseOwn1[,Weight:=NULL]
+write.xlsx(HouseOwn1, "D:/R/Poors_House2_Urban.xlsx",sheetName = "HouseOwn1")
+
+
+HouseOwn13<-CBN_Urban[,HouseOwn1:=weighted.mean(ifelse(HouseOwn==1,1,0),Weight),by=FinalPoor][order(FinalPoor)]
+HouseOwn13<-HouseOwn13[,.(HouseOwn1,FinalPoor,Weight)]
+HouseOwn13<-HouseOwn13[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(FinalPoor)]
+HouseOwn13[,Weight:=NULL]
+
+HouseOwn14<-CBN_Urban[,HouseOwn2:=weighted.mean(ifelse(HouseOwn==2,1,0),Weight),by=FinalPoor][order(FinalPoor)]
+HouseOwn14<-HouseOwn14[,.(HouseOwn2,FinalPoor,Weight)]
+HouseOwn14<-HouseOwn14[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(FinalPoor)]
+HouseOwn14[,Weight:=NULL]
+
+HouseOwn15<-CBN_Urban[,HouseOwn3:=weighted.mean(ifelse(HouseOwn==3,1,0),Weight),by=FinalPoor][order(FinalPoor)]
+HouseOwn15<-HouseOwn15[,.(HouseOwn3,FinalPoor,Weight)]
+HouseOwn15<-HouseOwn15[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(FinalPoor)]
+HouseOwn15[,Weight:=NULL]
+
+HouseOwn16<-CBN_Urban[,HouseOwn4:=weighted.mean(ifelse(HouseOwn==4,1,0),Weight),by=FinalPoor][order(FinalPoor)]
+HouseOwn16<-HouseOwn16[,.(HouseOwn4,FinalPoor,Weight)]
+HouseOwn16<-HouseOwn16[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(FinalPoor)]
+HouseOwn16[,Weight:=NULL]
+
+HouseOwn17<-CBN_Urban[,HouseOwn5:=weighted.mean(ifelse(HouseOwn==5,1,0),Weight),by=FinalPoor][order(FinalPoor)]
+HouseOwn17<-HouseOwn17[,.(HouseOwn5,FinalPoor,Weight)]
+HouseOwn17<-HouseOwn17[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(FinalPoor)]
+HouseOwn17[,Weight:=NULL]
+
+HouseOwn18<-CBN_Urban[,HouseOwn6:=weighted.mean(ifelse(HouseOwn==6,1,0),Weight),by=FinalPoor][order(FinalPoor)]
+HouseOwn18<-HouseOwn18[,.(HouseOwn6,FinalPoor,Weight)]
+HouseOwn18<-HouseOwn18[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(FinalPoor)]
+HouseOwn18[,Weight:=NULL]
+
+HouseOwn2<-merge(HouseOwn13,HouseOwn14,by =c("FinalPoor"),all.x=TRUE)
+HouseOwn2<-merge(HouseOwn2,HouseOwn15,by =c("FinalPoor"),all.x=TRUE)
+HouseOwn2<-merge(HouseOwn2,HouseOwn16,by =c("FinalPoor"),all.x=TRUE)
+HouseOwn2<-merge(HouseOwn2,HouseOwn17,by =c("FinalPoor"),all.x=TRUE)
+HouseOwn2<-merge(HouseOwn2,HouseOwn18,by =c("FinalPoor"),all.x=TRUE)
+write.xlsx(HouseOwn2, "D:/R/Poors_House2_Urban.xlsx",sheetName = "HouseOwn2",append = TRUE)
+
+##### skeleton #####
+
+skeleton<-CBN_NonPoor_Urban[,skeleton_Poors1:=weighted.mean(ifelse(skeleton==1,1,0),Weight),by=NewArea][order(NewArea)]
+skeleton<-skeleton[,.(skeleton_Poors1,NewArea,Weight)]
+skeleton1<-skeleton[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(NewArea)]
+skeleton1[,Weight:=NULL]
+
+skeleton<-CBN_NonPoor_Urban[,skeleton_Poors2:=weighted.mean(ifelse(skeleton==2,1,0),Weight),by=NewArea][order(NewArea)]
+skeleton<-skeleton[,.(skeleton_Poors2,NewArea,Weight)]
+skeleton2<-skeleton[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(NewArea)]
+
+skeleton<-CBN_NonPoor_Urban[,skeleton_Poors3:=weighted.mean(ifelse(skeleton==3,1,0),Weight),by=NewArea][order(NewArea)]
+skeleton<-skeleton[,.(skeleton_Poors3,NewArea,Weight)]
+skeleton3<-skeleton[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(NewArea)]
+
+skeleton<-CBN_NonPoor_Urban[,skeleton_Poors4:=weighted.mean(ifelse(skeleton==4,1,0),Weight),by=NewArea][order(NewArea)]
+skeleton<-skeleton[,.(skeleton_Poors4,NewArea,Weight)]
+skeleton4<-skeleton[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(NewArea)]
+
+skeleton<-CBN_NonPoor_Urban[,skeleton_Poors5:=weighted.mean(ifelse(skeleton==5,1,0),Weight),by=NewArea][order(NewArea)]
+skeleton<-skeleton[,.(skeleton_Poors5,NewArea,Weight)]
+skeleton5<-skeleton[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(NewArea)]
+
+skeleton<-CBN_NonPoor_Urban[,skeleton_Poors6:=weighted.mean(ifelse(skeleton==6,1,0),Weight),by=NewArea][order(NewArea)]
+skeleton<-skeleton[,.(skeleton_Poors6,NewArea,Weight)]
+skeleton6<-skeleton[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(NewArea)]
+
+skeleton<-CBN_NonPoor_Urban[,skeleton_Poors13:=weighted.mean(ifelse(skeleton==7,1,0),Weight),by=NewArea][order(NewArea)]
+skeleton<-skeleton[,.(skeleton_Poors13,NewArea,Weight)]
+skeleton13<-skeleton[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(NewArea)]
+
+skeleton<-CBN_NonPoor_Urban[,skeleton_Poors14:=weighted.mean(ifelse(skeleton==8,1,0),Weight),by=NewArea][order(NewArea)]
+skeleton<-skeleton[,.(skeleton_Poors14,NewArea,Weight)]
+skeleton14<-skeleton[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(NewArea)]
+
+skeleton<-CBN_NonPoor_Urban[,skeleton_Poors15:=weighted.mean(ifelse(skeleton==20,1,0),Weight),by=NewArea][order(NewArea)]
+skeleton<-skeleton[,.(skeleton_Poors15,NewArea,Weight)]
+skeleton15<-skeleton[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(NewArea)]
+
+skeleton<-CBN_NonPoor_Urban[,skeleton_Poors16:=weighted.mean(ifelse(skeleton==10,1,0),Weight),by=NewArea][order(NewArea)]
+skeleton<-skeleton[,.(skeleton_Poors16,NewArea,Weight)]
+skeleton16<-skeleton[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(NewArea)]
+
+
+skeleton<-CBN_Poor_Urban[,skeleton_Poors7:=weighted.mean(ifelse(skeleton==1,1,0),Weight),by=NewArea][order(NewArea)]
+skeleton<-skeleton[,.(skeleton_Poors7,NewArea,Weight)]
+skeleton7<-skeleton[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(NewArea)]
+skeleton7[,Weight:=NULL]
+
+skeleton<-CBN_Poor_Urban[,skeleton_Poors8:=weighted.mean(ifelse(skeleton==2,1,0),Weight),by=NewArea][order(NewArea)]
+skeleton<-skeleton[,.(skeleton_Poors8,NewArea,Weight)]
+skeleton8<-skeleton[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(NewArea)]
+
+skeleton<-CBN_Poor_Urban[,skeleton_Poors9:=weighted.mean(ifelse(skeleton==3,1,0),Weight),by=NewArea][order(NewArea)]
+skeleton<-skeleton[,.(skeleton_Poors9,NewArea,Weight)]
+skeleton9<-skeleton[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(NewArea)]
+
+skeleton<-CBN_Poor_Urban[,skeleton_Poors10:=weighted.mean(ifelse(skeleton==4,1,0),Weight),by=NewArea][order(NewArea)]
+skeleton<-skeleton[,.(skeleton_Poors10,NewArea,Weight)]
+skeleton10<-skeleton[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(NewArea)]
+
+skeleton<-CBN_Poor_Urban[,skeleton_Poors11:=weighted.mean(ifelse(skeleton==5,1,0),Weight),by=NewArea][order(NewArea)]
+skeleton<-skeleton[,.(skeleton_Poors11,NewArea,Weight)]
+skeleton11<-skeleton[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(NewArea)]
+
+skeleton<-CBN_Poor_Urban[,skeleton_Poors12:=weighted.mean(ifelse(skeleton==6,1,0),Weight),by=NewArea][order(NewArea)]
+skeleton<-skeleton[,.(skeleton_Poors12,NewArea,Weight)]
+skeleton12<-skeleton[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(NewArea)]
+
+skeleton<-CBN_Poor_Urban[,skeleton_Poors17:=weighted.mean(ifelse(skeleton==6,1,0),Weight),by=NewArea][order(NewArea)]
+skeleton<-skeleton[,.(skeleton_Poors17,NewArea,Weight)]
+skeleton17<-skeleton[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(NewArea)]
+
+skeleton<-CBN_Poor_Urban[,skeleton_Poors18:=weighted.mean(ifelse(skeleton==6,1,0),Weight),by=NewArea][order(NewArea)]
+skeleton<-skeleton[,.(skeleton_Poors18,NewArea,Weight)]
+skeleton18<-skeleton[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(NewArea)]
+
+skeleton<-CBN_Poor_Urban[,skeleton_Poors19:=weighted.mean(ifelse(skeleton==6,1,0),Weight),by=NewArea][order(NewArea)]
+skeleton<-skeleton[,.(skeleton_Poors19,NewArea,Weight)]
+skeleton19<-skeleton[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(NewArea)]
+
+skeleton<-CBN_Poor_Urban[,skeleton_Poors20:=weighted.mean(ifelse(skeleton==6,1,0),Weight),by=NewArea][order(NewArea)]
+skeleton<-skeleton[,.(skeleton_Poors20,NewArea,Weight)]
+skeleton20<-skeleton[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(NewArea)]
+
+skeleton1<-merge(skeleton1,skeleton2,by =c("NewArea"),all.x=TRUE)
+skeleton1[,Weight:=NULL]
+skeleton1<-merge(skeleton1,skeleton3,by =c("NewArea"),all.x=TRUE)
+skeleton1[,Weight:=NULL]
+skeleton1<-merge(skeleton1,skeleton4,by =c("NewArea"),all.x=TRUE)
+skeleton1[,Weight:=NULL]
+skeleton1<-merge(skeleton1,skeleton5,by =c("NewArea"),all.x=TRUE)
+skeleton1[,Weight:=NULL]
+skeleton1<-merge(skeleton1,skeleton6,by =c("NewArea"),all.x=TRUE)
+skeleton1[,Weight:=NULL]
+skeleton1<-merge(skeleton1,skeleton13,by =c("NewArea"),all.x=TRUE)
+skeleton1[,Weight:=NULL]
+skeleton1<-merge(skeleton1,skeleton14,by =c("NewArea"),all.x=TRUE)
+skeleton1[,Weight:=NULL]
+skeleton1<-merge(skeleton1,skeleton15,by =c("NewArea"),all.x=TRUE)
+skeleton1[,Weight:=NULL]
+skeleton1<-merge(skeleton1,skeleton16,by =c("NewArea"),all.x=TRUE)
+skeleton1[,Weight:=NULL]
+skeleton1<-merge(skeleton1,skeleton7,by =c("NewArea"),all.x=TRUE)
+skeleton1<-merge(skeleton1,skeleton8,by =c("NewArea"),all.x=TRUE)
+skeleton1[,Weight:=NULL]
+skeleton1<-merge(skeleton1,skeleton9,by =c("NewArea"),all.x=TRUE)
+skeleton1[,Weight:=NULL]
+skeleton1<-merge(skeleton1,skeleton10,by =c("NewArea"),all.x=TRUE)
+skeleton1[,Weight:=NULL]
+skeleton1<-merge(skeleton1,skeleton11,by =c("NewArea"),all.x=TRUE)
+skeleton1[,Weight:=NULL]
+skeleton1<-merge(skeleton1,skeleton12,by =c("NewArea"),all.x=TRUE)
+skeleton1[,Weight:=NULL]
+skeleton1<-merge(skeleton1,skeleton17,by =c("NewArea"),all.x=TRUE)
+skeleton1[,Weight:=NULL]
+skeleton1<-merge(skeleton1,skeleton18,by =c("NewArea"),all.x=TRUE)
+skeleton1[,Weight:=NULL]
+skeleton1<-merge(skeleton1,skeleton19,by =c("NewArea"),all.x=TRUE)
+skeleton1[,Weight:=NULL]
+skeleton1<-merge(skeleton1,skeleton20,by =c("NewArea"),all.x=TRUE)
+skeleton1[,Weight:=NULL]
+write.xlsx(skeleton1, "D:/R/Poors_House2_Urban.xlsx",sheetName = "skeleton1",append = TRUE)
+
+
+skeleton13<-CBN_Urban[,skeleton1:=weighted.mean(ifelse(skeleton==1,1,0),Weight),by=FinalPoor][order(FinalPoor)]
+skeleton13<-skeleton13[,.(skeleton1,FinalPoor,Weight)]
+skeleton13<-skeleton13[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(FinalPoor)]
+skeleton13[,Weight:=NULL]
+
+skeleton14<-CBN_Urban[,skeleton2:=weighted.mean(ifelse(skeleton==2,1,0),Weight),by=FinalPoor][order(FinalPoor)]
+skeleton14<-skeleton14[,.(skeleton2,FinalPoor,Weight)]
+skeleton14<-skeleton14[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(FinalPoor)]
+skeleton14[,Weight:=NULL]
+
+skeleton15<-CBN_Urban[,skeleton3:=weighted.mean(ifelse(skeleton==3,1,0),Weight),by=FinalPoor][order(FinalPoor)]
+skeleton15<-skeleton15[,.(skeleton3,FinalPoor,Weight)]
+skeleton15<-skeleton15[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(FinalPoor)]
+skeleton15[,Weight:=NULL]
+
+skeleton16<-CBN_Urban[,skeleton4:=weighted.mean(ifelse(skeleton==4,1,0),Weight),by=FinalPoor][order(FinalPoor)]
+skeleton16<-skeleton16[,.(skeleton4,FinalPoor,Weight)]
+skeleton16<-skeleton16[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(FinalPoor)]
+skeleton16[,Weight:=NULL]
+
+skeleton17<-CBN_Urban[,skeleton5:=weighted.mean(ifelse(skeleton==5,1,0),Weight),by=FinalPoor][order(FinalPoor)]
+skeleton17<-skeleton17[,.(skeleton5,FinalPoor,Weight)]
+skeleton17<-skeleton17[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(FinalPoor)]
+skeleton17[,Weight:=NULL]
+
+skeleton18<-CBN_Urban[,skeleton6:=weighted.mean(ifelse(skeleton==6,1,0),Weight),by=FinalPoor][order(FinalPoor)]
+skeleton18<-skeleton18[,.(skeleton6,FinalPoor,Weight)]
+skeleton18<-skeleton18[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(FinalPoor)]
+skeleton18[,Weight:=NULL]
+
+skeleton19<-CBN_Urban[,skeleton7:=weighted.mean(ifelse(skeleton==7,1,0),Weight),by=FinalPoor][order(FinalPoor)]
+skeleton19<-skeleton19[,.(skeleton7,FinalPoor,Weight)]
+skeleton19<-skeleton19[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(FinalPoor)]
+skeleton19[,Weight:=NULL]
+
+skeleton20<-CBN_Urban[,skeleton8:=weighted.mean(ifelse(skeleton==8,1,0),Weight),by=FinalPoor][order(FinalPoor)]
+skeleton20<-skeleton20[,.(skeleton8,FinalPoor,Weight)]
+skeleton20<-skeleton20[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(FinalPoor)]
+skeleton20[,Weight:=NULL]
+
+skeleton21<-CBN_Urban[,skeleton10:=weighted.mean(ifelse(skeleton==10,1,0),Weight),by=FinalPoor][order(FinalPoor)]
+skeleton21<-skeleton21[,.(skeleton10,FinalPoor,Weight)]
+skeleton21<-skeleton21[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(FinalPoor)]
+skeleton21[,Weight:=NULL]
+
+skeleton22<-CBN_Urban[,skeleton20:=weighted.mean(ifelse(skeleton==20,1,0),Weight),by=FinalPoor][order(FinalPoor)]
+skeleton22<-skeleton22[,.(skeleton20,FinalPoor,Weight)]
+skeleton22<-skeleton22[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(FinalPoor)]
+skeleton22[,Weight:=NULL]
+
+skeleton2<-merge(skeleton13,skeleton14,by =c("FinalPoor"),all.x=TRUE)
+skeleton2<-merge(skeleton2,skeleton15,by =c("FinalPoor"),all.x=TRUE)
+skeleton2<-merge(skeleton2,skeleton16,by =c("FinalPoor"),all.x=TRUE)
+skeleton2<-merge(skeleton2,skeleton17,by =c("FinalPoor"),all.x=TRUE)
+skeleton2<-merge(skeleton2,skeleton18,by =c("FinalPoor"),all.x=TRUE)
+skeleton2<-merge(skeleton2,skeleton19,by =c("FinalPoor"),all.x=TRUE)
+skeleton2<-merge(skeleton2,skeleton20,by =c("FinalPoor"),all.x=TRUE)
+skeleton2<-merge(skeleton2,skeleton21,by =c("FinalPoor"),all.x=TRUE)
+skeleton2<-merge(skeleton2,skeleton22,by =c("FinalPoor"),all.x=TRUE)
+write.xlsx(skeleton2, "D:/R/Poors_House2_Urban.xlsx",sheetName = "skeleton2",append = TRUE)
+
+}
+endtime <- proc.time()
+cat("\n\n============================\nIt took ")
+cat(endtime-starttime)
\ No newline at end of file
diff --git a/R/Archive/November 2019/90-bundle_share95.R b/R/Archive/November 2019/90-bundle_share95.R
new file mode 100644
index 00000000..a69d10ee
--- /dev/null
+++ b/R/Archive/November 2019/90-bundle_share95.R
@@ -0,0 +1,36 @@
+rm(list=ls())
+starttime <- proc.time()
+cat("\n\n================ Prepare Data =====================================\n")
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+library(readxl)
+library(data.table)
+library(ggplot2)
+library(stats)
+year<-95
+load(file=paste0(Settings$HEISProcessedPath,"Y",year,"InitialPoor.rda"))
+TD<-MD
+load(file=paste0(Settings$HEISProcessedPath,"Y",year,"FINALPOORS.rda"))
+TD<-merge(TD,MD[,.(HHID,FinalPoor)])
+
+
+TD[FinalPoor==1,weighted.mean(FoodExpenditure/Total_Exp_Month,Weight)]
+TD[FinalPoor==1,weighted.mean(Cigar_Exp/Total_Exp_Month,Weight)]
+TD[FinalPoor==1,weighted.mean(Cloth_Exp/Total_Exp_Month,Weight)]
+TD[FinalPoor==1,weighted.mean(Energy_Exp/Total_Exp_Month,Weight)]
+TD[FinalPoor==1,weighted.mean(ServiceExp/Total_Exp_Month,Weight)]
+TD[FinalPoor==1,weighted.mean(Behdasht_Exp/Total_Exp_Month,Weight)]
+TD[FinalPoor==1,weighted.mean(Transportation_Exp/Total_Exp_Month,Weight)]
+TD[FinalPoor==1,weighted.mean(Furniture_Exp/Total_Exp_Month,Weight)]
+TD[FinalPoor==1,weighted.mean(Communication_Exp/Total_Exp_Month,Weight)]
+TD[FinalPoor==1,weighted.mean(Amusement_Exp/Total_Exp_Month,Weight)]
+TD[FinalPoor==1,weighted.mean(EducExpenditure/Total_Exp_Month,Weight)]
+TD[FinalPoor==1,weighted.mean(Hotel_Exp/Total_Exp_Month,Weight)]
+TD[FinalPoor==1,weighted.mean(Other_Exp/Total_Exp_Month,Weight)]
+TD[FinalPoor==1,weighted.mean(Durable_Exp/Total_Exp_Month,Weight)]
+TD[FinalPoor==1,weighted.mean(Medical_Exp/Total_Exp_Month,Weight)]
+
+
+
+
diff --git a/R/Archive/November 2019/91-Calculation of EV and CV- 2nd edition.R b/R/Archive/November 2019/91-Calculation of EV and CV- 2nd edition.R
new file mode 100644
index 00000000..2991e7ce
--- /dev/null
+++ b/R/Archive/November 2019/91-Calculation of EV and CV- 2nd edition.R
@@ -0,0 +1,723 @@
+# 91-Calculation of EV and CV- 2nd edition
+#
+#
+# Copyright © 2019: Arin Shahbazian
+# Licence: GPL-3
+
+rm(list=ls())
+
+starttime <- proc.time()
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+library(data.table)
+library(stringr)
+library(readxl)
+options(warn=-1)
+
+################################################
+################ Shir ########################
+################################################
+cat("\n\n================ Shir =====================================\n")
+
+FoodTables <- data.table(read_excel(Settings$MetaDataFilePath,sheet=Settings$MDS_Shir))
+
+for(year in (Settings$startyear:Settings$endyear)){
+ cat(paste0("\n------------------------------\nYear:",year,"\n"))
+ load(file=paste0(Settings$HEISRawPath,"Y",year,"Raw.rda"))
+ ft <- FoodTables[Year==year]
+ tab <- ft$Table
+ if(is.na(tab))
+ next
+ UTF <- Tables[[paste0("U",year,tab)]]
+ RTF <- Tables[[paste0("R",year,tab)]]
+ TF <- rbind(UTF,RTF)
+ for(n in names(TF)){
+ x <- which(ft==n)
+ if(length(x)>0)
+ setnames(TF,n,names(ft)[x])
+ }
+
+ pcols <- intersect(names(TF),c("HHID","Code","Kilos","Grams","ShirPrice","ShirExpenditure"))
+ TF <- TF[,pcols,with=FALSE]
+ TF <- TF[Code %in% ft$StartCode:ft$EndCode]
+ if(year %in% 84:96){
+ TF[,ShirExpenditure:=as.numeric(ShirExpenditure)]
+ }
+ for (col in c("Kilos","Grams")) TF[is.na(get(col)), (col) := 0]
+ TF[,Kilos:=as.numeric(Kilos)]
+ TF[,Grams:=as.numeric(Grams)]
+ TF[,ShirPrice:=as.numeric(ShirPrice)]
+ TF[is.na(TF)] <- 0
+ TF[,ShirKG:=Kilos+(Grams*0.001)]
+
+ TF[,Code:=NULL]
+ TF[,Kilos:=NULL]
+ TF[,Grams:=NULL]
+ TF[is.na(TF)] <- 0
+ ShirData <- TF[,lapply(.SD,sum),by=HHID]
+ save(ShirData, file = paste0(Settings$HEISProcessedPath,"Y",year,"Shirs.rda"))
+}
+
+################################################
+################ Mast ########################
+################################################
+cat("\n\n================ Mast =====================================\n")
+
+FoodTables <- data.table(read_excel(Settings$MetaDataFilePath,sheet=Settings$MDS_Mast))
+
+for(year in (Settings$startyear:Settings$endyear)){
+ cat(paste0("\n------------------------------\nYear:",year,"\n"))
+ load(file=paste0(Settings$HEISRawPath,"Y",year,"Raw.rda"))
+ ft <- FoodTables[Year==year]
+ tab <- ft$Table
+ if(is.na(tab))
+ next
+ UTF <- Tables[[paste0("U",year,tab)]]
+ RTF <- Tables[[paste0("R",year,tab)]]
+ TF <- rbind(UTF,RTF)
+ for(n in names(TF)){
+ x <- which(ft==n)
+ if(length(x)>0)
+ setnames(TF,n,names(ft)[x])
+ }
+
+ pcols <- intersect(names(TF),c("HHID","Code","Kilos","Grams","MastPrice","MastExpenditure"))
+ TF <- TF[,pcols,with=FALSE]
+ TF <- TF[Code %in% ft$StartCode:ft$EndCode]
+ if(year %in% 84:96){
+ TF[,MastExpenditure:=as.numeric(MastExpenditure)]
+ }
+ for (col in c("Kilos","Grams")) TF[is.na(get(col)), (col) := 0]
+ TF[,Kilos:=as.numeric(Kilos)]
+ TF[,Grams:=as.numeric(Grams)]
+ TF[,MastPrice:=as.numeric(MastPrice)]
+ TF[is.na(TF)] <- 0
+ TF[,MastKG:=Kilos+(Grams*0.001)]
+
+ TF[,Code:=NULL]
+ TF[,Kilos:=NULL]
+ TF[,Grams:=NULL]
+ TF[is.na(TF)] <- 0
+ MastData <- TF[,lapply(.SD,sum),by=HHID]
+ save(MastData, file = paste0(Settings$HEISProcessedPath,"Y",year,"Masts.rda"))
+}
+
+################################################
+################ Panir ########################
+################################################
+cat("\n\n================ Panir =====================================\n")
+
+FoodTables <- data.table(read_excel(Settings$MetaDataFilePath,sheet=Settings$MDS_Panir))
+
+for(year in (Settings$startyear:Settings$endyear)){
+ cat(paste0("\n------------------------------\nYear:",year,"\n"))
+ load(file=paste0(Settings$HEISRawPath,"Y",year,"Raw.rda"))
+ ft <- FoodTables[Year==year]
+ tab <- ft$Table
+ if(is.na(tab))
+ next
+ UTF <- Tables[[paste0("U",year,tab)]]
+ RTF <- Tables[[paste0("R",year,tab)]]
+ TF <- rbind(UTF,RTF)
+ for(n in names(TF)){
+ x <- which(ft==n)
+ if(length(x)>0)
+ setnames(TF,n,names(ft)[x])
+ }
+
+ pcols <- intersect(names(TF),c("HHID","Code","Kilos","Grams","PanirPrice","PanirExpenditure"))
+ TF <- TF[,pcols,with=FALSE]
+ TF <- TF[Code %in% ft$StartCode:ft$EndCode]
+ if(year %in% 84:96){
+ TF[,PanirExpenditure:=as.numeric(PanirExpenditure)]
+ }
+ for (col in c("Kilos","Grams")) TF[is.na(get(col)), (col) := 0]
+ TF[,Kilos:=as.numeric(Kilos)]
+ TF[,Grams:=as.numeric(Grams)]
+ TF[,PanirPrice:=as.numeric(PanirPrice)]
+ TF[is.na(TF)] <- 0
+ TF[,PanirKG:=Kilos+(Grams*0.001)]
+
+ TF[,Code:=NULL]
+ TF[,Kilos:=NULL]
+ TF[,Grams:=NULL]
+ TF[is.na(TF)] <- 0
+ PanirData <- TF[,lapply(.SD,sum),by=HHID]
+ save(PanirData, file = paste0(Settings$HEISProcessedPath,"Y",year,"Panirs.rda"))
+}
+
+################################################
+################ Cow ########################
+################################################
+cat("\n\n================ Cow =====================================\n")
+
+FoodTables <- data.table(read_excel(Settings$MetaDataFilePath,sheet=Settings$MDS_Cow))
+
+for(year in (Settings$startyear:Settings$endyear)){
+ cat(paste0("\n------------------------------\nYear:",year,"\n"))
+ load(file=paste0(Settings$HEISRawPath,"Y",year,"Raw.rda"))
+ ft <- FoodTables[Year==year]
+ tab <- ft$Table
+ if(is.na(tab))
+ next
+ UTF <- Tables[[paste0("U",year,tab)]]
+ RTF <- Tables[[paste0("R",year,tab)]]
+ TF <- rbind(UTF,RTF)
+ for(n in names(TF)){
+ x <- which(ft==n)
+ if(length(x)>0)
+ setnames(TF,n,names(ft)[x])
+ }
+
+ pcols <- intersect(names(TF),c("HHID","Code","Kilos","Grams","CowPrice","CowExpenditure"))
+ TF <- TF[,pcols,with=FALSE]
+ TF <- TF[Code %in% ft$StartCode:ft$EndCode]
+ if(year %in% 84:96){
+ TF[,CowExpenditure:=as.numeric(CowExpenditure)]
+ }
+ for (col in c("Kilos","Grams")) TF[is.na(get(col)), (col) := 0]
+ TF[,Kilos:=as.numeric(Kilos)]
+ TF[,Grams:=as.numeric(Grams)]
+ TF[,CowPrice:=as.numeric(CowPrice)]
+ TF[is.na(TF)] <- 0
+ TF[,CowKG:=Kilos+(Grams*0.001)]
+
+ TF[,Code:=NULL]
+ TF[,Kilos:=NULL]
+ TF[,Grams:=NULL]
+ TF[is.na(TF)] <- 0
+ CowData <- TF[,lapply(.SD,sum),by=HHID]
+ save(CowData, file = paste0(Settings$HEISProcessedPath,"Y",year,"Cows.rda"))
+}
+
+################################################
+################ Sheep ########################
+################################################
+cat("\n\n================ Sheep =====================================\n")
+
+FoodTables <- data.table(read_excel(Settings$MetaDataFilePath,sheet=Settings$MDS_Sheep))
+
+for(year in (Settings$startyear:Settings$endyear)){
+ cat(paste0("\n------------------------------\nYear:",year,"\n"))
+ load(file=paste0(Settings$HEISRawPath,"Y",year,"Raw.rda"))
+ ft <- FoodTables[Year==year]
+ tab <- ft$Table
+ if(is.na(tab))
+ next
+ UTF <- Tables[[paste0("U",year,tab)]]
+ RTF <- Tables[[paste0("R",year,tab)]]
+ TF <- rbind(UTF,RTF)
+ for(n in names(TF)){
+ x <- which(ft==n)
+ if(length(x)>0)
+ setnames(TF,n,names(ft)[x])
+ }
+ pcols <- intersect(names(TF),c("HHID","Code","Kilos","Grams","SheepPrice","SheepExpenditure"))
+ TF <- TF[,pcols,with=FALSE]
+ TF <- TF[Code %in% ft$StartCode:ft$EndCode]
+ if(year %in% 84:96){
+ TF[,SheepExpenditure:=as.numeric(SheepExpenditure)]
+ }
+ for (col in c("Kilos","Grams")) TF[is.na(get(col)), (col) := 0]
+ TF[,Kilos:=as.numeric(Kilos)]
+ TF[,SheepPrice:=as.numeric(Grams)]
+ TF[,SheepPrice:=as.numeric(SheepPrice)]
+ TF[is.na(TF)] <- 0
+ TF[,SheepKG:=Kilos+(Grams*0.001)]
+
+ TF[,Code:=NULL]
+ TF[,Kilos:=NULL]
+ TF[,Grams:=NULL]
+ TF[is.na(TF)] <- 0
+ SheepData <- TF[,lapply(.SD,sum),by=HHID]
+ save(SheepData, file = paste0(Settings$HEISProcessedPath,"Y",year,"Sheeps.rda"))
+}
+
+################################################
+################ Morgh ########################
+################################################
+cat("\n\n================ Morgh =====================================\n")
+
+FoodTables <- data.table(read_excel(Settings$MetaDataFilePath,sheet=Settings$MDS_Morgh))
+
+for(year in (Settings$startyear:Settings$endyear)){
+ cat(paste0("\n------------------------------\nYear:",year,"\n"))
+ load(file=paste0(Settings$HEISRawPath,"Y",year,"Raw.rda"))
+ ft <- FoodTables[Year==year]
+ tab <- ft$Table
+ if(is.na(tab))
+ next
+ UTF <- Tables[[paste0("U",year,tab)]]
+ RTF <- Tables[[paste0("R",year,tab)]]
+ TF <- rbind(UTF,RTF)
+ for(n in names(TF)){
+ x <- which(ft==n)
+ if(length(x)>0)
+ setnames(TF,n,names(ft)[x])
+ }
+ pcols <- intersect(names(TF),c("HHID","Code","Kilos","Grams","MorghPrice","MorghExpenditure"))
+ TF <- TF[,pcols,with=FALSE]
+ TF <- TF[Code %in% ft$StartCode:ft$EndCode]
+ if(year %in% 84:97){
+ TF[,MorghExpenditure:=as.numeric(MorghExpenditure)]
+ }
+ for (col in c("Kilos","Grams")) TF[is.na(get(col)), (col) := 0]
+ TF[,Kilos:=as.numeric(Kilos)]
+ TF[,Grams:=as.numeric(Grams)]
+ TF[,MorghPrice:=as.numeric(MorghPrice)]
+ TF[is.na(TF)] <- 0
+ TF[,MorghKG:=Kilos+(Grams*0.001)]
+
+ TF[,Code:=NULL]
+ TF[,Kilos:=NULL]
+ TF[,Grams:=NULL]
+ TF[is.na(TF)] <- 0
+ MorghData <- TF[,lapply(.SD,sum),by=HHID]
+ save(MorghData, file = paste0(Settings$HEISProcessedPath,"Y",year,"Morghs.rda"))
+}
+
+################################################
+################ Ghand ########################
+################################################
+cat("\n\n================ Ghand =====================================\n")
+
+FoodTables <- data.table(read_excel(Settings$MetaDataFilePath,sheet=Settings$MDS_Ghand))
+
+for(year in (Settings$startyear:Settings$endyear)){
+ cat(paste0("\n------------------------------\nYear:",year,"\n"))
+ load(file=paste0(Settings$HEISRawPath,"Y",year,"Raw.rda"))
+ ft <- FoodTables[Year==year]
+ tab <- ft$Table
+ if(is.na(tab))
+ next
+ UTF <- Tables[[paste0("U",year,tab)]]
+ RTF <- Tables[[paste0("R",year,tab)]]
+ TF <- rbind(UTF,RTF)
+ for(n in names(TF)){
+ x <- which(ft==n)
+ if(length(x)>0)
+ setnames(TF,n,names(ft)[x])
+ }
+
+ pcols <- intersect(names(TF),c("HHID","Code","Kilos","Grams","GhandPrice","GhandExpenditure"))
+ TF <- TF[,pcols,with=FALSE]
+ TF <- TF[Code %in% ft$StartCode:ft$EndCode]
+ if(year %in% 84:97){
+ TF[,GhandExpenditure:=as.numeric(GhandExpenditure)]
+ }
+ for (col in c("Kilos","Grams")) TF[is.na(get(col)), (col) := 0]
+ TF[,Kilos:=as.numeric(Kilos)]
+ TF[,Grams:=as.numeric(Grams)]
+ TF[,GhandPrice:=as.numeric(GhandPrice)]
+ TF[is.na(TF)] <- 0
+ TF[,GhandKG:=Kilos+(Grams*0.001)]
+
+ TF[,Code:=NULL]
+ TF[,Kilos:=NULL]
+ TF[,Grams:=NULL]
+ TF[is.na(TF)] <- 0
+ GhandData <- TF[,lapply(.SD,sum),by=HHID]
+ save(GhandData, file = paste0(Settings$HEISProcessedPath,"Y",year,"Ghands.rda"))
+}
+
+################################################
+################ Shekar ########################
+################################################
+cat("\n\n================ Shekar =====================================\n")
+
+FoodTables <- data.table(read_excel(Settings$MetaDataFilePath,sheet=Settings$MDS_Shekar))
+
+for(year in (Settings$startyear:Settings$endyear)){
+ cat(paste0("\n------------------------------\nYear:",year,"\n"))
+ load(file=paste0(Settings$HEISRawPath,"Y",year,"Raw.rda"))
+ ft <- FoodTables[Year==year]
+ tab <- ft$Table
+ if(is.na(tab))
+ next
+ UTF <- Tables[[paste0("U",year,tab)]]
+ RTF <- Tables[[paste0("R",year,tab)]]
+ TF <- rbind(UTF,RTF)
+ for(n in names(TF)){
+ x <- which(ft==n)
+ if(length(x)>0)
+ setnames(TF,n,names(ft)[x])
+ }
+ pcols <- intersect(names(TF),c("HHID","Code","Kilos","Grams","ShekarPrice","ShekarExpenditure"))
+ TF <- TF[,pcols,with=FALSE]
+ TF <- TF[Code %in% ft$StartCode:ft$EndCode]
+ if(year %in% 84:97){
+ TF[,ShekarExpenditure:=as.numeric(ShekarExpenditure)]
+ }
+ for (col in c("Kilos","Grams")) TF[is.na(get(col)), (col) := 0]
+ TF[,Kilos:=as.numeric(Kilos)]
+ TF[,Grams:=as.numeric(Grams)]
+ TF[,ShekarPrice:=as.numeric(ShekarPrice)]
+ TF[is.na(TF)] <- 0
+ TF[,ShekarKG:=Kilos+(Grams*0.001)]
+
+ TF[,Code:=NULL]
+ TF[,Kilos:=NULL]
+ TF[,Grams:=NULL]
+ TF[is.na(TF)] <- 0
+ ShekarData <- TF[,lapply(.SD,sum),by=HHID]
+ save(ShekarData, file = paste0(Settings$HEISProcessedPath,"Y",year,"Shekars.rda"))
+}
+################################################
+################ Berenj ########################
+################################################
+cat("\n\n================ Berenj =====================================\n")
+
+FoodTables <- data.table(read_excel(Settings$MetaDataFilePath,sheet=Settings$MDS_BerenjF))
+
+for(year in (Settings$startyear:Settings$endyear)){
+ cat(paste0("\n------------------------------\nYear:",year,"\n"))
+ load(file=paste0(Settings$HEISRawPath,"Y",year,"Raw.rda"))
+ ft <- FoodTables[Year==year]
+ tab <- ft$Table
+ if(is.na(tab))
+ next
+ UTF <- Tables[[paste0("U",year,tab)]]
+ RTF <- Tables[[paste0("R",year,tab)]]
+ TF <- rbind(UTF,RTF)
+ for(n in names(TF)){
+ x <- which(ft==n)
+ if(length(x)>0)
+ setnames(TF,n,names(ft)[x])
+ }
+ pcols <- intersect(names(TF),c("HHID","Code","Kilos","Grams","BerenjPrice","BerenjFExpenditure"))
+ TF <- TF[,pcols,with=FALSE]
+ TF <- TF[Code %in% ft$StartCode:ft$EndCode]
+ if(year %in% 84:97){
+ TF[,BerenjFExpenditure:=as.numeric(BerenjFExpenditure)]
+ }
+ for (col in c("Kilos","Grams")) TF[is.na(get(col)), (col) := 0]
+ TF[,Kilos:=as.numeric(Kilos)]
+ TF[,Grams:=as.numeric(Grams)]
+ TF[,BerenjPrice:=as.numeric(BerenjPrice)]
+ TF[is.na(TF)] <- 0
+ TF[,BerenjKG:=Kilos+(Grams*0.001)]
+
+ TF[,Code:=NULL]
+ TF[,Kilos:=NULL]
+ TF[,Grams:=NULL]
+ TF[is.na(TF)] <- 0
+ BerenjData <- TF[,lapply(.SD,sum),by=HHID]
+ save(BerenjData, file = paste0(Settings$HEISProcessedPath,"Y",year,"Berenjs.rda"))
+}
+################################################
+################ Roghan ########################
+################################################
+cat("\n\n================ Roghan =====================================\n")
+
+FoodTables <- data.table(read_excel(Settings$MetaDataFilePath,sheet=Settings$MDS_Roghan))
+
+for(year in (Settings$startyear:Settings$endyear)){
+ cat(paste0("\n------------------------------\nYear:",year,"\n"))
+ load(file=paste0(Settings$HEISRawPath,"Y",year,"Raw.rda"))
+ ft <- FoodTables[Year==year]
+ tab <- ft$Table
+ if(is.na(tab))
+ next
+ UTF <- Tables[[paste0("U",year,tab)]]
+ RTF <- Tables[[paste0("R",year,tab)]]
+ TF <- rbind(UTF,RTF)
+ for(n in names(TF)){
+ x <- which(ft==n)
+ if(length(x)>0)
+ setnames(TF,n,names(ft)[x])
+ }
+ pcols <- intersect(names(TF),c("HHID","Code","Kilos","Grams","RoghanPrice","RoghanExpenditure"))
+ TF <- TF[,pcols,with=FALSE]
+ TF <- TF[Code %in% ft$StartCode:ft$EndCode]
+ if(year %in% 84:97){
+ TF[,RoghanExpenditure:=as.numeric(RoghanExpenditure)]
+ }
+ for (col in c("Kilos","Grams")) TF[is.na(get(col)), (col) := 0]
+ TF[,Kilos:=as.numeric(Kilos)]
+ TF[,Grams:=as.numeric(Grams)]
+ TF[,RoghanPrice:=as.numeric(RoghanPrice)]
+ TF[is.na(TF)] <- 0
+ TF[,RoghanKG:=Kilos+(Grams*0.001)]
+
+ TF[,Code:=NULL]
+ TF[,Kilos:=NULL]
+ TF[,Grams:=NULL]
+ TF[is.na(TF)] <- 0
+ RoghanData <- TF[,lapply(.SD,sum),by=HHID]
+ save(RoghanData, file = paste0(Settings$HEISProcessedPath,"Y",year,"Roghans.rda"))
+}
+################################################
+################ Tokhmemorgh ########################
+################################################
+cat("\n\n================ Tokhmemorgh =====================================\n")
+
+FoodTables <- data.table(read_excel(Settings$MetaDataFilePath,sheet=Settings$MDS_Tokhmemorgh))
+
+for(year in (Settings$startyear:Settings$endyear)){
+ cat(paste0("\n------------------------------\nYear:",year,"\n"))
+ load(file=paste0(Settings$HEISRawPath,"Y",year,"Raw.rda"))
+ ft <- FoodTables[Year==year]
+ tab <- ft$Table
+ if(is.na(tab))
+ next
+ UTF <- Tables[[paste0("U",year,tab)]]
+ RTF <- Tables[[paste0("R",year,tab)]]
+ TF <- rbind(UTF,RTF)
+ for(n in names(TF)){
+ x <- which(ft==n)
+ if(length(x)>0)
+ setnames(TF,n,names(ft)[x])
+ }
+ pcols <- intersect(names(TF),c("HHID","Code","Kilos","Grams","TokhmemorghPrice","TokhmemorghExpenditure"))
+ TF <- TF[,pcols,with=FALSE]
+ TF <- TF[Code %in% ft$StartCode:ft$EndCode | Code==11511]
+ if(year %in% 84:97){
+ TF[,TokhmemorghExpenditure:=as.numeric(TokhmemorghExpenditure)]
+ }
+ for (col in c("Kilos","Grams")) TF[is.na(get(col)), (col) := 0]
+ TF[,Kilos:=as.numeric(Kilos)]
+ TF[,Grams:=as.numeric(Grams)]
+ TF[,TokhmemorghPrice:=as.numeric(TokhmemorghPrice)]
+ TF[is.na(TF)] <- 0
+ TF[,TokhmemorghKG:=Kilos+(Grams*0.001)]
+
+ TF[,Code:=NULL]
+ TF[,Kilos:=NULL]
+ TF[,Grams:=NULL]
+ TF[is.na(TF)] <- 0
+ TokhmemorghData <- TF[,lapply(.SD,sum),by=HHID]
+ save(TokhmemorghData, file = paste0(Settings$HEISProcessedPath,"Y",year,"Tokhmemorghs.rda"))
+}
+
+cat("\n\n================ Merge =====================================\n")
+################################################
+####### Load Additional Information #############
+################################################
+load(file=paste0(Settings$HEISProcessedPath,"Y",year,"HHBase.rda"))
+HHBase<-HHBase[,.(HHID,Region,ProvinceCode,Month)]
+
+load(file=paste0(Settings$HEISProcessedPath,"Y",year,"FinalFoodPoor.rda"))
+SMD<-MD[,.(HHID,Decile,Weight,Size,EqSizeOECD,
+ Total_Exp_Month,Total_Exp_Month_Per,TOriginalFoodExpenditure)]
+#Total_Exp_Month_nondurable,Total_Exp_Month_Per_nondurable)]
+
+################################################
+####### Merge Information #############
+################################################
+
+Total<-merge(HHBase,SMD,all = TRUE)
+Total<-merge(Total,MorghData,all = TRUE)
+Total<-merge(Total,ShekarData,all = TRUE)
+Total<-merge(Total,GhandData,all = TRUE)
+Total<-merge(Total,BerenjData,all = TRUE)
+Total<-merge(Total,RoghanData,all = TRUE)
+Total<-merge(Total,TokhmemorghData,all = TRUE)
+Total<-merge(Total,CowData,all = TRUE)
+Total<-merge(Total,SheepData,all = TRUE)
+Total<-merge(Total,ShirData,all = TRUE)
+Total<-merge(Total,MastData,all = TRUE)
+Total<-merge(Total,PanirData,all = TRUE)
+
+for (col in c("MorghExpenditure","MorghKG",
+ "ShekarExpenditure","ShekarKG",
+ "GhandExpenditure","GhandKG",
+ "BerenjFExpenditure","BerenjKG",
+ "RoghanExpenditure","RoghanKG",
+ "TokhmemorghExpenditure","TokhmemorghKG",
+ "CowExpenditure","CowKG",
+ "ShirExpenditure","ShirKG",
+ "MastExpenditure","MastKG",
+ "PanirExpenditure","PanirKG",
+ "SheepExpenditure","SheepKG")) Total[is.na(get(col)), (col) := 0]
+
+
+Total<-Total[Decile %in% 1:10]
+
+#Price Indexes
+load(file="Index_Dataset97.rda")
+Total<-merge(Total,Index_Dataset97,by=c("Region","Month"),all.x=TRUE)
+
+Berenj_Esfand96<-114.4
+Morgh_Esfand96<-122.1
+Ghand_Esfand96<-108.4
+Shekar_Esfand96<-108.4
+Roghan_Esfand96<-113.7
+Tokhmemorgh_Esfand96<-120.9
+Panir_Esfand96<-120.9
+Shir_Esfand96<-120.9
+Mast_Esfand96<-120.9
+Cow_Esfand96<-122.1
+Sheep_Esfand96<-122.1
+
+Berenj_Esfand97<-145.6
+Morgh_Esfand97<-265.6
+Ghand_Esfand97<-170.3
+Shekar_Esfand97<-170.3
+Roghan_Esfand97<-168
+Tokhmemorgh_Esfand97<-175.3
+Panir_Esfand97<-175.3
+Shir_Esfand97<-175.3
+Mast_Esfand97<-175.3
+Cow_Esfand97<-265.6
+Sheep_Esfand97<-265.6
+
+
+
+############New Prices###########
+Total[,BerenjP0:=BerenjPrice*Berenj_Esfand96/BerenjIndex]
+Total[,MorghP0:=MorghPrice*Morgh_Esfand96/MorghIndex]
+Total[,GhandP0:=GhandPrice*Ghand_Esfand96/GhandIndex]
+Total[,ShekarP0:=ShekarPrice*Ghand_Esfand96/GhandIndex]
+Total[,RoghanP0:=RoghanPrice*Roghan_Esfand96/RoghanIndex]
+Total[,TokhmemorghP0:=TokhmemorghPrice*Tokhmemorgh_Esfand96/EggIndex]
+Total[,SheepP0:=SheepPrice*Sheep_Esfand96/SheepIndex]
+Total[,CowP0:=CowPrice*Cow_Esfand96/CowIndex]
+Total[,ShirP0:=ShirPrice*Shir_Esfand96/ShirIndex]
+Total[,MastP0:=MastPrice*Mast_Esfand96/MastIndex]
+Total[,PanirP0:=PanirPrice*Panir_Esfand96/PanirIndex]
+
+Total[,BerenjP1:=BerenjPrice*Berenj_Esfand97/BerenjIndex]
+Total[,MorghP1:=MorghPrice*Morgh_Esfand97/MorghIndex]
+Total[,GhandP1:=GhandPrice*Ghand_Esfand97/GhandIndex]
+Total[,ShekarP1:=ShekarPrice*Ghand_Esfand97/GhandIndex]
+Total[,RoghanP1:=RoghanPrice*Roghan_Esfand97/RoghanIndex]
+Total[,TokhmemorghP1:=TokhmemorghPrice*Tokhmemorgh_Esfand97/EggIndex]
+Total[,PanirP1:=PanirPrice*Panir_Esfand97/PanirIndex]
+Total[,MastP1:=MastPrice*Mast_Esfand97/MastIndex]
+Total[,ShirP1:=ShirPrice*Shir_Esfand97/ShirIndex]
+Total[,CowP1:=CowPrice*Cow_Esfand97/CowIndex]
+Total[,SheepP1:=SheepPrice*Sheep_Esfand97/SheepIndex]
+
+Total[,BerenjP2:=BerenjP0*2.57]
+Total[,MorghP2:=MorghP0*2.57]
+Total[,GhandP2:=GhandP0*2.57]
+Total[,ShekarP2:=ShekarP0*2.57]
+Total[,RoghanP2:=RoghanP0*2.57]
+Total[,TokhmemorghP2:=TokhmemorghP0*2.57]
+Total[,SheepP2:=SheepP0*2.57]
+Total[,CowP2:=CowP0*2.57]
+Total[,ShirP2:=ShirP0*2.57]
+Total[,MastP2:=MastP0*2.57]
+Total[,PanirP2:=PanirP0*2.57]
+
+################################################
+################ CV and EV #################
+################################################
+
+Total<-Total[,GExpenditures:=BerenjFExpenditure+GhandExpenditure+
+ ShekarExpenditure+MorghExpenditure+
+ RoghanExpenditure+TokhmemorghExpenditure+
+ ShirExpenditure+MastExpenditure+
+ CowExpenditure+PanirExpenditure+
+ SheepExpenditure]
+GExpenditures<-Total[,weighted.mean(GExpenditures,Weight)]
+
+
+Total<-Total[,BerenjShare:=BerenjFExpenditure/GExpenditures]
+Total<-Total[,GhandShare:=GhandExpenditure/GExpenditures]
+Total<-Total[,ShekarShare:=ShekarExpenditure/GExpenditures]
+Total<-Total[,MorghShare:=MorghExpenditure/GExpenditures]
+Total<-Total[,RoghanShare:=RoghanExpenditure/GExpenditures]
+Total<-Total[,TokhmemorghShare:=TokhmemorghExpenditure/GExpenditures]
+Total<-Total[,PanirShare:=PanirExpenditure/GExpenditures]
+Total<-Total[,ShirShare:=ShirExpenditure/GExpenditures]
+Total<-Total[,MastShare:=MastExpenditure/GExpenditures]
+Total<-Total[,CowShare:=CowExpenditure/GExpenditures]
+Total<-Total[,SheepShare:=SheepExpenditure/GExpenditures]
+
+
+Total<-Total[,CV2:=GExpenditures*(1-((GhandP2/GhandP1)^GhandShare)*((ShekarP2/ShekarP1)^ShekarShare)*
+ ((BerenjP2/BerenjP1)^BerenjShare)*((RoghanP2/RoghanP1)^RoghanShare)*
+ ((MorghP2/MorghP1)^MorghShare)*((TokhmemorghP2/TokhmemorghP1)^TokhmemorghShare)*
+ ((SheepP2/SheepP1)^SheepShare)*((CowP2/CowP1)^CowShare)*
+ ((ShirP2/ShirP1)^ShirShare)*((MastP2/MastP1)^MastShare)*
+ ((PanirP2/PanirP1)^PanirShare))]
+
+Total[,weighted.mean(CV2,Weight,na.rm = TRUE)]
+Total[,weighted.mean(CV2,Weight,na.rm = TRUE),by=.(Region)][order(Region)]
+Total[,weighted.mean(CV2,Weight,na.rm = TRUE),by=.(Decile)][order(Decile)]
+Total[,weighted.mean(CV2,Weight,na.rm = TRUE),by=.(Region,Decile)][order(Region,Decile)]
+Total[,weighted.mean(CV2/GExpenditures,Weight,na.rm = TRUE)]
+Total[,weighted.mean(CV2/GExpenditures,Weight,na.rm = TRUE),by=.(Region)][order(Region)]
+Total[,weighted.mean(CV2/GExpenditures,Weight,na.rm = TRUE),by=.(Decile)][order(Decile)]
+
+
+Total<-Total[,CV3:=GExpenditures*(1-((GhandP2/GhandP0)^GhandShare)*((ShekarP2/ShekarP0)^ShekarShare)*
+ ((BerenjP2/BerenjP0)^BerenjShare)*((RoghanP2/RoghanP0)^RoghanShare)*
+ ((MorghP2/MorghP0)^MorghShare)*((TokhmemorghP2/TokhmemorghP0)^TokhmemorghShare)*
+ ((SheepP2/SheepP0)^SheepShare)*((CowP2/CowP0)^CowShare)*
+ ((ShirP2/ShirP0)^ShirShare)*((MastP2/MastP0)^MastShare)*
+ ((PanirP2/PanirP0)^PanirShare))]
+
+Total[,weighted.mean(CV3,Weight,na.rm = TRUE)]
+Total[,weighted.mean(CV3,Weight,na.rm = TRUE),by=.(Region)][order(Region)]
+Total[,weighted.mean(CV3,Weight,na.rm = TRUE),by=.(Decile)][order(Decile)]
+Total[,weighted.mean(CV3,Weight,na.rm = TRUE),by=.(Region,Decile)][order(Region,Decile)]
+Total[,weighted.mean(CV3/GExpenditures,Weight,na.rm = TRUE)]
+Total[,weighted.mean(CV3/GExpenditures,Weight,na.rm = TRUE),by=.(Region)][order(Region)]
+Total[,weighted.mean(CV3/GExpenditures,Weight,na.rm = TRUE),by=.(Decile)][order(Decile)]
+
+
+################################################
+############ Other #############
+################################################
+BerenjShare<-Total[,weighted.mean(BerenjFExpenditure,
+ Weight)/weighted.mean(GExpenditures,Weight)]
+
+GhandShare<-Total[,weighted.mean(GhandExpenditure,
+ Weight)/weighted.mean(GExpenditures,Weight)]
+
+ShekarShare<-Total[,weighted.mean(ShekarExpenditure,
+ Weight)/weighted.mean(GExpenditures,Weight)]
+
+MorghShare<-Total[,weighted.mean(MorghExpenditure,
+ Weight)/weighted.mean(GExpenditures,Weight)]
+
+RoghanShare<-Total[,weighted.mean(RoghanExpenditure,
+ Weight)/weighted.mean(GExpenditures,Weight)]
+
+TokhmemorghShare<-Total[,weighted.mean(TokhmemorghExpenditure,
+ Weight)/weighted.mean(GExpenditures,Weight)]
+
+
+Total[,weighted.mean(Size,Weight)]
+Total[,weighted.mean(Size,Weight),by=.(Decile)][order(Decile)]
+Total[,weighted.mean(Size,Weight),by=.(Region)][order(Region)]
+
+Total[,weighted.mean(BerenjKG,Weight)]
+Total[,weighted.mean(BerenjKG,Weight),by=.(Region)][order(Region)]
+Total[,weighted.mean(BerenjKG,Weight),by=.(Decile)][order(Decile)]
+
+Total[,weighted.mean(RoghanKG,Weight)]
+Total[,weighted.mean(RoghanKG,Weight),by=.(Region)][order(Region)]
+Total[,weighted.mean(RoghanKG,Weight),by=.(Decile)][order(Decile)]
+
+Total[,weighted.mean(MorghKG,Weight)]
+Total[,weighted.mean(MorghKG,Weight),by=.(Region)][order(Region)]
+Total[,weighted.mean(MorghKG,Weight),by=.(Decile)][order(Decile)]
+
+Total[,weighted.mean(GhandKG,Weight)]
+Total[,weighted.mean(GhandKG,Weight),by=.(Region)][order(Region)]
+Total[,weighted.mean(GhandKG,Weight),by=.(Decile)][order(Decile)]
+
+Total[,weighted.mean(ShekarKG,Weight)]
+Total[,weighted.mean(ShekarKG,Weight),by=.(Region)][order(Region)]
+Total[,weighted.mean(ShekarKG,Weight),by=.(Decile)][order(Decile)]
+
+Total[,weighted.mean(CowKG,Weight)]
+Total[,weighted.mean(CowKG,Weight),by=.(Region)][order(Region)]
+Total[,weighted.mean(CowKG,Weight),by=.(Decile)][order(Decile)]
+
+Total[,weighted.mean(SheepKG,Weight)]
+Total[,weighted.mean(SheepKG,Weight),by=.(Region)][order(Region)]
+Total[,weighted.mean(SheepKG,Weight),by=.(Decile)][order(Decile)]
+
+Total[,weighted.mean(TokhmemorghKG,Weight)]
+Total[,weighted.mean(TokhmemorghKG,Weight),by=.(Region)][order(Region)]
+Total[,weighted.mean(TokhmemorghKG,Weight),by=.(Decile)][order(Decile)]
+
+
+endtime <- proc.time()
+cat("\n\n============================\nIt took ")
+cat(endtime-starttime)
diff --git a/R/Archive/November 2019/91-Calculation of EV and CV.R b/R/Archive/November 2019/91-Calculation of EV and CV.R
new file mode 100644
index 00000000..f148d534
--- /dev/null
+++ b/R/Archive/November 2019/91-Calculation of EV and CV.R
@@ -0,0 +1,516 @@
+# Calculation of EV and CV
+#
+#
+# Copyright © 2017: Arin Shahbazian
+# Licence: GPL-3
+
+rm(list=ls())
+
+starttime <- proc.time()
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+library(data.table)
+library(stringr)
+library(readxl)
+options(warn=-1)
+################################################
+################ Morgh ########################
+################################################
+cat("\n\n================ Morgh =====================================\n")
+
+FoodTables <- data.table(read_excel(Settings$MetaDataFilePath,sheet=Settings$MDS_Morgh))
+
+for(year in (Settings$startyear:Settings$endyear)){
+ cat(paste0("\n------------------------------\nYear:",year,"\n"))
+ load(file=paste0(Settings$HEISRawPath,"Y",year,"Raw.rda"))
+ ft <- FoodTables[Year==year]
+ tab <- ft$Table
+ if(is.na(tab))
+ next
+ UTF <- Tables[[paste0("U",year,tab)]]
+ RTF <- Tables[[paste0("R",year,tab)]]
+ TF <- rbind(UTF,RTF)
+ for(n in names(TF)){
+ x <- which(ft==n)
+ if(length(x)>0)
+ setnames(TF,n,names(ft)[x])
+ }
+ pcols <- intersect(names(TF),c("HHID","Code","Kilos","Grams","MorghPrice","MorghExpenditure"))
+ TF <- TF[,pcols,with=FALSE]
+ TF <- TF[Code %in% ft$StartCode:ft$EndCode]
+ if(year %in% 84:96){
+ TF[,MorghExpenditure:=as.numeric(MorghExpenditure)]
+ }
+ for (col in c("Kilos","Grams")) TF[is.na(get(col)), (col) := 0]
+ TF[,Kilos:=as.numeric(Kilos)]
+ TF[,Grams:=as.numeric(Grams)]
+ TF[is.na(TF)] <- 0
+ TF[,MorghKG:=Kilos+(Grams*0.001)]
+
+ TF[,Code:=NULL]
+ TF[,Kilos:=NULL]
+ TF[,Grams:=NULL]
+ TF[is.na(TF)] <- 0
+ MorghData <- TF[,lapply(.SD,sum),by=HHID]
+ save(MorghData, file = paste0(Settings$HEISProcessedPath,"Y",year,"Morghs.rda"))
+}
+
+################################################
+################ Cow ########################
+################################################
+cat("\n\n================ Cow =====================================\n")
+
+FoodTables <- data.table(read_excel(Settings$MetaDataFilePath,sheet=Settings$MDS_Cow))
+
+for(year in (Settings$startyear:Settings$endyear)){
+ cat(paste0("\n------------------------------\nYear:",year,"\n"))
+ load(file=paste0(Settings$HEISRawPath,"Y",year,"Raw.rda"))
+ ft <- FoodTables[Year==year]
+ tab <- ft$Table
+ if(is.na(tab))
+ next
+ UTF <- Tables[[paste0("U",year,tab)]]
+ RTF <- Tables[[paste0("R",year,tab)]]
+ TF <- rbind(UTF,RTF)
+ for(n in names(TF)){
+ x <- which(ft==n)
+ if(length(x)>0)
+ setnames(TF,n,names(ft)[x])
+ }
+
+ pcols <- intersect(names(TF),c("HHID","Code","Kilos","Grams","CowPrice","CowExpenditure"))
+ TF <- TF[,pcols,with=FALSE]
+ TF <- TF[Code %in% ft$StartCode:ft$EndCode]
+ if(year %in% 84:96){
+ TF[,CowExpenditure:=as.numeric(CowExpenditure)]
+ }
+ for (col in c("Kilos","Grams")) TF[is.na(get(col)), (col) := 0]
+ TF[,Kilos:=as.numeric(Kilos)]
+ TF[,Grams:=as.numeric(Grams)]
+ TF[is.na(TF)] <- 0
+ TF[,CowKG:=Kilos+(Grams*0.001)]
+
+ TF[,Code:=NULL]
+ TF[,Kilos:=NULL]
+ TF[,Grams:=NULL]
+ TF[is.na(TF)] <- 0
+ CowData <- TF[,lapply(.SD,sum),by=HHID]
+ save(CowData, file = paste0(Settings$HEISProcessedPath,"Y",year,"Cows.rda"))
+}
+
+################################################
+################ Sheep ########################
+################################################
+cat("\n\n================ Sheep =====================================\n")
+
+FoodTables <- data.table(read_excel(Settings$MetaDataFilePath,sheet=Settings$MDS_Sheep))
+
+for(year in (Settings$startyear:Settings$endyear)){
+ cat(paste0("\n------------------------------\nYear:",year,"\n"))
+ load(file=paste0(Settings$HEISRawPath,"Y",year,"Raw.rda"))
+ ft <- FoodTables[Year==year]
+ tab <- ft$Table
+ if(is.na(tab))
+ next
+ UTF <- Tables[[paste0("U",year,tab)]]
+ RTF <- Tables[[paste0("R",year,tab)]]
+ TF <- rbind(UTF,RTF)
+ for(n in names(TF)){
+ x <- which(ft==n)
+ if(length(x)>0)
+ setnames(TF,n,names(ft)[x])
+ }
+ pcols <- intersect(names(TF),c("HHID","Code","Kilos","Grams","SheepPrice","SheepExpenditure"))
+ TF <- TF[,pcols,with=FALSE]
+ TF <- TF[Code %in% ft$StartCode:ft$EndCode]
+ if(year %in% 84:96){
+ TF[,SheepExpenditure:=as.numeric(SheepExpenditure)]
+ }
+ for (col in c("Kilos","Grams")) TF[is.na(get(col)), (col) := 0]
+ TF[,Kilos:=as.numeric(Kilos)]
+ TF[,Grams:=as.numeric(Grams)]
+ TF[is.na(TF)] <- 0
+ TF[,SheepKG:=Kilos+(Grams*0.001)]
+
+ TF[,Code:=NULL]
+ TF[,Kilos:=NULL]
+ TF[,Grams:=NULL]
+ TF[is.na(TF)] <- 0
+ SheepData <- TF[,lapply(.SD,sum),by=HHID]
+ save(SheepData, file = paste0(Settings$HEISProcessedPath,"Y",year,"Sheeps.rda"))
+}
+################################################
+################ Berenj ########################
+################################################
+cat("\n\n================ Berenj =====================================\n")
+
+FoodTables <- data.table(read_excel(Settings$MetaDataFilePath,sheet=Settings$MDS_BerenjF))
+
+for(year in (Settings$startyear:Settings$endyear)){
+ cat(paste0("\n------------------------------\nYear:",year,"\n"))
+ load(file=paste0(Settings$HEISRawPath,"Y",year,"Raw.rda"))
+ ft <- FoodTables[Year==year]
+ tab <- ft$Table
+ if(is.na(tab))
+ next
+ UTF <- Tables[[paste0("U",year,tab)]]
+ RTF <- Tables[[paste0("R",year,tab)]]
+ TF <- rbind(UTF,RTF)
+ for(n in names(TF)){
+ x <- which(ft==n)
+ if(length(x)>0)
+ setnames(TF,n,names(ft)[x])
+ }
+ pcols <- intersect(names(TF),c("HHID","Code","Kilos","Grams","BerenjPrice","BerenjFExpenditure"))
+ TF <- TF[,pcols,with=FALSE]
+ TF <- TF[Code %in% ft$StartCode:ft$EndCode]
+ if(year %in% 84:96){
+ TF[,BerenjFExpenditure:=as.numeric(BerenjFExpenditure)]
+ }
+ for (col in c("Kilos","Grams")) TF[is.na(get(col)), (col) := 0]
+ TF[,Kilos:=as.numeric(Kilos)]
+ TF[,Grams:=as.numeric(Grams)]
+ TF[is.na(TF)] <- 0
+ TF[,BerenjKG:=Kilos+(Grams*0.001)]
+
+ TF[,Code:=NULL]
+ TF[,Kilos:=NULL]
+ TF[,Grams:=NULL]
+ TF[is.na(TF)] <- 0
+ BerenjData <- TF[,lapply(.SD,sum),by=HHID]
+ save(BerenjData, file = paste0(Settings$HEISProcessedPath,"Y",year,"Berenjs.rda"))
+}
+################################################
+################ Roghan ########################
+################################################
+cat("\n\n================ Roghan =====================================\n")
+
+FoodTables <- data.table(read_excel(Settings$MetaDataFilePath,sheet=Settings$MDS_Roghan))
+
+for(year in (Settings$startyear:Settings$endyear)){
+ cat(paste0("\n------------------------------\nYear:",year,"\n"))
+ load(file=paste0(Settings$HEISRawPath,"Y",year,"Raw.rda"))
+ ft <- FoodTables[Year==year]
+ tab <- ft$Table
+ if(is.na(tab))
+ next
+ UTF <- Tables[[paste0("U",year,tab)]]
+ RTF <- Tables[[paste0("R",year,tab)]]
+ TF <- rbind(UTF,RTF)
+ for(n in names(TF)){
+ x <- which(ft==n)
+ if(length(x)>0)
+ setnames(TF,n,names(ft)[x])
+ }
+ pcols <- intersect(names(TF),c("HHID","Code","Kilos","Grams","RoghanPrice","RoghanExpenditure"))
+ TF <- TF[,pcols,with=FALSE]
+ TF <- TF[Code %in% ft$StartCode:ft$EndCode]
+ if(year %in% 84:96){
+ TF[,RoghanExpenditure:=as.numeric(RoghanExpenditure)]
+ }
+ for (col in c("Kilos","Grams")) TF[is.na(get(col)), (col) := 0]
+ TF[,Kilos:=as.numeric(Kilos)]
+ TF[,Grams:=as.numeric(Grams)]
+ TF[is.na(TF)] <- 0
+ TF[,RoghanKG:=Kilos+(Grams*0.001)]
+
+ TF[,Code:=NULL]
+ TF[,Kilos:=NULL]
+ TF[,Grams:=NULL]
+ TF[is.na(TF)] <- 0
+ RoghanData <- TF[,lapply(.SD,sum),by=HHID]
+ save(RoghanData, file = paste0(Settings$HEISProcessedPath,"Y",year,"Roghans.rda"))
+}
+################################################
+################ Tokhmemorgh ########################
+################################################
+cat("\n\n================ Tokhmemorgh =====================================\n")
+
+FoodTables <- data.table(read_excel(Settings$MetaDataFilePath,sheet=Settings$MDS_Tokhmemorgh))
+
+for(year in (Settings$startyear:Settings$endyear)){
+ cat(paste0("\n------------------------------\nYear:",year,"\n"))
+ load(file=paste0(Settings$HEISRawPath,"Y",year,"Raw.rda"))
+ ft <- FoodTables[Year==year]
+ tab <- ft$Table
+ if(is.na(tab))
+ next
+ UTF <- Tables[[paste0("U",year,tab)]]
+ RTF <- Tables[[paste0("R",year,tab)]]
+ TF <- rbind(UTF,RTF)
+ for(n in names(TF)){
+ x <- which(ft==n)
+ if(length(x)>0)
+ setnames(TF,n,names(ft)[x])
+ }
+ pcols <- intersect(names(TF),c("HHID","Code","Kilos","Grams","TokhmemorghPrice","TokhmemorghExpenditure"))
+ TF <- TF[,pcols,with=FALSE]
+ TF <- TF[Code %in% ft$StartCode:ft$EndCode | Code==11511]
+ if(year %in% 84:96){
+ TF[,TokhmemorghExpenditure:=as.numeric(TokhmemorghExpenditure)]
+ }
+ for (col in c("Kilos","Grams")) TF[is.na(get(col)), (col) := 0]
+ TF[,Kilos:=as.numeric(Kilos)]
+ TF[,Grams:=as.numeric(Grams)]
+ TF[is.na(TF)] <- 0
+ TF[,TokhmemorghKG:=Kilos+(Grams*0.001)]
+
+ TF[,Code:=NULL]
+ TF[,Kilos:=NULL]
+ TF[,Grams:=NULL]
+ TF[is.na(TF)] <- 0
+ TokhmemorghData <- TF[,lapply(.SD,sum),by=HHID]
+ save(TokhmemorghData, file = paste0(Settings$HEISProcessedPath,"Y",year,"Tokhmemorghs.rda"))
+}
+
+################################################
+####### Load Additional Information #############
+################################################
+load(file=paste0(Settings$HEISProcessedPath,"Y",year,"HHBase.rda"))
+HHBase<-HHBase[,.(HHID,Region,ProvinceCode,Month)]
+
+load(file=paste0(Settings$HEISProcessedPath,"Y",year,"FinalFoodPoor.rda"))
+SMD<-MD[,.(HHID,Decile,Weight,Size,EqSizeOECD,
+ Total_Exp_Month,Total_Exp_Month_Per,TOriginalFoodExpenditure)]
+ #Total_Exp_Month_nondurable,Total_Exp_Month_Per_nondurable)]
+
+################################################
+####### Merge Information #############
+################################################
+
+Total<-merge(HHBase,SMD,all = TRUE)
+Total<-merge(Total,MorghData,all = TRUE)
+Total<-merge(Total,SheepData,all = TRUE)
+Total<-merge(Total,CowData,all = TRUE)
+Total<-merge(Total,BerenjData,all = TRUE)
+Total<-merge(Total,RoghanData,all = TRUE)
+Total<-merge(Total,TokhmemorghData,all = TRUE)
+
+for (col in c("MorghExpenditure","MorghKG",
+ "SheepExpenditure","SheepKG",
+ "CowExpenditure","CowKG",
+ "BerenjFExpenditure","BerenjKG",
+ "RoghanExpenditure","RoghanKG",
+ "TokhmemorghExpenditure","TokhmemorghKG")) Total[is.na(get(col)), (col) := 0]
+#"MorghPrice","SheepPrice","CowPrice",
+#"BerenjPrice","RoghanPrice","TokhmemorghPrice"
+
+Total<-Total[Decile %in% 1:10]
+
+#Price Indexes
+load(file="Index_Dataset.rda")
+Total<-merge(Total,Index_Dataset,by=c("Month"),all.x=TRUE)
+
+Berenj_Azar97<-185.5
+Morgh_Azar97<-151.3
+Cow_Azar97<-188.5
+Sheep_Azar97<-182.1
+Roghan_Azar97<-159.9
+Tokhmemorgh_Azar97<-218.5
+
+Berenj_Elastisity<- -0.77
+Morgh_Elastisity<- -0.89
+Cow_Elastisity<- -0.89
+Sheep_Elastisity<- -0.89
+Roghan_Elastisity<- -0.81
+Tokhmemorgh_Elastisity<- -0.81
+
+############New Prices###########
+#Initial Prices
+#Total[,BerenjP1:=BerenjPrice*Berenj_Azar97/Bt]
+#Total[,MorghP1:=MorghPrice*Morgh_Azar97/Mt]
+#Total[,CowP1:=CowPrice*Cow_Azar97/Ct]
+#Total[,SheepP1:=SheepPrice*Sheep_Azar97/St]
+#Total[,RoghanP1:=RoghanPrice*Roghan_Azar97/Rt]
+#Total[,TokhmemorghP1:=TokhmemorghPrice*Tokhmemorgh_Azar97/Tt]
+
+Total[,BerenjP1:=BerenjPrice]
+Total[,MorghP1:=MorghPrice]
+Total[,CowP1:=CowPrice]
+Total[,SheepP1:=SheepPrice]
+Total[,RoghanP1:=RoghanPrice]
+Total[,TokhmemorghP1:=TokhmemorghPrice]
+
+#Second Prices
+Total[,BerenjP2:=BerenjPrice*2]
+Total[,MorghP2:=MorghPrice*2]
+Total[,CowP2:=CowPrice*2]
+Total[,SheepP2:=SheepPrice*2]
+Total[,RoghanP2:=RoghanPrice*2]
+Total[,TokhmemorghP2:=TokhmemorghPrice*2]
+
+Total[,BerenjP3:=BerenjPrice*3]
+Total[,MorghP3:=MorghPrice*3]
+Total[,CowP3:=CowPrice*3]
+Total[,SheepP3:=SheepPrice*3]
+Total[,RoghanP3:=RoghanPrice*3]
+Total[,TokhmemorghP3:=TokhmemorghPrice*3]
+
+################################################
+############ CV and EV #############
+################################################
+
+Total<-Total[,GExpenditures:=BerenjFExpenditure+CowExpenditure+
+ SheepExpenditure+MorghExpenditure+
+ RoghanExpenditure+TokhmemorghExpenditure]
+GExpenditures<-Total[,weighted.mean(GExpenditures,Weight)]
+
+
+Total<-Total[,BerenjShare:=BerenjFExpenditure/GExpenditures]
+Total<-Total[,CowShare:=CowExpenditure/GExpenditures]
+Total<-Total[,SheepShare:=SheepExpenditure/GExpenditures]
+Total<-Total[,MorghShare:=MorghExpenditure/GExpenditures]
+Total<-Total[,RoghanShare:=RoghanExpenditure/GExpenditures]
+Total<-Total[,TokhmemorghShare:=TokhmemorghExpenditure/GExpenditures]
+
+Total<-Total[,EV2:=GExpenditures*(((CowP1/CowP2)^CowShare)*((SheepP1/SheepP2)^SheepShare)*
+ ((BerenjP1/BerenjP2)^BerenjShare)*((RoghanP1/RoghanP2)^RoghanShare)*
+ ((MorghP1/MorghP2)^MorghShare)*((TokhmemorghP1/TokhmemorghP2)^TokhmemorghShare)-1)]
+Total[,weighted.mean(EV2,Weight,na.rm = TRUE)]
+Total[,weighted.mean(EV2,Weight,na.rm = TRUE),by=.(Region)][order(Region)]
+Total[,weighted.mean(EV2,Weight,na.rm = TRUE),by=.(Decile)][order(Decile)]
+Total[,weighted.mean(EV2,Weight,na.rm = TRUE),by=.(Region,Decile)][order(Region,Decile)]
+Total[,weighted.mean(EV2/TOriginalFoodExpenditure,Weight,na.rm = TRUE)]
+Total[,weighted.mean(EV2/TOriginalFoodExpenditure,Weight,na.rm = TRUE),by=.(Region)][order(Region)]
+Total[,weighted.mean(EV2/TOriginalFoodExpenditure,Weight,na.rm = TRUE),by=.(Decile)][order(Decile)]
+
+Total<-Total[,CV2:=GExpenditures*(1-((CowP2/CowP1)^CowShare)*((SheepP2/SheepP1)^SheepShare)*
+ ((BerenjP2/BerenjP1)^BerenjShare)*((RoghanP2/RoghanP1)^RoghanShare)*
+ ((MorghP2/MorghP1)^MorghShare)*((TokhmemorghP2/TokhmemorghP1)^TokhmemorghShare))]
+Total[,weighted.mean(CV2,Weight,na.rm = TRUE)]
+Total[,weighted.mean(CV2,Weight,na.rm = TRUE),by=.(Region)][order(Region)]
+Total[,weighted.mean(CV2,Weight,na.rm = TRUE),by=.(Decile)][order(Decile)]
+Total[,weighted.mean(CV2,Weight,na.rm = TRUE),by=.(Region,Decile)][order(Region,Decile)]
+Total[,weighted.mean(CV2/GExpenditures,Weight,na.rm = TRUE)]
+Total[,weighted.mean(CV2/GExpenditures,Weight,na.rm = TRUE),by=.(Region)][order(Region)]
+Total[,weighted.mean(CV2/GExpenditures,Weight,na.rm = TRUE),by=.(Decile)][order(Decile)]
+
+Total<-Total[,EV3:=GExpenditures*(((CowP1/CowP3)^CowShare)*((SheepP1/SheepP3)^SheepShare)*
+ ((BerenjP1/BerenjP3)^BerenjShare)*((RoghanP1/RoghanP3)^RoghanShare)*
+ ((MorghP1/MorghP3)^MorghShare)*((TokhmemorghP1/TokhmemorghP3)^TokhmemorghShare)-1)]
+Total[,weighted.mean(EV3,Weight,na.rm = TRUE)]
+Total[,weighted.mean(EV3,Weight,na.rm = TRUE),by=.(Region)][order(Region)]
+Total[,weighted.mean(EV3,Weight,na.rm = TRUE),by=.(Decile)][order(Decile)]
+Total[,weighted.mean(EV3,Weight,na.rm = TRUE),by=.(Region,Decile)][order(Region,Decile)]
+Total[,weighted.mean(EV3/GExpenditures,Weight,na.rm = TRUE)]
+Total[,weighted.mean(EV3/GExpenditures,Weight,na.rm = TRUE),by=.(Region)][order(Region)]
+Total[,weighted.mean(EV3/GExpenditures,Weight,na.rm = TRUE),by=.(Decile)][order(Decile)]
+
+Total<-Total[,CV3:=GExpenditures*(1-((CowP3/CowP1)^CowShare)*((SheepP3/SheepP1)^SheepShare)*
+ ((BerenjP3/BerenjP1)^BerenjShare)*((RoghanP3/RoghanP1)^RoghanShare)*
+ ((MorghP3/MorghP1)^MorghShare)*((TokhmemorghP3/TokhmemorghP1)^TokhmemorghShare))]
+Total[,weighted.mean(CV3,Weight,na.rm = TRUE)]
+Total[,weighted.mean(CV3,Weight,na.rm = TRUE),by=.(Region)][order(Region)]
+Total[,weighted.mean(CV3,Weight,na.rm = TRUE),by=.(Decile)][order(Decile)]
+Total[,weighted.mean(CV3,Weight,na.rm = TRUE),by=.(Region,Decile)][order(Region,Decile)]
+Total[,weighted.mean(CV3/GExpenditures,Weight,na.rm = TRUE)]
+Total[,weighted.mean(CV3/GExpenditures,Weight,na.rm = TRUE),by=.(Region)][order(Region)]
+Total[,weighted.mean(CV3/GExpenditures,Weight,na.rm = TRUE),by=.(Decile)][order(Decile)]
+
+
+################################################
+############ Other #############
+################################################
+BerenjShare<-Total[,weighted.mean(BerenjFExpenditure,
+ Weight)/weighted.mean(GExpenditures,Weight)]
+
+CowShare<-Total[,weighted.mean(CowExpenditure,
+ Weight)/weighted.mean(GExpenditures,Weight)]
+
+SheepShare<-Total[,weighted.mean(SheepExpenditure,
+ Weight)/weighted.mean(GExpenditures,Weight)]
+
+MorghShare<-Total[,weighted.mean(MorghExpenditure,
+ Weight)/weighted.mean(GExpenditures,Weight)]
+
+RoghanShare<-Total[,weighted.mean(RoghanExpenditure,
+ Weight)/weighted.mean(GExpenditures,Weight)]
+
+TokhmemorghShare<-Total[,weighted.mean(TokhmemorghExpenditure,
+ Weight)/weighted.mean(GExpenditures,Weight)]
+
+
+BerenjAP1<-Total[,weighted.mean(BerenjP1,Weight,na.rm = TRUE)]
+BerenjAP2<-Total[,weighted.mean(BerenjP2,Weight,na.rm = TRUE)]
+BerenjAP3<-Total[,weighted.mean(BerenjP3,Weight,na.rm = TRUE)]
+BerenjAQ<-Total[,weighted.mean(BerenjKG,Weight)]
+
+CowAP1<-Total[,weighted.mean(CowP1,Weight,na.rm = TRUE)]
+CowAP2<-Total[,weighted.mean(CowP2,Weight,na.rm = TRUE)]
+CowAP3<-Total[,weighted.mean(CowP3,Weight,na.rm = TRUE)]
+CowAQ<-Total[,weighted.mean(CowKG,Weight)]
+
+
+SheepAP1<-Total[,weighted.mean(SheepP1,Weight,na.rm = TRUE)]
+SheepAP2<-Total[,weighted.mean(SheepP2,Weight,na.rm = TRUE)]
+SheepAP3<-Total[,weighted.mean(SheepP3,Weight,na.rm = TRUE)]
+SheepAQ<-Total[,weighted.mean(SheepKG,Weight)]
+
+MorghAP1<-Total[,weighted.mean(MorghP1,Weight,na.rm = TRUE)]
+MorghAP2<-Total[,weighted.mean(MorghP2,Weight,na.rm = TRUE)]
+MorghAP3<-Total[,weighted.mean(MorghP3,Weight,na.rm = TRUE)]
+MorghAQ<-Total[,weighted.mean(MorghKG,Weight)]
+
+RoghanAP1<-Total[,weighted.mean(RoghanP1,Weight,na.rm = TRUE)]
+RoghanAP2<-Total[,weighted.mean(RoghanP2,Weight,na.rm = TRUE)]
+RoghanAP3<-Total[,weighted.mean(RoghanP3,Weight,na.rm = TRUE)]
+RoghanAQ<-Total[,weighted.mean(RoghanKG,Weight)]
+
+TokhmemorghAP1<-Total[,weighted.mean(TokhmemorghP1,Weight,na.rm = TRUE)]
+TokhmemorghAP2<-Total[,weighted.mean(TokhmemorghP2,Weight,na.rm = TRUE)]
+TokhmemorghAP3<-Total[,weighted.mean(TokhmemorghP3,Weight,na.rm = TRUE)]
+TokhmemorghAQ<-Total[,weighted.mean(TokhmemorghKG,Weight)]
+
+
+
+EV2<-GExpenditures*(((CowAP1/CowAP2)^CowShare)*((SheepAP1/SheepAP2)^SheepShare)*
+ ((BerenjAP1/BerenjAP2)^BerenjShare)*((RoghanAP1/RoghanAP2)^RoghanShare)*
+ ((MorghAP1/MorghAP2)^MorghShare)*((TokhmemorghAP1/TokhmemorghAP2)^TokhmemorghShare)-1)
+
+CV2<-GExpenditures*(1-((CowAP2/CowAP1)^CowShare)*((SheepAP2/SheepAP1)^SheepShare)*
+ ((BerenjAP2/BerenjAP1)^BerenjShare)*((RoghanAP2/RoghanAP1)^RoghanShare)*
+ ((MorghAP2/MorghAP1)^MorghShare)*((TokhmemorghAP2/TokhmemorghAP1)^TokhmemorghShare)-1)
+
+EV3<-GExpenditures*(((CowAP1/CowAP3)^CowShare)*((SheepAP1/SheepAP3)^SheepShare)*
+ ((BerenjAP1/BerenjAP3)^BerenjShare)*((RoghanAP1/RoghanAP3)^RoghanShare)*
+ ((MorghAP1/MorghAP3)^MorghShare)*((TokhmemorghAP1/TokhmemorghAP3)^TokhmemorghShare)-1)
+
+CV3<-GExpenditures*(1-((CowAP3/CowAP1)^CowShare)*((SheepAP3/SheepAP1)^SheepShare)*
+ ((BerenjAP3/BerenjAP1)^BerenjShare)*((RoghanAP3/RoghanAP1)^RoghanShare)*
+ ((MorghAP3/MorghAP1)^MorghShare)*((TokhmemorghAP3/TokhmemorghAP1)^TokhmemorghShare)-1)
+
+
+Total[,weighted.mean(Size,Weight)]
+Total[,weighted.mean(Size,Weight),by=.(Decile)][order(Decile)]
+Total[,weighted.mean(Size,Weight),by=.(Region)][order(Region)]
+
+Total[,weighted.mean(BerenjKG,Weight)]
+Total[,weighted.mean(BerenjKG,Weight),by=.(Region)][order(Region)]
+Total[,weighted.mean(BerenjKG,Weight),by=.(Decile)][order(Decile)]
+
+Total[,weighted.mean(RoghanKG,Weight)]
+Total[,weighted.mean(RoghanKG,Weight),by=.(Region)][order(Region)]
+Total[,weighted.mean(RoghanKG,Weight),by=.(Decile)][order(Decile)]
+
+Total[,weighted.mean(MorghKG,Weight)]
+Total[,weighted.mean(MorghKG,Weight),by=.(Region)][order(Region)]
+Total[,weighted.mean(MorghKG,Weight),by=.(Decile)][order(Decile)]
+
+Total[,weighted.mean(CowKG,Weight)]
+Total[,weighted.mean(CowKG,Weight),by=.(Region)][order(Region)]
+Total[,weighted.mean(CowKG,Weight),by=.(Decile)][order(Decile)]
+
+Total[,weighted.mean(SheepKG,Weight)]
+Total[,weighted.mean(SheepKG,Weight),by=.(Region)][order(Region)]
+Total[,weighted.mean(SheepKG,Weight),by=.(Decile)][order(Decile)]
+
+Total[,weighted.mean(TokhmemorghKG,Weight)]
+Total[,weighted.mean(TokhmemorghKG,Weight),by=.(Region)][order(Region)]
+Total[,weighted.mean(TokhmemorghKG,Weight),by=.(Decile)][order(Decile)]
+
+#x<-Total[,.(Total_Exp_Month_Per_nondurable,Decile)]
+
+endtime <- proc.time()
+cat("\n\n============================\nIt took ")
+cat(endtime-starttime)
diff --git a/R/Archive/November 2019/92-Engle Calculations for Provinces.R b/R/Archive/November 2019/92-Engle Calculations for Provinces.R
new file mode 100644
index 00000000..25892e57
--- /dev/null
+++ b/R/Archive/November 2019/92-Engle Calculations for Provinces.R
@@ -0,0 +1,89 @@
+# Engle Calculations for Provinces.R
+#
+# Copyright B) 2018:Majid Einian & Arin Shahbazian
+# Licence: GPL-3
+
+rm(list=ls())
+
+starttime <- proc.time()
+cat("\n\n================ Prepare Data =====================================\n")
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+library(sm)
+library(readxl)
+library(data.table)
+library(ggplot2)
+
+#par(mar=c(5,4,4,3))
+year<-95
+#for(year in (Settings$startyear:Settings$endyear)){
+ cat(paste0("\nYear:",year,"\t"))
+
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"FinalFoodPoor.rda"))
+ MD<-MD[,Engel:=TFoodExpenditure/Total_Exp_Month]
+
+ #MDUrban<-MD[Region=="Urban" & cluster==3]
+#MDUrban<-MD[Region=="Urban" & cluster==2 & (NewArea==1 | NewArea==2 | NewArea==303 | NewArea==502 )]
+#MDUrban<-MD[Region=="Urban" & cluster==2 & (NewArea==3001 | NewArea==23 | NewArea==30 | NewArea==25 | NewArea==26)]
+#MDUrban<-MD[Region=="Urban" & cluster==2 & (NewArea==603 | NewArea==707 | NewArea==916 | NewArea==1002 | NewArea==2202)]
+
+#MDUrban<-MD[Region=="Urban" & cluster==3 & (NewArea==603 | NewArea==707 | NewArea==916 | NewArea==1002 | NewArea==2202)]
+ #MDUrban[,weighted.mean(Engel,Weight),by=NewArea][order(V1)]
+
+ MDRural<-MD[Region=="Rural" & cluster==3]
+ #MDRural<-MD[Region=="Rural" & cluster==2 & (NewArea==1 | NewArea==2 | NewArea==303 | NewArea==502 )]
+ #MDRural<-MD[Region=="Rural" & cluster==1 & (NewArea==11 | NewArea==9 | NewArea==17 | NewArea==12 | NewArea==24 | NewArea==16)]
+ #MDRural<-MD[Region=="Rural" & cluster==1 & (NewArea==3 | NewArea==20 | NewArea==19 | NewArea==7 | NewArea==0)]
+
+ #MDRural<-MD[Region=="Rural" & cluster==3 & (NewArea==10 | NewArea==2 | NewArea==27 | NewArea==21 | NewArea==1)]
+ MDRural<-MD[Region=="Rural" & cluster==3 & (NewArea==5 | NewArea==26 | NewArea==18 | NewArea==25)]
+
+
+ #MDRural<-MD[Region=="Rural" & cluster==3 & (NewArea==603 | NewArea==707 | NewArea==916 | NewArea==1002 | NewArea==2202)]
+ MDRural[,weighted.mean(Engel,Weight),by=NewArea][order(V1)]
+
+
+ #8th and 9th Deciles
+ # EnglePR <- MDRural[Decile %in% 8:9,
+ # .(.N,Engel=weighted.mean(TFoodExpenditure/Total_Exp_Month,Weight),
+ # FPLine=mean(FPLine),cluster),by=.(Region,NewArea)]
+
+ # EnglePU <- MDUrban[Decile %in% 8:9,
+ # .(.N,Engel=weighted.mean(TFoodExpenditure/Total_Exp_Month,Weight),
+ # FPLine=mean(FPLine),cluster),by=.(Region,NewArea)]
+
+ #First and Second Deciles
+ #EnglePR <- MDRural[Decile %in% 1:2,
+ # .(.N,Engel=weighted.mean(TFoodExpenditure/Total_Exp_Month,Weight),
+ # FPLine=mean(FPLine),cluster)]
+
+ # EnglePU <- MDUrban[Decile %in% 1:2,
+ # .(.N,Engel=weighted.mean(TFoodExpenditure/Total_Exp_Month,Weight),
+ # FPLine=mean(FPLine),cluster)]
+
+
+ #people's who are near FPLine
+ # EnglePR <- MDRural[TFoodExpenditure_Per<1.1*FPLine & TFoodExpenditure_Per>0.9*FPLine,
+ # .(.N,Engel=weighted.mean(TFoodExpenditure/Total_Exp_Month,Weight),
+ # FPLine=mean(FPLine),cluster),by=.(Region,NewArea)]
+
+ # EnglePU <- MDUrban[TFoodExpenditure_Per<1.1*FPLine & TFoodExpenditure_Per>0.9*FPLine,
+ # .(.N,Engel=weighted.mean(TFoodExpenditure/Total_Exp_Month,Weight),
+ # FPLine=mean(FPLine),cluster),by=.(Region,NewArea)]
+#}
+#geom_density(data = MD$Engel,show.legend = TRUE,
+#inherit.aes = TRUE,inherit.aes = TRUE)
+
+#sm.density.compare(MDUrban$Engel,group = MDUrban$NewArea)
+#sm.density.compare(MDUrban$Engel,group = MDUrban$NewArea==9)
+#sm.density.compare(MDRural$Engel,group = MDRural$NewArea)
+#legend("topleft",legend = c("aaa","ss","dd","ff","gg"))
+
+
+
+
+ endtime <- proc.time()
+ cat("\n\n============================\nIt took ")
+ cat((endtime-starttime)["elapsed"])
+ cat(" seconds")
\ No newline at end of file
diff --git a/R/Archive/November 2019/93-T-Test in Clusters.R b/R/Archive/November 2019/93-T-Test in Clusters.R
new file mode 100644
index 00000000..0efe8dee
--- /dev/null
+++ b/R/Archive/November 2019/93-T-Test in Clusters.R
@@ -0,0 +1,76 @@
+# T-Test in Clusters.R
+#
+# Copyright © 2019: Arin Shahbazian
+# Licence: GPL-3
+
+rm(list=ls())
+
+starttime <- proc.time()
+cat("\n\n================ T-Tests =====================================\n")
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+library(readxl)
+library(data.table)
+library(ggplot2)
+
+year<-95
+load(file=paste0(Settings$HEISProcessedPath,"Y",year,"FinalFoodPoor.rda"))
+MD<-MD[,Engel:=TFoodExpenditure/Total_Exp_Month]
+
+MDH <- MD[ TFoodExpenditure_Per>0.8*FPLine & TFoodExpenditure_Per<1.2*FPLine]
+
+###############Rural###############
+#####Cluster 1
+a<-MDH[Region=="Rural" & NewArea==30,.(Engel,cluster2,NewArea_Name)]
+b<-MDH[Region=="Rural" & NewArea!=30 & cluster2==1,.(Engel,cluster2,NewArea_Name)]
+t.test(a$Engel,b$Engel, var.equal=TRUE, paired=FALSE)
+
+#####Cluster 2
+a<-MDH[Region=="Rural" & NewArea==2,.(Engel,cluster2,NewArea_Name)]
+b<-MDH[Region=="Rural" & NewArea!=2 & cluster2==2,.(Engel,cluster2,NewArea_Name)]
+t.test(a$Engel,b$Engel, var.equal=TRUE, paired=FALSE)
+
+#####Cluster 3
+a<-MDH[Region=="Rural" & NewArea==18,.(Engel,cluster2,NewArea_Name)]
+b<-MDH[Region=="Rural" & NewArea!=18 & cluster2==3,.(Engel,cluster2,NewArea_Name)]
+t.test(a$Engel,b$Engel, var.equal=TRUE, paired=FALSE)
+
+#####Cluster 4
+a<-MDH[Region=="Rural" & NewArea==12,.(Engel,cluster2,NewArea_Name)]
+b<-MDH[Region=="Rural" & NewArea!=12 & cluster2==4,.(Engel,cluster2,NewArea_Name)]
+t.test(a$Engel,b$Engel, var.equal=TRUE, paired=FALSE)
+
+#####Cluster 5
+a<-MDH[Region=="Rural" & NewArea==8,.(Engel,cluster2,NewArea_Name)]
+b<-MDH[Region=="Rural" & NewArea!=8 & cluster2==5,.(Engel,cluster2,NewArea_Name)]
+t.test(a$Engel,b$Engel, var.equal=TRUE, paired=FALSE)
+
+
+###############Urban###############
+#####Cluster 2
+a<-MDH[Region=="Urban" & NewArea==3001,.(Engel,cluster2,NewArea_Name)]
+b<-MDH[Region=="Urban" & NewArea!=3001 & cluster2==2,.(Engel,cluster2,NewArea_Name)]
+t.test(a$Engel,b$Engel, var.equal=TRUE, paired=FALSE)
+
+#####Cluster 3
+a<-MDH[Region=="Urban" & NewArea==3,.(Engel,cluster2,NewArea_Name)]
+b<-MDH[Region=="Urban" & NewArea!=3 & cluster2==3,.(Engel,cluster2,NewArea_Name)]
+t.test(a$Engel,b$Engel, var.equal=TRUE, paired=FALSE)
+
+
+
+#####Cluster 5
+a<-MDH[Region=="Urban" & NewArea==9,.(Engel,cluster2,NewArea_Name)]
+b<-MDH[Region=="Urban" & NewArea!=9 & cluster2==5,.(Engel,cluster2,NewArea_Name)]
+t.test(a$Engel,b$Engel, var.equal=TRUE, paired=FALSE)
+
+#####Cluster 4
+a<-MDH[Region=="Urban" & NewArea==4,.(Engel,cluster2,NewArea_Name)]
+b<-MDH[Region=="Urban" & NewArea!=4 & cluster2==4,.(Engel,cluster2,NewArea_Name)]
+t.test(a$Engel,b$Engel, var.equal=TRUE, paired=FALSE)
+
+endtime <- proc.time()
+cat("\n\n============================\nIt took ")
+cat((endtime-starttime)["elapsed"])
+cat(" seconds")
\ No newline at end of file
diff --git a/R/Archive/November 2019/94-T-Tests.R b/R/Archive/November 2019/94-T-Tests.R
new file mode 100644
index 00000000..e56d4e66
--- /dev/null
+++ b/R/Archive/November 2019/94-T-Tests.R
@@ -0,0 +1,220 @@
+# T-Tests.R
+#
+# Copyright © 2019:Majid Einian & Arin Shahbazian
+# Licence: GPL-3
+
+rm(list=ls())
+
+starttime <- proc.time()
+cat("\n\n================ T-Tests =====================================\n")
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+library(readxl)
+library(data.table)
+library(ggplot2)
+
+year<-95
+load(file=paste0(Settings$HEISProcessedPath,"Y",year,"FinalFoodPoor.rda"))
+MD<-MD[,Engel:=TFoodExpenditure/Total_Exp_Month]
+
+
+##########Total Households##########
+#####Tehran
+a<-MD[Region=="Urban" & NewArea==23,.(Engel)]
+b<-MD[Region=="Urban" & NewArea==2301,.(Engel)]
+t.test(a$Engel,b$Engel, var.equal=TRUE, paired=FALSE)
+
+#####Mashhad
+a<-MD[Region=="Urban" & NewArea==9,.(Engel)]
+b<-MD[Region=="Urban" & NewArea==916,.(Engel)]
+t.test(a$Engel,b$Engel, var.equal=TRUE, paired=FALSE)
+
+#####Esfahan
+a<-MD[Region=="Urban" & NewArea==10,.(Engel)]
+b<-MD[Region=="Urban" & NewArea==1002,.(Engel)]
+t.test(a$Engel,b$Engel, var.equal=TRUE, paired=FALSE)
+
+#####Karaj
+a<-MD[Region=="Urban" & NewArea==30,.(Engel)]
+b<-MD[Region=="Urban" & NewArea==3001,.(Engel)]
+t.test(a$Engel,b$Engel, var.equal=TRUE, paired=FALSE)
+
+#####Shiraz
+a<-MD[Region=="Urban" & NewArea==7,.(Engel)]
+b<-MD[Region=="Urban" & NewArea==707,.(Engel)]
+t.test(a$Engel,b$Engel, var.equal=TRUE, paired=FALSE)
+
+#####Tabriz
+a<-MD[Region=="Urban" & NewArea==3,.(Engel)]
+b<-MD[Region=="Urban" & NewArea==303,.(Engel)]
+t.test(a$Engel,b$Engel, var.equal=TRUE, paired=FALSE)
+
+#####Ahvaz
+a<-MD[Region=="Urban" & NewArea==6,.(Engel)]
+b<-MD[Region=="Urban" & NewArea==603,.(Engel)]
+t.test(a$Engel,b$Engel, var.equal=TRUE, paired=FALSE)
+
+#####Kermanshah
+a<-MD[Region=="Urban" & NewArea==5,.(Engel)]
+b<-MD[Region=="Urban" & NewArea==502,.(Engel)]
+t.test(a$Engel,b$Engel, var.equal=TRUE, paired=FALSE)
+
+#####Urmia
+a<-MD[Region=="Urban" & NewArea==4,.(Engel)]
+b<-MD[Region=="Urban" & NewArea==2301,.(Engel)]
+t.test(a$Engel,b$Engel, var.equal=401, paired=FALSE)
+
+#####Rasht
+#a<-MD[Region=="Urban" & NewArea==1,.(Engel)]
+#b<-MD[Region=="Urban" & NewArea==105,.(Engel)]
+#t.test(a$Engel,b$Engel, var.equal=TRUE, paired=FALSE)
+
+#####Zahedan
+#a<-MD[Region=="Urban" & NewArea==11,.(Engel)]
+#b<-MD[Region=="Urban" & NewArea==1105,.(Engel)]
+#t.test(a$Engel,b$Engel, var.equal=TRUE, paired=FALSE)
+
+#####Kerman
+a<-MD[Region=="Urban" & NewArea==8,.(Engel)]
+b<-MD[Region=="Urban" & NewArea==808,.(Engel)]
+t.test(a$Engel,b$Engel, var.equal=TRUE, paired=FALSE)
+
+#####Bandarabas
+a<-MD[Region=="Urban" & NewArea==22,.(Engel)]
+b<-MD[Region=="Urban" & NewArea==2202,.(Engel)]
+t.test(a$Engel,b$Engel, var.equal=TRUE, paired=FALSE)
+
+#####Hamedan
+#a<-MD[Region=="Urban" & NewArea==13,.(Engel)]
+#b<-MD[Region=="Urban" & NewArea==1304,.(Engel)]
+#t.test(a$Engel,b$Engel, var.equal=TRUE, paired=FALSE)
+
+#####Yazd
+#a<-MD[Region=="Urban" & NewArea==21,.(Engel)]
+#b<-MD[Region=="Urban" & NewArea==2105,.(Engel)]
+#t.test(a$Engel,b$Engel, var.equal=TRUE, paired=FALSE)
+
+#####Arak
+a<-MD[Region=="Urban" & NewArea==0,.(Engel)]
+b<-MD[Region=="Urban" & NewArea==1,.(Engel)]
+t.test(a$Engel,b$Engel, var.equal=TRUE, paired=FALSE)
+
+####Engle
+EngleP <- MD[ ,.(.N,Engel=weighted.mean(TFoodExpenditure/Total_Exp_Month,Weight),
+ FPLine=mean(FPLine)),by=.(Region,NewArea_Name)]
+
+
+y<-EngleP[Region=="Urban",.(Engel,NewArea_Name)]
+y$NewArea <- factor(y$NewArea, levels = y$NewArea[order(y$Engel)])
+ggplot(y, aes(x = y$NewArea, y = y$Engel)) + theme_bw() + geom_bar(stat = "identity") + theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1))
+
+
+x<-EngleP[Region=="Rural",.(Engel,NewArea_Name)]
+x$NewArea <- factor(x$NewArea, levels = x$NewArea[order(x$Engel)])
+ggplot(x, aes(x = x$NewArea, y = x$Engel)) + theme_bw() + geom_bar(stat = "identity") + theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1))
+
+
+##########Near FoodPLine Households##########
+MDH <- MD[ TFoodExpenditure_Per>0.8*FPLine & TFoodExpenditure_Per<1.2*FPLine]
+
+#####Tehran
+a<-MDH[Region=="Urban" & NewArea==23,.(Engel)]
+b<-MDH[Region=="Urban" & NewArea==2301,.(Engel)]
+t.test(a$Engel,b$Engel, var.equal=TRUE, paired=FALSE)
+
+#####Mashhad
+a<-MDH[Region=="Urban" & NewArea==9,.(Engel)]
+b<-MDH[Region=="Urban" & NewArea==916,.(Engel)]
+t.test(a$Engel,b$Engel, var.equal=TRUE, paired=FALSE)
+
+#####Esfahan
+a<-MDH[Region=="Urban" & NewArea==10,.(Engel)]
+b<-MDH[Region=="Urban" & NewArea==1002,.(Engel)]
+t.test(a$Engel,b$Engel, var.equal=TRUE, paired=FALSE)
+
+#####Karaj
+a<-MDH[Region=="Urban" & NewArea==30,.(Engel)]
+b<-MDH[Region=="Urban" & NewArea==3001,.(Engel)]
+t.test(a$Engel,b$Engel, var.equal=TRUE, paired=FALSE)
+
+#####Shiraz
+a<-MDH[Region=="Urban" & NewArea==7,.(Engel)]
+b<-MDH[Region=="Urban" & NewArea==707,.(Engel)]
+t.test(a$Engel,b$Engel, var.equal=TRUE, paired=FALSE)
+
+#####Tabriz
+a<-MDH[Region=="Urban" & NewArea==3,.(Engel)]
+b<-MDH[Region=="Urban" & NewArea==303,.(Engel)]
+t.test(a$Engel,b$Engel, var.equal=TRUE, paired=FALSE)
+
+#####Ahvaz
+a<-MDH[Region=="Urban" & NewArea==6,.(Engel)]
+b<-MDH[Region=="Urban" & NewArea==603,.(Engel)]
+t.test(a$Engel,b$Engel, var.equal=TRUE, paired=FALSE)
+
+#####Kermanshah
+a<-MDH[Region=="Urban" & NewArea==5,.(Engel)]
+b<-MDH[Region=="Urban" & NewArea==502,.(Engel)]
+t.test(a$Engel,b$Engel, var.equal=TRUE, paired=FALSE)
+
+#####Urmia
+a<-MDH[Region=="Urban" & NewArea==4,.(Engel)]
+b<-MDH[Region=="Urban" & NewArea==2301,.(Engel)]
+t.test(a$Engel,b$Engel, var.equal=401, paired=FALSE)
+
+#####Rasht
+#a<-MDH[Region=="Urban" & NewArea==1,.(Engel)]
+#b<-MDH[Region=="Urban" & NewArea==105,.(Engel)]
+#t.test(a$Engel,b$Engel, var.equal=TRUE, paired=FALSE)
+
+#####Zahedan
+#a<-MDH[Region=="Urban" & NewArea==11,.(Engel)]
+#b<-MDH[Region=="Urban" & NewArea==1105,.(Engel)]
+#t.test(a$Engel,b$Engel, var.equal=TRUE, paired=FALSE)
+
+#####Kerman
+a<-MDH[Region=="Urban" & NewArea==8,.(Engel)]
+b<-MDH[Region=="Urban" & NewArea==808,.(Engel)]
+t.test(a$Engel,b$Engel, var.equal=TRUE, paired=FALSE)
+
+#####Bandarabas
+a<-MDH[Region=="Urban" & NewArea==22,.(Engel)]
+b<-MDH[Region=="Urban" & NewArea==2202,.(Engel)]
+t.test(a$Engel,b$Engel, var.equal=TRUE, paired=FALSE)
+
+#####Hamedan
+#a<-MDH[Region=="Urban" & NewArea==13,.(Engel)]
+#b<-MDH[Region=="Urban" & NewArea==1304,.(Engel)]
+#t.test(a$Engel,b$Engel, var.equal=TRUE, paired=FALSE)
+
+#####Yazd
+#a<-MDH[Region=="Urban" & NewArea==21,.(Engel)]
+#b<-MDH[Region=="Urban" & NewArea==2105,.(Engel)]
+#t.test(a$Engel,b$Engel, var.equal=TRUE, paired=FALSE)
+
+#####Arak
+a<-MDH[Region=="Urban" & NewArea==0,.(Engel)]
+b<-MDH[Region=="Urban" & NewArea==1,.(Engel)]
+t.test(a$Engel,b$Engel, var.equal=TRUE, paired=FALSE)
+
+####Engle
+EngleH <- MDH[ ,.(.N,Engel=weighted.mean(TFoodExpenditure/Total_Exp_Month,Weight),
+ FPLine=mean(FPLine)),by=.(Region,NewArea_Name)]
+
+
+x2<-EngleH[Region=="Rural",.(Engel,NewArea_Name)]
+x2$NewArea <- factor(x2$NewArea, levels = x2$NewArea[order(x2$Engel)])
+ggplot(x2, aes(x = x2$NewArea, y = x2$Engel)) + theme_bw() + geom_bar(stat = "identity") + theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1))
+
+y2<-EngleH[Region=="Urban",.(Engel,NewArea_Name)]
+y2$NewArea <- factor(y2$NewArea, levels = y2$NewArea[order(y2$Engel)])
+ggplot(y2, aes(x = y2$NewArea, y = y2$Engel)) + theme_bw() + geom_bar(stat = "identity") + theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1))
+
+
+
+
+endtime <- proc.time()
+cat("\n\n============================\nIt took ")
+cat((endtime-starttime)["elapsed"])
+cat(" seconds")
\ No newline at end of file
diff --git a/R/Archive/November 2019/95-for MRS. Azizkhani.R b/R/Archive/November 2019/95-for MRS. Azizkhani.R
new file mode 100644
index 00000000..5a52ab3b
--- /dev/null
+++ b/R/Archive/November 2019/95-for MRS. Azizkhani.R
@@ -0,0 +1,187 @@
+#60-Poors properties.R
+#
+# Copyright © 2018:Arin Shahbazian
+# Licence: GPL-3
+#
+rm(list=ls())
+starttime <- proc.time()
+
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+library(readxl)
+library(stringr)
+library(data.table)
+library(sm)
+library(ggplot2)
+library(haven)
+
+#for(year in (Settings$startyear:Settings$endyear)){
+year<-96
+ cat(paste0("\nYear:",year,"\t"))
+
+ #Load Data
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"HHHouseProperties.rda"))
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"PoorsforMerge.rda"))
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"HHBase.rda"))
+
+ Total<-merge(MD2,HHHouseProperties,by =c("HHID"),all.x=TRUE)
+ Total<-merge(Total,HHBase,by =c("HHID"),all.x=TRUE)
+
+ ##### Activity #####Region##########
+ Activity<-Total[FinalPoor==1,Activity_Poors1:=weighted.mean(ifelse(ActivityState %in% "Employed",1,0),Weight),by=Region][order(Region)]
+ Activity<-Activity[,.(Activity_Poors1,Region,Weight)]
+ Activity1<-Activity[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(Region)]
+ Activity1[,Weight:=NULL]
+
+ Activity<-Total[FinalPoor==1,Activity_Poors2:=weighted.mean(ifelse(ActivityState %in% "Unemployed",1,0),Weight),by=Region][order(Region)]
+ Activity<-Activity[,.(Activity_Poors2,Region,Weight)]
+ Activity2<-Activity[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(Region)]
+ Activity2[,Weight:=NULL]
+
+ Activity<-Total[FinalPoor==1,Activity_Poors3:=weighted.mean(ifelse(ActivityState %in% "Income without Work",1,0),Weight),by=Region][order(Region)]
+ Activity<-Activity[,.(Activity_Poors3,Region,Weight)]
+ Activity3<-Activity[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(Region)]
+ Activity3[,Weight:=NULL]
+
+ Activity<-Total[FinalPoor==1,Activity_Poors4:=weighted.mean(ifelse(ActivityState %in% "Student",1,0),Weight),by=Region][order(Region)]
+ Activity<-Activity[,.(Activity_Poors4,Region,Weight)]
+ Activity4<-Activity[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(Region)]
+ Activity4[,Weight:=NULL]
+
+ Activity<-Total[FinalPoor==1,Activity_Poors5:=weighted.mean(ifelse(ActivityState %in% "Housekeeper",1,0),Weight),by=Region][order(Region)]
+ Activity<-Activity[,.(Activity_Poors5,Region,Weight)]
+ Activity5<-Activity[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(Region)]
+ Activity5[,Weight:=NULL]
+
+ Activity<-Total[FinalPoor==1,Activity_Poors6:=weighted.mean(ifelse(ActivityState %in% "Other",1,0),Weight),by=Region][order(Region)]
+ Activity<-Activity[,.(Activity_Poors6,Region,Weight)]
+ Activity6<-Activity[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(Region)]
+ Activity6[,Weight:=NULL]
+
+ Activity1<-merge(Activity1,Activity2,by =c("Region"),all.x=TRUE)
+ Activity1<-merge(Activity1,Activity3,by =c("Region"),all.x=TRUE)
+ Activity1<-merge(Activity1,Activity4,by =c("Region"),all.x=TRUE)
+ Activity1<-merge(Activity1,Activity5,by =c("Region"),all.x=TRUE)
+ Activity1<-merge(Activity1,Activity6,by =c("Region"),all.x=TRUE)
+ # write.xlsx(ActivityPoorsRegion, "D:/R/Poors.xlsx",sheetName = "Activity1")
+
+
+ ##### Activity #####Country##########
+ Activity<-Total[FinalPoor==1,Activity_Poors1:=weighted.mean(ifelse(ActivityState %in% "Employed",1,0),Weight)]
+ Activity<-Activity[,.(Activity_Poors1,Region,Weight)]
+ Activity1<-Activity[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE)]
+ Activity1[,Weight:=NULL]
+
+ Activity<-Total[FinalPoor==1,Activity_Poors2:=weighted.mean(ifelse(ActivityState %in% "Unemployed",1,0),Weight)]
+ Activity<-Activity[,.(Activity_Poors2,Region,Weight)]
+ Activity2<-Activity[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE)]
+ Activity2[,Weight:=NULL]
+
+ Activity<-Total[FinalPoor==1,Activity_Poors3:=weighted.mean(ifelse(ActivityState %in% "Income without Work",1,0),Weight)]
+ Activity<-Activity[,.(Activity_Poors3,Region,Weight)]
+ Activity3<-Activity[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE)]
+ Activity3[,Weight:=NULL]
+
+ Activity<-Total[FinalPoor==1,Activity_Poors4:=weighted.mean(ifelse(ActivityState %in% "Student",1,0),Weight)]
+ Activity<-Activity[,.(Activity_Poors4,Region,Weight)]
+ Activity4<-Activity[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE)]
+ Activity4[,Weight:=NULL]
+
+ Activity<-Total[FinalPoor==1,Activity_Poors5:=weighted.mean(ifelse(ActivityState %in% "Housekeeper",1,0),Weight)]
+ Activity<-Activity[,.(Activity_Poors5,Region,Weight)]
+ Activity5<-Activity[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE)]
+ Activity5[,Weight:=NULL]
+
+ Activity<-Total[FinalPoor==1,Activity_Poors6:=weighted.mean(ifelse(ActivityState %in% "Other",1,0),Weight)]
+ Activity<-Activity[,.(Activity_Poors6,Region,Weight)]
+ Activity6<-Activity[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE)]
+ Activity6[,Weight:=NULL]
+
+ Activity1<-merge(Activity1,Activity2,by =c("Region"),all.x=TRUE)
+ Activity1<-merge(Activity1,Activity3,by =c("Region"),all.x=TRUE)
+ Activity1<-merge(Activity1,Activity4,by =c("Region"),all.x=TRUE)
+ Activity1<-merge(Activity1,Activity5,by =c("Region"),all.x=TRUE)
+ Activity1<-merge(Activity1,Activity6,by =c("Region"),all.x=TRUE)
+# write.xlsx(ActivityPoorsRegion, "D:/R/Poors.xlsx",sheetName = "Activity2",append = TRUE)
+#########################################################
+ #######################################################
+ #####################################################
+
+ Activity<-Total[FinalPoor==1 & ActivityState=="Income without Work",Activity_Poors1:=weighted.mean(ifelse(EduLevel0 %in% "Illiterate",1,0),Weight),by=Region][order(Region)]
+ Activity<-Activity[,.(Activity_Poors1,Region,Weight)]
+ Activity1<-Activity[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(Region)]
+ Activity1[,Weight:=NULL]
+
+ Activity<-Total[FinalPoor==1 & ActivityState=="Income without Work",Activity_Poors2:=weighted.mean(ifelse(EduLevel0 %in% "Elementary",1,0),Weight),by=Region][order(Region)]
+ Activity<-Activity[,.(Activity_Poors2,Region,Weight)]
+ Activity2<-Activity[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(Region)]
+ Activity2[,Weight:=NULL]
+
+ Activity<-Total[FinalPoor==1 & ActivityState=="Income without Work",Activity_Poors3:=weighted.mean(ifelse(EduLevel0 %in% "Middle",1,0),Weight),by=Region][order(Region)]
+ Activity<-Activity[,.(Activity_Poors3,Region,Weight)]
+ Activity3<-Activity[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(Region)]
+ Activity3[,Weight:=NULL]
+
+ Activity<-Total[FinalPoor==1 & ActivityState=="Income without Work",Activity_Poors4:=weighted.mean(ifelse(EduLevel0 %in% "High" | EduLevel0 %in% "Pre",1,0),Weight),by=Region][order(Region)]
+ Activity<-Activity[,.(Activity_Poors4,Region,Weight)]
+ Activity4<-Activity[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(Region)]
+ Activity4[,Weight:=NULL]
+
+
+ Activity<-Total[FinalPoor==1 & ActivityState=="Income without Work",Activity_Poors5:=weighted.mean(ifelse(EduLevel0 %in% "University",1,0),Weight),by=Region][order(Region)]
+ Activity<-Activity[,.(Activity_Poors5,Region,Weight)]
+ Activity5<-Activity[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(Region)]
+ Activity5[,Weight:=NULL]
+
+ Activity1<-merge(Activity1,Activity2,by =c("Region"),all.x=TRUE)
+ Activity1<-merge(Activity1,Activity3,by =c("Region"),all.x=TRUE)
+ Activity1<-merge(Activity1,Activity4,by =c("Region"),all.x=TRUE)
+ Activity1<-merge(Activity1,Activity5,by =c("Region"),all.x=TRUE)
+
+
+ Activity<-Total[FinalPoor==1 & ActivityState=="Income without Work",Activity_Poors1:=weighted.mean(ifelse(EduLevel0 %in% "Illiterate",1,0),Weight)]
+ Activity<-Activity[,.(Activity_Poors1,Region,Weight)]
+ Activity1<-Activity[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE)]
+ Activity1[,Weight:=NULL]
+
+ Activity<-Total[FinalPoor==1 & ActivityState=="Income without Work",Activity_Poors2:=weighted.mean(ifelse(EduLevel0 %in% "Elementary",1,0),Weight)]
+ Activity<-Activity[,.(Activity_Poors2,Region,Weight)]
+ Activity2<-Activity[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE)]
+ Activity2[,Weight:=NULL]
+
+ Activity<-Total[FinalPoor==1 & ActivityState=="Income without Work",Activity_Poors3:=weighted.mean(ifelse(EduLevel0 %in% "Middle",1,0),Weight)]
+ Activity<-Activity[,.(Activity_Poors3,Region,Weight)]
+ Activity3<-Activity[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE)]
+ Activity3[,Weight:=NULL]
+
+ Activity<-Total[FinalPoor==1 & ActivityState=="Income without Work",Activity_Poors4:=weighted.mean(ifelse(EduLevel0 %in% "High" | EduLevel0 %in% "Pre",1,0),Weight)]
+ Activity<-Activity[,.(Activity_Poors4,Region,Weight)]
+ Activity4<-Activity[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE)]
+ Activity4[,Weight:=NULL]
+
+
+ Activity<-Total[FinalPoor==1 & ActivityState=="Income without Work",Activity_Poors5:=weighted.mean(ifelse(EduLevel0 %in% "University",1,0),Weight)]
+ Activity<-Activity[,.(Activity_Poors5,Region,Weight)]
+ Activity5<-Activity[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE)]
+ Activity5[,Weight:=NULL]
+
+ Activity1<-merge(Activity1,Activity2,by =c("Region"),all.x=TRUE)
+ Activity1<-merge(Activity1,Activity3,by =c("Region"),all.x=TRUE)
+ Activity1<-merge(Activity1,Activity4,by =c("Region"),all.x=TRUE)
+ Activity1<-merge(Activity1,Activity5,by =c("Region"),all.x=TRUE)
+
+
+ Activity<-Total[FinalPoor==1 & ActivityState=="Income without Work",Activity_Poors1:=weighted.mean(ifelse(tenure %in% "OwnLandandBuilding" |
+ tenure %in% "Apartment",1,0),Weight),]
+ Activity<-Activity[,.(Activity_Poors1,Region,Weight)]
+ Activity1<-Activity[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE)]
+ Activity1[,Weight:=NULL]
+
+
+#}
+
+
+endtime <- proc.time()
+cat("\n\n============================\nIt took ")
+cat(endtime-starttime)
diff --git a/R/Archive/November 2019/96-Foods essential groups.R b/R/Archive/November 2019/96-Foods essential groups.R
new file mode 100644
index 00000000..a2b8e5b2
--- /dev/null
+++ b/R/Archive/November 2019/96-Foods essential groups.R
@@ -0,0 +1,566 @@
+# Foods essential groups
+#
+#
+# Copyright © 2017: Arin Shahbazian
+# Licence: GPL-3
+
+rm(list=ls())
+
+starttime <- proc.time()
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+library(data.table)
+library(stringr)
+library(readxl)
+
+################################################
+################ Morgh ########################
+################################################
+cat("\n\n================ Morgh =====================================\n")
+
+FoodTables <- data.table(read_excel(Settings$MetaDataFilePath,sheet=Settings$MDS_Morgh))
+
+for(year in (Settings$startyear:Settings$endyear)){
+ cat(paste0("\n------------------------------\nYear:",year,"\n"))
+ load(file=paste0(Settings$HEISRawPath,"Y",year,"Raw.rda"))
+ ft <- FoodTables[Year==year]
+ tab <- ft$Table
+ if(is.na(tab))
+ next
+ UTF <- Tables[[paste0("U",year,tab)]]
+ RTF <- Tables[[paste0("R",year,tab)]]
+ TF <- rbind(UTF,RTF)
+ for(n in names(TF)){
+ x <- which(ft==n)
+ if(length(x)>0)
+ setnames(TF,n,names(ft)[x])
+ }
+ pcols <- intersect(names(TF),c("HHID","Code","Kilos","Grams","MorghExpenditure"))
+ TF <- TF[,pcols,with=FALSE]
+ TF <- TF[Code %in% ft$StartCode:ft$EndCode]
+ if(year >= 84){
+ TF[,MorghExpenditure:=as.numeric(MorghExpenditure)]
+ }
+ for (col in c("Kilos","Grams")) TF[is.na(get(col)), (col) := 0]
+ TF[,Kilos:=as.numeric(Kilos)]
+ TF[,Grams:=as.numeric(Grams)]
+ TF[is.na(TF)] <- 0
+ TF[,MorghKG:=Kilos+(Grams*0.001)]
+
+ TF[,Code:=NULL]
+ TF[,Kilos:=NULL]
+ TF[,Grams:=NULL]
+ TF[is.na(TF)] <- 0
+ MorghData <- TF[,lapply(.SD,sum),by=HHID]
+ save(MorghData, file = paste0(Settings$HEISProcessedPath,"Y",year,"Morghs.rda"))
+}
+
+################################################
+################ Cow ########################
+################################################
+cat("\n\n================ Cow =====================================\n")
+
+FoodTables <- data.table(read_excel(Settings$MetaDataFilePath,sheet=Settings$MDS_Cow))
+
+for(year in (Settings$startyear:Settings$endyear)){
+ cat(paste0("\n------------------------------\nYear:",year,"\n"))
+ load(file=paste0(Settings$HEISRawPath,"Y",year,"Raw.rda"))
+ ft <- FoodTables[Year==year]
+ tab <- ft$Table
+ if(is.na(tab))
+ next
+ UTF <- Tables[[paste0("U",year,tab)]]
+ RTF <- Tables[[paste0("R",year,tab)]]
+ TF <- rbind(UTF,RTF)
+ for(n in names(TF)){
+ x <- which(ft==n)
+ if(length(x)>0)
+ setnames(TF,n,names(ft)[x])
+ }
+ pcols <- intersect(names(TF),c("HHID","Code","Kilos","Grams","CowExpenditure"))
+ TF <- TF[,pcols,with=FALSE]
+ TF <- TF[Code %in% ft$StartCode:ft$EndCode]
+ if(year >= 84){
+ TF[,CowExpenditure:=as.numeric(CowExpenditure)]
+ }
+ for (col in c("Kilos","Grams")) TF[is.na(get(col)), (col) := 0]
+ TF[,Kilos:=as.numeric(Kilos)]
+ TF[,Grams:=as.numeric(Grams)]
+ TF[is.na(TF)] <- 0
+ TF[,CowKG:=Kilos+(Grams*0.001)]
+
+ TF[,Code:=NULL]
+ TF[,Kilos:=NULL]
+ TF[,Grams:=NULL]
+ TF[is.na(TF)] <- 0
+ CowData <- TF[,lapply(.SD,sum),by=HHID]
+ save(CowData, file = paste0(Settings$HEISProcessedPath,"Y",year,"Cows.rda"))
+}
+
+################################################
+################ Sheep ########################
+################################################
+cat("\n\n================ Sheep =====================================\n")
+
+FoodTables <- data.table(read_excel(Settings$MetaDataFilePath,sheet=Settings$MDS_Sheep))
+
+for(year in (Settings$startyear:Settings$endyear)){
+ cat(paste0("\n------------------------------\nYear:",year,"\n"))
+ load(file=paste0(Settings$HEISRawPath,"Y",year,"Raw.rda"))
+ ft <- FoodTables[Year==year]
+ tab <- ft$Table
+ if(is.na(tab))
+ next
+ UTF <- Tables[[paste0("U",year,tab)]]
+ RTF <- Tables[[paste0("R",year,tab)]]
+ TF <- rbind(UTF,RTF)
+ for(n in names(TF)){
+ x <- which(ft==n)
+ if(length(x)>0)
+ setnames(TF,n,names(ft)[x])
+ }
+ pcols <- intersect(names(TF),c("HHID","Code","Kilos","Grams","SheepExpenditure"))
+ TF <- TF[,pcols,with=FALSE]
+ TF <- TF[Code %in% ft$StartCode:ft$EndCode]
+ if(year >= 84){
+ TF[,SheepExpenditure:=as.numeric(SheepExpenditure)]
+ }
+ for (col in c("Kilos","Grams")) TF[is.na(get(col)), (col) := 0]
+ TF[,Kilos:=as.numeric(Kilos)]
+ TF[,Grams:=as.numeric(Grams)]
+ TF[is.na(TF)] <- 0
+ TF[,SheepKG:=Kilos+(Grams*0.001)]
+
+ TF[,Code:=NULL]
+ TF[,Kilos:=NULL]
+ TF[,Grams:=NULL]
+ TF[is.na(TF)] <- 0
+ SheepData <- TF[,lapply(.SD,sum),by=HHID]
+ save(SheepData, file = paste0(Settings$HEISProcessedPath,"Y",year,"Sheeps.rda"))
+}
+
+################################################
+################ Berenj ########################
+################################################
+cat("\n\n================ Berenj =====================================\n")
+
+FoodTables <- data.table(read_excel(Settings$MetaDataFilePath,sheet=Settings$MDS_Berenj))
+
+for(year in (Settings$startyear:Settings$endyear)){
+ cat(paste0("\n------------------------------\nYear:",year,"\n"))
+ load(file=paste0(Settings$HEISRawPath,"Y",year,"Raw.rda"))
+ ft <- FoodTables[Year==year]
+ tab <- ft$Table
+ if(is.na(tab))
+ next
+ UTF <- Tables[[paste0("U",year,tab)]]
+ RTF <- Tables[[paste0("R",year,tab)]]
+ TF <- rbind(UTF,RTF)
+ for(n in names(TF)){
+ x <- which(ft==n)
+ if(length(x)>0)
+ setnames(TF,n,names(ft)[x])
+ }
+ pcols <- intersect(names(TF),c("HHID","Code","Kilos","Grams","BerenjExpenditure"))
+ TF <- TF[,pcols,with=FALSE]
+ TF <- TF[Code %in% ft$StartCode:ft$EndCode]
+ if(year >= 84){
+ TF[,BerenjExpenditure:=as.numeric(BerenjExpenditure)]
+ }
+ for (col in c("Kilos","Grams")) TF[is.na(get(col)), (col) := 0]
+ TF[,Kilos:=as.numeric(Kilos)]
+ TF[,Grams:=as.numeric(Grams)]
+ TF[is.na(TF)] <- 0
+ TF[,BerenjKG:=Kilos+(Grams*0.001)]
+
+ TF[,Code:=NULL]
+ TF[,Kilos:=NULL]
+ TF[,Grams:=NULL]
+ TF[is.na(TF)] <- 0
+ BerenjData <- TF[,lapply(.SD,sum),by=HHID]
+ save(BerenjData, file = paste0(Settings$HEISProcessedPath,"Y",year,"Berenjs.rda"))
+}
+
+################################################
+################ Roghan ########################
+################################################
+cat("\n\n================ Roghan =====================================\n")
+
+FoodTables <- data.table(read_excel(Settings$MetaDataFilePath,sheet=Settings$MDS_Roghan))
+
+for(year in (Settings$startyear:Settings$endyear)){
+ cat(paste0("\n------------------------------\nYear:",year,"\n"))
+ load(file=paste0(Settings$HEISRawPath,"Y",year,"Raw.rda"))
+ ft <- FoodTables[Year==year]
+ tab <- ft$Table
+ if(is.na(tab))
+ next
+ UTF <- Tables[[paste0("U",year,tab)]]
+ RTF <- Tables[[paste0("R",year,tab)]]
+ TF <- rbind(UTF,RTF)
+ for(n in names(TF)){
+ x <- which(ft==n)
+ if(length(x)>0)
+ setnames(TF,n,names(ft)[x])
+ }
+ pcols <- intersect(names(TF),c("HHID","Code","Kilos","Grams","RoghanExpenditure"))
+ TF <- TF[,pcols,with=FALSE]
+ TF <- TF[Code %in% ft$StartCode:ft$EndCode | Code==11511]
+ if(year >= 84){
+ TF[,RoghanExpenditure:=as.numeric(RoghanExpenditure)]
+ }
+ for (col in c("Kilos","Grams")) TF[is.na(get(col)), (col) := 0]
+ TF[,Kilos:=as.numeric(Kilos)]
+ TF[,Grams:=as.numeric(Grams)]
+ TF[is.na(TF)] <- 0
+ TF[,RoghanKG:=Kilos+(Grams*0.001)]
+
+ TF[,Code:=NULL]
+ TF[,Kilos:=NULL]
+ TF[,Grams:=NULL]
+ TF[is.na(TF)] <- 0
+ RoghanData <- TF[,lapply(.SD,sum),by=HHID]
+ save(RoghanData, file = paste0(Settings$HEISProcessedPath,"Y",year,"Roghans.rda"))
+}
+
+################################################
+################ Tokhmemorgh ########################
+################################################
+cat("\n\n================ Tokhmemorgh =====================================\n")
+
+FoodTables <- data.table(read_excel(Settings$MetaDataFilePath,sheet=Settings$MDS_Tokhmemorgh))
+
+for(year in (Settings$startyear:Settings$endyear)){
+ cat(paste0("\n------------------------------\nYear:",year,"\n"))
+ load(file=paste0(Settings$HEISRawPath,"Y",year,"Raw.rda"))
+ ft <- FoodTables[Year==year]
+ tab <- ft$Table
+ if(is.na(tab))
+ next
+ UTF <- Tables[[paste0("U",year,tab)]]
+ RTF <- Tables[[paste0("R",year,tab)]]
+ TF <- rbind(UTF,RTF)
+ for(n in names(TF)){
+ x <- which(ft==n)
+ if(length(x)>0)
+ setnames(TF,n,names(ft)[x])
+ }
+ pcols <- intersect(names(TF),c("HHID","Code","Kilos","Grams","TokhmemorghExpenditure"))
+ TF <- TF[,pcols,with=FALSE]
+ TF <- TF[Code %in% ft$StartCode:ft$EndCode | Code==11511]
+ if(year >= 84){
+ TF[,TokhmemorghExpenditure:=as.numeric(TokhmemorghExpenditure)]
+ }
+ for (col in c("Kilos","Grams")) TF[is.na(get(col)), (col) := 0]
+ TF[,Kilos:=as.numeric(Kilos)]
+ TF[,Grams:=as.numeric(Grams)]
+ TF[is.na(TF)] <- 0
+ TF[,TokhmemorghKG:=Kilos+(Grams*0.001)]
+
+ TF[,Code:=NULL]
+ TF[,Kilos:=NULL]
+ TF[,Grams:=NULL]
+ TF[is.na(TF)] <- 0
+ TokhmemorghData <- TF[,lapply(.SD,sum),by=HHID]
+ save(TokhmemorghData, file = paste0(Settings$HEISProcessedPath,"Y",year,"Tokhmemorghs.rda"))
+}
+
+################################################
+################ Nokhod ########################
+################################################
+cat("\n\n================ Nokhod =====================================\n")
+
+FoodTables <- data.table(read_excel(Settings$MetaDataFilePath,sheet=Settings$MDS_Nokhod))
+
+for(year in (Settings$startyear:Settings$endyear)){
+ cat(paste0("\n------------------------------\nYear:",year,"\n"))
+ load(file=paste0(Settings$HEISRawPath,"Y",year,"Raw.rda"))
+ ft <- FoodTables[Year==year]
+ tab <- ft$Table
+ if(is.na(tab))
+ next
+ UTF <- Tables[[paste0("U",year,tab)]]
+ RTF <- Tables[[paste0("R",year,tab)]]
+ TF <- rbind(UTF,RTF)
+ for(n in names(TF)){
+ x <- which(ft==n)
+ if(length(x)>0)
+ setnames(TF,n,names(ft)[x])
+ }
+ pcols <- intersect(names(TF),c("HHID","Code","Kilos","Grams","NokhodExpenditure"))
+ TF <- TF[,pcols,with=FALSE]
+ TF <- TF[Code %in% ft$StartCode:ft$EndCode | Code==11511]
+ if(year >= 84){
+ TF[,NokhodExpenditure:=as.numeric(NokhodExpenditure)]
+ }
+ for (col in c("Kilos","Grams")) TF[is.na(get(col)), (col) := 0]
+ TF[,Kilos:=as.numeric(Kilos)]
+ TF[,Grams:=as.numeric(Grams)]
+ TF[is.na(TF)] <- 0
+ TF[,NokhodKG:=Kilos+(Grams*0.001)]
+
+ TF[,Code:=NULL]
+ TF[,Kilos:=NULL]
+ TF[,Grams:=NULL]
+ TF[is.na(TF)] <- 0
+ NokhodData <- TF[,lapply(.SD,sum),by=HHID]
+ save(NokhodData, file = paste0(Settings$HEISProcessedPath,"Y",year,"Nokhods.rda"))
+}
+
+################################################
+################ Lapeh ########################
+################################################
+cat("\n\n================ Lapeh =====================================\n")
+
+FoodTables <- data.table(read_excel(Settings$MetaDataFilePath,sheet=Settings$MDS_Lapeh))
+
+for(year in (Settings$startyear:Settings$endyear)){
+ cat(paste0("\n------------------------------\nYear:",year,"\n"))
+ load(file=paste0(Settings$HEISRawPath,"Y",year,"Raw.rda"))
+ ft <- FoodTables[Year==year]
+ tab <- ft$Table
+ if(is.na(tab))
+ next
+ UTF <- Tables[[paste0("U",year,tab)]]
+ RTF <- Tables[[paste0("R",year,tab)]]
+ TF <- rbind(UTF,RTF)
+ for(n in names(TF)){
+ x <- which(ft==n)
+ if(length(x)>0)
+ setnames(TF,n,names(ft)[x])
+ }
+ pcols <- intersect(names(TF),c("HHID","Code","Kilos","Grams","LapehExpenditure"))
+ TF <- TF[,pcols,with=FALSE]
+ TF <- TF[Code %in% ft$StartCode:ft$EndCode | Code==11511]
+ if(year >= 84){
+ TF[,LapehExpenditure:=as.numeric(LapehExpenditure)]
+ }
+ for (col in c("Kilos","Grams")) TF[is.na(get(col)), (col) := 0]
+ TF[,Kilos:=as.numeric(Kilos)]
+ TF[,Grams:=as.numeric(Grams)]
+ TF[is.na(TF)] <- 0
+ TF[,LapehKG:=Kilos+(Grams*0.001)]
+
+ TF[,Code:=NULL]
+ TF[,Kilos:=NULL]
+ TF[,Grams:=NULL]
+ TF[is.na(TF)] <- 0
+ LapehData <- TF[,lapply(.SD,sum),by=HHID]
+ save(LapehData, file = paste0(Settings$HEISProcessedPath,"Y",year,"Lapehs.rda"))
+}
+
+################################################
+################ Loobia_Chiti ########################
+################################################
+cat("\n\n================ Loobia_Chiti =====================================\n")
+
+FoodTables <- data.table(read_excel(Settings$MetaDataFilePath,sheet=Settings$MDS_Loobia_Chiti))
+
+for(year in (Settings$startyear:Settings$endyear)){
+ cat(paste0("\n------------------------------\nYear:",year,"\n"))
+ load(file=paste0(Settings$HEISRawPath,"Y",year,"Raw.rda"))
+ ft <- FoodTables[Year==year]
+ tab <- ft$Table
+ if(is.na(tab))
+ next
+ UTF <- Tables[[paste0("U",year,tab)]]
+ RTF <- Tables[[paste0("R",year,tab)]]
+ TF <- rbind(UTF,RTF)
+ for(n in names(TF)){
+ x <- which(ft==n)
+ if(length(x)>0)
+ setnames(TF,n,names(ft)[x])
+ }
+ pcols <- intersect(names(TF),c("HHID","Code","Kilos","Grams","Loobia_ChitiExpenditure"))
+ TF <- TF[,pcols,with=FALSE]
+ TF <- TF[Code %in% ft$StartCode:ft$EndCode | Code==11511]
+ if(year >= 84){
+ TF[,Loobia_ChitiExpenditure:=as.numeric(Loobia_ChitiExpenditure)]
+ }
+ for (col in c("Kilos","Grams")) TF[is.na(get(col)), (col) := 0]
+ TF[,Kilos:=as.numeric(Kilos)]
+ TF[,Grams:=as.numeric(Grams)]
+ TF[is.na(TF)] <- 0
+ TF[,Loobia_ChitiKG:=Kilos+(Grams*0.001)]
+
+ TF[,Code:=NULL]
+ TF[,Kilos:=NULL]
+ TF[,Grams:=NULL]
+ TF[is.na(TF)] <- 0
+ Loobia_ChitiData <- TF[,lapply(.SD,sum),by=HHID]
+ save(Loobia_ChitiData, file = paste0(Settings$HEISProcessedPath,"Y",year,"Loobia_Chitis.rda"))
+}
+
+################################################
+################ Loobia_Ghermez ########################
+################################################
+cat("\n\n================ Loobia_Ghermez =====================================\n")
+
+FoodTables <- data.table(read_excel(Settings$MetaDataFilePath,sheet=Settings$MDS_Loobia_Ghermez))
+
+for(year in (Settings$startyear:Settings$endyear)){
+ cat(paste0("\n------------------------------\nYear:",year,"\n"))
+ load(file=paste0(Settings$HEISRawPath,"Y",year,"Raw.rda"))
+ ft <- FoodTables[Year==year]
+ tab <- ft$Table
+ if(is.na(tab))
+ next
+ UTF <- Tables[[paste0("U",year,tab)]]
+ RTF <- Tables[[paste0("R",year,tab)]]
+ TF <- rbind(UTF,RTF)
+ for(n in names(TF)){
+ x <- which(ft==n)
+ if(length(x)>0)
+ setnames(TF,n,names(ft)[x])
+ }
+ pcols <- intersect(names(TF),c("HHID","Code","Kilos","Grams","Loobia_GhermezExpenditure"))
+ TF <- TF[,pcols,with=FALSE]
+ TF <- TF[Code %in% ft$StartCode:ft$EndCode | Code==11511]
+ if(year >= 84){
+ TF[,Loobia_GhermezExpenditure:=as.numeric(Loobia_GhermezExpenditure)]
+ }
+ for (col in c("Kilos","Grams")) TF[is.na(get(col)), (col) := 0]
+ TF[,Kilos:=as.numeric(Kilos)]
+ TF[,Grams:=as.numeric(Grams)]
+ TF[is.na(TF)] <- 0
+ TF[,Loobia_GhermezKG:=Kilos+(Grams*0.001)]
+
+ TF[,Code:=NULL]
+ TF[,Kilos:=NULL]
+ TF[,Grams:=NULL]
+ TF[is.na(TF)] <- 0
+ Loobia_GhermezData <- TF[,lapply(.SD,sum),by=HHID]
+ save(Loobia_GhermezData, file = paste0(Settings$HEISProcessedPath,"Y",year,"Loobia_Ghermezs.rda"))
+}
+
+################################################
+################ Adas ########################
+################################################
+cat("\n\n================ Adas =====================================\n")
+
+FoodTables <- data.table(read_excel(Settings$MetaDataFilePath,sheet=Settings$MDS_Adas))
+
+for(year in (Settings$startyear:Settings$endyear)){
+ cat(paste0("\n------------------------------\nYear:",year,"\n"))
+ load(file=paste0(Settings$HEISRawPath,"Y",year,"Raw.rda"))
+ ft <- FoodTables[Year==year]
+ tab <- ft$Table
+ if(is.na(tab))
+ next
+ UTF <- Tables[[paste0("U",year,tab)]]
+ RTF <- Tables[[paste0("R",year,tab)]]
+ TF <- rbind(UTF,RTF)
+ for(n in names(TF)){
+ x <- which(ft==n)
+ if(length(x)>0)
+ setnames(TF,n,names(ft)[x])
+ }
+ pcols <- intersect(names(TF),c("HHID","Code","Kilos","Grams","AdasExpenditure"))
+ TF <- TF[,pcols,with=FALSE]
+ TF <- TF[Code %in% ft$StartCode:ft$EndCode | Code==11511]
+ if(year >= 84){
+ TF[,AdasExpenditure:=as.numeric(AdasExpenditure)]
+ }
+ for (col in c("Kilos","Grams")) TF[is.na(get(col)), (col) := 0]
+ TF[,Kilos:=as.numeric(Kilos)]
+ TF[,Grams:=as.numeric(Grams)]
+ TF[is.na(TF)] <- 0
+ TF[,AdasKG:=Kilos+(Grams*0.001)]
+
+ TF[,Code:=NULL]
+ TF[,Kilos:=NULL]
+ TF[,Grams:=NULL]
+ TF[is.na(TF)] <- 0
+ AdasData <- TF[,lapply(.SD,sum),by=HHID]
+ save(AdasData, file = paste0(Settings$HEISProcessedPath,"Y",year,"Adass.rda"))
+}
+
+################################################
+####### Load Additional Information #############
+################################################
+load(file=paste0(Settings$HEISProcessedPath,"Y",year,"HHBase.rda"))
+HHBase<-HHBase[,.(HHID,Region,ProvinceCode)]
+
+load(file=paste0(Settings$HEISProcessedPath,"Y",year,"SMD.rda"))
+SMD<-SMD[,.(HHID,Decile,Weight,Dimension,EqSizeOECD,Total_Exp_Month_Per_nondurable)]
+
+################################################
+####### Merge Information #############
+################################################
+
+Total<-merge(HHBase,SMD,all = TRUE)
+Total<-merge(Total,MorghData,all = TRUE)
+Total<-merge(Total,SheepData,all = TRUE)
+Total<-merge(Total,CowData,all = TRUE)
+Total<-merge(Total,BerenjData,all = TRUE)
+Total<-merge(Total,RoghanData,all = TRUE)
+Total<-merge(Total,TokhmemorghData,all = TRUE)
+Total<-merge(Total,NokhodData,all = TRUE)
+Total<-merge(Total,LapehData,all = TRUE)
+Total<-merge(Total,Loobia_ChitiData,all = TRUE)
+Total<-merge(Total,Loobia_GhermezData,all = TRUE)
+Total<-merge(Total,AdasData,all = TRUE)
+
+for (col in c("MorghExpenditure","MorghKG",
+ "SheepExpenditure","SheepKG",
+ "CowExpenditure","CowKG",
+ "BerenjExpenditure","BerenjKG",
+ "RoghanExpenditure","RoghanKG",
+ "NokhodExpenditure","NokhodKG",
+ "LapehExpenditure","LapehKG",
+ "Loobia_ChitiExpenditure","Loobia_ChitiKG",
+ "Loobia_GhermezExpenditure","Loobia_GhermezKG",
+ "AdasExpenditure","AdasKG",
+ "TokhmemorghExpenditure","TokhmemorghKG")) Total[is.na(get(col)), (col) := 0]
+
+Total<-Total[Decile %in% 1:10]
+
+################################################
+############ Results #############
+################################################
+#Morgh
+Total[,weighted.mean(MorghExpenditure,Weight),by=Decile][order(Decile)]
+Total[,weighted.mean(MorghKG,Weight),by=.(Decile)][order(Decile)]
+
+Total[,weighted.mean(MorghExpenditure,Weight),by=.(Decile,Region)][order(Region,Decile)]
+Total[,weighted.mean(MorghKG,Weight),by=.(Decile,Region)][order(Region,Decile)]
+
+#Cow
+Total[,weighted.mean(CowExpenditure,Weight),by=Decile][order(Decile)]
+Total[,weighted.mean(CowKG,Weight),by=.(Decile)][order(Decile)]
+
+Total[,weighted.mean(CowExpenditure,Weight),by=.(Decile,Region)][order(Region,Decile)]
+Total[,weighted.mean(CowKG,Weight),by=.(Decile,Region)][order(Region,Decile)]
+
+#sheep
+Total[,weighted.mean(SheepExpenditure,Weight),by=Decile][order(Decile)]
+Total[,weighted.mean(SheepKG,Weight),by=.(Decile)][order(Decile)]
+
+Total[,weighted.mean(SheepExpenditure,Weight),by=.(Decile,Region)][order(Region,Decile)]
+Total[,weighted.mean(SheepKG,Weight),by=.(Decile,Region)][order(Region,Decile)]
+
+
+#Roghan
+Total[,weighted.mean(RoghanExpenditure,Weight),by=Decile][order(Decile)]
+Total[,weighted.mean(RoghanKG,Weight),by=.(Decile)][order(Decile)]
+
+Total[,weighted.mean(RoghanExpenditure,Weight),by=.(Decile,Region)][order(Region,Decile)]
+Total[,weighted.mean(RoghanKG,Weight),by=.(Decile,Region)][order(Region,Decile)]
+
+
+#Berenj
+Total[,weighted.mean(BerenjExpenditure,Weight),by=Decile][order(Decile)]
+Total[,weighted.mean(BerenjKG,Weight),by=.(Decile)][order(Decile)]
+
+Total[,weighted.mean(BerenjExpenditure,Weight),by=.(Decile,Region)][order(Region,Decile)]
+Total[,weighted.mean(BerenjKG,Weight),by=.(Decile,Region)][order(Region,Decile)]
+
+#Dimension
+Total[,weighted.mean(Dimension,Weight),by=.(Decile)][order(Decile)]
+
+Total[,weighted.mean(Dimension,Weight),by=.(Decile,Region)][order(Region,Decile)]
+
+endtime <- proc.time()
+cat("\n\n============================\nIt took ")
+cat(endtime-starttime)
diff --git a/R/Archive/November 2019/97-Foods essential groups TS.R b/R/Archive/November 2019/97-Foods essential groups TS.R
new file mode 100644
index 00000000..2782e589
--- /dev/null
+++ b/R/Archive/November 2019/97-Foods essential groups TS.R
@@ -0,0 +1,382 @@
+# Foods essential groups information
+#
+#
+# Copyright © 2017: Arin Shahbazian
+# Licence: GPL-3
+
+rm(list=ls())
+
+starttime <- proc.time()
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+library(data.table)
+library(stringr)
+library(readxl)
+
+################################################
+################ Morgh ########################
+################################################
+cat("\n\n================ Morgh =====================================\n")
+
+FoodTables <- data.table(read_excel(Settings$MetaDataFilePath,sheet=Settings$MDS_Morgh))
+
+for(year in (Settings$startyear:Settings$endyear)){
+ cat(paste0("\n------------------------------\nYear:",year,"\n"))
+ load(file=paste0(Settings$HEISRawPath,"Y",year,"Raw.rda"))
+ ft <- FoodTables[Year==year]
+ tab <- ft$Table
+ if(is.na(tab))
+ next
+ UTF <- Tables[[paste0("U",year,tab)]]
+ RTF <- Tables[[paste0("R",year,tab)]]
+ TF <- rbind(UTF,RTF)
+ for(n in names(TF)){
+ x <- which(ft==n)
+ if(length(x)>0)
+ setnames(TF,n,names(ft)[x])
+ }
+ pcols <- intersect(names(TF),c("HHID","Code","Kilos","Grams","MorghExpenditure"))
+ TF <- TF[,pcols,with=FALSE]
+ TF <- TF[Code %in% ft$StartCode:ft$EndCode]
+ if(year >= 84){
+ TF[,MorghExpenditure:=as.numeric(MorghExpenditure)]
+ }
+ for (col in c("Kilos","Grams")) TF[is.na(get(col)), (col) := 0]
+ TF[,Kilos:=as.numeric(Kilos)]
+ TF[,Grams:=as.numeric(Grams)]
+ TF[is.na(TF)] <- 0
+ TF[,MorghKG:=Kilos+(Grams*0.001)]
+
+ TF[,Code:=NULL]
+ TF[,Kilos:=NULL]
+ TF[,Grams:=NULL]
+ TF[is.na(TF)] <- 0
+ MorghData <- TF[,lapply(.SD,sum),by=HHID]
+ save(MorghData, file = paste0(Settings$HEISProcessedPath,"Y",year,"Morghs.rda"))
+ }
+
+################################################
+################ Cow ########################
+################################################
+cat("\n\n================ Cow =====================================\n")
+
+FoodTables <- data.table(read_excel(Settings$MetaDataFilePath,sheet=Settings$MDS_Cow))
+
+for(year in (Settings$startyear:Settings$endyear)){
+ cat(paste0("\n------------------------------\nYear:",year,"\n"))
+ load(file=paste0(Settings$HEISRawPath,"Y",year,"Raw.rda"))
+ ft <- FoodTables[Year==year]
+ tab <- ft$Table
+ if(is.na(tab))
+ next
+ UTF <- Tables[[paste0("U",year,tab)]]
+ RTF <- Tables[[paste0("R",year,tab)]]
+ TF <- rbind(UTF,RTF)
+ for(n in names(TF)){
+ x <- which(ft==n)
+ if(length(x)>0)
+ setnames(TF,n,names(ft)[x])
+ }
+ pcols <- intersect(names(TF),c("HHID","Code","Kilos","Grams","CowExpenditure"))
+ TF <- TF[,pcols,with=FALSE]
+ TF <- TF[Code %in% ft$StartCode:ft$EndCode]
+ if(year >= 84){
+ TF[,CowExpenditure:=as.numeric(CowExpenditure)]
+ }
+ for (col in c("Kilos","Grams")) TF[is.na(get(col)), (col) := 0]
+ TF[,Kilos:=as.numeric(Kilos)]
+ TF[,Grams:=as.numeric(Grams)]
+ TF[is.na(TF)] <- 0
+ TF[,CowKG:=Kilos+(Grams*0.001)]
+
+ TF[,Code:=NULL]
+ TF[,Kilos:=NULL]
+ TF[,Grams:=NULL]
+ TF[is.na(TF)] <- 0
+ CowData <- TF[,lapply(.SD,sum),by=HHID]
+ save(CowData, file = paste0(Settings$HEISProcessedPath,"Y",year,"Cows.rda"))
+}
+
+################################################
+################ Sheep ########################
+################################################
+cat("\n\n================ Sheep =====================================\n")
+
+FoodTables <- data.table(read_excel(Settings$MetaDataFilePath,sheet=Settings$MDS_Sheep))
+
+for(year in (Settings$startyear:Settings$endyear)){
+ cat(paste0("\n------------------------------\nYear:",year,"\n"))
+ load(file=paste0(Settings$HEISRawPath,"Y",year,"Raw.rda"))
+ ft <- FoodTables[Year==year]
+ tab <- ft$Table
+ if(is.na(tab))
+ next
+ UTF <- Tables[[paste0("U",year,tab)]]
+ RTF <- Tables[[paste0("R",year,tab)]]
+ TF <- rbind(UTF,RTF)
+ for(n in names(TF)){
+ x <- which(ft==n)
+ if(length(x)>0)
+ setnames(TF,n,names(ft)[x])
+ }
+ pcols <- intersect(names(TF),c("HHID","Code","Kilos","Grams","SheepExpenditure"))
+ TF <- TF[,pcols,with=FALSE]
+ TF <- TF[Code %in% ft$StartCode:ft$EndCode]
+ if(year >= 84){
+ TF[,SheepExpenditure:=as.numeric(SheepExpenditure)]
+ }
+ for (col in c("Kilos","Grams")) TF[is.na(get(col)), (col) := 0]
+ TF[,Kilos:=as.numeric(Kilos)]
+ TF[,Grams:=as.numeric(Grams)]
+ TF[is.na(TF)] <- 0
+ TF[,SheepKG:=Kilos+(Grams*0.001)]
+
+ TF[,Code:=NULL]
+ TF[,Kilos:=NULL]
+ TF[,Grams:=NULL]
+ TF[is.na(TF)] <- 0
+ SheepData <- TF[,lapply(.SD,sum),by=HHID]
+ save(SheepData, file = paste0(Settings$HEISProcessedPath,"Y",year,"Sheeps.rda"))
+}
+
+################################################
+################ BerenjI ########################
+################################################
+cat("\n\n================ BerenjI =====================================\n")
+
+FoodTables <- data.table(read_excel(Settings$MetaDataFilePath,sheet=Settings$MDS_BerenjI))
+
+for(year in (Settings$startyear:Settings$endyear)){
+ cat(paste0("\n------------------------------\nYear:",year,"\n"))
+ load(file=paste0(Settings$HEISRawPath,"Y",year,"Raw.rda"))
+ ft <- FoodTables[Year==year]
+ tab <- ft$Table
+ if(is.na(tab))
+ next
+ UTF <- Tables[[paste0("U",year,tab)]]
+ RTF <- Tables[[paste0("R",year,tab)]]
+ TF <- rbind(UTF,RTF)
+ for(n in names(TF)){
+ x <- which(ft==n)
+ if(length(x)>0)
+ setnames(TF,n,names(ft)[x])
+ }
+ pcols <- intersect(names(TF),c("HHID","Code","Kilos","Grams","BerenjIExpenditure"))
+ TF <- TF[,pcols,with=FALSE]
+ TF <- TF[Code %in% ft$StartCode:ft$EndCode]
+ if(year >= 84){
+ TF[,BerenjIExpenditure:=as.numeric(BerenjIExpenditure)]
+ }
+ for (col in c("Kilos","Grams")) TF[is.na(get(col)), (col) := 0]
+ TF[,Kilos:=as.numeric(Kilos)]
+ TF[,Grams:=as.numeric(Grams)]
+ TF[is.na(TF)] <- 0
+ TF[,BerenjIKG:=Kilos+(Grams*0.001)]
+
+ TF[,Code:=NULL]
+ TF[,Kilos:=NULL]
+ TF[,Grams:=NULL]
+ TF[is.na(TF)] <- 0
+ BerenjIData <- TF[,lapply(.SD,sum),by=HHID]
+ save(BerenjIData, file = paste0(Settings$HEISProcessedPath,"Y",year,"BerenjIs.rda"))
+}
+
+################################################
+################ BerenjF ########################
+################################################
+cat("\n\n================ BerenjF =====================================\n")
+
+FoodTables <- data.table(read_excel(Settings$MetaDataFilePath,sheet=Settings$MDS_BerenjF))
+
+for(year in (Settings$startyear:Settings$endyear)){
+ cat(paste0("\n------------------------------\nYear:",year,"\n"))
+ load(file=paste0(Settings$HEISRawPath,"Y",year,"Raw.rda"))
+ ft <- FoodTables[Year==year]
+ tab <- ft$Table
+ if(is.na(tab))
+ next
+ UTF <- Tables[[paste0("U",year,tab)]]
+ RTF <- Tables[[paste0("R",year,tab)]]
+ TF <- rbind(UTF,RTF)
+ for(n in names(TF)){
+ x <- which(ft==n)
+ if(length(x)>0)
+ setnames(TF,n,names(ft)[x])
+ }
+ pcols <- intersect(names(TF),c("HHID","Code","Kilos","Grams","BerenjFExpenditure"))
+ TF <- TF[,pcols,with=FALSE]
+ TF <- TF[Code %in% ft$StartCode:ft$EndCode]
+ if(year >= 84){
+ TF[,BerenjFExpenditure:=as.numeric(BerenjFExpenditure)]
+ }
+ for (col in c("Kilos","Grams")) TF[is.na(get(col)), (col) := 0]
+ TF[,Kilos:=as.numeric(Kilos)]
+ TF[,Grams:=as.numeric(Grams)]
+ TF[is.na(TF)] <- 0
+ TF[,BerenjFKG:=Kilos+(Grams*0.001)]
+
+ TF[,Code:=NULL]
+ TF[,Kilos:=NULL]
+ TF[,Grams:=NULL]
+ TF[is.na(TF)] <- 0
+ BerenjFData <- TF[,lapply(.SD,sum),by=HHID]
+ save(BerenjFData, file = paste0(Settings$HEISProcessedPath,"Y",year,"BerenjFs.rda"))
+}
+
+################################################
+################ Roghan ########################
+################################################
+cat("\n\n================ Roghan =====================================\n")
+
+FoodTables <- data.table(read_excel(Settings$MetaDataFilePath,sheet=Settings$MDS_Roghan))
+
+for(year in (Settings$startyear:Settings$endyear)){
+ cat(paste0("\n------------------------------\nYear:",year,"\n"))
+ load(file=paste0(Settings$HEISRawPath,"Y",year,"Raw.rda"))
+ ft <- FoodTables[Year==year]
+ tab <- ft$Table
+ if(is.na(tab))
+ next
+ UTF <- Tables[[paste0("U",year,tab)]]
+ RTF <- Tables[[paste0("R",year,tab)]]
+ TF <- rbind(UTF,RTF)
+ for(n in names(TF)){
+ x <- which(ft==n)
+ if(length(x)>0)
+ setnames(TF,n,names(ft)[x])
+ }
+ pcols <- intersect(names(TF),c("HHID","Code","Kilos","Grams","RoghanExpenditure"))
+ TF <- TF[,pcols,with=FALSE]
+ TF <- TF[Code %in% ft$StartCode:ft$EndCode | Code==11511]
+ if(year >= 84){
+ TF[,RoghanExpenditure:=as.numeric(RoghanExpenditure)]
+ }
+ for (col in c("Kilos","Grams")) TF[is.na(get(col)), (col) := 0]
+ TF[,Kilos:=as.numeric(Kilos)]
+ TF[,Grams:=as.numeric(Grams)]
+ TF[is.na(TF)] <- 0
+ TF[,RoghanKG:=Kilos+(Grams*0.001)]
+
+ TF[,Code:=NULL]
+ TF[,Kilos:=NULL]
+ TF[,Grams:=NULL]
+ TF[is.na(TF)] <- 0
+ RoghanData <- TF[,lapply(.SD,sum),by=HHID]
+ save(RoghanData, file = paste0(Settings$HEISProcessedPath,"Y",year,"Roghans.rda"))
+}
+
+################################################
+################ Tokhmemorgh ########################
+################################################
+cat("\n\n================ Tokhmemorgh =====================================\n")
+
+FoodTables <- data.table(read_excel(Settings$MetaDataFilePath,sheet=Settings$MDS_Tokhmemorgh))
+
+for(year in (Settings$startyear:Settings$endyear)){
+ cat(paste0("\n------------------------------\nYear:",year,"\n"))
+ load(file=paste0(Settings$HEISRawPath,"Y",year,"Raw.rda"))
+ ft <- FoodTables[Year==year]
+ tab <- ft$Table
+ if(is.na(tab))
+ next
+ UTF <- Tables[[paste0("U",year,tab)]]
+ RTF <- Tables[[paste0("R",year,tab)]]
+ TF <- rbind(UTF,RTF)
+ for(n in names(TF)){
+ x <- which(ft==n)
+ if(length(x)>0)
+ setnames(TF,n,names(ft)[x])
+ }
+ pcols <- intersect(names(TF),c("HHID","Code","Kilos","Grams","TokhmemorghExpenditure"))
+ TF <- TF[,pcols,with=FALSE]
+ TF <- TF[Code %in% ft$StartCode:ft$EndCode | Code==11511]
+ if(year >= 84){
+ TF[,TokhmemorghExpenditure:=as.numeric(TokhmemorghExpenditure)]
+ }
+ for (col in c("Kilos","Grams")) TF[is.na(get(col)), (col) := 0]
+ TF[,Kilos:=as.numeric(Kilos)]
+ TF[,Grams:=as.numeric(Grams)]
+ TF[is.na(TF)] <- 0
+ TF[,TokhmemorghKG:=Kilos+(Grams*0.001)]
+
+ TF[,Code:=NULL]
+ TF[,Kilos:=NULL]
+ TF[,Grams:=NULL]
+ TF[is.na(TF)] <- 0
+ TokhmemorghData <- TF[,lapply(.SD,sum),by=HHID]
+ save(TokhmemorghData, file = paste0(Settings$HEISProcessedPath,"Y",year,"Tokhmemorghs.rda"))
+}
+
+################################################
+####### Load Additional Information #############
+################################################
+load(file=paste0(Settings$HEISProcessedPath,"Y",year,"HHBase.rda"))
+HHBase<-HHBase[,.(HHID,Region,ProvinceCode)]
+
+load(file=paste0(Settings$HEISProcessedPath,"Y",year,"SMD.rda"))
+SMD<-SMD[,.(HHID,Decile,Weight,Dimension,EqSizeOECD,Total_Exp_Month_Per_nondurable)]
+
+################################################
+####### Merge Information #############
+################################################
+
+Total<-merge(HHBase,SMD,all = TRUE)
+Total<-merge(Total,MorghData,all = TRUE)
+Total<-merge(Total,SheepData,all = TRUE)
+Total<-merge(Total,CowData,all = TRUE)
+Total<-merge(Total,BerenjIData,all = TRUE)
+Total<-merge(Total,BerenjFData,all = TRUE)
+Total<-merge(Total,RoghanData,all = TRUE)
+Total<-merge(Total,TokhmemorghData,all = TRUE)
+
+
+for (col in c("MorghExpenditure","MorghKG",
+ "SheepExpenditure","SheepKG",
+ "CowExpenditure","CowKG",
+ "BerenjIExpenditure","BerenjIKG",
+ "BerenjFExpenditure","BerenjFKG",
+ "RoghanExpenditure","RoghanKG",
+ "TokhmemorghExpenditure","TokhmemorghKG")) Total[is.na(get(col)), (col) := 0]
+
+Total<-Total[Decile %in% 1:10]
+save(Total,file = paste0("Y",year,"Total.rda"))
+#load(file=paste0("Y",year,"Total.rda"))
+################################################
+############ Results #############
+################################################
+#Dimension
+Total[,weighted.mean(Dimension,Weight),by=.(Region)][order(Region)]
+Total[,weighted.mean(Dimension,Weight)]
+
+#BerenjI
+Total[,weighted.mean(BerenjIKG,Weight),by=.(Region)][order(Region)]
+Total[,weighted.mean(BerenjIKG,Weight)]
+
+#BerenjF
+Total[,weighted.mean(BerenjFKG,Weight),by=.(Region)][order(Region)]
+Total[,weighted.mean(BerenjFKG,Weight)]
+
+#Roghan
+Total[,weighted.mean(RoghanKG,Weight),by=.(Region)][order(Region)]
+Total[,weighted.mean(RoghanKG,Weight)]
+
+#Tokhmemorgh
+Total[,weighted.mean(TokhmemorghKG,Weight),by=.(Region)][order(Region)]
+Total[,weighted.mean(TokhmemorghKG,Weight)]
+
+#Cow
+Total[,weighted.mean(CowKG,Weight),by=.(Region)][order(Region)]
+Total[,weighted.mean(CowKG,Weight)]
+
+#sheep
+Total[,weighted.mean(SheepKG,Weight),by=.(Region)][order(Region)]
+Total[,weighted.mean(SheepKG,Weight)]
+
+#Morgh
+Total[,weighted.mean(MorghKG,Weight),by=.(Region)][order(Region)]
+Total[,weighted.mean(MorghKG,Weight)]
+
+endtime <- proc.time()
+cat("\n\n============================\nIt took ")
+cat(endtime-starttime)
diff --git a/R/Archive/November 2019/98-goosht.R b/R/Archive/November 2019/98-goosht.R
new file mode 100644
index 00000000..7e97a702
--- /dev/null
+++ b/R/Archive/November 2019/98-goosht.R
@@ -0,0 +1,138 @@
+# 21-HHFoods.R
+# Builds the Food expenditures data.table for households
+#
+# Copyright © 2017: Arin Shahbazian
+# Licence: GPL-3
+
+rm(list=ls())
+
+starttime <- proc.time()
+cat("\n\n================ HHFoods =====================================\n")
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+library(data.table)
+library(stringr)
+library(readxl)
+
+
+FoodTables <- data.table(read_excel(Settings$MetaDataFilePath,sheet=Settings$MDS_Morgh))
+
+
+
+for(year in (Settings$startyear:Settings$endyear)){
+ cat(paste0("\n------------------------------\nYear:",year,"\n"))
+ load(file=paste0(Settings$HEISRawPath,"Y",year,"Raw.rda"))
+ ft <- FoodTables[Year==year]
+ tab <- ft$Table
+ if(is.na(tab))
+ next
+ UTF <- Tables[[paste0("U",year,tab)]]
+ RTF <- Tables[[paste0("R",year,tab)]]
+ TF <- rbind(UTF,RTF)
+ for(n in names(TF)){
+ x <- which(ft==n)
+ if(length(x)>0)
+ setnames(TF,n,names(ft)[x])
+ }
+ pcols <- intersect(names(TF),c("HHID","Code","MorghExpenditure"))
+ TF <- TF[,pcols,with=FALSE]
+ TF <- TF[Code %in% ft$StartCode:ft$EndCode]
+ if(year >= 84){
+ TF[,MorghExpenditure:=as.numeric(MorghExpenditure)]
+ }
+ TF[,Code:=NULL]
+ TF[is.na(TF)] <- 0
+ MorghData <- TF[,lapply(.SD,sum),by=HHID]
+ save(MorghData, file = paste0(Settings$HEISProcessedPath,"Y",year,"Morghs.rda"))
+}
+
+
+FoodTables <- data.table(read_excel(Settings$MetaDataFilePath,sheet=Settings$MDS_Cow))
+
+
+for(year in (Settings$startyear:Settings$endyear)){
+ cat(paste0("\n------------------------------\nYear:",year,"\n"))
+ load(file=paste0(Settings$HEISRawPath,"Y",year,"Raw.rda"))
+ ft <- FoodTables[Year==year]
+ tab <- ft$Table
+ if(is.na(tab))
+ next
+ UTF <- Tables[[paste0("U",year,tab)]]
+ RTF <- Tables[[paste0("R",year,tab)]]
+ TF <- rbind(UTF,RTF)
+ for(n in names(TF)){
+ x <- which(ft==n)
+ if(length(x)>0)
+ setnames(TF,n,names(ft)[x])
+ }
+ pcols <- intersect(names(TF),c("HHID","Code","CowExpenditure"))
+ TF <- TF[,pcols,with=FALSE]
+ TF <- TF[Code %in% ft$StartCode:ft$EndCode]
+ if(year >= 84){
+ TF[,CowExpenditure:=as.numeric(CowExpenditure)]
+ }
+ TF[,Code:=NULL]
+ TF[is.na(TF)] <- 0
+ CowData <- TF[,lapply(.SD,sum),by=HHID]
+ save(CowData, file = paste0(Settings$HEISProcessedPath,"Y",year,"Cows.rda"))
+}
+
+
+
+FoodTables <- data.table(read_excel(Settings$MetaDataFilePath,sheet=Settings$MDS_Sheep))
+
+
+for(year in (Settings$startyear:Settings$endyear)){
+ cat(paste0("\n------------------------------\nYear:",year,"\n"))
+ load(file=paste0(Settings$HEISRawPath,"Y",year,"Raw.rda"))
+ ft <- FoodTables[Year==year]
+ tab <- ft$Table
+ if(is.na(tab))
+ next
+ UTF <- Tables[[paste0("U",year,tab)]]
+ RTF <- Tables[[paste0("R",year,tab)]]
+ TF <- rbind(UTF,RTF)
+ for(n in names(TF)){
+ x <- which(ft==n)
+ if(length(x)>0)
+ setnames(TF,n,names(ft)[x])
+ }
+ pcols <- intersect(names(TF),c("HHID","Code","SheepExpenditure"))
+ TF <- TF[,pcols,with=FALSE]
+ TF <- TF[Code %in% ft$StartCode:ft$EndCode]
+ if(year >= 84){
+ TF[,SheepExpenditure:=as.numeric(SheepExpenditure)]
+ }
+ TF[,Code:=NULL]
+ TF[is.na(TF)] <- 0
+ SheepData <- TF[,lapply(.SD,sum),by=HHID]
+ save(SheepData, file = paste0(Settings$HEISProcessedPath,"Y",year,"Sheeps.rda"))
+}
+
+load(file=paste0(Settings$HEISProcessedPath,"Y",year,"Final.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y",year,"Foods.rda"))
+
+TTT<-merge(Final,FoodData,all = TRUE)
+TTT<-merge(TTT,MorghData,all = TRUE)
+TTT<-merge(TTT,SheepData,all = TRUE)
+TTT<-merge(TTT,CowData,all = TRUE)
+
+for (col in c("FoodExpenditure","MorghExpenditure",
+ "SheepExpenditure","CowExpenditure"))
+ TTT[is.na(get(col)), (col) := 0]
+
+TTT<-TTT[,R1:=MorghExpenditure/FoodExpenditure]
+TTT<-TTT[,R2:=CowExpenditure/FoodExpenditure]
+TTT<-TTT[,R3:=SheepExpenditure/FoodExpenditure]
+
+#TTT[,weighted.mean(R1,Weight)]
+TTT[FinalPoor==0 ,weighted.mean(R1,Weight)]
+#TTT[,weighted.mean(R2,Weight)]
+TTT[FinalPoor==0 ,weighted.mean(R2,Weight)]
+#TTT[,weighted.mean(R3,Weight)]
+TTT[FinalPoor==0 ,weighted.mean(R3,Weight)]
+
+endtime <- proc.time()
+cat("\n\n============================\nIt took ")
+cat(endtime-starttime)
diff --git a/R/Archive/November 2019/Back to back_Hist.R b/R/Archive/November 2019/Back to back_Hist.R
new file mode 100644
index 00000000..5457eb40
--- /dev/null
+++ b/R/Archive/November 2019/Back to back_Hist.R
@@ -0,0 +1,152 @@
+#Hist
+# Licence: GPL-3
+rm(list=ls())
+
+starttime <- proc.time()
+cat("\n\n================ Hist =====================================\n")
+
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+library(readxl)
+library(data.table)
+library(stringr)
+library(plotrix)
+library(Hmisc)
+
+
+years <- Settings$startyear:Settings$endyear
+
+for(year in years){
+ cat(paste0("\n------------------------------\nYear:",year,"\n"))
+ #load(file=paste0(Settings$HEISProcessedPath,"Y",year,"P1.rda"))
+ #P1<-P1[Age<20]
+
+ #out <- histbackback(split(P1$Age, P1$Sex),ylim(), main="83")
+ #barplot(-out$left, col="orange" , horiz=TRUE, space=0, add=TRUE, axes=FALSE)
+ #barplot(out$right, col="purple", horiz=TRUE, space=0, add=TRUE, axes=FALSE)
+
+
+}
+
+X <- c(rep(65, times=5), rep(25, times=5), rep(35, times=10), rep(45, times=4))
+hist(X, prob=TRUE, col="grey")# prob=TRUE for probabilities not counts
+lines(density(X), col="blue", lwd=2) # add a density estimate with defaults
+lines(density(X, adjust=2), lty="dotted", col="darkgreen", lwd=2)
+
+
+foo <- c(850 ,
+ 1250 ,
+ 1430 ,
+ 1560 ,
+ 1690 ,
+ 1980 ,
+ 1980 ,
+ 1980 ,
+ 1980 ,
+ 1980 ,
+ 2370 ,
+ 2370 ,
+ 2370 ,
+ 2370 ,
+ 2370 ,
+ 2700 ,
+ 2700 ,
+ 2700 ,
+ 2700 ,
+ 2700 ,
+ 2460 ,
+ 2460 ,
+ 2460 ,
+ 2460 ,
+ 2460 ,
+ 2460 ,
+ 2460 ,
+ 2460 ,
+ 2460 ,
+ 2460 ,
+ 2460 ,
+ 2460 ,
+ 2460 ,
+ 2460 ,
+ 2460 ,
+ 2460 ,
+ 2460 ,
+ 2460 ,
+ 2460 ,
+ 2460 ,
+ 2460 ,
+ 2460 ,
+ 2460 ,
+ 2460 ,
+ 2460 ,
+ 2460 ,
+ 2460 ,
+ 2460 ,
+ 2460 ,
+ 2460 ,
+ 2460 ,
+ 2460 ,
+ 2460 ,
+ 2460 ,
+ 2460 ,
+ 2460 ,
+ 2460 ,
+ 2460 ,
+ 2460 ,
+ 2460 ,
+ 2010 ,
+ 2010 ,
+ 2010 ,
+ 2010 ,
+ 2010 ,
+ 2010 ,
+ 2010 ,
+ 2010 ,
+ 2010 ,
+ 2010 ,
+ 2010 ,
+ 2010 ,
+ 2010 ,
+ 2010 ,
+ 2010 ,
+ 2010 ,
+ 2010 ,
+ 2010 ,
+ 2010 ,
+ 2010 ,
+ 2010 ,
+ 2010 ,
+ 2010 ,
+ 2010 ,
+ 2010 ,
+ 2010 ,
+ 2010 ,
+ 2010 ,
+ 2010 ,
+ 2010 ,
+ 2010 ,
+ 2010 ,
+ 2010 ,
+ 2010 ,
+ 2010 ,
+ 2010 ,
+ 2010 ,
+ 2010 ,
+ 2010 ,
+ 2010
+)
+hist(foo, prob=TRUE)
+curve(dnorm(x, mean=mean(foo), sd=sd(foo)), add=TRUE)
+
+
+Poverty <- read_excel("C:/Users/pc1/Desktop/Poverty.xlsx",sheet = "Age2")
+save(Poverty,file = "Ages_Calorie.rda")
+
+
+p1<-ggplot(Poverty,aes(Age,Needed_Calorie,fill=Sex,alpha=0.5))+geom_col(alpha=0.5,position="dodge")
+p2<-ggplot(Poverty,aes(Age,Needed_Calorie,fill=Sex))+stat_smooth(aes(y=Needed_Calorie,x=Age),method="gam",se=FALSE,formula=y~s(x,k=7))
+p3<-ggplot(Poverty,aes(Age,Needed_Calorie,fill=Sex,alpha=0.5))+geom_density(stat="identity")
+
+library(gridExtra)
+grid.arrange(p1,p2,p3,nrow=3)
diff --git a/R/Archive/November 2019/IranProvinceMap.Rproj b/R/Archive/November 2019/IranProvinceMap.Rproj
new file mode 100644
index 00000000..b42a3ccb
--- /dev/null
+++ b/R/Archive/November 2019/IranProvinceMap.Rproj
@@ -0,0 +1,16 @@
+Version: 1.0
+
+RestoreWorkspace: Default
+SaveWorkspace: Default
+AlwaysSaveHistory: Default
+
+EnableCodeIndexing: Yes
+UseSpacesForTab: Yes
+NumSpacesForTab: 2
+Encoding: UTF-8
+
+RnwWeave: knitr
+LaTeX: XeLaTeX
+
+AutoAppendNewline: Yes
+StripTrailingWhitespace: Yes
diff --git a/R/Archive/November 2019/Test- Arin Shahbazian.R b/R/Archive/November 2019/Test- Arin Shahbazian.R
new file mode 100644
index 00000000..54b9f693
--- /dev/null
+++ b/R/Archive/November 2019/Test- Arin Shahbazian.R
@@ -0,0 +1,53 @@
+#Test- Arin Shahbazian
+rm(list=ls())
+
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+library(readxl)
+library(data.table)
+library(stringr)
+
+year<-96
+
+load( file=paste0(Settings$HEISProcessedPath,"Y",year,"Merged4CBN.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y",year,"SMD.rda"))
+
+Total<-merge(MD,SMD[,.(HHID,Decile,Percentile)],by="HHID")
+
+Total<-Total[,FoodExp_Per:=FoodExpenditure/EqSizeCalory]
+Total2<-Total[FoodExp_Per>2000000]
+
+
+
+Total2[,weighted.mean(FoodExp_Per,Weight)]
+Total2[,weighted.mean(FoodExp_Per,Weight),by=.(Region,NewArea_Name)][order(V1)]
+Total2<-Total2[,FoodExp_per_Ostani:=weighted.mean(FoodExp_Per,Weight),by=.(Region,NewArea_Name)]
+
+Total2<-Total2[Size>3,Behdasht1:=weighted.mean(Behdasht_Exp,Weight),by=.(Size)]
+x<-Total2[,.(HHID,Size,Behdasht_Exp,Behdasht1,Weight)]
+
+
+x[,weighted.mean(Behdasht1,Weight,na.rm = TRUE)]
+
+for (col in c("Behdasht1")) x[is.na(get(col)), (col) := 0]
+
+
+set1 <- c( "FoodExpenditure", "Behdasht_Exp","Amusement_Exp")
+Total2[, Exp3 := Reduce(`+`, .SD), .SDcols=set1]
+
+
+Total3<-Total2[,.(Region,NewArea_Name,FoodExpenditure,
+ Behdasht_Exp,Amusement_Exp,Weight)]
+Total4 <- Total3[,lapply(.SD,sum),by=.(Region,NewArea_Name)]
+
+load( file = paste0(Settings$HEISProcessedPath,"Y",year,"Farhangis2.rda"))
+
+Total2<-merge(Total2,FarhangiData,all.x = TRUE)
+for (col in c("Code","FarhangiExpenditure")) Total2[is.na(get(col)), (col) := 0]
+
+cat(Total2[,weighted.mean(FoodKCaloriesHH_Per,Weight)],"\n",
+ Total2[,weighted.mean(FoodProtein_Per,Weight)],"\n",
+ Total2[,weighted.mean(FoodExp_Per,Weight)],"\n",
+ Total2[,weighted.mean(Total_Exp_Month_Per_nondurable,Weight)])
+
diff --git a/R/Archive/November 2019/Test2- Arin Shahbazian.R b/R/Archive/November 2019/Test2- Arin Shahbazian.R
new file mode 100644
index 00000000..5b11a732
--- /dev/null
+++ b/R/Archive/November 2019/Test2- Arin Shahbazian.R
@@ -0,0 +1,45 @@
+#Test2- Arin Shahbazian
+rm(list=ls())
+
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+library(readxl)
+library(data.table)
+library(stringr)
+
+year<-96
+
+load( file=paste0(Settings$HEISProcessedPath,"Y",year,"Merged4CBN.rda"))
+TD<-MD
+load(file=paste0(Settings$HEISProcessedPath,"Y",year,"SMD.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y",year,"FINALPOORS.rda"))
+
+Total<-merge(TD,SMD[,.(HHID,Decile,Percentile)],by="HHID")
+Total<-merge(Total,MD[,.(HHID,Bundle_Value,PEngel,Engel,
+ FPLine,PovertyLine,FinalFoodPoor,FinalPoor)])
+
+Total[,weighted.mean(FinalPoor,Weight),by=.(Region)]
+Total[,weighted.mean(FinalPoor,Weight*Size),by=.(Region)]
+
+Total[,weighted.mean(FinalPoor,Weight*Size),by=.(ProvinceCode)]
+
+Total<-Total[,Diet:=ifelse(FinalFoodPoor==1 & FinalPoor==0,1,0)]
+Total[,weighted.mean(Diet,Weight*Size),by=.(Region)]
+Total[NewArea_Name=="Sh_Tehran",weighted.mean(Diet,Weight)]
+
+TotalD <- Total[Diet==1,
+ .(.N,Engle1=weighted.mean(FoodExpenditure/Total_Exp_Month,Weight)),
+ by=.(Region,NewArea_Name)]
+TotalD<-TotalD[,Sample:=N]
+TotalD[,N:=NULL]
+
+TotalS<-Total[FinalPoor==1,
+ .(.N,Engle2=weighted.mean(FoodExpenditure/Total_Exp_Month,Weight)),
+ by=.(Region,NewArea_Name)]
+TotalS<-TotalS[,Sample2:=N]
+TotalD[,N:=NULL]
+
+TotalT<-merge(TotalD,TotalS[,.(Region,NewArea_Name,Engle2,Sample2)])
+
+
diff --git a/R/Archive/November 2019/Wooman Heads.R b/R/Archive/November 2019/Wooman Heads.R
new file mode 100644
index 00000000..e98a2b3d
--- /dev/null
+++ b/R/Archive/November 2019/Wooman Heads.R
@@ -0,0 +1,414 @@
+# Wooman Heads.R
+#
+#
+# Copyright © 2019: Arin Shahbazian
+# Licence: GPL-3
+
+rm(list=ls())
+
+starttime <- proc.time()
+cat("\n\n================ HHBase =====================================\n")
+
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+library(data.table)
+library(stringr)
+
+
+year<-96
+ cat(paste0("\n------------------------------\nYear:",year,"\n"))
+
+ load(file=paste0(Settings$HEISRawPath,"Y",year,"Raw.rda"))
+
+ if(year >86 & year < 92 ){
+ load(file=paste0(Settings$HEISCountyCodePath,"Y",year,Settings$HEISCountyCodeFileName,".rda"))
+ }
+
+ if(year < 87){ # RxxData & UxxData tables are provided Since 1387
+ RData <- Tables[[paste0("R",year,"P2")]][,1,with=FALSE]
+ RData[, Region:=factor(x="Rural",levels=c("Urban","Rural"))]
+ UData <- Tables[[paste0("U",year,"P2")]][,1,with=FALSE]
+ UData[, Region:=factor(x="Urban",levels=c("Urban","Rural"))]
+ HHBase <- rbind(RData, UData)
+ rm(RData,UData)
+ setnames(HHBase,c("HHID","Region"))
+ HHBase[,Year:=year]
+ if(year==74)
+ HHBase[,HHIDs:=formatC(HHID, width = 8, flag = "0")]
+ else if(year<77)
+ HHBase[,HHIDs:=formatC(HHID, width = 7, flag = "0")]
+ else if(year %in% 77:86)
+ HHBase[,HHIDs:=formatC(HHID, width = 9, flag = "0")]
+
+ if(year < 77)
+ HHBase[,Quarter:=as.integer(str_sub(HHIDs,4,4))]
+ else
+ HHBase[,Quarter:=as.integer(str_sub(HHIDs,6,6))]
+ HHBase[,Month:=NA_integer_]
+ }else{
+ RData <- Tables[[paste0("R",year,"DATA")]][,c(1:2),with=FALSE]
+ RData[, Region:=factor(x="Rural",levels=c("Urban","Rural"))]
+ UData <- Tables[[paste0("U",year,"DATA")]][,c(1:2),with=FALSE]
+ UData[, Region:=factor(x="Urban",levels=c("Urban","Rural"))]
+ HHBase <- rbind(RData, UData)
+ rm(RData,UData)
+ setnames(HHBase,c("HHID","Month","Region"))
+ HHBase[,Month:=ifelse(Month==1,12,Month - 1)]
+ HHBase[,Quarter:=(Month-1)%/%3+1]
+ HHBase[,HHIDs:=as.character(HHID)]
+ }
+
+ if(year >86 & year < 92 ){
+ HHBase<-merge(HHBase,ShCode,by="HHID",all.x = TRUE)
+ }
+
+ HHBase <- HHBase[!is.na(HHID)]
+ HHBase[,ProvinceCode:=as.integer(str_sub(HHIDs,2,3))]
+
+ if(year <87 | year > 91 ){
+ HHBase[,CountyCode:=as.integer(str_sub(HHIDs,2,5))]
+ }
+
+ if(year >86 & year < 92 ){
+ HHBase[,CountyCode:=as.integer(SHCode)]
+ }
+
+ HHBase[,Year:=year]
+ HHBase <- HHBase[,.(HHID,Region,Year,Quarter,Month,ProvinceCode,CountyCode)]
+
+ HHBase[,NewArea:=ProvinceCode]
+ HHBase[Region=="Urban" &
+ CountyCode %in% c(2301,303,603,707,
+ 916,1002,3001,502,2202,
+ 401,808,1,1105,
+ 1304,2105,105),
+ NewArea:=CountyCode]
+
+ #Tehran-Alborz
+ if(year >76 & year < 92 ){
+ HHBase[ Region=="Urban" & CountyCode %in% c(2305),
+ NewArea:=3001]
+ }
+
+ if(year >76 & year < 92 ){
+ HHBase[CountyCode %in% c(2308,2315,2309),
+ NewArea:=30]
+ }
+
+ #Khorasan
+ if(year >76 & year < 87 ){
+ HHBase[Region=="Urban" & CountyCode %in% c(916),
+ NewArea:=916]
+ }
+
+ if(year >76 & year < 87 ){
+ HHBase[CountyCode %in% c(901,902,909,924,925),
+ NewArea:=28]
+ }
+
+ if(year >76 & year < 87 ){
+ HHBase[CountyCode %in% c(903,911,912,921),
+ NewArea:=29]
+ }
+
+ #Ghazvin
+ if(year >76 & year < 82 ){
+ HHBase[CountyCode %in% c(2311),
+ NewArea:=26]
+ }
+
+ #Golestan
+ if(year >76 & year < 82 ){
+ HHBase[CountyCode %in% c(212,203,209,211,213,217),
+ NewArea:=27]
+ }
+
+
+ HHBase[,NewArea_Name:=as.factor(NewArea)]
+
+ HHBase[NewArea==0,NewArea_Name:="Markazi"]
+ HHBase[NewArea==1,NewArea_Name:="Gilan"]
+ HHBase[NewArea==2,NewArea_Name:="Mazandaran"]
+ HHBase[NewArea==3,NewArea_Name:="Az_Sharghi"]
+ HHBase[NewArea==4,NewArea_Name:="Az_Gharbi"]
+ HHBase[NewArea==5,NewArea_Name:="Kermanshah"]
+ HHBase[NewArea==6,NewArea_Name:="Khoozestan"]
+ HHBase[NewArea==7,NewArea_Name:="Fars"]
+ HHBase[NewArea==8,NewArea_Name:="Kerman"]
+ HHBase[NewArea==9,NewArea_Name:="Khorasan_Razavi"]
+ HHBase[NewArea==10,NewArea_Name:="Esfahan"]
+ HHBase[NewArea==11,NewArea_Name:="Sistan"]
+ HHBase[NewArea==12,NewArea_Name:="Kordestan"]
+ HHBase[NewArea==13,NewArea_Name:="Hamedan"]
+ HHBase[NewArea==14,NewArea_Name:="Chaharmahal"]
+ HHBase[NewArea==15,NewArea_Name:="Lorestan"]
+ HHBase[NewArea==16,NewArea_Name:="Ilam"]
+ HHBase[NewArea==17,NewArea_Name:="Kohkilooye"]
+ HHBase[NewArea==18,NewArea_Name:="Booshehr"]
+ HHBase[NewArea==19,NewArea_Name:="Zanjan"]
+ HHBase[NewArea==20,NewArea_Name:="Semnan"]
+ HHBase[NewArea==21,NewArea_Name:="Yazd"]
+ HHBase[NewArea==22,NewArea_Name:="Hormozgan"]
+ HHBase[NewArea==23,NewArea_Name:="Tehran"]
+ HHBase[NewArea==24,NewArea_Name:="Ardebil"]
+ HHBase[NewArea==25,NewArea_Name:="Ghom"]
+ HHBase[NewArea==26,NewArea_Name:="Ghazvin"]
+ HHBase[NewArea==27,NewArea_Name:="Golestan"]
+ HHBase[NewArea==28,NewArea_Name:="Khorasan_Shomali"]
+ HHBase[NewArea==29,NewArea_Name:="Khorasan_Jonoobi"]
+ HHBase[NewArea==30,NewArea_Name:="Alborz"]
+ HHBase[NewArea==2301,NewArea_Name:="Sh_Tehran"]
+ HHBase[NewArea==303,NewArea_Name:="Sh_Tabriz"]
+ HHBase[NewArea==603,NewArea_Name:="Sh_Ahvaz"]
+ HHBase[NewArea==707,NewArea_Name:="Sh_Shiraz"]
+ HHBase[NewArea==916,NewArea_Name:="Sh_Mashhad"]
+ HHBase[NewArea==1002,NewArea_Name:="Sh_Esfahan"]
+ HHBase[NewArea==3001,NewArea_Name:="Sh_Karaj"]
+ HHBase[NewArea==502,NewArea_Name:="Sh_Kermanshah"]
+ HHBase[NewArea==2202,NewArea_Name:="Sh_Bandarabas"]
+ HHBase[NewArea==401,NewArea_Name:="Sh_Urmia"]
+ HHBase[NewArea==105,NewArea_Name:="Sh_Rasht"]
+ HHBase[NewArea==1105,NewArea_Name:="Sh_Zahedan"]
+ HHBase[NewArea==808,NewArea_Name:="Sh_Kerman"]
+ HHBase[NewArea==1304,NewArea_Name:="Sh_Hamedan"]
+ HHBase[NewArea==2105,NewArea_Name:="Sh_Yazd"]
+ HHBase[NewArea==1 & CountyCode==1 ,NewArea_Name:="Sh_Arak"]
+
+
+library(readxl)
+library(data.table)
+library(stringr)
+
+#P1<-P1[,`:=`(Dimension=.N),by=.(HHID)]
+
+P1Cols <- data.table(read_excel(Settings$MetaDataFilePath, Settings$MDS_P1Cols))
+
+EduCodesA <- data.table(read_excel(Settings$MetaDataFilePath,Settings$MDS_EC_A))
+EduCodesB <- data.table(read_excel(Settings$MetaDataFilePath,Settings$MDS_EC_B))
+EduCodesC <- data.table(read_excel(Settings$MetaDataFilePath,Settings$MDS_EC_C))
+
+
+
+
+
+
+
+
+ if(year<=84){
+ EduCodeT <- EduCodesA
+ }else if(year %in% 85:92){
+ EduCodeT <- EduCodesB
+ }else{
+ EduCodeT <- EduCodesC
+ }
+
+ P1 <- rbind(Tables[[paste0("R",year,"P1")]],Tables[[paste0("U",year,"P1")]])
+ nP1 <- names(P1)
+ if(length(which(sapply(P1, is.character)))>0){
+ P1c <- P1[,lapply(.SD,iconv,"WINDOWS-1252","UTF-8"), .SDcols=sapply(P1,is.character)]
+ P1nc <- P1[,!sapply(P1,is.character),with=FALSE]
+ P1 <- cbind(P1c,P1nc)[,nP1,with=FALSE]
+ }
+
+ a <- unlist(P1Cols[P1Cols$Year==year,])
+ ind <- which(!is.na(a))[-1]
+ setnames(P1,a[ind],names(a[ind]))
+
+ f <- function(x){as.numeric(str_trim(x))}
+ P1 <- P1[, lapply(.SD, f)] # , .SDcols=which(sapply(P1, class)=="character")]
+
+
+ P1[is.na(Age),Age:=0L]
+ P1[,Relationship :=factor(Relationship, levels=1:9,
+ labels=c("Head","Spouse","Child","Child-in-Law",
+ "Grand-Child","Parent","Sister/Brother",
+ "Other Family","Non-Family"))]
+
+ P1[,Sex := factor(Sex, levels=1:2,
+ labels=c("Male","Female"))]
+
+ if(year %in% 63:64){
+ P1[,Literate:=LitState<=3]
+ }else if(year %in% 65:68){
+ P1[,Literate:=LitState<=2]
+ }else{
+ P1[,Literate:=Literate==1]
+ }
+
+ if(year %in% 63:68){
+ P1[,Student:=LitState==1]
+ }else{
+ P1[,Student:=Student==1]
+ }
+
+ P1[,EduYears:=EduCodeT$yoe[match(EduCode,EduCodeT$Code)]]
+ P1$EduYears[P1$Literate==FALSE] <- 0
+ P1[,EduLevel:=cut(EduYears,breaks=c(-1,0,6,12,22),
+ labels= c("Illiterate","Primary","Secondary","University"))]
+ P1[,EduLevel0:=cut(EduYears,breaks=c(-1,0,6,9,11,12,22),
+ labels= c("Illiterate","Elementary","Middle","High","Pre","University"))]
+
+ P1[,ActivityState:=as.numeric(substr(as.character(ActivityState),1,1))]
+
+ if(year %in% 63:64){
+ P1[,ActivityState:=factor(ActivityState,1:9,
+ c("Employed","Seasonal Unemployed","Income without Work",
+ "Unemployed","Student","Housekeeper","Unemployed Not Looking for Job",
+ "Other","Former Member"))]
+ levels(P1$ActivityState) <- c(c("Employed","Unemployed","Income without Work",
+ "Unemployed","Student","Housekeeper","Other",
+ "Other","Other"))
+ }else if(year %in% 65:68){
+ P1[,ActivityState:=factor(ActivityState,1:8,
+ c("Employed","Seasonal Unemployed","Income without Work",
+ "Unemployed","Student","Housekeeper",
+ "Other","Former Member"))]
+ levels(P1$ActivityState) <- c(c("Employed","Unemployed","Income without Work",
+ "Unemployed","Student","Housekeeper","Other",
+ "Other"))
+ }else{
+ P1[,ActivityState:=factor(ActivityState,1:6,
+ c("Employed","Unemployed","Income without Work",
+ "Student","Housekeeper","Other"))]
+ }
+
+ if(year %in% 66:68){
+ P1[,MarritalState:=factor(NA,1:4,
+ c("Married","Widowed","Divorced","Bachelor"))]
+ }else{
+ P1[,MarritalState:=factor(MarritalState,1:4,
+ c("Married","Widowed","Divorced","Bachelor"))]
+ }
+
+
+
+
+ P <- copy(P1)
+
+ P <- P[order(P$HHID),]
+
+
+ B <- P[IndivNo==1]
+ setnames(B,2:length(B),sapply(X=names(B)[2:length(B)],function(X){paste("H",X,sep="")}))
+ B <- B[order(HHID,HIndivNo)]
+ B <- B[!duplicated(B$HHID),]
+
+ B[,HEmployed:=HActivityState=="Employed"]
+ B[,HUnemployed:=HActivityState=="Unemployed"]
+ B[,HIncomeWOWork:=HActivityState=="Income without Work"]
+
+ B <- B[!is.na(HActivityState) & !is.na(HLiterate)]
+
+
+ P[,Size:=1]
+ P[,NKids:=ifelse(Age<18,1,0)]
+
+ P[,NInfants:=ifelse(Age<=2,1,0)]
+ P[,NSmallKids:=ifelse(Age>=3 & Age<=13, 1, 0)]
+
+ P[,NElementary:= ifelse(EduLevel0=="Elementary" & Student==TRUE,1,0)]
+ P[,NMiddle:= ifelse(EduLevel0=="Middle" & Student==TRUE,1,0)]
+ P[,NHigh:= ifelse(EduLevel0=="High" & Student==TRUE,1,0)]
+ P[,NPre:= ifelse(EduLevel0=="Pre" & Student==TRUE,1,0)]
+
+
+ PSum <- P[,lapply(.SD,sum,na.rm=TRUE),
+ .SDcols=c("Size","NKids","NInfants","NSmallKids","NElementary",
+ "NMiddle","NHigh","NPre"),#,"TotalIncome"),
+ by="HHID"]
+
+
+ HHI <- merge(B,PSum,by="HHID")
+ HHI[,EqSizeOECD := ifelse(Size==NKids,1+(NKids-1)*0.5,
+ 1 + (Size-NKids-1)*0.7 + (NKids)*0.5)]
+ HHI <- HHI[!is.na(HLiterate)]
+
+ rm(P,B,PSum)
+
+
+ HHBase<-merge(HHI,HHBase)
+ rm(HHI)
+
+ load(file=paste0(Settings$HEISWeightsPath,Settings$HEISWeightFileName,year,".rda"))
+ HHWeights<- as.data.table(HHWeights)
+ HHWeights[,Year:=NULL]
+ HHBase<-merge(HHBase,HHWeights)
+
+ HHBase[HSex=="Female",weighted.mean(HIndivNo,Weight)*sum(Weight),by=.(HMarritalState)]
+
+ HHBase[HSex=="Female" & Size==1,
+ weighted.mean(HIndivNo,Weight)*sum(Weight),by=.(HMarritalState)]
+
+ HHBase[HSex=="Female",weighted.mean(HAge,Weight),by=.(HMarritalState)]
+ HHBase[HSex=="Female",weighted.mean(HAge,Weight)]
+
+ HHBase[HSex=="Female" & HAge<35,
+ weighted.mean(HAge,Weight)*sum(Weight),by=.(HMarritalState)]
+
+ HHBase[HSex=="Female" & HAge>35 & HAge<65,
+ weighted.mean(HAge,Weight)*sum(Weight),by=.(HMarritalState)]
+
+ HHBase[HSex=="Female" & HAge>65,
+ weighted.mean(HAge,Weight)*sum(Weight),by=.(HMarritalState)]
+
+ HHBase[HSex=="Female",
+ weighted.mean(Size,Weight),by=.(HMarritalState)]
+ HHBase[HSex=="Female",weighted.mean(Size,Weight)]
+
+ HHBase[HSex=="Female",
+ weighted.mean(HIndivNo,Weight)*sum(Weight),
+ by=.(HLiterate,HMarritalState)][order(HMarritalState,HLiterate)]
+
+ HHBase[HSex=="Female",
+ weighted.mean(HLiterate==FALSE,Weight)]
+
+ HHBase[HSex=="Female" & HEduYears>12,
+ weighted.mean(HIndivNo,Weight)*sum(Weight),
+ by=.(HMarritalState)]
+
+ HHBase[HSex=="Female" & (HLiterate==TRUE | NElementary>0 |
+ NMiddle>0 | NHigh>0) ,
+ weighted.mean(HIndivNo,Weight)*sum(Weight),
+ by=.(HMarritalState)]
+
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"InitialPoor.rda"))
+ HHBase<-merge(HHBase,MD[,.(HHID,Decile,Total_Exp_Month_Per_nondurable,
+ FoodExpenditure,Behdasht_Exp)])
+
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"HHHouseProperties.rda"))
+ HHBase<-merge(HHBase,HHHouseProperties[,.(HHID,tenure)])
+
+ HHBase[HSex=="Female" & Decile==1,
+ weighted.mean(HIndivNo,Weight)*sum(Weight),by=.(HMarritalState)]
+
+ HHBase[HSex=="Female" & Decile==2,
+ weighted.mean(HIndivNo,Weight)*sum(Weight),by=.(HMarritalState)]
+
+ HHBase[HSex=="Female" & Region=="Urban",
+ weighted.mean(Total_Exp_Month_Per_nondurable,Weight),by=.(HMarritalState)]
+
+ HHBase[HSex=="Female" & Region=="Rural",
+ weighted.mean(Total_Exp_Month_Per_nondurable,Weight),by=.(HMarritalState)]
+
+ HHBase[HSex=="Female" & Region=="Urban",
+ weighted.mean(Behdasht_Exp/EqSizeOECD,Weight),by=.(HMarritalState)]
+
+ HHBase[HSex=="Female" & Region=="Rural",
+ weighted.mean(Behdasht_Exp/EqSizeOECD,Weight),by=.(HMarritalState)]
+
+ HHBase[HSex=="Female" & Region=="Urban",
+ weighted.mean(FoodExpenditure/Size,Weight),by=.(HMarritalState)]
+
+ HHBase[HSex=="Female" & Region=="Rural",
+ weighted.mean(FoodExpenditure/Size,Weight),by=.(HMarritalState)]
+
+ HHBase[HSex=="Female" & (tenure=="OwnLandandBuilding" | tenure=="Apartment"),
+ weighted.mean(HIndivNo,Weight)*sum(Weight),by=.(HMarritalState)]
+
+ HHBase[HSex=="Female" & (tenure=="Rented" | tenure=="Mortgage"),
+ weighted.mean(HIndivNo,Weight)*sum(Weight),by=.(HMarritalState)]
+
+endtime <- proc.time()
+cat("\n\n============================\nIt took ")
+cat(endtime-starttime)
\ No newline at end of file
diff --git a/R/Archive/November 2019/code-structure.md b/R/Archive/November 2019/code-structure.md
new file mode 100644
index 00000000..93540597
--- /dev/null
+++ b/R/Archive/November 2019/code-structure.md
@@ -0,0 +1,15 @@
+101-110 Data Management
+111-120 Socio-Economic Household Specifics
+121-130 House properties
+131-140 Food Expenditures
+141-150 NonFood Expenditures
+151-160 Food Calories
+170-180 Merge Information, Poverty Lines and Rates
+------------------------------------
+701-750 Other Food's and calories calculations
+201-250 Income
+4x Loans and Finance
+6x Poverty Calculations (Other)
+7x Map + Plot + Prediction + Index
+8x Poors properties
+9x Additional codes
\ No newline at end of file
diff --git a/R/Archive/November 2019/loss.csv b/R/Archive/November 2019/loss.csv
new file mode 100644
index 00000000..dc762631
--- /dev/null
+++ b/R/Archive/November 2019/loss.csv
@@ -0,0 +1,15 @@
+share of loss,number of households,number of individuals,numbe of sample,share of households
+0-0.01,705816,2699471,666,0.47
+0.01-0.02,435817,1691808,470,0.29
+0.02-0.03,193804,719833,191,0.13
+0.03-0.04,84032,346227,113,0.06
+0.04-0.05,69211,271401,84,0.05
+,,,,
+share<0.05,1488680,5728740,1524,1
+,,,,
+,,,,
+,,,,
+,,,,
+,,,,
+,,,,
+,,,,
diff --git a/R/Archive/November 2019/modify2.R b/R/Archive/November 2019/modify2.R
new file mode 100644
index 00000000..c7343f43
--- /dev/null
+++ b/R/Archive/November 2019/modify2.R
@@ -0,0 +1,549 @@
+library(yaml)
+OS <- ifelse(version$os=="linux-gnu","Linux","Windows")
+if(OS=="Linux"){
+ HEISPath = "/media/majid/Document/HEIS/"
+}else{
+ HEISPath = "C:/HEIS/"
+}
+HEISCompressedPath = paste0(HEISPath,"DataCompressed/")
+HEISAccessPath = paste0(HEISPath,"DataAccess/")
+HEISRawPath = paste0(HEISPath,"DataRaw/")
+HEISProcessedPath = paste0(HEISPath,"DataProcessed/")
+HEISResultsPath = paste0(HEISPath,"DataResults/")
+D80LinkDest = paste0(HEISAccessPath,"D80Link.accdb")
+
+
+Settings <- list(HEISPath =HEISPath,
+ HEISCompressedPath=HEISCompressedPath,
+ HEISAccessPath =HEISAccessPath,
+ HEISRawPath =HEISRawPath,
+ HEISProcessedPath =HEISProcessedPath,
+ HEISResultsPath =HEISResultsPath,
+ HEISWeightsPath ="../Data/SamplingWeights/",
+ HEISWeightFileName="HHWeights",
+ HEISCountyCodePath="../Data/CountyCodes8791/",
+ HEISCountyCodeFileName="ShCode",
+ startyear=96,
+ endyear=97,
+ baseyear=95,
+ OS=OS,
+ # RawDataWebAddress ="http://www.amar.org.ir/Portals/0/amarmozuii/hazinedaramad/",
+ RawDataWebAddress ="https://www.amar.org.ir/Portals/0/amarmozuii/re_DataRaw_63_95_Info/",
+ MetaDataFilePath = "../Data/MetaData.xlsx",
+ GeoInfoFilePath = "../Data/GeoInfo.Shahrestan.xlsx",
+ MDS_CFN = "CompressedFileNames", # MetaData Sheet: Compressed File Names
+ MDS_P1Cols = "P1Cols", # MetaData Sheet: Columns of P1 Table
+ MDS_P2Cols = "P2Cols",
+ MDS_EC_A = "EduCodes-A",
+ MDS_EC_B = "EduCodes-B",
+ MDS_EC_C = "EduCodes-C",
+ MDS_EC_D = "EduCodes-D",
+ MDS_Food = "FoodTables",
+ MDS_Sheep = "SheepTables",
+ MDS_Cow = "CowTables",
+ MDS_Shir = "ShirTables",
+ MDS_Mast = "MastTables",
+ MDS_Panir = "PanirTables",
+ MDS_Morgh = "MorghTables",
+ MDS_BerenjI = "BerenjITables",
+ MDS_BerenjF = "BerenjFTables",
+ MDS_Roghan = "RoghanTables",
+ MDS_Tokhmemorgh = "TokhmemorghTables",
+ MDS_Ghand = "GhandTables",
+ MDS_Shekar = "ShekarTables",
+ MDS_Nokhod = "NokhodTables",
+ MDS_Lapeh = "LapehTables",
+ MDS_Loobia_Chiti = "Loobia_ChitiTables",
+ MDS_Loobia_Ghermez= "Loobia_GhermezTables",
+ MDS_Adas = "AdasTables",
+ MDS_FoodGroups = "FoodGroupTables",
+ MDS_Cigar = "CigarTables",
+ MDS_Cloth = "ClothTables",
+ MDS_HouseandEnergy = "HouseandEnergyTables",
+ MDS_Energy = "EnergyTables",
+ MDS_Furniture = "FurnitureTables",
+ MDS_Transportation= "TransportationTables",
+ MDS_Benzin = "BenzinTables",
+ MDS_Bargh = "BarghTables",
+ MDS_Gaz = "GazTables",
+ MDS_NaftSefid = "NaftSefidTables",
+ MDS_Communication = "CommunicationTables",
+ MDS_Amusement = "AmusementTables",
+ MDS_HotelRestaurant = "HotelRestaurantTables",
+ MDS_Other = "OtherTables",
+ MDS_Durable = "DurableTables",
+ MDS_Investment = "InvestmentTables",
+ MDS_Medical = "MedicalTables",
+ MDS_Hygiene = "HygieneTables",
+ MDS_Loans = "LoanTables",
+ MDS_House = "HouseTables",
+ MDS_Education = "EducationTables",
+ MDS_Insurance = "InsuranceTables",
+ MDS_ActivityState = "ActivityStateTables",
+ MDS_PubWage = "PubWageTable",
+ MDS_PrvWage = "PrvWageTable",
+ MDS_AgriInc = "AgriIncTable",
+ MDS_BussInc = "BussIncTable",
+ MDS_OtherInc = "OthrIncTable",
+ MDS_Retirement = "RetirementTables",
+ MDS_Interest = "InterestTables",
+ MDS_Rent = "RentTables",
+ MDS_Aid = "AidTables",
+ MDS_Homemade = "HomemadeTables",
+ MDS_Intra = "IntraTables",
+ MDS_SubsidyWage = "SubsidyTable",
+ MDS_Rough_Weights = "RegionWeights",
+ OutFoodKCXShare = 0.3, # Share of Kilo-Calory content in Expenses of outdoor food
+ OutFoodKCXShare12 = 0.4, # Share of Kilo-Calory content in Expenses of outdoor food
+ OutFoodKCXShare3456 = 0.2, # Share of Kilo-Calory content in Expenses of outdoor food
+ OutFoodKCXShare78910 = 0.1, # Share of Kilo-Calory content in Expenses of outdoor food
+ KCaloryNeed_Adult = 2100,
+ KCaloryNeed_Adult_WorldBank = 2100,
+ KCaloryNeed_Adult_Anstitoo = 2400,
+ KCaloryNeed_Child = 1800,
+ KCaloryNeed_B0 = 850 ,
+ KCaloryNeed_B1 = 1250 ,
+ KCaloryNeed_B2 = 1430 ,
+ KCaloryNeed_B3 = 1560 ,
+ KCaloryNeed_B4 = 1690 ,
+ KCaloryNeed_B5 = 1780 ,
+ KCaloryNeed_B6 = 1880 ,
+ KCaloryNeed_B7 = 1980 ,
+ KCaloryNeed_B8 = 2080 ,
+ KCaloryNeed_B9 = 2180 ,
+ KCaloryNeed_B10 = 2230 ,
+ KCaloryNeed_B11 = 2300 ,
+ KCaloryNeed_B12 = 2370 ,
+ KCaloryNeed_B13 = 2440 ,
+ KCaloryNeed_B14 = 2510 ,
+ KCaloryNeed_B15 = 2600 ,
+ KCaloryNeed_B16 = 2750 ,
+ KCaloryNeed_B17 = 2800 ,
+ KCaloryNeed_B18 = 2750 ,
+ KCaloryNeed_B19 = 2600 ,
+ KCaloryNeed_B20 = 2590 ,
+ KCaloryNeed_B21 = 2583.33 ,
+ KCaloryNeed_B22 = 2576.66 ,
+ KCaloryNeed_B23 = 2569.99 ,
+ KCaloryNeed_B24 = 2563.32 ,
+ KCaloryNeed_B25 = 2556.65 ,
+ KCaloryNeed_B26 = 2549.98 ,
+ KCaloryNeed_B27 = 2543.31 ,
+ KCaloryNeed_B28 = 2536.64 ,
+ KCaloryNeed_B29 = 2529.97 ,
+ KCaloryNeed_B30 = 2523.3 ,
+ KCaloryNeed_B31 = 2516.63 ,
+ KCaloryNeed_B32 = 2509.96 ,
+ KCaloryNeed_B33 = 2503.29 ,
+ KCaloryNeed_B34 = 2496.62 ,
+ KCaloryNeed_B35 = 2489.95 ,
+ KCaloryNeed_B36 = 2483.28 ,
+ KCaloryNeed_B37 = 2476.61 ,
+ KCaloryNeed_B38 = 2469.94 ,
+ KCaloryNeed_B39 = 2463.27 ,
+ KCaloryNeed_B40 = 2459.2 ,
+ KCaloryNeed_B41 = 2449.93 ,
+ KCaloryNeed_B42 = 2443.26 ,
+ KCaloryNeed_B43 = 2436.59 ,
+ KCaloryNeed_B44 = 2429.92 ,
+ KCaloryNeed_B45 = 2423.25 ,
+ KCaloryNeed_B46 = 2416.58 ,
+ KCaloryNeed_B47 = 2409.91 ,
+ KCaloryNeed_B48 = 2403.24 ,
+ KCaloryNeed_B49 = 2396.57 ,
+ KCaloryNeed_B50 = 2389.9 ,
+ KCaloryNeed_B51 = 2383.23 ,
+ KCaloryNeed_B52 = 2376.56 ,
+ KCaloryNeed_B53 = 2369.89 ,
+ KCaloryNeed_B54 = 2363.22 ,
+ KCaloryNeed_B55 = 2356.55 ,
+ KCaloryNeed_B56 = 2349.88 ,
+ KCaloryNeed_B57 = 2343.21 ,
+ KCaloryNeed_B58 = 2336.54 ,
+ KCaloryNeed_B59 = 2329.87 ,
+ KCaloryNeed_B60 = 2300 ,
+ KCaloryNeed_B61 = 2285.13 ,
+ KCaloryNeed_B62 = 2270.26 ,
+ KCaloryNeed_B63 = 2255.39 ,
+ KCaloryNeed_B64 = 2240.52 ,
+ KCaloryNeed_B65 = 2225.65 ,
+ KCaloryNeed_B66 = 2210.78 ,
+ KCaloryNeed_B67 = 2195.91 ,
+ KCaloryNeed_B68 = 2181.04 ,
+ KCaloryNeed_B69 = 2166.17 ,
+ KCaloryNeed_B70 = 2151.3 ,
+ KCaloryNeed_B71 = 2136.43 ,
+ KCaloryNeed_B72 = 2121.56 ,
+ KCaloryNeed_B73 = 2106.69 ,
+ KCaloryNeed_B74 = 2091.82 ,
+ KCaloryNeed_B75 = 2076.95 ,
+ KCaloryNeed_B76 = 2062.08 ,
+ KCaloryNeed_B77 = 2047.21 ,
+ KCaloryNeed_B78 = 2032.34 ,
+ KCaloryNeed_B79 = 2017.47 ,
+ KCaloryNeed_B80 = 2001.2 ,
+ KCaloryNeed_B81 = 1987.73 ,
+ KCaloryNeed_B82 = 1972.86 ,
+ KCaloryNeed_B83 = 1957.99 ,
+ KCaloryNeed_B84 = 1943.12 ,
+ KCaloryNeed_B85 = 1928.25 ,
+ KCaloryNeed_B86 = 1913.38 ,
+ KCaloryNeed_B87 = 1898.51 ,
+ KCaloryNeed_B88 = 1883.64 ,
+ KCaloryNeed_B89 = 1868.77 ,
+ KCaloryNeed_B90 = 1853.9 ,
+ KCaloryNeed_B91 = 1839.03 ,
+ KCaloryNeed_B92 = 1824.16 ,
+ KCaloryNeed_B93 = 1809.29 ,
+ KCaloryNeed_B94 = 1794.42 ,
+ KCaloryNeed_B95 = 1779.55 ,
+ KCaloryNeed_B96 = 1764.68 ,
+ KCaloryNeed_B97 = 1749.81 ,
+ KCaloryNeed_B98 = 1734.94 ,
+ KCaloryNeed_B99 = 1720.07 ,
+ KCaloryNeed_G0 = 780 ,
+ KCaloryNeed_G1 = 1190 ,
+ KCaloryNeed_G2 = 1330 ,
+ KCaloryNeed_G3 = 1440 ,
+ KCaloryNeed_G4 = 1540 ,
+ KCaloryNeed_G5 = 1630 ,
+ KCaloryNeed_G6 = 1680 ,
+ KCaloryNeed_G7 = 1730 ,
+ KCaloryNeed_G8 = 1780 ,
+ KCaloryNeed_G9 = 1830 ,
+ KCaloryNeed_G10 = 1890 ,
+ KCaloryNeed_G11 = 1965 ,
+ KCaloryNeed_G12 = 2040 ,
+ KCaloryNeed_G13 = 2115 ,
+ KCaloryNeed_G14 = 2190 ,
+ KCaloryNeed_G15 = 2112 ,
+ KCaloryNeed_G16 = 2122 ,
+ KCaloryNeed_G17 = 2132 ,
+ KCaloryNeed_G18 = 2122 ,
+ KCaloryNeed_G19 = 2112 ,
+ KCaloryNeed_G20 = 2087.5 ,
+ KCaloryNeed_G21 = 2082.5 ,
+ KCaloryNeed_G22 = 2077.5 ,
+ KCaloryNeed_G23 = 2072.5 ,
+ KCaloryNeed_G24 = 2067.5 ,
+ KCaloryNeed_G25 = 2062.5 ,
+ KCaloryNeed_G26 = 2057.5 ,
+ KCaloryNeed_G27 = 2052.5 ,
+ KCaloryNeed_G28 = 2047.5 ,
+ KCaloryNeed_G29 = 2042.5 ,
+ KCaloryNeed_G30 = 2037.5 ,
+ KCaloryNeed_G31 = 2032.5 ,
+ KCaloryNeed_G32 = 2027.5 ,
+ KCaloryNeed_G33 = 2022.5 ,
+ KCaloryNeed_G34 = 2017.5 ,
+ KCaloryNeed_G35 = 2012.5 ,
+ KCaloryNeed_G36 = 2007.5 ,
+ KCaloryNeed_G37 = 2002.5 ,
+ KCaloryNeed_G38 = 1997.5 ,
+ KCaloryNeed_G39 = 1992.5 ,
+ KCaloryNeed_G40 = 1987.5 ,
+ KCaloryNeed_G41 = 1982.5 ,
+ KCaloryNeed_G42 = 1977.5 ,
+ KCaloryNeed_G43 = 1972.5 ,
+ KCaloryNeed_G44 = 1967.5 ,
+ KCaloryNeed_G45 = 1962.5 ,
+ KCaloryNeed_G46 = 1957.5 ,
+ KCaloryNeed_G47 = 1952.5 ,
+ KCaloryNeed_G48 = 1947.5 ,
+ KCaloryNeed_G49 = 1942.5 ,
+ KCaloryNeed_G50 = 1937.5 ,
+ KCaloryNeed_G51 = 1932.5 ,
+ KCaloryNeed_G52 = 1927.5 ,
+ KCaloryNeed_G53 = 1922.5 ,
+ KCaloryNeed_G54 = 1917.5 ,
+ KCaloryNeed_G55 = 1912.5 ,
+ KCaloryNeed_G56 = 1907.5 ,
+ KCaloryNeed_G57 = 1902.5 ,
+ KCaloryNeed_G58 = 1897.5 ,
+ KCaloryNeed_G59 = 1892.5 ,
+ KCaloryNeed_G60 = 1877.5 ,
+ KCaloryNeed_G61 = 1872.5 ,
+ KCaloryNeed_G62 = 1867.5 ,
+ KCaloryNeed_G63 = 1862.5 ,
+ KCaloryNeed_G64 = 1857.5 ,
+ KCaloryNeed_G65 = 1852.5 ,
+ KCaloryNeed_G66 = 1847.5 ,
+ KCaloryNeed_G67 = 1842.5 ,
+ KCaloryNeed_G68 = 1837.5 ,
+ KCaloryNeed_G69 = 1832.5 ,
+ KCaloryNeed_G70 = 1827.5 ,
+ KCaloryNeed_G71 = 1822.5 ,
+ KCaloryNeed_G72 = 1817.5 ,
+ KCaloryNeed_G73 = 1812.5 ,
+ KCaloryNeed_G74 = 1807.5 ,
+ KCaloryNeed_G75 = 1802.5 ,
+ KCaloryNeed_G76 = 1797.5 ,
+ KCaloryNeed_G77 = 1792.5 ,
+ KCaloryNeed_G78 = 1787.5 ,
+ KCaloryNeed_G79 = 1782.5 ,
+ KCaloryNeed_G80 = 1777.5 ,
+ KCaloryNeed_G81 = 1772.5 ,
+ KCaloryNeed_G82 = 1767.5 ,
+ KCaloryNeed_G83 = 1762.5 ,
+ KCaloryNeed_G84 = 1757.5 ,
+ KCaloryNeed_G85 = 1752.5 ,
+ KCaloryNeed_G86 = 1747.5 ,
+ KCaloryNeed_G87 = 1742.5 ,
+ KCaloryNeed_G88 = 1737.5 ,
+ KCaloryNeed_G89 = 1732.5 ,
+ KCaloryNeed_G90 = 1727.5 ,
+ KCaloryNeed_G91 = 1722.5 ,
+ KCaloryNeed_G92 = 1717.5 ,
+ KCaloryNeed_G93 = 1712.5 ,
+ KCaloryNeed_G94 = 1707.5 ,
+ KCaloryNeed_G95 = 1702.5 ,
+ KCaloryNeed_G96 = 1697.5 ,
+ KCaloryNeed_G97 = 1692.5 ,
+ KCaloryNeed_G98 = 1687.5 ,
+ KCaloryNeed_G99 = 1682.5 ,
+ KCaloryNeed_A_B0 = 705 ,
+ KCaloryNeed_A_B1 = 948 ,
+ KCaloryNeed_A_B2 = 1070 ,
+ KCaloryNeed_A_B3 = 1170 ,
+ KCaloryNeed_A_B4 = 1270 ,
+ KCaloryNeed_A_B5 = 1450 ,
+ KCaloryNeed_A_B6 = 1600 ,
+ KCaloryNeed_A_B7 = 1730 ,
+ KCaloryNeed_A_B8 = 1860 ,
+ KCaloryNeed_A_B9 = 1990 ,
+ KCaloryNeed_A_B10 = 2120 ,
+ KCaloryNeed_A_B11 = 2250 ,
+ KCaloryNeed_A_B12 = 2600 ,
+ KCaloryNeed_A_B13 = 2800 ,
+ KCaloryNeed_A_B14 = 3000 ,
+ KCaloryNeed_A_B15 = 3200 ,
+ KCaloryNeed_A_B16 = 3300 ,
+ KCaloryNeed_A_B17 = 3200 ,
+ KCaloryNeed_A_B18 = 3100 ,
+ KCaloryNeed_A_B19 = 3087 ,
+ KCaloryNeed_A_B20 = 3074 ,
+ KCaloryNeed_A_B21 = 3061 ,
+ KCaloryNeed_A_B22 = 3048 ,
+ KCaloryNeed_A_B23 = 3035 ,
+ KCaloryNeed_A_B24 = 3022 ,
+ KCaloryNeed_A_B25 = 3009 ,
+ KCaloryNeed_A_B26 = 2996 ,
+ KCaloryNeed_A_B27 = 2983 ,
+ KCaloryNeed_A_B28 = 2970 ,
+ KCaloryNeed_A_B29 = 2957 ,
+ KCaloryNeed_A_B30 = 2950 ,
+ KCaloryNeed_A_B31 = 2947 ,
+ KCaloryNeed_A_B32 = 2944 ,
+ KCaloryNeed_A_B33 = 2941 ,
+ KCaloryNeed_A_B34 = 2938 ,
+ KCaloryNeed_A_B35 = 2935 ,
+ KCaloryNeed_A_B36 = 2932 ,
+ KCaloryNeed_A_B37 = 2929 ,
+ KCaloryNeed_A_B38 = 2926 ,
+ KCaloryNeed_A_B39 = 2923 ,
+ KCaloryNeed_A_B40 = 2920 ,
+ KCaloryNeed_A_B41 = 2917 ,
+ KCaloryNeed_A_B42 = 2914 ,
+ KCaloryNeed_A_B43 = 2911 ,
+ KCaloryNeed_A_B44 = 2908 ,
+ KCaloryNeed_A_B45 = 2905 ,
+ KCaloryNeed_A_B46 = 2902 ,
+ KCaloryNeed_A_B47 = 2899 ,
+ KCaloryNeed_A_B48 = 2896 ,
+ KCaloryNeed_A_B49 = 2893 ,
+ KCaloryNeed_A_B50 = 2890 ,
+ KCaloryNeed_A_B51 = 2887 ,
+ KCaloryNeed_A_B52 = 2884 ,
+ KCaloryNeed_A_B53 = 2881 ,
+ KCaloryNeed_A_B54 = 2878 ,
+ KCaloryNeed_A_B55 = 2875 ,
+ KCaloryNeed_A_B56 = 2872 ,
+ KCaloryNeed_A_B57 = 2869 ,
+ KCaloryNeed_A_B58 = 2866 ,
+ KCaloryNeed_A_B59 = 2863 ,
+ KCaloryNeed_A_B60 = 2800 ,
+ KCaloryNeed_A_B61 = 2777 ,
+ KCaloryNeed_A_B62 = 2754 ,
+ KCaloryNeed_A_B63 = 2731 ,
+ KCaloryNeed_A_B64 = 2708 ,
+ KCaloryNeed_A_B65 = 2685 ,
+ KCaloryNeed_A_B66 = 2662 ,
+ KCaloryNeed_A_B67 = 2639 ,
+ KCaloryNeed_A_B68 = 2616 ,
+ KCaloryNeed_A_B69 = 2593 ,
+ KCaloryNeed_A_B70 = 2570 ,
+ KCaloryNeed_A_B71 = 2547 ,
+ KCaloryNeed_A_B72 = 2524 ,
+ KCaloryNeed_A_B73 = 2501 ,
+ KCaloryNeed_A_B74 = 2478 ,
+ KCaloryNeed_A_B75 = 2455 ,
+ KCaloryNeed_A_B76 = 2432 ,
+ KCaloryNeed_A_B77 = 2409 ,
+ KCaloryNeed_A_B78 = 2386 ,
+ KCaloryNeed_A_B79 = 2363 ,
+ KCaloryNeed_A_B80 = 2340 ,
+ KCaloryNeed_A_B81 = 2317 ,
+ KCaloryNeed_A_B82 = 2294 ,
+ KCaloryNeed_A_B83 = 2271 ,
+ KCaloryNeed_A_B84 = 2248 ,
+ KCaloryNeed_A_B85 = 2225 ,
+ KCaloryNeed_A_B86 = 2202 ,
+ KCaloryNeed_A_B87 = 2179 ,
+ KCaloryNeed_A_B88 = 2156 ,
+ KCaloryNeed_A_B89 = 2133 ,
+ KCaloryNeed_A_B90 = 2110 ,
+ KCaloryNeed_A_B91 = 2087 ,
+ KCaloryNeed_A_B92 = 2064 ,
+ KCaloryNeed_A_B93 = 2041 ,
+ KCaloryNeed_A_B94 = 2018 ,
+ KCaloryNeed_A_B95 = 1995 ,
+ KCaloryNeed_A_B96 = 1972 ,
+ KCaloryNeed_A_B97 = 1949 ,
+ KCaloryNeed_A_B98 = 1926 ,
+ KCaloryNeed_A_B99 = 1903 ,
+ KCaloryNeed_A_G0 = 675 ,
+ KCaloryNeed_A_G1 = 908 ,
+ KCaloryNeed_A_G2 = 1034 ,
+ KCaloryNeed_A_G3 = 1134 ,
+ KCaloryNeed_A_G4 = 1234 ,
+ KCaloryNeed_A_G5 = 1370 ,
+ KCaloryNeed_A_G6 = 1500 ,
+ KCaloryNeed_A_G7 = 1650 ,
+ KCaloryNeed_A_G8 = 1800 ,
+ KCaloryNeed_A_G9 = 1900 ,
+ KCaloryNeed_A_G10 = 2050 ,
+ KCaloryNeed_A_G11 = 2250 ,
+ KCaloryNeed_A_G12 = 2450 ,
+ KCaloryNeed_A_G13 = 2700 ,
+ KCaloryNeed_A_G14 = 2900 ,
+ KCaloryNeed_A_G15 = 2900 ,
+ KCaloryNeed_A_G16 = 2750 ,
+ KCaloryNeed_A_G17 = 2700 ,
+ KCaloryNeed_A_G18 = 2695 ,
+ KCaloryNeed_A_G19 = 2690 ,
+ KCaloryNeed_A_G20 = 2685 ,
+ KCaloryNeed_A_G21 = 2680 ,
+ KCaloryNeed_A_G22 = 2675 ,
+ KCaloryNeed_A_G23 = 2670 ,
+ KCaloryNeed_A_G24 = 2665 ,
+ KCaloryNeed_A_G25 = 2660 ,
+ KCaloryNeed_A_G26 = 2655 ,
+ KCaloryNeed_A_G27 = 2650 ,
+ KCaloryNeed_A_G28 = 2645 ,
+ KCaloryNeed_A_G29 = 2640 ,
+ KCaloryNeed_A_G30 = 2630 ,
+ KCaloryNeed_A_G31 = 2625 ,
+ KCaloryNeed_A_G32 = 2620 ,
+ KCaloryNeed_A_G33 = 2615 ,
+ KCaloryNeed_A_G34 = 2610 ,
+ KCaloryNeed_A_G35 = 2605 ,
+ KCaloryNeed_A_G36 = 2600 ,
+ KCaloryNeed_A_G37 = 2595 ,
+ KCaloryNeed_A_G38 = 2590 ,
+ KCaloryNeed_A_G39 = 2585 ,
+ KCaloryNeed_A_G40 = 2580 ,
+ KCaloryNeed_A_G41 = 2575 ,
+ KCaloryNeed_A_G42 = 2570 ,
+ KCaloryNeed_A_G43 = 2565 ,
+ KCaloryNeed_A_G44 = 2560 ,
+ KCaloryNeed_A_G45 = 2555 ,
+ KCaloryNeed_A_G46 = 2550 ,
+ KCaloryNeed_A_G47 = 2545 ,
+ KCaloryNeed_A_G48 = 2540 ,
+ KCaloryNeed_A_G49 = 2535 ,
+ KCaloryNeed_A_G50 = 2530 ,
+ KCaloryNeed_A_G51 = 2525 ,
+ KCaloryNeed_A_G52 = 2520 ,
+ KCaloryNeed_A_G53 = 2515 ,
+ KCaloryNeed_A_G54 = 2510 ,
+ KCaloryNeed_A_G55 = 2505 ,
+ KCaloryNeed_A_G56 = 2500 ,
+ KCaloryNeed_A_G57 = 2495 ,
+ KCaloryNeed_A_G58 = 2490 ,
+ KCaloryNeed_A_G59 = 2485 ,
+ KCaloryNeed_A_G60 = 2400 ,
+ KCaloryNeed_A_G61 = 2389 ,
+ KCaloryNeed_A_G62 = 2378 ,
+ KCaloryNeed_A_G63 = 2367 ,
+ KCaloryNeed_A_G64 = 2356 ,
+ KCaloryNeed_A_G65 = 2345 ,
+ KCaloryNeed_A_G66 = 2334 ,
+ KCaloryNeed_A_G67 = 2323 ,
+ KCaloryNeed_A_G68 = 2312 ,
+ KCaloryNeed_A_G69 = 2301 ,
+ KCaloryNeed_A_G70 = 2290 ,
+ KCaloryNeed_A_G71 = 2279 ,
+ KCaloryNeed_A_G72 = 2268 ,
+ KCaloryNeed_A_G73 = 2257 ,
+ KCaloryNeed_A_G74 = 2246 ,
+ KCaloryNeed_A_G75 = 2235 ,
+ KCaloryNeed_A_G76 = 2224 ,
+ KCaloryNeed_A_G77 = 2213 ,
+ KCaloryNeed_A_G78 = 2202 ,
+ KCaloryNeed_A_G79 = 2191 ,
+ KCaloryNeed_A_G80 = 2180 ,
+ KCaloryNeed_A_G81 = 2169 ,
+ KCaloryNeed_A_G82 = 2158 ,
+ KCaloryNeed_A_G83 = 2147 ,
+ KCaloryNeed_A_G84 = 2136 ,
+ KCaloryNeed_A_G85 = 2125 ,
+ KCaloryNeed_A_G86 = 2114 ,
+ KCaloryNeed_A_G87 = 2103 ,
+ KCaloryNeed_A_G88 = 2092 ,
+ KCaloryNeed_A_G89 = 2081 ,
+ KCaloryNeed_A_G90 = 2070 ,
+ KCaloryNeed_A_G91 = 2059 ,
+ KCaloryNeed_A_G92 = 2048 ,
+ KCaloryNeed_A_G93 = 2037 ,
+ KCaloryNeed_A_G94 = 2026 ,
+ KCaloryNeed_A_G95 = 2015 ,
+ KCaloryNeed_A_G96 = 2004 ,
+ KCaloryNeed_A_G97 = 1993 ,
+ KCaloryNeed_A_G98 = 1982 ,
+ KCaloryNeed_A_G99 = 1971 ,
+ #KCaloryNeed_B1 = 850,
+ #KCaloryNeed_G1 = 780,
+ #KCaloryNeed_B2 = 1250,
+ #KCaloryNeed_G2 = 1190,
+ #KCaloryNeed_B3 = 1430,
+ #KCaloryNeed_G3 = 1330,
+ #KCaloryNeed_B4 = 1560,
+ #KCaloryNeed_G4 = 1440,
+ #KCaloryNeed_B5 = 1690,
+ #KCaloryNeed_G5 = 1540,
+ #KCaloryNeed_B6 = 1980,
+ #KCaloryNeed_G6 = 1730,
+ #KCaloryNeed_B7 = 2370,
+ #KCaloryNeed_G7 = 2040,
+ #KCaloryNeed_B8 = 2700,
+ #KCaloryNeed_G8 = 2120,
+ #KCaloryNeed_B9 = 2460,
+ #KCaloryNeed_G9 = 1990,
+ #KCaloryNeed_B10 = 2010,
+ #KCaloryNeed_G10 = 1780,
+ #KCaloryNeed_A_B1 = 705,
+ #KCaloryNeed_A_G1 = 643,
+ #KCaloryNeed_A_B2 = 948,
+ #KCaloryNeed_A_G2 = 865,
+ #KCaloryNeed_A_B3 = 1120,
+ #KCaloryNeed_A_G3 = 1047,
+ #KCaloryNeed_A_B4 = 1360,
+ #KCaloryNeed_A_G4 = 1242,
+ #KCaloryNeed_A_B5 = 1927,
+ #KCaloryNeed_A_G5 = 1782,
+ #KCaloryNeed_A_B6 = 3036,
+ #KCaloryNeed_A_G6 = 2434,
+ #KCaloryNeed_A_B7 = 3029,
+ #KCaloryNeed_A_G7 = 2300,
+ #KCaloryNeed_A_B8 = 2900,
+ #KCaloryNeed_A_G8 = 2200,
+ #KCaloryNeed_A_B9 = 2350,
+ #KCaloryNeed_A_G9 = 2000,
+ KCaloryNeed_lactating = 500,
+ InitialPoorPercentile= 1:20,
+ SectorsNumbers = 1:5,
+ SectorsNames = c("Public","Cooperative","Private","BussP","Agri"),
+ D80LinkSource ="../Data/D80Link.accdb",
+ D80LinkDest =D80LinkDest
+)
+write(as.yaml(Settings),file = "Settings.yaml")
\ No newline at end of file
diff --git a/R/Archive/November 2019/test_Mollanoori.R b/R/Archive/November 2019/test_Mollanoori.R
new file mode 100644
index 00000000..fd0c79e5
--- /dev/null
+++ b/R/Archive/November 2019/test_Mollanoori.R
@@ -0,0 +1,79 @@
+#learning R
+rm(list=ls())
+
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+library(readxl)
+library(data.table)
+library(stringr)
+library(spatstat)
+
+year <- 96
+
+load(file=paste0(Settings$HEISProcessedPath,"Y",year,"Merged4CBN.rda"))
+TD <-MD
+load(file=paste0(Settings$HEISProcessedPath,"Y",year,"SMD.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y",year,"FINALPOORS.rda"))
+
+Total <- merge(TD,SMD[,.(HHID,Decile,Percentile)],by="HHID")
+Total <- merge(Total, MD[,.(HHID,Bundle_Value, PEngel,Engel,
+ FPLine, PovertyLine,FinalFoodPoor,
+ FinalPoor)],by="HHID")
+Total[,weighted.mean(FinalPoor,Weight*Size), by=.(ProvinceCode)]
+
+Total <- Total[,Diet:=ifelse(FinalFoodPoor==1 & FinalPoor==0,1,0)]
+Total[,weighted.mean(Diet,Weight*Size), by=.(Region)]
+Total[NewArea_Name=="Sh_Tehran",weighted.mean(Diet,Weight*Size), by=.(Region)]
+
+TotalD <- Total[ Diet==1,
+ .(.N, Engle=weighted.mean(FoodExpenditure/Total_Exp_Month, Weight),
+ FPLine=mean(FPLine)), by=.(Region, NewArea_Name)]
+TotalS <- Total[ FinalPoor==1,
+ .(.N, Engle_Poor=weighted.mean(FoodExpenditure/Total_Exp_Month, Weight),
+ FPLine=mean(FPLine)), by=.(Region, NewArea_Name)]
+
+TotalD <- TotalD[,sample1:=N]
+TotalD[,N:=NULL]
+
+TotalT <- merge(TotalD,TotalS[,.(Region, NewArea_Name,Engle_Poor,N)])
+TotalT[,NewArea_Name:=NULL]
+TotalT <- TotalT[,lapply(.SD,sum),by=Region]
+
+
+Total <-Total[,FoodExp_per:=FoodExpenditure/EqSizeCalory]
+Total2 <- Total[FoodExp_per>2000000]
+#for(col in C("HStudent")) Total2[is.na(get(col)),(col):=0]
+Total2[,weighted.mean(FoodExp_per,Weight), by=.(Region, NewArea_Name)][order(V1)]
+Total2 <- Total2[,FoodExp_per_ostan:=weighted.mean(FoodExp_per,Weight), by=.(Region, NewArea_Name)]
+
+Total2 <- Total2[Size>3,Behdasht1:=weighted.mean(Behdasht_Exp,Weight),by=.(Size)]
+x<- Total2[,.(HHID,Size,Behdasht1,Behdasht_Exp,Weight)]
+
+
+
+x[,weighted.mean(Behdasht_Exp,Weight,na.rm = TRUE)]
+
+
+for (col in c("Behdasht1")) x[is.na(get(col)), (col):= 0]
+
+
+set1 <- c("FoodExpenditure","Behdasht_Exp","Amusement_Exp")
+Total2[,Exp2:=Reduce(`+`,.SD),.SDcols=set1]
+
+
+
+Total3 <- Total2[,.(Region, NewArea_Name,FoodExp_per,
+ FoodExpenditure,Behdasht_Exp,Amusement_Exp, Weight)]
+
+Total4 <- Total3[,lapply(.SD, sum), by=.(Region,NewArea_Name)]
+
+load(file=paste0(Settings$HEISProcessedPath,"Y",year,"Farhangis2.rda"))
+
+Total2 <- merge(Total2, FarhangiData, all.x=TRUE)
+for (col in c("Code","FarhangiExpenditure")) Total2[is.na(get(col)), (col):= 0]
+
+cat(Total2[,weighted.mean(FoodKCaloriesHH_Per,Weight*Size)],"\t",
+ Total2[,weighted.mean(FoodProtein_Per,Weight*Size)],"\t",
+ Total2[,weighted.mean(FoodExp_per,Weight*Size)],"\t",
+ Total2[,weighted.mean(Total_Exp_Month_Per_nondurable,Weight*Size)])
diff --git a/R/Archive/October 2020/Energy groups.R b/R/Archive/October 2020/Energy groups.R
new file mode 100644
index 00000000..4c7c3101
--- /dev/null
+++ b/R/Archive/October 2020/Energy groups.R
@@ -0,0 +1,259 @@
+# 141-Groups Expenditures.R
+# Builds the Groups Expenditures data.table for households
+#
+# Copyright © 2017: Arin Shahbazian
+# Licence: GPL-3
+
+rm(list=ls())
+
+starttime <- proc.time()
+cat("\n\n================ NonFood Expenditures =====================================\n")
+
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+library(readxl)
+library(data.table)
+library(stringr)
+
+Table1<-data.table(Year=NA_integer_,Sookht_Share=NA_real_,Ab_Share=NA_real_,Bargh_Share=NA_real_,
+ Gaz_Share=NA_real_,Energy_Share=NA_real_)[0]
+
+Table2<-data.table(Year=NA_integer_,Sookht_Share=NA_real_,Ab_Share=NA_real_,Bargh_Share=NA_real_,
+ Gaz_Share=NA_real_,Energy_Share=NA_real_,Decile=NA_real_)[0]
+
+Table3<-data.table(Year=NA_integer_,Sookht_Share=NA_real_,Ab_Share=NA_real_,Bargh_Share=NA_real_,
+ Gaz_Share=NA_real_,Energy_Share=NA_real_,ProvinceCode=NA_real_)[0]
+
+
+cat("\n\n================ Energy =====================================\n")
+
+EnergyTables <- data.table(read_excel(Settings$MetaDataFilePath,sheet=Settings$MDS_Energy))
+
+for(year in (Settings$startyear:Settings$endyear)){
+ cat(paste0("\n------------------------------\nYear:",year,"\n"))
+ load(file=paste0(Settings$HEISRawPath,"Y",year,"Raw.rda"))
+ ct <- EnergyTables[Year==year]
+ tab <- ct$Table
+ if(is.na(tab))
+ next
+ UTC <- Tables[[paste0("U",year,tab)]]
+ RTC <- Tables[[paste0("R",year,tab)]]
+ TC <- rbind(UTC,RTC)
+ for(n in names(TC)){
+ x <- which(ct==n)
+ if(length(x)>0)
+ setnames(TC,n,names(ct)[x])
+ }
+ pcols <- intersect(names(TC),c("HHID","Code","Energy_Exp"))
+ TC <- TC[,pcols,with=FALSE]
+
+ if(year %in% 63:82){
+ TC <- TC[Code %in% ct$StartCode:ct$EndCode]
+ }
+
+ if(year %in% 83:98){
+ TC <- TC[Code %in% ct$StartCode:ct$EndCode]
+ TC[,Energy_Exp:=as.numeric(Energy_Exp)]
+ }
+ TC[,Code:=NULL]
+ TC[is.na(TC)] <- 0
+ EnergyData <- TC[,lapply(.SD,sum),by=HHID]
+ save(EnergyData, file = paste0(Settings$HEISProcessedPath,"Y",year,"Energys.rda"))
+
+
+
+cat("\n\n================ Bargh =====================================\n")
+
+BarghTables <- data.table(read_excel(Settings$MetaDataFilePath,sheet=Settings$MDS_Bargh))
+
+
+ cat(paste0("\n------------------------------\nYear:",year,"\n"))
+ load(file=paste0(Settings$HEISRawPath,"Y",year,"Raw.rda"))
+ ct <- BarghTables[Year==year]
+ tab <- ct$Table
+ if(is.na(tab))
+ next
+ UTC <- Tables[[paste0("U",year,tab)]]
+ RTC <- Tables[[paste0("R",year,tab)]]
+ TC <- rbind(UTC,RTC)
+ for(n in names(TC)){
+ x <- which(ct==n)
+ if(length(x)>0)
+ setnames(TC,n,names(ct)[x])
+ }
+ pcols <- intersect(names(TC),c("HHID","Code","Bargh_Exp"))
+ TC <- TC[,pcols,with=FALSE]
+ TC <- TC[Code %in% ct$StartCode:ct$EndCode]
+ if(year %in% 84:94){
+ TC[,Bargh_Exp:=as.numeric(Bargh_Exp)]
+ }
+ TC[,Code:=NULL]
+ TC[is.na(TC)] <- 0
+ BarghData <- TC[,lapply(.SD,sum),by=HHID]
+ save(BarghData, file = paste0(Settings$HEISProcessedPath,"Y",year,"Barghs.rda"))
+
+
+
+cat("\n\n================ Sookht =====================================\n")
+
+SookhtTables <- data.table(read_excel(Settings$MetaDataFilePath,sheet=Settings$MDS_Sookht))
+
+
+ cat(paste0("\n------------------------------\nYear:",year,"\n"))
+ load(file=paste0(Settings$HEISRawPath,"Y",year,"Raw.rda"))
+ ct <- SookhtTables[Year==year]
+ tab <- ct$Table
+ if(is.na(tab))
+ next
+ UTC <- Tables[[paste0("U",year,tab)]]
+ RTC <- Tables[[paste0("R",year,tab)]]
+ TC <- rbind(UTC,RTC)
+ for(n in names(TC)){
+ x <- which(ct==n)
+ if(length(x)>0)
+ setnames(TC,n,names(ct)[x])
+ }
+ pcols <- intersect(names(TC),c("HHID","Code","Sookht_Exp"))
+ TC <- TC[,pcols,with=FALSE]
+ TC <- TC[Code %in% ct$StartCode:ct$EndCode]
+ if(year %in% 84:94){
+ TC[,Sookht_Exp:=as.numeric(Sookht_Exp)]
+ }
+ TC[,Code:=NULL]
+ TC[is.na(TC)] <- 0
+ SookhtData <- TC[,lapply(.SD,sum),by=HHID]
+ save(SookhtData, file = paste0(Settings$HEISProcessedPath,"Y",year,"Sookhts.rda"))
+
+
+
+cat("\n\n================ Ab =====================================\n")
+
+AbTables <- data.table(read_excel(Settings$MetaDataFilePath,sheet=Settings$MDS_Ab))
+
+
+ cat(paste0("\n------------------------------\nYear:",year,"\n"))
+ load(file=paste0(Settings$HEISRawPath,"Y",year,"Raw.rda"))
+ mt <- AbTables[Year==year]
+ tab <- mt$Table
+ if(is.na(tab))
+ next
+ UTM <- Tables[[paste0("U",year,tab)]]
+ RTM <- Tables[[paste0("R",year,tab)]]
+ TM <- rbind(UTM,RTM)
+ for(n in names(TM)){
+ x <- which(mt==n)
+ if(length(x)>0)
+ setnames(TM,n,names(mt)[x])
+ }
+ pcols <- intersect(names(TM),c("HHID","Code","Ab_Exp"))
+ TM <- TM[,pcols,with=FALSE]
+ if (year<83){
+ TM <- TM[Code %in% c(32110,32255)]
+ } else {
+ TM <- TM[Code %in% mt$StartCode:mt$EndCode]
+ }
+
+ if(year %in% 84:96){
+ TM[,Ab_Exp:=as.numeric(Ab_Exp)]
+ }
+ TM <- TM[Code %in% mt$StartCode:mt$EndCode]
+ TM[,Code:=NULL]
+ TM[is.na(TM)] <- 0
+ AbData <- TM[,lapply(.SD,sum),by=HHID]
+ save(AbData, file = paste0(Settings$HEISProcessedPath,"Y",year,"Abs.rda"))
+
+
+cat("\n\n================ Gaz =====================================\n")
+
+GazTables <- data.table(read_excel(Settings$MetaDataFilePath,sheet=Settings$MDS_Gaz))
+
+
+ cat(paste0("\n------------------------------\nYear:",year,"\n"))
+ load(file=paste0(Settings$HEISRawPath,"Y",year,"Raw.rda"))
+ mt <- GazTables[Year==year]
+ tab <- mt$Table
+ if(is.na(tab))
+ next
+ UTM <- Tables[[paste0("U",year,tab)]]
+ RTM <- Tables[[paste0("R",year,tab)]]
+ TM <- rbind(UTM,RTM)
+ for(n in names(TM)){
+ x <- which(mt==n)
+ if(length(x)>0)
+ setnames(TM,n,names(mt)[x])
+ }
+ pcols <- intersect(names(TM),c("HHID","Code","Gaz_Exp"))
+ TM <- TM[,pcols,with=FALSE]
+ TM <- TM[Code %in% mt$StartCode:mt$EndCode]
+ if(year %in% 84:96){
+ TM[,Gaz_Exp:=as.numeric(Gaz_Exp)]
+ }
+ TM <- TM[Code %in% mt$StartCode:mt$EndCode]
+ TM[,Code:=NULL]
+ TM[is.na(TM)] <- 0
+ GazData <- TM[,lapply(.SD,sum),by=HHID]
+ save(GazData, file = paste0(Settings$HEISProcessedPath,"Y",year,"Gazs.rda"))
+
+
+
+
+
+Data<-merge(EnergyData,SookhtData,all.x=TRUE)
+Data<-merge(Data,AbData,all.x=TRUE)
+Data<-merge(Data,GazData,all.x=TRUE)
+Data<-merge(Data,BarghData,all.x=TRUE)
+Data[is.na(Data)]<-0
+
+load(file = paste0(Settings$HEISProcessedPath,"Y",year,"FinalPoors.rda"))
+MD<-merge(MD,Data,all.x=TRUE,by="HHID")
+MD[is.na(MD)]<-0
+
+Final<-MD[,.(HHID,Weight,Energy_Exp,Sookht_Exp,Ab_Exp,Bargh_Exp,
+ Gaz_Exp,Total_Exp_Month,Decile,ProvinceCode)]
+
+Final[,weighted.mean(Sookht_Exp/Total_Exp_Month,Weight)]
+Final[,weighted.mean(Ab_Exp/Total_Exp_Month,Weight)]
+Final[,weighted.mean(Bargh_Exp/Total_Exp_Month,Weight)]
+
+Final[as.numeric(Decile)==1,weighted.mean(Energy_Exp/Total_Exp_Month,Weight)]
+Final[as.numeric(Decile)==10,weighted.mean(Energy_Exp/Total_Exp_Month,Weight)]
+
+T1<-Final[,.(Sookht_Share=weighted.mean(Sookht_Exp/Total_Exp_Month,Weight),
+ Ab_Share=weighted.mean(Ab_Exp/Total_Exp_Month,Weight),
+ Gaz_Share=weighted.mean(Gaz_Exp/Total_Exp_Month,Weight),
+ Energy_Share=weighted.mean(Energy_Exp/Total_Exp_Month,Weight),
+ Bargh_Share=weighted.mean(Bargh_Exp/Total_Exp_Month,Weight))]
+T1[,Year:=year]
+Table1 <- rbind(Table1,T1)
+
+Final[,weighted.mean(Bargh_Exp/Total_Exp_Month,Weight),by=Decile][order(Decile)]
+Final[,weighted.mean(Gaz_Exp/Total_Exp_Month,Weight),by=Decile][order(Decile)]
+
+T2<-Final[,.(Bargh_Share=weighted.mean(Bargh_Exp/Total_Exp_Month,Weight),
+ Gaz_Share=weighted.mean(Gaz_Exp/Total_Exp_Month,Weight),
+ Ab_Share=weighted.mean(Ab_Exp/Total_Exp_Month,Weight),
+ Sookht_Share=weighted.mean(Sookht_Exp/Total_Exp_Month,Weight),
+ Energy_Share=weighted.mean(Energy_Exp/Total_Exp_Month,Weight)),by=Decile]
+
+
+T2[,Year:=year]
+Table2 <- rbind(Table2,T2)
+write.csv(Table2,"Table2.csv")
+
+T3<-Final[,.(Bargh_Share=weighted.mean(Bargh_Exp/Total_Exp_Month,Weight),
+ Gaz_Share=weighted.mean(Gaz_Exp/Total_Exp_Month,Weight),
+ Ab_Share=weighted.mean(Ab_Exp/Total_Exp_Month,Weight),
+ Sookht_Share=weighted.mean(Sookht_Exp/Total_Exp_Month,Weight),
+ Energy_Share=weighted.mean(Energy_Exp/Total_Exp_Month,Weight)),by=ProvinceCode]
+
+
+T3[,Year:=year]
+Table3 <- rbind(Table3,T3)
+write.csv(Table3,"Table3.csv")
+}
+
+
+endtime <- proc.time()
+cat("\n\n============================\nIt took ")
+cat(endtime-starttime)
diff --git a/R/Archive/October 2020/FinanceExp.R b/R/Archive/October 2020/FinanceExp.R
new file mode 100644
index 00000000..e9cfbc7f
--- /dev/null
+++ b/R/Archive/October 2020/FinanceExp.R
@@ -0,0 +1,74 @@
+
+#
+# Copyright © 2017: Arin Shahbazian
+# Licence: GPL-3
+
+rm(list=ls())
+
+starttime <- proc.time()
+
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+library(readxl)
+library(data.table)
+library(stringr)
+
+
+cat("\n\n================ HHFinance =====================================\n")
+FinanceTables <- data.table(read_excel(Settings$MetaDataFilePath,sheet=Settings$MDS_Finance))
+
+
+for(year in (Settings$startyear:Settings$endyear)){
+ cat(paste0("\n------------------------------\nYear:",year,"\n"))
+ load(file=paste0(Settings$HEISRawPath,"Y",year,"Raw.rda"))
+ ct <- FinanceTables[Year==year]
+ tab <- ct$Table
+ if(is.na(tab))
+ next
+ UTC <- Tables[[paste0("U",year,tab)]]
+ RTC <- Tables[[paste0("R",year,tab)]]
+ TC <- rbind(UTC,RTC)
+ for(n in names(TC)){
+ x <- which(ct==n)
+ if(length(x)>0)
+ setnames(TC,n,names(ct)[x])
+ }
+ pcols <- intersect(names(TC),c("HHID","Code","Vam","BuyingMethod","Finance_Exp","Finance_Sale"))
+ TC <- TC[,pcols,with=FALSE]
+ TC <- TC[Code %in% ct$StartCode:ct$EndCode]
+ if(year %in% 84:96){
+ TC[,Finance_Exp:=as.numeric(Finance_Exp)]
+ TC[,Finance_Sale:=as.numeric(Finance_Sale)]
+ }
+ TC<-TC[BuyingMethod==1]
+ TC$Finance_Exp<-TC$Finance_Exp/12
+ TC$Finance_Sale<-TC$Finance_Sale/12
+ TC[,Code:=NULL]
+ TC[,BuyingMethod:=NULL]
+ TC[is.na(TC)] <- 0
+ FinanceData <- TC[,lapply(.SD,sum),by=HHID]
+ save(FinanceData, file = paste0(Settings$HEISProcessedPath,"Y",year,"Finances.rda"))
+ load(file = paste0(Settings$HEISProcessedPath,"Y",year,"FinalPoors.rda"))
+
+ MD<-merge(MD,FinanceData,by="HHID",all.x=TRUE)
+ MD[is.na(MD)] <- 0
+
+ MD[,Decile_Pop:=sum(Weight),by=Decile]
+ MD[Finance_Exp>0,having_vam_Pop:=sum(Weight),by=Decile]
+ MD[,having_vam:=ifelse(Finance_Exp>0,1,0)]
+ MD[,weighted.mean(having_vam,Weight),by=Decile][order(Decile)]
+ MD[Finance_Exp>0,weighted.mean(Finance_Exp*12/Total_Exp_Month,Weight),by=Decile][order(Decile)]
+
+ MD[,Y:=sum(Weight*Total_Exp_Month)]
+ MD[as.numeric(Percentile)>97,X:=sum(Weight*Total_Exp_Month)]
+ MD[,a:=X/Y]
+
+}
+
+a1<-MD[having_vam==1,sum(Weight),by="Decile"][order(Decile)]
+
+
+endtime <- proc.time()
+cat("\n\n============================\nIt took ")
+cat(endtime-starttime)
diff --git a/R/Archive/October 2020/Map.R b/R/Archive/October 2020/Map.R
new file mode 100644
index 00000000..495e51f6
--- /dev/null
+++ b/R/Archive/October 2020/Map.R
@@ -0,0 +1,52 @@
+#Engle's Map
+#
+# Copyright © 2019:Majid Einian & Arin Shahbazian
+# Licence: GPL-3
+rm(list=ls())
+
+library(data.table)
+library(readxl)
+library(rworldmap)
+library(rgdal)
+
+
+Engle <- data.table(read_excel("Engle.xlsx","Province")) # Data to be plotted, see the excell file
+
+tfs <- paste0("+proj=lcc +lat_1=30 +lat_2=36 +lat_0=24 +lon_0=54 ",
+ "+x_0=0 +y_0=0 +datum=WGS84 +units=m +no_defs ",
+ "+ellps=WGS84 +towgs84=0,0,0") # Transformation to make all shapefiles in one coordinate system
+
+o <- capture.output(Seas <- readOGR("Shapefiles/1385",
+ layer = "Sea")) # Maps of Caspian Sea, Persian Gulf, & Oman Sea
+Seas <- spTransform(Seas,CRS(tfs))
+
+o <- capture.output(Lakes <- readOGR("Shapefiles/1385", # Maps of Lakes
+ layer = "Lake"))
+Lakes <- spTransform(Lakes,CRS(tfs))
+
+o <- capture.output(ProvMap <- readOGR("Shapefiles/OSM", # Maps of provinces based on latest admin. areas.
+ layer = "Iran_AL4")) # extracted from openstreetmaps.org
+ProvMap <- spTransform(ProvMap,CRS(tfs))
+
+MapData <- rworldmap::joinData2Map(Engle,nameMap="ProvMap", # Joining the data to map
+ nameJoinIDMap="ENNAME", # province name in shapefile
+ nameJoinColumnData="NameEn2", # province name in data excel
+ verbose = TRUE)
+MapData2<-MapData
+
+plot(Seas,col="lightblue", border="lightblue") # plot seas
+plot(Lakes[c(15,25),],add=TRUE,col="lightblue", border="lightblue") # plot just Urmia and Qom lakes
+
+#Urban Areas
+mapUrban <- rworldmap::mapPolys(MapData, add = TRUE, nameColumnToPlot = "Head_Count_Ratio",
+ colourPalette = "heat",
+ mapTitle = paste0("Engle Rate in Urban Areas"),
+ addLegend = FALSE) # Plot data
+do.call( addMapLegend, c( mapUrban
+ , legendLabels = "all" # add legend
+ , digits = 2
+ , legendWidth = 0.7
+ , legendShrink = .5
+ , horizontal = TRUE))
+
+
diff --git a/R/Archive/October 2020/Poverty Indices2.R b/R/Archive/October 2020/Poverty Indices2.R
new file mode 100644
index 00000000..cdaf69ee
--- /dev/null
+++ b/R/Archive/October 2020/Poverty Indices2.R
@@ -0,0 +1,793 @@
+# 111-HHBase.R
+# Builds the base data.table for households
+
+rm(list=ls())
+
+starttime <- proc.time()
+cat("\n\n================ Poverty Indices2 =====================================\n")
+
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+#library(foreign)
+library(data.table)
+library(stringr)
+library(ggplot2)
+
+X1 <- data.table(Year=NA_integer_,HLiterate=NA_real_,Knowledge=NA_real_
+ ,tenure=NA_real_,area=NA_real_,room=NA_real_
+ ,car=NA_real_,oven=NA_real_,frez_refrig=NA_real_
+ ,electricity=NA_real_,bathroom=NA_real_,ego=NA_real_,pipewater=NA_real_
+ ,cookfuel=NA_real_,heatfuel=NA_real_,hotwater=NA_real_
+ ,G0451=NA_real_,G0452=NA_real_,G0453=NA_real_,G044=NA_real_,Energy_Share=NA_real_
+ ,Subsidy=NA_real_,Food_Share=NA_real_,Low_Calorie=NA_real_,Low_Protein=NA_real_,
+ FoodKCaloriesHH_Per=NA_real_,No_Insurance=NA_real_,Area_Per=NA_real_
+ ,skeleton=NA_real_,House_High_Share=NA_real_,Tech_low=NA_real_,Equip_low=NA_real_)
+
+X2 <- data.table(Year=NA_integer_,Region=NA_character_
+ ,HLiterate=NA_real_,Knowledge=NA_real_
+ ,tenure=NA_real_,area=NA_real_,room=NA_real_
+ ,car=NA_real_,oven=NA_real_,frez_refrig=NA_real_
+ ,electricity=NA_real_,bathroom=NA_real_,ego=NA_real_,pipewater=NA_real_
+ ,cookfuel=NA_real_,heatfuel=NA_real_,hotwater=NA_real_
+ ,G0451=NA_real_,G0452=NA_real_,G0453=NA_real_,G044=NA_real_,Energy_Share=NA_real_
+ ,Subsidy=NA_real_,Food_Share=NA_real_,Low_Calorie=NA_real_,Low_Protein=NA_real_,
+ FoodKCaloriesHH_Per=NA_real_,No_Insurance=NA_real_,Area_Per=NA_real_
+ ,skeleton=NA_real_,House_High_Share=NA_real_,Tech_low=NA_real_,Equip_low=NA_real_)
+
+
+X3 <- data.table(Year=NA_integer_,Decile=NA_integer_
+ ,HLiterate=NA_real_,Knowledge=NA_real_
+ ,tenure=NA_real_,area=NA_real_,room=NA_real_
+ ,car=NA_real_,oven=NA_real_,frez_refrig=NA_real_
+ ,electricity=NA_real_,bathroom=NA_real_,ego=NA_real_,pipewater=NA_real_
+ ,cookfuel=NA_real_,heatfuel=NA_real_,hotwater=NA_real_
+ ,G0451=NA_real_,G0452=NA_real_,G0453=NA_real_,G044=NA_real_,Energy_Share=NA_real_
+ ,Subsidy=NA_real_,Food_Share=NA_real_,Low_Calorie=NA_real_,Low_Protein=NA_real_,
+ FoodKCaloriesHH_Per=NA_real_,No_Insurance=NA_real_,Area_Per=NA_real_
+ ,skeleton=NA_real_,House_High_Share=NA_real_,Tech_low=NA_real_,Equip_low=NA_real_)
+
+Province<-data.table(Year=NA_integer_,ProvinceCode=NA_integer_,Total_Exp_Month_Per=NA_real_)
+
+Y1 <- data.table(Year=NA_integer_,H=NA_real_)
+
+Y2 <- data.table(Year=NA_integer_,H=NA_real_,Region=NA_character_)
+
+Y3 <- data.table(Year=NA_integer_,H=NA_real_,ProvinceCode=NA_integer_)
+
+Z1 <- data.table(Year=NA_integer_,A=NA_real_)
+
+Z2 <- data.table(Year=NA_integer_,A=NA_real_,Region=NA_character_)
+
+Z3 <- data.table(Year=NA_integer_,A=NA_real_,ProvinceCode=NA_integer_)
+
+Q1 <- data.table(Year=NA_integer_,MPI=NA_real_)
+
+Q2 <- data.table(Year=NA_integer_,MPI=NA_real_,Region=NA_character_)
+
+Q3 <- data.table(Year=NA_integer_,MPI=NA_real_,ProvinceCode=NA_integer_)
+
+for(year in (Settings$startyear:Settings$endyear)){
+ cat(paste0("\n------------------------------\nYear:",year,"\n"))
+
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"FINALPOORS.rda"))
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"Total2.rda"))
+ MD<-merge(MD,Total[,.(HHID,G01,G02,G03,G04,G05,G06,G07,G08,G09,G101,
+ G102,G103,G104,G105,G11,G12,G13,G041,G042,G044,G045,
+ G0451,G0452,G0453,G0454,Subsidy,G125,G1253)],by="HHID")
+ MD[,Decile:=NULL]
+
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"Deciles.rda"))
+ if (year==98){
+ names(Deciles)<-c("HHID","Decile","Percentile")
+ }
+
+ MD<-merge(MD,Deciles,by="HHID")
+
+ MD[,All:=G01+G02+G03+G04+G05+G06+G07+G08+G09+G101+
+ G102+G103+G104+G105+G11+G12+G13]
+
+ for (col in c("ego","bathroom","electricity"))
+ MD[is.na(get(col)), (col) := "True"]
+
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"P1.rda"))
+ P1<-P1[Age<=16 & Age>=6,.(HHID,Age,Literate,Student)]
+ P1<-P1[Literate==TRUE | Literate==FALSE]
+ P1<-P1[,Lit:=ifelse(Literate==FALSE | Student==FALSE,100,1)]
+ P<-P1[,lapply(.SD,sum),by="HHID"]
+ P<-P[,Knowledge:=ifelse(Lit>=100,0,1)]
+ MD<-merge(MD,P[,.(HHID,Knowledge)],all.x = TRUE)
+
+
+
+ MD[,Low_Calorie:=ifelse(FoodKCaloriesHH_Per<2100,1,0)]
+ MD[,Low_Protein:=ifelse(FoodProtein_Per<60,1,0)]
+ MD[,No_Insurance:=ifelse(G1253==0,1,0)]
+ MD[,House_High_Share:=ifelse(((G041+G042)/All>0.3 & (tenure=="Rented" |
+ tenure=="Mortgage") & Region=="Urban") |
+ ((G041+G042)/All>0.2 & (tenure=="Rented" |
+ tenure=="Mortgage") & Region=="Rural"),1,0)]
+ if (year==90){
+ MD[,phone:=ifelse(is.na(phone),"True","False")]
+ MD[,internet:=ifelse(is.na(internet),"True","False")]
+ }
+
+ MD[,Tech_low:=ifelse((phone=="False" & cellphone=="False" &
+ computer=="False") |
+ (phone=="False" & cellphone=="False" &
+ internet=="False") |
+ (phone=="False" &
+ computer=="False" & internet=="False") |
+ ( cellphone=="False" &
+ computer=="False" & internet=="False"),1,0)]
+ MD[,Yakhchal:=ifelse(refrigerator=="True" | freezer=="True" |
+ frez_refrig=="True","True","False")]
+ MD[,Equip_low:=ifelse((Yakhchal=="False" & washer=="False" &
+ oven=="False") |
+ (Yakhchal=="False" & washer=="False" &
+ tvcr=="False") |
+ (Yakhchal=="False" &
+ oven=="False" & tvcr=="False") |
+ ( washer=="False" &
+ oven=="False" & tvcr=="False") |
+ ( washer=="False" & oven=="False") |
+ ( washer=="False" & Yakhchal=="False") |
+ ( washer=="False" & tvcr=="False") |
+ ( tvcr=="False" & oven=="False") |
+ ( tvcr=="False" & Yakhchal=="False") |
+ ( Yakhchal=="False" & oven=="False") ,1,0)]
+
+ A4<-MD[,.(Total_Exp_Month_Per=weighted.mean(Total_Exp_Month_Per,Weight,na.rm=TRUE)),by=ProvinceCode]
+
+ A1<-MD[,.(HLiterate=weighted.mean(HLiterate==FALSE,Weight,na.rm=TRUE),
+ Knowledge=weighted.mean(Knowledge==0,Weight,na.rm=TRUE),
+ tenure=weighted.mean(tenure=="OwnLandandBuilding" | tenure=="Apartment",Weight,na.rm=TRUE),
+ area=weighted.mean(area/Size,Weight,na.rm=TRUE),
+ room=weighted.mean(room/Size,Weight,na.rm=TRUE),
+ car=weighted.mean(car=='False',Weight,na.rm=TRUE),
+ frez_refrig=weighted.mean(frez_refrig=="True" | refrigerator=="True",Weight,na.rm=TRUE),
+ oven=weighted.mean(oven=="False",Weight,na.rm=TRUE),
+ bathroom=weighted.mean(bathroom=="False",Weight,na.rm=TRUE),
+ ego=weighted.mean(ego=="False",Weight,na.rm=TRUE),
+ electricity=weighted.mean(electricity=="False",Weight,na.rm=TRUE),
+ pipewater=weighted.mean(pipewater=="False",Weight,na.rm=TRUE),
+ cookfuel=weighted.mean(cookfuel!="pipedgas",Weight,na.rm=TRUE),
+ heatfuel=weighted.mean(heatfuel!="pipedgas",Weight,na.rm=TRUE),
+ hotwater=weighted.mean(hotwater!="pipedgas",Weight,na.rm=TRUE),
+ G0451=weighted.mean(G0451/All,Weight,na.rm=TRUE),
+ G0452=weighted.mean(G0452/All,Weight,na.rm=TRUE),
+ G0453=weighted.mean((G0453+G0454)/All,Weight,na.rm=TRUE),
+ G044=weighted.mean(G044/All,Weight,na.rm=TRUE),
+ Energy_Share=weighted.mean((G044+G045)/All,Weight,na.rm=TRUE),
+ Subsidy=weighted.mean((Subsidy/12)/All,Weight,na.rm=TRUE),
+ Food_Share=weighted.mean(G01/All,Weight,na.rm=TRUE),
+ Low_Calorie=weighted.mean(Low_Calorie,Weight,na.rm=TRUE),
+ Low_Protein=weighted.mean(Low_Protein,Weight,na.rm=TRUE),
+ No_Insurance=weighted.mean(No_Insurance,Weight,na.rm=TRUE),
+ Area_Per=weighted.mean((area/Size)<16,Weight,na.rm=TRUE),
+ House_High_Share=weighted.mean(House_High_Share,Weight,na.rm=TRUE),
+ Tech_low=weighted.mean(Tech_low,Weight,na.rm=TRUE),
+ Equip_low=weighted.mean(Equip_low,Weight,na.rm=TRUE),
+ skeleton=1-weighted.mean(skeleton=="metal" | skeleton=="concrete" |
+ constmat=="BrickSteel_StoneSteel" |
+ constmat=="Brickwood_Stonewood" |
+ constmat=="CementBlocks" |
+ constmat=="AllBrick_Stone" ,Weight,na.rm=TRUE),
+ FoodKCaloriesHH_Per=weighted.mean(FoodKCaloriesHH_Per,Weight,na.rm=TRUE))]
+
+ A2<-MD[,.(HLiterate=weighted.mean(HLiterate==FALSE,Weight,na.rm=TRUE),
+ Knowledge=weighted.mean(Knowledge==0,Weight,na.rm=TRUE),
+ tenure=weighted.mean(tenure=="OwnLandandBuilding" | tenure=="Apartment",Weight,na.rm=TRUE),
+ area=weighted.mean(area/Size,Weight,na.rm=TRUE),
+ room=weighted.mean(room/Size,Weight,na.rm=TRUE),
+ car=weighted.mean(car=='False',Weight,na.rm=TRUE),
+ frez_refrig=weighted.mean(frez_refrig=="True" | refrigerator=="True",Weight,na.rm=TRUE),
+ oven=weighted.mean(oven=="False",Weight,na.rm=TRUE),
+ bathroom=weighted.mean(bathroom=="False",Weight,na.rm=TRUE),
+ ego=weighted.mean(ego=="False",Weight,na.rm=TRUE),
+ electricity=weighted.mean(electricity=="False",Weight,na.rm=TRUE),
+ pipewater=weighted.mean(pipewater=="False",Weight,na.rm=TRUE),
+ cookfuel=weighted.mean(cookfuel!="pipedgas",Weight,na.rm=TRUE),
+ heatfuel=weighted.mean(heatfuel!="pipedgas",Weight,na.rm=TRUE),
+ hotwater=weighted.mean(hotwater!="pipedgas",Weight,na.rm=TRUE),
+ G0451=weighted.mean(G0451/All,Weight,na.rm=TRUE),
+ G0452=weighted.mean(G0452/All,Weight,na.rm=TRUE),
+ G0453=weighted.mean((G0453+G0454)/All,Weight,na.rm=TRUE),
+ G044=weighted.mean(G044/All,Weight,na.rm=TRUE),
+ Energy_Share=weighted.mean((G044+G045)/All,Weight,na.rm=TRUE),
+ Subsidy=weighted.mean((Subsidy/12)/All,Weight,na.rm=TRUE),
+ Food_Share=weighted.mean(G01/All,Weight,na.rm=TRUE),
+ Low_Calorie=weighted.mean(Low_Calorie,Weight,na.rm=TRUE),
+ Low_Protein=weighted.mean(Low_Protein,Weight,na.rm=TRUE),
+ No_Insurance=weighted.mean(No_Insurance,Weight,na.rm=TRUE),
+ Area_Per=weighted.mean((area/Size)<16,Weight,na.rm=TRUE),
+ House_High_Share=weighted.mean(House_High_Share,Weight,na.rm=TRUE),
+ Tech_low=weighted.mean(Tech_low,Weight,na.rm=TRUE),
+ Equip_low=weighted.mean(Equip_low,Weight,na.rm=TRUE),
+ skeleton=1-weighted.mean(skeleton=="metal" | skeleton=="concrete" |
+ constmat=="BrickSteel_StoneSteel" |
+ constmat=="Brickwood_Stonewood" |
+ constmat=="CementBlocks" |
+ constmat=="AllBrick_Stone" ,Weight,na.rm=TRUE),
+ FoodKCaloriesHH_Per=weighted.mean(FoodKCaloriesHH_Per,Weight,na.rm=TRUE)),by=Region]
+
+
+ A3<-MD[,.(HLiterate=weighted.mean(HLiterate==FALSE,Weight,na.rm=TRUE),
+ Knowledge=weighted.mean(Knowledge==0,Weight,na.rm=TRUE),
+ tenure=weighted.mean(tenure=="OwnLandandBuilding" | tenure=="Apartment",Weight,na.rm=TRUE),
+ area=weighted.mean(area/Size,Weight,na.rm=TRUE),
+ room=weighted.mean(room/Size,Weight,na.rm=TRUE),
+ car=weighted.mean(car=='False',Weight,na.rm=TRUE),
+ frez_refrig=weighted.mean(frez_refrig=="True" | refrigerator=="True",Weight,na.rm=TRUE),
+ oven=weighted.mean(oven=="False",Weight,na.rm=TRUE),
+ bathroom=weighted.mean(bathroom=="False",Weight,na.rm=TRUE),
+ ego=weighted.mean(ego=="False",Weight,na.rm=TRUE),
+ electricity=weighted.mean(electricity=="False",Weight,na.rm=TRUE),
+ pipewater=weighted.mean(pipewater=="False",Weight,na.rm=TRUE),
+ cookfuel=weighted.mean(cookfuel!="pipedgas",Weight,na.rm=TRUE),
+ heatfuel=weighted.mean(heatfuel!="pipedgas",Weight,na.rm=TRUE),
+ hotwater=weighted.mean(hotwater!="pipedgas",Weight,na.rm=TRUE),
+ G0451=weighted.mean(G0451/All,Weight,na.rm=TRUE),
+ G0452=weighted.mean(G0452/All,Weight,na.rm=TRUE),
+ G0453=weighted.mean((G0453+G0454)/All,Weight,na.rm=TRUE),
+ G044=weighted.mean(G044/All,Weight,na.rm=TRUE),
+ Energy_Share=weighted.mean((G044+G045)/All,Weight,na.rm=TRUE),
+ Subsidy=weighted.mean((Subsidy/12)/All,Weight,na.rm=TRUE),
+ Food_Share=weighted.mean(G01/All,Weight,na.rm=TRUE),
+ Low_Calorie=weighted.mean(Low_Calorie,Weight,na.rm=TRUE),
+ Low_Protein=weighted.mean(Low_Protein,Weight,na.rm=TRUE),
+ No_Insurance=weighted.mean(No_Insurance,Weight,na.rm=TRUE),
+ Area_Per=weighted.mean((area/Size)<16,Weight,na.rm=TRUE),
+ House_High_Share=weighted.mean(House_High_Share,Weight,na.rm=TRUE),
+ Tech_low=weighted.mean(Tech_low,Weight,na.rm=TRUE),
+ Equip_low=weighted.mean(Equip_low,Weight,na.rm=TRUE),
+ skeleton=1-weighted.mean(skeleton=="metal" | skeleton=="concrete" |
+ constmat=="BrickSteel_StoneSteel" |
+ constmat=="Brickwood_Stonewood" |
+ constmat=="CementBlocks" |
+ constmat=="AllBrick_Stone" ,Weight,na.rm=TRUE),
+ FoodKCaloriesHH_Per=weighted.mean(FoodKCaloriesHH_Per,Weight,na.rm=TRUE)),by=Decile]
+
+ A1[,Year:=year]
+ X1 <- rbind(X1,A1)
+
+ A2[,Year:=year]
+ X2 <- rbind(X2,A2)
+
+ A3[,Year:=year]
+ X3 <- rbind(X3,A3)
+
+ A4[,Year:=year]
+ Province <- rbind(Province,A4)
+
+ MD[,Illiterte:=ifelse(HLiterate==FALSE,1,0)]
+ MD[,No_knowledge:=ifelse(Knowledge==1 | is.na(Knowledge),0,1)]
+ MD[,High_Energy_Share:=ifelse((G044+G045)/All >0.07 ,1,0)]
+ MD[,No_electricity:=ifelse(electricity=="False" ,1,0)]
+ MD[,No_cookefuel:=ifelse(cookfuel!="pipedgas",1,0)]
+ MD[,No_pipewater:=ifelse(pipewater=="False",1,0)]
+ MD[,Small_House:=ifelse((area/Size)<16,1,0)]
+ MD[,No_Skeleton:=1-ifelse(skeleton=="metal" | skeleton=="concrete" |
+ constmat=="BrickSteel_StoneSteel" |
+ constmat=="Brickwood_Stonewood" |
+ constmat=="CementBlocks" |
+ constmat=="AllBrick_Stone",1,0)]
+ MD[,No_bathroom:=ifelse(bathroom=="False",1,0)]
+ MD[,No_ego:=ifelse(ego=="False",1,0)]
+ MD[,No_car:=ifelse(car=="False",1,0)]
+
+
+ W_Edu1<-0.1
+ W_Edu2<-0.1
+ W_Energy1<-1/15
+ W_Energy2<-1/15
+ W_Energy3<-1/15
+ W_Health1<-1/20
+ W_Health2<-1/20
+ W_Health3<-1/20
+ W_Health4<-1/20
+ W_House1<-1/20
+ W_House2<-1/20
+ W_House3<-1/20
+ W_House4<-1/20
+ W_Equip1<-0
+ W_Equip2<-1/15
+ W_Equip3<-1/15
+ W_Equip4<-1/15
+
+ MD[,Poverty_Score:=W_Edu1*Illiterte+W_Edu2*No_knowledge+
+ W_Energy1*High_Energy_Share+W_Energy2*No_electricity+
+ W_Energy3*No_cookefuel+
+ W_Health1*Low_Calorie+W_Health2*Low_Protein+
+ W_Health3*No_Insurance+W_Health4*No_pipewater+
+ W_House1*Small_House+W_House2*House_High_Share+
+ W_House3*No_Skeleton+W_House4*No_bathroom+
+ W_Equip1*No_ego+W_Equip2*No_car+
+ W_Equip3*Equip_low+W_Equip4*Tech_low]
+
+ z1<-MD[,.(Illiterte=weighted.mean(Illiterte,Weight)
+ ,No_knowledge=weighted.mean(No_knowledge,Weight)
+ ,High_Energy_Share=weighted.mean(High_Energy_Share,Weight)
+ ,No_electricity=weighted.mean(No_electricity,Weight)
+ ,No_cookefuel=weighted.mean(No_cookefuel,Weight)
+ ,Low_Calorie=weighted.mean(Low_Calorie,Weight)
+ ,Low_Protein=weighted.mean(Low_Protein,Weight)
+ ,No_Insurance=weighted.mean(No_Insurance,Weight)
+ ,No_pipewater=weighted.mean(No_pipewater,Weight)
+ ,Small_House=weighted.mean(Small_House,Weight)
+ ,House_High_Share=weighted.mean(House_High_Share,Weight)
+ ,No_Skeleton=weighted.mean(No_Skeleton,Weight)
+ ,No_bathroom=weighted.mean(No_bathroom,Weight)
+ ,No_ego=weighted.mean(No_ego,Weight)
+ ,No_car=weighted.mean(No_car,Weight)
+ ,Equip_low=weighted.mean(Equip_low,Weight)
+ ,Tech_low=weighted.mean(Tech_low,Weight))]
+
+ z2<-MD[,.(Illiterte=weighted.mean(Illiterte,Weight)
+ ,No_knowledge=weighted.mean(No_knowledge,Weight)
+ ,High_Energy_Share=weighted.mean(High_Energy_Share,Weight)
+ ,No_electricity=weighted.mean(No_electricity,Weight)
+ ,No_cookefuel=weighted.mean(No_cookefuel,Weight)
+ ,Low_Calorie=weighted.mean(Low_Calorie,Weight)
+ ,Low_Protein=weighted.mean(Low_Protein,Weight)
+ ,No_Insurance=weighted.mean(No_Insurance,Weight)
+ ,No_pipewater=weighted.mean(No_pipewater,Weight)
+ ,Small_House=weighted.mean(Small_House,Weight)
+ ,House_High_Share=weighted.mean(House_High_Share,Weight)
+ ,No_Skeleton=weighted.mean(No_Skeleton,Weight)
+ ,No_bathroom=weighted.mean(No_bathroom,Weight)
+ ,No_ego=weighted.mean(No_ego,Weight)
+ ,No_car=weighted.mean(No_car,Weight)
+ ,Equip_low=weighted.mean(Equip_low,Weight)
+ ,Tech_low=weighted.mean(Tech_low,Weight)),by=Region]
+
+ z3<-MD[,.(Illiterte=weighted.mean(Illiterte,Weight)
+ ,No_knowledge=weighted.mean(No_knowledge,Weight)
+ ,High_Energy_Share=weighted.mean(High_Energy_Share,Weight)
+ ,No_electricity=weighted.mean(No_electricity,Weight)
+ ,No_cookefuel=weighted.mean(No_cookefuel,Weight)
+ ,Low_Calorie=weighted.mean(Low_Calorie,Weight)
+ ,Low_Protein=weighted.mean(Low_Protein,Weight)
+ ,No_Insurance=weighted.mean(No_Insurance,Weight)
+ ,No_pipewater=weighted.mean(No_pipewater,Weight)
+ ,Small_House=weighted.mean(Small_House,Weight)
+ ,House_High_Share=weighted.mean(House_High_Share,Weight)
+ ,No_Skeleton=weighted.mean(No_Skeleton,Weight)
+ ,No_bathroom=weighted.mean(No_bathroom,Weight)
+ ,No_ego=weighted.mean(No_ego,Weight)
+ ,No_car=weighted.mean(No_car,Weight)
+ ,Equip_low=weighted.mean(Equip_low,Weight)
+ ,Tech_low=weighted.mean(Tech_low,Weight)),by=Decile]
+
+ z4<-MD[,.(Illiterte=weighted.mean(Illiterte,Weight)
+ ,No_knowledge=weighted.mean(No_knowledge,Weight)
+ ,High_Energy_Share=weighted.mean(High_Energy_Share,Weight)
+ ,No_electricity=weighted.mean(No_electricity,Weight)
+ ,No_cookefuel=weighted.mean(No_cookefuel,Weight)
+ ,Low_Calorie=weighted.mean(Low_Calorie,Weight)
+ ,Low_Protein=weighted.mean(Low_Protein,Weight)
+ ,No_Insurance=weighted.mean(No_Insurance,Weight)
+ ,No_pipewater=weighted.mean(No_pipewater,Weight)
+ ,Small_House=weighted.mean(Small_House,Weight)
+ ,House_High_Share=weighted.mean(House_High_Share,Weight)
+ ,No_Skeleton=weighted.mean(No_Skeleton,Weight)
+ ,No_bathroom=weighted.mean(No_bathroom,Weight)
+ ,No_ego=weighted.mean(No_ego,Weight)
+ ,No_car=weighted.mean(No_car,Weight)
+ ,Equip_low=weighted.mean(Equip_low,Weight)
+ ,Tech_low=weighted.mean(Tech_low,Weight)),by=ProvinceCode]
+
+
+ MD[,FinalPoor:=ifelse(Poverty_Score>0.2,1,0)]
+ MD[,Poverty_Score_Revised:=ifelse(Poverty_Score>0.2,Poverty_Score,0)]
+ B1<-MD[,.(H=weighted.mean(FinalPoor,Weight))]
+ B2<-MD[,.(H=weighted.mean(FinalPoor,Weight)),by=Region]
+ B3<-MD[,.(H=weighted.mean(FinalPoor,Weight)),by=ProvinceCode]
+ MD[,weighted.mean(FinalPoor,Weight),by=Decile]
+
+ cat(MD[,weighted.mean(FinalPoor,Weight)],"\n")
+
+ B1[,Year:=year]
+ Y1 <- rbind(Y1,B1)
+
+ B2[,Year:=year]
+ Y2 <- rbind(Y2,B2)
+
+ B3[,Year:=year]
+ Y3 <- rbind(Y3,B3)
+ #write.csv(Y3,file = "Y3.csv")
+
+ C1<-MD[,.(A=sum(Poverty_Score_Revised)/sum(FinalPoor))]
+ C2<-MD[,.(A=sum(Poverty_Score_Revised)/sum(FinalPoor)),by=Region]
+ C3<-MD[,.(A=sum(Poverty_Score_Revised)/sum(FinalPoor)),by=ProvinceCode]
+
+ C1[,Year:=year]
+ Z1 <- rbind(Z1,C1)
+
+ C2[,Year:=year]
+ Z2 <- rbind(Z2,C2)
+
+ C3[,Year:=year]
+ Z3 <- rbind(Z3,C3)
+
+ D1<-MD[,.(MPI=weighted.mean(FinalPoor,Weight)*(sum(Poverty_Score_Revised)/sum(FinalPoor)))]
+ D2<-MD[,.(MPI=weighted.mean(FinalPoor,Weight)*(sum(Poverty_Score_Revised)/sum(FinalPoor))),by=Region]
+ D3<-MD[,.(MPI=weighted.mean(FinalPoor,Weight)*(sum(Poverty_Score_Revised)/sum(FinalPoor))),by=ProvinceCode]
+
+ D1[,Year:=year]
+ Q1 <- rbind(Q1,D1)
+
+ D2[,Year:=year]
+ Q2 <- rbind(Q2,D2)
+
+ D3[,Year:=year]
+ Q3 <- rbind(Q3,D3)
+
+}
+
+
+
+load(file=paste0(Settings$HEISProcessedPath,"Y",year,"P1.rda"))
+D1<-P1[,.(HHID,Age,Literate,Student,Sex)]
+D1<-merge(D1,MD[,.(HHID,ProvinceCode,Decile,Weight,Region)],all.x = TRUE)
+D1[Age>6,weighted.mean(Literate=="FALSE",Weight,na.rm = TRUE),by="Region"]
+x1<-D1[Age>6,weighted.mean(Literate=="FALSE",Weight,na.rm = TRUE),by="ProvinceCode"]
+x2<-D1[Age>7,weighted.mean(Literate=="FALSE",Weight,na.rm = TRUE),by="Decile"]
+
+a1<-MD[,weighted.mean(HLiterate==FALSE,Weight),by="ProvinceCode"][order(ProvinceCode)]
+a2<-MD[,weighted.mean(Knowledge==0,Weight,na.rm = TRUE),by="ProvinceCode"][order(ProvinceCode)]
+
+
+X1<-X1[Year==90 | Year==91 | Year==92 | Year==93 | Year==94 |
+ Year==95 | Year==96 | Year==97 | Year==98]
+X2<-X2[Year==90 | Year==91 | Year==92 | Year==93 | Year==94 |
+ Year==95 | Year==96 | Year==97 | Year==98]
+X3<-X3[Year==90 | Year==91 | Year==92 | Year==93 | Year==94 |
+ Year==95 | Year==96 | Year==97 | Year==98]
+
+
+png(file="C:/IRHEIS/R/1.png",width=1200, height=600)
+ggplot(X1, aes(fill=factor(HLiterate), y=HLiterate, x=factor(Year))) +
+ geom_bar(position="dodge", stat="identity") + theme_bw() +
+ theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1)) + theme_grey(base_size = 22)
+dev.off()
+
+png(file="C:/IRHEIS/R/2.png",width=1200, height=600)
+ggplot(X2, aes(fill=factor(Region), y=HLiterate, x=factor(Year))) +
+ geom_bar(position="dodge", stat="identity") + theme_bw() +
+ theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1)) + theme_grey(base_size = 25)
+#+ geom_text(aes(label=HLiterate), position=position_dodge(width=0.9), vjust=-0.25)
+dev.off()
+
+png(file="C:/IRHEIS/R/3.png",width=1200, height=600)
+ggplot(X3)+
+geom_line(mapping = aes(x=Year,y=HLiterate,col=factor(Decile),
+linetype=factor(Decile)))+ theme_grey(base_size = 25)
+dev.off()
+
+###############################################################################
+png(file="C:/IRHEIS/R/4.png",width=1200, height=600)
+ggplot(X1, aes(fill=factor(Knowledge), y=Knowledge, x=factor(Year))) +
+ geom_bar(position="dodge", stat="identity") + theme_bw() +
+ theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1)) + theme_grey(base_size = 25)
+dev.off()
+
+png(file="C:/IRHEIS/R/5.png",width=1200, height=600)
+ggplot(X2, aes(fill=factor(Region), y=Knowledge, x=factor(Year))) +
+ geom_bar(position="dodge", stat="identity") + theme_bw() +
+ theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1)) + theme_grey(base_size = 25)
+#+ geom_text(aes(label=HLiterate), position=position_dodge(width=0.9), vjust=-0.25)
+dev.off()
+
+png(file="C:/IRHEIS/R/6.png",width=1200, height=600)
+ggplot(X3)+
+ geom_line(mapping = aes(x=Year,y=Knowledge,col=factor(Decile),
+ linetype=factor(Decile)))+ theme_grey(base_size = 25)
+dev.off()
+###############################################################################
+###############################################################################
+###############################################################################
+png(file="C:/IRHEIS/R/7.png",width=1200, height=600)
+ggplot(X1, aes(fill=factor(Energy_Share), y=Energy_Share, x=factor(Year))) +
+ geom_bar(position="dodge", stat="identity") + theme_bw() +
+ theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1)) + theme_grey(base_size = 25)
+dev.off()
+
+png(file="C:/IRHEIS/R/8.png",width=1200, height=600)
+ggplot(X2, aes(fill=factor(Region), y=Energy_Share, x=factor(Year))) +
+ geom_bar(position="dodge", stat="identity") + theme_bw() +
+ theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1)) + theme_grey(base_size = 25)
+#+ geom_text(aes(label=HLiterate), position=position_dodge(width=0.9), vjust=-0.25)
+dev.off()
+
+png(file="C:/IRHEIS/R/9.png",width=1200, height=600)
+ggplot(X3)+
+ geom_line(mapping = aes(x=Year,y=Energy_Share,col=factor(Decile),
+ linetype=factor(Decile)))+ theme_grey(base_size = 25)
+dev.off()
+###############################################################################
+png(file="C:/IRHEIS/R/10.png",width=1200, height=600)
+ggplot(X1, aes(fill=factor(electricity), y=electricity, x=factor(Year))) +
+ geom_bar(position="dodge", stat="identity") + theme_bw() +
+ theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1)) + theme_grey(base_size = 25)
+dev.off()
+
+png(file="C:/IRHEIS/R/11.png",width=1200, height=600)
+ggplot(X2, aes(fill=factor(Region), y=electricity, x=factor(Year))) +
+ geom_bar(position="dodge", stat="identity") + theme_bw() +
+ theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1)) + theme_grey(base_size = 25)
+#+ geom_text(aes(label=HLiterate), position=position_dodge(width=0.9), vjust=-0.25)
+dev.off()
+
+png(file="C:/IRHEIS/R/12.png",width=1200, height=600)
+ggplot(X3)+
+ geom_line(mapping = aes(x=Year,y=electricity,col=factor(Decile),
+ linetype=factor(Decile)))+ theme_grey(base_size = 25)
+dev.off()
+###############################################################################
+png(file="C:/IRHEIS/R/13.png",width=1200, height=600)
+ggplot(X1, aes(fill=factor(cookfuel), y=cookfuel, x=factor(Year))) +
+ geom_bar(position="dodge", stat="identity") + theme_bw() +
+ theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1)) + theme_grey(base_size = 25)
+dev.off()
+
+png(file="C:/IRHEIS/R/14.png",width=1200, height=600)
+ggplot(X2, aes(fill=factor(Region), y=cookfuel, x=factor(Year))) +
+ geom_bar(position="dodge", stat="identity") + theme_bw() +
+ theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1)) + theme_grey(base_size = 25)
+#+ geom_text(aes(label=HLiterate), position=position_dodge(width=0.9), vjust=-0.25)
+dev.off()
+
+png(file="C:/IRHEIS/R/15.png",width=1200, height=600)
+ggplot(X3)+
+ geom_line(mapping = aes(x=Year,y=cookfuel,col=factor(Decile),
+ linetype=factor(Decile)))+ theme_grey(base_size = 25)
+dev.off()
+###############################################################################
+###############################################################################
+###############################################################################
+png(file="C:/IRHEIS/R/16.png",width=1200, height=600)
+ggplot(X1, aes(fill=factor(Low_Calorie), y=Low_Calorie, x=factor(Year))) +
+ geom_bar(position="dodge", stat="identity") + theme_bw() +
+ theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1)) + theme_grey(base_size = 25)
+dev.off()
+
+png(file="C:/IRHEIS/R/17.png",width=1200, height=600)
+ggplot(X2, aes(fill=factor(Region), y=Low_Calorie, x=factor(Year))) +
+ geom_bar(position="dodge", stat="identity") + theme_bw() +
+ theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1)) + theme_grey(base_size = 25)
+#+ geom_text(aes(label=HLiterate), position=position_dodge(width=0.9), vjust=-0.25)
+dev.off()
+
+png(file="C:/IRHEIS/R/18.png",width=1200, height=600)
+ggplot(X3)+
+ geom_line(mapping = aes(x=Year,y=Low_Calorie,col=factor(Decile),
+ linetype=factor(Decile)))+ theme_grey(base_size = 25)
+dev.off()
+###############################################################################
+png(file="C:/IRHEIS/R/19.png",width=1200, height=600)
+ggplot(X1, aes(fill=factor(Low_Protein), y=Low_Protein, x=factor(Year))) +
+ geom_bar(position="dodge", stat="identity") + theme_bw() +
+ theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1)) + theme_grey(base_size = 25)
+dev.off()
+
+png(file="C:/IRHEIS/R/20.png",width=1200, height=600)
+ggplot(X2, aes(fill=factor(Region), y=Low_Protein, x=factor(Year))) +
+ geom_bar(position="dodge", stat="identity") + theme_bw() +
+ theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1)) + theme_grey(base_size = 25)
+#+ geom_text(aes(label=HLiterate), position=position_dodge(width=0.9), vjust=-0.25)
+dev.off()
+
+png(file="C:/IRHEIS/R/21.png",width=1200, height=600)
+ggplot(X3)+
+ geom_line(mapping = aes(x=Year,y=Low_Protein,col=factor(Decile),
+ linetype=factor(Decile)))+ theme_grey(base_size = 25)
+dev.off()
+###############################################################################
+png(file="C:/IRHEIS/R/22.png",width=1200, height=600)
+ggplot(X1, aes(fill=factor(No_Insurance), y=No_Insurance, x=factor(Year))) +
+ geom_bar(position="dodge", stat="identity") + theme_bw() +
+ theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1)) + theme_grey(base_size = 25)
+dev.off()
+
+png(file="C:/IRHEIS/R/23.png",width=1200, height=600)
+ggplot(X2, aes(fill=factor(Region), y=No_Insurance, x=factor(Year))) +
+ geom_bar(position="dodge", stat="identity") + theme_bw() +
+ theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1)) + theme_grey(base_size = 25)
+#+ geom_text(aes(label=HLiterate), position=position_dodge(width=0.9), vjust=-0.25)
+dev.off()
+
+png(file="C:/IRHEIS/R/24.png",width=1200, height=600)
+ggplot(X3)+
+ geom_line(mapping = aes(x=Year,y=No_Insurance,col=factor(Decile),
+ linetype=factor(Decile)))+ theme_grey(base_size = 25)
+dev.off()
+###############################################################################
+png(file="C:/IRHEIS/R/25.png",width=1200, height=600)
+ggplot(X1, aes(fill=factor(pipewater), y=pipewater, x=factor(Year))) +
+ geom_bar(position="dodge", stat="identity") + theme_bw() +
+ theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1)) + theme_grey(base_size = 25)
+dev.off()
+
+png(file="C:/IRHEIS/R/26.png",width=1200, height=600)
+ggplot(X2, aes(fill=factor(Region), y=pipewater, x=factor(Year))) +
+ geom_bar(position="dodge", stat="identity") + theme_bw() +
+ theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1)) + theme_grey(base_size = 25)
+#+ geom_text(aes(label=HLiterate), position=position_dodge(width=0.9), vjust=-0.25)
+dev.off()
+
+png(file="C:/IRHEIS/R/27.png",width=1200, height=600)
+ggplot(X3)+
+ geom_line(mapping = aes(x=Year,y=pipewater,col=factor(Decile),
+ linetype=factor(Decile)))+ theme_grey(base_size = 25)
+dev.off()
+###############################################################################
+###############################################################################
+###############################################################################
+png(file="C:/IRHEIS/R/28.png",width=1200, height=600)
+ggplot(X1, aes(fill=factor(Area_Per), y=Area_Per, x=factor(Year))) +
+ geom_bar(position="dodge", stat="identity") + theme_bw() +
+ theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1)) + theme_grey(base_size = 25)
+dev.off()
+
+png(file="C:/IRHEIS/R/29.png",width=1200, height=600)
+ggplot(X2, aes(fill=factor(Region), y=Area_Per, x=factor(Year))) +
+ geom_bar(position="dodge", stat="identity") + theme_bw() +
+ theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1)) + theme_grey(base_size = 25)
+#+ geom_text(aes(label=HLiterate), position=position_dodge(width=0.9), vjust=-0.25)
+dev.off()
+
+png(file="C:/IRHEIS/R/30.png",width=1200, height=600)
+ggplot(X3)+
+ geom_line(mapping = aes(x=Year,y=Area_Per,col=factor(Decile),
+ linetype=factor(Decile)))+ theme_grey(base_size = 25)
+dev.off()
+###############################################################################
+png(file="C:/IRHEIS/R/31.png",width=1200, height=600)
+ggplot(X1, aes(fill=factor(skeleton), y=skeleton, x=factor(Year))) +
+ geom_bar(position="dodge", stat="identity") + theme_bw() +
+ theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1)) + theme_grey(base_size = 25)
+dev.off()
+
+png(file="C:/IRHEIS/R/32.png",width=1200, height=600)
+ggplot(X2, aes(fill=factor(Region), y=skeleton, x=factor(Year))) +
+ geom_bar(position="dodge", stat="identity") + theme_bw() +
+ theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1)) + theme_grey(base_size = 25)
+#+ geom_text(aes(label=HLiterate), position=position_dodge(width=0.9), vjust=-0.25)
+dev.off()
+
+png(file="C:/IRHEIS/R/33.png",width=1200, height=600)
+ggplot(X3)+
+ geom_line(mapping = aes(x=Year,y=skeleton,col=factor(Decile),
+ linetype=factor(Decile)))+ theme_grey(base_size = 25)
+dev.off()
+###############################################################################
+png(file="C:/IRHEIS/R/34.png",width=1200, height=600)
+ggplot(X1, aes(fill=factor(House_High_Share), y=House_High_Share, x=factor(Year))) +
+ geom_bar(position="dodge", stat="identity") + theme_bw() +
+ theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1)) + theme_grey(base_size = 25)
+dev.off()
+
+png(file="C:/IRHEIS/R/35.png",width=1200, height=600)
+ggplot(X2, aes(fill=factor(Region), y=House_High_Share, x=factor(Year))) +
+ geom_bar(position="dodge", stat="identity") + theme_bw() +
+ theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1)) + theme_grey(base_size = 25)
+#+ geom_text(aes(label=HLiterate), position=position_dodge(width=0.9), vjust=-0.25)
+dev.off()
+
+png(file="C:/IRHEIS/R/36.png",width=1200, height=600)
+ggplot(X3)+
+ geom_line(mapping = aes(x=Year,y=House_High_Share,col=factor(Decile),
+ linetype=factor(Decile)))+ theme_grey(base_size = 25)
+dev.off()
+###############################################################################
+###############################################################################
+###############################################################################
+png(file="C:/IRHEIS/R/37.png",width=1200, height=600)
+ggplot(X1, aes(fill=factor(bathroom), y=bathroom, x=factor(Year))) +
+ geom_bar(position="dodge", stat="identity") + theme_bw() +
+ theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1)) + theme_grey(base_size = 25)
+dev.off()
+
+png(file="C:/IRHEIS/R/38.png",width=1200, height=600)
+ggplot(X2, aes(fill=factor(Region), y=bathroom, x=factor(Year))) +
+ geom_bar(position="dodge", stat="identity") + theme_bw() +
+ theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1)) + theme_grey(base_size = 25)
+#+ geom_text(aes(label=HLiterate), position=position_dodge(width=0.9), vjust=-0.25)
+dev.off()
+
+png(file="C:/IRHEIS/R/39.png",width=1200, height=600)
+ggplot(X3)+
+ geom_line(mapping = aes(x=Year,y=bathroom,col=factor(Decile),
+ linetype=factor(Decile)))+ theme_grey(base_size = 25)
+dev.off()
+###############################################################################
+png(file="C:/IRHEIS/R/40.png",width=1200, height=600)
+ggplot(X1, aes(fill=factor(bathroom), y=ego, x=factor(Year))) +
+ geom_bar(position="dodge", stat="identity") + theme_bw() +
+ theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1)) + theme_grey(base_size = 25)
+dev.off()
+
+png(file="C:/IRHEIS/R/41.png",width=1200, height=600)
+ggplot(X2, aes(fill=factor(Region), y=ego, x=factor(Year))) +
+ geom_bar(position="dodge", stat="identity") + theme_bw() +
+ theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1)) + theme_grey(base_size = 25)
+#+ geom_text(aes(label=HLiterate), position=position_dodge(width=0.9), vjust=-0.25)
+dev.off()
+
+png(file="C:/IRHEIS/R/42.png",width=1200, height=600)
+ggplot(X3)+
+ geom_line(mapping = aes(x=Year,y=ego,col=factor(Decile),
+ linetype=factor(Decile)))+ theme_grey(base_size = 25)
+dev.off()
+###############################################################################
+png(file="C:/IRHEIS/R/43.png",width=1200, height=600)
+ggplot(X1, aes(fill=factor(car), y=car, x=factor(Year))) +
+ geom_bar(position="dodge", stat="identity") + theme_bw() +
+ theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1)) + theme_grey(base_size = 25)
+dev.off()
+
+png(file="C:/IRHEIS/R/44.png",width=1200, height=600)
+ggplot(X2, aes(fill=factor(Region), y=car, x=factor(Year))) +
+ geom_bar(position="dodge", stat="identity") + theme_bw() +
+ theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1)) + theme_grey(base_size = 25)
+#+ geom_text(aes(label=HLiterate), position=position_dodge(width=0.9), vjust=-0.25)
+dev.off()
+
+png(file="C:/IRHEIS/R/45.png",width=1200, height=600)
+ggplot(X3)+
+ geom_line(mapping = aes(x=Year,y=car,col=factor(Decile),
+ linetype=factor(Decile)))+ theme_grey(base_size = 25)
+dev.off()
+###############################################################################
+png(file="C:/IRHEIS/R/46.png",width=1200, height=600)
+ggplot(X1, aes(fill=factor(Tech_low), y=Tech_low, x=factor(Year))) +
+ geom_bar(position="dodge", stat="identity") + theme_bw() +
+ theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1)) + theme_grey(base_size = 25)
+dev.off()
+
+png(file="C:/IRHEIS/R/47.png",width=1200, height=600)
+ggplot(X2, aes(fill=factor(Region), y=Tech_low, x=factor(Year))) +
+ geom_bar(position="dodge", stat="identity") + theme_bw() +
+ theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1)) + theme_grey(base_size = 25)
+#+ geom_text(aes(label=HLiterate), position=position_dodge(width=0.9), vjust=-0.25)
+dev.off()
+
+png(file="C:/IRHEIS/R/48.png",width=1200, height=600)
+ggplot(X3)+
+ geom_line(mapping = aes(x=Year,y=Tech_low,col=factor(Decile),
+ linetype=factor(Decile)))+ theme_grey(base_size = 25)
+dev.off()
+###############################################################################
+png(file="C:/IRHEIS/R/49.png",width=1200, height=600)
+ggplot(X1, aes(fill=factor(Equip_low), y=Equip_low, x=factor(Year))) +
+ geom_bar(position="dodge", stat="identity") + theme_bw() +
+ theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1)) + theme_grey(base_size = 25)
+dev.off()
+
+png(file="C:/IRHEIS/R/50.png",width=1200, height=600)
+ggplot(X2, aes(fill=factor(Region), y=Equip_low, x=factor(Year))) +
+ geom_bar(position="dodge", stat="identity") + theme_bw() +
+ theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1)) + theme_grey(base_size = 25)
+#+ geom_text(aes(label=HLiterate), position=position_dodge(width=0.9), vjust=-0.25)
+dev.off()
+
+png(file="C:/IRHEIS/R/51.png",width=1200, height=600)
+ggplot(X3)+
+ geom_line(mapping = aes(x=Year,y=Equip_low,col=factor(Decile),
+ linetype=factor(Decile)))+ theme_grey(base_size = 25)
+dev.off()
+
+
+
+
+#write.csv(X1,file="X1.csv")
+#write.csv(X2,file="X2.csv")
+#write.csv(X3,file="X3.csv")
+#write.csv(X4,file="X4.csv")
+#write.csv(Province,file="Province.csv")
+
+endtime <- proc.time()
+
+cat("\n\n============================\nIt took ")
+cat((endtime-starttime)[3])
\ No newline at end of file
diff --git a/R/Archive/Othe New codes/52-FoodGroup-Data.R b/R/Archive/Othe New codes/52-FoodGroup-Data.R
new file mode 100644
index 00000000..68cc97f2
--- /dev/null
+++ b/R/Archive/Othe New codes/52-FoodGroup-Data.R
@@ -0,0 +1,114 @@
+# 52-FoodGroup-Data.R
+# Builds the food group price-weight data.table for households
+#
+# Copyright © 2018: Arin Shahbazian
+# Licence: GPL-3
+
+rm(list=ls())
+
+starttime <- proc.time()
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+library(data.table)
+library(stringr)
+library(readxl)
+library(imputeTS)
+
+ for(year in (Settings$startyear:Settings$endyear)){
+
+ cat(paste0("\n------------------------------\nYear:",year,"\n"))
+ TFoodGroups <- data.table(read_excel(Settings$MetaDataFilePath,Settings$MDS_FoodGroups))
+
+ load(file=paste0(Settings$HEISRawPath,"Y",year,"Raw.rda"))
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"HHBase.rda"))
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"InitialPoor.rda"))
+ MD<-MD[,.(HHID,Percentile)]
+ HHBase<-merge(HHBase,MD ,by =c("HHID"),all=FALSE)
+ HHBase<-HHBase[Percentile %in% Settings$InitialPoorPercentile]
+
+ BigFoodPrice <- HHBase[,.N,by=.(Region,NewArea)]
+ for(i in 1:nrow(TFoodGroups)){
+ cat(paste0(TFoodGroups[i,FoodType],", "))
+
+ ThisFoodTypeTable <- data.table(read_excel(Settings$MetaDataFilePath,sheet=TFoodGroups[i,SheetName]))
+ ft <- ThisFoodTypeTable[Year==year]
+ tab <- ft$Table
+ if(is.na(tab))
+ next
+ UTF <- Tables[[paste0("U",year,tab)]]
+ RTF <- Tables[[paste0("R",year,tab)]]
+ TF <- rbind(UTF,RTF)
+ for(n in names(TF)){
+ x <- which(ft==n)
+ if(length(x)>0)
+ setnames(TF,n,names(ft)[x])
+ }
+ if(year %in% 76:82){
+ pcols <- intersect(names(TF),c("HHID","Code","Kilos",
+ "Price","Expenditure"))
+ TF <- TF[,pcols,with=FALSE]
+ TF <- TF[Code %in% ft$StartCode:ft$EndCode]
+
+ TF[,Kilos:=as.numeric(Kilos)]
+ TF[,Price:=as.numeric(str_replace_all(Price,"[\r\n]",""))]
+ TF[,Expenditure:=as.numeric(Expenditure)]
+
+
+ TF[is.na(Kilos),Kilos:=0]
+ TF[,FGrams:=(Kilos*1000)/30]
+ }
+ if(year >=83){
+ pcols <- intersect(names(TF),c("HHID","Code","Grams","Kilos",
+ "Price","Expenditure"))
+ TF <- TF[,pcols,with=FALSE]
+ TF <- TF[Code %in% ft$StartCode:ft$EndCode]
+
+ TF[,Kilos:=as.numeric(Kilos)]
+ TF[,Grams:=as.numeric(Grams)]
+ TF[,Price:=as.numeric(str_replace_all(Price,"[\r\n]",""))]
+ TF[,Expenditure:=as.numeric(Expenditure)]
+
+ TF[is.na(Grams),Grams:=0]
+ TF[is.na(Kilos),Kilos:=0]
+ TF[,FGrams:=(Kilos*1000+Grams)/30]
+ }
+ TF[is.na(Price) & !is.na(Expenditure) & !is.na(FGrams), Price:=Expenditure/FGrams]
+ TF[is.na(FGrams) & !is.na(Expenditure) & !is.na(Price), FGrams:=Expenditure/Price]
+ TF[is.na(Expenditure) & !is.na(FGrams) & !is.na(Price), Expenditure:=Price*FGrams]
+
+ load(paste0(Settings$HEISWeightsPath,Settings$HEISWeightFileName,year,".rda"))
+
+ TF <- merge(TF[,.(HHID,Code,Price,Expenditure,FGrams)],
+ HHBase[,.(HHID,Region,NewArea,NewArea_Name)], by="HHID")
+ TF <- merge(TF, HHWeights[,.(HHID,Weight)])
+ TF1 <- TF[,.(P=sum(Expenditure*Weight,na.rm = TRUE)/sum(FGrams*Weight,na.rm = TRUE),
+ X=sum(Expenditure*Weight,na.rm = TRUE)/sum(Weight,na.rm = TRUE)),
+ by=.(Region,NewArea)]
+
+ setnames(TF1,"P",paste0("P_",TFoodGroups[i,FoodType]))
+ setnames(TF1,"X",paste0("X_",TFoodGroups[i,FoodType]))
+
+ BigFoodPrice <- merge(BigFoodPrice,TF1,all.x = TRUE)
+ }
+ n <- names(BigFoodPrice)
+ w <- n%like% "X_"
+ s <- n[w]
+ BigFoodPrice[,TFX:=Reduce(`+`, .SD),.SDcols=s]
+ for(i in which(w)){
+ BigFoodPrice$Sh=BigFoodPrice[,..i]/BigFoodPrice$TFX
+ setnames(BigFoodPrice,"Sh",paste(paste0("Sh",names(BigFoodPrice[,..i]))))
+ }
+ # n <- names(BigFoodPrice)
+ # w <- n%like% "ShX_"
+ # s <- n[w]
+ # BigFoodPrice[,TSh:=Reduce(`+`, .SD),.SDcols=s]
+
+ BigFoodPrice[] <- lapply(BigFoodPrice, function(x) ifelse(is.na(x), mean(x, na.rm = TRUE), x))
+
+
+ save(BigFoodPrice,file=paste0(Settings$HEISProcessedPath,"Y",year,"BigFoodPrice.rda"))
+}
+endtime <- proc.time()
+cat("\n\n============================\nIt took ")
+cat((endtime-starttime)[3])
+cat(" seconds. ")
diff --git a/R/Archive/Othe New codes/53-Clustering(only for 95).R b/R/Archive/Othe New codes/53-Clustering(only for 95).R
new file mode 100644
index 00000000..97b143ee
--- /dev/null
+++ b/R/Archive/Othe New codes/53-Clustering(only for 95).R
@@ -0,0 +1,114 @@
+#53-Clustering(only for 95).R
+#
+# Copyright © 2018: Majid Einian & Arin Shahbazian
+# Licence: GPL-3
+
+rm(list=ls())
+
+starttime <- proc.time()
+cat("\n\n================ Prepare Data =====================================\n")
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+library(readxl)
+library(data.table)
+library(ggplot2)
+
+ cat(paste0("\n------------------------------\nYear:",Settings$baseyear,"\n"))
+ load(file=paste0(Settings$HEISProcessedPath,"Y",Settings$baseyear,"InitialPoor.rda"))
+ load(file=paste0(Settings$HEISProcessedPath,"Y",Settings$baseyear,"BigFoodPrice.rda"))
+ #BigFoodPrice[,ifelse(Region==1,Region=="Urban",Region=="Rural")]
+ MD<-merge(MD,BigFoodPrice,by=c("NewArea","Region"),all=TRUE)
+
+ #K-means weights
+ FW <- MD[,.(X_Berenj, X_Ghand, X_Goosht,X_Hoboobat,
+ X_Mahi, X_Makarooni,X_Mast, X_Mive,
+ X_Morgh, X_Nan,X_Panir, X_Roghan,
+ X_Sabzi, X_Shir, X_Sibzamini, X_Tokhmemorgh,
+ ServiceExp,Region,NewArea,NewArea_Name,Weight)]
+
+ FP <- MD[,.(P_Berenj, P_Ghand, P_Goosht,P_Hoboobat,
+ P_Mahi, P_Makarooni,P_Mast, P_Mive,
+ P_Morgh, P_Nan,P_Panir, P_Roghan,
+ P_Sabzi, P_Shir, P_Sibzamini, P_Tokhmemorgh,
+ MetrPrice,Region,NewArea,NewArea_Name,Weight)]
+
+ dt1 <- FW[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(Region,NewArea,NewArea_Name)]
+ dt1<- dt1[order(Region,NewArea)]
+ dt1[,NewArea:=NULL]
+ dt1[,NewArea_Name:=NULL]
+ dt1[,Weight:=NULL]
+ dt1[,Region:=NULL]
+
+ dt2 <- FP[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(Region,NewArea,NewArea_Name)]
+ dt2<- dt2[order(Region,NewArea)]
+ dt2[,Weight:=NULL]
+ dtUrban<-dt2[Region=="Urban"]
+ dtRural<-dt2[Region=="Rural"]
+ dt2Urban<-dtUrban[,.(P_Berenj, P_Ghand, P_Goosht,P_Hoboobat,
+ P_Mahi, P_Makarooni,P_Mast, P_Mive,
+ P_Morgh, P_Nan,P_Panir, P_Roghan,
+ P_Sabzi, P_Shir, P_Sibzamini, P_Tokhmemorgh,
+ MetrPrice,NewArea,NewArea_Name,Region)]
+ dt2Rural<-dtRural[,.(P_Berenj, P_Ghand, P_Goosht,P_Hoboobat,
+ P_Mahi, P_Makarooni,P_Mast, P_Mive,
+ P_Morgh, P_Nan,P_Panir, P_Roghan,
+ P_Sabzi, P_Shir, P_Sibzamini, P_Tokhmemorgh,
+ MetrPrice,NewArea,NewArea_Name,Region)]
+ dtUrban[,NewArea:=NULL]
+ dtRural[,NewArea:=NULL]
+ dtUrban[,NewArea_Name:=NULL]
+ dtRural[,NewArea_Name:=NULL]
+ dtUrban[,Region:=NULL]
+ dtRural[,Region:=NULL]
+
+ # Deciding how many clusters
+ # Urban areas
+ wss <- (nrow(dtUrban)-1)*sum(apply(dtUrban,2,var))
+ for (i in 2:30) wss[i] <- sum(kmeans(dtUrban, centers=i)$withinss)
+ plot(1:30, wss, type="b", xlab="Number of Clusters",
+ ylab="Urban's within groups sum of squares")
+
+ # Rural areas
+ wss <- (nrow(dtRural)-1)*sum(apply(dtRural,2,var))
+ for (i in 2:30) wss[i] <- sum(kmeans(dtRural, centers=i)$withinss)
+ plot(1:30, wss, type="b", xlab="Number of Clusters",
+ ylab="Rural's within groups sum of squares")
+
+ #Weighted clustering
+ # Urban areas
+ dt1.m <- dt1[,lapply(.SD, mean)] # Weights for each vector
+ dtW <- dtUrban * sqrt(dt1.m[rep(1,nrow(dtUrban))]) # Weighted observations
+ kmeans(dtW,3) # Simple K-means
+ cl <- kmeans(dtW,3)
+ dt2Urban <- dt2Urban[,cluster:=data.table(cl$cluster)]
+ dt2Urban<-dt2Urban[,.(NewArea,NewArea_Name,Region,cluster)]
+ save(dt2Urban,file ="dt2Urban.rda")
+
+ # Rural areas
+ dt1.m <- dt1[,lapply(.SD, mean)] # Weights for each vector
+ dtW <- dtRural * sqrt(dt1.m[rep(1,nrow(dtRural))]) # Weighted observations
+ kmeans(dtW,3) # Simple K-means
+ cl <- kmeans(dtW,3)
+ dt2Rural <- dt2Rural[,cluster:=data.table(cl$cluster)]
+ dt2Rural<-dt2Rural[,.(NewArea,NewArea_Name,Region,cluster)]
+ save(dt2Rural,file ="dt2Rural.rda")
+
+ #load(file="dtpastUrban.rda")
+ #load(file="dtpastRural.rda")
+
+ #dt2total<-rbind(dtpastUrban,dtpastRural)
+
+ dt2total<-rbind(dt2Urban,dt2Rural)
+
+ for(year in (Settings$startyear:Settings$endyear)){
+ cat(paste0("\n------------------------------\nYear:",year,"\n"))
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"InitialPoor.rda"))
+ MD<-merge(MD,dt2total,by=c("NewArea","NewArea_Name","Region"),all.x=TRUE)
+ save(MD,file=paste0(Settings$HEISProcessedPath,"Y",year,"InitialPoorClustered.rda"))
+ }
+
+ endtime <- proc.time()
+ cat("\n\n============================\nIt took ")
+ cat((endtime-starttime)["elapsed"])
+ cat(" seconds")
\ No newline at end of file
diff --git a/R/Archive/Othe New codes/53-Manipulated Clustering.R b/R/Archive/Othe New codes/53-Manipulated Clustering.R
new file mode 100644
index 00000000..09a25afd
--- /dev/null
+++ b/R/Archive/Othe New codes/53-Manipulated Clustering.R
@@ -0,0 +1,97 @@
+#53-Manipulated Clustering.R
+#
+# Copyright © 2018: Majid Einian & Arin Shahbazian
+# Licence: GPL-3
+
+rm(list=ls())
+
+starttime <- proc.time()
+cat("\n\n================ Prepare Data =====================================\n")
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+library(readxl)
+library(data.table)
+library(ggplot2)
+
+cat(paste0("\n------------------------------\nYear:",Settings$baseyear,"\n"))
+load(file=paste0(Settings$HEISProcessedPath,"Y",Settings$baseyear,"InitialPoor.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y",Settings$baseyear,"BigFoodPrice.rda"))
+MD<-merge(MD,BigFoodPrice,by=c("NewArea","Region"),all=TRUE)
+
+#####Clustering#####
+dt2Urban<-MD[Region=="Urban",.(NewArea,NewArea_Name,Region,HHID)]
+dt2Rural<-MD[Region=="Rural",.(NewArea,NewArea_Name,Region,HHID)]
+
+#####Urban#####
+dt2Urban<-dt2Urban[NewArea_Name=="Sh_Tehran",cluster2:=1]
+dt2Urban<-dt2Urban[NewArea_Name=="Sh_Shiraz" | NewArea_Name=="Sh_Esfahan" |
+ NewArea_Name=="Sh_Bandarabas" | NewArea_Name=="Gilan" |
+ NewArea_Name=="Sh_Karaj" | NewArea_Name=="Sh_Arak" |
+ NewArea_Name=="Mazandaran" ,
+ cluster2:=2]
+dt2Urban<-dt2Urban[NewArea_Name=="Ghom" | NewArea_Name=="Alborz" |
+ NewArea_Name=="Sh_Kermanshah" | NewArea_Name=="Hamedan" |
+ NewArea_Name=="Az_Sharghi" | NewArea_Name=="Sh_Tabriz" |
+ NewArea_Name=="Tehran" | NewArea_Name=="Semnan" |
+ NewArea_Name=="Sh_Urmia" | NewArea_Name=="Sh_Mashhad" |
+ NewArea_Name=="Esfahan" | NewArea_Name=="Fars" |
+ NewArea_Name=="Sh_Kerman" | NewArea_Name=="Ghazvin" ,
+ cluster2:=3]
+dt2Urban<-dt2Urban[NewArea_Name=="Zanjan" | NewArea_Name=="Golestan" |
+ NewArea_Name=="Kermanshah" | NewArea_Name=="Markazi" |
+ NewArea_Name=="Yazd" | NewArea_Name=="Kordestan" |
+ NewArea_Name=="Chaharmahal" |
+ NewArea_Name=="Ardebil" | NewArea_Name=="Booshehr" |
+ NewArea_Name=="Sh_Ahvaz" | NewArea_Name=="Kerman" |
+ NewArea_Name=="Lorestan" | NewArea_Name=="Az_Gharbi" |
+ NewArea_Name=="Khorasan_Shomali",
+ cluster2:=4]
+dt2Urban<-dt2Urban[NewArea_Name=="Khoozestan" |NewArea_Name=="Ilam" |
+ NewArea_Name=="Khorasan_Jonoobi" |
+ NewArea_Name=="Hormozgan" | NewArea_Name=="Kohkilooye" |
+ NewArea_Name=="Khorasan_Razavi" | NewArea_Name=="Sh_Zahedan",
+ cluster2:=5]
+dt2Urban<-dt2Urban[NewArea_Name=="Sistan",cluster2:=6]
+
+#####Rural#####
+dt2Rural<-dt2Rural[NewArea_Name=="Tehran" | NewArea_Name=="Alborz",
+ cluster2:=1]
+dt2Rural<-dt2Rural[NewArea_Name=="Esfahan" | NewArea_Name=="Yazd" |
+ NewArea_Name=="Mazandaran" | NewArea_Name=="Gilan" ,
+ cluster2:=2]
+dt2Rural<-dt2Rural[NewArea_Name=="Az_Sharghi" | NewArea_Name=="Ghom" |
+ NewArea_Name=="Golestan" | NewArea_Name=="Semnan"|
+ NewArea_Name=="Kermanshah" | NewArea_Name=="Ghazvin",
+ cluster2:=3]
+dt2Rural<-dt2Rural[NewArea_Name=="Chaharmahal" | NewArea_Name=="Fars" |
+ NewArea_Name=="Zanjan" | NewArea_Name=="Markazi" |
+ NewArea_Name=="Booshehr" | NewArea_Name=="Hamedan" |
+ NewArea_Name=="Kordestan" ,
+ cluster2:=4]
+dt2Rural<-dt2Rural[NewArea_Name=="Khorasan_Jonoobi" | NewArea_Name=="Lorestan" |
+ NewArea_Name=="Khorasan_Shomali" | NewArea_Name=="Az_Gharbi" |
+ NewArea_Name=="Hormozgan" | NewArea_Name=="Khoozestan" |
+ NewArea_Name=="Khorasan_Razavi" | NewArea_Name=="Ardebil" |
+ NewArea_Name=="Kohkilooye" | NewArea_Name=="Ilam" |
+ NewArea_Name=="Kerman" ,
+ cluster2:=5]
+dt2Rural<-dt2Rural[NewArea_Name=="Sistan",cluster2:=6]
+
+#####Merge#####
+dt2total<-rbind(dt2Urban,dt2Rural)
+dt2total[,Region:=NULL]
+dt2total[,NewArea:=NULL]
+dt2total[,NewArea_Name:=NULL]
+
+for(year in (Settings$startyear:Settings$endyear)){
+ cat(paste0("\n------------------------------\nYear:",year,"\n"))
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"InitialPoor.rda"))
+ MD<-merge(MD,dt2total,by=c("HHID"))
+ save(MD,file=paste0(Settings$HEISProcessedPath,"Y",year,"InitialPoorClustered.rda"))
+}
+
+endtime <- proc.time()
+cat("\n\n============================\nIt took ")
+cat((endtime-starttime)["elapsed"])
+cat(" seconds")
\ No newline at end of file
diff --git a/R/Archive/Othe New codes/53-Test new clustering.R b/R/Archive/Othe New codes/53-Test new clustering.R
new file mode 100644
index 00000000..8cf083d6
--- /dev/null
+++ b/R/Archive/Othe New codes/53-Test new clustering.R
@@ -0,0 +1,101 @@
+#53-Test new clustering(only for 95).R
+#
+# Copyright © 2018: Majid Einian & Arin Shahbazian
+# Licence: GPL-3
+
+rm(list=ls())
+
+starttime <- proc.time()
+cat("\n\n================ Prepare Data =====================================\n")
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+library(readxl)
+library(data.table)
+library(ggplot2)
+
+cat(paste0("\n------------------------------\nYear:",Settings$baseyear,"\n"))
+load(file=paste0(Settings$HEISProcessedPath,"Y",Settings$baseyear,"InitialPoor.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y",Settings$baseyear,"BigFoodPrice.rda"))
+#BigFoodPrice[,ifelse(Region==1,Region=="Urban",Region=="Rural")]
+load(file = "EngleP.rda")
+
+MD<-merge(MD,EngleP,by=c("NewArea_Name","Region"),all=TRUE)
+
+#K-means weights
+MD<-MD[,ServiceExp2:=ServiceExp]
+FW <- MD[,.(ServiceExp,ServiceExp2,Region,NewArea,NewArea_Name,Weight)]
+
+FP <- MD[,.(Engel,MetrPrice,Region,NewArea,NewArea_Name,Weight)]
+
+dt1 <- FW[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(Region,NewArea,NewArea_Name)]
+dt1<- dt1[order(Region,NewArea)]
+dt1[,NewArea:=NULL]
+dt1[,NewArea_Name:=NULL]
+dt1[,Weight:=NULL]
+dt1[,Region:=NULL]
+
+dt2 <- FP[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(Region,NewArea,NewArea_Name)]
+dt2<- dt2[order(Region,NewArea)]
+dt2[,Weight:=NULL]
+dtUrban<-dt2[Region=="Urban"]
+dtRural<-dt2[Region=="Rural"]
+dt2Urban<-dtUrban[,.(Engel,MetrPrice,NewArea,NewArea_Name,Region)]
+dt2Rural<-dtRural[,.(Engel,MetrPrice,NewArea,NewArea_Name,Region)]
+dtUrban[,NewArea:=NULL]
+dtRural[,NewArea:=NULL]
+dtUrban[,NewArea_Name:=NULL]
+dtRural[,NewArea_Name:=NULL]
+dtUrban[,Region:=NULL]
+dtRural[,Region:=NULL]
+
+# Deciding how many clusters
+# Urban areas
+wss <- (nrow(dtUrban)-1)*sum(apply(dtUrban,2,var))
+for (i in 2:30) wss[i] <- sum(kmeans(dtUrban, centers=i)$withinss)
+plot(1:30, wss, type="b", xlab="Number of Clusters",
+ ylab="Urban's within groups sum of squares")
+
+# Rural areas
+wss <- (nrow(dtRural)-1)*sum(apply(dtRural,2,var))
+for (i in 2:30) wss[i] <- sum(kmeans(dtRural, centers=i)$withinss)
+plot(1:30, wss, type="b", xlab="Number of Clusters",
+ ylab="Rural's within groups sum of squares")
+
+#Weighted clustering
+# Urban areas
+dt1.m <- dt1[,lapply(.SD, mean)] # Weights for each vector
+dtW <- dtUrban * sqrt(dt1.m[rep(1,nrow(dtUrban))]) # Weighted observations
+kmeans(dtW,3) # Simple K-means
+cl <- kmeans(dtW,3)
+dt2Urban <- dt2Urban[,cluster:=data.table(cl$cluster)]
+dt2Urban<-dt2Urban[,.(NewArea,NewArea_Name,Region,cluster)]
+#save(dt2Urban,file ="dt2Urban.rda")
+
+# Rural areas
+dt1.m <- dt1[,lapply(.SD, mean)] # Weights for each vector
+dtW <- dtRural * sqrt(dt1.m[rep(1,nrow(dtRural))]) # Weighted observations
+kmeans(dtW,3) # Simple K-means
+cl <- kmeans(dtW,3)
+dt2Rural <- dt2Rural[,cluster:=data.table(cl$cluster)]
+dt2Rural<-dt2Rural[,.(NewArea,NewArea_Name,Region,cluster)]
+#save(dt2Rural,file ="dt2Rural.rda")
+
+#load(file="dtpastUrban.rda")
+#load(file="dtpastRural.rda")
+
+#dt2total<-rbind(dtpastUrban,dtpastRural)
+
+dt2total<-rbind(dt2Urban,dt2Rural)
+
+#for(year in (Settings$startyear:Settings$endyear)){
+# cat(paste0("\n------------------------------\nYear:",year,"\n"))
+# load(file=paste0(Settings$HEISProcessedPath,"Y",year,"InitialPoor.rda"))
+# MD<-merge(MD,dt2total,by=c("NewArea","NewArea_Name","Region"),all.x=TRUE)
+# save(MD,file=paste0(Settings$HEISProcessedPath,"Y",year,"InitialPoorClustered.rda"))
+#}
+
+endtime <- proc.time()
+cat("\n\n============================\nIt took ")
+cat((endtime-starttime)["elapsed"])
+cat(" seconds")
\ No newline at end of file
diff --git a/R/Archive/Othe New codes/55-Manipulated Clustering(93-96).R b/R/Archive/Othe New codes/55-Manipulated Clustering(93-96).R
new file mode 100644
index 00000000..a03cbb8a
--- /dev/null
+++ b/R/Archive/Othe New codes/55-Manipulated Clustering(93-96).R
@@ -0,0 +1,105 @@
+#55-Manipulated Clustering(93-96).R
+#
+# Copyright © 2018: Majid Einian & Arin Shahbazian
+# Licence: GPL-3
+
+rm(list=ls())
+
+starttime <- proc.time()
+cat("\n\n================ Prepare Data =====================================\n")
+library(yaml)
+library(dplyr)
+Settings <- yaml.load_file("Settings.yaml")
+
+library(readxl)
+library(data.table)
+library(ggplot2)
+
+cat(paste0("\n------------------------------\nYear:",Settings$baseyear,"\n"))
+load(file=paste0(Settings$HEISProcessedPath,"Y",Settings$baseyear,"InitialPoor.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y",Settings$baseyear,"BigFoodPrice.rda"))
+MD<-merge(MD,BigFoodPrice,by=c("NewArea","Region"),all=TRUE)
+
+#####Clustering#####
+dt2Urban<-MD[Region=="Urban",.(NewArea,NewArea_Name,Region,HHID)]
+dt2Rural<-MD[Region=="Rural",.(NewArea,NewArea_Name,Region,HHID)]
+
+#####Urban#####
+dt2Urban<-dt2Urban[NewArea_Name=="Sh_Tehran",cluster3:=1]
+dt2Urban<-dt2Urban[NewArea_Name=="Sh_Shiraz" | NewArea_Name=="Sh_Esfahan" |
+ NewArea_Name=="Sh_Bandarabas" |
+ NewArea_Name=="Sh_Karaj" ,
+ cluster3:=2]
+dt2Urban<-dt2Urban[NewArea_Name=="Gilan" | NewArea_Name=="Alborz" |
+ NewArea_Name=="Kohkilooye" ,
+ cluster3:=3]
+dt2Urban<-dt2Urban[NewArea_Name=="Mazandaran" |
+ NewArea_Name=="Sh_Ahvaz" | NewArea_Name=="Tehran" |
+ NewArea_Name=="Yazd" | NewArea_Name=="Sh_Tabriz" |
+ NewArea_Name=="Sh_Mashhad" | NewArea_Name=="Ghom" |
+ NewArea_Name=="Sh_Kerman" | NewArea_Name=="Sh_Arak" |
+ NewArea_Name=="Ghazvin" | NewArea_Name=="Fars" | NewArea_Name=="Markazi" |
+ NewArea_Name=="Esfahan" ,
+ cluster3:=4]
+dt2Urban<-dt2Urban[NewArea_Name=="Az_Sharghi" |
+ NewArea_Name=="Semnan" | NewArea_Name=="Hamedan" |
+ NewArea_Name=="Kerman" | NewArea_Name=="Zanjan" |
+ NewArea_Name=="Hormozgan"|
+ NewArea_Name=="Booshehr" | NewArea_Name=="Kordestan" |
+ NewArea_Name=="Ardebil" | NewArea_Name=="Chaharmahal" |
+ NewArea_Name=="Sh_Urmia",
+ cluster3:=5]
+dt2Urban<-dt2Urban[NewArea_Name=="Khoozestan" |NewArea_Name=="Ilam" |
+ NewArea_Name=="Khorasan_Razavi" |
+ NewArea_Name=="Khorasan_Jonoobi" | NewArea_Name=="Az_Gharbi" |
+ NewArea_Name=="Kermanshah" | NewArea_Name=="Lorestan" |
+ NewArea_Name=="Sh_Kermanshah" |
+ NewArea_Name=="Khorasan_Shomali" | NewArea_Name=="Golestan",
+ cluster3:=6]
+dt2Urban<-dt2Urban[NewArea_Name=="Sistan" | NewArea_Name=="Sh_Zahedan",
+ cluster3:=7]
+save(dt2Urban,file ="dt2Urban.rda")
+#####Rural#####
+dt2Rural<-dt2Rural[ NewArea_Name=="Tehran" | NewArea_Name=="Alborz",
+ cluster3:=1]
+dt2Rural<-dt2Rural[NewArea_Name=="Esfahan" | NewArea_Name=="Mazandaran" |
+ NewArea_Name=="Kohkilooye" | NewArea_Name=="Booshehr",
+ cluster3:=2]
+dt2Rural<-dt2Rural[ NewArea_Name=="Yazd" |
+ NewArea_Name=="Gilan" | NewArea_Name=="Zanjan" |
+ NewArea_Name=="Chaharmahal"| NewArea_Name=="Hormozgan" | NewArea_Name=="Az_Sharghi" |
+ NewArea_Name=="Ghom" |
+ NewArea_Name=="Fars" | NewArea_Name=="Ghazvin" |
+ NewArea_Name=="Markazi",
+ cluster3:=3]
+dt2Rural<-dt2Rural[ NewArea_Name=="Semnan"| NewArea_Name=="Hamedan" |
+ NewArea_Name=="Ardebil" |
+ NewArea_Name=="Kordestan"|
+ NewArea_Name=="Khoozestan",
+ cluster3:=4]
+dt2Rural<-dt2Rural[NewArea_Name=="Khorasan_Razavi" | NewArea_Name=="Kermanshah" |
+ NewArea_Name=="Kerman" | NewArea_Name=="Golestan" |
+ NewArea_Name=="Khorasan_Jonoobi" | NewArea_Name=="Lorestan" |
+ NewArea_Name=="Khorasan_Shomali" | NewArea_Name=="Az_Gharbi" |
+ NewArea_Name=="Ilam" ,
+ cluster3:=5]
+dt2Rural<-dt2Rural[NewArea_Name=="Sistan",cluster3:=6]
+save(dt2Rural,file ="dt2Rural.rda")
+#####Merge#####
+dt2total<-rbind(dt2Urban,dt2Rural)
+
+
+dt2total[,HHID:=NULL]
+dt2total<-distinct(dt2total)
+
+for(year in (Settings$startyear:Settings$endyear)){
+ cat(paste0("\n------------------------------\nYear:",year,"\n"))
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"InitialPoor.rda"))
+ MD<-merge(MD,dt2total,by=c("NewArea","NewArea_Name","Region"))
+ save(MD,file=paste0(Settings$HEISProcessedPath,"Y",year,"InitialPoorClustered.rda"))
+}
+
+endtime <- proc.time()
+cat("\n\n============================\nIt took ")
+cat((endtime-starttime)["elapsed"])
+cat(" seconds")
\ No newline at end of file
diff --git a/R/Archive/Othe New codes/55-Second Manipulated Clustering.R b/R/Archive/Othe New codes/55-Second Manipulated Clustering.R
new file mode 100644
index 00000000..76215222
--- /dev/null
+++ b/R/Archive/Othe New codes/55-Second Manipulated Clustering.R
@@ -0,0 +1,108 @@
+#53-Second Manipulated Clustering.R
+#
+# Copyright © 2018: Majid Einian & Arin Shahbazian
+# Licence: GPL-3
+
+rm(list=ls())
+
+starttime <- proc.time()
+cat("\n\n================ Prepare Data =====================================\n")
+library(yaml)
+library(dplyr)
+Settings <- yaml.load_file("Settings.yaml")
+
+library(readxl)
+library(data.table)
+library(ggplot2)
+
+cat(paste0("\n------------------------------\nYear:",Settings$baseyear,"\n"))
+load(file=paste0(Settings$HEISProcessedPath,"Y",Settings$baseyear,"InitialPoor.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y",Settings$baseyear,"BigFoodPrice.rda"))
+MD<-merge(MD,BigFoodPrice,by=c("NewArea","Region"),all=TRUE)
+
+#####Clustering#####
+dt2Urban<-MD[Region=="Urban",.(NewArea,NewArea_Name,Region,HHID)]
+dt2Rural<-MD[Region=="Rural",.(NewArea,NewArea_Name,Region,HHID)]
+
+#####Urban#####
+dt2Urban<-dt2Urban[NewArea_Name=="Sh_Tehran",cluster3:=1]
+dt2Urban<-dt2Urban[NewArea_Name=="Sh_Shiraz" | NewArea_Name=="Sh_Esfahan" |
+ NewArea_Name=="Sh_Bandarabas" |
+ NewArea_Name=="Sh_Karaj" ,
+ cluster3:=2]
+dt2Urban<-dt2Urban[NewArea_Name=="Gilan" | NewArea_Name=="Alborz",
+ cluster3:=3]
+dt2Urban<-dt2Urban[NewArea_Name=="Mazandaran" |
+ NewArea_Name=="Sh_Ahvaz" | NewArea_Name=="Tehran"|
+ NewArea_Name=="Kohkilooye" |
+ NewArea_Name=="Yazd" | NewArea_Name=="Sh_Tabriz" |
+ NewArea_Name=="Sh_Mashhad" | NewArea_Name=="Ghom" |
+ NewArea_Name=="Sh_Kerman" | NewArea_Name=="Sh_Arak" |
+ NewArea_Name=="Ghazvin" | NewArea_Name=="Fars" |
+ NewArea_Name=="Hormozgan" | NewArea_Name=="Markazi" |
+ NewArea_Name=="Semnan" | NewArea_Name=="Hamedan" |
+ NewArea_Name=="Esfahan" ,
+ cluster3:=4]
+dt2Urban<-dt2Urban[NewArea_Name=="Az_Sharghi" |
+ NewArea_Name=="Kerman" | NewArea_Name=="Zanjan" |
+ NewArea_Name=="Booshehr" | NewArea_Name=="Kordestan" |
+ NewArea_Name=="Ardebil" | NewArea_Name=="Chaharmahal" |
+ NewArea_Name=="Khorasan_Razavi",
+ cluster3:=5]
+dt2Urban<-dt2Urban[NewArea_Name=="Khoozestan" |NewArea_Name=="Ilam" |
+ NewArea_Name=="Khorasan_Jonoobi" | NewArea_Name=="Az_Gharbi" |
+ NewArea_Name=="Kermanshah" | NewArea_Name=="Lorestan" |
+ NewArea_Name=="Sh_Kermanshah" | NewArea_Name=="Sh_Urmia" ,
+ cluster3:=6]
+dt2Urban<-dt2Urban[NewArea_Name=="Khorasan_Shomali" | NewArea_Name=="Golestan",
+ cluster3:=7]
+dt2Urban<-dt2Urban[NewArea_Name=="Sistan" | NewArea_Name=="Sh_Zahedan",
+ cluster3:=8]
+save(dt2Urban,file ="dt2Urban.rda")
+#####Rural#####
+dt2Rural<-dt2Rural[ NewArea_Name=="Tehran" | NewArea_Name=="Alborz",
+ cluster3:=1]
+dt2Rural<-dt2Rural[NewArea_Name=="Esfahan" | NewArea_Name=="Mazandaran" ,
+ cluster3:=2]
+dt2Rural<-dt2Rural[ NewArea_Name=="Yazd" |
+ NewArea_Name=="Kohkilooye" | NewArea_Name=="Booshehr" |
+ NewArea_Name=="Gilan" ,
+ cluster3:=3]
+dt2Rural<-dt2Rural[ NewArea_Name=="Hormozgan" | NewArea_Name=="Az_Sharghi" |
+ NewArea_Name=="Ghom" | NewArea_Name=="Semnan"|
+ NewArea_Name=="Fars" | NewArea_Name=="Ghazvin",
+ cluster3:=4]
+dt2Rural<-dt2Rural[ NewArea_Name=="Zanjan" | NewArea_Name=="Markazi" |
+ NewArea_Name=="Hamedan",
+ cluster3:=5]
+dt2Rural<-dt2Rural[NewArea_Name=="Khorasan_Razavi" | NewArea_Name=="Kermanshah" |
+ NewArea_Name=="Kerman" | NewArea_Name=="Golestan" |
+ NewArea_Name=="Chaharmahal"|
+ NewArea_Name=="Ardebil" |
+ NewArea_Name=="Kordestan"|
+ NewArea_Name=="Khoozestan",
+ cluster3:=6]
+dt2Rural<-dt2Rural[NewArea_Name=="Khorasan_Jonoobi" | NewArea_Name=="Lorestan" |
+ NewArea_Name=="Khorasan_Shomali" | NewArea_Name=="Az_Gharbi" |
+ NewArea_Name=="Ilam" ,
+ cluster3:=7]
+dt2Rural<-dt2Rural[NewArea_Name=="Sistan",cluster3:=8]
+save(dt2Rural,file ="dt2Rural.rda")
+#####Merge#####
+dt2total<-rbind(dt2Urban,dt2Rural)
+
+
+dt2total[,HHID:=NULL]
+dt2total<-distinct(dt2total)
+
+for(year in (Settings$startyear:Settings$endyear)){
+ cat(paste0("\n------------------------------\nYear:",year,"\n"))
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"InitialPoor.rda"))
+ MD<-merge(MD,dt2total,by=c("NewArea","NewArea_Name","Region"))
+ save(MD,file=paste0(Settings$HEISProcessedPath,"Y",year,"InitialPoorClustered.rda"))
+}
+
+endtime <- proc.time()
+cat("\n\n============================\nIt took ")
+cat((endtime-starttime)["elapsed"])
+cat(" seconds")
\ No newline at end of file
diff --git a/R/Archive/Othe New codes/57-PovertyLines.R b/R/Archive/Othe New codes/57-PovertyLines.R
new file mode 100644
index 00000000..d4f09c11
--- /dev/null
+++ b/R/Archive/Othe New codes/57-PovertyLines.R
@@ -0,0 +1,90 @@
+# 55-PovertyLines.R
+#
+# Copyright © 2018:Majid Einian & Arin Shahbazian
+# Licence: GPL-3
+
+rm(list=ls())
+
+starttime <- proc.time()
+cat("\n\n================ Prepare Data =====================================\n")
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+library(readxl)
+library(data.table)
+library(ggplot2)
+
+for(year in (Settings$startyear:Settings$endyear)){
+ cat(paste0("\nYear:",year,"\t"))
+
+ # load data --------------------------------------
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"FinalFoodPoor.rda"))
+
+
+ EngleD <- MD[ TFoodExpenditure_Per>0.9*FPLine & TFoodExpenditure_Per<1.1*FPLine,
+ .(.N,Engel=weighted.mean(TFoodExpenditure/Total_Exp_Month,Weight),
+ FPLine=mean(FPLine)),by=.(Region,cluster3)]
+
+ EngleP <- MD[ TFoodExpenditure_Per>0.9*FPLine & TFoodExpenditure_Per<1.1*FPLine,
+ .(.N,Engel=weighted.mean(TFoodExpenditure/Total_Exp_Month,Weight),
+ FPLine=mean(FPLine)),by=.(Region,NewArea_Name)]
+
+ MD[,EngelPersonal:=TFoodExpenditure/Total_Exp_Month]
+
+ save(EngleP,file = "EngleP.rda")
+ EngleD[,PovertyLine:=FPLine/Engel]
+ EngleP[,PovertyLine:=FPLine/Engel]
+ MD <- merge(MD,EngleD[,.(cluster3,Region,PovertyLine,Engel)],by=c("Region","cluster3"))
+ EngleD[,P4:=PovertyLine*2.7]
+ #MD<-MD[Region=="Rural" & cluster3==7]
+ MD[,FinalPoor:=ifelse(Total_Exp_Month_Per < PovertyLine,1,0 )]
+ cat(MD[,weighted.mean(FinalPoor,Weight*Size)],"\t",
+ MD[,weighted.mean(PovertyLine,Weight*Size)],"\t",
+ MD[,weighted.mean(Engel,Weight*Size)],"\t",
+ MD[,weighted.mean(FPLine,Weight*Size)])
+ MD[,weighted.mean(FinalPoor,Weight*Size),by=c("ProvinceCode")][order(ProvinceCode)]
+ MD[,weighted.mean(FinalPoor,Weight*Size),by=c("Region","cluster3")][order(Region,cluster3)]
+ MD[,weighted.mean(FinalPoor,Weight),by=c("Region")]
+ MD2<-MD[,.(HHID,FinalPoor,Weight)]
+ save(MD2,file=paste0(Settings$HEISProcessedPath,"Y",year,"PoorsforMerge.rda"))
+ save(MD,file=paste0(Settings$HEISProcessedPath,"Y",year,"FINALPOORS.rda"))
+}
+
+x<-EngleP[Region=="Rural",.(Engel,NewArea_Name)]
+x$NewArea <- factor(x$NewArea, levels = x$NewArea[order(x$Engel)])
+ggplot(x, aes(x = x$NewArea, y = x$Engel)) + theme_bw() + geom_bar(stat = "identity") + theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1))
+
+y<-EngleP[Region=="Urban",.(Engel,NewArea_Name)]
+y$NewArea <- factor(y$NewArea, levels = y$NewArea[order(y$Engel)])
+ggplot(y, aes(x = y$NewArea, y = y$Engel)) + theme_bw() + geom_bar(stat = "identity") + theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1))
+
+
+x2<-EngleP[Region=="Rural",.(FPLine,NewArea_Name)]
+x2$NewArea <- factor(x2$NewArea, levels = x2$NewArea[order(x2$FPLine)])
+ggplot(x2, aes(x = x2$NewArea, y = x2$FPLine)) + theme_bw() + geom_bar(stat = "identity") + theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1))
+
+y2<-EngleP[Region=="Urban",.(FPLine,NewArea_Name)]
+y2$NewArea <- factor(y2$NewArea, levels = y2$NewArea[order(y2$FPLine)])
+ggplot(y2, aes(x = y2$NewArea, y = y2$FPLine)) + theme_bw() + geom_bar(stat = "identity") + theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1))
+
+x3<-EngleP[Region=="Rural",.(PovertyLine,NewArea_Name)]
+x3$NewArea <- factor(x3$NewArea, levels = x3$NewArea[order(x3$PovertyLine)])
+ggplot(x3, aes(x = x3$NewArea, y = x3$PovertyLine)) + theme_bw() + geom_bar(stat = "identity") + theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1))
+
+y3<-EngleP[Region=="Urban",.(PovertyLine,NewArea_Name)]
+y3$NewArea <- factor(y3$NewArea, levels = y3$NewArea[order(y3$PovertyLine)])
+ggplot(y3, aes(x = y3$NewArea, y = y3$PovertyLine)) + theme_bw() + geom_bar(stat = "identity") + theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1))
+
+#NewFinalPoor<-MD[,.(HHID,Region,NewArea,NewArea,FinalPoor)]
+NewFinalPoor<-MD[,.(HHID,Region,NewArea,NewArea,Weight,HAge,HSex,
+ ProvinceCode,Size,HLiterate,HEduLevel0,Area,
+ Rooms,MetrPrice, HActivityState,FinalPoor)]
+
+save(NewFinalPoor,file=paste0(Settings$HEISProcessedPath,"Y",year,"NewFinalPoor.rda"))
+Final<-NewFinalPoor[,.(HHID,Region,Weight,FinalPoor)]
+save(Final,file=paste0(Settings$HEISProcessedPath,"Y",year,"Final.rda"))
+
+endtime <- proc.time()
+cat("\n\n============================\nIt took ")
+cat((endtime-starttime)["elapsed"])
+cat(" seconds")
\ No newline at end of file
diff --git a/R/Archive/Other Codes/57-CBN-Rural97-shahrivar.R b/R/Archive/Other Codes/57-CBN-Rural97-shahrivar.R
new file mode 100644
index 00000000..3c78d66b
--- /dev/null
+++ b/R/Archive/Other Codes/57-CBN-Rural97-shahrivar.R
@@ -0,0 +1,3049 @@
+#CBN Method-Rural.R
+#
+# Copyright © 2018:Arin Shahbazian
+# Licence: GPL-3
+#
+rm(list=ls())
+
+starttime <- proc.time()
+cat("\n\n================ Prepare Data =====================================\n")
+
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+library(readxl)
+library(stringr)
+library(data.table)
+library(foreign)
+library(haven)
+load(file = "data9697.rda")
+
+#for(year in (Settings$startyear:Settings$endyear)){
+# cat(paste0("\n------------------------------\nYear:",year,"\n"))
+
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","HHBase.rda"))
+HHBase[,IndivNo:=NULL]
+HHBase[,Relationship:=NULL]
+HHBase[,Sex:=NULL]
+HHBase[,Age:=NULL]
+HHBase[,Literate:=NULL]
+HHBase[,Student:=NULL]
+HHBase[,EduCode:=NULL]
+HHBase[,EduYears:=NULL]
+HHBase[,EduLevel:=NULL]
+HHBase[,EduLevel0:=NULL]
+HHBase[,ActivityState:=NULL]
+HHBase[,MarritalState:=NULL]
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Ghand_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Hoboobat_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Roghan_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Berenj_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Nan_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Goosht_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Morgh_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Mahi_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Shir_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Mast_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Panir_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Tokhmemorgh_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Mive_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Sabzi_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Makarooni_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Sibzamini_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Weights.rda"))
+
+Ghand_Data<-Ghand_Data[,.(HHID,Ghandgram,GhandPrice)]
+Hoboobat_Data<-Hoboobat_Data[,.(HHID,Hoboobatgram,HoboobatPrice)]
+Roghan_Data<-Roghan_Data[,.(HHID,Roghangram,RoghanPrice)]
+Berenj_Data<-Berenj_Data[,.(HHID,Berenjgram,BerenjPrice)]
+Nan_Data<-Nan_Data[,.(HHID,Nangram,NanPrice)]
+Goosht_Data<-Goosht_Data[,.(HHID,Gooshtgram,GooshtPrice)]
+Morgh_Data<-Morgh_Data[,.(HHID,Morghgram,MorghPrice)]
+Mahi_Data<-Mahi_Data[,.(HHID,Mahigram,MahiPrice)]
+Shir_Data<-Shir_Data[,.(HHID,Shirgram,ShirPrice)]
+Mast_Data<-Mast_Data[,.(HHID,Mastgram,MastPrice)]
+Panir_Data<-Panir_Data[,.(HHID,Panirgram,PanirPrice)]
+Tokhmemorgh_Data<-Tokhmemorgh_Data[,.(HHID,Tokhmemorghgram,TokhmemorghPrice)]
+Mive_Data<-Mive_Data[,.(HHID,Mivegram,MivePrice)]
+Sabzi_Data<-Sabzi_Data[,.(HHID,Sabzigram,SabziPrice)]
+Makarooni_Data<-Makarooni_Data[,.(HHID,Makaroonigram,MakarooniPrice)]
+Sibzamini_Data<-Sibzamini_Data[,.(HHID,Sibzaminigram,SibzaminiPrice)]
+
+Food<-merge(HHBase,Ghand_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Ghandgram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Hoboobat_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Hoboobatgram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Roghan_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Roghangram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Berenj_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Berenjgram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Nan_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Nangram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Goosht_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Gooshtgram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Morgh_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Morghgram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Mahi_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Mahigram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Shir_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Shirgram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Mast_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Mastgram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Panir_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Panirgram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Tokhmemorgh_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Tokhmemorghgram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Mive_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Mivegram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Sabzi_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Sabzigram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Makarooni_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Makaroonigram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Sibzamini_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Sibzaminigram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Weights,by =c("HHID"),all.x=TRUE)
+
+
+
+#load Expenditure groups
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","HHBase.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","HHI.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Foods.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Cigars.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Cloths.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Amusements.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Communications.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Durables.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Education.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Energy.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Furnitures.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Hotels.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","House.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Medicals.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Behdashts.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Transportations.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Others.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Investments.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Resturants.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Weights.rda"))
+
+#merge Expenditure groups
+CBN<-merge(Food,HHI ,by =c("HHID"),all=TRUE)
+CBN<-merge(CBN,FoodData,by =c("HHID"),all=TRUE)
+for (col in c("FoodExpenditure")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,CigarData,by =c("HHID"),all=TRUE)
+for (col in c("Cigar_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,ClothData,by =c("HHID"),all=TRUE)
+for (col in c("Cloth_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,AmusementData,by =c("HHID"),all=TRUE)
+for (col in c("Amusement_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,CommunicationData,by =c("HHID"),all=TRUE)
+for (col in c("Communication_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,EducData,by =c("HHID"),all=TRUE)
+for (col in c("EducExpenditure")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,EnergyData,by =c("HHID"),all=TRUE)
+for (col in c("Energy_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,FurnitureData,by =c("HHID"),all=TRUE)
+for (col in c("Furniture_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,HotelData,by =c("HHID"),all=TRUE)
+for (col in c("Hotel_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,BehdashtData,by =c("HHID"),all=TRUE)
+for (col in c("Behdasht_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,TransportationData,by =c("HHID"),all=TRUE)
+for (col in c("Transportation_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,OtherData,by =c("HHID"),all=TRUE)
+for (col in c("Other_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,HouseData,by =c("HHID"),all=TRUE)
+for (col in c("ServiceExp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,InvestmentData,by =c("HHID"),all=TRUE)
+for (col in c("Investment_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,MedicalData,by =c("HHID"),all=TRUE)
+for (col in c("Medical_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,DurableData,by =c("HHID"),all=TRUE)
+for (col in c("Durable_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,ResturantData,by =c("HHID"),all=TRUE)
+for (col in c("Resturant_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-CBN[Size!=0]
+CBN<-CBN[Region=="Rural"]
+CBN<-CBN[FoodExpenditure!=0]
+CBN<-merge(CBN,data9697,by =c("ProvinceCode"),all.x=TRUE)
+
+CBN$FoodExpenditure<-CBN$FoodExpenditure*CBN$shahrivar971food_index/100
+CBN$Cigar_Exp<-CBN$Cigar_Exp*CBN$shahrivar971cigar_index/100
+CBN$Cloth_Exp<-CBN$Cloth_Exp*CBN$shahrivar971cloth_index/100
+CBN$Amusement_Exp<-CBN$Amusement_Exp*CBN$shahrivar971amusement_index/100
+CBN$Communication_Exp<-CBN$Communication_Exp*CBN$shahrivar971communication_index/100
+CBN$EducExpenditure<-CBN$EducExpenditure*CBN$shahrivar971education_index/100
+CBN$Energy_Exp<-CBN$Energy_Exp*CBN$shahrivar971house_energy_index/100
+CBN$Furniture_Exp<-CBN$Furniture_Exp*CBN$shahrivar971furniture_index/100
+CBN$Hotel_Exp<-CBN$Hotel_Exp*CBN$shahrivar971hotel_index/100
+CBN$Behdasht_Exp<-CBN$Behdasht_Exp*CBN$shahrivar971behdasht_index/100
+CBN$Transportation_Exp<-CBN$Transportation_Exp*CBN$shahrivar971transportation_index/100
+CBN$Other_Exp<-CBN$Other_Exp*CBN$shahrivar971other_index/100
+CBN$ServiceExp<-CBN$ServiceExp*CBN$shahrivar971house_energy_index/100
+CBN$Investment_Exp<-CBN$Investment_Exp*CBN$shahrivar97/100
+CBN$Medical_Exp<-CBN$Medical_Exp*CBN$shahrivar971behdasht_index/100
+CBN$Durable_Exp<-CBN$Durable_Exp*CBN$shahrivar97/100
+
+CBN[ ,shahrivar971furniture_index :=NULL]
+CBN[ ,shahrivar971communication_index :=NULL]
+CBN[ ,shahrivar971behdasht_index :=NULL]
+CBN[ ,shahrivar971education_index :=NULL]
+CBN[ ,shahrivar971amusement_index :=NULL]
+CBN[ ,shahrivar971transportation_index :=NULL]
+CBN[ ,shahrivar971food_index :=NULL]
+CBN[ ,shahrivar971cigar_index :=NULL]
+CBN[ ,shahrivar971hotel_index :=NULL]
+CBN[ ,shahrivar971total_index :=NULL]
+CBN[ ,shahrivar971house_energy_index :=NULL]
+CBN[ ,shahrivar971cloth_index :=NULL]
+CBN[ ,shahrivar971other_index :=NULL]
+CBN[ ,spring971furniture_index :=NULL]
+CBN[ ,spring971communication_index :=NULL]
+CBN[ ,spring971behdasht_index :=NULL]
+CBN[ ,spring971education_index :=NULL]
+CBN[ ,spring971amusement_index :=NULL]
+CBN[ ,spring971transportation_index :=NULL]
+CBN[ ,spring971food_index :=NULL]
+CBN[ ,spring971cigar_index :=NULL]
+CBN[ ,spring971hotel_index :=NULL]
+CBN[ ,spring971total_index :=NULL]
+CBN[ ,spring971house_energy_index :=NULL]
+CBN[ ,spring971cloth_index :=NULL]
+CBN[ ,spring971other_index :=NULL]
+CBN[ ,summer971furniture_index :=NULL]
+CBN[ ,summer971communication_index :=NULL]
+CBN[ ,summer971behdasht_index :=NULL]
+CBN[ ,summer971education_index :=NULL]
+CBN[ ,summer971amusement_index :=NULL]
+CBN[ ,summer971transportation_index :=NULL]
+CBN[ ,summer971food_index :=NULL]
+CBN[ ,summer971cigar_index :=NULL]
+CBN[ ,summer971hotel_index :=NULL]
+CBN[ ,summer971total_index :=NULL]
+CBN[ ,summer971house_energy_index :=NULL]
+CBN[ ,summer971cloth_index :=NULL]
+CBN[ ,summer971other_index :=NULL]
+CBN[ ,total961furniture_index :=NULL]
+CBN[ ,total961communication_index :=NULL]
+CBN[ ,total961behdasht_index :=NULL]
+CBN[ ,total961education_index :=NULL]
+CBN[ ,total961amusement_index :=NULL]
+CBN[ ,total961transportation_index :=NULL]
+CBN[ ,total961food_index :=NULL]
+CBN[ ,total961cigar_index :=NULL]
+CBN[ ,total961hotel_index :=NULL]
+CBN[ ,total961total_index :=NULL]
+CBN[ ,total961house_energy_index :=NULL]
+CBN[ ,total961cloth_index :=NULL]
+CBN[ ,total961other_index :=NULL]
+
+CBN[ ,spring97 :=NULL]
+CBN[ ,summer97 :=NULL]
+CBN[ ,total96 :=NULL]
+CBN[ ,shahrivar97 :=NULL]
+
+
+
+#Calculate Per_Total Expenditures Monthly
+CBN[, Total_Exp_Month := Reduce(`+`, .SD), .SDcols=c(65:77,82:83)][]
+CBN[, Total_Exp_Month_nondurable := Reduce(`+`, .SD), .SDcols=65:77][]
+
+CBN$Total_Exp_Month_Per<-CBN$Total_Exp_Month/CBN$EqSizeOECD
+CBN$Total_Exp_Month_Per_nondurable<-CBN$Total_Exp_Month_nondurable/CBN$EqSizeOECD
+
+#Calculate Per_Food Expenditures Monthly
+CBN[,EqSizeCalory :=(Size-NKids) + NKids*(1800/2100)]
+CBN$FoodExpenditure_Per<-CBN$FoodExpenditure/CBN$EqSizeCalory
+
+#Calculate Per_Food Expenditures Daily
+CBN$FoodExpenditure_Per_day<-CBN$FoodExpenditure_Per/30
+
+CBN$Ghandgram_Per_day<-CBN$Ghandgram/(30*CBN$EqSizeOECD)
+CBN$Hoboobatgram_Per_day<-CBN$Hoboobatgram/(30*CBN$EqSizeOECD)
+CBN$Berenjgram_Per_day<-CBN$Berenjgram/(30*CBN$EqSizeOECD)
+CBN$Nangram_Per_day<-CBN$Nangram/(30*CBN$EqSizeOECD)
+CBN$Roghangram_Per_day<-CBN$Roghangram/(30*CBN$EqSizeOECD)
+CBN$Gooshtgram_Per_day<-CBN$Gooshtgram/(30*CBN$EqSizeOECD)
+CBN$Morghgram_Per_day<-CBN$Morghgram/(30*CBN$EqSizeOECD)
+CBN$Mahigram_Per_day<-CBN$Mahigram/(30*CBN$EqSizeOECD)
+CBN$Shirgram_Per_day<-CBN$Shirgram/(30*CBN$EqSizeOECD)
+CBN$Mastgram_Per_day<-CBN$Mastgram/(30*CBN$EqSizeOECD)
+CBN$Panirgram_Per_day<-CBN$Panirgram/(30*CBN$EqSizeOECD)
+CBN$Tokhmemorghgram_Per_day<-CBN$Tokhmemorghgram/(30*CBN$EqSizeOECD)
+CBN$Mivegram_Per_day<-CBN$Mivegram/(30*CBN$EqSizeOECD)
+CBN$Sabzigram_Per_day<-CBN$Sabzigram/(30*CBN$EqSizeOECD)
+CBN$Makaroonigram_Per_day<-CBN$Makaroonigram/(30*CBN$EqSizeOECD)
+CBN$Sibzaminigram_Per_day<-CBN$Sibzaminigram/(30*CBN$EqSizeOECD)
+CBN[,EqSizeCalory:=NULL]
+
+load(file="PriceIndex95.rda")
+CBN<-merge(CBN,PriceIndex95,by=c("ProvinceCode"),all.x = TRUE)
+CBN[,ostan:=NULL]
+load(file="PriceIndex.rda")
+CBN<-merge(CBN,PriceIndex,by=c("ProvinceCode"),all.x = TRUE)
+
+#Sort Expenditure data
+CBN<- CBN[order(Total_Exp_Month_Per_nondurable)]
+
+#Calculate cumulative weights
+sum(CBN$Weight)
+CBN$cumweight <- cumsum(CBN$Weight)
+tx <- max(CBN$cumweight)
+
+#Calculate deciles by weights
+CBN[,Decile:=cut(cumweight,breaks = seq(0,tx,tx/10),labels = 1:10)]
+CBN[,Percentile:=cut(cumweight,breaks=seq(0,tx,tx/100),labels=1:100)]
+
+
+CBN$Ghand_W<-CBN$Ghandgram_Per_day*CBN$GhandPrice*0.001*30
+CBN$Hoboobat_W<-CBN$Hoboobatgram_Per_day*CBN$HoboobatPrice*0.001*30
+CBN$Roghan_W<-CBN$Roghangram_Per_day*CBN$RoghanPrice*0.001*30
+CBN$Berenj_W<-CBN$Berenjgram_Per_day*CBN$BerenjPrice*0.001*30
+CBN$Nan_W<-CBN$Nangram_Per_day*CBN$NanPrice*0.001*30
+CBN$Goosht_W<-CBN$Gooshtgram_Per_day*CBN$GooshtPrice*0.001*30
+CBN$Morgh_W<-CBN$Morghgram_Per_day*CBN$MorghPrice*0.001*30
+CBN$Mahi_W<-CBN$Mahigram_Per_day*CBN$MahiPrice*0.001*30
+CBN$Shir_W<-CBN$Shirgram_Per_day*CBN$ShirPrice*0.001*30
+CBN$Mast_W<-CBN$Mastgram_Per_day*CBN$MastPrice*0.001*30
+CBN$Panir_W<-CBN$Panirgram_Per_day*CBN$PanirPrice*0.001*30
+CBN$Tokhmemorgh_W<-CBN$Tokhmemorghgram_Per_day*CBN$TokhmemorghPrice*0.001*30
+CBN$Mive_W<-CBN$Mivegram_Per_day*CBN$MivePrice*0.001*30
+CBN$Sabzi_W<-CBN$Sabzigram_Per_day*CBN$SabziPrice*0.001*30
+CBN$Makarooni_W<-CBN$Makaroonigram_Per_day*CBN$MakarooniPrice*0.001*30
+CBN$Sibzamini_W<-CBN$Sibzaminigram_Per_day*CBN$SibzaminiPrice*0.001*30
+CBN$Home_W<-CBN$ServiceExp/CBN$EqSizeOECD
+CBN$Home_Per_Metr<-CBN$MetrPrice/CBN$EqSizeOECD
+
+#Seperate big cities
+CBN[,sum(Weight*Size),by=ProvinceCode][order(V1)]
+CBN[,HHIDs:=as.character(HHID)]
+CBN[,ShahrestanCode:=as.integer(str_sub(HHIDs,2,5))]
+CBN[,sum(Weight*Size),by=ShahrestanCode][order(V1)][330:387]
+CBNTehran<-CBN[ProvinceCode==23]
+CBNTehran[,sum(Weight*Size),by=ShahrestanCode]
+CBNTabriz<-CBN[ProvinceCode==3]
+CBNTabriz[,sum(Weight*Size),by=ShahrestanCode]
+CBNAhvaz<-CBN[ProvinceCode==6]
+CBNAhvaz[,sum(Weight*Size),by=ShahrestanCode]
+CBNShiraz<-CBN[ProvinceCode==7]
+CBNShiraz[,sum(Weight*Size),by=ShahrestanCode]
+CBNMashhad<-CBN[ProvinceCode==9]
+CBNMashhad[,sum(Weight*Size),by=ShahrestanCode]
+CBNEsfahan<-CBN[ProvinceCode==10]
+CBNEsfahan[,sum(Weight*Size),by=ShahrestanCode]
+CBNKaraj<-CBN[ProvinceCode==30]
+CBNKaraj[,sum(Weight*Size),by=ShahrestanCode]
+CBNKermanshah<-CBN[ProvinceCode==5]
+CBNKermanshah[,sum(Weight*Size),by=ShahrestanCode]
+
+
+# Food Calories
+CBN$Ghand_Calory<- CBN$Ghandgram *4
+CBN$Hoboobat_Calory<- CBN$Hoboobatgram *3
+CBN$Nan_Calory<- CBN$Nangram *2.5
+CBN$Berenj_Calory<- CBN$Berenjgram *1.2
+CBN$Roghan_Calory<- CBN$Roghangram *8
+CBN$Goosht_Calory<- CBN$Gooshtgram *2.5
+CBN$Morgh_Calory<- CBN$Morghgram *2
+CBN$Mahi_Calory<- CBN$Mahigram *1
+CBN$Shir_Calory<- CBN$Shirgram *2.5
+CBN$Mast_Calory<- CBN$Mastgram *1.5
+CBN$Panir_Calory<- CBN$Mastgram *2.5
+CBN$Tokhmemorgh_Calory<- CBN$Tokhmemorghgram *1.4
+CBN$Mive_Calory<- CBN$Mivegram *0.5
+CBN$Sabzi_Calory<- CBN$Sabzigram *0.5
+CBN$Makarooni_Calory<- CBN$Makaroonigram *3.6
+CBN$Sibzamini_Calory<- CBN$Sibzaminigram *0.9
+#utils::View(CBN)
+
+#CalculatePer_calories
+CBN[, Daily_Exp_Calories := Reduce(`+`, .SD), .SDcols=148:163][]
+CBN[,EqSizeCalory :=(Size-NKids) + NKids*(1800/2100)]
+CBN[,Per_Daily_Exp_Calories:=Daily_Exp_Calories/EqSizeCalory]
+CBN <- CBN[Per_Daily_Exp_Calories<100000] # arbitrary removal of outliers
+#CBN[,Daily_Calories_cluster:=weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+#CBN[,weighted.mean(Daily_Calories_cluster,Weight,na.rm = TRUE),by=cluster]
+#CBN[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+#CBN[,weighted.mean(Size,Weight,na.rm = TRUE),by=cluster]
+#CBN[,sum(Weight*Size),by=cluster]
+#CBN[,sum(Weight),by=cluster]
+#CBN[,sum(Poor),by=cluster]
+
+
+#Calculate_Per_calories
+CBN$Ghand_per_Calory<- CBN$Ghandgram *4/CBN$EqSizeCalory
+CBN$Hoboobat_per_Calory<- CBN$Hoboobatgram *3/CBN$EqSizeCalory
+CBN$Nan_per_Calory<- CBN$Nangram *2.5/CBN$EqSizeCalory
+CBN$Berenj_per_Calory<- CBN$Berenjgram *1.2/CBN$EqSizeCalory
+CBN$Roghan_per_Calory<- CBN$Roghangram *8/CBN$EqSizeCalory
+CBN$Goosht_per_Calory<- CBN$Gooshtgram *2.5/CBN$EqSizeCalory
+CBN$Morgh_per_Calory<- CBN$Morghgram *2/CBN$EqSizeCalory
+CBN$Mahi_per_Calory<- CBN$Mahigram *1/CBN$EqSizeCalory
+CBN$Shir_per_Calory<- CBN$Shirgram *2.5/CBN$EqSizeCalory
+CBN$Mast_per_Calory<- CBN$Mastgram *1.5/CBN$EqSizeCalory
+CBN$Panir_per_Calory<- CBN$Mastgram *2.5/CBN$EqSizeCalory
+CBN$Tokhmemorgh_per_Calory<- CBN$Tokhmemorghgram *1.4/CBN$EqSizeCalory
+CBN$Mive_per_Calory<- CBN$Mivegram *0.5/CBN$EqSizeCalory
+CBN$Sabzi_per_Calory<- CBN$Sabzigram *0.5/CBN$EqSizeCalory
+CBN$Makarooni_per_Calory<- CBN$Makaroonigram *3.6/CBN$EqSizeCalory
+CBN$Sibzamini_per_Calory<- CBN$Sibzaminigram *0.9/CBN$EqSizeCalory
+
+
+#Assume that deciles 1 and 2 are poor
+CBN[,Poor:=ifelse(Decile %in% 1:4,1,0)]
+CBNPoor<-CBN[Poor==1]
+
+#K-means weights
+PriceWeights<-CBN[,.(HHID,Ghand_W,Hoboobat_W,Roghan_W,Berenj_W,Nan_W,Goosht_W,Morgh_W,Mahi_W,Shir_W,Mast_W,Panir_W,Tokhmemorgh_W,Mive_W,Sabzi_W,Makarooni_W,Sibzamini_W,Home_W,ProvinceCode,Weight)]
+dt3 <- PriceWeights[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+dt3<- dt3[order(ProvinceCode)]
+dt3 <- dt3[,.(Ghand_W,Hoboobat_W,Roghan_W,Berenj_W,Nan_W,Goosht_W,Morgh_W,Mahi_W,Shir_W,Mast_W,Panir_W,Tokhmemorgh_W,Mive_W,Sabzi_W,Makarooni_W,Sibzamini_W,Home_W)]
+
+
+
+
+load(file="dt5Rural.rda")
+#plot(PRICE1, PRICE2,col=cl$cluster)
+#points(cl$centers, pch=20)
+CBNPoor<-merge(CBNPoor,dt2,by=c("ProvinceCode"),all.x = TRUE)
+CBNPoor[,sum(Weight*Size),by=cluster]
+CBNPoor[,sum(Weight),by=cluster]
+CBNPoor[,sum(Poor),by=cluster]
+C2<-CBNPoor[,.(HHID,ProvinceCode,Region,Decile,Poor,cluster)]
+######################################################################
+
+
+
+
+
+
+
+
+
+####Iteration 1#####
+###Iteration1-1
+#Calculate Per_calories in clusters
+CBNPoor[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(185:200)][]
+#utils::View(CBNPoor)
+
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(202:217)][]
+
+CBNPoor[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor<-CBNPoor[Per_Daily_Exp_Calories!=0]
+CBNPoor[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+#CBN[,weighted.mean(Poor,Weight),by=cluster][order(cluster)]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE)]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE)]
+
+#Real Prices
+T_Bundle_Value<-subset(CBNPoor, ProvinceCode==23, select=c(Bundle_Value,Home_Per_Metr,Weight))
+Tehran_Bundle_Value1<-weighted.mean(T_Bundle_Value$Bundle_Value,T_Bundle_Value$Weight,na.rm = TRUE)
+Tehran_Bundle_Value2<-weighted.mean(T_Bundle_Value$Home_Per_Metr,T_Bundle_Value$Weight,na.rm = TRUE)
+CBNPoor[,RealPriceIndex1:=weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/Tehran_Bundle_Value1,by=ProvinceCode]
+CBNPoor[,RealPriceIndex2:=weighted.mean(Home_Per_Metr,Weight,na.rm = TRUE)/Tehran_Bundle_Value2,by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex1,Weight),by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex2,Weight),by=ProvinceCode]
+Indexes2<-CBNPoor[,.(RealPriceIndex1,RealPriceIndex2,ProvinceCode,Weight)]
+Indexes2<-Indexes2[,RealPriceIndex:=(RealPriceIndex1+RealPriceIndex2)/2]
+Indexes<-Indexes2[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+Indexes31<-Indexes[,.(ProvinceCode,RealPriceIndex1,RealPriceIndex2,RealPriceIndex)]
+Indexes<-Indexes[,.(ProvinceCode,RealPriceIndex)]
+CBN<-merge(CBN,Indexes,by=c("ProvinceCode"),all.x = TRUE)
+CBN<-CBN[,Total_Food_Month_Per2:=FoodExpenditure_Per*RealPriceIndex]
+CBN<-CBN[,Total_Exp_Month_Per2:=Total_Exp_Month_Per_nondurable*RealPriceIndex]
+#utils::View(CBN)
+
+#Sort Expenditure data
+CBN<- CBN[order(Total_Exp_Month_Per2)]
+
+#Calculate cumulative weights
+sum(CBN$Weight)
+CBN$cumweight <- cumsum(CBN$Weight)
+tx <- max(CBN$cumweight)
+
+#Calculate deciles by weights
+CBN[,Decile:=cut(cumweight,breaks = seq(0,tx,tx/10),labels = 1:10)]
+CBN[,Percentile:=cut(cumweight,breaks=seq(0,tx,tx/100),labels=1:100)]
+
+#Update Poors
+CBN[,Poor:=ifelse(Decile %in% 1:4,1,0)]
+CBNPoor<-CBN[Poor==1]
+CBNPoor<-merge(CBNPoor,dt2,by=c("ProvinceCode"),all.x = TRUE)
+CBNPoor[,sum(HIndivNo),by=.(ProvinceCode)][order(ProvinceCode)]
+CBNPoor[,sum(HIndivNo)]
+
+###Iteration1-2
+#Calculate Per_calories in clusters
+CBNPoor[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(185:200)][]
+#utils::View(CBNPoor)
+
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(202:217)][]
+
+CBNPoor[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor<-CBNPoor[Per_Daily_Exp_Calories!=0]
+CBNPoor[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+#CBN[,weighted.mean(Poor,Weight),by=cluster][order(cluster)]
+
+#Real Prices
+T_Bundle_Value<-subset(CBNPoor, ProvinceCode==23, select=c(Bundle_Value,Home_Per_Metr,Weight))
+Tehran_Bundle_Value1<-weighted.mean(T_Bundle_Value$Bundle_Value,T_Bundle_Value$Weight,na.rm = TRUE)
+Tehran_Bundle_Value2<-weighted.mean(T_Bundle_Value$Home_Per_Metr,T_Bundle_Value$Weight,na.rm = TRUE)
+CBNPoor[,RealPriceIndex1:=weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/Tehran_Bundle_Value1,by=ProvinceCode]
+CBNPoor[,RealPriceIndex2:=weighted.mean(Home_Per_Metr,Weight,na.rm = TRUE)/Tehran_Bundle_Value2,by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex1,Weight),by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex2,Weight),by=ProvinceCode]
+Indexes2<-CBNPoor[,.(RealPriceIndex1,RealPriceIndex2,ProvinceCode,Weight)]
+Indexes2<-Indexes2[,RealPriceIndex:=(RealPriceIndex1+RealPriceIndex2)/2]
+Indexes<-Indexes2[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+Indexes32<-Indexes[,.(ProvinceCode,RealPriceIndex1,RealPriceIndex2,RealPriceIndex)]
+Indexes<-Indexes[,.(ProvinceCode,RealPriceIndex)]
+CBN[,RealPriceIndex:=NULL]
+CBN<-merge(CBN,Indexes,by=c("ProvinceCode"),all.x = TRUE)
+CBN<-CBN[,Total_Food_Month_Per2:=FoodExpenditure_Per*RealPriceIndex]
+CBN<-CBN[,Total_Exp_Month_Per2:=Total_Exp_Month_Per_nondurable*RealPriceIndex]
+#utils::View(CBN)
+
+#Sort Expenditure data
+CBN<- CBN[order(Total_Exp_Month_Per2)]
+
+#Calculate cumulative weights
+sum(CBN$Weight)
+CBN$cumweight <- cumsum(CBN$Weight)
+tx <- max(CBN$cumweight)
+
+#Calculate deciles by weights
+CBN[,Decile:=cut(cumweight,breaks = seq(0,tx,tx/10),labels = 1:10)]
+CBN[,Percentile:=cut(cumweight,breaks=seq(0,tx,tx/100),labels=1:100)]
+
+#Update Poors
+CBN[,Poor:=ifelse(Decile %in% 1:4,1,0)]
+CBNPoor<-CBN[Poor==1]
+CBNPoor<-merge(CBNPoor,dt2,by=c("ProvinceCode"),all.x = TRUE)
+CBNPoor[,sum(HIndivNo),by=.(ProvinceCode)][order(ProvinceCode)]
+
+###Iteration1-3
+#Calculate Per_calories in clusters
+CBNPoor[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(185:200)][]
+#utils::View(CBNPoor)
+
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(202:217)][]
+
+CBNPoor[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor<-CBNPoor[Per_Daily_Exp_Calories!=0]
+CBNPoor[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+#CBN[,weighted.mean(Poor,Weight),by=cluster][order(cluster)]
+
+#Real Prices
+T_Bundle_Value<-subset(CBNPoor, ProvinceCode==23, select=c(Bundle_Value,Home_Per_Metr,Weight))
+Tehran_Bundle_Value1<-weighted.mean(T_Bundle_Value$Bundle_Value,T_Bundle_Value$Weight,na.rm = TRUE)
+Tehran_Bundle_Value2<-weighted.mean(T_Bundle_Value$Home_Per_Metr,T_Bundle_Value$Weight,na.rm = TRUE)
+CBNPoor[,RealPriceIndex1:=weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/Tehran_Bundle_Value1,by=ProvinceCode]
+CBNPoor[,RealPriceIndex2:=weighted.mean(Home_Per_Metr,Weight,na.rm = TRUE)/Tehran_Bundle_Value2,by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex1,Weight),by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex2,Weight),by=ProvinceCode]
+Indexes2<-CBNPoor[,.(RealPriceIndex1,RealPriceIndex2,ProvinceCode,Weight)]
+Indexes2<-Indexes2[,RealPriceIndex:=(RealPriceIndex1+RealPriceIndex2)/2]
+Indexes<-Indexes2[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+Indexes33<-Indexes[,.(ProvinceCode,RealPriceIndex1,RealPriceIndex2,RealPriceIndex)]
+Indexes<-Indexes[,.(ProvinceCode,RealPriceIndex)]
+CBN[,RealPriceIndex:=NULL]
+CBN<-merge(CBN,Indexes,by=c("ProvinceCode"),all.x = TRUE)
+CBN<-CBN[,Total_Food_Month_Per2:=FoodExpenditure_Per*RealPriceIndex]
+CBN<-CBN[,Total_Exp_Month_Per2:=Total_Exp_Month_Per_nondurable*RealPriceIndex]
+#utils::View(CBN)
+
+#Sort Expenditure data
+CBN<- CBN[order(Total_Exp_Month_Per2)]
+
+#Calculate cumulative weights
+sum(CBN$Weight)
+CBN$cumweight <- cumsum(CBN$Weight)
+tx <- max(CBN$cumweight)
+
+#Calculate deciles by weights
+CBN[,Decile:=cut(cumweight,breaks = seq(0,tx,tx/10),labels = 1:10)]
+CBN[,Percentile:=cut(cumweight,breaks=seq(0,tx,tx/100),labels=1:100)]
+
+#Update Poors
+CBN[,Poor:=ifelse(Decile %in% 1:4,1,0)]
+CBNPoor<-CBN[Poor==1]
+CBNPoor<-merge(CBNPoor,dt2,by=c("ProvinceCode"),all.x = TRUE)
+CBNPoor[,sum(HIndivNo),by=.(ProvinceCode)][order(ProvinceCode)]
+
+
+###Iteration1-4
+#Calculate Per_calories in clusters
+CBNPoor[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(185:200)][]
+#utils::View(CBNPoor)
+
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(202:217)][]
+
+CBNPoor[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor<-CBNPoor[Per_Daily_Exp_Calories!=0]
+CBNPoor[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+#CBN[,weighted.mean(Poor,Weight),by=cluster][order(cluster)]
+
+#Real Prices
+T_Bundle_Value<-subset(CBNPoor, ProvinceCode==23, select=c(Bundle_Value,Home_Per_Metr,Weight))
+Tehran_Bundle_Value1<-weighted.mean(T_Bundle_Value$Bundle_Value,T_Bundle_Value$Weight,na.rm = TRUE)
+Tehran_Bundle_Value2<-weighted.mean(T_Bundle_Value$Home_Per_Metr,T_Bundle_Value$Weight,na.rm = TRUE)
+CBNPoor[,RealPriceIndex1:=weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/Tehran_Bundle_Value1,by=ProvinceCode]
+CBNPoor[,RealPriceIndex2:=weighted.mean(Home_Per_Metr,Weight,na.rm = TRUE)/Tehran_Bundle_Value2,by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex1,Weight),by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex2,Weight),by=ProvinceCode]
+Indexes2<-CBNPoor[,.(RealPriceIndex1,RealPriceIndex2,ProvinceCode,Weight)]
+Indexes2<-Indexes2[,RealPriceIndex:=(RealPriceIndex1+RealPriceIndex2)/2]
+Indexes<-Indexes2[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+Indexes34<-Indexes[,.(ProvinceCode,RealPriceIndex1,RealPriceIndex2,RealPriceIndex)]
+Indexes<-Indexes[,.(ProvinceCode,RealPriceIndex)]
+CBN[,RealPriceIndex:=NULL]
+CBN<-merge(CBN,Indexes,by=c("ProvinceCode"),all.x = TRUE)
+CBN<-CBN[,Total_Food_Month_Per2:=FoodExpenditure_Per*RealPriceIndex]
+CBN<-CBN[,Total_Exp_Month_Per2:=Total_Exp_Month_Per_nondurable*RealPriceIndex]
+#utils::View(CBN)
+
+
+#Sort Expenditure data
+CBN<- CBN[order(Total_Exp_Month_Per2)]
+
+#Calculate cumulative weights
+sum(CBN$Weight)
+CBN$cumweight <- cumsum(CBN$Weight)
+tx <- max(CBN$cumweight)
+
+#Calculate deciles by weights
+CBN[,Decile:=cut(cumweight,breaks = seq(0,tx,tx/10),labels = 1:10)]
+CBN[,Percentile:=cut(cumweight,breaks=seq(0,tx,tx/100),labels=1:100)]
+
+#Update Poors
+CBN[,Poor:=ifelse(Decile %in% 1:4,1,0)]
+CBNPoor<-CBN[Poor==1]
+CBNPoor<-merge(CBNPoor,dt2,by=c("ProvinceCode"),all.x = TRUE)
+CBNPoor[,sum(HIndivNo),by=.(ProvinceCode)][order(ProvinceCode)]
+
+###Iteration1-5
+#Calculate Per_calories in clusters
+CBNPoor[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(185:200)][]
+#utils::View(CBNPoor)
+
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(202:217)][]
+
+CBNPoor[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor<-CBNPoor[Per_Daily_Exp_Calories!=0]
+CBNPoor[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+#CBN[,weighted.mean(Poor,Weight),by=cluster][order(cluster)]
+
+#Real Prices
+T_Bundle_Value<-subset(CBNPoor, ProvinceCode==23, select=c(Bundle_Value,Home_Per_Metr,Weight))
+Tehran_Bundle_Value1<-weighted.mean(T_Bundle_Value$Bundle_Value,T_Bundle_Value$Weight,na.rm = TRUE)
+Tehran_Bundle_Value2<-weighted.mean(T_Bundle_Value$Home_Per_Metr,T_Bundle_Value$Weight,na.rm = TRUE)
+CBNPoor[,RealPriceIndex1:=weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/Tehran_Bundle_Value1,by=ProvinceCode]
+CBNPoor[,RealPriceIndex2:=weighted.mean(Home_Per_Metr,Weight,na.rm = TRUE)/Tehran_Bundle_Value2,by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex1,Weight),by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex2,Weight),by=ProvinceCode]
+Indexes2<-CBNPoor[,.(RealPriceIndex1,RealPriceIndex2,ProvinceCode,Weight)]
+Indexes2<-Indexes2[,RealPriceIndex:=(RealPriceIndex1+RealPriceIndex2)/2]
+Indexes<-Indexes2[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+Indexes35<-Indexes[,.(ProvinceCode,RealPriceIndex1,RealPriceIndex2,RealPriceIndex)]
+Indexes<-Indexes[,.(ProvinceCode,RealPriceIndex)]
+CBN[,RealPriceIndex:=NULL]
+CBN<-merge(CBN,Indexes,by=c("ProvinceCode"),all.x = TRUE)
+CBN<-CBN[,Total_Food_Month_Per2:=FoodExpenditure_Per*RealPriceIndex]
+CBN<-CBN[,Total_Exp_Month_Per2:=Total_Exp_Month_Per_nondurable*RealPriceIndex]
+#utils::View(CBN)
+
+
+#Sort Expenditure data
+CBN<- CBN[order(Total_Exp_Month_Per2)]
+
+#Calculate cumulative weights
+sum(CBN$Weight)
+CBN$cumweight <- cumsum(CBN$Weight)
+tx <- max(CBN$cumweight)
+
+#Calculate deciles by weights
+CBN[,Decile:=cut(cumweight,breaks = seq(0,tx,tx/10),labels = 1:10)]
+CBN[,Percentile:=cut(cumweight,breaks=seq(0,tx,tx/100),labels=1:100)]
+
+#Update Poors
+CBN[,Poor:=ifelse(Decile %in% 1:4,1,0)]
+CBNPoor<-CBN[Poor==1]
+CBNPoor<-merge(CBNPoor,dt2,by=c("ProvinceCode"),all.x = TRUE)
+CBNPoor[,sum(HIndivNo),by=.(ProvinceCode)][order(ProvinceCode)]
+
+###Iteration1-6
+#Calculate Per_calories in clusters
+CBNPoor[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(185:200)][]
+#utils::View(CBNPoor)
+
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(202:217)][]
+
+CBNPoor[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor<-CBNPoor[Per_Daily_Exp_Calories!=0]
+CBNPoor[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+#CBN[,weighted.mean(Poor,Weight),by=cluster][order(cluster)]
+
+#Real Prices
+T_Bundle_Value<-subset(CBNPoor, ProvinceCode==23, select=c(Bundle_Value,Home_Per_Metr,Weight))
+Tehran_Bundle_Value1<-weighted.mean(T_Bundle_Value$Bundle_Value,T_Bundle_Value$Weight,na.rm = TRUE)
+Tehran_Bundle_Value2<-weighted.mean(T_Bundle_Value$Home_Per_Metr,T_Bundle_Value$Weight,na.rm = TRUE)
+CBNPoor[,RealPriceIndex1:=weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/Tehran_Bundle_Value1,by=ProvinceCode]
+CBNPoor[,RealPriceIndex2:=weighted.mean(Home_Per_Metr,Weight,na.rm = TRUE)/Tehran_Bundle_Value2,by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex1,Weight),by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex2,Weight),by=ProvinceCode]
+Indexes2<-CBNPoor[,.(RealPriceIndex1,RealPriceIndex2,ProvinceCode,Weight)]
+Indexes2<-Indexes2[,RealPriceIndex:=(RealPriceIndex1+RealPriceIndex2)/2]
+Indexes<-Indexes2[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+Indexes36<-Indexes[,.(ProvinceCode,RealPriceIndex1,RealPriceIndex2,RealPriceIndex)]
+Indexes<-Indexes[,.(ProvinceCode,RealPriceIndex)]
+CBN[,RealPriceIndex:=NULL]
+CBN<-merge(CBN,Indexes,by=c("ProvinceCode"),all.x = TRUE)
+CBN<-CBN[,Total_Food_Month_Per2:=FoodExpenditure_Per*RealPriceIndex]
+CBN<-CBN[,Total_Exp_Month_Per2:=Total_Exp_Month_Per_nondurable*RealPriceIndex]
+#utils::View(CBN)
+
+
+#Sort Expenditure data
+CBN<- CBN[order(Total_Exp_Month_Per2)]
+
+#Calculate cumulative weights
+sum(CBN$Weight)
+CBN$cumweight <- cumsum(CBN$Weight)
+tx <- max(CBN$cumweight)
+
+#Calculate deciles by weights
+CBN[,Decile:=cut(cumweight,breaks = seq(0,tx,tx/10),labels = 1:10)]
+CBN[,Percentile:=cut(cumweight,breaks=seq(0,tx,tx/100),labels=1:100)]
+
+#Update Poors
+CBN[,Poor:=ifelse(Decile %in% 1:4,1,0)]
+CBNPoor<-CBN[Poor==1]
+CBNPoor<-merge(CBNPoor,dt2,by=c("ProvinceCode"),all.x = TRUE)
+CBNPoor[,sum(HIndivNo),by=.(ProvinceCode)][order(ProvinceCode)]
+
+###Iteration1-7
+#Calculate Per_calories in clusters
+CBNPoor[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(185:200)][]
+#utils::View(CBNPoor)
+
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(202:217)][]
+
+CBNPoor[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor<-CBNPoor[Per_Daily_Exp_Calories!=0]
+CBNPoor[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+#CBN[,weighted.mean(Poor,Weight),by=cluster][order(cluster)]
+
+#Real Prices
+T_Bundle_Value<-subset(CBNPoor, ProvinceCode==23, select=c(Bundle_Value,Home_Per_Metr,Weight))
+Tehran_Bundle_Value1<-weighted.mean(T_Bundle_Value$Bundle_Value,T_Bundle_Value$Weight,na.rm = TRUE)
+Tehran_Bundle_Value2<-weighted.mean(T_Bundle_Value$Home_Per_Metr,T_Bundle_Value$Weight,na.rm = TRUE)
+CBNPoor[,RealPriceIndex1:=weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/Tehran_Bundle_Value1,by=ProvinceCode]
+CBNPoor[,RealPriceIndex2:=weighted.mean(Home_Per_Metr,Weight,na.rm = TRUE)/Tehran_Bundle_Value2,by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex1,Weight),by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex2,Weight),by=ProvinceCode]
+Indexes2<-CBNPoor[,.(RealPriceIndex1,RealPriceIndex2,ProvinceCode,Weight)]
+Indexes2<-Indexes2[,RealPriceIndex:=(RealPriceIndex1+RealPriceIndex2)/2]
+Indexes<-Indexes2[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+Indexes37<-Indexes[,.(ProvinceCode,RealPriceIndex1,RealPriceIndex2,RealPriceIndex)]
+Indexes<-Indexes[,.(ProvinceCode,RealPriceIndex)]
+CBN[,RealPriceIndex:=NULL]
+CBN<-merge(CBN,Indexes,by=c("ProvinceCode"),all.x = TRUE)
+CBN<-CBN[,Total_Food_Month_Per2:=FoodExpenditure_Per*RealPriceIndex]
+CBN<-CBN[,Total_Exp_Month_Per2:=Total_Exp_Month_Per_nondurable*RealPriceIndex]
+#utils::View(CBN)
+
+
+#Sort Expenditure data
+CBN<- CBN[order(Total_Exp_Month_Per2)]
+
+#Calculate cumulative weights
+sum(CBN$Weight)
+CBN$cumweight <- cumsum(CBN$Weight)
+tx <- max(CBN$cumweight)
+
+#Calculate deciles by weights
+CBN[,Decile:=cut(cumweight,breaks = seq(0,tx,tx/10),labels = 1:10)]
+CBN[,Percentile:=cut(cumweight,breaks=seq(0,tx,tx/100),labels=1:100)]
+
+#Update Poors
+CBN[,Poor:=ifelse(Decile %in% 1:4,1,0)]
+CBNPoor<-CBN[Poor==1]
+CBNPoor<-merge(CBNPoor,dt2,by=c("ProvinceCode"),all.x = TRUE)
+CBNPoor[,sum(HIndivNo),by=.(ProvinceCode)][order(ProvinceCode)]
+
+###Iteration1-8
+#Calculate Per_calories in clusters
+CBNPoor[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(185:200)][]
+#utils::View(CBNPoor)
+
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(202:217)][]
+
+CBNPoor[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor<-CBNPoor[Per_Daily_Exp_Calories!=0]
+CBNPoor[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+#CBN[,weighted.mean(Poor,Weight),by=cluster][order(cluster)]
+
+#Real Prices
+T_Bundle_Value<-subset(CBNPoor, ProvinceCode==23, select=c(Bundle_Value,Home_Per_Metr,Weight))
+Tehran_Bundle_Value1<-weighted.mean(T_Bundle_Value$Bundle_Value,T_Bundle_Value$Weight,na.rm = TRUE)
+Tehran_Bundle_Value2<-weighted.mean(T_Bundle_Value$Home_Per_Metr,T_Bundle_Value$Weight,na.rm = TRUE)
+CBNPoor[,RealPriceIndex1:=weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/Tehran_Bundle_Value1,by=ProvinceCode]
+CBNPoor[,RealPriceIndex2:=weighted.mean(Home_Per_Metr,Weight,na.rm = TRUE)/Tehran_Bundle_Value2,by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex1,Weight),by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex2,Weight),by=ProvinceCode]
+Indexes2<-CBNPoor[,.(RealPriceIndex1,RealPriceIndex2,ProvinceCode,Weight)]
+Indexes2<-Indexes2[,RealPriceIndex:=(RealPriceIndex1+RealPriceIndex2)/2]
+Indexes<-Indexes2[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+Indexes38<-Indexes[,.(ProvinceCode,RealPriceIndex1,RealPriceIndex2,RealPriceIndex)]
+Indexes<-Indexes[,.(ProvinceCode,RealPriceIndex)]
+CBN[,RealPriceIndex:=NULL]
+CBN<-merge(CBN,Indexes,by=c("ProvinceCode"),all.x = TRUE)
+CBN<-CBN[,Total_Food_Month_Per2:=FoodExpenditure_Per*RealPriceIndex]
+CBN<-CBN[,Total_Exp_Month_Per2:=Total_Exp_Month_Per_nondurable*RealPriceIndex]
+#utils::View(CBN)
+
+
+#Sort Expenditure data
+CBN<- CBN[order(Total_Exp_Month_Per2)]
+
+#Calculate cumulative weights
+sum(CBN$Weight)
+CBN$cumweight <- cumsum(CBN$Weight)
+tx <- max(CBN$cumweight)
+
+#Calculate deciles by weights
+CBN[,Decile:=cut(cumweight,breaks = seq(0,tx,tx/10),labels = 1:10)]
+CBN[,Percentile:=cut(cumweight,breaks=seq(0,tx,tx/100),labels=1:100)]
+
+#Update Poors
+CBN[,Poor:=ifelse(Decile %in% 1:4,1,0)]
+CBNPoor<-CBN[Poor==1]
+CBNPoor<-merge(CBNPoor,dt2,by=c("ProvinceCode"),all.x = TRUE)
+CBNPoor[,sum(HIndivNo),by=.(ProvinceCode)][order(ProvinceCode)]
+
+###Iteration1-9
+#Calculate Per_calories in clusters
+CBNPoor[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(185:200)][]
+#utils::View(CBNPoor)
+
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(202:217)][]
+
+CBNPoor[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor<-CBNPoor[Per_Daily_Exp_Calories!=0]
+CBNPoor[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+#CBN[,weighted.mean(Poor,Weight),by=cluster][order(cluster)]
+
+#Real Prices
+T_Bundle_Value<-subset(CBNPoor, ProvinceCode==23, select=c(Bundle_Value,Home_Per_Metr,Weight))
+Tehran_Bundle_Value1<-weighted.mean(T_Bundle_Value$Bundle_Value,T_Bundle_Value$Weight,na.rm = TRUE)
+Tehran_Bundle_Value2<-weighted.mean(T_Bundle_Value$Home_Per_Metr,T_Bundle_Value$Weight,na.rm = TRUE)
+CBNPoor[,RealPriceIndex1:=weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/Tehran_Bundle_Value1,by=ProvinceCode]
+CBNPoor[,RealPriceIndex2:=weighted.mean(Home_Per_Metr,Weight,na.rm = TRUE)/Tehran_Bundle_Value2,by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex1,Weight),by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex2,Weight),by=ProvinceCode]
+Indexes2<-CBNPoor[,.(RealPriceIndex1,RealPriceIndex2,ProvinceCode,Weight)]
+Indexes2<-Indexes2[,RealPriceIndex:=(RealPriceIndex1+RealPriceIndex2)/2]
+Indexes<-Indexes2[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+Indexes39<-Indexes[,.(ProvinceCode,RealPriceIndex1,RealPriceIndex2,RealPriceIndex)]
+Indexes<-Indexes[,.(ProvinceCode,RealPriceIndex)]
+CBN[,RealPriceIndex:=NULL]
+CBN<-merge(CBN,Indexes,by=c("ProvinceCode"),all.x = TRUE)
+CBN<-CBN[,Total_Food_Month_Per2:=FoodExpenditure_Per*RealPriceIndex]
+CBN<-CBN[,Total_Exp_Month_Per2:=Total_Exp_Month_Per_nondurable*RealPriceIndex]
+#utils::View(CBN)
+
+
+#Sort Expenditure data
+CBN<- CBN[order(Total_Exp_Month_Per2)]
+
+#Calculate cumulative weights
+sum(CBN$Weight)
+CBN$cumweight <- cumsum(CBN$Weight)
+tx <- max(CBN$cumweight)
+
+#Calculate deciles by weights
+CBN[,Decile:=cut(cumweight,breaks = seq(0,tx,tx/10),labels = 1:10)]
+CBN[,Percentile:=cut(cumweight,breaks=seq(0,tx,tx/100),labels=1:100)]
+
+#Update Poors
+CBN[,Poor:=ifelse(Decile %in% 1:4,1,0)]
+CBNPoor<-CBN[Poor==1]
+CBNPoor<-merge(CBNPoor,dt2,by=c("ProvinceCode"),all.x = TRUE)
+CBNPoor[,sum(HIndivNo),by=.(ProvinceCode)][order(ProvinceCode)]
+
+###Iteration1-10
+#Calculate Per_calories in clusters
+CBNPoor[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(185:200)][]
+#utils::View(CBNPoor)
+
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(202:217)][]
+
+CBNPoor[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor<-CBNPoor[Per_Daily_Exp_Calories!=0]
+CBNPoor[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+#CBN[,weighted.mean(Poor,Weight),by=cluster][order(cluster)]
+
+#Real Prices
+T_Bundle_Value<-subset(CBNPoor, ProvinceCode==23, select=c(Bundle_Value,Home_Per_Metr,Weight))
+Tehran_Bundle_Value1<-weighted.mean(T_Bundle_Value$Bundle_Value,T_Bundle_Value$Weight,na.rm = TRUE)
+Tehran_Bundle_Value2<-weighted.mean(T_Bundle_Value$Home_Per_Metr,T_Bundle_Value$Weight,na.rm = TRUE)
+CBNPoor[,RealPriceIndex1:=weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/Tehran_Bundle_Value1,by=ProvinceCode]
+CBNPoor[,RealPriceIndex2:=weighted.mean(Home_Per_Metr,Weight,na.rm = TRUE)/Tehran_Bundle_Value2,by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex1,Weight),by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex2,Weight),by=ProvinceCode]
+Indexes2<-CBNPoor[,.(RealPriceIndex1,RealPriceIndex2,ProvinceCode,Weight)]
+Indexes2<-Indexes2[,RealPriceIndex:=(RealPriceIndex1+RealPriceIndex2)/2]
+Indexes<-Indexes2[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+Indexes310<-Indexes[,.(ProvinceCode,RealPriceIndex1,RealPriceIndex2,RealPriceIndex)]
+Indexes<-Indexes[,.(ProvinceCode,RealPriceIndex)]
+CBN[,RealPriceIndex:=NULL]
+CBN<-merge(CBN,Indexes,by=c("ProvinceCode"),all.x = TRUE)
+CBN<-CBN[,Total_Food_Month_Per2:=FoodExpenditure_Per*RealPriceIndex]
+CBN<-CBN[,Total_Exp_Month_Per2:=Total_Exp_Month_Per_nondurable*RealPriceIndex]
+#utils::View(CBN)
+
+
+#Sort Expenditure data
+CBN<- CBN[order(Total_Exp_Month_Per2)]
+
+#Calculate cumulative weights
+sum(CBN$Weight)
+CBN$cumweight <- cumsum(CBN$Weight)
+tx <- max(CBN$cumweight)
+
+#Calculate deciles by weights
+CBN[,Decile:=cut(cumweight,breaks = seq(0,tx,tx/10),labels = 1:10)]
+CBN[,Percentile:=cut(cumweight,breaks=seq(0,tx,tx/100),labels=1:100)]
+
+#Update Poors
+CBN[,Poor:=ifelse(Decile %in% 1:4,1,0)]
+CBNPoor<-CBN[Poor==1]
+CBNPoor<-merge(CBNPoor,dt2,by=c("ProvinceCode"),all.x = TRUE)
+CBNPoor[,sum(HIndivNo),by=.(ProvinceCode)][order(ProvinceCode)]
+
+
+#Calculate Per_calories in clusters
+CBNPoor[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(189:204)][]
+#utils::View(CBNPoor)
+
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(206:221)][]
+
+CBNPoor[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor<-CBNPoor[Per_Daily_Exp_Calories!=0]
+CBNPoor[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNCalory<-CBNPoor[,.(Per_Daily_Calories,Per_Daily_Exp_Calories,Per_Calory_Resturant,Resturant_Exp,cluster,ProvinceCode)]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+
+
+#Calculations
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_day,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,sum(Size*Weight),by=cluster][order(cluster)]
+
+
+#Food Poverty Line for each cluster
+#cluster 1
+CBNPoorCluster<-CBNPoor[cluster==1]
+Food_Povertyline1_1<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 2
+CBNPoorCluster<-CBNPoor[cluster==2]
+Food_Povertyline2_1<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 3
+CBNPoorCluster<-CBNPoor[cluster==3]
+Food_Povertyline3_1<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 4
+CBNPoorCluster<-CBNPoor[cluster==4]
+Food_Povertyline4_1<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 5
+CBNPoorCluster<-CBNPoor[cluster==5]
+Food_Povertyline5_1<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#ee<-CBNPoor[,.(Total_Exp_Month_Real,Total_Exp_Month,Total_Food_Month_Per2,Total_Exp_Month_Per_nondurable,Total_Exp_Month_nondurable_Real_Per,FoodExpenditure_Per,cluster)]
+#mean(ee[,Total_Food_Month_Per2==Total_Exp_Month_nondurable_Real])
+#mean(ee[,Total_Food_Month_Per2<3500000])
+#ee<- ee[order(Total_Food_Month_Per2)]
+#utils::View(CBN)
+CBN<-merge(CBN,dt2,by=c("ProvinceCode"),all.x = TRUE)
+#for (col in c("Total_Food_Month_Per2")) CBN[is.na(get(col)), (col) := Total_Exp_Month_Per_nondurable]
+c<-CBN[,.(FoodExpenditure_Per,FoodExpenditure_Per_total,Total_Exp_Month_Per_nondurable,Total_Exp_Month,Total_Food_Month_Per2,Poor,Decile,Weight,cluster)]
+
+#########Iteration 2###############
+#Sort Expenditure data
+CBN<- CBN[order(Total_Food_Month_Per2)]
+c<- c[order(Total_Food_Month_Per2)]
+
+#Indicate new poors
+CBN[,Poor2:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_1 & cluster==1,1,0)]
+c[,Poor2:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_1 & cluster==1 ,1,0)]
+CBN[,Poor2:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_1 & cluster==2,1,Poor2)]
+c[,Poor2:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_1 & cluster==2 ,1,Poor2)]
+CBN[,Poor2:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_1 & cluster==3,1,Poor2)]
+c[,Poor2:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_1 & cluster==3 ,1,Poor2)]
+CBN[,Poor2:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_1 & cluster==4,1,Poor2)]
+c[,Poor2:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_1 & cluster==4 ,1,Poor2)]
+CBN[,Poor2:=ifelse(FoodExpenditure_Per_total < Food_Povertyline5_1 & cluster==5,1,Poor2)]
+c[,Poor2:=ifelse(FoodExpenditure_Per_total < Food_Povertyline5_1 & cluster==5 ,1,Poor2)]
+CBN[,weighted.mean(Poor2,Weight),by=cluster][order(cluster)]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2<-CBN[Poor2==1]
+
+
+#CalculatePer_calories in clusters
+CBNPoor2[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(190:205)][]
+#utils::View(CBNPoor2)
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor2[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(207:222)][]
+
+CBNPoor2[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor2[,Calory_Price:=FoodExpenditure_Per_cluster/(Daily_Calories_cluster2)]
+CBNPoor2[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor2[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2<-CBNPoor2[Per_Daily_Exp_Calories!=0]
+CBNPoor2[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor2[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor2[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor2[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor2[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor2[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+
+
+
+#Calculations
+CBNPoor2[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,weighted.mean(FoodExpenditure_Per_day,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+
+
+
+#Food Poverty Line for each cluster
+#cluster 1
+CBNPoorCluster<-CBNPoor2[cluster==1]
+Food_Povertyline1_2<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 2
+CBNPoorCluster<-CBNPoor2[cluster==2]
+Food_Povertyline2_2<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 3
+CBNPoorCluster<-CBNPoor2[cluster==3]
+Food_Povertyline3_2<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 4
+CBNPoorCluster<-CBNPoor2[cluster==4]
+Food_Povertyline4_2<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 5
+CBNPoorCluster<-CBNPoor[cluster==5]
+Food_Povertyline5_2<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#ee<-CBNPoor[,.(Total_Exp_Month_Real,Total_Exp_Month,Total_Food_Month_Per2,Total_Exp_Month_Per_nondurable,Total_Exp_Month_nondurable_Real_Per,FoodExpenditure_Per,cluster)]
+#mean(ee[,Total_Food_Month_Per2==Total_Exp_Month_nondurable_Real])
+#mean(ee[,Total_Food_Month_Per2<3500000])
+#ee<- ee[order(Total_Food_Month_Per2)]
+#utils::View(CBN)
+#for (col in c("Total_Food_Month_Per2")) CBN[is.na(get(col)), (col) := Total_Exp_Month_Per_nondurable]
+c<-CBN[,.(FoodExpenditure_Per,FoodExpenditure_Per_total,Total_Exp_Month_Per_nondurable,Total_Exp_Month,Total_Food_Month_Per2,Poor,Decile,Weight,cluster)]
+
+
+#########Iteration 3###############
+#Sort Expenditure data
+CBN<- CBN[order(Total_Food_Month_Per2)]
+c<- c[order(Total_Food_Month_Per2)]
+
+#Indicate new poors
+CBN[,Poor3:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_2 & cluster==1,1,0)]
+c[,Poor3:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_2 & cluster==1 ,1,0)]
+CBN[,Poor3:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_2 & cluster==2,1,Poor3)]
+c[,Poor3:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_2 & cluster==2 ,1,Poor3)]
+CBN[,Poor3:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_2 & cluster==3,1,Poor3)]
+c[,Poor3:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_2 & cluster==3 ,1,Poor3)]
+CBN[,Poor3:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_2 & cluster==4,1,Poor3)]
+c[,Poor3:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_2 & cluster==4 ,1,Poor3)]
+CBN[,Poor3:=ifelse(FoodExpenditure_Per_total < Food_Povertyline5_2 & cluster==5,1,Poor3)]
+c[,Poor3:=ifelse(FoodExpenditure_Per_total < Food_Povertyline5_2 & cluster==5 ,1,Poor3)]
+CBN[,weighted.mean(Poor3,Weight),by=cluster][order(cluster)]
+CBNPoor2[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3<-CBN[Poor3==1]
+
+
+
+#CalculatePer_calories in clusters
+CBNPoor3[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(191:206)][]
+#utils::View(CBNPoor3)
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor3[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(208:223)][]
+
+
+CBNPoor3[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor3[,Calory_Price:=FoodExpenditure_Per_cluster/(Daily_Calories_cluster2)]
+CBNPoor3[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor3[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3<-CBNPoor3[Per_Daily_Exp_Calories!=0]
+CBNPoor3[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor3[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+
+#sum of total food expenditures
+CBNPoor3[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor3[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor3[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor3[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+
+
+#Calculations
+CBNPoor3[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,weighted.mean(FoodExpenditure_Per_day,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+
+
+
+#Food Poverty Line for each cluster
+#cluster 1
+CBNPoorCluster<-CBNPoor3[cluster==1]
+Food_Povertyline1_3<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 2
+CBNPoorCluster<-CBNPoor3[cluster==2]
+Food_Povertyline2_3<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 3
+CBNPoorCluster<-CBNPoor3[cluster==3]
+Food_Povertyline3_3<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 4
+CBNPoorCluster<-CBNPoor3[cluster==4]
+Food_Povertyline4_3<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 5
+CBNPoorCluster<-CBNPoor[cluster==5]
+Food_Povertyline5_3<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#ee<-CBNPoor[,.(Total_Exp_Month_Real,Total_Exp_Month,Total_Food_Month_Per2,Total_Exp_Month_Per_nondurable,Total_Exp_Month_nondurable_Real_Per,FoodExpenditure_Per,cluster)]
+#mean(ee[,Total_Food_Month_Per2==Total_Exp_Month_nondurable_Real])
+#mean(ee[,Total_Food_Month_Per2<3500000])
+#ee<- ee[order(Total_Food_Month_Per2)]
+#utils::View(CBN)
+#for (col in c("Total_Food_Month_Per2")) CBN[is.na(get(col)), (col) := Total_Exp_Month_Per_nondurable]
+c<-CBN[,.(FoodExpenditure_Per,FoodExpenditure_Per_total,Total_Exp_Month_Per_nondurable,Total_Exp_Month,Total_Food_Month_Per2,Poor,Decile,Weight,cluster)]
+
+
+#########Iteration 4###############
+#Sort Expenditure data
+CBN<- CBN[order(Total_Food_Month_Per2)]
+c<- c[order(Total_Food_Month_Per2)]
+
+#Indicate new poors
+CBN[,Poor4:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_3 & cluster==1,1,0)]
+c[,Poor4:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_3 & cluster==1 ,1,0)]
+CBN[,Poor4:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_3 & cluster==2,1,Poor4)]
+c[,Poor4:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_3 & cluster==2 ,1,Poor4)]
+CBN[,Poor4:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_3 & cluster==3,1,Poor4)]
+c[,Poor4:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_3 & cluster==3 ,1,Poor4)]
+CBN[,Poor4:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_3 & cluster==4,1,Poor4)]
+c[,Poor4:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_3 & cluster==4 ,1,Poor4)]
+CBN[,Poor4:=ifelse(FoodExpenditure_Per_total < Food_Povertyline5_3 & cluster==5,1,Poor4)]
+c[,Poor4:=ifelse(FoodExpenditure_Per_total < Food_Povertyline5_3 & cluster==5 ,1,Poor4)]
+CBN[,weighted.mean(Poor4,Weight),by=cluster][order(cluster)]
+CBNPoor3[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4<-CBN[Poor4==1]
+
+#CalculatePer_calories in clusters
+CBNPoor4[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(191:206)][]
+#utils::View(CBNPoor4)
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor4[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(208:223)][]
+
+
+CBNPoor4[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor4[,Calory_Price:=FoodExpenditure_Per_cluster/(Daily_Calories_cluster2)]
+CBNPoor4[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor4[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4<-CBNPoor4[Per_Daily_Exp_Calories!=0]
+CBNPoor4[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor4[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+
+#sum of total food expenditures
+CBNPoor4[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor4[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor4[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor4[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+
+
+#Calculations
+CBNPoor4[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,weighted.mean(FoodExpenditure_Per_day,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+
+
+
+#Food Poverty Line for each cluster
+#cluster 1
+CBNPoorCluster<-CBNPoor4[cluster==1]
+Food_Povertyline1_4<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 2
+CBNPoorCluster<-CBNPoor4[cluster==2]
+Food_Povertyline2_4<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 3
+CBNPoorCluster<-CBNPoor4[cluster==3]
+Food_Povertyline3_4<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 4
+CBNPoorCluster<-CBNPoor4[cluster==4]
+Food_Povertyline4_4<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 5
+CBNPoorCluster<-CBNPoor[cluster==5]
+Food_Povertyline5_4<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#ee<-CBNPoor[,.(Total_Exp_Month_Real,Total_Exp_Month,Total_Food_Month_Per2,Total_Exp_Month_Per_nondurable,Total_Exp_Month_nondurable_Real_Per,FoodExpenditure_Per,cluster)]
+#mean(ee[,Total_Food_Month_Per2==Total_Exp_Month_nondurable_Real])
+#mean(ee[,Total_Food_Month_Per2<3500000])
+#ee<- ee[order(Total_Food_Month_Per2)]
+#utils::View(CBN)
+#for (col in c("Total_Food_Month_Per2")) CBN[is.na(get(col)), (col) := Total_Exp_Month_Per_nondurable]
+c<-CBN[,.(FoodExpenditure_Per,FoodExpenditure_Per_total,Total_Exp_Month_Per_nondurable,Total_Exp_Month,Total_Food_Month_Per2,Poor,Decile,Weight,cluster)]
+
+
+#########Iteration 5###############
+#Sort Expenditure data
+CBN<- CBN[order(Total_Food_Month_Per2)]
+c<- c[order(Total_Food_Month_Per2)]
+
+#Indicate new poors
+CBN[,Poor5:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_4 & cluster==1,1,0)]
+c[,Poor5:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_4 & cluster==1 ,1,0)]
+CBN[,Poor5:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_4 & cluster==2,1,Poor5)]
+c[,Poor5:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_4 & cluster==2 ,1,Poor5)]
+CBN[,Poor5:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_4 & cluster==3,1,Poor5)]
+c[,Poor5:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_4 & cluster==3 ,1,Poor5)]
+CBN[,Poor5:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_4 & cluster==4,1,Poor5)]
+c[,Poor5:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_4 & cluster==4 ,1,Poor5)]
+CBN[,Poor5:=ifelse(FoodExpenditure_Per_total < Food_Povertyline5_4 & cluster==5,1,Poor5)]
+c[,Poor5:=ifelse(FoodExpenditure_Per_total < Food_Povertyline5_4 & cluster==5 ,1,Poor5)]
+CBN[,weighted.mean(Poor5,Weight),by=cluster][order(cluster)]
+CBNPoor4[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5<-CBN[Poor5==1]
+
+#CalculatePer_calories in clusters
+CBNPoor5[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(191:206)][]
+#utils::View(CBNPoor5)
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor5[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(208:223)][]
+
+
+CBNPoor5[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor5[,Calory_Price:=FoodExpenditure_Per_cluster/(Daily_Calories_cluster2)]
+CBNPoor5[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor5[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5<-CBNPoor5[Per_Daily_Exp_Calories!=0]
+CBNPoor5[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor5[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+
+#sum of total food expenditures
+CBNPoor5[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor5[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor5[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor5[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+
+
+#Calculations
+CBNPoor5[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,weighted.mean(FoodExpenditure_Per_day,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+
+
+
+#Food Poverty Line for each cluster
+#cluster 1
+CBNPoorCluster<-CBNPoor5[cluster==1]
+Food_Povertyline1_5<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 2
+CBNPoorCluster<-CBNPoor5[cluster==2]
+Food_Povertyline2_5<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 3
+CBNPoorCluster<-CBNPoor5[cluster==3]
+Food_Povertyline3_5<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 4
+CBNPoorCluster<-CBNPoor5[cluster==4]
+Food_Povertyline4_5<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 5
+CBNPoorCluster<-CBNPoor[cluster==5]
+Food_Povertyline5_5<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#ee<-CBNPoor[,.(Total_Exp_Month_Real,Total_Exp_Month,Total_Food_Month_Per2,Total_Exp_Month_Per_nondurable,Total_Exp_Month_nondurable_Real_Per,FoodExpenditure_Per,cluster)]
+#mean(ee[,Total_Food_Month_Per2==Total_Exp_Month_nondurable_Real])
+#mean(ee[,Total_Food_Month_Per2<3500000])
+#ee<- ee[order(Total_Food_Month_Per2)]
+#utils::View(CBN)
+#for (col in c("Total_Food_Month_Per2")) CBN[is.na(get(col)), (col) := Total_Exp_Month_Per_nondurable]
+c<-CBN[,.(FoodExpenditure_Per,FoodExpenditure_Per_total,Total_Exp_Month_Per_nondurable,Total_Exp_Month,Total_Food_Month_Per2,Poor,Decile,Weight,cluster)]
+
+
+#########Iteration 6###############
+#Sort Expenditure data
+CBN<- CBN[order(Total_Food_Month_Per2)]
+c<- c[order(Total_Food_Month_Per2)]
+
+#Indicate new poors
+CBN[,Poor6:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_5 & cluster==1,1,0)]
+c[,Poor6:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_5 & cluster==1 ,1,0)]
+CBN[,Poor6:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_5 & cluster==2,1,Poor6)]
+c[,Poor6:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_5 & cluster==2 ,1,Poor6)]
+CBN[,Poor6:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_5 & cluster==3,1,Poor6)]
+c[,Poor6:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_5 & cluster==3 ,1,Poor6)]
+CBN[,Poor6:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_5 & cluster==4,1,Poor6)]
+c[,Poor6:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_5 & cluster==4 ,1,Poor6)]
+CBN[,Poor6:=ifelse(FoodExpenditure_Per_total < Food_Povertyline5_5 & cluster==5,1,Poor6)]
+c[,Poor6:=ifelse(FoodExpenditure_Per_total < Food_Povertyline5_5 & cluster==5 ,1,Poor6)]
+CBN[,weighted.mean(Poor6,Weight),by=cluster][order(cluster)]
+CBNPoor5[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6<-CBN[Poor6==1]
+
+#CalculatePer_calories in clusters
+CBNPoor6[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(191:206)][]
+#utils::View(CBNPoor6)
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor6[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(208:223)][]
+
+
+CBNPoor6[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor6[,Calory_Price:=FoodExpenditure_Per_cluster/(Daily_Calories_cluster2)]
+CBNPoor6[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor6[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6<-CBNPoor6[Per_Daily_Exp_Calories!=0]
+CBNPoor6[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor6[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+
+#sum of total food expenditures
+CBNPoor6[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor6[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor6[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor6[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+
+
+#Calculations
+CBNPoor6[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,weighted.mean(FoodExpenditure_Per_day,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+
+
+#Food Poverty Line for each cluster
+#cluster 1
+CBNPoorCluster<-CBNPoor6[cluster==1]
+Food_Povertyline1_6<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 2
+CBNPoorCluster<-CBNPoor6[cluster==2]
+Food_Povertyline2_6<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 3
+CBNPoorCluster<-CBNPoor6[cluster==3]
+Food_Povertyline3_6<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 4
+CBNPoorCluster<-CBNPoor6[cluster==4]
+Food_Povertyline4_6<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 5
+CBNPoorCluster<-CBNPoor[cluster==5]
+Food_Povertyline5_6<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#ee<-CBNPoor[,.(Total_Exp_Month_Real,Total_Exp_Month,Total_Food_Month_Per2,Total_Exp_Month_Per_nondurable,Total_Exp_Month_nondurable_Real_Per,FoodExpenditure_Per,cluster)]
+#mean(ee[,Total_Food_Month_Per2==Total_Exp_Month_nondurable_Real])
+#mean(ee[,Total_Food_Month_Per2<3500000])
+#ee<- ee[order(Total_Food_Month_Per2)]
+#utils::View(CBN)
+#for (col in c("Total_Food_Month_Per2")) CBN[is.na(get(col)), (col) := Total_Exp_Month_Per_nondurable]
+c<-CBN[,.(FoodExpenditure_Per,FoodExpenditure_Per_total,Total_Exp_Month_Per_nondurable,Total_Exp_Month,Total_Food_Month_Per2,Poor,Decile,Weight,cluster)]
+
+
+#########Iteration 7###############
+#Sort Expenditure data
+CBN<- CBN[order(Total_Food_Month_Per2)]
+c<- c[order(Total_Food_Month_Per2)]
+
+#Indicate new poors
+CBN[,Poor7:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_6 & cluster==1,1,0)]
+c[,Poor7:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_6 & cluster==1 ,1,0)]
+CBN[,Poor7:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_6 & cluster==2,1,Poor7)]
+c[,Poor7:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_6 & cluster==2 ,1,Poor7)]
+CBN[,Poor7:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_6 & cluster==3,1,Poor7)]
+c[,Poor7:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_6 & cluster==3 ,1,Poor7)]
+CBN[,Poor7:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_6 & cluster==4,1,Poor7)]
+c[,Poor7:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_6 & cluster==4 ,1,Poor7)]
+CBN[,Poor7:=ifelse(FoodExpenditure_Per_total < Food_Povertyline5_6 & cluster==5,1,Poor7)]
+c[,Poor7:=ifelse(FoodExpenditure_Per_total < Food_Povertyline5_6 & cluster==5 ,1,Poor7)]
+CBN[,weighted.mean(Poor7,Weight),by=cluster][order(cluster)]
+CBNPoor6[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7<-CBN[Poor7==1]
+
+#CalculatePer_calories in clusters
+CBNPoor7[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(191:206)][]
+#utils::View(CBNPoor7)
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor7[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(208:223)][]
+
+
+CBNPoor7[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor7[,Calory_Price:=FoodExpenditure_Per_cluster/(Daily_Calories_cluster2)]
+CBNPoor7[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor7[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7<-CBNPoor7[Per_Daily_Exp_Calories!=0]
+CBNPoor7[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor7[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+
+#sum of total food expenditures
+CBNPoor7[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor7[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor7[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor7[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+
+
+#Calculations
+CBNPoor7[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,weighted.mean(FoodExpenditure_Per_day,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+
+
+
+#Food Poverty Line for each cluster
+#cluster 1
+CBNPoorCluster<-CBNPoor7[cluster==1]
+Food_Povertyline1_7<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 2
+CBNPoorCluster<-CBNPoor7[cluster==2]
+Food_Povertyline2_7<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 3
+CBNPoorCluster<-CBNPoor7[cluster==3]
+Food_Povertyline3_7<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 4
+CBNPoorCluster<-CBNPoor7[cluster==4]
+Food_Povertyline4_7<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 5
+CBNPoorCluster<-CBNPoor[cluster==5]
+Food_Povertyline5_7<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#ee<-CBNPoor[,.(Total_Exp_Month_Real,Total_Exp_Month,Total_Food_Month_Per2,Total_Exp_Month_Per_nondurable,Total_Exp_Month_nondurable_Real_Per,FoodExpenditure_Per,cluster)]
+#mean(ee[,Total_Food_Month_Per2==Total_Exp_Month_nondurable_Real])
+#mean(ee[,Total_Food_Month_Per2<3500000])
+#ee<- ee[order(Total_Food_Month_Per2)]
+#utils::View(CBN)
+#for (col in c("Total_Food_Month_Per2")) CBN[is.na(get(col)), (col) := Total_Exp_Month_Per_nondurable]
+c<-CBN[,.(FoodExpenditure_Per,FoodExpenditure_Per_total,Total_Exp_Month_Per_nondurable,Total_Exp_Month,Total_Food_Month_Per2,Poor,Decile,Weight,cluster)]
+
+
+#########Iteration 8###############
+#Sort Expenditure data
+CBN<- CBN[order(Total_Food_Month_Per2)]
+c<- c[order(Total_Food_Month_Per2)]
+
+#Indicate new poors
+CBN[,Poor8:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_7 & cluster==1,1,0)]
+c[,Poor8:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_7 & cluster==1 ,1,0)]
+CBN[,Poor8:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_7 & cluster==2,1,Poor8)]
+c[,Poor8:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_7 & cluster==2 ,1,Poor8)]
+CBN[,Poor8:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_7 & cluster==3,1,Poor8)]
+c[,Poor8:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_7 & cluster==3 ,1,Poor8)]
+CBN[,Poor8:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_7 & cluster==4,1,Poor8)]
+c[,Poor8:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_7 & cluster==4 ,1,Poor8)]
+CBN[,Poor8:=ifelse(FoodExpenditure_Per_total < Food_Povertyline5_7 & cluster==5,1,Poor8)]
+c[,Poor8:=ifelse(FoodExpenditure_Per_total < Food_Povertyline5_7 & cluster==5 ,1,Poor8)]
+CBN[,weighted.mean(Poor8,Weight),by=cluster][order(cluster)]
+CBNPoor7[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8<-CBN[Poor8==1]
+
+
+#CalculatePer_calories in clusters
+CBNPoor8[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(191:206)][]
+#utils::View(CBNPoor8)
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor8[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(208:223)][]
+
+
+CBNPoor8[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor8[,Calory_Price:=FoodExpenditure_Per_cluster/(Daily_Calories_cluster2)]
+CBNPoor8[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor8[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8<-CBNPoor8[Per_Daily_Exp_Calories!=0]
+CBNPoor8[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor8[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+
+#sum of total food expenditures
+CBNPoor8[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor8[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor8[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor8[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+
+
+#Calculations
+CBNPoor8[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,weighted.mean(FoodExpenditure_Per_day,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+
+
+
+#Food Poverty Line for each cluster
+#cluster 1
+CBNPoorCluster<-CBNPoor8[cluster==1]
+Food_Povertyline1_8<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 2
+CBNPoorCluster<-CBNPoor8[cluster==2]
+Food_Povertyline2_8<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 3
+CBNPoorCluster<-CBNPoor8[cluster==3]
+Food_Povertyline3_8<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 4
+CBNPoorCluster<-CBNPoor8[cluster==4]
+Food_Povertyline4_8<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 5
+CBNPoorCluster<-CBNPoor[cluster==5]
+Food_Povertyline5_8<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#ee<-CBNPoor[,.(Total_Exp_Month_Real,Total_Exp_Month,Total_Food_Month_Per2,Total_Exp_Month_Per_nondurable,Total_Exp_Month_nondurable_Real_Per,FoodExpenditure_Per,cluster)]
+#mean(ee[,Total_Food_Month_Per2==Total_Exp_Month_nondurable_Real])
+#mean(ee[,Total_Food_Month_Per2<3500000])
+#ee<- ee[order(Total_Food_Month_Per2)]
+#utils::View(CBN)
+#for (col in c("Total_Food_Month_Per2")) CBN[is.na(get(col)), (col) := Total_Exp_Month_Per_nondurable]
+c<-CBN[,.(FoodExpenditure_Per,FoodExpenditure_Per_total,Total_Exp_Month_Per_nondurable,Total_Exp_Month,Total_Food_Month_Per2,Poor,Decile,Weight,cluster)]
+
+
+#########Iteration 9###############
+#Sort Expenditure data
+CBN<- CBN[order(Total_Food_Month_Per2)]
+c<- c[order(Total_Food_Month_Per2)]
+
+#Indicate new poors
+CBN[,Poor9:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_8 & cluster==1,1,0)]
+c[,Poor9:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_8 & cluster==1 ,1,0)]
+CBN[,Poor9:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_8 & cluster==2,1,Poor9)]
+c[,Poor9:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_8 & cluster==2 ,1,Poor9)]
+CBN[,Poor9:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_8 & cluster==3,1,Poor9)]
+c[,Poor9:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_8 & cluster==3 ,1,Poor9)]
+CBN[,Poor9:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_8 & cluster==4,1,Poor9)]
+c[,Poor9:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_8 & cluster==4 ,1,Poor9)]
+CBN[,Poor9:=ifelse(FoodExpenditure_Per_total < Food_Povertyline5_8 & cluster==5,1,Poor9)]
+c[,Poor9:=ifelse(FoodExpenditure_Per_total < Food_Povertyline5_8 & cluster==5 ,1,Poor9)]
+CBN[,weighted.mean(Poor9,Weight),by=cluster][order(cluster)]
+CBNPoor8[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9<-CBN[Poor9==1]
+
+
+#CalculatePer_calories in clusters
+CBNPoor9[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(191:206)][]
+#utils::View(CBNPoor9)
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor9[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(208:223)][]
+
+
+CBNPoor9[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor9[,Calory_Price:=FoodExpenditure_Per_cluster/(Daily_Calories_cluster2)]
+CBNPoor9[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor9[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9<-CBNPoor9[Per_Daily_Exp_Calories!=0]
+CBNPoor9[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor9[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+
+#sum of total food expenditures
+CBNPoor9[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor9[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor9[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor9[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+
+
+
+#Calculations
+CBNPoor9[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,weighted.mean(FoodExpenditure_Per_day,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+
+
+
+#Food Poverty Line for each cluster
+#cluster 1
+CBNPoorCluster<-CBNPoor9[cluster==1]
+Food_Povertyline1_9<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 2
+CBNPoorCluster<-CBNPoor9[cluster==2]
+Food_Povertyline2_9<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 3
+CBNPoorCluster<-CBNPoor9[cluster==3]
+Food_Povertyline3_9<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 4
+CBNPoorCluster<-CBNPoor9[cluster==4]
+Food_Povertyline4_9<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 5
+CBNPoorCluster<-CBNPoor[cluster==5]
+Food_Povertyline5_9<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#ee<-CBNPoor[,.(Total_Exp_Month_Real,Total_Exp_Month,Total_Food_Month_Per2,Total_Exp_Month_Per_nondurable,Total_Exp_Month_nondurable_Real_Per,FoodExpenditure_Per,cluster)]
+#mean(ee[,Total_Food_Month_Per2==Total_Exp_Month_nondurable_Real])
+#mean(ee[,Total_Food_Month_Per2<3500000])
+#ee<- ee[order(Total_Food_Month_Per2)]
+#utils::View(CBN)
+#for (col in c("Total_Food_Month_Per2")) CBN[is.na(get(col)), (col) := Total_Exp_Month_Per_nondurable]
+c<-CBN[,.(FoodExpenditure_Per,FoodExpenditure_Per_total,Total_Exp_Month_Per_nondurable,Total_Exp_Month,Total_Food_Month_Per2,Poor,Decile,Weight,cluster)]
+
+
+#########Iteration 10###############
+#Sort Expenditure data
+CBN<- CBN[order(Total_Food_Month_Per2)]
+c<- c[order(Total_Food_Month_Per2)]
+
+#Indicate new poors
+CBN[,Poor10:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_9 & cluster==1,1,0)]
+c[,Poor10:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_9 & cluster==1 ,1,0)]
+CBN[,Poor10:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_9 & cluster==2,1,Poor10)]
+c[,Poor10:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_9 & cluster==2 ,1,Poor10)]
+CBN[,Poor10:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_9 & cluster==3,1,Poor10)]
+c[,Poor10:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_9 & cluster==3 ,1,Poor10)]
+CBN[,Poor10:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_9 & cluster==4,1,Poor10)]
+c[,Poor10:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_9 & cluster==4 ,1,Poor10)]
+CBN[,Poor10:=ifelse(FoodExpenditure_Per_total < Food_Povertyline5_9 & cluster==5,1,Poor10)]
+c[,Poor10:=ifelse(FoodExpenditure_Per_total < Food_Povertyline5_9 & cluster==5 ,1,Poor10)]
+CBN[,weighted.mean(Poor10,Weight),by=cluster][order(cluster)]
+CBNPoor9[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor10<-CBN[Poor10==1]
+
+#Engel
+#CBNPoor9<-CBNPoor9[,ratio1:=FoodExpenditure/Total_Exp_Month]
+#CBNPoor9[,weighted.mean(ratio1,Weight),by=cluster]
+#summary(CBNPoor9$ratio1)
+CBN<-CBN[,ratio1:=FoodExpenditure/Total_Exp_Month]
+CBN[,weighted.mean(ratio1,Weight),by=ProvinceCode][order(ProvinceCode)]
+CBN<-CBN[,ratio2:=ServiceExp/Total_Exp_Month]
+CBN[,weighted.mean(ratio2,Weight),by=ProvinceCode][order(ProvinceCode)]
+
+#Engel-home ratio calculations
+CBN[cluster==1 & FoodExpenditure_Per_total<1.1*Food_Povertyline1_9 & FoodExpenditure_Per_total>0.90*Food_Povertyline1_9,sum(HIndivNo),by=ProvinceCode][order(ProvinceCode)]
+CBN[cluster==2 & FoodExpenditure_Per_total<1.1*Food_Povertyline2_9 & FoodExpenditure_Per_total>0.90*Food_Povertyline1_9,sum(HIndivNo),by=ProvinceCode][order(ProvinceCode)]
+CBN[cluster==3 & FoodExpenditure_Per_total<1.1*Food_Povertyline3_9 & FoodExpenditure_Per_total>0.90*Food_Povertyline1_9,sum(HIndivNo),by=ProvinceCode][order(ProvinceCode)]
+CBN[cluster==4 & FoodExpenditure_Per_total<1.1*Food_Povertyline4_9 & FoodExpenditure_Per_total>0.90*Food_Povertyline1_9,sum(HIndivNo),by=ProvinceCode][order(ProvinceCode)]
+CBN[cluster==5 & FoodExpenditure_Per_total<1.1*Food_Povertyline5_9 & FoodExpenditure_Per_total>0.90*Food_Povertyline1_9,sum(HIndivNo),by=ProvinceCode][order(ProvinceCode)]
+
+CBN[cluster==1 & FoodExpenditure_Per_total<1.1*Food_Povertyline1_9 & FoodExpenditure_Per_total>0.90*Food_Povertyline1_9,weighted.mean(ratio1,Weight),by=ProvinceCode][order(ProvinceCode)]
+CBN[cluster==2 & FoodExpenditure_Per_total<1.1*Food_Povertyline2_9 & FoodExpenditure_Per_total>0.90*Food_Povertyline1_9,weighted.mean(ratio1,Weight),by=ProvinceCode][order(ProvinceCode)]
+CBN[cluster==3 & FoodExpenditure_Per_total<1.1*Food_Povertyline3_9 & FoodExpenditure_Per_total>0.90*Food_Povertyline1_9,weighted.mean(ratio1,Weight),by=ProvinceCode][order(ProvinceCode)]
+CBN[cluster==4 & FoodExpenditure_Per_total<1.1*Food_Povertyline4_9 & FoodExpenditure_Per_total>0.90*Food_Povertyline1_9,weighted.mean(ratio1,Weight),by=ProvinceCode][order(ProvinceCode)]
+CBN[cluster==5 & FoodExpenditure_Per_total<1.1*Food_Povertyline5_9 & FoodExpenditure_Per_total>0.90*Food_Povertyline1_9,weighted.mean(ratio1,Weight),by=ProvinceCode][order(ProvinceCode)]
+
+CBN[cluster==1 & FoodExpenditure_Per_total<1.1*Food_Povertyline1_9 & FoodExpenditure_Per_total>0.90*Food_Povertyline1_9,weighted.mean(ratio2,Weight),by=ProvinceCode][order(ProvinceCode)]
+CBN[cluster==2 & FoodExpenditure_Per_total<1.1*Food_Povertyline2_9 & FoodExpenditure_Per_total>0.90*Food_Povertyline1_9,weighted.mean(ratio2,Weight),by=ProvinceCode][order(ProvinceCode)]
+CBN[cluster==3 & FoodExpenditure_Per_total<1.1*Food_Povertyline3_9 & FoodExpenditure_Per_total>0.90*Food_Povertyline1_9,weighted.mean(ratio2,Weight),by=ProvinceCode][order(ProvinceCode)]
+CBN[cluster==4 & FoodExpenditure_Per_total<1.1*Food_Povertyline4_9 & FoodExpenditure_Per_total>0.90*Food_Povertyline1_9,weighted.mean(ratio2,Weight),by=ProvinceCode][order(ProvinceCode)]
+CBN[cluster==5 & FoodExpenditure_Per_total<1.1*Food_Povertyline5_9 & FoodExpenditure_Per_total>0.90*Food_Povertyline1_9,weighted.mean(ratio2,Weight),by=ProvinceCode][order(ProvinceCode)]
+
+# Poverty Line for each cluster
+#cluster 1
+CBNPoorCluster<-CBN[cluster==1 & FoodExpenditure_Per_total<1.1*Food_Povertyline1_9 & FoodExpenditure_Per_total>0.90*Food_Povertyline1_9]
+Engel1<-weighted.mean(CBNPoorCluster$ratio1,CBNPoorCluster$Weight)
+Engel_Reverse1<-1/Engel1
+Povertyline1_9<-Engel_Reverse1*Food_Povertyline1_9
+
+#cluster 2
+CBNPoorCluster<-CBN[cluster==2 & FoodExpenditure_Per_total<1.1*Food_Povertyline2_9 & FoodExpenditure_Per_total>0.90*Food_Povertyline2_9]
+Engel2<-weighted.mean(CBNPoorCluster$ratio1,CBNPoorCluster$Weight)
+Engel_Reverse2<-1/Engel2
+Povertyline2_9<-Engel_Reverse2*Food_Povertyline2_9
+
+#cluster 3
+CBNPoorCluster<-CBN[cluster==3 & FoodExpenditure_Per_total<1.1*Food_Povertyline3_9 & FoodExpenditure_Per_total>0.90*Food_Povertyline3_9]
+Engel3<-weighted.mean(CBNPoorCluster$ratio1,CBNPoorCluster$Weight)
+Engel_Reverse3<-1/Engel3
+Povertyline3_9<-Engel_Reverse3*Food_Povertyline3_9
+
+#cluster 4
+CBNPoorCluster<-CBN[cluster==4 & FoodExpenditure_Per_total<1.1*Food_Povertyline4_9 & FoodExpenditure_Per_total>0.90*Food_Povertyline4_9]
+Engel4<-weighted.mean(CBNPoorCluster$ratio1,CBNPoorCluster$Weight)
+Engel_Reverse4<-1/Engel4
+Povertyline4_9<-Engel_Reverse4*Food_Povertyline4_9
+
+#cluster 5
+CBNPoorCluster<-CBN[cluster==5 & FoodExpenditure_Per_total<1.1*Food_Povertyline5_9 & FoodExpenditure_Per_total>0.90*Food_Povertyline5_9]
+Engel5<-weighted.mean(CBNPoorCluster$ratio1,CBNPoorCluster$Weight)
+Engel_Reverse5<-1/Engel5
+Povertyline5_9<-Engel_Reverse5*Food_Povertyline5_9
+
+#Indicate final poors
+CBN<-CBN[,Total_Exp_Month_Per2:=Total_Exp_Month_Per_nondurable*RealPriceIndex]
+
+CBN[,Poor11:=ifelse(Total_Exp_Month_Per_nondurable < Povertyline1_9 & cluster==1,1,0)]
+CBN[,Poor11:=ifelse(Total_Exp_Month_Per_nondurable < Povertyline2_9 & cluster==2,1,Poor11)]
+CBN[,Poor11:=ifelse(Total_Exp_Month_Per_nondurable < Povertyline3_9 & cluster==3,1,Poor11)]
+CBN[,Poor11:=ifelse(Total_Exp_Month_Per_nondurable < Povertyline4_9 & cluster==4,1,Poor11)]
+CBN[,Poor11:=ifelse(Total_Exp_Month_Per_nondurable < Povertyline5_9 & cluster==5,1,Poor11)]
+CBN[,weighted.mean(Poor11,Weight),by=cluster][order(cluster)]
+CBNPoor9[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor11<-CBN[Poor11==1]
+
+
+CBN[,sum(Size*Weight),by=cluster][order(cluster)]
+CBN[,sum(Size*Weight),by=.(cluster,Decile)][order(cluster,Decile)]
+CBNPoor[,sum(Size*Weight),by=cluster][order(cluster)]
+CBNPoor11[,sum(Size*Weight),by=cluster][order(cluster)]
+CBNPoor2[,sum(Size*Weight),by=cluster][order(cluster)]
+CBNPoor9[,sum(Size*Weight),by=cluster][order(cluster)]
+CBNPoor9[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster][order(cluster)]
+CBNPoor9[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster][order(cluster)]
+CBN[,weighted.mean(Poor11,Weight)]
+CBN[,weighted.mean(Poor11,Weight),by=cluster][order(cluster)]
+CBN[,weighted.mean(Poor11,Weight),by=ProvinceCode][order(ProvinceCode)]
+CBNPoor11[,sum(Size*Weight),by=ProvinceCode][order(ProvinceCode)]
+CBNPoor11[,sum(Weight),by=ProvinceCode][order(ProvinceCode)]
+CBN[,sum(Size*Weight),by=ProvinceCode][order(ProvinceCode)]
+CBN[,sum(Size*Weight)]
+
+##############################
+###Real Prices for report###
+##############################
+#sum of total food expenditures
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per]
+
+#Food expenditures (equal 2100 CCAL)
+CBN<-CBN[Per_Daily_Exp_Calories>0]
+CBN[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Exp_Calories]
+CBN[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+
+T_Bundle_Value<-subset(CBN, ProvinceCode==23, select=c(Bundle_Value,Home_Per_Metr,Weight))
+Tehran_Bundle_Value1<-weighted.mean(T_Bundle_Value$Bundle_Value,T_Bundle_Value$Weight,na.rm = TRUE)
+Tehran_Bundle_Value2<-weighted.mean(T_Bundle_Value$Home_Per_Metr,T_Bundle_Value$Weight,na.rm = TRUE)
+CBN[,RealPriceIndex1:=weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/Tehran_Bundle_Value1,by=ProvinceCode]
+CBN[,RealPriceIndex2:=weighted.mean(Home_Per_Metr,Weight,na.rm = TRUE)/Tehran_Bundle_Value2,by=ProvinceCode]
+CBN[,weighted.mean(RealPriceIndex1,Weight),by=ProvinceCode]
+CBN[,weighted.mean(RealPriceIndex2,Weight),by=ProvinceCode]
+Indexes2_1<-CBN[,.(RealPriceIndex1,RealPriceIndex2,ProvinceCode,Weight)]
+Indexes2_1<-Indexes2_1[,RealPriceIndex:=(RealPriceIndex1+RealPriceIndex2)/2]
+Indexes_total<-Indexes2_1[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+Indexes3_1<-Indexes_total[,.(ProvinceCode,RealPriceIndex1,RealPriceIndex2,RealPriceIndex)]
+Indexes<-Indexes[,.(ProvinceCode,RealPriceIndex)]
+
+CBN_Poor<-CBN[Poor11==1]
+T_Bundle_Value<-subset(CBN_Poor, ProvinceCode==23, select=c(Bundle_Value,Home_Per_Metr,Weight))
+Tehran_Bundle_Value1<-weighted.mean(T_Bundle_Value$Bundle_Value,T_Bundle_Value$Weight,na.rm = TRUE)
+Tehran_Bundle_Value2<-weighted.mean(T_Bundle_Value$Home_Per_Metr,T_Bundle_Value$Weight,na.rm = TRUE)
+CBN_Poor[,RealPriceIndex1:=weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/Tehran_Bundle_Value1,by=ProvinceCode]
+CBN_Poor[,RealPriceIndex2:=weighted.mean(Home_Per_Metr,Weight,na.rm = TRUE)/Tehran_Bundle_Value2,by=ProvinceCode]
+CBN_Poor[,weighted.mean(RealPriceIndex1,Weight),by=ProvinceCode]
+CBN_Poor[,weighted.mean(RealPriceIndex2,Weight),by=ProvinceCode]
+Indexes2_2<-CBN_Poor[,.(RealPriceIndex1,RealPriceIndex2,ProvinceCode,Weight,Poor11)]
+Indexes2_2<-Indexes2_2[,RealPriceIndex:=(RealPriceIndex1+RealPriceIndex2)/2]
+Indexes_finalpoor<-Indexes2_2[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+Indexes3_2<-Indexes_finalpoor[,.(ProvinceCode,RealPriceIndex1,RealPriceIndex2,RealPriceIndex)]
+Indexes<-Indexes[,.(ProvinceCode,RealPriceIndex)]
+
+###Save Tables
+CBN_Rural<-CBN
+save(CBN_Rural, file = paste0(Settings$HEISProcessedPath,"CBN_Rural","95.rda"))
+
+CBNPoor_Rural<-CBNPoor11
+save(CBNPoor_Rural, file = paste0(Settings$HEISProcessedPath,"CBNPoor_Rural","95.rda"))
+
+endtime <- proc.time()
+
+cat("\n\n============================\nIt took ")
+cat(endtime-starttime)
+
diff --git a/R/Archive/Other Codes/57-CBN-Urban97-shahrivar.R b/R/Archive/Other Codes/57-CBN-Urban97-shahrivar.R
new file mode 100644
index 00000000..666bb96f
--- /dev/null
+++ b/R/Archive/Other Codes/57-CBN-Urban97-shahrivar.R
@@ -0,0 +1,3036 @@
+#CBN Method-Urban.R
+#
+# Copyright © 2018:Arin Shahbazian
+# Licence: GPL-3
+#
+rm(list=ls())
+
+starttime <- proc.time()
+cat("\n\n================ Prepare Data =====================================\n")
+
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+library(readxl)
+library(stringr)
+library(data.table)
+library(sm)
+library(ggplot2)
+library(foreign)
+library(haven)
+
+load(file = "data9697.rda")
+#for(year in (Settings$startyear:Settings$endyear)){
+# cat(paste0("\n------------------------------\nYear:",year,"\n"))
+
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","HHBase.rda"))
+HHBase[,IndivNo:=NULL]
+HHBase[,Relationship:=NULL]
+HHBase[,Sex:=NULL]
+HHBase[,Age:=NULL]
+HHBase[,Literate:=NULL]
+HHBase[,Student:=NULL]
+HHBase[,EduCode:=NULL]
+HHBase[,EduYears:=NULL]
+HHBase[,EduLevel:=NULL]
+HHBase[,EduLevel0:=NULL]
+HHBase[,ActivityState:=NULL]
+HHBase[,MarritalState:=NULL]
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Ghand_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Hoboobat_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Roghan_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Berenj_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Nan_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Goosht_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Morgh_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Mahi_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Shir_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Mast_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Panir_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Tokhmemorgh_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Mive_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Sabzi_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Makarooni_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Sibzamini_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Weights.rda"))
+
+Ghand_Data<-Ghand_Data[,.(HHID,Ghandgram,GhandPrice)]
+Hoboobat_Data<-Hoboobat_Data[,.(HHID,Hoboobatgram,HoboobatPrice)]
+Roghan_Data<-Roghan_Data[,.(HHID,Roghangram,RoghanPrice)]
+Berenj_Data<-Berenj_Data[,.(HHID,Berenjgram,BerenjPrice)]
+Nan_Data<-Nan_Data[,.(HHID,Nangram,NanPrice)]
+Goosht_Data<-Goosht_Data[,.(HHID,Gooshtgram,GooshtPrice)]
+Morgh_Data<-Morgh_Data[,.(HHID,Morghgram,MorghPrice)]
+Mahi_Data<-Mahi_Data[,.(HHID,Mahigram,MahiPrice)]
+Shir_Data<-Shir_Data[,.(HHID,Shirgram,ShirPrice)]
+Mast_Data<-Mast_Data[,.(HHID,Mastgram,MastPrice)]
+Panir_Data<-Panir_Data[,.(HHID,Panirgram,PanirPrice)]
+Tokhmemorgh_Data<-Tokhmemorgh_Data[,.(HHID,Tokhmemorghgram,TokhmemorghPrice)]
+Mive_Data<-Mive_Data[,.(HHID,Mivegram,MivePrice)]
+Sabzi_Data<-Sabzi_Data[,.(HHID,Sabzigram,SabziPrice)]
+Makarooni_Data<-Makarooni_Data[,.(HHID,Makaroonigram,MakarooniPrice)]
+Sibzamini_Data<-Sibzamini_Data[,.(HHID,Sibzaminigram,SibzaminiPrice)]
+
+Food<-merge(HHBase,Ghand_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Ghandgram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Hoboobat_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Hoboobatgram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Roghan_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Roghangram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Berenj_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Berenjgram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Nan_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Nangram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Goosht_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Gooshtgram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Morgh_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Morghgram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Mahi_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Mahigram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Shir_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Shirgram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Mast_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Mastgram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Panir_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Panirgram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Tokhmemorgh_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Tokhmemorghgram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Mive_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Mivegram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Sabzi_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Sabzigram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Makarooni_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Makaroonigram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Sibzamini_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Sibzaminigram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Weights,by =c("HHID"),all.x=TRUE)
+
+
+
+#load Expenditure groups
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","HHBase.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","HHI.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Foods.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Cigars.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Cloths.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Amusements.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Communications.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Durables.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Education.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Energy.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Furnitures.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Hotels.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","House.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Medicals.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Behdashts.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Transportations.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Others.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Investments.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Resturants.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Weights.rda"))
+
+#merge Expenditure groups
+CBN<-merge(Food,HHI ,by =c("HHID"),all=TRUE)
+CBN<-merge(CBN,FoodData,by =c("HHID"),all=TRUE)
+for (col in c("FoodExpenditure")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,CigarData,by =c("HHID"),all=TRUE)
+for (col in c("Cigar_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,ClothData,by =c("HHID"),all=TRUE)
+for (col in c("Cloth_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,AmusementData,by =c("HHID"),all=TRUE)
+for (col in c("Amusement_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,CommunicationData,by =c("HHID"),all=TRUE)
+for (col in c("Communication_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,EducData,by =c("HHID"),all=TRUE)
+for (col in c("EducExpenditure")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,EnergyData,by =c("HHID"),all=TRUE)
+for (col in c("Energy_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,FurnitureData,by =c("HHID"),all=TRUE)
+for (col in c("Furniture_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,HotelData,by =c("HHID"),all=TRUE)
+for (col in c("Hotel_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,BehdashtData,by =c("HHID"),all=TRUE)
+for (col in c("Behdasht_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,TransportationData,by =c("HHID"),all=TRUE)
+for (col in c("Transportation_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,OtherData,by =c("HHID"),all=TRUE)
+for (col in c("Other_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,HouseData,by =c("HHID"),all=TRUE)
+for (col in c("ServiceExp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,InvestmentData,by =c("HHID"),all=TRUE)
+for (col in c("Investment_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,MedicalData,by =c("HHID"),all=TRUE)
+for (col in c("Medical_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,DurableData,by =c("HHID"),all=TRUE)
+for (col in c("Durable_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,ResturantData,by =c("HHID"),all=TRUE)
+for (col in c("Resturant_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-CBN[Size!=0]
+CBN<-CBN[Region=="Urban"]
+CBN<-CBN[FoodExpenditure!=0]
+
+
+
+CBN<-merge(CBN,data9697,by =c("ProvinceCode"),all.x=TRUE)
+
+CBN$FoodExpenditure<-CBN$FoodExpenditure*CBN$shahrivar971food_index/100
+CBN$Cigar_Exp<-CBN$Cigar_Exp*CBN$shahrivar971cigar_index/100
+CBN$Cloth_Exp<-CBN$Cloth_Exp*CBN$shahrivar971cloth_index/100
+CBN$Amusement_Exp<-CBN$Amusement_Exp*CBN$shahrivar971amusement_index/100
+CBN$Communication_Exp<-CBN$Communication_Exp*CBN$shahrivar971communication_index/100
+CBN$EducExpenditure<-CBN$EducExpenditure*CBN$shahrivar971education_index/100
+CBN$Energy_Exp<-CBN$Energy_Exp*CBN$shahrivar971house_energy_index/100
+CBN$Furniture_Exp<-CBN$Furniture_Exp*CBN$shahrivar971furniture_index/100
+CBN$Hotel_Exp<-CBN$Hotel_Exp*CBN$shahrivar971hotel_index/100
+CBN$Behdasht_Exp<-CBN$Behdasht_Exp*CBN$shahrivar971behdasht_index/100
+CBN$Transportation_Exp<-CBN$Transportation_Exp*CBN$shahrivar971transportation_index/100
+CBN$Other_Exp<-CBN$Other_Exp*CBN$shahrivar971other_index/100
+CBN$ServiceExp<-CBN$ServiceExp*CBN$shahrivar971house_energy_index/100
+CBN$Investment_Exp<-CBN$Investment_Exp*CBN$shahrivar97/100
+CBN$Medical_Exp<-CBN$Medical_Exp*CBN$shahrivar971behdasht_index/100
+CBN$Durable_Exp<-CBN$Durable_Exp*CBN$shahrivar97/100
+
+CBN[ ,shahrivar971furniture_index :=NULL]
+CBN[ ,shahrivar971communication_index :=NULL]
+CBN[ ,shahrivar971behdasht_index :=NULL]
+CBN[ ,shahrivar971education_index :=NULL]
+CBN[ ,shahrivar971amusement_index :=NULL]
+CBN[ ,shahrivar971transportation_index :=NULL]
+CBN[ ,shahrivar971food_index :=NULL]
+CBN[ ,shahrivar971cigar_index :=NULL]
+CBN[ ,shahrivar971hotel_index :=NULL]
+CBN[ ,shahrivar971total_index :=NULL]
+CBN[ ,shahrivar971house_energy_index :=NULL]
+CBN[ ,shahrivar971cloth_index :=NULL]
+CBN[ ,shahrivar971other_index :=NULL]
+CBN[ ,spring971furniture_index :=NULL]
+CBN[ ,spring971communication_index :=NULL]
+CBN[ ,spring971behdasht_index :=NULL]
+CBN[ ,spring971education_index :=NULL]
+CBN[ ,spring971amusement_index :=NULL]
+CBN[ ,spring971transportation_index :=NULL]
+CBN[ ,spring971food_index :=NULL]
+CBN[ ,spring971cigar_index :=NULL]
+CBN[ ,spring971hotel_index :=NULL]
+CBN[ ,spring971total_index :=NULL]
+CBN[ ,spring971house_energy_index :=NULL]
+CBN[ ,spring971cloth_index :=NULL]
+CBN[ ,spring971other_index :=NULL]
+CBN[ ,summer971furniture_index :=NULL]
+CBN[ ,summer971communication_index :=NULL]
+CBN[ ,summer971behdasht_index :=NULL]
+CBN[ ,summer971education_index :=NULL]
+CBN[ ,summer971amusement_index :=NULL]
+CBN[ ,summer971transportation_index :=NULL]
+CBN[ ,summer971food_index :=NULL]
+CBN[ ,summer971cigar_index :=NULL]
+CBN[ ,summer971hotel_index :=NULL]
+CBN[ ,summer971total_index :=NULL]
+CBN[ ,summer971house_energy_index :=NULL]
+CBN[ ,summer971cloth_index :=NULL]
+CBN[ ,summer971other_index :=NULL]
+CBN[ ,total961furniture_index :=NULL]
+CBN[ ,total961communication_index :=NULL]
+CBN[ ,total961behdasht_index :=NULL]
+CBN[ ,total961education_index :=NULL]
+CBN[ ,total961amusement_index :=NULL]
+CBN[ ,total961transportation_index :=NULL]
+CBN[ ,total961food_index :=NULL]
+CBN[ ,total961cigar_index :=NULL]
+CBN[ ,total961hotel_index :=NULL]
+CBN[ ,total961total_index :=NULL]
+CBN[ ,total961house_energy_index :=NULL]
+CBN[ ,total961cloth_index :=NULL]
+CBN[ ,total961other_index :=NULL]
+
+CBN[ ,spring97 :=NULL]
+CBN[ ,summer97 :=NULL]
+CBN[ ,total96 :=NULL]
+CBN[ ,shahrivar97 :=NULL]
+
+
+
+
+#Calculate Per_Total Expenditures Monthly
+CBN[, Total_Exp_Month := Reduce(`+`, .SD), .SDcols=c(65:77,82:83)][]
+CBN[, Total_Exp_Month_nondurable := Reduce(`+`, .SD), .SDcols=65:77][]
+
+CBN$Total_Exp_Month_Per<-CBN$Total_Exp_Month/CBN$EqSizeOECD
+CBN$Total_Exp_Month_Per_nondurable<-CBN$Total_Exp_Month_nondurable/CBN$EqSizeOECD
+
+#Calculate Per_Food Expenditures Monthly
+CBN[,EqSizeCalory :=(Size-NKids) + NKids*(1800/2100)]
+CBN$FoodExpenditure_Per<-CBN$FoodExpenditure/CBN$EqSizeCalory
+
+#Calculate Per_Food Expenditures Daily
+CBN$FoodExpenditure_Per_day<-CBN$FoodExpenditure_Per/30
+
+CBN$Ghandgram_Per_day<-CBN$Ghandgram/(30*CBN$EqSizeOECD)
+CBN$Hoboobatgram_Per_day<-CBN$Hoboobatgram/(30*CBN$EqSizeOECD)
+CBN$Berenjgram_Per_day<-CBN$Berenjgram/(30*CBN$EqSizeOECD)
+CBN$Nangram_Per_day<-CBN$Nangram/(30*CBN$EqSizeOECD)
+CBN$Roghangram_Per_day<-CBN$Roghangram/(30*CBN$EqSizeOECD)
+CBN$Gooshtgram_Per_day<-CBN$Gooshtgram/(30*CBN$EqSizeOECD)
+CBN$Morghgram_Per_day<-CBN$Morghgram/(30*CBN$EqSizeOECD)
+CBN$Mahigram_Per_day<-CBN$Mahigram/(30*CBN$EqSizeOECD)
+CBN$Shirgram_Per_day<-CBN$Shirgram/(30*CBN$EqSizeOECD)
+CBN$Mastgram_Per_day<-CBN$Mastgram/(30*CBN$EqSizeOECD)
+CBN$Panirgram_Per_day<-CBN$Panirgram/(30*CBN$EqSizeOECD)
+CBN$Tokhmemorghgram_Per_day<-CBN$Tokhmemorghgram/(30*CBN$EqSizeOECD)
+CBN$Mivegram_Per_day<-CBN$Mivegram/(30*CBN$EqSizeOECD)
+CBN$Sabzigram_Per_day<-CBN$Sabzigram/(30*CBN$EqSizeOECD)
+CBN$Makaroonigram_Per_day<-CBN$Makaroonigram/(30*CBN$EqSizeOECD)
+CBN$Sibzaminigram_Per_day<-CBN$Sibzaminigram/(30*CBN$EqSizeOECD)
+CBN[,EqSizeCalory:=NULL]
+
+load(file="PriceIndex95.rda")
+CBN<-merge(CBN,PriceIndex95,by=c("ProvinceCode"),all.x = TRUE)
+CBN[,ostan:=NULL]
+load(file="PriceIndex.rda")
+CBN<-merge(CBN,PriceIndex,by=c("ProvinceCode"),all.x = TRUE)
+
+#Sort Expenditure data
+CBN<- CBN[order(Total_Exp_Month_Per_nondurable)]
+
+#Calculate cumulative weights
+sum(CBN$Weight)
+CBN$cumweight <- cumsum(CBN$Weight)
+tx <- max(CBN$cumweight)
+
+#Calculate deciles by weights
+CBN[,Decile:=cut(cumweight,breaks = seq(0,tx,tx/10),labels = 1:10)]
+CBN[,Percentile:=cut(cumweight,breaks=seq(0,tx,tx/100),labels=1:100)]
+
+
+CBN$Ghand_W<-CBN$Ghandgram_Per_day*CBN$GhandPrice*0.001*30
+CBN$Hoboobat_W<-CBN$Hoboobatgram_Per_day*CBN$HoboobatPrice*0.001*30
+CBN$Roghan_W<-CBN$Roghangram_Per_day*CBN$RoghanPrice*0.001*30
+CBN$Berenj_W<-CBN$Berenjgram_Per_day*CBN$BerenjPrice*0.001*30
+CBN$Nan_W<-CBN$Nangram_Per_day*CBN$NanPrice*0.001*30
+CBN$Goosht_W<-CBN$Gooshtgram_Per_day*CBN$GooshtPrice*0.001*30
+CBN$Morgh_W<-CBN$Morghgram_Per_day*CBN$MorghPrice*0.001*30
+CBN$Mahi_W<-CBN$Mahigram_Per_day*CBN$MahiPrice*0.001*30
+CBN$Shir_W<-CBN$Shirgram_Per_day*CBN$ShirPrice*0.001*30
+CBN$Mast_W<-CBN$Mastgram_Per_day*CBN$MastPrice*0.001*30
+CBN$Panir_W<-CBN$Panirgram_Per_day*CBN$PanirPrice*0.001*30
+CBN$Tokhmemorgh_W<-CBN$Tokhmemorghgram_Per_day*CBN$TokhmemorghPrice*0.001*30
+CBN$Mive_W<-CBN$Mivegram_Per_day*CBN$MivePrice*0.001*30
+CBN$Sabzi_W<-CBN$Sabzigram_Per_day*CBN$SabziPrice*0.001*30
+CBN$Makarooni_W<-CBN$Makaroonigram_Per_day*CBN$MakarooniPrice*0.001*30
+CBN$Sibzamini_W<-CBN$Sibzaminigram_Per_day*CBN$SibzaminiPrice*0.001*30
+CBN$Home_W<-CBN$ServiceExp/CBN$EqSizeOECD
+CBN$Home_Per_Metr<-CBN$MetrPrice/CBN$EqSizeOECD
+
+#Seperate big cities
+CBN[,sum(Weight*Size),by=ProvinceCode][order(V1)]
+CBN[,HHIDs:=as.character(HHID)]
+CBN[,ShahrestanCode:=as.integer(str_sub(HHIDs,2,5))]
+CBN[,sum(Weight*Size),by=ShahrestanCode][order(V1)][330:387]
+CBNTehran<-CBN[ProvinceCode==23]
+CBNTehran[,sum(Weight*Size),by=ShahrestanCode]
+CBNTabriz<-CBN[ProvinceCode==3]
+CBNTabriz[,sum(Weight*Size),by=ShahrestanCode]
+CBNAhvaz<-CBN[ProvinceCode==6]
+CBNAhvaz[,sum(Weight*Size),by=ShahrestanCode]
+CBNShiraz<-CBN[ProvinceCode==7]
+CBNShiraz[,sum(Weight*Size),by=ShahrestanCode]
+CBNMashhad<-CBN[ProvinceCode==9]
+CBNMashhad[,sum(Weight*Size),by=ShahrestanCode]
+CBNEsfahan<-CBN[ProvinceCode==10]
+CBNEsfahan[,sum(Weight*Size),by=ShahrestanCode]
+CBNKaraj<-CBN[ProvinceCode==30]
+CBNKaraj[,sum(Weight*Size),by=ShahrestanCode]
+CBNKermanshah<-CBN[ProvinceCode==5]
+CBNKermanshah[,sum(Weight*Size),by=ShahrestanCode]
+
+
+CBN<-CBN[ShahrestanCode==2301,ProvinceCode:=as.numeric(ShahrestanCode)]
+CBN<-CBN[ShahrestanCode==303,ProvinceCode:=as.numeric(ShahrestanCode)]
+CBN<-CBN[ShahrestanCode==603,ProvinceCode:=as.numeric(ShahrestanCode)]
+CBN<-CBN[ShahrestanCode==707,ProvinceCode:=as.numeric(ShahrestanCode)]
+CBN<-CBN[ShahrestanCode==916,ProvinceCode:=as.numeric(ShahrestanCode)]
+CBN<-CBN[ShahrestanCode==1002,ProvinceCode:=as.numeric(ShahrestanCode)]
+CBN<-CBN[ShahrestanCode==3001,ProvinceCode:=as.numeric(ShahrestanCode)]
+CBN<-CBN[ShahrestanCode==2301,ProvinceCode:=as.numeric(ShahrestanCode)]
+CBN<-CBN[ShahrestanCode==502,ProvinceCode:=as.numeric(ShahrestanCode)]
+
+# Food Calories
+CBN$Ghand_Calory<- CBN$Ghandgram *4
+CBN$Hoboobat_Calory<- CBN$Hoboobatgram *3
+CBN$Nan_Calory<- CBN$Nangram *2.5
+CBN$Berenj_Calory<- CBN$Berenjgram *1.2
+CBN$Roghan_Calory<- CBN$Roghangram *8
+CBN$Goosht_Calory<- CBN$Gooshtgram *2.5
+CBN$Morgh_Calory<- CBN$Morghgram *2
+CBN$Mahi_Calory<- CBN$Mahigram *1
+CBN$Shir_Calory<- CBN$Shirgram *2.5
+CBN$Mast_Calory<- CBN$Mastgram *1.5
+CBN$Panir_Calory<- CBN$Mastgram *2.5
+CBN$Tokhmemorgh_Calory<- CBN$Tokhmemorghgram *1.4
+CBN$Mive_Calory<- CBN$Mivegram *0.5
+CBN$Sabzi_Calory<- CBN$Sabzigram *0.5
+CBN$Makarooni_Calory<- CBN$Makaroonigram *3.6
+CBN$Sibzamini_Calory<- CBN$Sibzaminigram *0.9
+#utils::View(CBN)
+
+#CalculatePer_calories
+CBN[, Daily_Exp_Calories := Reduce(`+`, .SD), .SDcols=148:163][]
+CBN[,EqSizeCalory :=(Size-NKids) + NKids*(1800/2100)]
+CBN[,Per_Daily_Exp_Calories:=Daily_Exp_Calories/EqSizeCalory]
+CBN <- CBN[Per_Daily_Exp_Calories<100000] # arbitrary removal of outliers
+#CBN[,Daily_Calories_cluster:=weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+#CBN[,weighted.mean(Daily_Calories_cluster,Weight,na.rm = TRUE),by=cluster]
+#CBN[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+#CBN[,weighted.mean(Size,Weight,na.rm = TRUE),by=cluster]
+#CBN[,sum(Weight*Size),by=cluster]
+#CBN[,sum(Weight),by=cluster]
+#CBN[,sum(Poor),by=cluster]
+
+
+#Calculate_Per_calories
+CBN$Ghand_per_Calory<- CBN$Ghandgram *4/CBN$EqSizeCalory
+CBN$Hoboobat_per_Calory<- CBN$Hoboobatgram *3/CBN$EqSizeCalory
+CBN$Nan_per_Calory<- CBN$Nangram *2.5/CBN$EqSizeCalory
+CBN$Berenj_per_Calory<- CBN$Berenjgram *1.2/CBN$EqSizeCalory
+CBN$Roghan_per_Calory<- CBN$Roghangram *8/CBN$EqSizeCalory
+CBN$Goosht_per_Calory<- CBN$Gooshtgram *2.5/CBN$EqSizeCalory
+CBN$Morgh_per_Calory<- CBN$Morghgram *2/CBN$EqSizeCalory
+CBN$Mahi_per_Calory<- CBN$Mahigram *1/CBN$EqSizeCalory
+CBN$Shir_per_Calory<- CBN$Shirgram *2.5/CBN$EqSizeCalory
+CBN$Mast_per_Calory<- CBN$Mastgram *1.5/CBN$EqSizeCalory
+CBN$Panir_per_Calory<- CBN$Mastgram *2.5/CBN$EqSizeCalory
+CBN$Tokhmemorgh_per_Calory<- CBN$Tokhmemorghgram *1.4/CBN$EqSizeCalory
+CBN$Mive_per_Calory<- CBN$Mivegram *0.5/CBN$EqSizeCalory
+CBN$Sabzi_per_Calory<- CBN$Sabzigram *0.5/CBN$EqSizeCalory
+CBN$Makarooni_per_Calory<- CBN$Makaroonigram *3.6/CBN$EqSizeCalory
+CBN$Sibzamini_per_Calory<- CBN$Sibzaminigram *0.9/CBN$EqSizeCalory
+
+
+#Assume that deciles 1 and 2 are poor
+CBN[,Poor:=ifelse(Decile %in% 1:2,1,0)]
+CBNPoor<-CBN[Poor==1]
+
+#K-means weights
+PriceWeights<-CBN[,.(HHID,Ghand_W,Hoboobat_W,Roghan_W,Berenj_W,Nan_W,Goosht_W,Morgh_W,Mahi_W,Shir_W,Mast_W,Panir_W,Tokhmemorgh_W,Mive_W,Sabzi_W,Makarooni_W,Sibzamini_W,Home_W,ProvinceCode,Weight)]
+dt3 <- PriceWeights[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+dt3<- dt3[order(ProvinceCode)]
+dt3 <- dt3[,.(Ghand_W,Hoboobat_W,Roghan_W,Berenj_W,Nan_W,Goosht_W,Morgh_W,Mahi_W,Shir_W,Mast_W,Panir_W,Tokhmemorgh_W,Mive_W,Sabzi_W,Makarooni_W,Sibzamini_W,Home_W)]
+
+
+#K-means algorithm for clustering by prices
+test<-CBNPoor[,.(GhandPrice,HoboobatPrice,RoghanPrice,BerenjPrice,NanPrice,GooshtPrice,MorghPrice,MahiPrice,ShirPrice,MastPrice,PanirPrice,TokhmemorghPrice,MivePrice,SabziPrice,MakarooniPrice,SibzaminiPrice,MetrPrice,ProvinceCode,Weight)]
+#test<-CBNPoor[,.(GhandPrice,HoboobatPrice,RoghanPrice,BerenjPrice,NanPrice,GooshtPrice,MorghPrice,MahiPrice,ShirPrice,MastPrice,PanirPrice,TokhmemorghPrice,MivePrice,SabziPrice,MakarooniPrice,SibzaminiPrice,MetrPrice,Ghand_W,Hoboobat_W,Roghan_W,Berenj_W,Nan_W,Goosht_W,Morgh_W,Mahi_W,Shir_W,Mast_W,Panir_W,Tokhmemorgh_W,Mive_W,Sabzi_W,Makarooni_W,Sibzamini_W,Home_W,Region,ProvinceCode,Weight)]
+dt2 <- test[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+dt2<- dt2[order(ProvinceCode)]
+for (col in c("MahiPrice")) dt2[is.nan(get(col)), (col) := 200000]
+dt <- dt2 [,.(GhandPrice,HoboobatPrice,RoghanPrice,BerenjPrice,NanPrice,GooshtPrice,MorghPrice,MahiPrice,ShirPrice,MastPrice,PanirPrice,TokhmemorghPrice,MivePrice,SabziPrice,MakarooniPrice,SibzaminiPrice,MetrPrice)]
+
+
+pca <- princomp(dt, cor=T)
+PRICE <- pca$scores
+PRICE1 <- -1*PRICE[,1]
+PRICE2 <- -1*PRICE[,2]
+PRICE3 <- -1*PRICE[,3]
+PRICE4 <- -1*PRICE[,4]
+PRICE5 <- -1*PRICE[,5]
+PRICE6 <- -1*PRICE[,6]
+PRICE7 <- -1*PRICE[,7]
+PRICE8 <- -1*PRICE[,8]
+PRICE9 <- -1*PRICE[,9]
+PRICE10 <- -1*PRICE[,10]
+PRICE11 <- -1*PRICE[,11]
+PRICE12 <- -1*PRICE[,12]
+PRICE13 <- -1*PRICE[,13]
+PRICE14 <- -1*PRICE[,14]
+PRICE15 <- -1*PRICE[,15]
+PRICE16 <- -1*PRICE[,16]
+PRICE17 <- -1*PRICE[,17]
+
+# Deciding how many clusters
+wss <- (nrow(dt)-1)*sum(apply(dt,2,var))
+for (i in 2:30) wss[i] <- sum(kmeans(dt, centers=i)$withinss)
+plot(1:30, wss, type="b", xlab="Number of Clusters",
+ ylab="Within groups sum of squares")
+
+#Weighted clustering
+
+dt3.m <- dt3[,lapply(.SD, mean)] # Weights for each vector
+dtW <- dt * sqrt(dt3.m[rep(1,nrow(dt))]) # Weighted observations
+kmeans(dtW,4) # Simple K-means
+
+cl <- kmeans(dtW,4)
+cl$cluster
+dt2 <- dt2[,cluster:=data.table(cl$cluster)]
+dt2<-dt2[,.(ProvinceCode,cluster)]
+load(file="dt4Urban.rda")
+#plot(PRICE1, PRICE2,col=cl$cluster)
+#points(cl$centers, pch=20)
+CBNPoor<-merge(CBNPoor,dt2,by=c("ProvinceCode"),all.x = TRUE)
+CBNPoor[,sum(Weight*Size),by=cluster]
+CBNPoor[,sum(Weight),by=cluster]
+CBNPoor[,sum(Poor),by=cluster]
+C2<-CBNPoor[,.(HHID,ProvinceCode,Region,Decile,Poor,cluster)]
+######################################################################
+####Iteration 1#####
+###Iteration1-1
+#Calculate Per_calories in clusters
+CBNPoor[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(185:200)][]
+#utils::View(CBNPoor)
+
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(202:217)][]
+
+CBNPoor[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor<-CBNPoor[Per_Daily_Exp_Calories!=0]
+CBNPoor[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+#CBN[,weighted.mean(Poor,Weight),by=cluster][order(cluster)]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE)]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE)]
+
+#Real Prices
+T_Bundle_Value<-subset(CBNPoor, ProvinceCode==2301, select=c(Bundle_Value,Home_Per_Metr,Weight))
+Tehran_Bundle_Value1<-weighted.mean(T_Bundle_Value$Bundle_Value,T_Bundle_Value$Weight,na.rm = TRUE)
+Tehran_Bundle_Value2<-weighted.mean(T_Bundle_Value$Home_Per_Metr,T_Bundle_Value$Weight,na.rm = TRUE)
+CBNPoor[,RealPriceIndex1:=weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/Tehran_Bundle_Value1,by=ProvinceCode]
+CBNPoor[,RealPriceIndex2:=weighted.mean(Home_Per_Metr,Weight,na.rm = TRUE)/Tehran_Bundle_Value2,by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex1,Weight),by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex2,Weight),by=ProvinceCode]
+Indexes2<-CBNPoor[,.(RealPriceIndex1,RealPriceIndex2,ProvinceCode,Weight)]
+Indexes2<-Indexes2[,RealPriceIndex:=(RealPriceIndex1+RealPriceIndex2)/2]
+Indexes<-Indexes2[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+Indexes31<-Indexes[,.(ProvinceCode,RealPriceIndex1,RealPriceIndex2,RealPriceIndex)]
+Indexes<-Indexes[,.(ProvinceCode,RealPriceIndex)]
+CBN<-merge(CBN,Indexes,by=c("ProvinceCode"),all.x = TRUE)
+CBN<-CBN[,Total_Food_Month_Per2:=FoodExpenditure_Per*RealPriceIndex]
+CBN<-CBN[,Total_Exp_Month_Per2:=Total_Exp_Month_Per_nondurable*RealPriceIndex]
+#utils::View(CBN)
+
+#Sort Expenditure data
+CBN<- CBN[order(Total_Exp_Month_Per2)]
+
+#Calculate cumulative weights
+sum(CBN$Weight)
+CBN$cumweight <- cumsum(CBN$Weight)
+tx <- max(CBN$cumweight)
+
+#Calculate deciles by weights
+CBN[,Decile:=cut(cumweight,breaks = seq(0,tx,tx/10),labels = 1:10)]
+CBN[,Percentile:=cut(cumweight,breaks=seq(0,tx,tx/100),labels=1:100)]
+
+#Update Poors
+CBN[,Poor:=ifelse(Decile %in% 1:2,1,0)]
+CBNPoor<-CBN[Poor==1]
+CBNPoor<-merge(CBNPoor,dt2,by=c("ProvinceCode"),all.x = TRUE)
+CBNPoor[,sum(Size*Weight),by=.(cluster)][order(cluster)]
+
+###Iteration1-2
+#Calculate Per_calories in clusters
+CBNPoor[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(185:200)][]
+#utils::View(CBNPoor)
+
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(202:217)][]
+
+CBNPoor[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor<-CBNPoor[Per_Daily_Exp_Calories!=0]
+CBNPoor[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+#CBN[,weighted.mean(Poor,Weight),by=cluster][order(cluster)]
+
+#Real Prices
+T_Bundle_Value<-subset(CBNPoor, ProvinceCode==2301, select=c(Bundle_Value,Home_Per_Metr,Weight))
+Tehran_Bundle_Value1<-weighted.mean(T_Bundle_Value$Bundle_Value,T_Bundle_Value$Weight,na.rm = TRUE)
+Tehran_Bundle_Value2<-weighted.mean(T_Bundle_Value$Home_Per_Metr,T_Bundle_Value$Weight,na.rm = TRUE)
+CBNPoor[,RealPriceIndex1:=weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/Tehran_Bundle_Value1,by=ProvinceCode]
+CBNPoor[,RealPriceIndex2:=weighted.mean(Home_Per_Metr,Weight,na.rm = TRUE)/Tehran_Bundle_Value2,by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex1,Weight),by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex2,Weight),by=ProvinceCode]
+Indexes2<-CBNPoor[,.(RealPriceIndex1,RealPriceIndex2,ProvinceCode,Weight)]
+Indexes2<-Indexes2[,RealPriceIndex:=(RealPriceIndex1+RealPriceIndex2)/2]
+Indexes<-Indexes2[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+Indexes32<-Indexes[,.(ProvinceCode,RealPriceIndex1,RealPriceIndex2,RealPriceIndex)]
+Indexes<-Indexes[,.(ProvinceCode,RealPriceIndex)]
+CBN[,RealPriceIndex:=NULL]
+CBN<-merge(CBN,Indexes,by=c("ProvinceCode"),all.x = TRUE)
+CBN<-CBN[,Total_Food_Month_Per2:=FoodExpenditure_Per*RealPriceIndex]
+CBN<-CBN[,Total_Exp_Month_Per2:=Total_Exp_Month_Per_nondurable*RealPriceIndex]
+#utils::View(CBN)
+
+#Sort Expenditure data
+CBN<- CBN[order(Total_Exp_Month_Per2)]
+
+#Calculate cumulative weights
+sum(CBN$Weight)
+CBN$cumweight <- cumsum(CBN$Weight)
+tx <- max(CBN$cumweight)
+
+#Calculate deciles by weights
+CBN[,Decile:=cut(cumweight,breaks = seq(0,tx,tx/10),labels = 1:10)]
+CBN[,Percentile:=cut(cumweight,breaks=seq(0,tx,tx/100),labels=1:100)]
+
+#Update Poors
+CBN[,Poor:=ifelse(Decile %in% 2:5,1,0)]
+CBNPoor<-CBN[Poor==1]
+CBNPoor<-merge(CBNPoor,dt2,by=c("ProvinceCode"),all.x = TRUE)
+CBNPoor[,sum(HIndivNo),by=.(ProvinceCode)][order(ProvinceCode)]
+
+###Iteration1-3
+#Calculate Per_calories in clusters
+CBNPoor[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(185:200)][]
+#utils::View(CBNPoor)
+
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(202:217)][]
+
+CBNPoor[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor<-CBNPoor[Per_Daily_Exp_Calories!=0]
+CBNPoor[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+#CBN[,weighted.mean(Poor,Weight),by=cluster][order(cluster)]
+
+#Real Prices
+T_Bundle_Value<-subset(CBNPoor, ProvinceCode==2301, select=c(Bundle_Value,Home_Per_Metr,Weight))
+Tehran_Bundle_Value1<-weighted.mean(T_Bundle_Value$Bundle_Value,T_Bundle_Value$Weight,na.rm = TRUE)
+Tehran_Bundle_Value2<-weighted.mean(T_Bundle_Value$Home_Per_Metr,T_Bundle_Value$Weight,na.rm = TRUE)
+CBNPoor[,RealPriceIndex1:=weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/Tehran_Bundle_Value1,by=ProvinceCode]
+CBNPoor[,RealPriceIndex2:=weighted.mean(Home_Per_Metr,Weight,na.rm = TRUE)/Tehran_Bundle_Value2,by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex1,Weight),by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex2,Weight),by=ProvinceCode]
+Indexes2<-CBNPoor[,.(RealPriceIndex1,RealPriceIndex2,ProvinceCode,Weight)]
+Indexes2<-Indexes2[,RealPriceIndex:=(RealPriceIndex1+RealPriceIndex2)/2]
+Indexes<-Indexes2[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+Indexes33<-Indexes[,.(ProvinceCode,RealPriceIndex1,RealPriceIndex2,RealPriceIndex)]
+Indexes<-Indexes[,.(ProvinceCode,RealPriceIndex)]
+CBN[,RealPriceIndex:=NULL]
+CBN<-merge(CBN,Indexes,by=c("ProvinceCode"),all.x = TRUE)
+CBN<-CBN[,Total_Food_Month_Per2:=FoodExpenditure_Per*RealPriceIndex]
+CBN<-CBN[,Total_Exp_Month_Per2:=Total_Exp_Month_Per_nondurable*RealPriceIndex]
+#utils::View(CBN)
+
+#Sort Expenditure data
+CBN<- CBN[order(Total_Exp_Month_Per2)]
+
+#Calculate cumulative weights
+sum(CBN$Weight)
+CBN$cumweight <- cumsum(CBN$Weight)
+tx <- max(CBN$cumweight)
+
+#Calculate deciles by weights
+CBN[,Decile:=cut(cumweight,breaks = seq(0,tx,tx/10),labels = 1:10)]
+CBN[,Percentile:=cut(cumweight,breaks=seq(0,tx,tx/100),labels=1:100)]
+
+#Update Poors
+CBN[,Poor:=ifelse(Decile %in% 2:5,1,0)]
+CBNPoor<-CBN[Poor==1]
+CBNPoor<-merge(CBNPoor,dt2,by=c("ProvinceCode"),all.x = TRUE)
+CBNPoor[,sum(HIndivNo),by=.(ProvinceCode)][order(ProvinceCode)]
+
+
+###Iteration1-4
+#Calculate Per_calories in clusters
+CBNPoor[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(185:200)][]
+#utils::View(CBNPoor)
+
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(202:217)][]
+
+CBNPoor[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor<-CBNPoor[Per_Daily_Exp_Calories!=0]
+CBNPoor[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+#CBN[,weighted.mean(Poor,Weight),by=cluster][order(cluster)]
+
+#Real Prices
+T_Bundle_Value<-subset(CBNPoor, ProvinceCode==2301, select=c(Bundle_Value,Home_Per_Metr,Weight))
+Tehran_Bundle_Value1<-weighted.mean(T_Bundle_Value$Bundle_Value,T_Bundle_Value$Weight,na.rm = TRUE)
+Tehran_Bundle_Value2<-weighted.mean(T_Bundle_Value$Home_Per_Metr,T_Bundle_Value$Weight,na.rm = TRUE)
+CBNPoor[,RealPriceIndex1:=weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/Tehran_Bundle_Value1,by=ProvinceCode]
+CBNPoor[,RealPriceIndex2:=weighted.mean(Home_Per_Metr,Weight,na.rm = TRUE)/Tehran_Bundle_Value2,by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex1,Weight),by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex2,Weight),by=ProvinceCode]
+Indexes2<-CBNPoor[,.(RealPriceIndex1,RealPriceIndex2,ProvinceCode,Weight)]
+Indexes2<-Indexes2[,RealPriceIndex:=(RealPriceIndex1+RealPriceIndex2)/2]
+Indexes<-Indexes2[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+Indexes34<-Indexes[,.(ProvinceCode,RealPriceIndex1,RealPriceIndex2,RealPriceIndex)]
+Indexes<-Indexes[,.(ProvinceCode,RealPriceIndex)]
+CBN[,RealPriceIndex:=NULL]
+CBN<-merge(CBN,Indexes,by=c("ProvinceCode"),all.x = TRUE)
+CBN<-CBN[,Total_Food_Month_Per2:=FoodExpenditure_Per*RealPriceIndex]
+CBN<-CBN[,Total_Exp_Month_Per2:=Total_Exp_Month_Per_nondurable*RealPriceIndex]
+#utils::View(CBN)
+
+
+#Sort Expenditure data
+CBN<- CBN[order(Total_Exp_Month_Per2)]
+
+#Calculate cumulative weights
+sum(CBN$Weight)
+CBN$cumweight <- cumsum(CBN$Weight)
+tx <- max(CBN$cumweight)
+
+#Calculate deciles by weights
+CBN[,Decile:=cut(cumweight,breaks = seq(0,tx,tx/10),labels = 1:10)]
+CBN[,Percentile:=cut(cumweight,breaks=seq(0,tx,tx/100),labels=1:100)]
+
+#Update Poors
+CBN[,Poor:=ifelse(Decile %in% 2:5,1,0)]
+CBNPoor<-CBN[Poor==1]
+CBNPoor<-merge(CBNPoor,dt2,by=c("ProvinceCode"),all.x = TRUE)
+CBNPoor[,sum(HIndivNo),by=.(ProvinceCode)][order(ProvinceCode)]
+
+###Iteration1-5
+#Calculate Per_calories in clusters
+CBNPoor[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(185:200)][]
+#utils::View(CBNPoor)
+
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(202:217)][]
+
+CBNPoor[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor<-CBNPoor[Per_Daily_Exp_Calories!=0]
+CBNPoor[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+#CBN[,weighted.mean(Poor,Weight),by=cluster][order(cluster)]
+
+#Real Prices
+T_Bundle_Value<-subset(CBNPoor, ProvinceCode==2301, select=c(Bundle_Value,Home_Per_Metr,Weight))
+Tehran_Bundle_Value1<-weighted.mean(T_Bundle_Value$Bundle_Value,T_Bundle_Value$Weight,na.rm = TRUE)
+Tehran_Bundle_Value2<-weighted.mean(T_Bundle_Value$Home_Per_Metr,T_Bundle_Value$Weight,na.rm = TRUE)
+CBNPoor[,RealPriceIndex1:=weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/Tehran_Bundle_Value1,by=ProvinceCode]
+CBNPoor[,RealPriceIndex2:=weighted.mean(Home_Per_Metr,Weight,na.rm = TRUE)/Tehran_Bundle_Value2,by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex1,Weight),by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex2,Weight),by=ProvinceCode]
+Indexes2<-CBNPoor[,.(RealPriceIndex1,RealPriceIndex2,ProvinceCode,Weight)]
+Indexes2<-Indexes2[,RealPriceIndex:=(RealPriceIndex1+RealPriceIndex2)/2]
+Indexes<-Indexes2[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+Indexes35<-Indexes[,.(ProvinceCode,RealPriceIndex1,RealPriceIndex2,RealPriceIndex)]
+Indexes<-Indexes[,.(ProvinceCode,RealPriceIndex)]
+CBN[,RealPriceIndex:=NULL]
+CBN<-merge(CBN,Indexes,by=c("ProvinceCode"),all.x = TRUE)
+CBN<-CBN[,Total_Food_Month_Per2:=FoodExpenditure_Per*RealPriceIndex]
+CBN<-CBN[,Total_Exp_Month_Per2:=Total_Exp_Month_Per_nondurable*RealPriceIndex]
+#utils::View(CBN)
+
+
+#Sort Expenditure data
+CBN<- CBN[order(Total_Exp_Month_Per2)]
+
+#Calculate cumulative weights
+sum(CBN$Weight)
+CBN$cumweight <- cumsum(CBN$Weight)
+tx <- max(CBN$cumweight)
+
+#Calculate deciles by weights
+CBN[,Decile:=cut(cumweight,breaks = seq(0,tx,tx/10),labels = 1:10)]
+CBN[,Percentile:=cut(cumweight,breaks=seq(0,tx,tx/100),labels=1:100)]
+
+#Update Poors
+CBN[,Poor:=ifelse(Decile %in% 2:5,1,0)]
+CBNPoor<-CBN[Poor==1]
+CBNPoor<-merge(CBNPoor,dt2,by=c("ProvinceCode"),all.x = TRUE)
+CBNPoor[,sum(HIndivNo),by=.(ProvinceCode)][order(ProvinceCode)]
+
+###Iteration1-6
+#Calculate Per_calories in clusters
+CBNPoor[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(185:200)][]
+#utils::View(CBNPoor)
+
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(202:217)][]
+
+CBNPoor[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor<-CBNPoor[Per_Daily_Exp_Calories!=0]
+CBNPoor[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+#CBN[,weighted.mean(Poor,Weight),by=cluster][order(cluster)]
+
+#Real Prices
+T_Bundle_Value<-subset(CBNPoor, ProvinceCode==2301, select=c(Bundle_Value,Home_Per_Metr,Weight))
+Tehran_Bundle_Value1<-weighted.mean(T_Bundle_Value$Bundle_Value,T_Bundle_Value$Weight,na.rm = TRUE)
+Tehran_Bundle_Value2<-weighted.mean(T_Bundle_Value$Home_Per_Metr,T_Bundle_Value$Weight,na.rm = TRUE)
+CBNPoor[,RealPriceIndex1:=weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/Tehran_Bundle_Value1,by=ProvinceCode]
+CBNPoor[,RealPriceIndex2:=weighted.mean(Home_Per_Metr,Weight,na.rm = TRUE)/Tehran_Bundle_Value2,by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex1,Weight),by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex2,Weight),by=ProvinceCode]
+Indexes2<-CBNPoor[,.(RealPriceIndex1,RealPriceIndex2,ProvinceCode,Weight)]
+Indexes2<-Indexes2[,RealPriceIndex:=(RealPriceIndex1+RealPriceIndex2)/2]
+Indexes<-Indexes2[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+Indexes36<-Indexes[,.(ProvinceCode,RealPriceIndex1,RealPriceIndex2,RealPriceIndex)]
+Indexes<-Indexes[,.(ProvinceCode,RealPriceIndex)]
+CBN[,RealPriceIndex:=NULL]
+CBN<-merge(CBN,Indexes,by=c("ProvinceCode"),all.x = TRUE)
+CBN<-CBN[,Total_Food_Month_Per2:=FoodExpenditure_Per*RealPriceIndex]
+CBN<-CBN[,Total_Exp_Month_Per2:=Total_Exp_Month_Per_nondurable*RealPriceIndex]
+#utils::View(CBN)
+
+
+#Sort Expenditure data
+CBN<- CBN[order(Total_Exp_Month_Per2)]
+
+#Calculate cumulative weights
+sum(CBN$Weight)
+CBN$cumweight <- cumsum(CBN$Weight)
+tx <- max(CBN$cumweight)
+
+#Calculate deciles by weights
+CBN[,Decile:=cut(cumweight,breaks = seq(0,tx,tx/10),labels = 1:10)]
+CBN[,Percentile:=cut(cumweight,breaks=seq(0,tx,tx/100),labels=1:100)]
+
+#Update Poors
+CBN[,Poor:=ifelse(Decile %in% 2:5,1,0)]
+CBNPoor<-CBN[Poor==1]
+CBNPoor<-merge(CBNPoor,dt2,by=c("ProvinceCode"),all.x = TRUE)
+CBNPoor[,sum(HIndivNo),by=.(ProvinceCode)][order(ProvinceCode)]
+
+###Iteration1-7
+#Calculate Per_calories in clusters
+CBNPoor[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(185:200)][]
+#utils::View(CBNPoor)
+
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(202:217)][]
+
+CBNPoor[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor<-CBNPoor[Per_Daily_Exp_Calories!=0]
+CBNPoor[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+#CBN[,weighted.mean(Poor,Weight),by=cluster][order(cluster)]
+
+#Real Prices
+T_Bundle_Value<-subset(CBNPoor, ProvinceCode==2301, select=c(Bundle_Value,Home_Per_Metr,Weight))
+Tehran_Bundle_Value1<-weighted.mean(T_Bundle_Value$Bundle_Value,T_Bundle_Value$Weight,na.rm = TRUE)
+Tehran_Bundle_Value2<-weighted.mean(T_Bundle_Value$Home_Per_Metr,T_Bundle_Value$Weight,na.rm = TRUE)
+CBNPoor[,RealPriceIndex1:=weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/Tehran_Bundle_Value1,by=ProvinceCode]
+CBNPoor[,RealPriceIndex2:=weighted.mean(Home_Per_Metr,Weight,na.rm = TRUE)/Tehran_Bundle_Value2,by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex1,Weight),by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex2,Weight),by=ProvinceCode]
+Indexes2<-CBNPoor[,.(RealPriceIndex1,RealPriceIndex2,ProvinceCode,Weight)]
+Indexes2<-Indexes2[,RealPriceIndex:=(RealPriceIndex1+RealPriceIndex2)/2]
+Indexes<-Indexes2[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+Indexes37<-Indexes[,.(ProvinceCode,RealPriceIndex1,RealPriceIndex2,RealPriceIndex)]
+Indexes<-Indexes[,.(ProvinceCode,RealPriceIndex)]
+CBN[,RealPriceIndex:=NULL]
+CBN<-merge(CBN,Indexes,by=c("ProvinceCode"),all.x = TRUE)
+CBN<-CBN[,Total_Food_Month_Per2:=FoodExpenditure_Per*RealPriceIndex]
+CBN<-CBN[,Total_Exp_Month_Per2:=Total_Exp_Month_Per_nondurable*RealPriceIndex]
+#utils::View(CBN)
+
+
+#Sort Expenditure data
+CBN<- CBN[order(Total_Exp_Month_Per2)]
+
+#Calculate cumulative weights
+sum(CBN$Weight)
+CBN$cumweight <- cumsum(CBN$Weight)
+tx <- max(CBN$cumweight)
+
+#Calculate deciles by weights
+CBN[,Decile:=cut(cumweight,breaks = seq(0,tx,tx/10),labels = 1:10)]
+CBN[,Percentile:=cut(cumweight,breaks=seq(0,tx,tx/100),labels=1:100)]
+
+#Update Poors
+CBN[,Poor:=ifelse(Decile %in% 2:5,1,0)]
+CBNPoor<-CBN[Poor==1]
+CBNPoor<-merge(CBNPoor,dt2,by=c("ProvinceCode"),all.x = TRUE)
+CBNPoor[,sum(HIndivNo),by=.(ProvinceCode)][order(ProvinceCode)]
+
+###Iteration1-8
+#Calculate Per_calories in clusters
+CBNPoor[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(185:200)][]
+#utils::View(CBNPoor)
+
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(202:217)][]
+
+CBNPoor[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor<-CBNPoor[Per_Daily_Exp_Calories!=0]
+CBNPoor[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+#CBN[,weighted.mean(Poor,Weight),by=cluster][order(cluster)]
+
+#Real Prices
+T_Bundle_Value<-subset(CBNPoor, ProvinceCode==2301, select=c(Bundle_Value,Home_Per_Metr,Weight))
+Tehran_Bundle_Value1<-weighted.mean(T_Bundle_Value$Bundle_Value,T_Bundle_Value$Weight,na.rm = TRUE)
+Tehran_Bundle_Value2<-weighted.mean(T_Bundle_Value$Home_Per_Metr,T_Bundle_Value$Weight,na.rm = TRUE)
+CBNPoor[,RealPriceIndex1:=weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/Tehran_Bundle_Value1,by=ProvinceCode]
+CBNPoor[,RealPriceIndex2:=weighted.mean(Home_Per_Metr,Weight,na.rm = TRUE)/Tehran_Bundle_Value2,by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex1,Weight),by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex2,Weight),by=ProvinceCode]
+Indexes2<-CBNPoor[,.(RealPriceIndex1,RealPriceIndex2,ProvinceCode,Weight)]
+Indexes2<-Indexes2[,RealPriceIndex:=(RealPriceIndex1+RealPriceIndex2)/2]
+Indexes<-Indexes2[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+Indexes38<-Indexes[,.(ProvinceCode,RealPriceIndex1,RealPriceIndex2,RealPriceIndex)]
+Indexes<-Indexes[,.(ProvinceCode,RealPriceIndex)]
+CBN[,RealPriceIndex:=NULL]
+CBN<-merge(CBN,Indexes,by=c("ProvinceCode"),all.x = TRUE)
+CBN<-CBN[,Total_Food_Month_Per2:=FoodExpenditure_Per*RealPriceIndex]
+CBN<-CBN[,Total_Exp_Month_Per2:=Total_Exp_Month_Per_nondurable*RealPriceIndex]
+#utils::View(CBN)
+
+
+#Sort Expenditure data
+CBN<- CBN[order(Total_Exp_Month_Per2)]
+
+#Calculate cumulative weights
+sum(CBN$Weight)
+CBN$cumweight <- cumsum(CBN$Weight)
+tx <- max(CBN$cumweight)
+
+#Calculate deciles by weights
+CBN[,Decile:=cut(cumweight,breaks = seq(0,tx,tx/10),labels = 1:10)]
+CBN[,Percentile:=cut(cumweight,breaks=seq(0,tx,tx/100),labels=1:100)]
+
+#Update Poors
+CBN[,Poor:=ifelse(Decile %in% 2:5,1,0)]
+CBNPoor<-CBN[Poor==1]
+CBNPoor<-merge(CBNPoor,dt2,by=c("ProvinceCode"),all.x = TRUE)
+CBNPoor[,sum(HIndivNo),by=.(ProvinceCode)][order(ProvinceCode)]
+
+###Iteration1-9
+#Calculate Per_calories in clusters
+CBNPoor[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(185:200)][]
+#utils::View(CBNPoor)
+
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(202:217)][]
+
+CBNPoor[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor<-CBNPoor[Per_Daily_Exp_Calories!=0]
+CBNPoor[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+#CBN[,weighted.mean(Poor,Weight),by=cluster][order(cluster)]
+
+#Real Prices
+T_Bundle_Value<-subset(CBNPoor, ProvinceCode==2301, select=c(Bundle_Value,Home_Per_Metr,Weight))
+Tehran_Bundle_Value1<-weighted.mean(T_Bundle_Value$Bundle_Value,T_Bundle_Value$Weight,na.rm = TRUE)
+Tehran_Bundle_Value2<-weighted.mean(T_Bundle_Value$Home_Per_Metr,T_Bundle_Value$Weight,na.rm = TRUE)
+CBNPoor[,RealPriceIndex1:=weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/Tehran_Bundle_Value1,by=ProvinceCode]
+CBNPoor[,RealPriceIndex2:=weighted.mean(Home_Per_Metr,Weight,na.rm = TRUE)/Tehran_Bundle_Value2,by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex1,Weight),by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex2,Weight),by=ProvinceCode]
+Indexes2<-CBNPoor[,.(RealPriceIndex1,RealPriceIndex2,ProvinceCode,Weight)]
+Indexes2<-Indexes2[,RealPriceIndex:=(RealPriceIndex1+RealPriceIndex2)/2]
+Indexes<-Indexes2[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+Indexes39<-Indexes[,.(ProvinceCode,RealPriceIndex1,RealPriceIndex2,RealPriceIndex)]
+Indexes<-Indexes[,.(ProvinceCode,RealPriceIndex)]
+CBN[,RealPriceIndex:=NULL]
+CBN<-merge(CBN,Indexes,by=c("ProvinceCode"),all.x = TRUE)
+CBN<-CBN[,Total_Food_Month_Per2:=FoodExpenditure_Per*RealPriceIndex]
+CBN<-CBN[,Total_Exp_Month_Per2:=Total_Exp_Month_Per_nondurable*RealPriceIndex]
+#utils::View(CBN)
+
+
+#Sort Expenditure data
+CBN<- CBN[order(Total_Exp_Month_Per2)]
+
+#Calculate cumulative weights
+sum(CBN$Weight)
+CBN$cumweight <- cumsum(CBN$Weight)
+tx <- max(CBN$cumweight)
+
+#Calculate deciles by weights
+CBN[,Decile:=cut(cumweight,breaks = seq(0,tx,tx/10),labels = 1:10)]
+CBN[,Percentile:=cut(cumweight,breaks=seq(0,tx,tx/100),labels=1:100)]
+
+#Update Poors
+CBN[,Poor:=ifelse(Decile %in% 2:5,1,0)]
+CBNPoor<-CBN[Poor==1]
+CBNPoor<-merge(CBNPoor,dt2,by=c("ProvinceCode"),all.x = TRUE)
+CBNPoor[,sum(HIndivNo),by=.(ProvinceCode)][order(ProvinceCode)]
+
+###Iteration1-10
+#Calculate Per_calories in clusters
+CBNPoor[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(185:200)][]
+#utils::View(CBNPoor)
+
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(202:217)][]
+
+CBNPoor[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor<-CBNPoor[Per_Daily_Exp_Calories!=0]
+CBNPoor[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+#CBN[,weighted.mean(Poor,Weight),by=cluster][order(cluster)]
+
+#Real Prices
+T_Bundle_Value<-subset(CBNPoor, ProvinceCode==2301, select=c(Bundle_Value,Home_Per_Metr,Weight))
+Tehran_Bundle_Value1<-weighted.mean(T_Bundle_Value$Bundle_Value,T_Bundle_Value$Weight,na.rm = TRUE)
+Tehran_Bundle_Value2<-weighted.mean(T_Bundle_Value$Home_Per_Metr,T_Bundle_Value$Weight,na.rm = TRUE)
+CBNPoor[,RealPriceIndex1:=weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/Tehran_Bundle_Value1,by=ProvinceCode]
+CBNPoor[,RealPriceIndex2:=weighted.mean(Home_Per_Metr,Weight,na.rm = TRUE)/Tehran_Bundle_Value2,by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex1,Weight),by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex2,Weight),by=ProvinceCode]
+Indexes2<-CBNPoor[,.(RealPriceIndex1,RealPriceIndex2,ProvinceCode,Weight)]
+Indexes2<-Indexes2[,RealPriceIndex:=(RealPriceIndex1+RealPriceIndex2)/2]
+Indexes<-Indexes2[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+Indexes310<-Indexes[,.(ProvinceCode,RealPriceIndex1,RealPriceIndex2,RealPriceIndex)]
+Indexes<-Indexes[,.(ProvinceCode,RealPriceIndex)]
+CBN[,RealPriceIndex:=NULL]
+CBN<-merge(CBN,Indexes,by=c("ProvinceCode"),all.x = TRUE)
+CBN<-CBN[,Total_Food_Month_Per2:=FoodExpenditure_Per*RealPriceIndex]
+CBN<-CBN[,Total_Exp_Month_Per2:=Total_Exp_Month_Per_nondurable*RealPriceIndex]
+#utils::View(CBN)
+
+
+#Sort Expenditure data
+CBN<- CBN[order(Total_Exp_Month_Per2)]
+
+#Calculate cumulative weights
+sum(CBN$Weight)
+CBN$cumweight <- cumsum(CBN$Weight)
+tx <- max(CBN$cumweight)
+
+#Calculate deciles by weights
+CBN[,Decile:=cut(cumweight,breaks = seq(0,tx,tx/10),labels = 1:10)]
+CBN[,Percentile:=cut(cumweight,breaks=seq(0,tx,tx/100),labels=1:100)]
+
+#Update Poors
+CBN[,Poor:=ifelse(Decile %in% 2:5,1,0)]
+CBNPoor<-CBN[Poor==1]
+CBNPoor<-merge(CBNPoor,dt2,by=c("ProvinceCode"),all.x = TRUE)
+CBNPoor[,sum(HIndivNo),by=.(cluster)][order(cluster)]
+
+
+#Calculate Per_calories in clusters
+CBNPoor[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(189:204)][]
+#utils::View(CBNPoor)
+
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(206:221)][]
+
+CBNPoor[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor<-CBNPoor[Per_Daily_Exp_Calories!=0]
+CBNPoor[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNCalory<-CBNPoor[,.(Per_Daily_Calories,Per_Daily_Exp_Calories,Per_Calory_Resturant,Resturant_Exp,cluster,ProvinceCode)]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+
+
+#Calculations
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_day,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,sum(Size*Weight),by=cluster][order(cluster)]
+
+
+#Food Poverty Line for each cluster
+#cluster 1
+CBNPoorCluster<-CBNPoor[cluster==1]
+Food_Povertyline1_1<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 2
+CBNPoorCluster<-CBNPoor[cluster==2]
+Food_Povertyline2_1<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 3
+CBNPoorCluster<-CBNPoor[cluster==3]
+Food_Povertyline3_1<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 4
+CBNPoorCluster<-CBNPoor[cluster==4]
+Food_Povertyline4_1<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+
+#ee<-CBNPoor[,.(Total_Exp_Month_Real,Total_Exp_Month,Total_Food_Month_Per2,Total_Exp_Month_Per_nondurable,Total_Exp_Month_nondurable_Real_Per,FoodExpenditure_Per,cluster)]
+#mean(ee[,Total_Food_Month_Per2==Total_Exp_Month_nondurable_Real])
+#mean(ee[,Total_Food_Month_Per2<3500000])
+#ee<- ee[order(Total_Food_Month_Per2)]
+#utils::View(CBN)
+CBN<-merge(CBN,dt2,by=c("ProvinceCode"),all.x = TRUE)
+#for (col in c("Total_Food_Month_Per2")) CBN[is.na(get(col)), (col) := Total_Exp_Month_Per_nondurable]
+c<-CBN[,.(FoodExpenditure_Per,FoodExpenditure_Per_total,Total_Exp_Month_Per_nondurable,Total_Exp_Month,Total_Food_Month_Per2,Poor,Decile,Weight,cluster)]
+
+#########Iteration 2###############
+#Sort Expenditure data
+CBN<- CBN[order(Total_Food_Month_Per2)]
+c<- c[order(Total_Food_Month_Per2)]
+
+#Indicate new poors
+CBN[,Poor2:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_1 & cluster==1,1,0)]
+c[,Poor2:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_1 & cluster==1 ,1,0)]
+CBN[,Poor2:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_1 & cluster==2,1,Poor2)]
+c[,Poor2:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_1 & cluster==2 ,1,Poor2)]
+CBN[,Poor2:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_1 & cluster==3,1,Poor2)]
+c[,Poor2:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_1 & cluster==3 ,1,Poor2)]
+CBN[,Poor2:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_1 & cluster==4,1,Poor2)]
+c[,Poor2:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_1 & cluster==4 ,1,Poor2)]
+CBN[,weighted.mean(Poor2,Weight),by=cluster][order(cluster)]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2<-CBN[Poor2==1]
+
+
+#CalculatePer_calories in clusters
+CBNPoor2[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(190:205)][]
+#utils::View(CBNPoor2)
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor2[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(207:222)][]
+
+CBNPoor2[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor2[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor2[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor2[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2<-CBNPoor2[Per_Daily_Exp_Calories!=0]
+CBNPoor2[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor2[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor2[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor2[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor2[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor2[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+
+
+
+#Calculations
+CBNPoor2[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,weighted.mean(FoodExpenditure_Per_day,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+
+
+
+#Food Poverty Line for each cluster
+#cluster 1
+CBNPoorCluster<-CBNPoor2[cluster==1]
+Food_Povertyline1_2<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 2
+CBNPoorCluster<-CBNPoor2[cluster==2]
+Food_Povertyline2_2<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 3
+CBNPoorCluster<-CBNPoor2[cluster==3]
+Food_Povertyline3_2<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 4
+CBNPoorCluster<-CBNPoor2[cluster==4]
+Food_Povertyline4_2<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#ee<-CBNPoor[,.(Total_Exp_Month_Real,Total_Exp_Month,Total_Food_Month_Per2,Total_Exp_Month_Per_nondurable,Total_Exp_Month_nondurable_Real_Per,FoodExpenditure_Per,cluster)]
+#mean(ee[,Total_Food_Month_Per2==Total_Exp_Month_nondurable_Real])
+#mean(ee[,Total_Food_Month_Per2<3500000])
+#ee<- ee[order(Total_Food_Month_Per2)]
+#utils::View(CBN)
+#for (col in c("Total_Food_Month_Per2")) CBN[is.na(get(col)), (col) := Total_Exp_Month_Per_nondurable]
+c<-CBN[,.(FoodExpenditure_Per,FoodExpenditure_Per_total,Total_Exp_Month_Per_nondurable,Total_Exp_Month,Total_Food_Month_Per2,Poor,Decile,Weight,cluster)]
+
+
+#########Iteration 3###############
+#Sort Expenditure data
+CBN<- CBN[order(Total_Food_Month_Per2)]
+c<- c[order(Total_Food_Month_Per2)]
+
+#Indicate new poors
+CBN[,Poor3:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_2 & cluster==1,1,0)]
+c[,Poor3:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_2 & cluster==1 ,1,0)]
+CBN[,Poor3:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_2 & cluster==2,1,Poor3)]
+c[,Poor3:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_2 & cluster==2 ,1,Poor3)]
+CBN[,Poor3:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_2 & cluster==3,1,Poor3)]
+c[,Poor3:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_2 & cluster==3 ,1,Poor3)]
+CBN[,Poor3:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_2 & cluster==4,1,Poor3)]
+c[,Poor3:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_2 & cluster==4 ,1,Poor3)]
+CBN[,weighted.mean(Poor3,Weight),by=cluster][order(cluster)]
+CBNPoor2[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3<-CBN[Poor3==1]
+
+
+
+#CalculatePer_calories in clusters
+CBNPoor3[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(191:206)][]
+#utils::View(CBNPoor3)
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor3[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(208:223)][]
+
+
+CBNPoor3[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor3[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor3[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor3[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3<-CBNPoor3[Per_Daily_Exp_Calories!=0]
+CBNPoor3[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor3[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+
+#sum of total food expenditures
+CBNPoor3[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor3[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor3[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor3[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+
+
+#Calculations
+CBNPoor3[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,weighted.mean(FoodExpenditure_Per_day,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+
+
+
+#Food Poverty Line for each cluster
+#cluster 1
+CBNPoorCluster<-CBNPoor3[cluster==1]
+Food_Povertyline1_3<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 2
+CBNPoorCluster<-CBNPoor3[cluster==2]
+Food_Povertyline2_3<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 3
+CBNPoorCluster<-CBNPoor3[cluster==3]
+Food_Povertyline3_3<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 4
+CBNPoorCluster<-CBNPoor3[cluster==4]
+Food_Povertyline4_3<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#ee<-CBNPoor[,.(Total_Exp_Month_Real,Total_Exp_Month,Total_Food_Month_Per2,Total_Exp_Month_Per_nondurable,Total_Exp_Month_nondurable_Real_Per,FoodExpenditure_Per,cluster)]
+#mean(ee[,Total_Food_Month_Per2==Total_Exp_Month_nondurable_Real])
+#mean(ee[,Total_Food_Month_Per2<3500000])
+#ee<- ee[order(Total_Food_Month_Per2)]
+#utils::View(CBN)
+#for (col in c("Total_Food_Month_Per2")) CBN[is.na(get(col)), (col) := Total_Exp_Month_Per_nondurable]
+c<-CBN[,.(FoodExpenditure_Per,FoodExpenditure_Per_total,Total_Exp_Month_Per_nondurable,Total_Exp_Month,Total_Food_Month_Per2,Poor,Decile,Weight,cluster)]
+
+
+#########Iteration 4###############
+#Sort Expenditure data
+CBN<- CBN[order(Total_Food_Month_Per2)]
+c<- c[order(Total_Food_Month_Per2)]
+
+#Indicate new poors
+CBN[,Poor4:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_3 & cluster==1,1,0)]
+c[,Poor4:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_3 & cluster==1 ,1,0)]
+CBN[,Poor4:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_3 & cluster==2,1,Poor4)]
+c[,Poor4:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_3 & cluster==2 ,1,Poor4)]
+CBN[,Poor4:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_3 & cluster==3,1,Poor4)]
+c[,Poor4:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_3 & cluster==3 ,1,Poor4)]
+CBN[,Poor4:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_3 & cluster==4,1,Poor4)]
+c[,Poor4:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_3 & cluster==4 ,1,Poor4)]
+CBN[,weighted.mean(Poor4,Weight),by=cluster][order(cluster)]
+CBNPoor3[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4<-CBN[Poor4==1]
+
+#CalculatePer_calories in clusters
+CBNPoor4[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(191:206)][]
+#utils::View(CBNPoor4)
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor4[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(208:223)][]
+
+
+CBNPoor4[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor4[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor4[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor4[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4<-CBNPoor4[Per_Daily_Exp_Calories!=0]
+CBNPoor4[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor4[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+
+#sum of total food expenditures
+CBNPoor4[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor4[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor4[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor4[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+
+
+#Calculations
+CBNPoor4[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,weighted.mean(FoodExpenditure_Per_day,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+
+
+
+#Food Poverty Line for each cluster
+#cluster 1
+CBNPoorCluster<-CBNPoor4[cluster==1]
+Food_Povertyline1_4<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 2
+CBNPoorCluster<-CBNPoor4[cluster==2]
+Food_Povertyline2_4<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 3
+CBNPoorCluster<-CBNPoor4[cluster==3]
+Food_Povertyline3_4<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 4
+CBNPoorCluster<-CBNPoor4[cluster==4]
+Food_Povertyline4_4<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#ee<-CBNPoor[,.(Total_Exp_Month_Real,Total_Exp_Month,Total_Food_Month_Per2,Total_Exp_Month_Per_nondurable,Total_Exp_Month_nondurable_Real_Per,FoodExpenditure_Per,cluster)]
+#mean(ee[,Total_Food_Month_Per2==Total_Exp_Month_nondurable_Real])
+#mean(ee[,Total_Food_Month_Per2<3500000])
+#ee<- ee[order(Total_Food_Month_Per2)]
+#utils::View(CBN)
+#for (col in c("Total_Food_Month_Per2")) CBN[is.na(get(col)), (col) := Total_Exp_Month_Per_nondurable]
+c<-CBN[,.(FoodExpenditure_Per,FoodExpenditure_Per_total,Total_Exp_Month_Per_nondurable,Total_Exp_Month,Total_Food_Month_Per2,Poor,Decile,Weight,cluster)]
+
+
+#########Iteration 5###############
+#Sort Expenditure data
+CBN<- CBN[order(Total_Food_Month_Per2)]
+c<- c[order(Total_Food_Month_Per2)]
+
+#Indicate new poors
+CBN[,Poor5:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_4 & cluster==1,1,0)]
+c[,Poor5:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_4 & cluster==1 ,1,0)]
+CBN[,Poor5:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_4 & cluster==2,1,Poor5)]
+c[,Poor5:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_4 & cluster==2 ,1,Poor5)]
+CBN[,Poor5:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_4 & cluster==3,1,Poor5)]
+c[,Poor5:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_4 & cluster==3 ,1,Poor5)]
+CBN[,Poor5:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_4 & cluster==4,1,Poor5)]
+c[,Poor5:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_4 & cluster==4 ,1,Poor5)]
+CBN[,weighted.mean(Poor5,Weight),by=cluster][order(cluster)]
+CBNPoor4[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5<-CBN[Poor5==1]
+
+#CalculatePer_calories in clusters
+CBNPoor5[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(191:206)][]
+#utils::View(CBNPoor5)
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor5[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(208:223)][]
+
+
+CBNPoor5[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor5[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor5[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor5[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5<-CBNPoor5[Per_Daily_Exp_Calories!=0]
+CBNPoor5[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor5[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+
+#sum of total food expenditures
+CBNPoor5[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor5[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor5[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor5[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+
+
+#Calculations
+CBNPoor5[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,weighted.mean(FoodExpenditure_Per_day,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+
+
+
+#Food Poverty Line for each cluster
+#cluster 1
+CBNPoorCluster<-CBNPoor5[cluster==1]
+Food_Povertyline1_5<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 2
+CBNPoorCluster<-CBNPoor5[cluster==2]
+Food_Povertyline2_5<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 3
+CBNPoorCluster<-CBNPoor5[cluster==3]
+Food_Povertyline3_5<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 4
+CBNPoorCluster<-CBNPoor5[cluster==4]
+Food_Povertyline4_5<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#ee<-CBNPoor[,.(Total_Exp_Month_Real,Total_Exp_Month,Total_Food_Month_Per2,Total_Exp_Month_Per_nondurable,Total_Exp_Month_nondurable_Real_Per,FoodExpenditure_Per,cluster)]
+#mean(ee[,Total_Food_Month_Per2==Total_Exp_Month_nondurable_Real])
+#mean(ee[,Total_Food_Month_Per2<3500000])
+#ee<- ee[order(Total_Food_Month_Per2)]
+#utils::View(CBN)
+#for (col in c("Total_Food_Month_Per2")) CBN[is.na(get(col)), (col) := Total_Exp_Month_Per_nondurable]
+c<-CBN[,.(FoodExpenditure_Per,FoodExpenditure_Per_total,Total_Exp_Month_Per_nondurable,Total_Exp_Month,Total_Food_Month_Per2,Poor,Decile,Weight,cluster)]
+
+
+#########Iteration 6###############
+#Sort Expenditure data
+CBN<- CBN[order(Total_Food_Month_Per2)]
+c<- c[order(Total_Food_Month_Per2)]
+
+#Indicate new poors
+CBN[,Poor6:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_5 & cluster==1,1,0)]
+c[,Poor6:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_5 & cluster==1 ,1,0)]
+CBN[,Poor6:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_5 & cluster==2,1,Poor6)]
+c[,Poor6:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_5 & cluster==2 ,1,Poor6)]
+CBN[,Poor6:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_5 & cluster==3,1,Poor6)]
+c[,Poor6:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_5 & cluster==3 ,1,Poor6)]
+CBN[,Poor6:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_5 & cluster==4,1,Poor6)]
+c[,Poor6:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_5 & cluster==4 ,1,Poor6)]
+CBN[,weighted.mean(Poor6,Weight),by=cluster][order(cluster)]
+CBNPoor5[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6<-CBN[Poor6==1]
+
+#CalculatePer_calories in clusters
+CBNPoor6[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(191:206)][]
+#utils::View(CBNPoor6)
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor6[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(208:223)][]
+
+
+CBNPoor6[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor6[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor6[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor6[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6<-CBNPoor6[Per_Daily_Exp_Calories!=0]
+CBNPoor6[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor6[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+
+#sum of total food expenditures
+CBNPoor6[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor6[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor6[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor6[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+
+
+#Calculations
+CBNPoor6[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,weighted.mean(FoodExpenditure_Per_day,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+
+
+#Food Poverty Line for each cluster
+#cluster 1
+CBNPoorCluster<-CBNPoor6[cluster==1]
+Food_Povertyline1_6<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 2
+CBNPoorCluster<-CBNPoor6[cluster==2]
+Food_Povertyline2_6<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 3
+CBNPoorCluster<-CBNPoor6[cluster==3]
+Food_Povertyline3_6<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 4
+CBNPoorCluster<-CBNPoor6[cluster==4]
+Food_Povertyline4_6<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#ee<-CBNPoor[,.(Total_Exp_Month_Real,Total_Exp_Month,Total_Food_Month_Per2,Total_Exp_Month_Per_nondurable,Total_Exp_Month_nondurable_Real_Per,FoodExpenditure_Per,cluster)]
+#mean(ee[,Total_Food_Month_Per2==Total_Exp_Month_nondurable_Real])
+#mean(ee[,Total_Food_Month_Per2<3500000])
+#ee<- ee[order(Total_Food_Month_Per2)]
+#utils::View(CBN)
+#for (col in c("Total_Food_Month_Per2")) CBN[is.na(get(col)), (col) := Total_Exp_Month_Per_nondurable]
+c<-CBN[,.(FoodExpenditure_Per,FoodExpenditure_Per_total,Total_Exp_Month_Per_nondurable,Total_Exp_Month,Total_Food_Month_Per2,Poor,Decile,Weight,cluster)]
+
+
+#########Iteration 7###############
+#Sort Expenditure data
+CBN<- CBN[order(Total_Food_Month_Per2)]
+c<- c[order(Total_Food_Month_Per2)]
+
+#Indicate new poors
+CBN[,Poor7:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_6 & cluster==1,1,0)]
+c[,Poor7:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_6 & cluster==1 ,1,0)]
+CBN[,Poor7:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_6 & cluster==2,1,Poor7)]
+c[,Poor7:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_6 & cluster==2 ,1,Poor7)]
+CBN[,Poor7:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_6 & cluster==3,1,Poor7)]
+c[,Poor7:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_6 & cluster==3 ,1,Poor7)]
+CBN[,Poor7:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_6 & cluster==4,1,Poor7)]
+c[,Poor7:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_6 & cluster==4 ,1,Poor7)]
+CBN[,weighted.mean(Poor7,Weight),by=cluster][order(cluster)]
+CBNPoor6[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7<-CBN[Poor7==1]
+
+#CalculatePer_calories in clusters
+CBNPoor7[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(191:206)][]
+#utils::View(CBNPoor7)
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor7[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(208:223)][]
+
+
+CBNPoor7[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor7[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor7[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor7[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7<-CBNPoor7[Per_Daily_Exp_Calories!=0]
+CBNPoor7[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor7[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+
+#sum of total food expenditures
+CBNPoor7[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor7[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor7[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor7[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+
+
+#Calculations
+CBNPoor7[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,weighted.mean(FoodExpenditure_Per_day,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+
+
+
+#Food Poverty Line for each cluster
+#cluster 1
+CBNPoorCluster<-CBNPoor7[cluster==1]
+Food_Povertyline1_7<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 2
+CBNPoorCluster<-CBNPoor7[cluster==2]
+Food_Povertyline2_7<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 3
+CBNPoorCluster<-CBNPoor7[cluster==3]
+Food_Povertyline3_7<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 4
+CBNPoorCluster<-CBNPoor7[cluster==4]
+Food_Povertyline4_7<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#ee<-CBNPoor[,.(Total_Exp_Month_Real,Total_Exp_Month,Total_Food_Month_Per2,Total_Exp_Month_Per_nondurable,Total_Exp_Month_nondurable_Real_Per,FoodExpenditure_Per,cluster)]
+#mean(ee[,Total_Food_Month_Per2==Total_Exp_Month_nondurable_Real])
+#mean(ee[,Total_Food_Month_Per2<3500000])
+#ee<- ee[order(Total_Food_Month_Per2)]
+#utils::View(CBN)
+#for (col in c("Total_Food_Month_Per2")) CBN[is.na(get(col)), (col) := Total_Exp_Month_Per_nondurable]
+c<-CBN[,.(FoodExpenditure_Per,FoodExpenditure_Per_total,Total_Exp_Month_Per_nondurable,Total_Exp_Month,Total_Food_Month_Per2,Poor,Decile,Weight,cluster)]
+
+
+#########Iteration 8###############
+#Sort Expenditure data
+CBN<- CBN[order(Total_Food_Month_Per2)]
+c<- c[order(Total_Food_Month_Per2)]
+
+#Indicate new poors
+CBN[,Poor8:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_7 & cluster==1,1,0)]
+c[,Poor8:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_7 & cluster==1 ,1,0)]
+CBN[,Poor8:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_7 & cluster==2,1,Poor8)]
+c[,Poor8:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_7 & cluster==2 ,1,Poor8)]
+CBN[,Poor8:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_7 & cluster==3,1,Poor8)]
+c[,Poor8:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_7 & cluster==3 ,1,Poor8)]
+CBN[,Poor8:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_7 & cluster==4,1,Poor8)]
+c[,Poor8:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_7 & cluster==4 ,1,Poor8)]
+CBN[,weighted.mean(Poor8,Weight),by=cluster][order(cluster)]
+CBNPoor7[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8<-CBN[Poor8==1]
+
+
+#CalculatePer_calories in clusters
+CBNPoor8[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(191:206)][]
+#utils::View(CBNPoor8)
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor8[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(208:223)][]
+
+
+CBNPoor8[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor8[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor8[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor8[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8<-CBNPoor8[Per_Daily_Exp_Calories!=0]
+CBNPoor8[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor8[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+
+#sum of total food expenditures
+CBNPoor8[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor8[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor8[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor8[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+
+
+#Calculations
+CBNPoor8[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,weighted.mean(FoodExpenditure_Per_day,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+
+
+
+#Food Poverty Line for each cluster
+#cluster 1
+CBNPoorCluster<-CBNPoor8[cluster==1]
+Food_Povertyline1_8<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 2
+CBNPoorCluster<-CBNPoor8[cluster==2]
+Food_Povertyline2_8<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 3
+CBNPoorCluster<-CBNPoor8[cluster==3]
+Food_Povertyline3_8<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 4
+CBNPoorCluster<-CBNPoor8[cluster==4]
+Food_Povertyline4_8<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#ee<-CBNPoor[,.(Total_Exp_Month_Real,Total_Exp_Month,Total_Food_Month_Per2,Total_Exp_Month_Per_nondurable,Total_Exp_Month_nondurable_Real_Per,FoodExpenditure_Per,cluster)]
+#mean(ee[,Total_Food_Month_Per2==Total_Exp_Month_nondurable_Real])
+#mean(ee[,Total_Food_Month_Per2<3500000])
+#ee<- ee[order(Total_Food_Month_Per2)]
+#utils::View(CBN)
+#for (col in c("Total_Food_Month_Per2")) CBN[is.na(get(col)), (col) := Total_Exp_Month_Per_nondurable]
+c<-CBN[,.(FoodExpenditure_Per,FoodExpenditure_Per_total,Total_Exp_Month_Per_nondurable,Total_Exp_Month,Total_Food_Month_Per2,Poor,Decile,Weight,cluster)]
+
+
+#########Iteration 9###############
+#Sort Expenditure data
+CBN<- CBN[order(Total_Food_Month_Per2)]
+c<- c[order(Total_Food_Month_Per2)]
+
+#Indicate new poors
+CBN[,Poor9:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_8 & cluster==1,1,0)]
+c[,Poor9:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_8 & cluster==1 ,1,0)]
+CBN[,Poor9:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_8 & cluster==2,1,Poor9)]
+c[,Poor9:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_8 & cluster==2 ,1,Poor9)]
+CBN[,Poor9:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_8 & cluster==3,1,Poor9)]
+c[,Poor9:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_8 & cluster==3 ,1,Poor9)]
+CBN[,Poor9:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_8 & cluster==4,1,Poor9)]
+c[,Poor9:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_8 & cluster==4 ,1,Poor9)]
+CBN[,weighted.mean(Poor9,Weight),by=cluster][order(cluster)]
+CBNPoor8[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9<-CBN[Poor9==1]
+
+
+#CalculatePer_calories in clusters
+CBNPoor9[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(191:206)][]
+#utils::View(CBNPoor9)
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor9[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(208:223)][]
+
+
+CBNPoor9[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor9[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor9[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor9[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9<-CBNPoor9[Per_Daily_Exp_Calories!=0]
+CBNPoor9[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor9[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+
+#sum of total food expenditures
+CBNPoor9[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor9[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor9[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor9[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+
+
+
+#Calculations
+CBNPoor9[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,weighted.mean(FoodExpenditure_Per_day,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+
+
+
+#Food Poverty Line for each cluster
+#cluster 1
+CBNPoorCluster<-CBNPoor9[cluster==1]
+Food_Povertyline1_9<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 2
+CBNPoorCluster<-CBNPoor9[cluster==2]
+Food_Povertyline2_9<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 3
+CBNPoorCluster<-CBNPoor9[cluster==3]
+Food_Povertyline3_9<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 4
+CBNPoorCluster<-CBNPoor9[cluster==4]
+Food_Povertyline4_9<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#ee<-CBNPoor[,.(Total_Exp_Month_Real,Total_Exp_Month,Total_Food_Month_Per2,Total_Exp_Month_Per_nondurable,Total_Exp_Month_nondurable_Real_Per,FoodExpenditure_Per,cluster)]
+#mean(ee[,Total_Food_Month_Per2==Total_Exp_Month_nondurable_Real])
+#mean(ee[,Total_Food_Month_Per2<3500000])
+#ee<- ee[order(Total_Food_Month_Per2)]
+#utils::View(CBN)
+#for (col in c("Total_Food_Month_Per2")) CBN[is.na(get(col)), (col) := Total_Exp_Month_Per_nondurable]
+c<-CBN[,.(FoodExpenditure_Per,FoodExpenditure_Per_total,Total_Exp_Month_Per_nondurable,Total_Exp_Month,Total_Food_Month_Per2,Poor,Decile,Weight,cluster)]
+
+
+#########Iteration 10###############
+#Sort Expenditure data
+CBN<- CBN[order(Total_Food_Month_Per2)]
+c<- c[order(Total_Food_Month_Per2)]
+
+#Indicate new poors
+CBN[,Poor10:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_9 & cluster==1,1,0)]
+c[,Poor10:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_9 & cluster==1 ,1,0)]
+CBN[,Poor10:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_9 & cluster==2,1,Poor10)]
+c[,Poor10:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_9 & cluster==2 ,1,Poor10)]
+CBN[,Poor10:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_9 & cluster==3,1,Poor10)]
+c[,Poor10:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_9 & cluster==3 ,1,Poor10)]
+CBN[,Poor10:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_9 & cluster==4,1,Poor10)]
+c[,Poor10:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_9 & cluster==4 ,1,Poor10)]
+CBN[,weighted.mean(Poor10,Weight),by=cluster][order(cluster)]
+CBNPoor9[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor10<-CBN[Poor10==1]
+
+#Engel
+#CBNPoor9<-CBNPoor9[,ratio1:=FoodExpenditure/Total_Exp_Month]
+#CBNPoor9[,weighted.mean(ratio1,Weight),by=cluster]
+#summary(CBNPoor9$ratio1)
+CBN<-CBN[,ratio1:=FoodExpenditure/Total_Exp_Month]
+CBN[,weighted.mean(ratio1,Weight),by=ProvinceCode][order(ProvinceCode)]
+CBN<-CBN[,ratio2:=ServiceExp/Total_Exp_Month]
+CBN[,weighted.mean(ratio2,Weight),by=ProvinceCode][order(ProvinceCode)]
+
+#Engel-home ratio calculations
+CBN[cluster==1 & FoodExpenditure_Per_total<1.1*Food_Povertyline1_9 & FoodExpenditure_Per_total>0.90*Food_Povertyline1_9,sum(HIndivNo),by=ProvinceCode][order(ProvinceCode)]
+CBN[cluster==2 & FoodExpenditure_Per_total<1.1*Food_Povertyline2_9 & FoodExpenditure_Per_total>0.90*Food_Povertyline1_9,sum(HIndivNo),by=ProvinceCode][order(ProvinceCode)]
+CBN[cluster==3 & FoodExpenditure_Per_total<1.1*Food_Povertyline3_9 & FoodExpenditure_Per_total>0.90*Food_Povertyline1_9,sum(HIndivNo),by=ProvinceCode][order(ProvinceCode)]
+CBN[cluster==4 & FoodExpenditure_Per_total<1.1*Food_Povertyline4_9 & FoodExpenditure_Per_total>0.90*Food_Povertyline1_9,sum(HIndivNo),by=ProvinceCode][order(ProvinceCode)]
+
+CBN[cluster==1 & FoodExpenditure_Per_total<1.1*Food_Povertyline1_9 & FoodExpenditure_Per_total>0.90*Food_Povertyline1_9,weighted.mean(ratio1,Weight),by=ProvinceCode][order(ProvinceCode)]
+CBN[cluster==2 & FoodExpenditure_Per_total<1.1*Food_Povertyline2_9 & FoodExpenditure_Per_total>0.90*Food_Povertyline1_9,weighted.mean(ratio1,Weight),by=ProvinceCode][order(ProvinceCode)]
+CBN[cluster==3 & FoodExpenditure_Per_total<1.1*Food_Povertyline3_9 & FoodExpenditure_Per_total>0.90*Food_Povertyline1_9,weighted.mean(ratio1,Weight),by=ProvinceCode][order(ProvinceCode)]
+CBN[cluster==4 & FoodExpenditure_Per_total<1.1*Food_Povertyline4_9 & FoodExpenditure_Per_total>0.90*Food_Povertyline1_9,weighted.mean(ratio1,Weight),by=ProvinceCode][order(ProvinceCode)]
+
+CBN[cluster==1 & FoodExpenditure_Per_total<1.1*Food_Povertyline1_9 & FoodExpenditure_Per_total>0.90*Food_Povertyline1_9,weighted.mean(ratio2,Weight),by=ProvinceCode][order(ProvinceCode)]
+CBN[cluster==2 & FoodExpenditure_Per_total<1.1*Food_Povertyline2_9 & FoodExpenditure_Per_total>0.90*Food_Povertyline1_9,weighted.mean(ratio2,Weight),by=ProvinceCode][order(ProvinceCode)]
+CBN[cluster==3 & FoodExpenditure_Per_total<1.1*Food_Povertyline3_9 & FoodExpenditure_Per_total>0.90*Food_Povertyline1_9,weighted.mean(ratio2,Weight),by=ProvinceCode][order(ProvinceCode)]
+CBN[cluster==4 & FoodExpenditure_Per_total<1.1*Food_Povertyline4_9 & FoodExpenditure_Per_total>0.90*Food_Povertyline1_9,weighted.mean(ratio2,Weight),by=ProvinceCode][order(ProvinceCode)]
+
+
+# Poverty Line for each cluster
+#cluster 1
+CBNPoorCluster<-CBN[cluster==1 & FoodExpenditure_Per_total<1.1*Food_Povertyline1_9 & FoodExpenditure_Per_total>0.90*Food_Povertyline1_9]
+Engel1<-weighted.mean(CBNPoorCluster$ratio1,CBNPoorCluster$Weight)
+Engel_Reverse1<-1/Engel1
+Povertyline1_9<-Engel_Reverse1*Food_Povertyline1_9
+
+#cluster 2
+CBNPoorCluster<-CBN[cluster==2 & FoodExpenditure_Per_total<1.1*Food_Povertyline2_9 & FoodExpenditure_Per_total>0.90*Food_Povertyline2_9]
+Engel2<-weighted.mean(CBNPoorCluster$ratio1,CBNPoorCluster$Weight)
+Engel_Reverse2<-1/Engel2
+Povertyline2_9<-Engel_Reverse2*Food_Povertyline2_9
+
+#cluster 3
+CBNPoorCluster<-CBN[cluster==3 & FoodExpenditure_Per_total<1.1*Food_Povertyline3_9 & FoodExpenditure_Per_total>0.90*Food_Povertyline3_9]
+Engel3<-weighted.mean(CBNPoorCluster$ratio1,CBNPoorCluster$Weight)
+Engel_Reverse3<-1/Engel3
+Povertyline3_9<-Engel_Reverse3*Food_Povertyline3_9
+
+#cluster 4
+CBNPoorCluster<-CBN[cluster==4 & FoodExpenditure_Per_total<1.1*Food_Povertyline4_9 & FoodExpenditure_Per_total>0.90*Food_Povertyline4_9]
+Engel4<-weighted.mean(CBNPoorCluster$ratio1,CBNPoorCluster$Weight)
+Engel_Reverse4<-1/Engel4
+Povertyline4_9<-Engel_Reverse4*Food_Povertyline4_9
+
+#Indicate final poors
+CBN<-CBN[,Total_Exp_Month_Per2:=Total_Exp_Month_Per_nondurable*RealPriceIndex]
+
+CBN[,Poor11:=ifelse(Total_Exp_Month_Per_nondurable < Povertyline1_9 & cluster==1,1,0)]
+CBN[,Poor11:=ifelse(Total_Exp_Month_Per_nondurable < Povertyline2_9 & cluster==2,1,Poor11)]
+CBN[,Poor11:=ifelse(Total_Exp_Month_Per_nondurable < Povertyline3_9 & cluster==3,1,Poor11)]
+CBN[,Poor11:=ifelse(Total_Exp_Month_Per_nondurable < Povertyline4_9 & cluster==4,1,Poor11)]
+CBN[,weighted.mean(Poor11,Weight),by=cluster][order(cluster)]
+CBNPoor9[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor11<-CBN[Poor11==1]
+
+CBN[,sum(Size*Weight),by=cluster][order(cluster)]
+CBN[,sum(Size*Weight),by=.(cluster,Decile)][order(cluster,Decile)]
+CBNPoor[,sum(Size*Weight),by=cluster][order(cluster)]
+CBNPoor11[,sum(Size*Weight),by=cluster][order(cluster)]
+CBNPoor9[,sum(Size*Weight),by=cluster][order(cluster)]
+CBNPoor9[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster][order(cluster)]
+CBNPoor9[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster][order(cluster)]
+CBN[,weighted.mean(Poor11,Weight)]
+CBN[,weighted.mean(Poor11,Weight),by=cluster][order(cluster)]
+CBN[,weighted.mean(Poor11,Weight),by=ProvinceCode][order(ProvinceCode)]
+CBNPoor11[,sum(Size*Weight),by=ProvinceCode][order(ProvinceCode)]
+CBNPoor11[,sum(Weight),by=ProvinceCode][order(ProvinceCode)]
+CBN[,sum(Size*Weight),by=ProvinceCode][order(ProvinceCode)]
+CBN[,sum(Size*Weight)]
+
+##############################
+###Real Prices for report###
+##############################
+#sum of total food expenditures
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per]
+
+#Food expenditures (equal 2100 CCAL)
+CBN<-CBN[Per_Daily_Exp_Calories>0]
+CBN[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Exp_Calories]
+CBN[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+
+T_Bundle_Value<-subset(CBN, ProvinceCode==2301, select=c(Bundle_Value,Home_Per_Metr,Weight))
+Tehran_Bundle_Value1<-weighted.mean(T_Bundle_Value$Bundle_Value,T_Bundle_Value$Weight,na.rm = TRUE)
+Tehran_Bundle_Value2<-weighted.mean(T_Bundle_Value$Home_Per_Metr,T_Bundle_Value$Weight,na.rm = TRUE)
+CBN[,RealPriceIndex1:=weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/Tehran_Bundle_Value1,by=ProvinceCode]
+CBN[,RealPriceIndex2:=weighted.mean(Home_Per_Metr,Weight,na.rm = TRUE)/Tehran_Bundle_Value2,by=ProvinceCode]
+CBN[,weighted.mean(RealPriceIndex1,Weight),by=ProvinceCode]
+CBN[,weighted.mean(RealPriceIndex2,Weight),by=ProvinceCode]
+Indexes2_1<-CBN[,.(RealPriceIndex1,RealPriceIndex2,ProvinceCode,Weight)]
+Indexes2_1<-Indexes2_1[,RealPriceIndex:=(RealPriceIndex1+RealPriceIndex2)/2]
+Indexes_total<-Indexes2_1[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+Indexes3_1<-Indexes_total[,.(ProvinceCode,RealPriceIndex1,RealPriceIndex2,RealPriceIndex)]
+Indexes<-Indexes[,.(ProvinceCode,RealPriceIndex)]
+
+CBN_Poor<-CBN[Poor11==1]
+T_Bundle_Value<-subset(CBN_Poor, ProvinceCode==2301, select=c(Bundle_Value,Home_Per_Metr,Weight))
+Tehran_Bundle_Value1<-weighted.mean(T_Bundle_Value$Bundle_Value,T_Bundle_Value$Weight,na.rm = TRUE)
+Tehran_Bundle_Value2<-weighted.mean(T_Bundle_Value$Home_Per_Metr,T_Bundle_Value$Weight,na.rm = TRUE)
+CBN_Poor[,RealPriceIndex1:=weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/Tehran_Bundle_Value1,by=ProvinceCode]
+CBN_Poor[,RealPriceIndex2:=weighted.mean(Home_Per_Metr,Weight,na.rm = TRUE)/Tehran_Bundle_Value2,by=ProvinceCode]
+CBN_Poor[,weighted.mean(RealPriceIndex1,Weight),by=ProvinceCode]
+CBN_Poor[,weighted.mean(RealPriceIndex2,Weight),by=ProvinceCode]
+Indexes2_2<-CBN_Poor[,.(RealPriceIndex1,RealPriceIndex2,ProvinceCode,Weight,Poor11)]
+Indexes2_2<-Indexes2_2[,RealPriceIndex:=(RealPriceIndex1+RealPriceIndex2)/2]
+Indexes_finalpoor<-Indexes2_2[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+Indexes3_2<-Indexes_finalpoor[,.(ProvinceCode,RealPriceIndex1,RealPriceIndex2,RealPriceIndex)]
+Indexes<-Indexes[,.(ProvinceCode,RealPriceIndex)]
+
+###Save Tables
+CBN_Urban<-CBN
+save(CBN_Urban, file = paste0(Settings$HEISProcessedPath,"CBN_Urban","95.rda"))
+
+CBNPoor_Urban<-CBNPoor11
+save(CBNPoor_Urban, file = paste0(Settings$HEISProcessedPath,"CBNPoor_Urban","95.rda"))
+
+
+endtime <- proc.time()
+
+
+cat("\n\n============================\nIt took ")
+cat(endtime-starttime)
+
diff --git a/R/Archive/Other Codes/58-CBN-Rural97-1.R b/R/Archive/Other Codes/58-CBN-Rural97-1.R
new file mode 100644
index 00000000..79ba4b21
--- /dev/null
+++ b/R/Archive/Other Codes/58-CBN-Rural97-1.R
@@ -0,0 +1,3093 @@
+#CBN Method-Rural.R
+#
+# Copyright © 2018:Arin Shahbazian
+# Licence: GPL-3
+#
+rm(list=ls())
+
+starttime <- proc.time()
+cat("\n\n================ Prepare Data =====================================\n")
+
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+library(readxl)
+library(stringr)
+library(data.table)
+library(foreign)
+library(haven)
+load(file = "data9697.rda")
+#for(year in (Settings$startyear:Settings$endyear)){
+# cat(paste0("\n------------------------------\nYear:",year,"\n"))
+
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","HHBase.rda"))
+HHBase[,IndivNo:=NULL]
+HHBase[,Relationship:=NULL]
+HHBase[,Sex:=NULL]
+HHBase[,Age:=NULL]
+HHBase[,Literate:=NULL]
+HHBase[,Student:=NULL]
+HHBase[,EduCode:=NULL]
+HHBase[,EduYears:=NULL]
+HHBase[,EduLevel:=NULL]
+HHBase[,EduLevel0:=NULL]
+HHBase[,ActivityState:=NULL]
+HHBase[,MarritalState:=NULL]
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Ghand_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Hoboobat_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Roghan_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Berenj_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Nan_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Goosht_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Morgh_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Mahi_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Shir_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Mast_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Panir_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Tokhmemorgh_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Mive_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Sabzi_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Makarooni_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Sibzamini_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Weights.rda"))
+
+Ghand_Data<-Ghand_Data[,.(HHID,Ghandgram,GhandPrice)]
+Hoboobat_Data<-Hoboobat_Data[,.(HHID,Hoboobatgram,HoboobatPrice)]
+Roghan_Data<-Roghan_Data[,.(HHID,Roghangram,RoghanPrice)]
+Berenj_Data<-Berenj_Data[,.(HHID,Berenjgram,BerenjPrice)]
+Nan_Data<-Nan_Data[,.(HHID,Nangram,NanPrice)]
+Goosht_Data<-Goosht_Data[,.(HHID,Gooshtgram,GooshtPrice)]
+Morgh_Data<-Morgh_Data[,.(HHID,Morghgram,MorghPrice)]
+Mahi_Data<-Mahi_Data[,.(HHID,Mahigram,MahiPrice)]
+Shir_Data<-Shir_Data[,.(HHID,Shirgram,ShirPrice)]
+Mast_Data<-Mast_Data[,.(HHID,Mastgram,MastPrice)]
+Panir_Data<-Panir_Data[,.(HHID,Panirgram,PanirPrice)]
+Tokhmemorgh_Data<-Tokhmemorgh_Data[,.(HHID,Tokhmemorghgram,TokhmemorghPrice)]
+Mive_Data<-Mive_Data[,.(HHID,Mivegram,MivePrice)]
+Sabzi_Data<-Sabzi_Data[,.(HHID,Sabzigram,SabziPrice)]
+Makarooni_Data<-Makarooni_Data[,.(HHID,Makaroonigram,MakarooniPrice)]
+Sibzamini_Data<-Sibzamini_Data[,.(HHID,Sibzaminigram,SibzaminiPrice)]
+
+Food<-merge(HHBase,Ghand_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Ghandgram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Hoboobat_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Hoboobatgram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Roghan_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Roghangram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Berenj_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Berenjgram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Nan_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Nangram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Goosht_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Gooshtgram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Morgh_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Morghgram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Mahi_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Mahigram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Shir_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Shirgram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Mast_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Mastgram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Panir_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Panirgram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Tokhmemorgh_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Tokhmemorghgram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Mive_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Mivegram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Sabzi_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Sabzigram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Makarooni_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Makaroonigram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Sibzamini_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Sibzaminigram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Weights,by =c("HHID"),all.x=TRUE)
+
+
+
+#load Expenditure groups
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","HHBase.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","HHI.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Foods.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Cigars.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Cloths.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Amusements.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Communications.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Durables.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Education.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Energy.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Furnitures.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Hotels.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","House.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Medicals.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Behdashts.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Transportations.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Others.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Investments.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Resturants.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Weights.rda"))
+
+#merge Expenditure groups
+CBN<-merge(Food,HHI ,by =c("HHID"),all=TRUE)
+CBN<-merge(CBN,FoodData,by =c("HHID"),all=TRUE)
+for (col in c("FoodExpenditure")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,CigarData,by =c("HHID"),all=TRUE)
+for (col in c("Cigar_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,ClothData,by =c("HHID"),all=TRUE)
+for (col in c("Cloth_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,AmusementData,by =c("HHID"),all=TRUE)
+for (col in c("Amusement_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,CommunicationData,by =c("HHID"),all=TRUE)
+for (col in c("Communication_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,EducData,by =c("HHID"),all=TRUE)
+for (col in c("EducExpenditure")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,EnergyData,by =c("HHID"),all=TRUE)
+for (col in c("Energy_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,FurnitureData,by =c("HHID"),all=TRUE)
+for (col in c("Furniture_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,HotelData,by =c("HHID"),all=TRUE)
+for (col in c("Hotel_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,BehdashtData,by =c("HHID"),all=TRUE)
+for (col in c("Behdasht_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,TransportationData,by =c("HHID"),all=TRUE)
+for (col in c("Transportation_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,OtherData,by =c("HHID"),all=TRUE)
+for (col in c("Other_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,HouseData,by =c("HHID"),all=TRUE)
+for (col in c("ServiceExp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,InvestmentData,by =c("HHID"),all=TRUE)
+for (col in c("Investment_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,MedicalData,by =c("HHID"),all=TRUE)
+for (col in c("Medical_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,DurableData,by =c("HHID"),all=TRUE)
+for (col in c("Durable_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,ResturantData,by =c("HHID"),all=TRUE)
+for (col in c("Resturant_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-CBN[Size!=0]
+CBN<-CBN[Region=="Rural"]
+CBN<-CBN[FoodExpenditure!=0]
+
+CBN<-merge(CBN,data9697,by =c("ProvinceCode"),all.x=TRUE)
+
+CBN$FoodExpenditure<-CBN$FoodExpenditure*CBN$spring971food_index/100
+CBN$Cigar_Exp<-CBN$Cigar_Exp*CBN$spring971cigar_index/100
+CBN$Cloth_Exp<-CBN$Cloth_Exp*CBN$spring971cloth_index/100
+CBN$Amusement_Exp<-CBN$Amusement_Exp*CBN$spring971amusement_index/100
+CBN$Communication_Exp<-CBN$Communication_Exp*CBN$spring971communication_index/100
+CBN$EducExpenditure<-CBN$EducExpenditure*CBN$spring971education_index/100
+CBN$Energy_Exp<-CBN$Energy_Exp*CBN$spring971house_energy_index/100
+CBN$Furniture_Exp<-CBN$Furniture_Exp*CBN$spring971furniture_index/100
+CBN$Hotel_Exp<-CBN$Hotel_Exp*CBN$spring971hotel_index/100
+CBN$Behdasht_Exp<-CBN$Behdasht_Exp*CBN$spring971behdasht_index/100
+CBN$Transportation_Exp<-CBN$Transportation_Exp*CBN$spring971transportation_index/100
+CBN$Other_Exp<-CBN$Other_Exp*CBN$spring971other_index/100
+CBN$ServiceExp<-CBN$ServiceExp*CBN$spring971house_energy_index/100
+CBN$Investment_Exp<-CBN$Investment_Exp*CBN$spring97/100
+CBN$Medical_Exp<-CBN$Medical_Exp*CBN$spring971behdasht_index/100
+CBN$Durable_Exp<-CBN$Durable_Exp*CBN$spring97/100
+
+CBN[ ,shahrivar971furniture_index :=NULL]
+CBN[ ,shahrivar971communication_index :=NULL]
+CBN[ ,shahrivar971behdasht_index :=NULL]
+CBN[ ,shahrivar971education_index :=NULL]
+CBN[ ,shahrivar971amusement_index :=NULL]
+CBN[ ,shahrivar971transportation_index :=NULL]
+CBN[ ,shahrivar971food_index :=NULL]
+CBN[ ,shahrivar971cigar_index :=NULL]
+CBN[ ,shahrivar971hotel_index :=NULL]
+CBN[ ,shahrivar971total_index :=NULL]
+CBN[ ,shahrivar971house_energy_index :=NULL]
+CBN[ ,shahrivar971cloth_index :=NULL]
+CBN[ ,shahrivar971other_index :=NULL]
+CBN[ ,spring971furniture_index :=NULL]
+CBN[ ,spring971communication_index :=NULL]
+CBN[ ,spring971behdasht_index :=NULL]
+CBN[ ,spring971education_index :=NULL]
+CBN[ ,spring971amusement_index :=NULL]
+CBN[ ,spring971transportation_index :=NULL]
+CBN[ ,spring971food_index :=NULL]
+CBN[ ,spring971cigar_index :=NULL]
+CBN[ ,spring971hotel_index :=NULL]
+CBN[ ,spring971total_index :=NULL]
+CBN[ ,spring971house_energy_index :=NULL]
+CBN[ ,spring971cloth_index :=NULL]
+CBN[ ,spring971other_index :=NULL]
+CBN[ ,summer971furniture_index :=NULL]
+CBN[ ,summer971communication_index :=NULL]
+CBN[ ,summer971behdasht_index :=NULL]
+CBN[ ,summer971education_index :=NULL]
+CBN[ ,summer971amusement_index :=NULL]
+CBN[ ,summer971transportation_index :=NULL]
+CBN[ ,summer971food_index :=NULL]
+CBN[ ,summer971cigar_index :=NULL]
+CBN[ ,summer971hotel_index :=NULL]
+CBN[ ,summer971total_index :=NULL]
+CBN[ ,summer971house_energy_index :=NULL]
+CBN[ ,summer971cloth_index :=NULL]
+CBN[ ,summer971other_index :=NULL]
+CBN[ ,total961furniture_index :=NULL]
+CBN[ ,total961communication_index :=NULL]
+CBN[ ,total961behdasht_index :=NULL]
+CBN[ ,total961education_index :=NULL]
+CBN[ ,total961amusement_index :=NULL]
+CBN[ ,total961transportation_index :=NULL]
+CBN[ ,total961food_index :=NULL]
+CBN[ ,total961cigar_index :=NULL]
+CBN[ ,total961hotel_index :=NULL]
+CBN[ ,total961total_index :=NULL]
+CBN[ ,total961house_energy_index :=NULL]
+CBN[ ,total961cloth_index :=NULL]
+CBN[ ,total961other_index :=NULL]
+
+CBN[ ,spring97 :=NULL]
+CBN[ ,summer97 :=NULL]
+CBN[ ,total96 :=NULL]
+CBN[ ,shahrivar97 :=NULL]
+
+
+
+#Calculate Per_Total Expenditures Monthly
+CBN[, Total_Exp_Month := Reduce(`+`, .SD), .SDcols=c(65:77,82:83)][]
+CBN[, Total_Exp_Month_nondurable := Reduce(`+`, .SD), .SDcols=65:77][]
+
+CBN$Total_Exp_Month_Per<-CBN$Total_Exp_Month/CBN$EqSizeOECD
+CBN$Total_Exp_Month_Per_nondurable<-CBN$Total_Exp_Month_nondurable/CBN$EqSizeOECD
+
+#Calculate Per_Food Expenditures Monthly
+CBN[,EqSizeCalory :=(Size-NKids) + NKids*(1800/2100)]
+CBN$FoodExpenditure_Per<-CBN$FoodExpenditure/CBN$EqSizeCalory
+
+#Calculate Per_Food Expenditures Daily
+CBN$FoodExpenditure_Per_day<-CBN$FoodExpenditure_Per/30
+
+CBN$Ghandgram_Per_day<-CBN$Ghandgram/(30*CBN$EqSizeOECD)
+CBN$Hoboobatgram_Per_day<-CBN$Hoboobatgram/(30*CBN$EqSizeOECD)
+CBN$Berenjgram_Per_day<-CBN$Berenjgram/(30*CBN$EqSizeOECD)
+CBN$Nangram_Per_day<-CBN$Nangram/(30*CBN$EqSizeOECD)
+CBN$Roghangram_Per_day<-CBN$Roghangram/(30*CBN$EqSizeOECD)
+CBN$Gooshtgram_Per_day<-CBN$Gooshtgram/(30*CBN$EqSizeOECD)
+CBN$Morghgram_Per_day<-CBN$Morghgram/(30*CBN$EqSizeOECD)
+CBN$Mahigram_Per_day<-CBN$Mahigram/(30*CBN$EqSizeOECD)
+CBN$Shirgram_Per_day<-CBN$Shirgram/(30*CBN$EqSizeOECD)
+CBN$Mastgram_Per_day<-CBN$Mastgram/(30*CBN$EqSizeOECD)
+CBN$Panirgram_Per_day<-CBN$Panirgram/(30*CBN$EqSizeOECD)
+CBN$Tokhmemorghgram_Per_day<-CBN$Tokhmemorghgram/(30*CBN$EqSizeOECD)
+CBN$Mivegram_Per_day<-CBN$Mivegram/(30*CBN$EqSizeOECD)
+CBN$Sabzigram_Per_day<-CBN$Sabzigram/(30*CBN$EqSizeOECD)
+CBN$Makaroonigram_Per_day<-CBN$Makaroonigram/(30*CBN$EqSizeOECD)
+CBN$Sibzaminigram_Per_day<-CBN$Sibzaminigram/(30*CBN$EqSizeOECD)
+CBN[,EqSizeCalory:=NULL]
+
+load(file="PriceIndex95.rda")
+CBN<-merge(CBN,PriceIndex95,by=c("ProvinceCode"),all.x = TRUE)
+CBN[,ostan:=NULL]
+load(file="PriceIndex.rda")
+CBN<-merge(CBN,PriceIndex,by=c("ProvinceCode"),all.x = TRUE)
+
+#Sort Expenditure data
+CBN<- CBN[order(Total_Exp_Month_Per_nondurable)]
+
+#Calculate cumulative weights
+sum(CBN$Weight)
+CBN$cumweight <- cumsum(CBN$Weight)
+tx <- max(CBN$cumweight)
+
+#Calculate deciles by weights
+CBN[,Decile:=cut(cumweight,breaks = seq(0,tx,tx/10),labels = 1:10)]
+CBN[,Percentile:=cut(cumweight,breaks=seq(0,tx,tx/100),labels=1:100)]
+
+
+CBN$Ghand_W<-CBN$Ghandgram_Per_day*CBN$GhandPrice*0.001*30
+CBN$Hoboobat_W<-CBN$Hoboobatgram_Per_day*CBN$HoboobatPrice*0.001*30
+CBN$Roghan_W<-CBN$Roghangram_Per_day*CBN$RoghanPrice*0.001*30
+CBN$Berenj_W<-CBN$Berenjgram_Per_day*CBN$BerenjPrice*0.001*30
+CBN$Nan_W<-CBN$Nangram_Per_day*CBN$NanPrice*0.001*30
+CBN$Goosht_W<-CBN$Gooshtgram_Per_day*CBN$GooshtPrice*0.001*30
+CBN$Morgh_W<-CBN$Morghgram_Per_day*CBN$MorghPrice*0.001*30
+CBN$Mahi_W<-CBN$Mahigram_Per_day*CBN$MahiPrice*0.001*30
+CBN$Shir_W<-CBN$Shirgram_Per_day*CBN$ShirPrice*0.001*30
+CBN$Mast_W<-CBN$Mastgram_Per_day*CBN$MastPrice*0.001*30
+CBN$Panir_W<-CBN$Panirgram_Per_day*CBN$PanirPrice*0.001*30
+CBN$Tokhmemorgh_W<-CBN$Tokhmemorghgram_Per_day*CBN$TokhmemorghPrice*0.001*30
+CBN$Mive_W<-CBN$Mivegram_Per_day*CBN$MivePrice*0.001*30
+CBN$Sabzi_W<-CBN$Sabzigram_Per_day*CBN$SabziPrice*0.001*30
+CBN$Makarooni_W<-CBN$Makaroonigram_Per_day*CBN$MakarooniPrice*0.001*30
+CBN$Sibzamini_W<-CBN$Sibzaminigram_Per_day*CBN$SibzaminiPrice*0.001*30
+CBN$Home_W<-CBN$ServiceExp/CBN$EqSizeOECD
+CBN$Home_Per_Metr<-CBN$MetrPrice/CBN$EqSizeOECD
+
+#Seperate big cities
+CBN[,sum(Weight*Size),by=ProvinceCode][order(V1)]
+CBN[,HHIDs:=as.character(HHID)]
+CBN[,ShahrestanCode:=as.integer(str_sub(HHIDs,2,5))]
+CBN[,sum(Weight*Size),by=ShahrestanCode][order(V1)][330:387]
+CBNTehran<-CBN[ProvinceCode==23]
+CBNTehran[,sum(Weight*Size),by=ShahrestanCode]
+CBNTabriz<-CBN[ProvinceCode==3]
+CBNTabriz[,sum(Weight*Size),by=ShahrestanCode]
+CBNAhvaz<-CBN[ProvinceCode==6]
+CBNAhvaz[,sum(Weight*Size),by=ShahrestanCode]
+CBNShiraz<-CBN[ProvinceCode==7]
+CBNShiraz[,sum(Weight*Size),by=ShahrestanCode]
+CBNMashhad<-CBN[ProvinceCode==9]
+CBNMashhad[,sum(Weight*Size),by=ShahrestanCode]
+CBNEsfahan<-CBN[ProvinceCode==10]
+CBNEsfahan[,sum(Weight*Size),by=ShahrestanCode]
+CBNKaraj<-CBN[ProvinceCode==30]
+CBNKaraj[,sum(Weight*Size),by=ShahrestanCode]
+CBNKermanshah<-CBN[ProvinceCode==5]
+CBNKermanshah[,sum(Weight*Size),by=ShahrestanCode]
+
+
+# Food Calories
+CBN$Ghand_Calory<- CBN$Ghandgram *4
+CBN$Hoboobat_Calory<- CBN$Hoboobatgram *3
+CBN$Nan_Calory<- CBN$Nangram *2.5
+CBN$Berenj_Calory<- CBN$Berenjgram *1.2
+CBN$Roghan_Calory<- CBN$Roghangram *8
+CBN$Goosht_Calory<- CBN$Gooshtgram *2.5
+CBN$Morgh_Calory<- CBN$Morghgram *2
+CBN$Mahi_Calory<- CBN$Mahigram *1
+CBN$Shir_Calory<- CBN$Shirgram *2.5
+CBN$Mast_Calory<- CBN$Mastgram *1.5
+CBN$Panir_Calory<- CBN$Mastgram *2.5
+CBN$Tokhmemorgh_Calory<- CBN$Tokhmemorghgram *1.4
+CBN$Mive_Calory<- CBN$Mivegram *0.5
+CBN$Sabzi_Calory<- CBN$Sabzigram *0.5
+CBN$Makarooni_Calory<- CBN$Makaroonigram *3.6
+CBN$Sibzamini_Calory<- CBN$Sibzaminigram *0.9
+#utils::View(CBN)
+
+#CalculatePer_calories
+CBN[, Daily_Exp_Calories := Reduce(`+`, .SD), .SDcols=148:163][]
+CBN[,EqSizeCalory :=(Size-NKids) + NKids*(1800/2100)]
+CBN[,Per_Daily_Exp_Calories:=Daily_Exp_Calories/EqSizeCalory]
+CBN <- CBN[Per_Daily_Exp_Calories<100000] # arbitrary removal of outliers
+#CBN[,Daily_Calories_cluster:=weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+#CBN[,weighted.mean(Daily_Calories_cluster,Weight,na.rm = TRUE),by=cluster]
+#CBN[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+#CBN[,weighted.mean(Size,Weight,na.rm = TRUE),by=cluster]
+#CBN[,sum(Weight*Size),by=cluster]
+#CBN[,sum(Weight),by=cluster]
+#CBN[,sum(Poor),by=cluster]
+
+
+#Calculate_Per_calories
+CBN$Ghand_per_Calory<- CBN$Ghandgram *4/CBN$EqSizeCalory
+CBN$Hoboobat_per_Calory<- CBN$Hoboobatgram *3/CBN$EqSizeCalory
+CBN$Nan_per_Calory<- CBN$Nangram *2.5/CBN$EqSizeCalory
+CBN$Berenj_per_Calory<- CBN$Berenjgram *1.2/CBN$EqSizeCalory
+CBN$Roghan_per_Calory<- CBN$Roghangram *8/CBN$EqSizeCalory
+CBN$Goosht_per_Calory<- CBN$Gooshtgram *2.5/CBN$EqSizeCalory
+CBN$Morgh_per_Calory<- CBN$Morghgram *2/CBN$EqSizeCalory
+CBN$Mahi_per_Calory<- CBN$Mahigram *1/CBN$EqSizeCalory
+CBN$Shir_per_Calory<- CBN$Shirgram *2.5/CBN$EqSizeCalory
+CBN$Mast_per_Calory<- CBN$Mastgram *1.5/CBN$EqSizeCalory
+CBN$Panir_per_Calory<- CBN$Mastgram *2.5/CBN$EqSizeCalory
+CBN$Tokhmemorgh_per_Calory<- CBN$Tokhmemorghgram *1.4/CBN$EqSizeCalory
+CBN$Mive_per_Calory<- CBN$Mivegram *0.5/CBN$EqSizeCalory
+CBN$Sabzi_per_Calory<- CBN$Sabzigram *0.5/CBN$EqSizeCalory
+CBN$Makarooni_per_Calory<- CBN$Makaroonigram *3.6/CBN$EqSizeCalory
+CBN$Sibzamini_per_Calory<- CBN$Sibzaminigram *0.9/CBN$EqSizeCalory
+
+
+#Assume that deciles 1 and 2 are poor
+CBN[,Poor:=ifelse(Decile %in% 1:4,1,0)]
+CBNPoor<-CBN[Poor==1]
+
+#K-means weights
+PriceWeights<-CBN[,.(HHID,Ghand_W,Hoboobat_W,Roghan_W,Berenj_W,Nan_W,Goosht_W,Morgh_W,Mahi_W,Shir_W,Mast_W,Panir_W,Tokhmemorgh_W,Mive_W,Sabzi_W,Makarooni_W,Sibzamini_W,Home_W,ProvinceCode,Weight)]
+dt3 <- PriceWeights[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+dt3<- dt3[order(ProvinceCode)]
+dt3 <- dt3[,.(Ghand_W,Hoboobat_W,Roghan_W,Berenj_W,Nan_W,Goosht_W,Morgh_W,Mahi_W,Shir_W,Mast_W,Panir_W,Tokhmemorgh_W,Mive_W,Sabzi_W,Makarooni_W,Sibzamini_W,Home_W)]
+
+
+
+#K-means algorithm for clustering by prices
+test<-CBNPoor[,.(GhandPrice,HoboobatPrice,RoghanPrice,BerenjPrice,NanPrice,GooshtPrice,MorghPrice,MahiPrice,ShirPrice,MastPrice,PanirPrice,TokhmemorghPrice,MivePrice,SabziPrice,MakarooniPrice,SibzaminiPrice,MetrPrice,ProvinceCode,Weight)]
+#test<-CBNPoor[,.(GhandPrice,HoboobatPrice,RoghanPrice,BerenjPrice,NanPrice,GooshtPrice,MorghPrice,MahiPrice,ShirPrice,MastPrice,PanirPrice,TokhmemorghPrice,MivePrice,SabziPrice,MakarooniPrice,SibzaminiPrice,MetrPrice,Ghand_W,Hoboobat_W,Roghan_W,Berenj_W,Nan_W,Goosht_W,Morgh_W,Mahi_W,Shir_W,Mast_W,Panir_W,Tokhmemorgh_W,Mive_W,Sabzi_W,Makarooni_W,Sibzamini_W,Home_W,Region,ProvinceCode,Weight)]
+dt2 <- test[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+dt2<- dt2[order(ProvinceCode)]
+for (col in c("MahiPrice")) dt2[is.nan(get(col)), (col) := 200000]
+dt <- dt2 [,.(GhandPrice,HoboobatPrice,RoghanPrice,BerenjPrice,NanPrice,GooshtPrice,MorghPrice,MahiPrice,ShirPrice,MastPrice,PanirPrice,TokhmemorghPrice,MivePrice,SabziPrice,MakarooniPrice,SibzaminiPrice,MetrPrice)]
+
+
+pca <- princomp(dt, cor=T)
+PRICE <- pca$scores
+PRICE1 <- -1*PRICE[,1]
+PRICE2 <- -1*PRICE[,2]
+PRICE3 <- -1*PRICE[,3]
+PRICE4 <- -1*PRICE[,4]
+PRICE5 <- -1*PRICE[,5]
+PRICE6 <- -1*PRICE[,6]
+PRICE7 <- -1*PRICE[,7]
+PRICE8 <- -1*PRICE[,8]
+PRICE9 <- -1*PRICE[,9]
+PRICE10 <- -1*PRICE[,10]
+PRICE11 <- -1*PRICE[,11]
+PRICE12 <- -1*PRICE[,12]
+PRICE13 <- -1*PRICE[,13]
+PRICE14 <- -1*PRICE[,14]
+PRICE15 <- -1*PRICE[,15]
+PRICE16 <- -1*PRICE[,16]
+PRICE17 <- -1*PRICE[,17]
+
+# Deciding how many clusters
+wss <- (nrow(dt)-1)*sum(apply(dt,2,var))
+for (i in 2:30) wss[i] <- sum(kmeans(dt, centers=i)$withinss)
+plot(1:30, wss, type="b", xlab="Number of Clusters",
+ ylab="Within groups sum of squares")
+
+#Weighted clustering
+
+dt3.m <- dt3[,lapply(.SD, mean)] # Weights for each vector
+dtW <- dt * sqrt(dt3.m[rep(1,nrow(dt))]) # Weighted observations
+kmeans(dtW,4) # Simple K-means
+
+cl <- kmeans(dtW,4)
+cl$cluster
+dt2 <- dt2[,cluster:=data.table(cl$cluster)]
+dt2<-dt2[,.(ProvinceCode,cluster)]
+load(file="dt5Rural.rda")
+#plot(PRICE1, PRICE2,col=cl$cluster)
+#points(cl$centers, pch=20)
+CBNPoor<-merge(CBNPoor,dt2,by=c("ProvinceCode"),all.x = TRUE)
+CBNPoor[,sum(Weight*Size),by=cluster]
+CBNPoor[,sum(Weight),by=cluster]
+CBNPoor[,sum(Poor),by=cluster]
+C2<-CBNPoor[,.(HHID,ProvinceCode,Region,Decile,Poor,cluster)]
+######################################################################
+
+
+
+
+
+
+
+
+
+####Iteration 1#####
+###Iteration1-1
+#Calculate Per_calories in clusters
+CBNPoor[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(185:200)][]
+#utils::View(CBNPoor)
+
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(202:217)][]
+
+CBNPoor[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor<-CBNPoor[Per_Daily_Exp_Calories!=0]
+CBNPoor[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+#CBN[,weighted.mean(Poor,Weight),by=cluster][order(cluster)]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE)]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE)]
+
+#Real Prices
+T_Bundle_Value<-subset(CBNPoor, ProvinceCode==23, select=c(Bundle_Value,Home_Per_Metr,Weight))
+Tehran_Bundle_Value1<-weighted.mean(T_Bundle_Value$Bundle_Value,T_Bundle_Value$Weight,na.rm = TRUE)
+Tehran_Bundle_Value2<-weighted.mean(T_Bundle_Value$Home_Per_Metr,T_Bundle_Value$Weight,na.rm = TRUE)
+CBNPoor[,RealPriceIndex1:=weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/Tehran_Bundle_Value1,by=ProvinceCode]
+CBNPoor[,RealPriceIndex2:=weighted.mean(Home_Per_Metr,Weight,na.rm = TRUE)/Tehran_Bundle_Value2,by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex1,Weight),by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex2,Weight),by=ProvinceCode]
+Indexes2<-CBNPoor[,.(RealPriceIndex1,RealPriceIndex2,ProvinceCode,Weight)]
+Indexes2<-Indexes2[,RealPriceIndex:=(RealPriceIndex1+RealPriceIndex2)/2]
+Indexes<-Indexes2[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+Indexes31<-Indexes[,.(ProvinceCode,RealPriceIndex1,RealPriceIndex2,RealPriceIndex)]
+Indexes<-Indexes[,.(ProvinceCode,RealPriceIndex)]
+CBN<-merge(CBN,Indexes,by=c("ProvinceCode"),all.x = TRUE)
+CBN<-CBN[,Total_Food_Month_Per2:=FoodExpenditure_Per*RealPriceIndex]
+CBN<-CBN[,Total_Exp_Month_Per2:=Total_Exp_Month_Per_nondurable*RealPriceIndex]
+#utils::View(CBN)
+
+#Sort Expenditure data
+CBN<- CBN[order(Total_Exp_Month_Per2)]
+
+#Calculate cumulative weights
+sum(CBN$Weight)
+CBN$cumweight <- cumsum(CBN$Weight)
+tx <- max(CBN$cumweight)
+
+#Calculate deciles by weights
+CBN[,Decile:=cut(cumweight,breaks = seq(0,tx,tx/10),labels = 1:10)]
+CBN[,Percentile:=cut(cumweight,breaks=seq(0,tx,tx/100),labels=1:100)]
+
+#Update Poors
+CBN[,Poor:=ifelse(Decile %in% 1:4,1,0)]
+CBNPoor<-CBN[Poor==1]
+CBNPoor<-merge(CBNPoor,dt2,by=c("ProvinceCode"),all.x = TRUE)
+CBNPoor[,sum(HIndivNo),by=.(ProvinceCode)][order(ProvinceCode)]
+CBNPoor[,sum(HIndivNo)]
+
+###Iteration1-2
+#Calculate Per_calories in clusters
+CBNPoor[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(185:200)][]
+#utils::View(CBNPoor)
+
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(202:217)][]
+
+CBNPoor[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor<-CBNPoor[Per_Daily_Exp_Calories!=0]
+CBNPoor[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+#CBN[,weighted.mean(Poor,Weight),by=cluster][order(cluster)]
+
+#Real Prices
+T_Bundle_Value<-subset(CBNPoor, ProvinceCode==23, select=c(Bundle_Value,Home_Per_Metr,Weight))
+Tehran_Bundle_Value1<-weighted.mean(T_Bundle_Value$Bundle_Value,T_Bundle_Value$Weight,na.rm = TRUE)
+Tehran_Bundle_Value2<-weighted.mean(T_Bundle_Value$Home_Per_Metr,T_Bundle_Value$Weight,na.rm = TRUE)
+CBNPoor[,RealPriceIndex1:=weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/Tehran_Bundle_Value1,by=ProvinceCode]
+CBNPoor[,RealPriceIndex2:=weighted.mean(Home_Per_Metr,Weight,na.rm = TRUE)/Tehran_Bundle_Value2,by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex1,Weight),by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex2,Weight),by=ProvinceCode]
+Indexes2<-CBNPoor[,.(RealPriceIndex1,RealPriceIndex2,ProvinceCode,Weight)]
+Indexes2<-Indexes2[,RealPriceIndex:=(RealPriceIndex1+RealPriceIndex2)/2]
+Indexes<-Indexes2[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+Indexes32<-Indexes[,.(ProvinceCode,RealPriceIndex1,RealPriceIndex2,RealPriceIndex)]
+Indexes<-Indexes[,.(ProvinceCode,RealPriceIndex)]
+CBN[,RealPriceIndex:=NULL]
+CBN<-merge(CBN,Indexes,by=c("ProvinceCode"),all.x = TRUE)
+CBN<-CBN[,Total_Food_Month_Per2:=FoodExpenditure_Per*RealPriceIndex]
+CBN<-CBN[,Total_Exp_Month_Per2:=Total_Exp_Month_Per_nondurable*RealPriceIndex]
+#utils::View(CBN)
+
+#Sort Expenditure data
+CBN<- CBN[order(Total_Exp_Month_Per2)]
+
+#Calculate cumulative weights
+sum(CBN$Weight)
+CBN$cumweight <- cumsum(CBN$Weight)
+tx <- max(CBN$cumweight)
+
+#Calculate deciles by weights
+CBN[,Decile:=cut(cumweight,breaks = seq(0,tx,tx/10),labels = 1:10)]
+CBN[,Percentile:=cut(cumweight,breaks=seq(0,tx,tx/100),labels=1:100)]
+
+#Update Poors
+CBN[,Poor:=ifelse(Decile %in% 1:4,1,0)]
+CBNPoor<-CBN[Poor==1]
+CBNPoor<-merge(CBNPoor,dt2,by=c("ProvinceCode"),all.x = TRUE)
+CBNPoor[,sum(HIndivNo),by=.(ProvinceCode)][order(ProvinceCode)]
+
+###Iteration1-3
+#Calculate Per_calories in clusters
+CBNPoor[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(185:200)][]
+#utils::View(CBNPoor)
+
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(202:217)][]
+
+CBNPoor[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor<-CBNPoor[Per_Daily_Exp_Calories!=0]
+CBNPoor[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+#CBN[,weighted.mean(Poor,Weight),by=cluster][order(cluster)]
+
+#Real Prices
+T_Bundle_Value<-subset(CBNPoor, ProvinceCode==23, select=c(Bundle_Value,Home_Per_Metr,Weight))
+Tehran_Bundle_Value1<-weighted.mean(T_Bundle_Value$Bundle_Value,T_Bundle_Value$Weight,na.rm = TRUE)
+Tehran_Bundle_Value2<-weighted.mean(T_Bundle_Value$Home_Per_Metr,T_Bundle_Value$Weight,na.rm = TRUE)
+CBNPoor[,RealPriceIndex1:=weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/Tehran_Bundle_Value1,by=ProvinceCode]
+CBNPoor[,RealPriceIndex2:=weighted.mean(Home_Per_Metr,Weight,na.rm = TRUE)/Tehran_Bundle_Value2,by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex1,Weight),by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex2,Weight),by=ProvinceCode]
+Indexes2<-CBNPoor[,.(RealPriceIndex1,RealPriceIndex2,ProvinceCode,Weight)]
+Indexes2<-Indexes2[,RealPriceIndex:=(RealPriceIndex1+RealPriceIndex2)/2]
+Indexes<-Indexes2[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+Indexes33<-Indexes[,.(ProvinceCode,RealPriceIndex1,RealPriceIndex2,RealPriceIndex)]
+Indexes<-Indexes[,.(ProvinceCode,RealPriceIndex)]
+CBN[,RealPriceIndex:=NULL]
+CBN<-merge(CBN,Indexes,by=c("ProvinceCode"),all.x = TRUE)
+CBN<-CBN[,Total_Food_Month_Per2:=FoodExpenditure_Per*RealPriceIndex]
+CBN<-CBN[,Total_Exp_Month_Per2:=Total_Exp_Month_Per_nondurable*RealPriceIndex]
+#utils::View(CBN)
+
+#Sort Expenditure data
+CBN<- CBN[order(Total_Exp_Month_Per2)]
+
+#Calculate cumulative weights
+sum(CBN$Weight)
+CBN$cumweight <- cumsum(CBN$Weight)
+tx <- max(CBN$cumweight)
+
+#Calculate deciles by weights
+CBN[,Decile:=cut(cumweight,breaks = seq(0,tx,tx/10),labels = 1:10)]
+CBN[,Percentile:=cut(cumweight,breaks=seq(0,tx,tx/100),labels=1:100)]
+
+#Update Poors
+CBN[,Poor:=ifelse(Decile %in% 1:4,1,0)]
+CBNPoor<-CBN[Poor==1]
+CBNPoor<-merge(CBNPoor,dt2,by=c("ProvinceCode"),all.x = TRUE)
+CBNPoor[,sum(HIndivNo),by=.(ProvinceCode)][order(ProvinceCode)]
+
+
+###Iteration1-4
+#Calculate Per_calories in clusters
+CBNPoor[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(185:200)][]
+#utils::View(CBNPoor)
+
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(202:217)][]
+
+CBNPoor[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor<-CBNPoor[Per_Daily_Exp_Calories!=0]
+CBNPoor[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+#CBN[,weighted.mean(Poor,Weight),by=cluster][order(cluster)]
+
+#Real Prices
+T_Bundle_Value<-subset(CBNPoor, ProvinceCode==23, select=c(Bundle_Value,Home_Per_Metr,Weight))
+Tehran_Bundle_Value1<-weighted.mean(T_Bundle_Value$Bundle_Value,T_Bundle_Value$Weight,na.rm = TRUE)
+Tehran_Bundle_Value2<-weighted.mean(T_Bundle_Value$Home_Per_Metr,T_Bundle_Value$Weight,na.rm = TRUE)
+CBNPoor[,RealPriceIndex1:=weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/Tehran_Bundle_Value1,by=ProvinceCode]
+CBNPoor[,RealPriceIndex2:=weighted.mean(Home_Per_Metr,Weight,na.rm = TRUE)/Tehran_Bundle_Value2,by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex1,Weight),by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex2,Weight),by=ProvinceCode]
+Indexes2<-CBNPoor[,.(RealPriceIndex1,RealPriceIndex2,ProvinceCode,Weight)]
+Indexes2<-Indexes2[,RealPriceIndex:=(RealPriceIndex1+RealPriceIndex2)/2]
+Indexes<-Indexes2[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+Indexes34<-Indexes[,.(ProvinceCode,RealPriceIndex1,RealPriceIndex2,RealPriceIndex)]
+Indexes<-Indexes[,.(ProvinceCode,RealPriceIndex)]
+CBN[,RealPriceIndex:=NULL]
+CBN<-merge(CBN,Indexes,by=c("ProvinceCode"),all.x = TRUE)
+CBN<-CBN[,Total_Food_Month_Per2:=FoodExpenditure_Per*RealPriceIndex]
+CBN<-CBN[,Total_Exp_Month_Per2:=Total_Exp_Month_Per_nondurable*RealPriceIndex]
+#utils::View(CBN)
+
+
+#Sort Expenditure data
+CBN<- CBN[order(Total_Exp_Month_Per2)]
+
+#Calculate cumulative weights
+sum(CBN$Weight)
+CBN$cumweight <- cumsum(CBN$Weight)
+tx <- max(CBN$cumweight)
+
+#Calculate deciles by weights
+CBN[,Decile:=cut(cumweight,breaks = seq(0,tx,tx/10),labels = 1:10)]
+CBN[,Percentile:=cut(cumweight,breaks=seq(0,tx,tx/100),labels=1:100)]
+
+#Update Poors
+CBN[,Poor:=ifelse(Decile %in% 1:4,1,0)]
+CBNPoor<-CBN[Poor==1]
+CBNPoor<-merge(CBNPoor,dt2,by=c("ProvinceCode"),all.x = TRUE)
+CBNPoor[,sum(HIndivNo),by=.(ProvinceCode)][order(ProvinceCode)]
+
+###Iteration1-5
+#Calculate Per_calories in clusters
+CBNPoor[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(185:200)][]
+#utils::View(CBNPoor)
+
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(202:217)][]
+
+CBNPoor[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor<-CBNPoor[Per_Daily_Exp_Calories!=0]
+CBNPoor[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+#CBN[,weighted.mean(Poor,Weight),by=cluster][order(cluster)]
+
+#Real Prices
+T_Bundle_Value<-subset(CBNPoor, ProvinceCode==23, select=c(Bundle_Value,Home_Per_Metr,Weight))
+Tehran_Bundle_Value1<-weighted.mean(T_Bundle_Value$Bundle_Value,T_Bundle_Value$Weight,na.rm = TRUE)
+Tehran_Bundle_Value2<-weighted.mean(T_Bundle_Value$Home_Per_Metr,T_Bundle_Value$Weight,na.rm = TRUE)
+CBNPoor[,RealPriceIndex1:=weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/Tehran_Bundle_Value1,by=ProvinceCode]
+CBNPoor[,RealPriceIndex2:=weighted.mean(Home_Per_Metr,Weight,na.rm = TRUE)/Tehran_Bundle_Value2,by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex1,Weight),by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex2,Weight),by=ProvinceCode]
+Indexes2<-CBNPoor[,.(RealPriceIndex1,RealPriceIndex2,ProvinceCode,Weight)]
+Indexes2<-Indexes2[,RealPriceIndex:=(RealPriceIndex1+RealPriceIndex2)/2]
+Indexes<-Indexes2[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+Indexes35<-Indexes[,.(ProvinceCode,RealPriceIndex1,RealPriceIndex2,RealPriceIndex)]
+Indexes<-Indexes[,.(ProvinceCode,RealPriceIndex)]
+CBN[,RealPriceIndex:=NULL]
+CBN<-merge(CBN,Indexes,by=c("ProvinceCode"),all.x = TRUE)
+CBN<-CBN[,Total_Food_Month_Per2:=FoodExpenditure_Per*RealPriceIndex]
+CBN<-CBN[,Total_Exp_Month_Per2:=Total_Exp_Month_Per_nondurable*RealPriceIndex]
+#utils::View(CBN)
+
+
+#Sort Expenditure data
+CBN<- CBN[order(Total_Exp_Month_Per2)]
+
+#Calculate cumulative weights
+sum(CBN$Weight)
+CBN$cumweight <- cumsum(CBN$Weight)
+tx <- max(CBN$cumweight)
+
+#Calculate deciles by weights
+CBN[,Decile:=cut(cumweight,breaks = seq(0,tx,tx/10),labels = 1:10)]
+CBN[,Percentile:=cut(cumweight,breaks=seq(0,tx,tx/100),labels=1:100)]
+
+#Update Poors
+CBN[,Poor:=ifelse(Decile %in% 1:4,1,0)]
+CBNPoor<-CBN[Poor==1]
+CBNPoor<-merge(CBNPoor,dt2,by=c("ProvinceCode"),all.x = TRUE)
+CBNPoor[,sum(HIndivNo),by=.(ProvinceCode)][order(ProvinceCode)]
+
+###Iteration1-6
+#Calculate Per_calories in clusters
+CBNPoor[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(185:200)][]
+#utils::View(CBNPoor)
+
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(202:217)][]
+
+CBNPoor[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor<-CBNPoor[Per_Daily_Exp_Calories!=0]
+CBNPoor[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+#CBN[,weighted.mean(Poor,Weight),by=cluster][order(cluster)]
+
+#Real Prices
+T_Bundle_Value<-subset(CBNPoor, ProvinceCode==23, select=c(Bundle_Value,Home_Per_Metr,Weight))
+Tehran_Bundle_Value1<-weighted.mean(T_Bundle_Value$Bundle_Value,T_Bundle_Value$Weight,na.rm = TRUE)
+Tehran_Bundle_Value2<-weighted.mean(T_Bundle_Value$Home_Per_Metr,T_Bundle_Value$Weight,na.rm = TRUE)
+CBNPoor[,RealPriceIndex1:=weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/Tehran_Bundle_Value1,by=ProvinceCode]
+CBNPoor[,RealPriceIndex2:=weighted.mean(Home_Per_Metr,Weight,na.rm = TRUE)/Tehran_Bundle_Value2,by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex1,Weight),by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex2,Weight),by=ProvinceCode]
+Indexes2<-CBNPoor[,.(RealPriceIndex1,RealPriceIndex2,ProvinceCode,Weight)]
+Indexes2<-Indexes2[,RealPriceIndex:=(RealPriceIndex1+RealPriceIndex2)/2]
+Indexes<-Indexes2[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+Indexes36<-Indexes[,.(ProvinceCode,RealPriceIndex1,RealPriceIndex2,RealPriceIndex)]
+Indexes<-Indexes[,.(ProvinceCode,RealPriceIndex)]
+CBN[,RealPriceIndex:=NULL]
+CBN<-merge(CBN,Indexes,by=c("ProvinceCode"),all.x = TRUE)
+CBN<-CBN[,Total_Food_Month_Per2:=FoodExpenditure_Per*RealPriceIndex]
+CBN<-CBN[,Total_Exp_Month_Per2:=Total_Exp_Month_Per_nondurable*RealPriceIndex]
+#utils::View(CBN)
+
+
+#Sort Expenditure data
+CBN<- CBN[order(Total_Exp_Month_Per2)]
+
+#Calculate cumulative weights
+sum(CBN$Weight)
+CBN$cumweight <- cumsum(CBN$Weight)
+tx <- max(CBN$cumweight)
+
+#Calculate deciles by weights
+CBN[,Decile:=cut(cumweight,breaks = seq(0,tx,tx/10),labels = 1:10)]
+CBN[,Percentile:=cut(cumweight,breaks=seq(0,tx,tx/100),labels=1:100)]
+
+#Update Poors
+CBN[,Poor:=ifelse(Decile %in% 1:4,1,0)]
+CBNPoor<-CBN[Poor==1]
+CBNPoor<-merge(CBNPoor,dt2,by=c("ProvinceCode"),all.x = TRUE)
+CBNPoor[,sum(HIndivNo),by=.(ProvinceCode)][order(ProvinceCode)]
+
+###Iteration1-7
+#Calculate Per_calories in clusters
+CBNPoor[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(185:200)][]
+#utils::View(CBNPoor)
+
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(202:217)][]
+
+CBNPoor[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor<-CBNPoor[Per_Daily_Exp_Calories!=0]
+CBNPoor[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+#CBN[,weighted.mean(Poor,Weight),by=cluster][order(cluster)]
+
+#Real Prices
+T_Bundle_Value<-subset(CBNPoor, ProvinceCode==23, select=c(Bundle_Value,Home_Per_Metr,Weight))
+Tehran_Bundle_Value1<-weighted.mean(T_Bundle_Value$Bundle_Value,T_Bundle_Value$Weight,na.rm = TRUE)
+Tehran_Bundle_Value2<-weighted.mean(T_Bundle_Value$Home_Per_Metr,T_Bundle_Value$Weight,na.rm = TRUE)
+CBNPoor[,RealPriceIndex1:=weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/Tehran_Bundle_Value1,by=ProvinceCode]
+CBNPoor[,RealPriceIndex2:=weighted.mean(Home_Per_Metr,Weight,na.rm = TRUE)/Tehran_Bundle_Value2,by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex1,Weight),by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex2,Weight),by=ProvinceCode]
+Indexes2<-CBNPoor[,.(RealPriceIndex1,RealPriceIndex2,ProvinceCode,Weight)]
+Indexes2<-Indexes2[,RealPriceIndex:=(RealPriceIndex1+RealPriceIndex2)/2]
+Indexes<-Indexes2[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+Indexes37<-Indexes[,.(ProvinceCode,RealPriceIndex1,RealPriceIndex2,RealPriceIndex)]
+Indexes<-Indexes[,.(ProvinceCode,RealPriceIndex)]
+CBN[,RealPriceIndex:=NULL]
+CBN<-merge(CBN,Indexes,by=c("ProvinceCode"),all.x = TRUE)
+CBN<-CBN[,Total_Food_Month_Per2:=FoodExpenditure_Per*RealPriceIndex]
+CBN<-CBN[,Total_Exp_Month_Per2:=Total_Exp_Month_Per_nondurable*RealPriceIndex]
+#utils::View(CBN)
+
+
+#Sort Expenditure data
+CBN<- CBN[order(Total_Exp_Month_Per2)]
+
+#Calculate cumulative weights
+sum(CBN$Weight)
+CBN$cumweight <- cumsum(CBN$Weight)
+tx <- max(CBN$cumweight)
+
+#Calculate deciles by weights
+CBN[,Decile:=cut(cumweight,breaks = seq(0,tx,tx/10),labels = 1:10)]
+CBN[,Percentile:=cut(cumweight,breaks=seq(0,tx,tx/100),labels=1:100)]
+
+#Update Poors
+CBN[,Poor:=ifelse(Decile %in% 1:4,1,0)]
+CBNPoor<-CBN[Poor==1]
+CBNPoor<-merge(CBNPoor,dt2,by=c("ProvinceCode"),all.x = TRUE)
+CBNPoor[,sum(HIndivNo),by=.(ProvinceCode)][order(ProvinceCode)]
+
+###Iteration1-8
+#Calculate Per_calories in clusters
+CBNPoor[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(185:200)][]
+#utils::View(CBNPoor)
+
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(202:217)][]
+
+CBNPoor[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor<-CBNPoor[Per_Daily_Exp_Calories!=0]
+CBNPoor[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+#CBN[,weighted.mean(Poor,Weight),by=cluster][order(cluster)]
+
+#Real Prices
+T_Bundle_Value<-subset(CBNPoor, ProvinceCode==23, select=c(Bundle_Value,Home_Per_Metr,Weight))
+Tehran_Bundle_Value1<-weighted.mean(T_Bundle_Value$Bundle_Value,T_Bundle_Value$Weight,na.rm = TRUE)
+Tehran_Bundle_Value2<-weighted.mean(T_Bundle_Value$Home_Per_Metr,T_Bundle_Value$Weight,na.rm = TRUE)
+CBNPoor[,RealPriceIndex1:=weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/Tehran_Bundle_Value1,by=ProvinceCode]
+CBNPoor[,RealPriceIndex2:=weighted.mean(Home_Per_Metr,Weight,na.rm = TRUE)/Tehran_Bundle_Value2,by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex1,Weight),by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex2,Weight),by=ProvinceCode]
+Indexes2<-CBNPoor[,.(RealPriceIndex1,RealPriceIndex2,ProvinceCode,Weight)]
+Indexes2<-Indexes2[,RealPriceIndex:=(RealPriceIndex1+RealPriceIndex2)/2]
+Indexes<-Indexes2[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+Indexes38<-Indexes[,.(ProvinceCode,RealPriceIndex1,RealPriceIndex2,RealPriceIndex)]
+Indexes<-Indexes[,.(ProvinceCode,RealPriceIndex)]
+CBN[,RealPriceIndex:=NULL]
+CBN<-merge(CBN,Indexes,by=c("ProvinceCode"),all.x = TRUE)
+CBN<-CBN[,Total_Food_Month_Per2:=FoodExpenditure_Per*RealPriceIndex]
+CBN<-CBN[,Total_Exp_Month_Per2:=Total_Exp_Month_Per_nondurable*RealPriceIndex]
+#utils::View(CBN)
+
+
+#Sort Expenditure data
+CBN<- CBN[order(Total_Exp_Month_Per2)]
+
+#Calculate cumulative weights
+sum(CBN$Weight)
+CBN$cumweight <- cumsum(CBN$Weight)
+tx <- max(CBN$cumweight)
+
+#Calculate deciles by weights
+CBN[,Decile:=cut(cumweight,breaks = seq(0,tx,tx/10),labels = 1:10)]
+CBN[,Percentile:=cut(cumweight,breaks=seq(0,tx,tx/100),labels=1:100)]
+
+#Update Poors
+CBN[,Poor:=ifelse(Decile %in% 1:4,1,0)]
+CBNPoor<-CBN[Poor==1]
+CBNPoor<-merge(CBNPoor,dt2,by=c("ProvinceCode"),all.x = TRUE)
+CBNPoor[,sum(HIndivNo),by=.(ProvinceCode)][order(ProvinceCode)]
+
+###Iteration1-9
+#Calculate Per_calories in clusters
+CBNPoor[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(185:200)][]
+#utils::View(CBNPoor)
+
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(202:217)][]
+
+CBNPoor[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor<-CBNPoor[Per_Daily_Exp_Calories!=0]
+CBNPoor[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+#CBN[,weighted.mean(Poor,Weight),by=cluster][order(cluster)]
+
+#Real Prices
+T_Bundle_Value<-subset(CBNPoor, ProvinceCode==23, select=c(Bundle_Value,Home_Per_Metr,Weight))
+Tehran_Bundle_Value1<-weighted.mean(T_Bundle_Value$Bundle_Value,T_Bundle_Value$Weight,na.rm = TRUE)
+Tehran_Bundle_Value2<-weighted.mean(T_Bundle_Value$Home_Per_Metr,T_Bundle_Value$Weight,na.rm = TRUE)
+CBNPoor[,RealPriceIndex1:=weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/Tehran_Bundle_Value1,by=ProvinceCode]
+CBNPoor[,RealPriceIndex2:=weighted.mean(Home_Per_Metr,Weight,na.rm = TRUE)/Tehran_Bundle_Value2,by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex1,Weight),by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex2,Weight),by=ProvinceCode]
+Indexes2<-CBNPoor[,.(RealPriceIndex1,RealPriceIndex2,ProvinceCode,Weight)]
+Indexes2<-Indexes2[,RealPriceIndex:=(RealPriceIndex1+RealPriceIndex2)/2]
+Indexes<-Indexes2[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+Indexes39<-Indexes[,.(ProvinceCode,RealPriceIndex1,RealPriceIndex2,RealPriceIndex)]
+Indexes<-Indexes[,.(ProvinceCode,RealPriceIndex)]
+CBN[,RealPriceIndex:=NULL]
+CBN<-merge(CBN,Indexes,by=c("ProvinceCode"),all.x = TRUE)
+CBN<-CBN[,Total_Food_Month_Per2:=FoodExpenditure_Per*RealPriceIndex]
+CBN<-CBN[,Total_Exp_Month_Per2:=Total_Exp_Month_Per_nondurable*RealPriceIndex]
+#utils::View(CBN)
+
+
+#Sort Expenditure data
+CBN<- CBN[order(Total_Exp_Month_Per2)]
+
+#Calculate cumulative weights
+sum(CBN$Weight)
+CBN$cumweight <- cumsum(CBN$Weight)
+tx <- max(CBN$cumweight)
+
+#Calculate deciles by weights
+CBN[,Decile:=cut(cumweight,breaks = seq(0,tx,tx/10),labels = 1:10)]
+CBN[,Percentile:=cut(cumweight,breaks=seq(0,tx,tx/100),labels=1:100)]
+
+#Update Poors
+CBN[,Poor:=ifelse(Decile %in% 1:4,1,0)]
+CBNPoor<-CBN[Poor==1]
+CBNPoor<-merge(CBNPoor,dt2,by=c("ProvinceCode"),all.x = TRUE)
+CBNPoor[,sum(HIndivNo),by=.(ProvinceCode)][order(ProvinceCode)]
+
+###Iteration1-10
+#Calculate Per_calories in clusters
+CBNPoor[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(185:200)][]
+#utils::View(CBNPoor)
+
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(202:217)][]
+
+CBNPoor[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor<-CBNPoor[Per_Daily_Exp_Calories!=0]
+CBNPoor[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+#CBN[,weighted.mean(Poor,Weight),by=cluster][order(cluster)]
+
+#Real Prices
+T_Bundle_Value<-subset(CBNPoor, ProvinceCode==23, select=c(Bundle_Value,Home_Per_Metr,Weight))
+Tehran_Bundle_Value1<-weighted.mean(T_Bundle_Value$Bundle_Value,T_Bundle_Value$Weight,na.rm = TRUE)
+Tehran_Bundle_Value2<-weighted.mean(T_Bundle_Value$Home_Per_Metr,T_Bundle_Value$Weight,na.rm = TRUE)
+CBNPoor[,RealPriceIndex1:=weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/Tehran_Bundle_Value1,by=ProvinceCode]
+CBNPoor[,RealPriceIndex2:=weighted.mean(Home_Per_Metr,Weight,na.rm = TRUE)/Tehran_Bundle_Value2,by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex1,Weight),by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex2,Weight),by=ProvinceCode]
+Indexes2<-CBNPoor[,.(RealPriceIndex1,RealPriceIndex2,ProvinceCode,Weight)]
+Indexes2<-Indexes2[,RealPriceIndex:=(RealPriceIndex1+RealPriceIndex2)/2]
+Indexes<-Indexes2[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+Indexes310<-Indexes[,.(ProvinceCode,RealPriceIndex1,RealPriceIndex2,RealPriceIndex)]
+Indexes<-Indexes[,.(ProvinceCode,RealPriceIndex)]
+CBN[,RealPriceIndex:=NULL]
+CBN<-merge(CBN,Indexes,by=c("ProvinceCode"),all.x = TRUE)
+CBN<-CBN[,Total_Food_Month_Per2:=FoodExpenditure_Per*RealPriceIndex]
+CBN<-CBN[,Total_Exp_Month_Per2:=Total_Exp_Month_Per_nondurable*RealPriceIndex]
+#utils::View(CBN)
+
+
+#Sort Expenditure data
+CBN<- CBN[order(Total_Exp_Month_Per2)]
+
+#Calculate cumulative weights
+sum(CBN$Weight)
+CBN$cumweight <- cumsum(CBN$Weight)
+tx <- max(CBN$cumweight)
+
+#Calculate deciles by weights
+CBN[,Decile:=cut(cumweight,breaks = seq(0,tx,tx/10),labels = 1:10)]
+CBN[,Percentile:=cut(cumweight,breaks=seq(0,tx,tx/100),labels=1:100)]
+
+#Update Poors
+CBN[,Poor:=ifelse(Decile %in% 1:4,1,0)]
+CBNPoor<-CBN[Poor==1]
+CBNPoor<-merge(CBNPoor,dt2,by=c("ProvinceCode"),all.x = TRUE)
+CBNPoor[,sum(HIndivNo),by=.(ProvinceCode)][order(ProvinceCode)]
+
+
+#Calculate Per_calories in clusters
+CBNPoor[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(189:204)][]
+#utils::View(CBNPoor)
+
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(206:221)][]
+
+CBNPoor[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor<-CBNPoor[Per_Daily_Exp_Calories!=0]
+CBNPoor[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNCalory<-CBNPoor[,.(Per_Daily_Calories,Per_Daily_Exp_Calories,Per_Calory_Resturant,Resturant_Exp,cluster,ProvinceCode)]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+
+
+#Calculations
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_day,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,sum(Size*Weight),by=cluster][order(cluster)]
+
+
+#Food Poverty Line for each cluster
+#cluster 1
+CBNPoorCluster<-CBNPoor[cluster==1]
+Food_Povertyline1_1<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 2
+CBNPoorCluster<-CBNPoor[cluster==2]
+Food_Povertyline2_1<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 3
+CBNPoorCluster<-CBNPoor[cluster==3]
+Food_Povertyline3_1<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 4
+CBNPoorCluster<-CBNPoor[cluster==4]
+Food_Povertyline4_1<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 5
+CBNPoorCluster<-CBNPoor[cluster==5]
+Food_Povertyline5_1<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#ee<-CBNPoor[,.(Total_Exp_Month_Real,Total_Exp_Month,Total_Food_Month_Per2,Total_Exp_Month_Per_nondurable,Total_Exp_Month_nondurable_Real_Per,FoodExpenditure_Per,cluster)]
+#mean(ee[,Total_Food_Month_Per2==Total_Exp_Month_nondurable_Real])
+#mean(ee[,Total_Food_Month_Per2<3500000])
+#ee<- ee[order(Total_Food_Month_Per2)]
+#utils::View(CBN)
+CBN<-merge(CBN,dt2,by=c("ProvinceCode"),all.x = TRUE)
+#for (col in c("Total_Food_Month_Per2")) CBN[is.na(get(col)), (col) := Total_Exp_Month_Per_nondurable]
+c<-CBN[,.(FoodExpenditure_Per,FoodExpenditure_Per_total,Total_Exp_Month_Per_nondurable,Total_Exp_Month,Total_Food_Month_Per2,Poor,Decile,Weight,cluster)]
+
+#########Iteration 2###############
+#Sort Expenditure data
+CBN<- CBN[order(Total_Food_Month_Per2)]
+c<- c[order(Total_Food_Month_Per2)]
+
+#Indicate new poors
+CBN[,Poor2:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_1 & cluster==1,1,0)]
+c[,Poor2:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_1 & cluster==1 ,1,0)]
+CBN[,Poor2:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_1 & cluster==2,1,Poor2)]
+c[,Poor2:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_1 & cluster==2 ,1,Poor2)]
+CBN[,Poor2:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_1 & cluster==3,1,Poor2)]
+c[,Poor2:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_1 & cluster==3 ,1,Poor2)]
+CBN[,Poor2:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_1 & cluster==4,1,Poor2)]
+c[,Poor2:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_1 & cluster==4 ,1,Poor2)]
+CBN[,Poor2:=ifelse(FoodExpenditure_Per_total < Food_Povertyline5_1 & cluster==5,1,Poor2)]
+c[,Poor2:=ifelse(FoodExpenditure_Per_total < Food_Povertyline5_1 & cluster==5 ,1,Poor2)]
+CBN[,weighted.mean(Poor2,Weight),by=cluster][order(cluster)]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2<-CBN[Poor2==1]
+
+
+#CalculatePer_calories in clusters
+CBNPoor2[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(190:205)][]
+#utils::View(CBNPoor2)
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor2[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(207:222)][]
+
+CBNPoor2[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor2[,Calory_Price:=FoodExpenditure_Per_cluster/(Daily_Calories_cluster2)]
+CBNPoor2[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor2[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2<-CBNPoor2[Per_Daily_Exp_Calories!=0]
+CBNPoor2[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor2[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor2[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor2[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor2[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor2[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+
+
+
+#Calculations
+CBNPoor2[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,weighted.mean(FoodExpenditure_Per_day,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+
+
+
+#Food Poverty Line for each cluster
+#cluster 1
+CBNPoorCluster<-CBNPoor2[cluster==1]
+Food_Povertyline1_2<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 2
+CBNPoorCluster<-CBNPoor2[cluster==2]
+Food_Povertyline2_2<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 3
+CBNPoorCluster<-CBNPoor2[cluster==3]
+Food_Povertyline3_2<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 4
+CBNPoorCluster<-CBNPoor2[cluster==4]
+Food_Povertyline4_2<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 5
+CBNPoorCluster<-CBNPoor[cluster==5]
+Food_Povertyline5_2<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#ee<-CBNPoor[,.(Total_Exp_Month_Real,Total_Exp_Month,Total_Food_Month_Per2,Total_Exp_Month_Per_nondurable,Total_Exp_Month_nondurable_Real_Per,FoodExpenditure_Per,cluster)]
+#mean(ee[,Total_Food_Month_Per2==Total_Exp_Month_nondurable_Real])
+#mean(ee[,Total_Food_Month_Per2<3500000])
+#ee<- ee[order(Total_Food_Month_Per2)]
+#utils::View(CBN)
+#for (col in c("Total_Food_Month_Per2")) CBN[is.na(get(col)), (col) := Total_Exp_Month_Per_nondurable]
+c<-CBN[,.(FoodExpenditure_Per,FoodExpenditure_Per_total,Total_Exp_Month_Per_nondurable,Total_Exp_Month,Total_Food_Month_Per2,Poor,Decile,Weight,cluster)]
+
+
+#########Iteration 3###############
+#Sort Expenditure data
+CBN<- CBN[order(Total_Food_Month_Per2)]
+c<- c[order(Total_Food_Month_Per2)]
+
+#Indicate new poors
+CBN[,Poor3:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_2 & cluster==1,1,0)]
+c[,Poor3:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_2 & cluster==1 ,1,0)]
+CBN[,Poor3:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_2 & cluster==2,1,Poor3)]
+c[,Poor3:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_2 & cluster==2 ,1,Poor3)]
+CBN[,Poor3:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_2 & cluster==3,1,Poor3)]
+c[,Poor3:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_2 & cluster==3 ,1,Poor3)]
+CBN[,Poor3:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_2 & cluster==4,1,Poor3)]
+c[,Poor3:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_2 & cluster==4 ,1,Poor3)]
+CBN[,Poor3:=ifelse(FoodExpenditure_Per_total < Food_Povertyline5_2 & cluster==5,1,Poor3)]
+c[,Poor3:=ifelse(FoodExpenditure_Per_total < Food_Povertyline5_2 & cluster==5 ,1,Poor3)]
+CBN[,weighted.mean(Poor3,Weight),by=cluster][order(cluster)]
+CBNPoor2[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3<-CBN[Poor3==1]
+
+
+
+#CalculatePer_calories in clusters
+CBNPoor3[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(191:206)][]
+#utils::View(CBNPoor3)
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor3[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(208:223)][]
+
+
+CBNPoor3[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor3[,Calory_Price:=FoodExpenditure_Per_cluster/(Daily_Calories_cluster2)]
+CBNPoor3[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor3[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3<-CBNPoor3[Per_Daily_Exp_Calories!=0]
+CBNPoor3[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor3[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+
+#sum of total food expenditures
+CBNPoor3[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor3[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor3[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor3[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+
+
+#Calculations
+CBNPoor3[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,weighted.mean(FoodExpenditure_Per_day,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+
+
+
+#Food Poverty Line for each cluster
+#cluster 1
+CBNPoorCluster<-CBNPoor3[cluster==1]
+Food_Povertyline1_3<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 2
+CBNPoorCluster<-CBNPoor3[cluster==2]
+Food_Povertyline2_3<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 3
+CBNPoorCluster<-CBNPoor3[cluster==3]
+Food_Povertyline3_3<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 4
+CBNPoorCluster<-CBNPoor3[cluster==4]
+Food_Povertyline4_3<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 5
+CBNPoorCluster<-CBNPoor[cluster==5]
+Food_Povertyline5_3<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#ee<-CBNPoor[,.(Total_Exp_Month_Real,Total_Exp_Month,Total_Food_Month_Per2,Total_Exp_Month_Per_nondurable,Total_Exp_Month_nondurable_Real_Per,FoodExpenditure_Per,cluster)]
+#mean(ee[,Total_Food_Month_Per2==Total_Exp_Month_nondurable_Real])
+#mean(ee[,Total_Food_Month_Per2<3500000])
+#ee<- ee[order(Total_Food_Month_Per2)]
+#utils::View(CBN)
+#for (col in c("Total_Food_Month_Per2")) CBN[is.na(get(col)), (col) := Total_Exp_Month_Per_nondurable]
+c<-CBN[,.(FoodExpenditure_Per,FoodExpenditure_Per_total,Total_Exp_Month_Per_nondurable,Total_Exp_Month,Total_Food_Month_Per2,Poor,Decile,Weight,cluster)]
+
+
+#########Iteration 4###############
+#Sort Expenditure data
+CBN<- CBN[order(Total_Food_Month_Per2)]
+c<- c[order(Total_Food_Month_Per2)]
+
+#Indicate new poors
+CBN[,Poor4:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_3 & cluster==1,1,0)]
+c[,Poor4:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_3 & cluster==1 ,1,0)]
+CBN[,Poor4:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_3 & cluster==2,1,Poor4)]
+c[,Poor4:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_3 & cluster==2 ,1,Poor4)]
+CBN[,Poor4:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_3 & cluster==3,1,Poor4)]
+c[,Poor4:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_3 & cluster==3 ,1,Poor4)]
+CBN[,Poor4:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_3 & cluster==4,1,Poor4)]
+c[,Poor4:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_3 & cluster==4 ,1,Poor4)]
+CBN[,Poor4:=ifelse(FoodExpenditure_Per_total < Food_Povertyline5_3 & cluster==5,1,Poor4)]
+c[,Poor4:=ifelse(FoodExpenditure_Per_total < Food_Povertyline5_3 & cluster==5 ,1,Poor4)]
+CBN[,weighted.mean(Poor4,Weight),by=cluster][order(cluster)]
+CBNPoor3[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4<-CBN[Poor4==1]
+
+#CalculatePer_calories in clusters
+CBNPoor4[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(191:206)][]
+#utils::View(CBNPoor4)
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor4[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(208:223)][]
+
+
+CBNPoor4[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor4[,Calory_Price:=FoodExpenditure_Per_cluster/(Daily_Calories_cluster2)]
+CBNPoor4[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor4[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4<-CBNPoor4[Per_Daily_Exp_Calories!=0]
+CBNPoor4[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor4[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+
+#sum of total food expenditures
+CBNPoor4[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor4[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor4[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor4[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+
+
+#Calculations
+CBNPoor4[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,weighted.mean(FoodExpenditure_Per_day,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+
+
+
+#Food Poverty Line for each cluster
+#cluster 1
+CBNPoorCluster<-CBNPoor4[cluster==1]
+Food_Povertyline1_4<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 2
+CBNPoorCluster<-CBNPoor4[cluster==2]
+Food_Povertyline2_4<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 3
+CBNPoorCluster<-CBNPoor4[cluster==3]
+Food_Povertyline3_4<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 4
+CBNPoorCluster<-CBNPoor4[cluster==4]
+Food_Povertyline4_4<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 5
+CBNPoorCluster<-CBNPoor[cluster==5]
+Food_Povertyline5_4<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#ee<-CBNPoor[,.(Total_Exp_Month_Real,Total_Exp_Month,Total_Food_Month_Per2,Total_Exp_Month_Per_nondurable,Total_Exp_Month_nondurable_Real_Per,FoodExpenditure_Per,cluster)]
+#mean(ee[,Total_Food_Month_Per2==Total_Exp_Month_nondurable_Real])
+#mean(ee[,Total_Food_Month_Per2<3500000])
+#ee<- ee[order(Total_Food_Month_Per2)]
+#utils::View(CBN)
+#for (col in c("Total_Food_Month_Per2")) CBN[is.na(get(col)), (col) := Total_Exp_Month_Per_nondurable]
+c<-CBN[,.(FoodExpenditure_Per,FoodExpenditure_Per_total,Total_Exp_Month_Per_nondurable,Total_Exp_Month,Total_Food_Month_Per2,Poor,Decile,Weight,cluster)]
+
+
+#########Iteration 5###############
+#Sort Expenditure data
+CBN<- CBN[order(Total_Food_Month_Per2)]
+c<- c[order(Total_Food_Month_Per2)]
+
+#Indicate new poors
+CBN[,Poor5:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_4 & cluster==1,1,0)]
+c[,Poor5:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_4 & cluster==1 ,1,0)]
+CBN[,Poor5:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_4 & cluster==2,1,Poor5)]
+c[,Poor5:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_4 & cluster==2 ,1,Poor5)]
+CBN[,Poor5:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_4 & cluster==3,1,Poor5)]
+c[,Poor5:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_4 & cluster==3 ,1,Poor5)]
+CBN[,Poor5:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_4 & cluster==4,1,Poor5)]
+c[,Poor5:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_4 & cluster==4 ,1,Poor5)]
+CBN[,Poor5:=ifelse(FoodExpenditure_Per_total < Food_Povertyline5_4 & cluster==5,1,Poor5)]
+c[,Poor5:=ifelse(FoodExpenditure_Per_total < Food_Povertyline5_4 & cluster==5 ,1,Poor5)]
+CBN[,weighted.mean(Poor5,Weight),by=cluster][order(cluster)]
+CBNPoor4[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5<-CBN[Poor5==1]
+
+#CalculatePer_calories in clusters
+CBNPoor5[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(191:206)][]
+#utils::View(CBNPoor5)
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor5[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(208:223)][]
+
+
+CBNPoor5[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor5[,Calory_Price:=FoodExpenditure_Per_cluster/(Daily_Calories_cluster2)]
+CBNPoor5[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor5[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5<-CBNPoor5[Per_Daily_Exp_Calories!=0]
+CBNPoor5[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor5[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+
+#sum of total food expenditures
+CBNPoor5[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor5[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor5[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor5[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+
+
+#Calculations
+CBNPoor5[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,weighted.mean(FoodExpenditure_Per_day,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+
+
+
+#Food Poverty Line for each cluster
+#cluster 1
+CBNPoorCluster<-CBNPoor5[cluster==1]
+Food_Povertyline1_5<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 2
+CBNPoorCluster<-CBNPoor5[cluster==2]
+Food_Povertyline2_5<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 3
+CBNPoorCluster<-CBNPoor5[cluster==3]
+Food_Povertyline3_5<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 4
+CBNPoorCluster<-CBNPoor5[cluster==4]
+Food_Povertyline4_5<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 5
+CBNPoorCluster<-CBNPoor[cluster==5]
+Food_Povertyline5_5<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#ee<-CBNPoor[,.(Total_Exp_Month_Real,Total_Exp_Month,Total_Food_Month_Per2,Total_Exp_Month_Per_nondurable,Total_Exp_Month_nondurable_Real_Per,FoodExpenditure_Per,cluster)]
+#mean(ee[,Total_Food_Month_Per2==Total_Exp_Month_nondurable_Real])
+#mean(ee[,Total_Food_Month_Per2<3500000])
+#ee<- ee[order(Total_Food_Month_Per2)]
+#utils::View(CBN)
+#for (col in c("Total_Food_Month_Per2")) CBN[is.na(get(col)), (col) := Total_Exp_Month_Per_nondurable]
+c<-CBN[,.(FoodExpenditure_Per,FoodExpenditure_Per_total,Total_Exp_Month_Per_nondurable,Total_Exp_Month,Total_Food_Month_Per2,Poor,Decile,Weight,cluster)]
+
+
+#########Iteration 6###############
+#Sort Expenditure data
+CBN<- CBN[order(Total_Food_Month_Per2)]
+c<- c[order(Total_Food_Month_Per2)]
+
+#Indicate new poors
+CBN[,Poor6:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_5 & cluster==1,1,0)]
+c[,Poor6:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_5 & cluster==1 ,1,0)]
+CBN[,Poor6:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_5 & cluster==2,1,Poor6)]
+c[,Poor6:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_5 & cluster==2 ,1,Poor6)]
+CBN[,Poor6:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_5 & cluster==3,1,Poor6)]
+c[,Poor6:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_5 & cluster==3 ,1,Poor6)]
+CBN[,Poor6:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_5 & cluster==4,1,Poor6)]
+c[,Poor6:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_5 & cluster==4 ,1,Poor6)]
+CBN[,Poor6:=ifelse(FoodExpenditure_Per_total < Food_Povertyline5_5 & cluster==5,1,Poor6)]
+c[,Poor6:=ifelse(FoodExpenditure_Per_total < Food_Povertyline5_5 & cluster==5 ,1,Poor6)]
+CBN[,weighted.mean(Poor6,Weight),by=cluster][order(cluster)]
+CBNPoor5[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6<-CBN[Poor6==1]
+
+#CalculatePer_calories in clusters
+CBNPoor6[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(191:206)][]
+#utils::View(CBNPoor6)
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor6[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(208:223)][]
+
+
+CBNPoor6[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor6[,Calory_Price:=FoodExpenditure_Per_cluster/(Daily_Calories_cluster2)]
+CBNPoor6[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor6[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6<-CBNPoor6[Per_Daily_Exp_Calories!=0]
+CBNPoor6[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor6[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+
+#sum of total food expenditures
+CBNPoor6[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor6[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor6[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor6[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+
+
+#Calculations
+CBNPoor6[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,weighted.mean(FoodExpenditure_Per_day,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+
+
+#Food Poverty Line for each cluster
+#cluster 1
+CBNPoorCluster<-CBNPoor6[cluster==1]
+Food_Povertyline1_6<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 2
+CBNPoorCluster<-CBNPoor6[cluster==2]
+Food_Povertyline2_6<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 3
+CBNPoorCluster<-CBNPoor6[cluster==3]
+Food_Povertyline3_6<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 4
+CBNPoorCluster<-CBNPoor6[cluster==4]
+Food_Povertyline4_6<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 5
+CBNPoorCluster<-CBNPoor[cluster==5]
+Food_Povertyline5_6<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#ee<-CBNPoor[,.(Total_Exp_Month_Real,Total_Exp_Month,Total_Food_Month_Per2,Total_Exp_Month_Per_nondurable,Total_Exp_Month_nondurable_Real_Per,FoodExpenditure_Per,cluster)]
+#mean(ee[,Total_Food_Month_Per2==Total_Exp_Month_nondurable_Real])
+#mean(ee[,Total_Food_Month_Per2<3500000])
+#ee<- ee[order(Total_Food_Month_Per2)]
+#utils::View(CBN)
+#for (col in c("Total_Food_Month_Per2")) CBN[is.na(get(col)), (col) := Total_Exp_Month_Per_nondurable]
+c<-CBN[,.(FoodExpenditure_Per,FoodExpenditure_Per_total,Total_Exp_Month_Per_nondurable,Total_Exp_Month,Total_Food_Month_Per2,Poor,Decile,Weight,cluster)]
+
+
+#########Iteration 7###############
+#Sort Expenditure data
+CBN<- CBN[order(Total_Food_Month_Per2)]
+c<- c[order(Total_Food_Month_Per2)]
+
+#Indicate new poors
+CBN[,Poor7:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_6 & cluster==1,1,0)]
+c[,Poor7:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_6 & cluster==1 ,1,0)]
+CBN[,Poor7:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_6 & cluster==2,1,Poor7)]
+c[,Poor7:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_6 & cluster==2 ,1,Poor7)]
+CBN[,Poor7:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_6 & cluster==3,1,Poor7)]
+c[,Poor7:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_6 & cluster==3 ,1,Poor7)]
+CBN[,Poor7:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_6 & cluster==4,1,Poor7)]
+c[,Poor7:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_6 & cluster==4 ,1,Poor7)]
+CBN[,Poor7:=ifelse(FoodExpenditure_Per_total < Food_Povertyline5_6 & cluster==5,1,Poor7)]
+c[,Poor7:=ifelse(FoodExpenditure_Per_total < Food_Povertyline5_6 & cluster==5 ,1,Poor7)]
+CBN[,weighted.mean(Poor7,Weight),by=cluster][order(cluster)]
+CBNPoor6[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7<-CBN[Poor7==1]
+
+#CalculatePer_calories in clusters
+CBNPoor7[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(191:206)][]
+#utils::View(CBNPoor7)
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor7[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(208:223)][]
+
+
+CBNPoor7[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor7[,Calory_Price:=FoodExpenditure_Per_cluster/(Daily_Calories_cluster2)]
+CBNPoor7[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor7[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7<-CBNPoor7[Per_Daily_Exp_Calories!=0]
+CBNPoor7[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor7[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+
+#sum of total food expenditures
+CBNPoor7[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor7[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor7[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor7[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+
+
+#Calculations
+CBNPoor7[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,weighted.mean(FoodExpenditure_Per_day,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+
+
+
+#Food Poverty Line for each cluster
+#cluster 1
+CBNPoorCluster<-CBNPoor7[cluster==1]
+Food_Povertyline1_7<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 2
+CBNPoorCluster<-CBNPoor7[cluster==2]
+Food_Povertyline2_7<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 3
+CBNPoorCluster<-CBNPoor7[cluster==3]
+Food_Povertyline3_7<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 4
+CBNPoorCluster<-CBNPoor7[cluster==4]
+Food_Povertyline4_7<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 5
+CBNPoorCluster<-CBNPoor[cluster==5]
+Food_Povertyline5_7<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#ee<-CBNPoor[,.(Total_Exp_Month_Real,Total_Exp_Month,Total_Food_Month_Per2,Total_Exp_Month_Per_nondurable,Total_Exp_Month_nondurable_Real_Per,FoodExpenditure_Per,cluster)]
+#mean(ee[,Total_Food_Month_Per2==Total_Exp_Month_nondurable_Real])
+#mean(ee[,Total_Food_Month_Per2<3500000])
+#ee<- ee[order(Total_Food_Month_Per2)]
+#utils::View(CBN)
+#for (col in c("Total_Food_Month_Per2")) CBN[is.na(get(col)), (col) := Total_Exp_Month_Per_nondurable]
+c<-CBN[,.(FoodExpenditure_Per,FoodExpenditure_Per_total,Total_Exp_Month_Per_nondurable,Total_Exp_Month,Total_Food_Month_Per2,Poor,Decile,Weight,cluster)]
+
+
+#########Iteration 8###############
+#Sort Expenditure data
+CBN<- CBN[order(Total_Food_Month_Per2)]
+c<- c[order(Total_Food_Month_Per2)]
+
+#Indicate new poors
+CBN[,Poor8:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_7 & cluster==1,1,0)]
+c[,Poor8:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_7 & cluster==1 ,1,0)]
+CBN[,Poor8:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_7 & cluster==2,1,Poor8)]
+c[,Poor8:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_7 & cluster==2 ,1,Poor8)]
+CBN[,Poor8:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_7 & cluster==3,1,Poor8)]
+c[,Poor8:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_7 & cluster==3 ,1,Poor8)]
+CBN[,Poor8:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_7 & cluster==4,1,Poor8)]
+c[,Poor8:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_7 & cluster==4 ,1,Poor8)]
+CBN[,Poor8:=ifelse(FoodExpenditure_Per_total < Food_Povertyline5_7 & cluster==5,1,Poor8)]
+c[,Poor8:=ifelse(FoodExpenditure_Per_total < Food_Povertyline5_7 & cluster==5 ,1,Poor8)]
+CBN[,weighted.mean(Poor8,Weight),by=cluster][order(cluster)]
+CBNPoor7[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8<-CBN[Poor8==1]
+
+
+#CalculatePer_calories in clusters
+CBNPoor8[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(191:206)][]
+#utils::View(CBNPoor8)
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor8[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(208:223)][]
+
+
+CBNPoor8[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor8[,Calory_Price:=FoodExpenditure_Per_cluster/(Daily_Calories_cluster2)]
+CBNPoor8[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor8[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8<-CBNPoor8[Per_Daily_Exp_Calories!=0]
+CBNPoor8[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor8[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+
+#sum of total food expenditures
+CBNPoor8[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor8[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor8[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor8[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+
+
+#Calculations
+CBNPoor8[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,weighted.mean(FoodExpenditure_Per_day,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+
+
+
+#Food Poverty Line for each cluster
+#cluster 1
+CBNPoorCluster<-CBNPoor8[cluster==1]
+Food_Povertyline1_8<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 2
+CBNPoorCluster<-CBNPoor8[cluster==2]
+Food_Povertyline2_8<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 3
+CBNPoorCluster<-CBNPoor8[cluster==3]
+Food_Povertyline3_8<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 4
+CBNPoorCluster<-CBNPoor8[cluster==4]
+Food_Povertyline4_8<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 5
+CBNPoorCluster<-CBNPoor[cluster==5]
+Food_Povertyline5_8<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#ee<-CBNPoor[,.(Total_Exp_Month_Real,Total_Exp_Month,Total_Food_Month_Per2,Total_Exp_Month_Per_nondurable,Total_Exp_Month_nondurable_Real_Per,FoodExpenditure_Per,cluster)]
+#mean(ee[,Total_Food_Month_Per2==Total_Exp_Month_nondurable_Real])
+#mean(ee[,Total_Food_Month_Per2<3500000])
+#ee<- ee[order(Total_Food_Month_Per2)]
+#utils::View(CBN)
+#for (col in c("Total_Food_Month_Per2")) CBN[is.na(get(col)), (col) := Total_Exp_Month_Per_nondurable]
+c<-CBN[,.(FoodExpenditure_Per,FoodExpenditure_Per_total,Total_Exp_Month_Per_nondurable,Total_Exp_Month,Total_Food_Month_Per2,Poor,Decile,Weight,cluster)]
+
+
+#########Iteration 9###############
+#Sort Expenditure data
+CBN<- CBN[order(Total_Food_Month_Per2)]
+c<- c[order(Total_Food_Month_Per2)]
+
+#Indicate new poors
+CBN[,Poor9:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_8 & cluster==1,1,0)]
+c[,Poor9:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_8 & cluster==1 ,1,0)]
+CBN[,Poor9:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_8 & cluster==2,1,Poor9)]
+c[,Poor9:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_8 & cluster==2 ,1,Poor9)]
+CBN[,Poor9:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_8 & cluster==3,1,Poor9)]
+c[,Poor9:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_8 & cluster==3 ,1,Poor9)]
+CBN[,Poor9:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_8 & cluster==4,1,Poor9)]
+c[,Poor9:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_8 & cluster==4 ,1,Poor9)]
+CBN[,Poor9:=ifelse(FoodExpenditure_Per_total < Food_Povertyline5_8 & cluster==5,1,Poor9)]
+c[,Poor9:=ifelse(FoodExpenditure_Per_total < Food_Povertyline5_8 & cluster==5 ,1,Poor9)]
+CBN[,weighted.mean(Poor9,Weight),by=cluster][order(cluster)]
+CBNPoor8[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9<-CBN[Poor9==1]
+
+
+#CalculatePer_calories in clusters
+CBNPoor9[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(191:206)][]
+#utils::View(CBNPoor9)
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor9[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(208:223)][]
+
+
+CBNPoor9[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor9[,Calory_Price:=FoodExpenditure_Per_cluster/(Daily_Calories_cluster2)]
+CBNPoor9[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor9[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9<-CBNPoor9[Per_Daily_Exp_Calories!=0]
+CBNPoor9[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor9[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+
+#sum of total food expenditures
+CBNPoor9[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor9[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor9[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor9[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+
+
+
+#Calculations
+CBNPoor9[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,weighted.mean(FoodExpenditure_Per_day,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+
+
+
+#Food Poverty Line for each cluster
+#cluster 1
+CBNPoorCluster<-CBNPoor9[cluster==1]
+Food_Povertyline1_9<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 2
+CBNPoorCluster<-CBNPoor9[cluster==2]
+Food_Povertyline2_9<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 3
+CBNPoorCluster<-CBNPoor9[cluster==3]
+Food_Povertyline3_9<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 4
+CBNPoorCluster<-CBNPoor9[cluster==4]
+Food_Povertyline4_9<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 5
+CBNPoorCluster<-CBNPoor[cluster==5]
+Food_Povertyline5_9<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#ee<-CBNPoor[,.(Total_Exp_Month_Real,Total_Exp_Month,Total_Food_Month_Per2,Total_Exp_Month_Per_nondurable,Total_Exp_Month_nondurable_Real_Per,FoodExpenditure_Per,cluster)]
+#mean(ee[,Total_Food_Month_Per2==Total_Exp_Month_nondurable_Real])
+#mean(ee[,Total_Food_Month_Per2<3500000])
+#ee<- ee[order(Total_Food_Month_Per2)]
+#utils::View(CBN)
+#for (col in c("Total_Food_Month_Per2")) CBN[is.na(get(col)), (col) := Total_Exp_Month_Per_nondurable]
+c<-CBN[,.(FoodExpenditure_Per,FoodExpenditure_Per_total,Total_Exp_Month_Per_nondurable,Total_Exp_Month,Total_Food_Month_Per2,Poor,Decile,Weight,cluster)]
+
+
+#########Iteration 10###############
+#Sort Expenditure data
+CBN<- CBN[order(Total_Food_Month_Per2)]
+c<- c[order(Total_Food_Month_Per2)]
+
+#Indicate new poors
+CBN[,Poor10:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_9 & cluster==1,1,0)]
+c[,Poor10:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_9 & cluster==1 ,1,0)]
+CBN[,Poor10:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_9 & cluster==2,1,Poor10)]
+c[,Poor10:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_9 & cluster==2 ,1,Poor10)]
+CBN[,Poor10:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_9 & cluster==3,1,Poor10)]
+c[,Poor10:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_9 & cluster==3 ,1,Poor10)]
+CBN[,Poor10:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_9 & cluster==4,1,Poor10)]
+c[,Poor10:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_9 & cluster==4 ,1,Poor10)]
+CBN[,Poor10:=ifelse(FoodExpenditure_Per_total < Food_Povertyline5_9 & cluster==5,1,Poor10)]
+c[,Poor10:=ifelse(FoodExpenditure_Per_total < Food_Povertyline5_9 & cluster==5 ,1,Poor10)]
+CBN[,weighted.mean(Poor10,Weight),by=cluster][order(cluster)]
+CBNPoor9[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor10<-CBN[Poor10==1]
+
+#Engel
+#CBNPoor9<-CBNPoor9[,ratio1:=FoodExpenditure/Total_Exp_Month]
+#CBNPoor9[,weighted.mean(ratio1,Weight),by=cluster]
+#summary(CBNPoor9$ratio1)
+CBN<-CBN[,ratio1:=FoodExpenditure/Total_Exp_Month]
+CBN[,weighted.mean(ratio1,Weight),by=ProvinceCode][order(ProvinceCode)]
+CBN<-CBN[,ratio2:=ServiceExp/Total_Exp_Month]
+CBN[,weighted.mean(ratio2,Weight),by=ProvinceCode][order(ProvinceCode)]
+
+#Engel-home ratio calculations
+CBN[cluster==1 & FoodExpenditure_Per_total<1.1*Food_Povertyline1_9 & FoodExpenditure_Per_total>0.90*Food_Povertyline1_9,sum(HIndivNo),by=ProvinceCode][order(ProvinceCode)]
+CBN[cluster==2 & FoodExpenditure_Per_total<1.1*Food_Povertyline2_9 & FoodExpenditure_Per_total>0.90*Food_Povertyline1_9,sum(HIndivNo),by=ProvinceCode][order(ProvinceCode)]
+CBN[cluster==3 & FoodExpenditure_Per_total<1.1*Food_Povertyline3_9 & FoodExpenditure_Per_total>0.90*Food_Povertyline1_9,sum(HIndivNo),by=ProvinceCode][order(ProvinceCode)]
+CBN[cluster==4 & FoodExpenditure_Per_total<1.1*Food_Povertyline4_9 & FoodExpenditure_Per_total>0.90*Food_Povertyline1_9,sum(HIndivNo),by=ProvinceCode][order(ProvinceCode)]
+CBN[cluster==5 & FoodExpenditure_Per_total<1.1*Food_Povertyline5_9 & FoodExpenditure_Per_total>0.90*Food_Povertyline1_9,sum(HIndivNo),by=ProvinceCode][order(ProvinceCode)]
+
+CBN[cluster==1 & FoodExpenditure_Per_total<1.1*Food_Povertyline1_9 & FoodExpenditure_Per_total>0.90*Food_Povertyline1_9,weighted.mean(ratio1,Weight),by=ProvinceCode][order(ProvinceCode)]
+CBN[cluster==2 & FoodExpenditure_Per_total<1.1*Food_Povertyline2_9 & FoodExpenditure_Per_total>0.90*Food_Povertyline1_9,weighted.mean(ratio1,Weight),by=ProvinceCode][order(ProvinceCode)]
+CBN[cluster==3 & FoodExpenditure_Per_total<1.1*Food_Povertyline3_9 & FoodExpenditure_Per_total>0.90*Food_Povertyline1_9,weighted.mean(ratio1,Weight),by=ProvinceCode][order(ProvinceCode)]
+CBN[cluster==4 & FoodExpenditure_Per_total<1.1*Food_Povertyline4_9 & FoodExpenditure_Per_total>0.90*Food_Povertyline1_9,weighted.mean(ratio1,Weight),by=ProvinceCode][order(ProvinceCode)]
+CBN[cluster==5 & FoodExpenditure_Per_total<1.1*Food_Povertyline5_9 & FoodExpenditure_Per_total>0.90*Food_Povertyline1_9,weighted.mean(ratio1,Weight),by=ProvinceCode][order(ProvinceCode)]
+
+CBN[cluster==1 & FoodExpenditure_Per_total<1.1*Food_Povertyline1_9 & FoodExpenditure_Per_total>0.90*Food_Povertyline1_9,weighted.mean(ratio2,Weight),by=ProvinceCode][order(ProvinceCode)]
+CBN[cluster==2 & FoodExpenditure_Per_total<1.1*Food_Povertyline2_9 & FoodExpenditure_Per_total>0.90*Food_Povertyline1_9,weighted.mean(ratio2,Weight),by=ProvinceCode][order(ProvinceCode)]
+CBN[cluster==3 & FoodExpenditure_Per_total<1.1*Food_Povertyline3_9 & FoodExpenditure_Per_total>0.90*Food_Povertyline1_9,weighted.mean(ratio2,Weight),by=ProvinceCode][order(ProvinceCode)]
+CBN[cluster==4 & FoodExpenditure_Per_total<1.1*Food_Povertyline4_9 & FoodExpenditure_Per_total>0.90*Food_Povertyline1_9,weighted.mean(ratio2,Weight),by=ProvinceCode][order(ProvinceCode)]
+CBN[cluster==5 & FoodExpenditure_Per_total<1.1*Food_Povertyline5_9 & FoodExpenditure_Per_total>0.90*Food_Povertyline1_9,weighted.mean(ratio2,Weight),by=ProvinceCode][order(ProvinceCode)]
+
+# Poverty Line for each cluster
+#cluster 1
+CBNPoorCluster<-CBN[cluster==1 & FoodExpenditure_Per_total<1.1*Food_Povertyline1_9 & FoodExpenditure_Per_total>0.90*Food_Povertyline1_9]
+Engel1<-weighted.mean(CBNPoorCluster$ratio1,CBNPoorCluster$Weight)
+Engel_Reverse1<-1/Engel1
+Povertyline1_9<-Engel_Reverse1*Food_Povertyline1_9
+
+#cluster 2
+CBNPoorCluster<-CBN[cluster==2 & FoodExpenditure_Per_total<1.1*Food_Povertyline2_9 & FoodExpenditure_Per_total>0.90*Food_Povertyline2_9]
+Engel2<-weighted.mean(CBNPoorCluster$ratio1,CBNPoorCluster$Weight)
+Engel_Reverse2<-1/Engel2
+Povertyline2_9<-Engel_Reverse2*Food_Povertyline2_9
+
+#cluster 3
+CBNPoorCluster<-CBN[cluster==3 & FoodExpenditure_Per_total<1.1*Food_Povertyline3_9 & FoodExpenditure_Per_total>0.90*Food_Povertyline3_9]
+Engel3<-weighted.mean(CBNPoorCluster$ratio1,CBNPoorCluster$Weight)
+Engel_Reverse3<-1/Engel3
+Povertyline3_9<-Engel_Reverse3*Food_Povertyline3_9
+
+#cluster 4
+CBNPoorCluster<-CBN[cluster==4 & FoodExpenditure_Per_total<1.1*Food_Povertyline4_9 & FoodExpenditure_Per_total>0.90*Food_Povertyline4_9]
+Engel4<-weighted.mean(CBNPoorCluster$ratio1,CBNPoorCluster$Weight)
+Engel_Reverse4<-1/Engel4
+Povertyline4_9<-Engel_Reverse4*Food_Povertyline4_9
+
+#cluster 5
+CBNPoorCluster<-CBN[cluster==5 & FoodExpenditure_Per_total<1.1*Food_Povertyline5_9 & FoodExpenditure_Per_total>0.90*Food_Povertyline5_9]
+Engel5<-weighted.mean(CBNPoorCluster$ratio1,CBNPoorCluster$Weight)
+Engel_Reverse5<-1/Engel5
+Povertyline5_9<-Engel_Reverse5*Food_Povertyline5_9
+
+#Indicate final poors
+CBN<-CBN[,Total_Exp_Month_Per2:=Total_Exp_Month_Per_nondurable*RealPriceIndex]
+
+CBN[,Poor11:=ifelse(Total_Exp_Month_Per_nondurable < Povertyline1_9 & cluster==1,1,0)]
+CBN[,Poor11:=ifelse(Total_Exp_Month_Per_nondurable < Povertyline2_9 & cluster==2,1,Poor11)]
+CBN[,Poor11:=ifelse(Total_Exp_Month_Per_nondurable < Povertyline3_9 & cluster==3,1,Poor11)]
+CBN[,Poor11:=ifelse(Total_Exp_Month_Per_nondurable < Povertyline4_9 & cluster==4,1,Poor11)]
+CBN[,Poor11:=ifelse(Total_Exp_Month_Per_nondurable < Povertyline5_9 & cluster==5,1,Poor11)]
+CBN[,weighted.mean(Poor11,Weight),by=cluster][order(cluster)]
+CBNPoor9[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor11<-CBN[Poor11==1]
+
+
+CBN[,sum(Size*Weight),by=cluster][order(cluster)]
+CBN[,sum(Size*Weight),by=.(cluster,Decile)][order(cluster,Decile)]
+CBNPoor[,sum(Size*Weight),by=cluster][order(cluster)]
+CBNPoor11[,sum(Size*Weight),by=cluster][order(cluster)]
+CBNPoor2[,sum(Size*Weight),by=cluster][order(cluster)]
+CBNPoor9[,sum(Size*Weight),by=cluster][order(cluster)]
+CBNPoor9[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster][order(cluster)]
+CBNPoor9[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster][order(cluster)]
+CBN[,weighted.mean(Poor11,Weight)]
+CBN[,weighted.mean(Poor11,Weight),by=cluster][order(cluster)]
+CBN[,weighted.mean(Poor11,Weight),by=ProvinceCode][order(ProvinceCode)]
+CBNPoor11[,sum(Size*Weight),by=ProvinceCode][order(ProvinceCode)]
+CBNPoor11[,sum(Weight),by=ProvinceCode][order(ProvinceCode)]
+CBN[,sum(Size*Weight),by=ProvinceCode][order(ProvinceCode)]
+CBN[,sum(Size*Weight)]
+
+##############################
+###Real Prices for report###
+##############################
+#sum of total food expenditures
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per]
+
+#Food expenditures (equal 2100 CCAL)
+CBN<-CBN[Per_Daily_Exp_Calories>0]
+CBN[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Exp_Calories]
+CBN[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+
+T_Bundle_Value<-subset(CBN, ProvinceCode==23, select=c(Bundle_Value,Home_Per_Metr,Weight))
+Tehran_Bundle_Value1<-weighted.mean(T_Bundle_Value$Bundle_Value,T_Bundle_Value$Weight,na.rm = TRUE)
+Tehran_Bundle_Value2<-weighted.mean(T_Bundle_Value$Home_Per_Metr,T_Bundle_Value$Weight,na.rm = TRUE)
+CBN[,RealPriceIndex1:=weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/Tehran_Bundle_Value1,by=ProvinceCode]
+CBN[,RealPriceIndex2:=weighted.mean(Home_Per_Metr,Weight,na.rm = TRUE)/Tehran_Bundle_Value2,by=ProvinceCode]
+CBN[,weighted.mean(RealPriceIndex1,Weight),by=ProvinceCode]
+CBN[,weighted.mean(RealPriceIndex2,Weight),by=ProvinceCode]
+Indexes2_1<-CBN[,.(RealPriceIndex1,RealPriceIndex2,ProvinceCode,Weight)]
+Indexes2_1<-Indexes2_1[,RealPriceIndex:=(RealPriceIndex1+RealPriceIndex2)/2]
+Indexes_total<-Indexes2_1[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+Indexes3_1<-Indexes_total[,.(ProvinceCode,RealPriceIndex1,RealPriceIndex2,RealPriceIndex)]
+Indexes<-Indexes[,.(ProvinceCode,RealPriceIndex)]
+
+CBN_Poor<-CBN[Poor11==1]
+T_Bundle_Value<-subset(CBN_Poor, ProvinceCode==23, select=c(Bundle_Value,Home_Per_Metr,Weight))
+Tehran_Bundle_Value1<-weighted.mean(T_Bundle_Value$Bundle_Value,T_Bundle_Value$Weight,na.rm = TRUE)
+Tehran_Bundle_Value2<-weighted.mean(T_Bundle_Value$Home_Per_Metr,T_Bundle_Value$Weight,na.rm = TRUE)
+CBN_Poor[,RealPriceIndex1:=weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/Tehran_Bundle_Value1,by=ProvinceCode]
+CBN_Poor[,RealPriceIndex2:=weighted.mean(Home_Per_Metr,Weight,na.rm = TRUE)/Tehran_Bundle_Value2,by=ProvinceCode]
+CBN_Poor[,weighted.mean(RealPriceIndex1,Weight),by=ProvinceCode]
+CBN_Poor[,weighted.mean(RealPriceIndex2,Weight),by=ProvinceCode]
+Indexes2_2<-CBN_Poor[,.(RealPriceIndex1,RealPriceIndex2,ProvinceCode,Weight,Poor11)]
+Indexes2_2<-Indexes2_2[,RealPriceIndex:=(RealPriceIndex1+RealPriceIndex2)/2]
+Indexes_finalpoor<-Indexes2_2[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+Indexes3_2<-Indexes_finalpoor[,.(ProvinceCode,RealPriceIndex1,RealPriceIndex2,RealPriceIndex)]
+Indexes<-Indexes[,.(ProvinceCode,RealPriceIndex)]
+
+###Save Tables
+CBN_Rural<-CBN
+save(CBN_Rural, file = paste0(Settings$HEISProcessedPath,"CBN_Rural","95.rda"))
+
+CBNPoor_Rural<-CBNPoor11
+save(CBNPoor_Rural, file = paste0(Settings$HEISProcessedPath,"CBNPoor_Rural","95.rda"))
+
+endtime <- proc.time()
+
+cat("\n\n============================\nIt took ")
+cat(endtime-starttime)
+
diff --git a/R/Archive/Other Codes/58-CBN-Rural97-2.R b/R/Archive/Other Codes/58-CBN-Rural97-2.R
new file mode 100644
index 00000000..7932e119
--- /dev/null
+++ b/R/Archive/Other Codes/58-CBN-Rural97-2.R
@@ -0,0 +1,3049 @@
+#CBN Method-Rural.R
+#
+# Copyright © 2018:Arin Shahbazian
+# Licence: GPL-3
+#
+rm(list=ls())
+
+starttime <- proc.time()
+cat("\n\n================ Prepare Data =====================================\n")
+
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+library(readxl)
+library(stringr)
+library(data.table)
+library(foreign)
+library(haven)
+load(file = "data9697.rda")
+
+#for(year in (Settings$startyear:Settings$endyear)){
+# cat(paste0("\n------------------------------\nYear:",year,"\n"))
+
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","HHBase.rda"))
+HHBase[,IndivNo:=NULL]
+HHBase[,Relationship:=NULL]
+HHBase[,Sex:=NULL]
+HHBase[,Age:=NULL]
+HHBase[,Literate:=NULL]
+HHBase[,Student:=NULL]
+HHBase[,EduCode:=NULL]
+HHBase[,EduYears:=NULL]
+HHBase[,EduLevel:=NULL]
+HHBase[,EduLevel0:=NULL]
+HHBase[,ActivityState:=NULL]
+HHBase[,MarritalState:=NULL]
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Ghand_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Hoboobat_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Roghan_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Berenj_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Nan_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Goosht_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Morgh_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Mahi_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Shir_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Mast_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Panir_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Tokhmemorgh_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Mive_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Sabzi_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Makarooni_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Sibzamini_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Weights.rda"))
+
+Ghand_Data<-Ghand_Data[,.(HHID,Ghandgram,GhandPrice)]
+Hoboobat_Data<-Hoboobat_Data[,.(HHID,Hoboobatgram,HoboobatPrice)]
+Roghan_Data<-Roghan_Data[,.(HHID,Roghangram,RoghanPrice)]
+Berenj_Data<-Berenj_Data[,.(HHID,Berenjgram,BerenjPrice)]
+Nan_Data<-Nan_Data[,.(HHID,Nangram,NanPrice)]
+Goosht_Data<-Goosht_Data[,.(HHID,Gooshtgram,GooshtPrice)]
+Morgh_Data<-Morgh_Data[,.(HHID,Morghgram,MorghPrice)]
+Mahi_Data<-Mahi_Data[,.(HHID,Mahigram,MahiPrice)]
+Shir_Data<-Shir_Data[,.(HHID,Shirgram,ShirPrice)]
+Mast_Data<-Mast_Data[,.(HHID,Mastgram,MastPrice)]
+Panir_Data<-Panir_Data[,.(HHID,Panirgram,PanirPrice)]
+Tokhmemorgh_Data<-Tokhmemorgh_Data[,.(HHID,Tokhmemorghgram,TokhmemorghPrice)]
+Mive_Data<-Mive_Data[,.(HHID,Mivegram,MivePrice)]
+Sabzi_Data<-Sabzi_Data[,.(HHID,Sabzigram,SabziPrice)]
+Makarooni_Data<-Makarooni_Data[,.(HHID,Makaroonigram,MakarooniPrice)]
+Sibzamini_Data<-Sibzamini_Data[,.(HHID,Sibzaminigram,SibzaminiPrice)]
+
+Food<-merge(HHBase,Ghand_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Ghandgram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Hoboobat_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Hoboobatgram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Roghan_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Roghangram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Berenj_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Berenjgram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Nan_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Nangram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Goosht_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Gooshtgram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Morgh_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Morghgram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Mahi_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Mahigram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Shir_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Shirgram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Mast_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Mastgram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Panir_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Panirgram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Tokhmemorgh_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Tokhmemorghgram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Mive_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Mivegram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Sabzi_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Sabzigram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Makarooni_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Makaroonigram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Sibzamini_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Sibzaminigram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Weights,by =c("HHID"),all.x=TRUE)
+
+
+
+#load Expenditure groups
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","HHBase.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","HHI.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Foods.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Cigars.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Cloths.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Amusements.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Communications.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Durables.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Education.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Energy.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Furnitures.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Hotels.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","House.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Medicals.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Behdashts.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Transportations.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Others.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Investments.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Resturants.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Weights.rda"))
+
+#merge Expenditure groups
+CBN<-merge(Food,HHI ,by =c("HHID"),all=TRUE)
+CBN<-merge(CBN,FoodData,by =c("HHID"),all=TRUE)
+for (col in c("FoodExpenditure")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,CigarData,by =c("HHID"),all=TRUE)
+for (col in c("Cigar_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,ClothData,by =c("HHID"),all=TRUE)
+for (col in c("Cloth_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,AmusementData,by =c("HHID"),all=TRUE)
+for (col in c("Amusement_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,CommunicationData,by =c("HHID"),all=TRUE)
+for (col in c("Communication_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,EducData,by =c("HHID"),all=TRUE)
+for (col in c("EducExpenditure")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,EnergyData,by =c("HHID"),all=TRUE)
+for (col in c("Energy_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,FurnitureData,by =c("HHID"),all=TRUE)
+for (col in c("Furniture_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,HotelData,by =c("HHID"),all=TRUE)
+for (col in c("Hotel_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,BehdashtData,by =c("HHID"),all=TRUE)
+for (col in c("Behdasht_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,TransportationData,by =c("HHID"),all=TRUE)
+for (col in c("Transportation_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,OtherData,by =c("HHID"),all=TRUE)
+for (col in c("Other_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,HouseData,by =c("HHID"),all=TRUE)
+for (col in c("ServiceExp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,InvestmentData,by =c("HHID"),all=TRUE)
+for (col in c("Investment_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,MedicalData,by =c("HHID"),all=TRUE)
+for (col in c("Medical_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,DurableData,by =c("HHID"),all=TRUE)
+for (col in c("Durable_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,ResturantData,by =c("HHID"),all=TRUE)
+for (col in c("Resturant_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-CBN[Size!=0]
+CBN<-CBN[Region=="Rural"]
+CBN<-CBN[FoodExpenditure!=0]
+
+CBN<-merge(CBN,data9697,by =c("ProvinceCode"),all.x=TRUE)
+
+CBN$FoodExpenditure<-CBN$FoodExpenditure*CBN$summer971food_index/100
+CBN$Cigar_Exp<-CBN$Cigar_Exp*CBN$summer971cigar_index/100
+CBN$Cloth_Exp<-CBN$Cloth_Exp*CBN$summer971cloth_index/100
+CBN$Amusement_Exp<-CBN$Amusement_Exp*CBN$summer971amusement_index/100
+CBN$Communication_Exp<-CBN$Communication_Exp*CBN$summer971communication_index/100
+CBN$EducExpenditure<-CBN$EducExpenditure*CBN$summer971education_index/100
+CBN$Energy_Exp<-CBN$Energy_Exp*CBN$summer971house_energy_index/100
+CBN$Furniture_Exp<-CBN$Furniture_Exp*CBN$summer971furniture_index/100
+CBN$Hotel_Exp<-CBN$Hotel_Exp*CBN$summer971hotel_index/100
+CBN$Behdasht_Exp<-CBN$Behdasht_Exp*CBN$summer971behdasht_index/100
+CBN$Transportation_Exp<-CBN$Transportation_Exp*CBN$summer971transportation_index/100
+CBN$Other_Exp<-CBN$Other_Exp*CBN$summer971other_index/100
+CBN$ServiceExp<-CBN$ServiceExp*CBN$summer971house_energy_index/100
+CBN$Investment_Exp<-CBN$Investment_Exp*CBN$summer97/100
+CBN$Medical_Exp<-CBN$Medical_Exp*CBN$summer971behdasht_index/100
+CBN$Durable_Exp<-CBN$Durable_Exp*CBN$summer97/100
+
+CBN[ ,shahrivar971furniture_index :=NULL]
+CBN[ ,shahrivar971communication_index :=NULL]
+CBN[ ,shahrivar971behdasht_index :=NULL]
+CBN[ ,shahrivar971education_index :=NULL]
+CBN[ ,shahrivar971amusement_index :=NULL]
+CBN[ ,shahrivar971transportation_index :=NULL]
+CBN[ ,shahrivar971food_index :=NULL]
+CBN[ ,shahrivar971cigar_index :=NULL]
+CBN[ ,shahrivar971hotel_index :=NULL]
+CBN[ ,shahrivar971total_index :=NULL]
+CBN[ ,shahrivar971house_energy_index :=NULL]
+CBN[ ,shahrivar971cloth_index :=NULL]
+CBN[ ,shahrivar971other_index :=NULL]
+CBN[ ,spring971furniture_index :=NULL]
+CBN[ ,spring971communication_index :=NULL]
+CBN[ ,spring971behdasht_index :=NULL]
+CBN[ ,spring971education_index :=NULL]
+CBN[ ,spring971amusement_index :=NULL]
+CBN[ ,spring971transportation_index :=NULL]
+CBN[ ,spring971food_index :=NULL]
+CBN[ ,spring971cigar_index :=NULL]
+CBN[ ,spring971hotel_index :=NULL]
+CBN[ ,spring971total_index :=NULL]
+CBN[ ,spring971house_energy_index :=NULL]
+CBN[ ,spring971cloth_index :=NULL]
+CBN[ ,spring971other_index :=NULL]
+CBN[ ,summer971furniture_index :=NULL]
+CBN[ ,summer971communication_index :=NULL]
+CBN[ ,summer971behdasht_index :=NULL]
+CBN[ ,summer971education_index :=NULL]
+CBN[ ,summer971amusement_index :=NULL]
+CBN[ ,summer971transportation_index :=NULL]
+CBN[ ,summer971food_index :=NULL]
+CBN[ ,summer971cigar_index :=NULL]
+CBN[ ,summer971hotel_index :=NULL]
+CBN[ ,summer971total_index :=NULL]
+CBN[ ,summer971house_energy_index :=NULL]
+CBN[ ,summer971cloth_index :=NULL]
+CBN[ ,summer971other_index :=NULL]
+CBN[ ,total961furniture_index :=NULL]
+CBN[ ,total961communication_index :=NULL]
+CBN[ ,total961behdasht_index :=NULL]
+CBN[ ,total961education_index :=NULL]
+CBN[ ,total961amusement_index :=NULL]
+CBN[ ,total961transportation_index :=NULL]
+CBN[ ,total961food_index :=NULL]
+CBN[ ,total961cigar_index :=NULL]
+CBN[ ,total961hotel_index :=NULL]
+CBN[ ,total961total_index :=NULL]
+CBN[ ,total961house_energy_index :=NULL]
+CBN[ ,total961cloth_index :=NULL]
+CBN[ ,total961other_index :=NULL]
+
+CBN[ ,spring97 :=NULL]
+CBN[ ,summer97 :=NULL]
+CBN[ ,total96 :=NULL]
+CBN[ ,shahrivar97 :=NULL]
+
+
+#Calculate Per_Total Expenditures Monthly
+CBN[, Total_Exp_Month := Reduce(`+`, .SD), .SDcols=c(65:77,82:83)][]
+CBN[, Total_Exp_Month_nondurable := Reduce(`+`, .SD), .SDcols=65:77][]
+
+CBN$Total_Exp_Month_Per<-CBN$Total_Exp_Month/CBN$EqSizeOECD
+CBN$Total_Exp_Month_Per_nondurable<-CBN$Total_Exp_Month_nondurable/CBN$EqSizeOECD
+
+#Calculate Per_Food Expenditures Monthly
+CBN[,EqSizeCalory :=(Size-NKids) + NKids*(1800/2100)]
+CBN$FoodExpenditure_Per<-CBN$FoodExpenditure/CBN$EqSizeCalory
+
+#Calculate Per_Food Expenditures Daily
+CBN$FoodExpenditure_Per_day<-CBN$FoodExpenditure_Per/30
+
+CBN$Ghandgram_Per_day<-CBN$Ghandgram/(30*CBN$EqSizeOECD)
+CBN$Hoboobatgram_Per_day<-CBN$Hoboobatgram/(30*CBN$EqSizeOECD)
+CBN$Berenjgram_Per_day<-CBN$Berenjgram/(30*CBN$EqSizeOECD)
+CBN$Nangram_Per_day<-CBN$Nangram/(30*CBN$EqSizeOECD)
+CBN$Roghangram_Per_day<-CBN$Roghangram/(30*CBN$EqSizeOECD)
+CBN$Gooshtgram_Per_day<-CBN$Gooshtgram/(30*CBN$EqSizeOECD)
+CBN$Morghgram_Per_day<-CBN$Morghgram/(30*CBN$EqSizeOECD)
+CBN$Mahigram_Per_day<-CBN$Mahigram/(30*CBN$EqSizeOECD)
+CBN$Shirgram_Per_day<-CBN$Shirgram/(30*CBN$EqSizeOECD)
+CBN$Mastgram_Per_day<-CBN$Mastgram/(30*CBN$EqSizeOECD)
+CBN$Panirgram_Per_day<-CBN$Panirgram/(30*CBN$EqSizeOECD)
+CBN$Tokhmemorghgram_Per_day<-CBN$Tokhmemorghgram/(30*CBN$EqSizeOECD)
+CBN$Mivegram_Per_day<-CBN$Mivegram/(30*CBN$EqSizeOECD)
+CBN$Sabzigram_Per_day<-CBN$Sabzigram/(30*CBN$EqSizeOECD)
+CBN$Makaroonigram_Per_day<-CBN$Makaroonigram/(30*CBN$EqSizeOECD)
+CBN$Sibzaminigram_Per_day<-CBN$Sibzaminigram/(30*CBN$EqSizeOECD)
+CBN[,EqSizeCalory:=NULL]
+
+load(file="PriceIndex95.rda")
+CBN<-merge(CBN,PriceIndex95,by=c("ProvinceCode"),all.x = TRUE)
+CBN[,ostan:=NULL]
+load(file="PriceIndex.rda")
+CBN<-merge(CBN,PriceIndex,by=c("ProvinceCode"),all.x = TRUE)
+
+#Sort Expenditure data
+CBN<- CBN[order(Total_Exp_Month_Per_nondurable)]
+
+#Calculate cumulative weights
+sum(CBN$Weight)
+CBN$cumweight <- cumsum(CBN$Weight)
+tx <- max(CBN$cumweight)
+
+#Calculate deciles by weights
+CBN[,Decile:=cut(cumweight,breaks = seq(0,tx,tx/10),labels = 1:10)]
+CBN[,Percentile:=cut(cumweight,breaks=seq(0,tx,tx/100),labels=1:100)]
+
+
+CBN$Ghand_W<-CBN$Ghandgram_Per_day*CBN$GhandPrice*0.001*30
+CBN$Hoboobat_W<-CBN$Hoboobatgram_Per_day*CBN$HoboobatPrice*0.001*30
+CBN$Roghan_W<-CBN$Roghangram_Per_day*CBN$RoghanPrice*0.001*30
+CBN$Berenj_W<-CBN$Berenjgram_Per_day*CBN$BerenjPrice*0.001*30
+CBN$Nan_W<-CBN$Nangram_Per_day*CBN$NanPrice*0.001*30
+CBN$Goosht_W<-CBN$Gooshtgram_Per_day*CBN$GooshtPrice*0.001*30
+CBN$Morgh_W<-CBN$Morghgram_Per_day*CBN$MorghPrice*0.001*30
+CBN$Mahi_W<-CBN$Mahigram_Per_day*CBN$MahiPrice*0.001*30
+CBN$Shir_W<-CBN$Shirgram_Per_day*CBN$ShirPrice*0.001*30
+CBN$Mast_W<-CBN$Mastgram_Per_day*CBN$MastPrice*0.001*30
+CBN$Panir_W<-CBN$Panirgram_Per_day*CBN$PanirPrice*0.001*30
+CBN$Tokhmemorgh_W<-CBN$Tokhmemorghgram_Per_day*CBN$TokhmemorghPrice*0.001*30
+CBN$Mive_W<-CBN$Mivegram_Per_day*CBN$MivePrice*0.001*30
+CBN$Sabzi_W<-CBN$Sabzigram_Per_day*CBN$SabziPrice*0.001*30
+CBN$Makarooni_W<-CBN$Makaroonigram_Per_day*CBN$MakarooniPrice*0.001*30
+CBN$Sibzamini_W<-CBN$Sibzaminigram_Per_day*CBN$SibzaminiPrice*0.001*30
+CBN$Home_W<-CBN$ServiceExp/CBN$EqSizeOECD
+CBN$Home_Per_Metr<-CBN$MetrPrice/CBN$EqSizeOECD
+
+#Seperate big cities
+CBN[,sum(Weight*Size),by=ProvinceCode][order(V1)]
+CBN[,HHIDs:=as.character(HHID)]
+CBN[,ShahrestanCode:=as.integer(str_sub(HHIDs,2,5))]
+CBN[,sum(Weight*Size),by=ShahrestanCode][order(V1)][330:387]
+CBNTehran<-CBN[ProvinceCode==23]
+CBNTehran[,sum(Weight*Size),by=ShahrestanCode]
+CBNTabriz<-CBN[ProvinceCode==3]
+CBNTabriz[,sum(Weight*Size),by=ShahrestanCode]
+CBNAhvaz<-CBN[ProvinceCode==6]
+CBNAhvaz[,sum(Weight*Size),by=ShahrestanCode]
+CBNShiraz<-CBN[ProvinceCode==7]
+CBNShiraz[,sum(Weight*Size),by=ShahrestanCode]
+CBNMashhad<-CBN[ProvinceCode==9]
+CBNMashhad[,sum(Weight*Size),by=ShahrestanCode]
+CBNEsfahan<-CBN[ProvinceCode==10]
+CBNEsfahan[,sum(Weight*Size),by=ShahrestanCode]
+CBNKaraj<-CBN[ProvinceCode==30]
+CBNKaraj[,sum(Weight*Size),by=ShahrestanCode]
+CBNKermanshah<-CBN[ProvinceCode==5]
+CBNKermanshah[,sum(Weight*Size),by=ShahrestanCode]
+
+
+# Food Calories
+CBN$Ghand_Calory<- CBN$Ghandgram *4
+CBN$Hoboobat_Calory<- CBN$Hoboobatgram *3
+CBN$Nan_Calory<- CBN$Nangram *2.5
+CBN$Berenj_Calory<- CBN$Berenjgram *1.2
+CBN$Roghan_Calory<- CBN$Roghangram *8
+CBN$Goosht_Calory<- CBN$Gooshtgram *2.5
+CBN$Morgh_Calory<- CBN$Morghgram *2
+CBN$Mahi_Calory<- CBN$Mahigram *1
+CBN$Shir_Calory<- CBN$Shirgram *2.5
+CBN$Mast_Calory<- CBN$Mastgram *1.5
+CBN$Panir_Calory<- CBN$Mastgram *2.5
+CBN$Tokhmemorgh_Calory<- CBN$Tokhmemorghgram *1.4
+CBN$Mive_Calory<- CBN$Mivegram *0.5
+CBN$Sabzi_Calory<- CBN$Sabzigram *0.5
+CBN$Makarooni_Calory<- CBN$Makaroonigram *3.6
+CBN$Sibzamini_Calory<- CBN$Sibzaminigram *0.9
+#utils::View(CBN)
+
+#CalculatePer_calories
+CBN[, Daily_Exp_Calories := Reduce(`+`, .SD), .SDcols=148:163][]
+CBN[,EqSizeCalory :=(Size-NKids) + NKids*(1800/2100)]
+CBN[,Per_Daily_Exp_Calories:=Daily_Exp_Calories/EqSizeCalory]
+CBN <- CBN[Per_Daily_Exp_Calories<100000] # arbitrary removal of outliers
+#CBN[,Daily_Calories_cluster:=weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+#CBN[,weighted.mean(Daily_Calories_cluster,Weight,na.rm = TRUE),by=cluster]
+#CBN[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+#CBN[,weighted.mean(Size,Weight,na.rm = TRUE),by=cluster]
+#CBN[,sum(Weight*Size),by=cluster]
+#CBN[,sum(Weight),by=cluster]
+#CBN[,sum(Poor),by=cluster]
+
+
+#Calculate_Per_calories
+CBN$Ghand_per_Calory<- CBN$Ghandgram *4/CBN$EqSizeCalory
+CBN$Hoboobat_per_Calory<- CBN$Hoboobatgram *3/CBN$EqSizeCalory
+CBN$Nan_per_Calory<- CBN$Nangram *2.5/CBN$EqSizeCalory
+CBN$Berenj_per_Calory<- CBN$Berenjgram *1.2/CBN$EqSizeCalory
+CBN$Roghan_per_Calory<- CBN$Roghangram *8/CBN$EqSizeCalory
+CBN$Goosht_per_Calory<- CBN$Gooshtgram *2.5/CBN$EqSizeCalory
+CBN$Morgh_per_Calory<- CBN$Morghgram *2/CBN$EqSizeCalory
+CBN$Mahi_per_Calory<- CBN$Mahigram *1/CBN$EqSizeCalory
+CBN$Shir_per_Calory<- CBN$Shirgram *2.5/CBN$EqSizeCalory
+CBN$Mast_per_Calory<- CBN$Mastgram *1.5/CBN$EqSizeCalory
+CBN$Panir_per_Calory<- CBN$Mastgram *2.5/CBN$EqSizeCalory
+CBN$Tokhmemorgh_per_Calory<- CBN$Tokhmemorghgram *1.4/CBN$EqSizeCalory
+CBN$Mive_per_Calory<- CBN$Mivegram *0.5/CBN$EqSizeCalory
+CBN$Sabzi_per_Calory<- CBN$Sabzigram *0.5/CBN$EqSizeCalory
+CBN$Makarooni_per_Calory<- CBN$Makaroonigram *3.6/CBN$EqSizeCalory
+CBN$Sibzamini_per_Calory<- CBN$Sibzaminigram *0.9/CBN$EqSizeCalory
+
+
+#Assume that deciles 1 and 2 are poor
+CBN[,Poor:=ifelse(Decile %in% 1:4,1,0)]
+CBNPoor<-CBN[Poor==1]
+
+#K-means weights
+PriceWeights<-CBN[,.(HHID,Ghand_W,Hoboobat_W,Roghan_W,Berenj_W,Nan_W,Goosht_W,Morgh_W,Mahi_W,Shir_W,Mast_W,Panir_W,Tokhmemorgh_W,Mive_W,Sabzi_W,Makarooni_W,Sibzamini_W,Home_W,ProvinceCode,Weight)]
+dt3 <- PriceWeights[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+dt3<- dt3[order(ProvinceCode)]
+dt3 <- dt3[,.(Ghand_W,Hoboobat_W,Roghan_W,Berenj_W,Nan_W,Goosht_W,Morgh_W,Mahi_W,Shir_W,Mast_W,Panir_W,Tokhmemorgh_W,Mive_W,Sabzi_W,Makarooni_W,Sibzamini_W,Home_W)]
+
+
+
+
+load(file="dt5Rural.rda")
+#plot(PRICE1, PRICE2,col=cl$cluster)
+#points(cl$centers, pch=20)
+CBNPoor<-merge(CBNPoor,dt2,by=c("ProvinceCode"),all.x = TRUE)
+CBNPoor[,sum(Weight*Size),by=cluster]
+CBNPoor[,sum(Weight),by=cluster]
+CBNPoor[,sum(Poor),by=cluster]
+C2<-CBNPoor[,.(HHID,ProvinceCode,Region,Decile,Poor,cluster)]
+######################################################################
+
+
+
+
+
+
+
+
+
+####Iteration 1#####
+###Iteration1-1
+#Calculate Per_calories in clusters
+CBNPoor[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(185:200)][]
+#utils::View(CBNPoor)
+
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(202:217)][]
+
+CBNPoor[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor<-CBNPoor[Per_Daily_Exp_Calories!=0]
+CBNPoor[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+#CBN[,weighted.mean(Poor,Weight),by=cluster][order(cluster)]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE)]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE)]
+
+#Real Prices
+T_Bundle_Value<-subset(CBNPoor, ProvinceCode==23, select=c(Bundle_Value,Home_Per_Metr,Weight))
+Tehran_Bundle_Value1<-weighted.mean(T_Bundle_Value$Bundle_Value,T_Bundle_Value$Weight,na.rm = TRUE)
+Tehran_Bundle_Value2<-weighted.mean(T_Bundle_Value$Home_Per_Metr,T_Bundle_Value$Weight,na.rm = TRUE)
+CBNPoor[,RealPriceIndex1:=weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/Tehran_Bundle_Value1,by=ProvinceCode]
+CBNPoor[,RealPriceIndex2:=weighted.mean(Home_Per_Metr,Weight,na.rm = TRUE)/Tehran_Bundle_Value2,by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex1,Weight),by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex2,Weight),by=ProvinceCode]
+Indexes2<-CBNPoor[,.(RealPriceIndex1,RealPriceIndex2,ProvinceCode,Weight)]
+Indexes2<-Indexes2[,RealPriceIndex:=(RealPriceIndex1+RealPriceIndex2)/2]
+Indexes<-Indexes2[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+Indexes31<-Indexes[,.(ProvinceCode,RealPriceIndex1,RealPriceIndex2,RealPriceIndex)]
+Indexes<-Indexes[,.(ProvinceCode,RealPriceIndex)]
+CBN<-merge(CBN,Indexes,by=c("ProvinceCode"),all.x = TRUE)
+CBN<-CBN[,Total_Food_Month_Per2:=FoodExpenditure_Per*RealPriceIndex]
+CBN<-CBN[,Total_Exp_Month_Per2:=Total_Exp_Month_Per_nondurable*RealPriceIndex]
+#utils::View(CBN)
+
+#Sort Expenditure data
+CBN<- CBN[order(Total_Exp_Month_Per2)]
+
+#Calculate cumulative weights
+sum(CBN$Weight)
+CBN$cumweight <- cumsum(CBN$Weight)
+tx <- max(CBN$cumweight)
+
+#Calculate deciles by weights
+CBN[,Decile:=cut(cumweight,breaks = seq(0,tx,tx/10),labels = 1:10)]
+CBN[,Percentile:=cut(cumweight,breaks=seq(0,tx,tx/100),labels=1:100)]
+
+#Update Poors
+CBN[,Poor:=ifelse(Decile %in% 1:4,1,0)]
+CBNPoor<-CBN[Poor==1]
+CBNPoor<-merge(CBNPoor,dt2,by=c("ProvinceCode"),all.x = TRUE)
+CBNPoor[,sum(HIndivNo),by=.(ProvinceCode)][order(ProvinceCode)]
+CBNPoor[,sum(HIndivNo)]
+
+###Iteration1-2
+#Calculate Per_calories in clusters
+CBNPoor[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(185:200)][]
+#utils::View(CBNPoor)
+
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(202:217)][]
+
+CBNPoor[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor<-CBNPoor[Per_Daily_Exp_Calories!=0]
+CBNPoor[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+#CBN[,weighted.mean(Poor,Weight),by=cluster][order(cluster)]
+
+#Real Prices
+T_Bundle_Value<-subset(CBNPoor, ProvinceCode==23, select=c(Bundle_Value,Home_Per_Metr,Weight))
+Tehran_Bundle_Value1<-weighted.mean(T_Bundle_Value$Bundle_Value,T_Bundle_Value$Weight,na.rm = TRUE)
+Tehran_Bundle_Value2<-weighted.mean(T_Bundle_Value$Home_Per_Metr,T_Bundle_Value$Weight,na.rm = TRUE)
+CBNPoor[,RealPriceIndex1:=weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/Tehran_Bundle_Value1,by=ProvinceCode]
+CBNPoor[,RealPriceIndex2:=weighted.mean(Home_Per_Metr,Weight,na.rm = TRUE)/Tehran_Bundle_Value2,by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex1,Weight),by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex2,Weight),by=ProvinceCode]
+Indexes2<-CBNPoor[,.(RealPriceIndex1,RealPriceIndex2,ProvinceCode,Weight)]
+Indexes2<-Indexes2[,RealPriceIndex:=(RealPriceIndex1+RealPriceIndex2)/2]
+Indexes<-Indexes2[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+Indexes32<-Indexes[,.(ProvinceCode,RealPriceIndex1,RealPriceIndex2,RealPriceIndex)]
+Indexes<-Indexes[,.(ProvinceCode,RealPriceIndex)]
+CBN[,RealPriceIndex:=NULL]
+CBN<-merge(CBN,Indexes,by=c("ProvinceCode"),all.x = TRUE)
+CBN<-CBN[,Total_Food_Month_Per2:=FoodExpenditure_Per*RealPriceIndex]
+CBN<-CBN[,Total_Exp_Month_Per2:=Total_Exp_Month_Per_nondurable*RealPriceIndex]
+#utils::View(CBN)
+
+#Sort Expenditure data
+CBN<- CBN[order(Total_Exp_Month_Per2)]
+
+#Calculate cumulative weights
+sum(CBN$Weight)
+CBN$cumweight <- cumsum(CBN$Weight)
+tx <- max(CBN$cumweight)
+
+#Calculate deciles by weights
+CBN[,Decile:=cut(cumweight,breaks = seq(0,tx,tx/10),labels = 1:10)]
+CBN[,Percentile:=cut(cumweight,breaks=seq(0,tx,tx/100),labels=1:100)]
+
+#Update Poors
+CBN[,Poor:=ifelse(Decile %in% 1:4,1,0)]
+CBNPoor<-CBN[Poor==1]
+CBNPoor<-merge(CBNPoor,dt2,by=c("ProvinceCode"),all.x = TRUE)
+CBNPoor[,sum(HIndivNo),by=.(ProvinceCode)][order(ProvinceCode)]
+
+###Iteration1-3
+#Calculate Per_calories in clusters
+CBNPoor[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(185:200)][]
+#utils::View(CBNPoor)
+
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(202:217)][]
+
+CBNPoor[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor<-CBNPoor[Per_Daily_Exp_Calories!=0]
+CBNPoor[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+#CBN[,weighted.mean(Poor,Weight),by=cluster][order(cluster)]
+
+#Real Prices
+T_Bundle_Value<-subset(CBNPoor, ProvinceCode==23, select=c(Bundle_Value,Home_Per_Metr,Weight))
+Tehran_Bundle_Value1<-weighted.mean(T_Bundle_Value$Bundle_Value,T_Bundle_Value$Weight,na.rm = TRUE)
+Tehran_Bundle_Value2<-weighted.mean(T_Bundle_Value$Home_Per_Metr,T_Bundle_Value$Weight,na.rm = TRUE)
+CBNPoor[,RealPriceIndex1:=weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/Tehran_Bundle_Value1,by=ProvinceCode]
+CBNPoor[,RealPriceIndex2:=weighted.mean(Home_Per_Metr,Weight,na.rm = TRUE)/Tehran_Bundle_Value2,by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex1,Weight),by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex2,Weight),by=ProvinceCode]
+Indexes2<-CBNPoor[,.(RealPriceIndex1,RealPriceIndex2,ProvinceCode,Weight)]
+Indexes2<-Indexes2[,RealPriceIndex:=(RealPriceIndex1+RealPriceIndex2)/2]
+Indexes<-Indexes2[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+Indexes33<-Indexes[,.(ProvinceCode,RealPriceIndex1,RealPriceIndex2,RealPriceIndex)]
+Indexes<-Indexes[,.(ProvinceCode,RealPriceIndex)]
+CBN[,RealPriceIndex:=NULL]
+CBN<-merge(CBN,Indexes,by=c("ProvinceCode"),all.x = TRUE)
+CBN<-CBN[,Total_Food_Month_Per2:=FoodExpenditure_Per*RealPriceIndex]
+CBN<-CBN[,Total_Exp_Month_Per2:=Total_Exp_Month_Per_nondurable*RealPriceIndex]
+#utils::View(CBN)
+
+#Sort Expenditure data
+CBN<- CBN[order(Total_Exp_Month_Per2)]
+
+#Calculate cumulative weights
+sum(CBN$Weight)
+CBN$cumweight <- cumsum(CBN$Weight)
+tx <- max(CBN$cumweight)
+
+#Calculate deciles by weights
+CBN[,Decile:=cut(cumweight,breaks = seq(0,tx,tx/10),labels = 1:10)]
+CBN[,Percentile:=cut(cumweight,breaks=seq(0,tx,tx/100),labels=1:100)]
+
+#Update Poors
+CBN[,Poor:=ifelse(Decile %in% 1:4,1,0)]
+CBNPoor<-CBN[Poor==1]
+CBNPoor<-merge(CBNPoor,dt2,by=c("ProvinceCode"),all.x = TRUE)
+CBNPoor[,sum(HIndivNo),by=.(ProvinceCode)][order(ProvinceCode)]
+
+
+###Iteration1-4
+#Calculate Per_calories in clusters
+CBNPoor[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(185:200)][]
+#utils::View(CBNPoor)
+
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(202:217)][]
+
+CBNPoor[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor<-CBNPoor[Per_Daily_Exp_Calories!=0]
+CBNPoor[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+#CBN[,weighted.mean(Poor,Weight),by=cluster][order(cluster)]
+
+#Real Prices
+T_Bundle_Value<-subset(CBNPoor, ProvinceCode==23, select=c(Bundle_Value,Home_Per_Metr,Weight))
+Tehran_Bundle_Value1<-weighted.mean(T_Bundle_Value$Bundle_Value,T_Bundle_Value$Weight,na.rm = TRUE)
+Tehran_Bundle_Value2<-weighted.mean(T_Bundle_Value$Home_Per_Metr,T_Bundle_Value$Weight,na.rm = TRUE)
+CBNPoor[,RealPriceIndex1:=weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/Tehran_Bundle_Value1,by=ProvinceCode]
+CBNPoor[,RealPriceIndex2:=weighted.mean(Home_Per_Metr,Weight,na.rm = TRUE)/Tehran_Bundle_Value2,by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex1,Weight),by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex2,Weight),by=ProvinceCode]
+Indexes2<-CBNPoor[,.(RealPriceIndex1,RealPriceIndex2,ProvinceCode,Weight)]
+Indexes2<-Indexes2[,RealPriceIndex:=(RealPriceIndex1+RealPriceIndex2)/2]
+Indexes<-Indexes2[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+Indexes34<-Indexes[,.(ProvinceCode,RealPriceIndex1,RealPriceIndex2,RealPriceIndex)]
+Indexes<-Indexes[,.(ProvinceCode,RealPriceIndex)]
+CBN[,RealPriceIndex:=NULL]
+CBN<-merge(CBN,Indexes,by=c("ProvinceCode"),all.x = TRUE)
+CBN<-CBN[,Total_Food_Month_Per2:=FoodExpenditure_Per*RealPriceIndex]
+CBN<-CBN[,Total_Exp_Month_Per2:=Total_Exp_Month_Per_nondurable*RealPriceIndex]
+#utils::View(CBN)
+
+
+#Sort Expenditure data
+CBN<- CBN[order(Total_Exp_Month_Per2)]
+
+#Calculate cumulative weights
+sum(CBN$Weight)
+CBN$cumweight <- cumsum(CBN$Weight)
+tx <- max(CBN$cumweight)
+
+#Calculate deciles by weights
+CBN[,Decile:=cut(cumweight,breaks = seq(0,tx,tx/10),labels = 1:10)]
+CBN[,Percentile:=cut(cumweight,breaks=seq(0,tx,tx/100),labels=1:100)]
+
+#Update Poors
+CBN[,Poor:=ifelse(Decile %in% 1:4,1,0)]
+CBNPoor<-CBN[Poor==1]
+CBNPoor<-merge(CBNPoor,dt2,by=c("ProvinceCode"),all.x = TRUE)
+CBNPoor[,sum(HIndivNo),by=.(ProvinceCode)][order(ProvinceCode)]
+
+###Iteration1-5
+#Calculate Per_calories in clusters
+CBNPoor[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(185:200)][]
+#utils::View(CBNPoor)
+
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(202:217)][]
+
+CBNPoor[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor<-CBNPoor[Per_Daily_Exp_Calories!=0]
+CBNPoor[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+#CBN[,weighted.mean(Poor,Weight),by=cluster][order(cluster)]
+
+#Real Prices
+T_Bundle_Value<-subset(CBNPoor, ProvinceCode==23, select=c(Bundle_Value,Home_Per_Metr,Weight))
+Tehran_Bundle_Value1<-weighted.mean(T_Bundle_Value$Bundle_Value,T_Bundle_Value$Weight,na.rm = TRUE)
+Tehran_Bundle_Value2<-weighted.mean(T_Bundle_Value$Home_Per_Metr,T_Bundle_Value$Weight,na.rm = TRUE)
+CBNPoor[,RealPriceIndex1:=weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/Tehran_Bundle_Value1,by=ProvinceCode]
+CBNPoor[,RealPriceIndex2:=weighted.mean(Home_Per_Metr,Weight,na.rm = TRUE)/Tehran_Bundle_Value2,by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex1,Weight),by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex2,Weight),by=ProvinceCode]
+Indexes2<-CBNPoor[,.(RealPriceIndex1,RealPriceIndex2,ProvinceCode,Weight)]
+Indexes2<-Indexes2[,RealPriceIndex:=(RealPriceIndex1+RealPriceIndex2)/2]
+Indexes<-Indexes2[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+Indexes35<-Indexes[,.(ProvinceCode,RealPriceIndex1,RealPriceIndex2,RealPriceIndex)]
+Indexes<-Indexes[,.(ProvinceCode,RealPriceIndex)]
+CBN[,RealPriceIndex:=NULL]
+CBN<-merge(CBN,Indexes,by=c("ProvinceCode"),all.x = TRUE)
+CBN<-CBN[,Total_Food_Month_Per2:=FoodExpenditure_Per*RealPriceIndex]
+CBN<-CBN[,Total_Exp_Month_Per2:=Total_Exp_Month_Per_nondurable*RealPriceIndex]
+#utils::View(CBN)
+
+
+#Sort Expenditure data
+CBN<- CBN[order(Total_Exp_Month_Per2)]
+
+#Calculate cumulative weights
+sum(CBN$Weight)
+CBN$cumweight <- cumsum(CBN$Weight)
+tx <- max(CBN$cumweight)
+
+#Calculate deciles by weights
+CBN[,Decile:=cut(cumweight,breaks = seq(0,tx,tx/10),labels = 1:10)]
+CBN[,Percentile:=cut(cumweight,breaks=seq(0,tx,tx/100),labels=1:100)]
+
+#Update Poors
+CBN[,Poor:=ifelse(Decile %in% 1:4,1,0)]
+CBNPoor<-CBN[Poor==1]
+CBNPoor<-merge(CBNPoor,dt2,by=c("ProvinceCode"),all.x = TRUE)
+CBNPoor[,sum(HIndivNo),by=.(ProvinceCode)][order(ProvinceCode)]
+
+###Iteration1-6
+#Calculate Per_calories in clusters
+CBNPoor[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(185:200)][]
+#utils::View(CBNPoor)
+
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(202:217)][]
+
+CBNPoor[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor<-CBNPoor[Per_Daily_Exp_Calories!=0]
+CBNPoor[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+#CBN[,weighted.mean(Poor,Weight),by=cluster][order(cluster)]
+
+#Real Prices
+T_Bundle_Value<-subset(CBNPoor, ProvinceCode==23, select=c(Bundle_Value,Home_Per_Metr,Weight))
+Tehran_Bundle_Value1<-weighted.mean(T_Bundle_Value$Bundle_Value,T_Bundle_Value$Weight,na.rm = TRUE)
+Tehran_Bundle_Value2<-weighted.mean(T_Bundle_Value$Home_Per_Metr,T_Bundle_Value$Weight,na.rm = TRUE)
+CBNPoor[,RealPriceIndex1:=weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/Tehran_Bundle_Value1,by=ProvinceCode]
+CBNPoor[,RealPriceIndex2:=weighted.mean(Home_Per_Metr,Weight,na.rm = TRUE)/Tehran_Bundle_Value2,by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex1,Weight),by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex2,Weight),by=ProvinceCode]
+Indexes2<-CBNPoor[,.(RealPriceIndex1,RealPriceIndex2,ProvinceCode,Weight)]
+Indexes2<-Indexes2[,RealPriceIndex:=(RealPriceIndex1+RealPriceIndex2)/2]
+Indexes<-Indexes2[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+Indexes36<-Indexes[,.(ProvinceCode,RealPriceIndex1,RealPriceIndex2,RealPriceIndex)]
+Indexes<-Indexes[,.(ProvinceCode,RealPriceIndex)]
+CBN[,RealPriceIndex:=NULL]
+CBN<-merge(CBN,Indexes,by=c("ProvinceCode"),all.x = TRUE)
+CBN<-CBN[,Total_Food_Month_Per2:=FoodExpenditure_Per*RealPriceIndex]
+CBN<-CBN[,Total_Exp_Month_Per2:=Total_Exp_Month_Per_nondurable*RealPriceIndex]
+#utils::View(CBN)
+
+
+#Sort Expenditure data
+CBN<- CBN[order(Total_Exp_Month_Per2)]
+
+#Calculate cumulative weights
+sum(CBN$Weight)
+CBN$cumweight <- cumsum(CBN$Weight)
+tx <- max(CBN$cumweight)
+
+#Calculate deciles by weights
+CBN[,Decile:=cut(cumweight,breaks = seq(0,tx,tx/10),labels = 1:10)]
+CBN[,Percentile:=cut(cumweight,breaks=seq(0,tx,tx/100),labels=1:100)]
+
+#Update Poors
+CBN[,Poor:=ifelse(Decile %in% 1:4,1,0)]
+CBNPoor<-CBN[Poor==1]
+CBNPoor<-merge(CBNPoor,dt2,by=c("ProvinceCode"),all.x = TRUE)
+CBNPoor[,sum(HIndivNo),by=.(ProvinceCode)][order(ProvinceCode)]
+
+###Iteration1-7
+#Calculate Per_calories in clusters
+CBNPoor[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(185:200)][]
+#utils::View(CBNPoor)
+
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(202:217)][]
+
+CBNPoor[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor<-CBNPoor[Per_Daily_Exp_Calories!=0]
+CBNPoor[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+#CBN[,weighted.mean(Poor,Weight),by=cluster][order(cluster)]
+
+#Real Prices
+T_Bundle_Value<-subset(CBNPoor, ProvinceCode==23, select=c(Bundle_Value,Home_Per_Metr,Weight))
+Tehran_Bundle_Value1<-weighted.mean(T_Bundle_Value$Bundle_Value,T_Bundle_Value$Weight,na.rm = TRUE)
+Tehran_Bundle_Value2<-weighted.mean(T_Bundle_Value$Home_Per_Metr,T_Bundle_Value$Weight,na.rm = TRUE)
+CBNPoor[,RealPriceIndex1:=weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/Tehran_Bundle_Value1,by=ProvinceCode]
+CBNPoor[,RealPriceIndex2:=weighted.mean(Home_Per_Metr,Weight,na.rm = TRUE)/Tehran_Bundle_Value2,by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex1,Weight),by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex2,Weight),by=ProvinceCode]
+Indexes2<-CBNPoor[,.(RealPriceIndex1,RealPriceIndex2,ProvinceCode,Weight)]
+Indexes2<-Indexes2[,RealPriceIndex:=(RealPriceIndex1+RealPriceIndex2)/2]
+Indexes<-Indexes2[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+Indexes37<-Indexes[,.(ProvinceCode,RealPriceIndex1,RealPriceIndex2,RealPriceIndex)]
+Indexes<-Indexes[,.(ProvinceCode,RealPriceIndex)]
+CBN[,RealPriceIndex:=NULL]
+CBN<-merge(CBN,Indexes,by=c("ProvinceCode"),all.x = TRUE)
+CBN<-CBN[,Total_Food_Month_Per2:=FoodExpenditure_Per*RealPriceIndex]
+CBN<-CBN[,Total_Exp_Month_Per2:=Total_Exp_Month_Per_nondurable*RealPriceIndex]
+#utils::View(CBN)
+
+
+#Sort Expenditure data
+CBN<- CBN[order(Total_Exp_Month_Per2)]
+
+#Calculate cumulative weights
+sum(CBN$Weight)
+CBN$cumweight <- cumsum(CBN$Weight)
+tx <- max(CBN$cumweight)
+
+#Calculate deciles by weights
+CBN[,Decile:=cut(cumweight,breaks = seq(0,tx,tx/10),labels = 1:10)]
+CBN[,Percentile:=cut(cumweight,breaks=seq(0,tx,tx/100),labels=1:100)]
+
+#Update Poors
+CBN[,Poor:=ifelse(Decile %in% 1:4,1,0)]
+CBNPoor<-CBN[Poor==1]
+CBNPoor<-merge(CBNPoor,dt2,by=c("ProvinceCode"),all.x = TRUE)
+CBNPoor[,sum(HIndivNo),by=.(ProvinceCode)][order(ProvinceCode)]
+
+###Iteration1-8
+#Calculate Per_calories in clusters
+CBNPoor[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(185:200)][]
+#utils::View(CBNPoor)
+
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(202:217)][]
+
+CBNPoor[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor<-CBNPoor[Per_Daily_Exp_Calories!=0]
+CBNPoor[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+#CBN[,weighted.mean(Poor,Weight),by=cluster][order(cluster)]
+
+#Real Prices
+T_Bundle_Value<-subset(CBNPoor, ProvinceCode==23, select=c(Bundle_Value,Home_Per_Metr,Weight))
+Tehran_Bundle_Value1<-weighted.mean(T_Bundle_Value$Bundle_Value,T_Bundle_Value$Weight,na.rm = TRUE)
+Tehran_Bundle_Value2<-weighted.mean(T_Bundle_Value$Home_Per_Metr,T_Bundle_Value$Weight,na.rm = TRUE)
+CBNPoor[,RealPriceIndex1:=weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/Tehran_Bundle_Value1,by=ProvinceCode]
+CBNPoor[,RealPriceIndex2:=weighted.mean(Home_Per_Metr,Weight,na.rm = TRUE)/Tehran_Bundle_Value2,by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex1,Weight),by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex2,Weight),by=ProvinceCode]
+Indexes2<-CBNPoor[,.(RealPriceIndex1,RealPriceIndex2,ProvinceCode,Weight)]
+Indexes2<-Indexes2[,RealPriceIndex:=(RealPriceIndex1+RealPriceIndex2)/2]
+Indexes<-Indexes2[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+Indexes38<-Indexes[,.(ProvinceCode,RealPriceIndex1,RealPriceIndex2,RealPriceIndex)]
+Indexes<-Indexes[,.(ProvinceCode,RealPriceIndex)]
+CBN[,RealPriceIndex:=NULL]
+CBN<-merge(CBN,Indexes,by=c("ProvinceCode"),all.x = TRUE)
+CBN<-CBN[,Total_Food_Month_Per2:=FoodExpenditure_Per*RealPriceIndex]
+CBN<-CBN[,Total_Exp_Month_Per2:=Total_Exp_Month_Per_nondurable*RealPriceIndex]
+#utils::View(CBN)
+
+
+#Sort Expenditure data
+CBN<- CBN[order(Total_Exp_Month_Per2)]
+
+#Calculate cumulative weights
+sum(CBN$Weight)
+CBN$cumweight <- cumsum(CBN$Weight)
+tx <- max(CBN$cumweight)
+
+#Calculate deciles by weights
+CBN[,Decile:=cut(cumweight,breaks = seq(0,tx,tx/10),labels = 1:10)]
+CBN[,Percentile:=cut(cumweight,breaks=seq(0,tx,tx/100),labels=1:100)]
+
+#Update Poors
+CBN[,Poor:=ifelse(Decile %in% 1:4,1,0)]
+CBNPoor<-CBN[Poor==1]
+CBNPoor<-merge(CBNPoor,dt2,by=c("ProvinceCode"),all.x = TRUE)
+CBNPoor[,sum(HIndivNo),by=.(ProvinceCode)][order(ProvinceCode)]
+
+###Iteration1-9
+#Calculate Per_calories in clusters
+CBNPoor[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(185:200)][]
+#utils::View(CBNPoor)
+
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(202:217)][]
+
+CBNPoor[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor<-CBNPoor[Per_Daily_Exp_Calories!=0]
+CBNPoor[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+#CBN[,weighted.mean(Poor,Weight),by=cluster][order(cluster)]
+
+#Real Prices
+T_Bundle_Value<-subset(CBNPoor, ProvinceCode==23, select=c(Bundle_Value,Home_Per_Metr,Weight))
+Tehran_Bundle_Value1<-weighted.mean(T_Bundle_Value$Bundle_Value,T_Bundle_Value$Weight,na.rm = TRUE)
+Tehran_Bundle_Value2<-weighted.mean(T_Bundle_Value$Home_Per_Metr,T_Bundle_Value$Weight,na.rm = TRUE)
+CBNPoor[,RealPriceIndex1:=weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/Tehran_Bundle_Value1,by=ProvinceCode]
+CBNPoor[,RealPriceIndex2:=weighted.mean(Home_Per_Metr,Weight,na.rm = TRUE)/Tehran_Bundle_Value2,by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex1,Weight),by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex2,Weight),by=ProvinceCode]
+Indexes2<-CBNPoor[,.(RealPriceIndex1,RealPriceIndex2,ProvinceCode,Weight)]
+Indexes2<-Indexes2[,RealPriceIndex:=(RealPriceIndex1+RealPriceIndex2)/2]
+Indexes<-Indexes2[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+Indexes39<-Indexes[,.(ProvinceCode,RealPriceIndex1,RealPriceIndex2,RealPriceIndex)]
+Indexes<-Indexes[,.(ProvinceCode,RealPriceIndex)]
+CBN[,RealPriceIndex:=NULL]
+CBN<-merge(CBN,Indexes,by=c("ProvinceCode"),all.x = TRUE)
+CBN<-CBN[,Total_Food_Month_Per2:=FoodExpenditure_Per*RealPriceIndex]
+CBN<-CBN[,Total_Exp_Month_Per2:=Total_Exp_Month_Per_nondurable*RealPriceIndex]
+#utils::View(CBN)
+
+
+#Sort Expenditure data
+CBN<- CBN[order(Total_Exp_Month_Per2)]
+
+#Calculate cumulative weights
+sum(CBN$Weight)
+CBN$cumweight <- cumsum(CBN$Weight)
+tx <- max(CBN$cumweight)
+
+#Calculate deciles by weights
+CBN[,Decile:=cut(cumweight,breaks = seq(0,tx,tx/10),labels = 1:10)]
+CBN[,Percentile:=cut(cumweight,breaks=seq(0,tx,tx/100),labels=1:100)]
+
+#Update Poors
+CBN[,Poor:=ifelse(Decile %in% 1:4,1,0)]
+CBNPoor<-CBN[Poor==1]
+CBNPoor<-merge(CBNPoor,dt2,by=c("ProvinceCode"),all.x = TRUE)
+CBNPoor[,sum(HIndivNo),by=.(ProvinceCode)][order(ProvinceCode)]
+
+###Iteration1-10
+#Calculate Per_calories in clusters
+CBNPoor[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(185:200)][]
+#utils::View(CBNPoor)
+
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(202:217)][]
+
+CBNPoor[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor<-CBNPoor[Per_Daily_Exp_Calories!=0]
+CBNPoor[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+#CBN[,weighted.mean(Poor,Weight),by=cluster][order(cluster)]
+
+#Real Prices
+T_Bundle_Value<-subset(CBNPoor, ProvinceCode==23, select=c(Bundle_Value,Home_Per_Metr,Weight))
+Tehran_Bundle_Value1<-weighted.mean(T_Bundle_Value$Bundle_Value,T_Bundle_Value$Weight,na.rm = TRUE)
+Tehran_Bundle_Value2<-weighted.mean(T_Bundle_Value$Home_Per_Metr,T_Bundle_Value$Weight,na.rm = TRUE)
+CBNPoor[,RealPriceIndex1:=weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/Tehran_Bundle_Value1,by=ProvinceCode]
+CBNPoor[,RealPriceIndex2:=weighted.mean(Home_Per_Metr,Weight,na.rm = TRUE)/Tehran_Bundle_Value2,by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex1,Weight),by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex2,Weight),by=ProvinceCode]
+Indexes2<-CBNPoor[,.(RealPriceIndex1,RealPriceIndex2,ProvinceCode,Weight)]
+Indexes2<-Indexes2[,RealPriceIndex:=(RealPriceIndex1+RealPriceIndex2)/2]
+Indexes<-Indexes2[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+Indexes310<-Indexes[,.(ProvinceCode,RealPriceIndex1,RealPriceIndex2,RealPriceIndex)]
+Indexes<-Indexes[,.(ProvinceCode,RealPriceIndex)]
+CBN[,RealPriceIndex:=NULL]
+CBN<-merge(CBN,Indexes,by=c("ProvinceCode"),all.x = TRUE)
+CBN<-CBN[,Total_Food_Month_Per2:=FoodExpenditure_Per*RealPriceIndex]
+CBN<-CBN[,Total_Exp_Month_Per2:=Total_Exp_Month_Per_nondurable*RealPriceIndex]
+#utils::View(CBN)
+
+
+#Sort Expenditure data
+CBN<- CBN[order(Total_Exp_Month_Per2)]
+
+#Calculate cumulative weights
+sum(CBN$Weight)
+CBN$cumweight <- cumsum(CBN$Weight)
+tx <- max(CBN$cumweight)
+
+#Calculate deciles by weights
+CBN[,Decile:=cut(cumweight,breaks = seq(0,tx,tx/10),labels = 1:10)]
+CBN[,Percentile:=cut(cumweight,breaks=seq(0,tx,tx/100),labels=1:100)]
+
+#Update Poors
+CBN[,Poor:=ifelse(Decile %in% 1:4,1,0)]
+CBNPoor<-CBN[Poor==1]
+CBNPoor<-merge(CBNPoor,dt2,by=c("ProvinceCode"),all.x = TRUE)
+CBNPoor[,sum(HIndivNo),by=.(ProvinceCode)][order(ProvinceCode)]
+
+
+#Calculate Per_calories in clusters
+CBNPoor[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(189:204)][]
+#utils::View(CBNPoor)
+
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(206:221)][]
+
+CBNPoor[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor<-CBNPoor[Per_Daily_Exp_Calories!=0]
+CBNPoor[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNCalory<-CBNPoor[,.(Per_Daily_Calories,Per_Daily_Exp_Calories,Per_Calory_Resturant,Resturant_Exp,cluster,ProvinceCode)]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+
+
+#Calculations
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_day,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,sum(Size*Weight),by=cluster][order(cluster)]
+
+
+#Food Poverty Line for each cluster
+#cluster 1
+CBNPoorCluster<-CBNPoor[cluster==1]
+Food_Povertyline1_1<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 2
+CBNPoorCluster<-CBNPoor[cluster==2]
+Food_Povertyline2_1<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 3
+CBNPoorCluster<-CBNPoor[cluster==3]
+Food_Povertyline3_1<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 4
+CBNPoorCluster<-CBNPoor[cluster==4]
+Food_Povertyline4_1<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 5
+CBNPoorCluster<-CBNPoor[cluster==5]
+Food_Povertyline5_1<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#ee<-CBNPoor[,.(Total_Exp_Month_Real,Total_Exp_Month,Total_Food_Month_Per2,Total_Exp_Month_Per_nondurable,Total_Exp_Month_nondurable_Real_Per,FoodExpenditure_Per,cluster)]
+#mean(ee[,Total_Food_Month_Per2==Total_Exp_Month_nondurable_Real])
+#mean(ee[,Total_Food_Month_Per2<3500000])
+#ee<- ee[order(Total_Food_Month_Per2)]
+#utils::View(CBN)
+CBN<-merge(CBN,dt2,by=c("ProvinceCode"),all.x = TRUE)
+#for (col in c("Total_Food_Month_Per2")) CBN[is.na(get(col)), (col) := Total_Exp_Month_Per_nondurable]
+c<-CBN[,.(FoodExpenditure_Per,FoodExpenditure_Per_total,Total_Exp_Month_Per_nondurable,Total_Exp_Month,Total_Food_Month_Per2,Poor,Decile,Weight,cluster)]
+
+#########Iteration 2###############
+#Sort Expenditure data
+CBN<- CBN[order(Total_Food_Month_Per2)]
+c<- c[order(Total_Food_Month_Per2)]
+
+#Indicate new poors
+CBN[,Poor2:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_1 & cluster==1,1,0)]
+c[,Poor2:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_1 & cluster==1 ,1,0)]
+CBN[,Poor2:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_1 & cluster==2,1,Poor2)]
+c[,Poor2:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_1 & cluster==2 ,1,Poor2)]
+CBN[,Poor2:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_1 & cluster==3,1,Poor2)]
+c[,Poor2:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_1 & cluster==3 ,1,Poor2)]
+CBN[,Poor2:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_1 & cluster==4,1,Poor2)]
+c[,Poor2:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_1 & cluster==4 ,1,Poor2)]
+CBN[,Poor2:=ifelse(FoodExpenditure_Per_total < Food_Povertyline5_1 & cluster==5,1,Poor2)]
+c[,Poor2:=ifelse(FoodExpenditure_Per_total < Food_Povertyline5_1 & cluster==5 ,1,Poor2)]
+CBN[,weighted.mean(Poor2,Weight),by=cluster][order(cluster)]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2<-CBN[Poor2==1]
+
+
+#CalculatePer_calories in clusters
+CBNPoor2[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(190:205)][]
+#utils::View(CBNPoor2)
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor2[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(207:222)][]
+
+CBNPoor2[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor2[,Calory_Price:=FoodExpenditure_Per_cluster/(Daily_Calories_cluster2)]
+CBNPoor2[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor2[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2<-CBNPoor2[Per_Daily_Exp_Calories!=0]
+CBNPoor2[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor2[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor2[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor2[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor2[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor2[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+
+
+
+#Calculations
+CBNPoor2[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,weighted.mean(FoodExpenditure_Per_day,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+
+
+
+#Food Poverty Line for each cluster
+#cluster 1
+CBNPoorCluster<-CBNPoor2[cluster==1]
+Food_Povertyline1_2<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 2
+CBNPoorCluster<-CBNPoor2[cluster==2]
+Food_Povertyline2_2<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 3
+CBNPoorCluster<-CBNPoor2[cluster==3]
+Food_Povertyline3_2<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 4
+CBNPoorCluster<-CBNPoor2[cluster==4]
+Food_Povertyline4_2<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 5
+CBNPoorCluster<-CBNPoor[cluster==5]
+Food_Povertyline5_2<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#ee<-CBNPoor[,.(Total_Exp_Month_Real,Total_Exp_Month,Total_Food_Month_Per2,Total_Exp_Month_Per_nondurable,Total_Exp_Month_nondurable_Real_Per,FoodExpenditure_Per,cluster)]
+#mean(ee[,Total_Food_Month_Per2==Total_Exp_Month_nondurable_Real])
+#mean(ee[,Total_Food_Month_Per2<3500000])
+#ee<- ee[order(Total_Food_Month_Per2)]
+#utils::View(CBN)
+#for (col in c("Total_Food_Month_Per2")) CBN[is.na(get(col)), (col) := Total_Exp_Month_Per_nondurable]
+c<-CBN[,.(FoodExpenditure_Per,FoodExpenditure_Per_total,Total_Exp_Month_Per_nondurable,Total_Exp_Month,Total_Food_Month_Per2,Poor,Decile,Weight,cluster)]
+
+
+#########Iteration 3###############
+#Sort Expenditure data
+CBN<- CBN[order(Total_Food_Month_Per2)]
+c<- c[order(Total_Food_Month_Per2)]
+
+#Indicate new poors
+CBN[,Poor3:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_2 & cluster==1,1,0)]
+c[,Poor3:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_2 & cluster==1 ,1,0)]
+CBN[,Poor3:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_2 & cluster==2,1,Poor3)]
+c[,Poor3:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_2 & cluster==2 ,1,Poor3)]
+CBN[,Poor3:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_2 & cluster==3,1,Poor3)]
+c[,Poor3:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_2 & cluster==3 ,1,Poor3)]
+CBN[,Poor3:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_2 & cluster==4,1,Poor3)]
+c[,Poor3:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_2 & cluster==4 ,1,Poor3)]
+CBN[,Poor3:=ifelse(FoodExpenditure_Per_total < Food_Povertyline5_2 & cluster==5,1,Poor3)]
+c[,Poor3:=ifelse(FoodExpenditure_Per_total < Food_Povertyline5_2 & cluster==5 ,1,Poor3)]
+CBN[,weighted.mean(Poor3,Weight),by=cluster][order(cluster)]
+CBNPoor2[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3<-CBN[Poor3==1]
+
+
+
+#CalculatePer_calories in clusters
+CBNPoor3[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(191:206)][]
+#utils::View(CBNPoor3)
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor3[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(208:223)][]
+
+
+CBNPoor3[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor3[,Calory_Price:=FoodExpenditure_Per_cluster/(Daily_Calories_cluster2)]
+CBNPoor3[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor3[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3<-CBNPoor3[Per_Daily_Exp_Calories!=0]
+CBNPoor3[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor3[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+
+#sum of total food expenditures
+CBNPoor3[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor3[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor3[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor3[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+
+
+#Calculations
+CBNPoor3[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,weighted.mean(FoodExpenditure_Per_day,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+
+
+
+#Food Poverty Line for each cluster
+#cluster 1
+CBNPoorCluster<-CBNPoor3[cluster==1]
+Food_Povertyline1_3<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 2
+CBNPoorCluster<-CBNPoor3[cluster==2]
+Food_Povertyline2_3<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 3
+CBNPoorCluster<-CBNPoor3[cluster==3]
+Food_Povertyline3_3<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 4
+CBNPoorCluster<-CBNPoor3[cluster==4]
+Food_Povertyline4_3<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 5
+CBNPoorCluster<-CBNPoor[cluster==5]
+Food_Povertyline5_3<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#ee<-CBNPoor[,.(Total_Exp_Month_Real,Total_Exp_Month,Total_Food_Month_Per2,Total_Exp_Month_Per_nondurable,Total_Exp_Month_nondurable_Real_Per,FoodExpenditure_Per,cluster)]
+#mean(ee[,Total_Food_Month_Per2==Total_Exp_Month_nondurable_Real])
+#mean(ee[,Total_Food_Month_Per2<3500000])
+#ee<- ee[order(Total_Food_Month_Per2)]
+#utils::View(CBN)
+#for (col in c("Total_Food_Month_Per2")) CBN[is.na(get(col)), (col) := Total_Exp_Month_Per_nondurable]
+c<-CBN[,.(FoodExpenditure_Per,FoodExpenditure_Per_total,Total_Exp_Month_Per_nondurable,Total_Exp_Month,Total_Food_Month_Per2,Poor,Decile,Weight,cluster)]
+
+
+#########Iteration 4###############
+#Sort Expenditure data
+CBN<- CBN[order(Total_Food_Month_Per2)]
+c<- c[order(Total_Food_Month_Per2)]
+
+#Indicate new poors
+CBN[,Poor4:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_3 & cluster==1,1,0)]
+c[,Poor4:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_3 & cluster==1 ,1,0)]
+CBN[,Poor4:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_3 & cluster==2,1,Poor4)]
+c[,Poor4:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_3 & cluster==2 ,1,Poor4)]
+CBN[,Poor4:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_3 & cluster==3,1,Poor4)]
+c[,Poor4:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_3 & cluster==3 ,1,Poor4)]
+CBN[,Poor4:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_3 & cluster==4,1,Poor4)]
+c[,Poor4:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_3 & cluster==4 ,1,Poor4)]
+CBN[,Poor4:=ifelse(FoodExpenditure_Per_total < Food_Povertyline5_3 & cluster==5,1,Poor4)]
+c[,Poor4:=ifelse(FoodExpenditure_Per_total < Food_Povertyline5_3 & cluster==5 ,1,Poor4)]
+CBN[,weighted.mean(Poor4,Weight),by=cluster][order(cluster)]
+CBNPoor3[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4<-CBN[Poor4==1]
+
+#CalculatePer_calories in clusters
+CBNPoor4[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(191:206)][]
+#utils::View(CBNPoor4)
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor4[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(208:223)][]
+
+
+CBNPoor4[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor4[,Calory_Price:=FoodExpenditure_Per_cluster/(Daily_Calories_cluster2)]
+CBNPoor4[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor4[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4<-CBNPoor4[Per_Daily_Exp_Calories!=0]
+CBNPoor4[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor4[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+
+#sum of total food expenditures
+CBNPoor4[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor4[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor4[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor4[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+
+
+#Calculations
+CBNPoor4[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,weighted.mean(FoodExpenditure_Per_day,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+
+
+
+#Food Poverty Line for each cluster
+#cluster 1
+CBNPoorCluster<-CBNPoor4[cluster==1]
+Food_Povertyline1_4<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 2
+CBNPoorCluster<-CBNPoor4[cluster==2]
+Food_Povertyline2_4<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 3
+CBNPoorCluster<-CBNPoor4[cluster==3]
+Food_Povertyline3_4<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 4
+CBNPoorCluster<-CBNPoor4[cluster==4]
+Food_Povertyline4_4<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 5
+CBNPoorCluster<-CBNPoor[cluster==5]
+Food_Povertyline5_4<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#ee<-CBNPoor[,.(Total_Exp_Month_Real,Total_Exp_Month,Total_Food_Month_Per2,Total_Exp_Month_Per_nondurable,Total_Exp_Month_nondurable_Real_Per,FoodExpenditure_Per,cluster)]
+#mean(ee[,Total_Food_Month_Per2==Total_Exp_Month_nondurable_Real])
+#mean(ee[,Total_Food_Month_Per2<3500000])
+#ee<- ee[order(Total_Food_Month_Per2)]
+#utils::View(CBN)
+#for (col in c("Total_Food_Month_Per2")) CBN[is.na(get(col)), (col) := Total_Exp_Month_Per_nondurable]
+c<-CBN[,.(FoodExpenditure_Per,FoodExpenditure_Per_total,Total_Exp_Month_Per_nondurable,Total_Exp_Month,Total_Food_Month_Per2,Poor,Decile,Weight,cluster)]
+
+
+#########Iteration 5###############
+#Sort Expenditure data
+CBN<- CBN[order(Total_Food_Month_Per2)]
+c<- c[order(Total_Food_Month_Per2)]
+
+#Indicate new poors
+CBN[,Poor5:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_4 & cluster==1,1,0)]
+c[,Poor5:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_4 & cluster==1 ,1,0)]
+CBN[,Poor5:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_4 & cluster==2,1,Poor5)]
+c[,Poor5:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_4 & cluster==2 ,1,Poor5)]
+CBN[,Poor5:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_4 & cluster==3,1,Poor5)]
+c[,Poor5:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_4 & cluster==3 ,1,Poor5)]
+CBN[,Poor5:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_4 & cluster==4,1,Poor5)]
+c[,Poor5:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_4 & cluster==4 ,1,Poor5)]
+CBN[,Poor5:=ifelse(FoodExpenditure_Per_total < Food_Povertyline5_4 & cluster==5,1,Poor5)]
+c[,Poor5:=ifelse(FoodExpenditure_Per_total < Food_Povertyline5_4 & cluster==5 ,1,Poor5)]
+CBN[,weighted.mean(Poor5,Weight),by=cluster][order(cluster)]
+CBNPoor4[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5<-CBN[Poor5==1]
+
+#CalculatePer_calories in clusters
+CBNPoor5[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(191:206)][]
+#utils::View(CBNPoor5)
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor5[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(208:223)][]
+
+
+CBNPoor5[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor5[,Calory_Price:=FoodExpenditure_Per_cluster/(Daily_Calories_cluster2)]
+CBNPoor5[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor5[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5<-CBNPoor5[Per_Daily_Exp_Calories!=0]
+CBNPoor5[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor5[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+
+#sum of total food expenditures
+CBNPoor5[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor5[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor5[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor5[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+
+
+#Calculations
+CBNPoor5[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,weighted.mean(FoodExpenditure_Per_day,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+
+
+
+#Food Poverty Line for each cluster
+#cluster 1
+CBNPoorCluster<-CBNPoor5[cluster==1]
+Food_Povertyline1_5<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 2
+CBNPoorCluster<-CBNPoor5[cluster==2]
+Food_Povertyline2_5<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 3
+CBNPoorCluster<-CBNPoor5[cluster==3]
+Food_Povertyline3_5<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 4
+CBNPoorCluster<-CBNPoor5[cluster==4]
+Food_Povertyline4_5<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 5
+CBNPoorCluster<-CBNPoor[cluster==5]
+Food_Povertyline5_5<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#ee<-CBNPoor[,.(Total_Exp_Month_Real,Total_Exp_Month,Total_Food_Month_Per2,Total_Exp_Month_Per_nondurable,Total_Exp_Month_nondurable_Real_Per,FoodExpenditure_Per,cluster)]
+#mean(ee[,Total_Food_Month_Per2==Total_Exp_Month_nondurable_Real])
+#mean(ee[,Total_Food_Month_Per2<3500000])
+#ee<- ee[order(Total_Food_Month_Per2)]
+#utils::View(CBN)
+#for (col in c("Total_Food_Month_Per2")) CBN[is.na(get(col)), (col) := Total_Exp_Month_Per_nondurable]
+c<-CBN[,.(FoodExpenditure_Per,FoodExpenditure_Per_total,Total_Exp_Month_Per_nondurable,Total_Exp_Month,Total_Food_Month_Per2,Poor,Decile,Weight,cluster)]
+
+
+#########Iteration 6###############
+#Sort Expenditure data
+CBN<- CBN[order(Total_Food_Month_Per2)]
+c<- c[order(Total_Food_Month_Per2)]
+
+#Indicate new poors
+CBN[,Poor6:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_5 & cluster==1,1,0)]
+c[,Poor6:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_5 & cluster==1 ,1,0)]
+CBN[,Poor6:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_5 & cluster==2,1,Poor6)]
+c[,Poor6:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_5 & cluster==2 ,1,Poor6)]
+CBN[,Poor6:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_5 & cluster==3,1,Poor6)]
+c[,Poor6:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_5 & cluster==3 ,1,Poor6)]
+CBN[,Poor6:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_5 & cluster==4,1,Poor6)]
+c[,Poor6:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_5 & cluster==4 ,1,Poor6)]
+CBN[,Poor6:=ifelse(FoodExpenditure_Per_total < Food_Povertyline5_5 & cluster==5,1,Poor6)]
+c[,Poor6:=ifelse(FoodExpenditure_Per_total < Food_Povertyline5_5 & cluster==5 ,1,Poor6)]
+CBN[,weighted.mean(Poor6,Weight),by=cluster][order(cluster)]
+CBNPoor5[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6<-CBN[Poor6==1]
+
+#CalculatePer_calories in clusters
+CBNPoor6[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(191:206)][]
+#utils::View(CBNPoor6)
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor6[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(208:223)][]
+
+
+CBNPoor6[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor6[,Calory_Price:=FoodExpenditure_Per_cluster/(Daily_Calories_cluster2)]
+CBNPoor6[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor6[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6<-CBNPoor6[Per_Daily_Exp_Calories!=0]
+CBNPoor6[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor6[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+
+#sum of total food expenditures
+CBNPoor6[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor6[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor6[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor6[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+
+
+#Calculations
+CBNPoor6[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,weighted.mean(FoodExpenditure_Per_day,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+
+
+#Food Poverty Line for each cluster
+#cluster 1
+CBNPoorCluster<-CBNPoor6[cluster==1]
+Food_Povertyline1_6<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 2
+CBNPoorCluster<-CBNPoor6[cluster==2]
+Food_Povertyline2_6<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 3
+CBNPoorCluster<-CBNPoor6[cluster==3]
+Food_Povertyline3_6<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 4
+CBNPoorCluster<-CBNPoor6[cluster==4]
+Food_Povertyline4_6<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 5
+CBNPoorCluster<-CBNPoor[cluster==5]
+Food_Povertyline5_6<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#ee<-CBNPoor[,.(Total_Exp_Month_Real,Total_Exp_Month,Total_Food_Month_Per2,Total_Exp_Month_Per_nondurable,Total_Exp_Month_nondurable_Real_Per,FoodExpenditure_Per,cluster)]
+#mean(ee[,Total_Food_Month_Per2==Total_Exp_Month_nondurable_Real])
+#mean(ee[,Total_Food_Month_Per2<3500000])
+#ee<- ee[order(Total_Food_Month_Per2)]
+#utils::View(CBN)
+#for (col in c("Total_Food_Month_Per2")) CBN[is.na(get(col)), (col) := Total_Exp_Month_Per_nondurable]
+c<-CBN[,.(FoodExpenditure_Per,FoodExpenditure_Per_total,Total_Exp_Month_Per_nondurable,Total_Exp_Month,Total_Food_Month_Per2,Poor,Decile,Weight,cluster)]
+
+
+#########Iteration 7###############
+#Sort Expenditure data
+CBN<- CBN[order(Total_Food_Month_Per2)]
+c<- c[order(Total_Food_Month_Per2)]
+
+#Indicate new poors
+CBN[,Poor7:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_6 & cluster==1,1,0)]
+c[,Poor7:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_6 & cluster==1 ,1,0)]
+CBN[,Poor7:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_6 & cluster==2,1,Poor7)]
+c[,Poor7:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_6 & cluster==2 ,1,Poor7)]
+CBN[,Poor7:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_6 & cluster==3,1,Poor7)]
+c[,Poor7:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_6 & cluster==3 ,1,Poor7)]
+CBN[,Poor7:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_6 & cluster==4,1,Poor7)]
+c[,Poor7:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_6 & cluster==4 ,1,Poor7)]
+CBN[,Poor7:=ifelse(FoodExpenditure_Per_total < Food_Povertyline5_6 & cluster==5,1,Poor7)]
+c[,Poor7:=ifelse(FoodExpenditure_Per_total < Food_Povertyline5_6 & cluster==5 ,1,Poor7)]
+CBN[,weighted.mean(Poor7,Weight),by=cluster][order(cluster)]
+CBNPoor6[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7<-CBN[Poor7==1]
+
+#CalculatePer_calories in clusters
+CBNPoor7[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(191:206)][]
+#utils::View(CBNPoor7)
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor7[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(208:223)][]
+
+
+CBNPoor7[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor7[,Calory_Price:=FoodExpenditure_Per_cluster/(Daily_Calories_cluster2)]
+CBNPoor7[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor7[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7<-CBNPoor7[Per_Daily_Exp_Calories!=0]
+CBNPoor7[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor7[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+
+#sum of total food expenditures
+CBNPoor7[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor7[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor7[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor7[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+
+
+#Calculations
+CBNPoor7[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,weighted.mean(FoodExpenditure_Per_day,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+
+
+
+#Food Poverty Line for each cluster
+#cluster 1
+CBNPoorCluster<-CBNPoor7[cluster==1]
+Food_Povertyline1_7<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 2
+CBNPoorCluster<-CBNPoor7[cluster==2]
+Food_Povertyline2_7<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 3
+CBNPoorCluster<-CBNPoor7[cluster==3]
+Food_Povertyline3_7<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 4
+CBNPoorCluster<-CBNPoor7[cluster==4]
+Food_Povertyline4_7<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 5
+CBNPoorCluster<-CBNPoor[cluster==5]
+Food_Povertyline5_7<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#ee<-CBNPoor[,.(Total_Exp_Month_Real,Total_Exp_Month,Total_Food_Month_Per2,Total_Exp_Month_Per_nondurable,Total_Exp_Month_nondurable_Real_Per,FoodExpenditure_Per,cluster)]
+#mean(ee[,Total_Food_Month_Per2==Total_Exp_Month_nondurable_Real])
+#mean(ee[,Total_Food_Month_Per2<3500000])
+#ee<- ee[order(Total_Food_Month_Per2)]
+#utils::View(CBN)
+#for (col in c("Total_Food_Month_Per2")) CBN[is.na(get(col)), (col) := Total_Exp_Month_Per_nondurable]
+c<-CBN[,.(FoodExpenditure_Per,FoodExpenditure_Per_total,Total_Exp_Month_Per_nondurable,Total_Exp_Month,Total_Food_Month_Per2,Poor,Decile,Weight,cluster)]
+
+
+#########Iteration 8###############
+#Sort Expenditure data
+CBN<- CBN[order(Total_Food_Month_Per2)]
+c<- c[order(Total_Food_Month_Per2)]
+
+#Indicate new poors
+CBN[,Poor8:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_7 & cluster==1,1,0)]
+c[,Poor8:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_7 & cluster==1 ,1,0)]
+CBN[,Poor8:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_7 & cluster==2,1,Poor8)]
+c[,Poor8:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_7 & cluster==2 ,1,Poor8)]
+CBN[,Poor8:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_7 & cluster==3,1,Poor8)]
+c[,Poor8:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_7 & cluster==3 ,1,Poor8)]
+CBN[,Poor8:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_7 & cluster==4,1,Poor8)]
+c[,Poor8:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_7 & cluster==4 ,1,Poor8)]
+CBN[,Poor8:=ifelse(FoodExpenditure_Per_total < Food_Povertyline5_7 & cluster==5,1,Poor8)]
+c[,Poor8:=ifelse(FoodExpenditure_Per_total < Food_Povertyline5_7 & cluster==5 ,1,Poor8)]
+CBN[,weighted.mean(Poor8,Weight),by=cluster][order(cluster)]
+CBNPoor7[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8<-CBN[Poor8==1]
+
+
+#CalculatePer_calories in clusters
+CBNPoor8[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(191:206)][]
+#utils::View(CBNPoor8)
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor8[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(208:223)][]
+
+
+CBNPoor8[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor8[,Calory_Price:=FoodExpenditure_Per_cluster/(Daily_Calories_cluster2)]
+CBNPoor8[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor8[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8<-CBNPoor8[Per_Daily_Exp_Calories!=0]
+CBNPoor8[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor8[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+
+#sum of total food expenditures
+CBNPoor8[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor8[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor8[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor8[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+
+
+#Calculations
+CBNPoor8[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,weighted.mean(FoodExpenditure_Per_day,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+
+
+
+#Food Poverty Line for each cluster
+#cluster 1
+CBNPoorCluster<-CBNPoor8[cluster==1]
+Food_Povertyline1_8<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 2
+CBNPoorCluster<-CBNPoor8[cluster==2]
+Food_Povertyline2_8<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 3
+CBNPoorCluster<-CBNPoor8[cluster==3]
+Food_Povertyline3_8<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 4
+CBNPoorCluster<-CBNPoor8[cluster==4]
+Food_Povertyline4_8<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 5
+CBNPoorCluster<-CBNPoor[cluster==5]
+Food_Povertyline5_8<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#ee<-CBNPoor[,.(Total_Exp_Month_Real,Total_Exp_Month,Total_Food_Month_Per2,Total_Exp_Month_Per_nondurable,Total_Exp_Month_nondurable_Real_Per,FoodExpenditure_Per,cluster)]
+#mean(ee[,Total_Food_Month_Per2==Total_Exp_Month_nondurable_Real])
+#mean(ee[,Total_Food_Month_Per2<3500000])
+#ee<- ee[order(Total_Food_Month_Per2)]
+#utils::View(CBN)
+#for (col in c("Total_Food_Month_Per2")) CBN[is.na(get(col)), (col) := Total_Exp_Month_Per_nondurable]
+c<-CBN[,.(FoodExpenditure_Per,FoodExpenditure_Per_total,Total_Exp_Month_Per_nondurable,Total_Exp_Month,Total_Food_Month_Per2,Poor,Decile,Weight,cluster)]
+
+
+#########Iteration 9###############
+#Sort Expenditure data
+CBN<- CBN[order(Total_Food_Month_Per2)]
+c<- c[order(Total_Food_Month_Per2)]
+
+#Indicate new poors
+CBN[,Poor9:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_8 & cluster==1,1,0)]
+c[,Poor9:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_8 & cluster==1 ,1,0)]
+CBN[,Poor9:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_8 & cluster==2,1,Poor9)]
+c[,Poor9:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_8 & cluster==2 ,1,Poor9)]
+CBN[,Poor9:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_8 & cluster==3,1,Poor9)]
+c[,Poor9:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_8 & cluster==3 ,1,Poor9)]
+CBN[,Poor9:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_8 & cluster==4,1,Poor9)]
+c[,Poor9:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_8 & cluster==4 ,1,Poor9)]
+CBN[,Poor9:=ifelse(FoodExpenditure_Per_total < Food_Povertyline5_8 & cluster==5,1,Poor9)]
+c[,Poor9:=ifelse(FoodExpenditure_Per_total < Food_Povertyline5_8 & cluster==5 ,1,Poor9)]
+CBN[,weighted.mean(Poor9,Weight),by=cluster][order(cluster)]
+CBNPoor8[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9<-CBN[Poor9==1]
+
+
+#CalculatePer_calories in clusters
+CBNPoor9[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(191:206)][]
+#utils::View(CBNPoor9)
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor9[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(208:223)][]
+
+
+CBNPoor9[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor9[,Calory_Price:=FoodExpenditure_Per_cluster/(Daily_Calories_cluster2)]
+CBNPoor9[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor9[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9<-CBNPoor9[Per_Daily_Exp_Calories!=0]
+CBNPoor9[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor9[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+
+#sum of total food expenditures
+CBNPoor9[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor9[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor9[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor9[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+
+
+
+#Calculations
+CBNPoor9[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,weighted.mean(FoodExpenditure_Per_day,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+
+
+
+#Food Poverty Line for each cluster
+#cluster 1
+CBNPoorCluster<-CBNPoor9[cluster==1]
+Food_Povertyline1_9<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 2
+CBNPoorCluster<-CBNPoor9[cluster==2]
+Food_Povertyline2_9<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 3
+CBNPoorCluster<-CBNPoor9[cluster==3]
+Food_Povertyline3_9<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 4
+CBNPoorCluster<-CBNPoor9[cluster==4]
+Food_Povertyline4_9<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 5
+CBNPoorCluster<-CBNPoor[cluster==5]
+Food_Povertyline5_9<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#ee<-CBNPoor[,.(Total_Exp_Month_Real,Total_Exp_Month,Total_Food_Month_Per2,Total_Exp_Month_Per_nondurable,Total_Exp_Month_nondurable_Real_Per,FoodExpenditure_Per,cluster)]
+#mean(ee[,Total_Food_Month_Per2==Total_Exp_Month_nondurable_Real])
+#mean(ee[,Total_Food_Month_Per2<3500000])
+#ee<- ee[order(Total_Food_Month_Per2)]
+#utils::View(CBN)
+#for (col in c("Total_Food_Month_Per2")) CBN[is.na(get(col)), (col) := Total_Exp_Month_Per_nondurable]
+c<-CBN[,.(FoodExpenditure_Per,FoodExpenditure_Per_total,Total_Exp_Month_Per_nondurable,Total_Exp_Month,Total_Food_Month_Per2,Poor,Decile,Weight,cluster)]
+
+
+#########Iteration 10###############
+#Sort Expenditure data
+CBN<- CBN[order(Total_Food_Month_Per2)]
+c<- c[order(Total_Food_Month_Per2)]
+
+#Indicate new poors
+CBN[,Poor10:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_9 & cluster==1,1,0)]
+c[,Poor10:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_9 & cluster==1 ,1,0)]
+CBN[,Poor10:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_9 & cluster==2,1,Poor10)]
+c[,Poor10:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_9 & cluster==2 ,1,Poor10)]
+CBN[,Poor10:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_9 & cluster==3,1,Poor10)]
+c[,Poor10:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_9 & cluster==3 ,1,Poor10)]
+CBN[,Poor10:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_9 & cluster==4,1,Poor10)]
+c[,Poor10:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_9 & cluster==4 ,1,Poor10)]
+CBN[,Poor10:=ifelse(FoodExpenditure_Per_total < Food_Povertyline5_9 & cluster==5,1,Poor10)]
+c[,Poor10:=ifelse(FoodExpenditure_Per_total < Food_Povertyline5_9 & cluster==5 ,1,Poor10)]
+CBN[,weighted.mean(Poor10,Weight),by=cluster][order(cluster)]
+CBNPoor9[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor10<-CBN[Poor10==1]
+
+#Engel
+#CBNPoor9<-CBNPoor9[,ratio1:=FoodExpenditure/Total_Exp_Month]
+#CBNPoor9[,weighted.mean(ratio1,Weight),by=cluster]
+#summary(CBNPoor9$ratio1)
+CBN<-CBN[,ratio1:=FoodExpenditure/Total_Exp_Month]
+CBN[,weighted.mean(ratio1,Weight),by=ProvinceCode][order(ProvinceCode)]
+CBN<-CBN[,ratio2:=ServiceExp/Total_Exp_Month]
+CBN[,weighted.mean(ratio2,Weight),by=ProvinceCode][order(ProvinceCode)]
+
+#Engel-home ratio calculations
+CBN[cluster==1 & FoodExpenditure_Per_total<1.1*Food_Povertyline1_9 & FoodExpenditure_Per_total>0.90*Food_Povertyline1_9,sum(HIndivNo),by=ProvinceCode][order(ProvinceCode)]
+CBN[cluster==2 & FoodExpenditure_Per_total<1.1*Food_Povertyline2_9 & FoodExpenditure_Per_total>0.90*Food_Povertyline1_9,sum(HIndivNo),by=ProvinceCode][order(ProvinceCode)]
+CBN[cluster==3 & FoodExpenditure_Per_total<1.1*Food_Povertyline3_9 & FoodExpenditure_Per_total>0.90*Food_Povertyline1_9,sum(HIndivNo),by=ProvinceCode][order(ProvinceCode)]
+CBN[cluster==4 & FoodExpenditure_Per_total<1.1*Food_Povertyline4_9 & FoodExpenditure_Per_total>0.90*Food_Povertyline1_9,sum(HIndivNo),by=ProvinceCode][order(ProvinceCode)]
+CBN[cluster==5 & FoodExpenditure_Per_total<1.1*Food_Povertyline5_9 & FoodExpenditure_Per_total>0.90*Food_Povertyline1_9,sum(HIndivNo),by=ProvinceCode][order(ProvinceCode)]
+
+CBN[cluster==1 & FoodExpenditure_Per_total<1.1*Food_Povertyline1_9 & FoodExpenditure_Per_total>0.90*Food_Povertyline1_9,weighted.mean(ratio1,Weight),by=ProvinceCode][order(ProvinceCode)]
+CBN[cluster==2 & FoodExpenditure_Per_total<1.1*Food_Povertyline2_9 & FoodExpenditure_Per_total>0.90*Food_Povertyline1_9,weighted.mean(ratio1,Weight),by=ProvinceCode][order(ProvinceCode)]
+CBN[cluster==3 & FoodExpenditure_Per_total<1.1*Food_Povertyline3_9 & FoodExpenditure_Per_total>0.90*Food_Povertyline1_9,weighted.mean(ratio1,Weight),by=ProvinceCode][order(ProvinceCode)]
+CBN[cluster==4 & FoodExpenditure_Per_total<1.1*Food_Povertyline4_9 & FoodExpenditure_Per_total>0.90*Food_Povertyline1_9,weighted.mean(ratio1,Weight),by=ProvinceCode][order(ProvinceCode)]
+CBN[cluster==5 & FoodExpenditure_Per_total<1.1*Food_Povertyline5_9 & FoodExpenditure_Per_total>0.90*Food_Povertyline1_9,weighted.mean(ratio1,Weight),by=ProvinceCode][order(ProvinceCode)]
+
+CBN[cluster==1 & FoodExpenditure_Per_total<1.1*Food_Povertyline1_9 & FoodExpenditure_Per_total>0.90*Food_Povertyline1_9,weighted.mean(ratio2,Weight),by=ProvinceCode][order(ProvinceCode)]
+CBN[cluster==2 & FoodExpenditure_Per_total<1.1*Food_Povertyline2_9 & FoodExpenditure_Per_total>0.90*Food_Povertyline1_9,weighted.mean(ratio2,Weight),by=ProvinceCode][order(ProvinceCode)]
+CBN[cluster==3 & FoodExpenditure_Per_total<1.1*Food_Povertyline3_9 & FoodExpenditure_Per_total>0.90*Food_Povertyline1_9,weighted.mean(ratio2,Weight),by=ProvinceCode][order(ProvinceCode)]
+CBN[cluster==4 & FoodExpenditure_Per_total<1.1*Food_Povertyline4_9 & FoodExpenditure_Per_total>0.90*Food_Povertyline1_9,weighted.mean(ratio2,Weight),by=ProvinceCode][order(ProvinceCode)]
+CBN[cluster==5 & FoodExpenditure_Per_total<1.1*Food_Povertyline5_9 & FoodExpenditure_Per_total>0.90*Food_Povertyline1_9,weighted.mean(ratio2,Weight),by=ProvinceCode][order(ProvinceCode)]
+
+# Poverty Line for each cluster
+#cluster 1
+CBNPoorCluster<-CBN[cluster==1 & FoodExpenditure_Per_total<1.1*Food_Povertyline1_9 & FoodExpenditure_Per_total>0.90*Food_Povertyline1_9]
+Engel1<-weighted.mean(CBNPoorCluster$ratio1,CBNPoorCluster$Weight)
+Engel_Reverse1<-1/Engel1
+Povertyline1_9<-Engel_Reverse1*Food_Povertyline1_9
+
+#cluster 2
+CBNPoorCluster<-CBN[cluster==2 & FoodExpenditure_Per_total<1.1*Food_Povertyline2_9 & FoodExpenditure_Per_total>0.90*Food_Povertyline2_9]
+Engel2<-weighted.mean(CBNPoorCluster$ratio1,CBNPoorCluster$Weight)
+Engel_Reverse2<-1/Engel2
+Povertyline2_9<-Engel_Reverse2*Food_Povertyline2_9
+
+#cluster 3
+CBNPoorCluster<-CBN[cluster==3 & FoodExpenditure_Per_total<1.1*Food_Povertyline3_9 & FoodExpenditure_Per_total>0.90*Food_Povertyline3_9]
+Engel3<-weighted.mean(CBNPoorCluster$ratio1,CBNPoorCluster$Weight)
+Engel_Reverse3<-1/Engel3
+Povertyline3_9<-Engel_Reverse3*Food_Povertyline3_9
+
+#cluster 4
+CBNPoorCluster<-CBN[cluster==4 & FoodExpenditure_Per_total<1.1*Food_Povertyline4_9 & FoodExpenditure_Per_total>0.90*Food_Povertyline4_9]
+Engel4<-weighted.mean(CBNPoorCluster$ratio1,CBNPoorCluster$Weight)
+Engel_Reverse4<-1/Engel4
+Povertyline4_9<-Engel_Reverse4*Food_Povertyline4_9
+
+#cluster 5
+CBNPoorCluster<-CBN[cluster==5 & FoodExpenditure_Per_total<1.1*Food_Povertyline5_9 & FoodExpenditure_Per_total>0.90*Food_Povertyline5_9]
+Engel5<-weighted.mean(CBNPoorCluster$ratio1,CBNPoorCluster$Weight)
+Engel_Reverse5<-1/Engel5
+Povertyline5_9<-Engel_Reverse5*Food_Povertyline5_9
+
+#Indicate final poors
+CBN<-CBN[,Total_Exp_Month_Per2:=Total_Exp_Month_Per_nondurable*RealPriceIndex]
+
+CBN[,Poor11:=ifelse(Total_Exp_Month_Per_nondurable < Povertyline1_9 & cluster==1,1,0)]
+CBN[,Poor11:=ifelse(Total_Exp_Month_Per_nondurable < Povertyline2_9 & cluster==2,1,Poor11)]
+CBN[,Poor11:=ifelse(Total_Exp_Month_Per_nondurable < Povertyline3_9 & cluster==3,1,Poor11)]
+CBN[,Poor11:=ifelse(Total_Exp_Month_Per_nondurable < Povertyline4_9 & cluster==4,1,Poor11)]
+CBN[,Poor11:=ifelse(Total_Exp_Month_Per_nondurable < Povertyline5_9 & cluster==5,1,Poor11)]
+CBN[,weighted.mean(Poor11,Weight),by=cluster][order(cluster)]
+CBNPoor9[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor11<-CBN[Poor11==1]
+
+
+CBN[,sum(Size*Weight),by=cluster][order(cluster)]
+CBN[,sum(Size*Weight),by=.(cluster,Decile)][order(cluster,Decile)]
+CBNPoor[,sum(Size*Weight),by=cluster][order(cluster)]
+CBNPoor11[,sum(Size*Weight),by=cluster][order(cluster)]
+CBNPoor2[,sum(Size*Weight),by=cluster][order(cluster)]
+CBNPoor9[,sum(Size*Weight),by=cluster][order(cluster)]
+CBNPoor9[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster][order(cluster)]
+CBNPoor9[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster][order(cluster)]
+CBN[,weighted.mean(Poor11,Weight)]
+CBN[,weighted.mean(Poor11,Weight),by=cluster][order(cluster)]
+CBN[,weighted.mean(Poor11,Weight),by=ProvinceCode][order(ProvinceCode)]
+CBNPoor11[,sum(Size*Weight),by=ProvinceCode][order(ProvinceCode)]
+CBNPoor11[,sum(Weight),by=ProvinceCode][order(ProvinceCode)]
+CBN[,sum(Size*Weight),by=ProvinceCode][order(ProvinceCode)]
+CBN[,sum(Size*Weight)]
+
+##############################
+###Real Prices for report###
+##############################
+#sum of total food expenditures
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per]
+
+#Food expenditures (equal 2100 CCAL)
+CBN<-CBN[Per_Daily_Exp_Calories>0]
+CBN[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Exp_Calories]
+CBN[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+
+T_Bundle_Value<-subset(CBN, ProvinceCode==23, select=c(Bundle_Value,Home_Per_Metr,Weight))
+Tehran_Bundle_Value1<-weighted.mean(T_Bundle_Value$Bundle_Value,T_Bundle_Value$Weight,na.rm = TRUE)
+Tehran_Bundle_Value2<-weighted.mean(T_Bundle_Value$Home_Per_Metr,T_Bundle_Value$Weight,na.rm = TRUE)
+CBN[,RealPriceIndex1:=weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/Tehran_Bundle_Value1,by=ProvinceCode]
+CBN[,RealPriceIndex2:=weighted.mean(Home_Per_Metr,Weight,na.rm = TRUE)/Tehran_Bundle_Value2,by=ProvinceCode]
+CBN[,weighted.mean(RealPriceIndex1,Weight),by=ProvinceCode]
+CBN[,weighted.mean(RealPriceIndex2,Weight),by=ProvinceCode]
+Indexes2_1<-CBN[,.(RealPriceIndex1,RealPriceIndex2,ProvinceCode,Weight)]
+Indexes2_1<-Indexes2_1[,RealPriceIndex:=(RealPriceIndex1+RealPriceIndex2)/2]
+Indexes_total<-Indexes2_1[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+Indexes3_1<-Indexes_total[,.(ProvinceCode,RealPriceIndex1,RealPriceIndex2,RealPriceIndex)]
+Indexes<-Indexes[,.(ProvinceCode,RealPriceIndex)]
+
+CBN_Poor<-CBN[Poor11==1]
+T_Bundle_Value<-subset(CBN_Poor, ProvinceCode==23, select=c(Bundle_Value,Home_Per_Metr,Weight))
+Tehran_Bundle_Value1<-weighted.mean(T_Bundle_Value$Bundle_Value,T_Bundle_Value$Weight,na.rm = TRUE)
+Tehran_Bundle_Value2<-weighted.mean(T_Bundle_Value$Home_Per_Metr,T_Bundle_Value$Weight,na.rm = TRUE)
+CBN_Poor[,RealPriceIndex1:=weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/Tehran_Bundle_Value1,by=ProvinceCode]
+CBN_Poor[,RealPriceIndex2:=weighted.mean(Home_Per_Metr,Weight,na.rm = TRUE)/Tehran_Bundle_Value2,by=ProvinceCode]
+CBN_Poor[,weighted.mean(RealPriceIndex1,Weight),by=ProvinceCode]
+CBN_Poor[,weighted.mean(RealPriceIndex2,Weight),by=ProvinceCode]
+Indexes2_2<-CBN_Poor[,.(RealPriceIndex1,RealPriceIndex2,ProvinceCode,Weight,Poor11)]
+Indexes2_2<-Indexes2_2[,RealPriceIndex:=(RealPriceIndex1+RealPriceIndex2)/2]
+Indexes_finalpoor<-Indexes2_2[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+Indexes3_2<-Indexes_finalpoor[,.(ProvinceCode,RealPriceIndex1,RealPriceIndex2,RealPriceIndex)]
+Indexes<-Indexes[,.(ProvinceCode,RealPriceIndex)]
+
+###Save Tables
+CBN_Rural<-CBN
+save(CBN_Rural, file = paste0(Settings$HEISProcessedPath,"CBN_Rural","95.rda"))
+
+CBNPoor_Rural<-CBNPoor11
+save(CBNPoor_Rural, file = paste0(Settings$HEISProcessedPath,"CBNPoor_Rural","95.rda"))
+
+endtime <- proc.time()
+
+cat("\n\n============================\nIt took ")
+cat(endtime-starttime)
+
diff --git a/R/Archive/Other Codes/58-CBN-Urban97-1.R b/R/Archive/Other Codes/58-CBN-Urban97-1.R
new file mode 100644
index 00000000..9b5da423
--- /dev/null
+++ b/R/Archive/Other Codes/58-CBN-Urban97-1.R
@@ -0,0 +1,3062 @@
+#CBN Method-Urban.R
+#
+# Copyright © 2018:Arin Shahbazian
+# Licence: GPL-3
+#
+rm(list=ls())
+
+starttime <- proc.time()
+cat("\n\n================ Prepare Data =====================================\n")
+
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+library(readxl)
+library(stringr)
+library(data.table)
+library(sm)
+library(ggplot2)
+library(foreign)
+library(haven)
+#data9697 <- read_dta("D:/9697.dta")
+#save(data9697,file = "data9697.rda")
+load(file = "data9697.rda")
+#for(year in (Settings$startyear:Settings$endyear)){
+# cat(paste0("\n------------------------------\nYear:",year,"\n"))
+
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","HHBase.rda"))
+HHBase[,IndivNo:=NULL]
+HHBase[,Relationship:=NULL]
+HHBase[,Sex:=NULL]
+HHBase[,Age:=NULL]
+HHBase[,Literate:=NULL]
+HHBase[,Student:=NULL]
+HHBase[,EduCode:=NULL]
+HHBase[,EduYears:=NULL]
+HHBase[,EduLevel:=NULL]
+HHBase[,EduLevel0:=NULL]
+HHBase[,ActivityState:=NULL]
+HHBase[,MarritalState:=NULL]
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Ghand_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Hoboobat_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Roghan_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Berenj_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Nan_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Goosht_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Morgh_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Mahi_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Shir_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Mast_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Panir_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Tokhmemorgh_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Mive_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Sabzi_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Makarooni_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Sibzamini_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Weights.rda"))
+
+Ghand_Data<-Ghand_Data[,.(HHID,Ghandgram,GhandPrice)]
+Hoboobat_Data<-Hoboobat_Data[,.(HHID,Hoboobatgram,HoboobatPrice)]
+Roghan_Data<-Roghan_Data[,.(HHID,Roghangram,RoghanPrice)]
+Berenj_Data<-Berenj_Data[,.(HHID,Berenjgram,BerenjPrice)]
+Nan_Data<-Nan_Data[,.(HHID,Nangram,NanPrice)]
+Goosht_Data<-Goosht_Data[,.(HHID,Gooshtgram,GooshtPrice)]
+Morgh_Data<-Morgh_Data[,.(HHID,Morghgram,MorghPrice)]
+Mahi_Data<-Mahi_Data[,.(HHID,Mahigram,MahiPrice)]
+Shir_Data<-Shir_Data[,.(HHID,Shirgram,ShirPrice)]
+Mast_Data<-Mast_Data[,.(HHID,Mastgram,MastPrice)]
+Panir_Data<-Panir_Data[,.(HHID,Panirgram,PanirPrice)]
+Tokhmemorgh_Data<-Tokhmemorgh_Data[,.(HHID,Tokhmemorghgram,TokhmemorghPrice)]
+Mive_Data<-Mive_Data[,.(HHID,Mivegram,MivePrice)]
+Sabzi_Data<-Sabzi_Data[,.(HHID,Sabzigram,SabziPrice)]
+Makarooni_Data<-Makarooni_Data[,.(HHID,Makaroonigram,MakarooniPrice)]
+Sibzamini_Data<-Sibzamini_Data[,.(HHID,Sibzaminigram,SibzaminiPrice)]
+
+Food<-merge(HHBase,Ghand_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Ghandgram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Hoboobat_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Hoboobatgram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Roghan_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Roghangram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Berenj_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Berenjgram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Nan_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Nangram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Goosht_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Gooshtgram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Morgh_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Morghgram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Mahi_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Mahigram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Shir_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Shirgram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Mast_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Mastgram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Panir_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Panirgram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Tokhmemorgh_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Tokhmemorghgram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Mive_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Mivegram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Sabzi_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Sabzigram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Makarooni_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Makaroonigram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Sibzamini_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Sibzaminigram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Weights,by =c("HHID"),all.x=TRUE)
+
+
+
+#load Expenditure groups
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","HHBase.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","HHI.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Foods.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Cigars.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Cloths.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Amusements.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Communications.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Durables.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Education.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Energy.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Furnitures.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Hotels.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","House.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Medicals.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Behdashts.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Transportations.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Others.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Investments.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Resturants.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Weights.rda"))
+
+#merge Expenditure groups
+CBN<-merge(Food,HHI ,by =c("HHID"),all=TRUE)
+CBN<-merge(CBN,FoodData,by =c("HHID"),all=TRUE)
+for (col in c("FoodExpenditure")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,CigarData,by =c("HHID"),all=TRUE)
+for (col in c("Cigar_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,ClothData,by =c("HHID"),all=TRUE)
+for (col in c("Cloth_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,AmusementData,by =c("HHID"),all=TRUE)
+for (col in c("Amusement_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,CommunicationData,by =c("HHID"),all=TRUE)
+for (col in c("Communication_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,EducData,by =c("HHID"),all=TRUE)
+for (col in c("EducExpenditure")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,EnergyData,by =c("HHID"),all=TRUE)
+for (col in c("Energy_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,FurnitureData,by =c("HHID"),all=TRUE)
+for (col in c("Furniture_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,HotelData,by =c("HHID"),all=TRUE)
+for (col in c("Hotel_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,BehdashtData,by =c("HHID"),all=TRUE)
+for (col in c("Behdasht_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,TransportationData,by =c("HHID"),all=TRUE)
+for (col in c("Transportation_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,OtherData,by =c("HHID"),all=TRUE)
+for (col in c("Other_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,HouseData,by =c("HHID"),all=TRUE)
+for (col in c("ServiceExp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,InvestmentData,by =c("HHID"),all=TRUE)
+for (col in c("Investment_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,MedicalData,by =c("HHID"),all=TRUE)
+for (col in c("Medical_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,DurableData,by =c("HHID"),all=TRUE)
+for (col in c("Durable_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,ResturantData,by =c("HHID"),all=TRUE)
+for (col in c("Resturant_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-CBN[Size!=0]
+CBN<-CBN[Region=="Urban"]
+CBN<-CBN[FoodExpenditure!=0]
+
+CBN<-merge(CBN,data9697,by =c("ProvinceCode"),all.x=TRUE)
+
+CBN$FoodExpenditure<-CBN$FoodExpenditure*CBN$spring971food_index/CBN$spring971food_index
+CBN$Cigar_Exp<-CBN$Cigar_Exp*CBN$spring971cigar_index/CBN$spring971cigar_index
+CBN$Cloth_Exp<-CBN$Cloth_Exp*CBN$spring971cloth_index/CBN$spring971cloth_index
+CBN$Amusement_Exp<-CBN$Amusement_Exp*CBN$spring971amusement_index/CBN$spring971amusement_index
+CBN$Communication_Exp<-CBN$Communication_Exp*CBN$spring971communication_index/CBN$spring971communication_index
+CBN$EducExpenditure<-CBN$EducExpenditure*CBN$spring971education_index/CBN$spring971education_index
+CBN$Energy_Exp<-CBN$Energy_Exp*CBN$spring971house_energy_index/CBN$spring971house_energy_index
+CBN$Furniture_Exp<-CBN$Furniture_Exp*CBN$spring971furniture_index/CBN$spring971furniture_index
+CBN$Hotel_Exp<-CBN$Hotel_Exp*CBN$spring971hotel_index/CBN$spring971hotel_index
+CBN$Behdasht_Exp<-CBN$Behdasht_Exp*CBN$spring971behdasht_index/CBN$spring971behdasht_index
+CBN$Transportation_Exp<-CBN$Transportation_Exp*CBN$spring971transportation_index/CBN$spring971transportation_index
+CBN$Other_Exp<-CBN$Other_Exp*CBN$spring971other_index/CBN$spring971other_index
+CBN$ServiceExp<-CBN$ServiceExp*CBN$spring971house_energy_index/CBN$spring971house_energy_index
+CBN$Investment_Exp<-CBN$Investment_Exp*CBN$spring97/CBN$spring97
+CBN$Medical_Exp<-CBN$Medical_Exp*CBN$spring971behdasht_index/CBN$spring971behdasht_index
+CBN$Durable_Exp<-CBN$Durable_Exp*CBN$spring97/CBN$spring97
+
+CBN[ ,shahrivar971furniture_index :=NULL]
+CBN[ ,shahrivar971communication_index :=NULL]
+CBN[ ,shahrivar971behdasht_index :=NULL]
+CBN[ ,shahrivar971education_index :=NULL]
+CBN[ ,shahrivar971amusement_index :=NULL]
+CBN[ ,shahrivar971transportation_index :=NULL]
+CBN[ ,shahrivar971food_index :=NULL]
+CBN[ ,shahrivar971cigar_index :=NULL]
+CBN[ ,shahrivar971hotel_index :=NULL]
+CBN[ ,shahrivar971total_index :=NULL]
+CBN[ ,shahrivar971house_energy_index :=NULL]
+CBN[ ,shahrivar971cloth_index :=NULL]
+CBN[ ,shahrivar971other_index :=NULL]
+CBN[ ,spring971furniture_index :=NULL]
+CBN[ ,spring971communication_index :=NULL]
+CBN[ ,spring971behdasht_index :=NULL]
+CBN[ ,spring971education_index :=NULL]
+CBN[ ,spring971amusement_index :=NULL]
+CBN[ ,spring971transportation_index :=NULL]
+CBN[ ,spring971food_index :=NULL]
+CBN[ ,spring971cigar_index :=NULL]
+CBN[ ,spring971hotel_index :=NULL]
+CBN[ ,spring971total_index :=NULL]
+CBN[ ,spring971house_energy_index :=NULL]
+CBN[ ,spring971cloth_index :=NULL]
+CBN[ ,spring971other_index :=NULL]
+CBN[ ,summer971furniture_index :=NULL]
+CBN[ ,summer971communication_index :=NULL]
+CBN[ ,summer971behdasht_index :=NULL]
+CBN[ ,summer971education_index :=NULL]
+CBN[ ,summer971amusement_index :=NULL]
+CBN[ ,summer971transportation_index :=NULL]
+CBN[ ,summer971food_index :=NULL]
+CBN[ ,summer971cigar_index :=NULL]
+CBN[ ,summer971hotel_index :=NULL]
+CBN[ ,summer971total_index :=NULL]
+CBN[ ,summer971house_energy_index :=NULL]
+CBN[ ,summer971cloth_index :=NULL]
+CBN[ ,summer971other_index :=NULL]
+CBN[ ,total961furniture_index :=NULL]
+CBN[ ,total961communication_index :=NULL]
+CBN[ ,total961behdasht_index :=NULL]
+CBN[ ,total961education_index :=NULL]
+CBN[ ,total961amusement_index :=NULL]
+CBN[ ,total961transportation_index :=NULL]
+CBN[ ,total961food_index :=NULL]
+CBN[ ,total961cigar_index :=NULL]
+CBN[ ,total961hotel_index :=NULL]
+CBN[ ,total961total_index :=NULL]
+CBN[ ,total961house_energy_index :=NULL]
+CBN[ ,total961cloth_index :=NULL]
+CBN[ ,total961other_index :=NULL]
+CBN[ ,spring951furniture_index :=NULL]
+CBN[ ,spring951communication_index :=NULL]
+CBN[ ,spring951behdasht_index :=NULL]
+CBN[ ,spring951education_index :=NULL]
+CBN[ ,spring951amusement_index :=NULL]
+CBN[ ,spring951transportation_index :=NULL]
+CBN[ ,spring951food_index :=NULL]
+CBN[ ,spring951cigar_index :=NULL]
+CBN[ ,spring951hotel_index :=NULL]
+CBN[ ,spring951total_index :=NULL]
+CBN[ ,spring951house_energy_index :=NULL]
+CBN[ ,spring951cloth_index :=NULL]
+CBN[ ,spring951other_index :=NULL]
+CBN[ ,summer951furniture_index :=NULL]
+CBN[ ,summer951communication_index :=NULL]
+CBN[ ,summer951behdasht_index :=NULL]
+CBN[ ,summer951education_index :=NULL]
+CBN[ ,summer951amusement_index :=NULL]
+CBN[ ,summer951transportation_index :=NULL]
+CBN[ ,summer951food_index :=NULL]
+CBN[ ,summer951cigar_index :=NULL]
+CBN[ ,summer951hotel_index :=NULL]
+CBN[ ,summer951total_index :=NULL]
+CBN[ ,summer951house_energy_index :=NULL]
+CBN[ ,summer951cloth_index :=NULL]
+CBN[ ,summer951other_index :=NULL]
+
+CBN[ ,spring95 :=NULL]
+CBN[ ,summer95 :=NULL]
+CBN[ ,spring97 :=NULL]
+CBN[ ,summer97 :=NULL]
+CBN[ ,total96 :=NULL]
+CBN[ ,shahrivar97 :=NULL]
+
+
+
+#Calculate Per_Total Expenditures Monthly
+CBN[, Total_Exp_Month := Reduce(`+`, .SD), .SDcols=c(65:77,82:83)][]
+CBN[, Total_Exp_Month_nondurable := Reduce(`+`, .SD), .SDcols=65:77][]
+
+CBN$Total_Exp_Month_Per<-CBN$Total_Exp_Month/CBN$EqSizeOECD
+CBN$Total_Exp_Month_Per_nondurable<-CBN$Total_Exp_Month_nondurable/CBN$EqSizeOECD
+
+#Calculate Per_Food Expenditures Monthly
+CBN[,EqSizeCalory :=(Size-NKids) + NKids*(1800/2100)]
+CBN$FoodExpenditure_Per<-CBN$FoodExpenditure/CBN$EqSizeCalory
+
+#Calculate Per_Food Expenditures Daily
+CBN$FoodExpenditure_Per_day<-CBN$FoodExpenditure_Per/30
+
+CBN$Ghandgram_Per_day<-CBN$Ghandgram/(30*CBN$EqSizeOECD)
+CBN$Hoboobatgram_Per_day<-CBN$Hoboobatgram/(30*CBN$EqSizeOECD)
+CBN$Berenjgram_Per_day<-CBN$Berenjgram/(30*CBN$EqSizeOECD)
+CBN$Nangram_Per_day<-CBN$Nangram/(30*CBN$EqSizeOECD)
+CBN$Roghangram_Per_day<-CBN$Roghangram/(30*CBN$EqSizeOECD)
+CBN$Gooshtgram_Per_day<-CBN$Gooshtgram/(30*CBN$EqSizeOECD)
+CBN$Morghgram_Per_day<-CBN$Morghgram/(30*CBN$EqSizeOECD)
+CBN$Mahigram_Per_day<-CBN$Mahigram/(30*CBN$EqSizeOECD)
+CBN$Shirgram_Per_day<-CBN$Shirgram/(30*CBN$EqSizeOECD)
+CBN$Mastgram_Per_day<-CBN$Mastgram/(30*CBN$EqSizeOECD)
+CBN$Panirgram_Per_day<-CBN$Panirgram/(30*CBN$EqSizeOECD)
+CBN$Tokhmemorghgram_Per_day<-CBN$Tokhmemorghgram/(30*CBN$EqSizeOECD)
+CBN$Mivegram_Per_day<-CBN$Mivegram/(30*CBN$EqSizeOECD)
+CBN$Sabzigram_Per_day<-CBN$Sabzigram/(30*CBN$EqSizeOECD)
+CBN$Makaroonigram_Per_day<-CBN$Makaroonigram/(30*CBN$EqSizeOECD)
+CBN$Sibzaminigram_Per_day<-CBN$Sibzaminigram/(30*CBN$EqSizeOECD)
+CBN[,EqSizeCalory:=NULL]
+
+load(file="PriceIndex95.rda")
+CBN<-merge(CBN,PriceIndex95,by=c("ProvinceCode"),all.x = TRUE)
+CBN[,ostan:=NULL]
+load(file="PriceIndex.rda")
+CBN<-merge(CBN,PriceIndex,by=c("ProvinceCode"),all.x = TRUE)
+
+#Sort Expenditure data
+CBN<- CBN[order(Total_Exp_Month_Per_nondurable)]
+
+#Calculate cumulative weights
+sum(CBN$Weight)
+CBN$cumweight <- cumsum(CBN$Weight)
+tx <- max(CBN$cumweight)
+
+#Calculate deciles by weights
+CBN[,Decile:=cut(cumweight,breaks = seq(0,tx,tx/10),labels = 1:10)]
+CBN[,Percentile:=cut(cumweight,breaks=seq(0,tx,tx/100),labels=1:100)]
+
+
+CBN$Ghand_W<-CBN$Ghandgram_Per_day*CBN$GhandPrice*0.001*30
+CBN$Hoboobat_W<-CBN$Hoboobatgram_Per_day*CBN$HoboobatPrice*0.001*30
+CBN$Roghan_W<-CBN$Roghangram_Per_day*CBN$RoghanPrice*0.001*30
+CBN$Berenj_W<-CBN$Berenjgram_Per_day*CBN$BerenjPrice*0.001*30
+CBN$Nan_W<-CBN$Nangram_Per_day*CBN$NanPrice*0.001*30
+CBN$Goosht_W<-CBN$Gooshtgram_Per_day*CBN$GooshtPrice*0.001*30
+CBN$Morgh_W<-CBN$Morghgram_Per_day*CBN$MorghPrice*0.001*30
+CBN$Mahi_W<-CBN$Mahigram_Per_day*CBN$MahiPrice*0.001*30
+CBN$Shir_W<-CBN$Shirgram_Per_day*CBN$ShirPrice*0.001*30
+CBN$Mast_W<-CBN$Mastgram_Per_day*CBN$MastPrice*0.001*30
+CBN$Panir_W<-CBN$Panirgram_Per_day*CBN$PanirPrice*0.001*30
+CBN$Tokhmemorgh_W<-CBN$Tokhmemorghgram_Per_day*CBN$TokhmemorghPrice*0.001*30
+CBN$Mive_W<-CBN$Mivegram_Per_day*CBN$MivePrice*0.001*30
+CBN$Sabzi_W<-CBN$Sabzigram_Per_day*CBN$SabziPrice*0.001*30
+CBN$Makarooni_W<-CBN$Makaroonigram_Per_day*CBN$MakarooniPrice*0.001*30
+CBN$Sibzamini_W<-CBN$Sibzaminigram_Per_day*CBN$SibzaminiPrice*0.001*30
+CBN$Home_W<-CBN$ServiceExp/CBN$EqSizeOECD
+CBN$Home_Per_Metr<-CBN$MetrPrice/CBN$EqSizeOECD
+
+#Seperate big cities
+CBN[,sum(Weight*Size),by=ProvinceCode][order(V1)]
+CBN[,HHIDs:=as.character(HHID)]
+CBN[,ShahrestanCode:=as.integer(str_sub(HHIDs,2,5))]
+CBN[,sum(Weight*Size),by=ShahrestanCode][order(V1)][330:387]
+CBNTehran<-CBN[ProvinceCode==23]
+CBNTehran[,sum(Weight*Size),by=ShahrestanCode]
+CBNTabriz<-CBN[ProvinceCode==3]
+CBNTabriz[,sum(Weight*Size),by=ShahrestanCode]
+CBNAhvaz<-CBN[ProvinceCode==6]
+CBNAhvaz[,sum(Weight*Size),by=ShahrestanCode]
+CBNShiraz<-CBN[ProvinceCode==7]
+CBNShiraz[,sum(Weight*Size),by=ShahrestanCode]
+CBNMashhad<-CBN[ProvinceCode==9]
+CBNMashhad[,sum(Weight*Size),by=ShahrestanCode]
+CBNEsfahan<-CBN[ProvinceCode==10]
+CBNEsfahan[,sum(Weight*Size),by=ShahrestanCode]
+CBNKaraj<-CBN[ProvinceCode==30]
+CBNKaraj[,sum(Weight*Size),by=ShahrestanCode]
+CBNKermanshah<-CBN[ProvinceCode==5]
+CBNKermanshah[,sum(Weight*Size),by=ShahrestanCode]
+
+
+CBN<-CBN[ShahrestanCode==2301,ProvinceCode:=as.numeric(ShahrestanCode)]
+CBN<-CBN[ShahrestanCode==303,ProvinceCode:=as.numeric(ShahrestanCode)]
+CBN<-CBN[ShahrestanCode==603,ProvinceCode:=as.numeric(ShahrestanCode)]
+CBN<-CBN[ShahrestanCode==707,ProvinceCode:=as.numeric(ShahrestanCode)]
+CBN<-CBN[ShahrestanCode==916,ProvinceCode:=as.numeric(ShahrestanCode)]
+CBN<-CBN[ShahrestanCode==1002,ProvinceCode:=as.numeric(ShahrestanCode)]
+CBN<-CBN[ShahrestanCode==3001,ProvinceCode:=as.numeric(ShahrestanCode)]
+CBN<-CBN[ShahrestanCode==2301,ProvinceCode:=as.numeric(ShahrestanCode)]
+CBN<-CBN[ShahrestanCode==502,ProvinceCode:=as.numeric(ShahrestanCode)]
+
+# Food Calories
+CBN$Ghand_Calory<- CBN$Ghandgram *4
+CBN$Hoboobat_Calory<- CBN$Hoboobatgram *3
+CBN$Nan_Calory<- CBN$Nangram *2.5
+CBN$Berenj_Calory<- CBN$Berenjgram *1.2
+CBN$Roghan_Calory<- CBN$Roghangram *8
+CBN$Goosht_Calory<- CBN$Gooshtgram *2.5
+CBN$Morgh_Calory<- CBN$Morghgram *2
+CBN$Mahi_Calory<- CBN$Mahigram *1
+CBN$Shir_Calory<- CBN$Shirgram *2.5
+CBN$Mast_Calory<- CBN$Mastgram *1.5
+CBN$Panir_Calory<- CBN$Mastgram *2.5
+CBN$Tokhmemorgh_Calory<- CBN$Tokhmemorghgram *1.4
+CBN$Mive_Calory<- CBN$Mivegram *0.5
+CBN$Sabzi_Calory<- CBN$Sabzigram *0.5
+CBN$Makarooni_Calory<- CBN$Makaroonigram *3.6
+CBN$Sibzamini_Calory<- CBN$Sibzaminigram *0.9
+#utils::View(CBN)
+
+#CalculatePer_calories
+CBN[, Daily_Exp_Calories := Reduce(`+`, .SD), .SDcols=148:163][]
+CBN[,EqSizeCalory :=(Size-NKids) + NKids*(1800/2100)]
+CBN[,Per_Daily_Exp_Calories:=Daily_Exp_Calories/EqSizeCalory]
+CBN <- CBN[Per_Daily_Exp_Calories<100000] # arbitrary removal of outliers
+#CBN[,Daily_Calories_cluster:=weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+#CBN[,weighted.mean(Daily_Calories_cluster,Weight,na.rm = TRUE),by=cluster]
+#CBN[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+#CBN[,weighted.mean(Size,Weight,na.rm = TRUE),by=cluster]
+#CBN[,sum(Weight*Size),by=cluster]
+#CBN[,sum(Weight),by=cluster]
+#CBN[,sum(Poor),by=cluster]
+
+
+#Calculate_Per_calories
+CBN$Ghand_per_Calory<- CBN$Ghandgram *4/CBN$EqSizeCalory
+CBN$Hoboobat_per_Calory<- CBN$Hoboobatgram *3/CBN$EqSizeCalory
+CBN$Nan_per_Calory<- CBN$Nangram *2.5/CBN$EqSizeCalory
+CBN$Berenj_per_Calory<- CBN$Berenjgram *1.2/CBN$EqSizeCalory
+CBN$Roghan_per_Calory<- CBN$Roghangram *8/CBN$EqSizeCalory
+CBN$Goosht_per_Calory<- CBN$Gooshtgram *2.5/CBN$EqSizeCalory
+CBN$Morgh_per_Calory<- CBN$Morghgram *2/CBN$EqSizeCalory
+CBN$Mahi_per_Calory<- CBN$Mahigram *1/CBN$EqSizeCalory
+CBN$Shir_per_Calory<- CBN$Shirgram *2.5/CBN$EqSizeCalory
+CBN$Mast_per_Calory<- CBN$Mastgram *1.5/CBN$EqSizeCalory
+CBN$Panir_per_Calory<- CBN$Mastgram *2.5/CBN$EqSizeCalory
+CBN$Tokhmemorgh_per_Calory<- CBN$Tokhmemorghgram *1.4/CBN$EqSizeCalory
+CBN$Mive_per_Calory<- CBN$Mivegram *0.5/CBN$EqSizeCalory
+CBN$Sabzi_per_Calory<- CBN$Sabzigram *0.5/CBN$EqSizeCalory
+CBN$Makarooni_per_Calory<- CBN$Makaroonigram *3.6/CBN$EqSizeCalory
+CBN$Sibzamini_per_Calory<- CBN$Sibzaminigram *0.9/CBN$EqSizeCalory
+
+
+#Assume that deciles 1 and 2 are poor
+CBN[,Poor:=ifelse(Decile %in% 1:2,1,0)]
+CBNPoor<-CBN[Poor==1]
+
+#K-means weights
+PriceWeights<-CBN[,.(HHID,Ghand_W,Hoboobat_W,Roghan_W,Berenj_W,Nan_W,Goosht_W,Morgh_W,Mahi_W,Shir_W,Mast_W,Panir_W,Tokhmemorgh_W,Mive_W,Sabzi_W,Makarooni_W,Sibzamini_W,Home_W,ProvinceCode,Weight)]
+dt3 <- PriceWeights[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+dt3<- dt3[order(ProvinceCode)]
+dt3 <- dt3[,.(Ghand_W,Hoboobat_W,Roghan_W,Berenj_W,Nan_W,Goosht_W,Morgh_W,Mahi_W,Shir_W,Mast_W,Panir_W,Tokhmemorgh_W,Mive_W,Sabzi_W,Makarooni_W,Sibzamini_W,Home_W)]
+
+
+#K-means algorithm for clustering by prices
+test<-CBNPoor[,.(GhandPrice,HoboobatPrice,RoghanPrice,BerenjPrice,NanPrice,GooshtPrice,MorghPrice,MahiPrice,ShirPrice,MastPrice,PanirPrice,TokhmemorghPrice,MivePrice,SabziPrice,MakarooniPrice,SibzaminiPrice,MetrPrice,ProvinceCode,Weight)]
+#test<-CBNPoor[,.(GhandPrice,HoboobatPrice,RoghanPrice,BerenjPrice,NanPrice,GooshtPrice,MorghPrice,MahiPrice,ShirPrice,MastPrice,PanirPrice,TokhmemorghPrice,MivePrice,SabziPrice,MakarooniPrice,SibzaminiPrice,MetrPrice,Ghand_W,Hoboobat_W,Roghan_W,Berenj_W,Nan_W,Goosht_W,Morgh_W,Mahi_W,Shir_W,Mast_W,Panir_W,Tokhmemorgh_W,Mive_W,Sabzi_W,Makarooni_W,Sibzamini_W,Home_W,Region,ProvinceCode,Weight)]
+dt2 <- test[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+dt2<- dt2[order(ProvinceCode)]
+for (col in c("MahiPrice")) dt2[is.nan(get(col)), (col) := 200000]
+dt <- dt2 [,.(GhandPrice,HoboobatPrice,RoghanPrice,BerenjPrice,NanPrice,GooshtPrice,MorghPrice,MahiPrice,ShirPrice,MastPrice,PanirPrice,TokhmemorghPrice,MivePrice,SabziPrice,MakarooniPrice,SibzaminiPrice,MetrPrice)]
+
+
+pca <- princomp(dt, cor=T)
+PRICE <- pca$scores
+PRICE1 <- -1*PRICE[,1]
+PRICE2 <- -1*PRICE[,2]
+PRICE3 <- -1*PRICE[,3]
+PRICE4 <- -1*PRICE[,4]
+PRICE5 <- -1*PRICE[,5]
+PRICE6 <- -1*PRICE[,6]
+PRICE7 <- -1*PRICE[,7]
+PRICE8 <- -1*PRICE[,8]
+PRICE9 <- -1*PRICE[,9]
+PRICE10 <- -1*PRICE[,10]
+PRICE11 <- -1*PRICE[,11]
+PRICE12 <- -1*PRICE[,12]
+PRICE13 <- -1*PRICE[,13]
+PRICE14 <- -1*PRICE[,14]
+PRICE15 <- -1*PRICE[,15]
+PRICE16 <- -1*PRICE[,16]
+PRICE17 <- -1*PRICE[,17]
+
+# Deciding how many clusters
+wss <- (nrow(dt)-1)*sum(apply(dt,2,var))
+for (i in 2:30) wss[i] <- sum(kmeans(dt, centers=i)$withinss)
+plot(1:30, wss, type="b", xlab="Number of Clusters",
+ ylab="Within groups sum of squares")
+
+#Weighted clustering
+
+dt3.m <- dt3[,lapply(.SD, mean)] # Weights for each vector
+dtW <- dt * sqrt(dt3.m[rep(1,nrow(dt))]) # Weighted observations
+kmeans(dtW,4) # Simple K-means
+
+cl <- kmeans(dtW,4)
+cl$cluster
+dt2 <- dt2[,cluster:=data.table(cl$cluster)]
+dt2<-dt2[,.(ProvinceCode,cluster)]
+load(file="dt4Urban.rda")
+#plot(PRICE1, PRICE2,col=cl$cluster)
+#points(cl$centers, pch=20)
+CBNPoor<-merge(CBNPoor,dt2,by=c("ProvinceCode"),all.x = TRUE)
+CBNPoor[,sum(Weight*Size),by=cluster]
+CBNPoor[,sum(Weight),by=cluster]
+CBNPoor[,sum(Poor),by=cluster]
+C2<-CBNPoor[,.(HHID,ProvinceCode,Region,Decile,Poor,cluster)]
+######################################################################
+####Iteration 1#####
+###Iteration1-1
+#Calculate Per_calories in clusters
+CBNPoor[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(185:200)][]
+#utils::View(CBNPoor)
+
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(202:217)][]
+
+CBNPoor[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor<-CBNPoor[Per_Daily_Exp_Calories!=0]
+CBNPoor[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+#CBN[,weighted.mean(Poor,Weight),by=cluster][order(cluster)]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE)]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE)]
+
+#Real Prices
+T_Bundle_Value<-subset(CBNPoor, ProvinceCode==2301, select=c(Bundle_Value,Home_Per_Metr,Weight))
+Tehran_Bundle_Value1<-weighted.mean(T_Bundle_Value$Bundle_Value,T_Bundle_Value$Weight,na.rm = TRUE)
+Tehran_Bundle_Value2<-weighted.mean(T_Bundle_Value$Home_Per_Metr,T_Bundle_Value$Weight,na.rm = TRUE)
+CBNPoor[,RealPriceIndex1:=weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/Tehran_Bundle_Value1,by=ProvinceCode]
+CBNPoor[,RealPriceIndex2:=weighted.mean(Home_Per_Metr,Weight,na.rm = TRUE)/Tehran_Bundle_Value2,by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex1,Weight),by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex2,Weight),by=ProvinceCode]
+Indexes2<-CBNPoor[,.(RealPriceIndex1,RealPriceIndex2,ProvinceCode,Weight)]
+Indexes2<-Indexes2[,RealPriceIndex:=(RealPriceIndex1+RealPriceIndex2)/2]
+Indexes<-Indexes2[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+Indexes31<-Indexes[,.(ProvinceCode,RealPriceIndex1,RealPriceIndex2,RealPriceIndex)]
+Indexes<-Indexes[,.(ProvinceCode,RealPriceIndex)]
+CBN<-merge(CBN,Indexes,by=c("ProvinceCode"),all.x = TRUE)
+CBN<-CBN[,Total_Food_Month_Per2:=FoodExpenditure_Per*RealPriceIndex]
+CBN<-CBN[,Total_Exp_Month_Per2:=Total_Exp_Month_Per_nondurable*RealPriceIndex]
+#utils::View(CBN)
+
+#Sort Expenditure data
+CBN<- CBN[order(Total_Exp_Month_Per2)]
+
+#Calculate cumulative weights
+sum(CBN$Weight)
+CBN$cumweight <- cumsum(CBN$Weight)
+tx <- max(CBN$cumweight)
+
+#Calculate deciles by weights
+CBN[,Decile:=cut(cumweight,breaks = seq(0,tx,tx/10),labels = 1:10)]
+CBN[,Percentile:=cut(cumweight,breaks=seq(0,tx,tx/100),labels=1:100)]
+
+#Update Poors
+CBN[,Poor:=ifelse(Decile %in% 1:2,1,0)]
+CBNPoor<-CBN[Poor==1]
+CBNPoor<-merge(CBNPoor,dt2,by=c("ProvinceCode"),all.x = TRUE)
+CBNPoor[,sum(Size*Weight),by=.(cluster)][order(cluster)]
+
+###Iteration1-2
+#Calculate Per_calories in clusters
+CBNPoor[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(185:200)][]
+#utils::View(CBNPoor)
+
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(202:217)][]
+
+CBNPoor[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor<-CBNPoor[Per_Daily_Exp_Calories!=0]
+CBNPoor[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+#CBN[,weighted.mean(Poor,Weight),by=cluster][order(cluster)]
+
+#Real Prices
+T_Bundle_Value<-subset(CBNPoor, ProvinceCode==2301, select=c(Bundle_Value,Home_Per_Metr,Weight))
+Tehran_Bundle_Value1<-weighted.mean(T_Bundle_Value$Bundle_Value,T_Bundle_Value$Weight,na.rm = TRUE)
+Tehran_Bundle_Value2<-weighted.mean(T_Bundle_Value$Home_Per_Metr,T_Bundle_Value$Weight,na.rm = TRUE)
+CBNPoor[,RealPriceIndex1:=weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/Tehran_Bundle_Value1,by=ProvinceCode]
+CBNPoor[,RealPriceIndex2:=weighted.mean(Home_Per_Metr,Weight,na.rm = TRUE)/Tehran_Bundle_Value2,by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex1,Weight),by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex2,Weight),by=ProvinceCode]
+Indexes2<-CBNPoor[,.(RealPriceIndex1,RealPriceIndex2,ProvinceCode,Weight)]
+Indexes2<-Indexes2[,RealPriceIndex:=(RealPriceIndex1+RealPriceIndex2)/2]
+Indexes<-Indexes2[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+Indexes32<-Indexes[,.(ProvinceCode,RealPriceIndex1,RealPriceIndex2,RealPriceIndex)]
+Indexes<-Indexes[,.(ProvinceCode,RealPriceIndex)]
+CBN[,RealPriceIndex:=NULL]
+CBN<-merge(CBN,Indexes,by=c("ProvinceCode"),all.x = TRUE)
+CBN<-CBN[,Total_Food_Month_Per2:=FoodExpenditure_Per*RealPriceIndex]
+CBN<-CBN[,Total_Exp_Month_Per2:=Total_Exp_Month_Per_nondurable*RealPriceIndex]
+#utils::View(CBN)
+
+#Sort Expenditure data
+CBN<- CBN[order(Total_Exp_Month_Per2)]
+
+#Calculate cumulative weights
+sum(CBN$Weight)
+CBN$cumweight <- cumsum(CBN$Weight)
+tx <- max(CBN$cumweight)
+
+#Calculate deciles by weights
+CBN[,Decile:=cut(cumweight,breaks = seq(0,tx,tx/10),labels = 1:10)]
+CBN[,Percentile:=cut(cumweight,breaks=seq(0,tx,tx/100),labels=1:100)]
+
+#Update Poors
+CBN[,Poor:=ifelse(Decile %in% 2:5,1,0)]
+CBNPoor<-CBN[Poor==1]
+CBNPoor<-merge(CBNPoor,dt2,by=c("ProvinceCode"),all.x = TRUE)
+CBNPoor[,sum(HIndivNo),by=.(ProvinceCode)][order(ProvinceCode)]
+
+###Iteration1-3
+#Calculate Per_calories in clusters
+CBNPoor[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(185:200)][]
+#utils::View(CBNPoor)
+
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(202:217)][]
+
+CBNPoor[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor<-CBNPoor[Per_Daily_Exp_Calories!=0]
+CBNPoor[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+#CBN[,weighted.mean(Poor,Weight),by=cluster][order(cluster)]
+
+#Real Prices
+T_Bundle_Value<-subset(CBNPoor, ProvinceCode==2301, select=c(Bundle_Value,Home_Per_Metr,Weight))
+Tehran_Bundle_Value1<-weighted.mean(T_Bundle_Value$Bundle_Value,T_Bundle_Value$Weight,na.rm = TRUE)
+Tehran_Bundle_Value2<-weighted.mean(T_Bundle_Value$Home_Per_Metr,T_Bundle_Value$Weight,na.rm = TRUE)
+CBNPoor[,RealPriceIndex1:=weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/Tehran_Bundle_Value1,by=ProvinceCode]
+CBNPoor[,RealPriceIndex2:=weighted.mean(Home_Per_Metr,Weight,na.rm = TRUE)/Tehran_Bundle_Value2,by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex1,Weight),by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex2,Weight),by=ProvinceCode]
+Indexes2<-CBNPoor[,.(RealPriceIndex1,RealPriceIndex2,ProvinceCode,Weight)]
+Indexes2<-Indexes2[,RealPriceIndex:=(RealPriceIndex1+RealPriceIndex2)/2]
+Indexes<-Indexes2[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+Indexes33<-Indexes[,.(ProvinceCode,RealPriceIndex1,RealPriceIndex2,RealPriceIndex)]
+Indexes<-Indexes[,.(ProvinceCode,RealPriceIndex)]
+CBN[,RealPriceIndex:=NULL]
+CBN<-merge(CBN,Indexes,by=c("ProvinceCode"),all.x = TRUE)
+CBN<-CBN[,Total_Food_Month_Per2:=FoodExpenditure_Per*RealPriceIndex]
+CBN<-CBN[,Total_Exp_Month_Per2:=Total_Exp_Month_Per_nondurable*RealPriceIndex]
+#utils::View(CBN)
+
+#Sort Expenditure data
+CBN<- CBN[order(Total_Exp_Month_Per2)]
+
+#Calculate cumulative weights
+sum(CBN$Weight)
+CBN$cumweight <- cumsum(CBN$Weight)
+tx <- max(CBN$cumweight)
+
+#Calculate deciles by weights
+CBN[,Decile:=cut(cumweight,breaks = seq(0,tx,tx/10),labels = 1:10)]
+CBN[,Percentile:=cut(cumweight,breaks=seq(0,tx,tx/100),labels=1:100)]
+
+#Update Poors
+CBN[,Poor:=ifelse(Decile %in% 2:5,1,0)]
+CBNPoor<-CBN[Poor==1]
+CBNPoor<-merge(CBNPoor,dt2,by=c("ProvinceCode"),all.x = TRUE)
+CBNPoor[,sum(HIndivNo),by=.(ProvinceCode)][order(ProvinceCode)]
+
+
+###Iteration1-4
+#Calculate Per_calories in clusters
+CBNPoor[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(185:200)][]
+#utils::View(CBNPoor)
+
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(202:217)][]
+
+CBNPoor[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor<-CBNPoor[Per_Daily_Exp_Calories!=0]
+CBNPoor[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+#CBN[,weighted.mean(Poor,Weight),by=cluster][order(cluster)]
+
+#Real Prices
+T_Bundle_Value<-subset(CBNPoor, ProvinceCode==2301, select=c(Bundle_Value,Home_Per_Metr,Weight))
+Tehran_Bundle_Value1<-weighted.mean(T_Bundle_Value$Bundle_Value,T_Bundle_Value$Weight,na.rm = TRUE)
+Tehran_Bundle_Value2<-weighted.mean(T_Bundle_Value$Home_Per_Metr,T_Bundle_Value$Weight,na.rm = TRUE)
+CBNPoor[,RealPriceIndex1:=weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/Tehran_Bundle_Value1,by=ProvinceCode]
+CBNPoor[,RealPriceIndex2:=weighted.mean(Home_Per_Metr,Weight,na.rm = TRUE)/Tehran_Bundle_Value2,by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex1,Weight),by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex2,Weight),by=ProvinceCode]
+Indexes2<-CBNPoor[,.(RealPriceIndex1,RealPriceIndex2,ProvinceCode,Weight)]
+Indexes2<-Indexes2[,RealPriceIndex:=(RealPriceIndex1+RealPriceIndex2)/2]
+Indexes<-Indexes2[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+Indexes34<-Indexes[,.(ProvinceCode,RealPriceIndex1,RealPriceIndex2,RealPriceIndex)]
+Indexes<-Indexes[,.(ProvinceCode,RealPriceIndex)]
+CBN[,RealPriceIndex:=NULL]
+CBN<-merge(CBN,Indexes,by=c("ProvinceCode"),all.x = TRUE)
+CBN<-CBN[,Total_Food_Month_Per2:=FoodExpenditure_Per*RealPriceIndex]
+CBN<-CBN[,Total_Exp_Month_Per2:=Total_Exp_Month_Per_nondurable*RealPriceIndex]
+#utils::View(CBN)
+
+
+#Sort Expenditure data
+CBN<- CBN[order(Total_Exp_Month_Per2)]
+
+#Calculate cumulative weights
+sum(CBN$Weight)
+CBN$cumweight <- cumsum(CBN$Weight)
+tx <- max(CBN$cumweight)
+
+#Calculate deciles by weights
+CBN[,Decile:=cut(cumweight,breaks = seq(0,tx,tx/10),labels = 1:10)]
+CBN[,Percentile:=cut(cumweight,breaks=seq(0,tx,tx/100),labels=1:100)]
+
+#Update Poors
+CBN[,Poor:=ifelse(Decile %in% 2:5,1,0)]
+CBNPoor<-CBN[Poor==1]
+CBNPoor<-merge(CBNPoor,dt2,by=c("ProvinceCode"),all.x = TRUE)
+CBNPoor[,sum(HIndivNo),by=.(ProvinceCode)][order(ProvinceCode)]
+
+###Iteration1-5
+#Calculate Per_calories in clusters
+CBNPoor[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(185:200)][]
+#utils::View(CBNPoor)
+
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(202:217)][]
+
+CBNPoor[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor<-CBNPoor[Per_Daily_Exp_Calories!=0]
+CBNPoor[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+#CBN[,weighted.mean(Poor,Weight),by=cluster][order(cluster)]
+
+#Real Prices
+T_Bundle_Value<-subset(CBNPoor, ProvinceCode==2301, select=c(Bundle_Value,Home_Per_Metr,Weight))
+Tehran_Bundle_Value1<-weighted.mean(T_Bundle_Value$Bundle_Value,T_Bundle_Value$Weight,na.rm = TRUE)
+Tehran_Bundle_Value2<-weighted.mean(T_Bundle_Value$Home_Per_Metr,T_Bundle_Value$Weight,na.rm = TRUE)
+CBNPoor[,RealPriceIndex1:=weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/Tehran_Bundle_Value1,by=ProvinceCode]
+CBNPoor[,RealPriceIndex2:=weighted.mean(Home_Per_Metr,Weight,na.rm = TRUE)/Tehran_Bundle_Value2,by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex1,Weight),by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex2,Weight),by=ProvinceCode]
+Indexes2<-CBNPoor[,.(RealPriceIndex1,RealPriceIndex2,ProvinceCode,Weight)]
+Indexes2<-Indexes2[,RealPriceIndex:=(RealPriceIndex1+RealPriceIndex2)/2]
+Indexes<-Indexes2[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+Indexes35<-Indexes[,.(ProvinceCode,RealPriceIndex1,RealPriceIndex2,RealPriceIndex)]
+Indexes<-Indexes[,.(ProvinceCode,RealPriceIndex)]
+CBN[,RealPriceIndex:=NULL]
+CBN<-merge(CBN,Indexes,by=c("ProvinceCode"),all.x = TRUE)
+CBN<-CBN[,Total_Food_Month_Per2:=FoodExpenditure_Per*RealPriceIndex]
+CBN<-CBN[,Total_Exp_Month_Per2:=Total_Exp_Month_Per_nondurable*RealPriceIndex]
+#utils::View(CBN)
+
+
+#Sort Expenditure data
+CBN<- CBN[order(Total_Exp_Month_Per2)]
+
+#Calculate cumulative weights
+sum(CBN$Weight)
+CBN$cumweight <- cumsum(CBN$Weight)
+tx <- max(CBN$cumweight)
+
+#Calculate deciles by weights
+CBN[,Decile:=cut(cumweight,breaks = seq(0,tx,tx/10),labels = 1:10)]
+CBN[,Percentile:=cut(cumweight,breaks=seq(0,tx,tx/100),labels=1:100)]
+
+#Update Poors
+CBN[,Poor:=ifelse(Decile %in% 2:5,1,0)]
+CBNPoor<-CBN[Poor==1]
+CBNPoor<-merge(CBNPoor,dt2,by=c("ProvinceCode"),all.x = TRUE)
+CBNPoor[,sum(HIndivNo),by=.(ProvinceCode)][order(ProvinceCode)]
+
+###Iteration1-6
+#Calculate Per_calories in clusters
+CBNPoor[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(185:200)][]
+#utils::View(CBNPoor)
+
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(202:217)][]
+
+CBNPoor[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor<-CBNPoor[Per_Daily_Exp_Calories!=0]
+CBNPoor[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+#CBN[,weighted.mean(Poor,Weight),by=cluster][order(cluster)]
+
+#Real Prices
+T_Bundle_Value<-subset(CBNPoor, ProvinceCode==2301, select=c(Bundle_Value,Home_Per_Metr,Weight))
+Tehran_Bundle_Value1<-weighted.mean(T_Bundle_Value$Bundle_Value,T_Bundle_Value$Weight,na.rm = TRUE)
+Tehran_Bundle_Value2<-weighted.mean(T_Bundle_Value$Home_Per_Metr,T_Bundle_Value$Weight,na.rm = TRUE)
+CBNPoor[,RealPriceIndex1:=weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/Tehran_Bundle_Value1,by=ProvinceCode]
+CBNPoor[,RealPriceIndex2:=weighted.mean(Home_Per_Metr,Weight,na.rm = TRUE)/Tehran_Bundle_Value2,by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex1,Weight),by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex2,Weight),by=ProvinceCode]
+Indexes2<-CBNPoor[,.(RealPriceIndex1,RealPriceIndex2,ProvinceCode,Weight)]
+Indexes2<-Indexes2[,RealPriceIndex:=(RealPriceIndex1+RealPriceIndex2)/2]
+Indexes<-Indexes2[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+Indexes36<-Indexes[,.(ProvinceCode,RealPriceIndex1,RealPriceIndex2,RealPriceIndex)]
+Indexes<-Indexes[,.(ProvinceCode,RealPriceIndex)]
+CBN[,RealPriceIndex:=NULL]
+CBN<-merge(CBN,Indexes,by=c("ProvinceCode"),all.x = TRUE)
+CBN<-CBN[,Total_Food_Month_Per2:=FoodExpenditure_Per*RealPriceIndex]
+CBN<-CBN[,Total_Exp_Month_Per2:=Total_Exp_Month_Per_nondurable*RealPriceIndex]
+#utils::View(CBN)
+
+
+#Sort Expenditure data
+CBN<- CBN[order(Total_Exp_Month_Per2)]
+
+#Calculate cumulative weights
+sum(CBN$Weight)
+CBN$cumweight <- cumsum(CBN$Weight)
+tx <- max(CBN$cumweight)
+
+#Calculate deciles by weights
+CBN[,Decile:=cut(cumweight,breaks = seq(0,tx,tx/10),labels = 1:10)]
+CBN[,Percentile:=cut(cumweight,breaks=seq(0,tx,tx/100),labels=1:100)]
+
+#Update Poors
+CBN[,Poor:=ifelse(Decile %in% 2:5,1,0)]
+CBNPoor<-CBN[Poor==1]
+CBNPoor<-merge(CBNPoor,dt2,by=c("ProvinceCode"),all.x = TRUE)
+CBNPoor[,sum(HIndivNo),by=.(ProvinceCode)][order(ProvinceCode)]
+
+###Iteration1-7
+#Calculate Per_calories in clusters
+CBNPoor[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(185:200)][]
+#utils::View(CBNPoor)
+
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(202:217)][]
+
+CBNPoor[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor<-CBNPoor[Per_Daily_Exp_Calories!=0]
+CBNPoor[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+#CBN[,weighted.mean(Poor,Weight),by=cluster][order(cluster)]
+
+#Real Prices
+T_Bundle_Value<-subset(CBNPoor, ProvinceCode==2301, select=c(Bundle_Value,Home_Per_Metr,Weight))
+Tehran_Bundle_Value1<-weighted.mean(T_Bundle_Value$Bundle_Value,T_Bundle_Value$Weight,na.rm = TRUE)
+Tehran_Bundle_Value2<-weighted.mean(T_Bundle_Value$Home_Per_Metr,T_Bundle_Value$Weight,na.rm = TRUE)
+CBNPoor[,RealPriceIndex1:=weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/Tehran_Bundle_Value1,by=ProvinceCode]
+CBNPoor[,RealPriceIndex2:=weighted.mean(Home_Per_Metr,Weight,na.rm = TRUE)/Tehran_Bundle_Value2,by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex1,Weight),by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex2,Weight),by=ProvinceCode]
+Indexes2<-CBNPoor[,.(RealPriceIndex1,RealPriceIndex2,ProvinceCode,Weight)]
+Indexes2<-Indexes2[,RealPriceIndex:=(RealPriceIndex1+RealPriceIndex2)/2]
+Indexes<-Indexes2[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+Indexes37<-Indexes[,.(ProvinceCode,RealPriceIndex1,RealPriceIndex2,RealPriceIndex)]
+Indexes<-Indexes[,.(ProvinceCode,RealPriceIndex)]
+CBN[,RealPriceIndex:=NULL]
+CBN<-merge(CBN,Indexes,by=c("ProvinceCode"),all.x = TRUE)
+CBN<-CBN[,Total_Food_Month_Per2:=FoodExpenditure_Per*RealPriceIndex]
+CBN<-CBN[,Total_Exp_Month_Per2:=Total_Exp_Month_Per_nondurable*RealPriceIndex]
+#utils::View(CBN)
+
+
+#Sort Expenditure data
+CBN<- CBN[order(Total_Exp_Month_Per2)]
+
+#Calculate cumulative weights
+sum(CBN$Weight)
+CBN$cumweight <- cumsum(CBN$Weight)
+tx <- max(CBN$cumweight)
+
+#Calculate deciles by weights
+CBN[,Decile:=cut(cumweight,breaks = seq(0,tx,tx/10),labels = 1:10)]
+CBN[,Percentile:=cut(cumweight,breaks=seq(0,tx,tx/100),labels=1:100)]
+
+#Update Poors
+CBN[,Poor:=ifelse(Decile %in% 2:5,1,0)]
+CBNPoor<-CBN[Poor==1]
+CBNPoor<-merge(CBNPoor,dt2,by=c("ProvinceCode"),all.x = TRUE)
+CBNPoor[,sum(HIndivNo),by=.(ProvinceCode)][order(ProvinceCode)]
+
+###Iteration1-8
+#Calculate Per_calories in clusters
+CBNPoor[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(185:200)][]
+#utils::View(CBNPoor)
+
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(202:217)][]
+
+CBNPoor[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor<-CBNPoor[Per_Daily_Exp_Calories!=0]
+CBNPoor[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+#CBN[,weighted.mean(Poor,Weight),by=cluster][order(cluster)]
+
+#Real Prices
+T_Bundle_Value<-subset(CBNPoor, ProvinceCode==2301, select=c(Bundle_Value,Home_Per_Metr,Weight))
+Tehran_Bundle_Value1<-weighted.mean(T_Bundle_Value$Bundle_Value,T_Bundle_Value$Weight,na.rm = TRUE)
+Tehran_Bundle_Value2<-weighted.mean(T_Bundle_Value$Home_Per_Metr,T_Bundle_Value$Weight,na.rm = TRUE)
+CBNPoor[,RealPriceIndex1:=weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/Tehran_Bundle_Value1,by=ProvinceCode]
+CBNPoor[,RealPriceIndex2:=weighted.mean(Home_Per_Metr,Weight,na.rm = TRUE)/Tehran_Bundle_Value2,by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex1,Weight),by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex2,Weight),by=ProvinceCode]
+Indexes2<-CBNPoor[,.(RealPriceIndex1,RealPriceIndex2,ProvinceCode,Weight)]
+Indexes2<-Indexes2[,RealPriceIndex:=(RealPriceIndex1+RealPriceIndex2)/2]
+Indexes<-Indexes2[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+Indexes38<-Indexes[,.(ProvinceCode,RealPriceIndex1,RealPriceIndex2,RealPriceIndex)]
+Indexes<-Indexes[,.(ProvinceCode,RealPriceIndex)]
+CBN[,RealPriceIndex:=NULL]
+CBN<-merge(CBN,Indexes,by=c("ProvinceCode"),all.x = TRUE)
+CBN<-CBN[,Total_Food_Month_Per2:=FoodExpenditure_Per*RealPriceIndex]
+CBN<-CBN[,Total_Exp_Month_Per2:=Total_Exp_Month_Per_nondurable*RealPriceIndex]
+#utils::View(CBN)
+
+
+#Sort Expenditure data
+CBN<- CBN[order(Total_Exp_Month_Per2)]
+
+#Calculate cumulative weights
+sum(CBN$Weight)
+CBN$cumweight <- cumsum(CBN$Weight)
+tx <- max(CBN$cumweight)
+
+#Calculate deciles by weights
+CBN[,Decile:=cut(cumweight,breaks = seq(0,tx,tx/10),labels = 1:10)]
+CBN[,Percentile:=cut(cumweight,breaks=seq(0,tx,tx/100),labels=1:100)]
+
+#Update Poors
+CBN[,Poor:=ifelse(Decile %in% 2:5,1,0)]
+CBNPoor<-CBN[Poor==1]
+CBNPoor<-merge(CBNPoor,dt2,by=c("ProvinceCode"),all.x = TRUE)
+CBNPoor[,sum(HIndivNo),by=.(ProvinceCode)][order(ProvinceCode)]
+
+###Iteration1-9
+#Calculate Per_calories in clusters
+CBNPoor[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(185:200)][]
+#utils::View(CBNPoor)
+
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(202:217)][]
+
+CBNPoor[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor<-CBNPoor[Per_Daily_Exp_Calories!=0]
+CBNPoor[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+#CBN[,weighted.mean(Poor,Weight),by=cluster][order(cluster)]
+
+#Real Prices
+T_Bundle_Value<-subset(CBNPoor, ProvinceCode==2301, select=c(Bundle_Value,Home_Per_Metr,Weight))
+Tehran_Bundle_Value1<-weighted.mean(T_Bundle_Value$Bundle_Value,T_Bundle_Value$Weight,na.rm = TRUE)
+Tehran_Bundle_Value2<-weighted.mean(T_Bundle_Value$Home_Per_Metr,T_Bundle_Value$Weight,na.rm = TRUE)
+CBNPoor[,RealPriceIndex1:=weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/Tehran_Bundle_Value1,by=ProvinceCode]
+CBNPoor[,RealPriceIndex2:=weighted.mean(Home_Per_Metr,Weight,na.rm = TRUE)/Tehran_Bundle_Value2,by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex1,Weight),by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex2,Weight),by=ProvinceCode]
+Indexes2<-CBNPoor[,.(RealPriceIndex1,RealPriceIndex2,ProvinceCode,Weight)]
+Indexes2<-Indexes2[,RealPriceIndex:=(RealPriceIndex1+RealPriceIndex2)/2]
+Indexes<-Indexes2[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+Indexes39<-Indexes[,.(ProvinceCode,RealPriceIndex1,RealPriceIndex2,RealPriceIndex)]
+Indexes<-Indexes[,.(ProvinceCode,RealPriceIndex)]
+CBN[,RealPriceIndex:=NULL]
+CBN<-merge(CBN,Indexes,by=c("ProvinceCode"),all.x = TRUE)
+CBN<-CBN[,Total_Food_Month_Per2:=FoodExpenditure_Per*RealPriceIndex]
+CBN<-CBN[,Total_Exp_Month_Per2:=Total_Exp_Month_Per_nondurable*RealPriceIndex]
+#utils::View(CBN)
+
+
+#Sort Expenditure data
+CBN<- CBN[order(Total_Exp_Month_Per2)]
+
+#Calculate cumulative weights
+sum(CBN$Weight)
+CBN$cumweight <- cumsum(CBN$Weight)
+tx <- max(CBN$cumweight)
+
+#Calculate deciles by weights
+CBN[,Decile:=cut(cumweight,breaks = seq(0,tx,tx/10),labels = 1:10)]
+CBN[,Percentile:=cut(cumweight,breaks=seq(0,tx,tx/100),labels=1:100)]
+
+#Update Poors
+CBN[,Poor:=ifelse(Decile %in% 2:5,1,0)]
+CBNPoor<-CBN[Poor==1]
+CBNPoor<-merge(CBNPoor,dt2,by=c("ProvinceCode"),all.x = TRUE)
+CBNPoor[,sum(HIndivNo),by=.(ProvinceCode)][order(ProvinceCode)]
+
+###Iteration1-10
+#Calculate Per_calories in clusters
+CBNPoor[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(185:200)][]
+#utils::View(CBNPoor)
+
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(202:217)][]
+
+CBNPoor[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor<-CBNPoor[Per_Daily_Exp_Calories!=0]
+CBNPoor[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+#CBN[,weighted.mean(Poor,Weight),by=cluster][order(cluster)]
+
+#Real Prices
+T_Bundle_Value<-subset(CBNPoor, ProvinceCode==2301, select=c(Bundle_Value,Home_Per_Metr,Weight))
+Tehran_Bundle_Value1<-weighted.mean(T_Bundle_Value$Bundle_Value,T_Bundle_Value$Weight,na.rm = TRUE)
+Tehran_Bundle_Value2<-weighted.mean(T_Bundle_Value$Home_Per_Metr,T_Bundle_Value$Weight,na.rm = TRUE)
+CBNPoor[,RealPriceIndex1:=weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/Tehran_Bundle_Value1,by=ProvinceCode]
+CBNPoor[,RealPriceIndex2:=weighted.mean(Home_Per_Metr,Weight,na.rm = TRUE)/Tehran_Bundle_Value2,by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex1,Weight),by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex2,Weight),by=ProvinceCode]
+Indexes2<-CBNPoor[,.(RealPriceIndex1,RealPriceIndex2,ProvinceCode,Weight)]
+Indexes2<-Indexes2[,RealPriceIndex:=(RealPriceIndex1+RealPriceIndex2)/2]
+Indexes<-Indexes2[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+Indexes310<-Indexes[,.(ProvinceCode,RealPriceIndex1,RealPriceIndex2,RealPriceIndex)]
+Indexes<-Indexes[,.(ProvinceCode,RealPriceIndex)]
+CBN[,RealPriceIndex:=NULL]
+CBN<-merge(CBN,Indexes,by=c("ProvinceCode"),all.x = TRUE)
+CBN<-CBN[,Total_Food_Month_Per2:=FoodExpenditure_Per*RealPriceIndex]
+CBN<-CBN[,Total_Exp_Month_Per2:=Total_Exp_Month_Per_nondurable*RealPriceIndex]
+#utils::View(CBN)
+
+
+#Sort Expenditure data
+CBN<- CBN[order(Total_Exp_Month_Per2)]
+
+#Calculate cumulative weights
+sum(CBN$Weight)
+CBN$cumweight <- cumsum(CBN$Weight)
+tx <- max(CBN$cumweight)
+
+#Calculate deciles by weights
+CBN[,Decile:=cut(cumweight,breaks = seq(0,tx,tx/10),labels = 1:10)]
+CBN[,Percentile:=cut(cumweight,breaks=seq(0,tx,tx/100),labels=1:100)]
+
+#Update Poors
+CBN[,Poor:=ifelse(Decile %in% 2:5,1,0)]
+CBNPoor<-CBN[Poor==1]
+CBNPoor<-merge(CBNPoor,dt2,by=c("ProvinceCode"),all.x = TRUE)
+CBNPoor[,sum(HIndivNo),by=.(cluster)][order(cluster)]
+
+
+#Calculate Per_calories in clusters
+CBNPoor[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(189:204)][]
+#utils::View(CBNPoor)
+
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(206:221)][]
+
+CBNPoor[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor<-CBNPoor[Per_Daily_Exp_Calories!=0]
+CBNPoor[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNCalory<-CBNPoor[,.(Per_Daily_Calories,Per_Daily_Exp_Calories,Per_Calory_Resturant,Resturant_Exp,cluster,ProvinceCode)]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+
+
+#Calculations
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_day,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,sum(Size*Weight),by=cluster][order(cluster)]
+
+
+#Food Poverty Line for each cluster
+#cluster 1
+CBNPoorCluster<-CBNPoor[cluster==1]
+Food_Povertyline1_1<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 2
+CBNPoorCluster<-CBNPoor[cluster==2]
+Food_Povertyline2_1<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 3
+CBNPoorCluster<-CBNPoor[cluster==3]
+Food_Povertyline3_1<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 4
+CBNPoorCluster<-CBNPoor[cluster==4]
+Food_Povertyline4_1<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+
+#ee<-CBNPoor[,.(Total_Exp_Month_Real,Total_Exp_Month,Total_Food_Month_Per2,Total_Exp_Month_Per_nondurable,Total_Exp_Month_nondurable_Real_Per,FoodExpenditure_Per,cluster)]
+#mean(ee[,Total_Food_Month_Per2==Total_Exp_Month_nondurable_Real])
+#mean(ee[,Total_Food_Month_Per2<3500000])
+#ee<- ee[order(Total_Food_Month_Per2)]
+#utils::View(CBN)
+CBN<-merge(CBN,dt2,by=c("ProvinceCode"),all.x = TRUE)
+#for (col in c("Total_Food_Month_Per2")) CBN[is.na(get(col)), (col) := Total_Exp_Month_Per_nondurable]
+c<-CBN[,.(FoodExpenditure_Per,FoodExpenditure_Per_total,Total_Exp_Month_Per_nondurable,Total_Exp_Month,Total_Food_Month_Per2,Poor,Decile,Weight,cluster)]
+
+#########Iteration 2###############
+#Sort Expenditure data
+CBN<- CBN[order(Total_Food_Month_Per2)]
+c<- c[order(Total_Food_Month_Per2)]
+
+#Indicate new poors
+CBN[,Poor2:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_1 & cluster==1,1,0)]
+c[,Poor2:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_1 & cluster==1 ,1,0)]
+CBN[,Poor2:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_1 & cluster==2,1,Poor2)]
+c[,Poor2:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_1 & cluster==2 ,1,Poor2)]
+CBN[,Poor2:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_1 & cluster==3,1,Poor2)]
+c[,Poor2:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_1 & cluster==3 ,1,Poor2)]
+CBN[,Poor2:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_1 & cluster==4,1,Poor2)]
+c[,Poor2:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_1 & cluster==4 ,1,Poor2)]
+CBN[,weighted.mean(Poor2,Weight),by=cluster][order(cluster)]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2<-CBN[Poor2==1]
+
+
+#CalculatePer_calories in clusters
+CBNPoor2[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(190:205)][]
+#utils::View(CBNPoor2)
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor2[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(207:222)][]
+
+CBNPoor2[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor2[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor2[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor2[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2<-CBNPoor2[Per_Daily_Exp_Calories!=0]
+CBNPoor2[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor2[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor2[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor2[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor2[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor2[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+
+
+
+#Calculations
+CBNPoor2[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,weighted.mean(FoodExpenditure_Per_day,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+
+
+
+#Food Poverty Line for each cluster
+#cluster 1
+CBNPoorCluster<-CBNPoor2[cluster==1]
+Food_Povertyline1_2<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 2
+CBNPoorCluster<-CBNPoor2[cluster==2]
+Food_Povertyline2_2<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 3
+CBNPoorCluster<-CBNPoor2[cluster==3]
+Food_Povertyline3_2<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 4
+CBNPoorCluster<-CBNPoor2[cluster==4]
+Food_Povertyline4_2<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#ee<-CBNPoor[,.(Total_Exp_Month_Real,Total_Exp_Month,Total_Food_Month_Per2,Total_Exp_Month_Per_nondurable,Total_Exp_Month_nondurable_Real_Per,FoodExpenditure_Per,cluster)]
+#mean(ee[,Total_Food_Month_Per2==Total_Exp_Month_nondurable_Real])
+#mean(ee[,Total_Food_Month_Per2<3500000])
+#ee<- ee[order(Total_Food_Month_Per2)]
+#utils::View(CBN)
+#for (col in c("Total_Food_Month_Per2")) CBN[is.na(get(col)), (col) := Total_Exp_Month_Per_nondurable]
+c<-CBN[,.(FoodExpenditure_Per,FoodExpenditure_Per_total,Total_Exp_Month_Per_nondurable,Total_Exp_Month,Total_Food_Month_Per2,Poor,Decile,Weight,cluster)]
+
+
+#########Iteration 3###############
+#Sort Expenditure data
+CBN<- CBN[order(Total_Food_Month_Per2)]
+c<- c[order(Total_Food_Month_Per2)]
+
+#Indicate new poors
+CBN[,Poor3:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_2 & cluster==1,1,0)]
+c[,Poor3:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_2 & cluster==1 ,1,0)]
+CBN[,Poor3:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_2 & cluster==2,1,Poor3)]
+c[,Poor3:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_2 & cluster==2 ,1,Poor3)]
+CBN[,Poor3:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_2 & cluster==3,1,Poor3)]
+c[,Poor3:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_2 & cluster==3 ,1,Poor3)]
+CBN[,Poor3:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_2 & cluster==4,1,Poor3)]
+c[,Poor3:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_2 & cluster==4 ,1,Poor3)]
+CBN[,weighted.mean(Poor3,Weight),by=cluster][order(cluster)]
+CBNPoor2[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3<-CBN[Poor3==1]
+
+
+
+#CalculatePer_calories in clusters
+CBNPoor3[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(191:206)][]
+#utils::View(CBNPoor3)
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor3[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(208:223)][]
+
+
+CBNPoor3[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor3[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor3[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor3[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3<-CBNPoor3[Per_Daily_Exp_Calories!=0]
+CBNPoor3[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor3[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+
+#sum of total food expenditures
+CBNPoor3[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor3[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor3[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor3[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+
+
+#Calculations
+CBNPoor3[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,weighted.mean(FoodExpenditure_Per_day,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+
+
+
+#Food Poverty Line for each cluster
+#cluster 1
+CBNPoorCluster<-CBNPoor3[cluster==1]
+Food_Povertyline1_3<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 2
+CBNPoorCluster<-CBNPoor3[cluster==2]
+Food_Povertyline2_3<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 3
+CBNPoorCluster<-CBNPoor3[cluster==3]
+Food_Povertyline3_3<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 4
+CBNPoorCluster<-CBNPoor3[cluster==4]
+Food_Povertyline4_3<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#ee<-CBNPoor[,.(Total_Exp_Month_Real,Total_Exp_Month,Total_Food_Month_Per2,Total_Exp_Month_Per_nondurable,Total_Exp_Month_nondurable_Real_Per,FoodExpenditure_Per,cluster)]
+#mean(ee[,Total_Food_Month_Per2==Total_Exp_Month_nondurable_Real])
+#mean(ee[,Total_Food_Month_Per2<3500000])
+#ee<- ee[order(Total_Food_Month_Per2)]
+#utils::View(CBN)
+#for (col in c("Total_Food_Month_Per2")) CBN[is.na(get(col)), (col) := Total_Exp_Month_Per_nondurable]
+c<-CBN[,.(FoodExpenditure_Per,FoodExpenditure_Per_total,Total_Exp_Month_Per_nondurable,Total_Exp_Month,Total_Food_Month_Per2,Poor,Decile,Weight,cluster)]
+
+
+#########Iteration 4###############
+#Sort Expenditure data
+CBN<- CBN[order(Total_Food_Month_Per2)]
+c<- c[order(Total_Food_Month_Per2)]
+
+#Indicate new poors
+CBN[,Poor4:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_3 & cluster==1,1,0)]
+c[,Poor4:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_3 & cluster==1 ,1,0)]
+CBN[,Poor4:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_3 & cluster==2,1,Poor4)]
+c[,Poor4:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_3 & cluster==2 ,1,Poor4)]
+CBN[,Poor4:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_3 & cluster==3,1,Poor4)]
+c[,Poor4:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_3 & cluster==3 ,1,Poor4)]
+CBN[,Poor4:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_3 & cluster==4,1,Poor4)]
+c[,Poor4:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_3 & cluster==4 ,1,Poor4)]
+CBN[,weighted.mean(Poor4,Weight),by=cluster][order(cluster)]
+CBNPoor3[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4<-CBN[Poor4==1]
+
+#CalculatePer_calories in clusters
+CBNPoor4[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(191:206)][]
+#utils::View(CBNPoor4)
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor4[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(208:223)][]
+
+
+CBNPoor4[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor4[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor4[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor4[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4<-CBNPoor4[Per_Daily_Exp_Calories!=0]
+CBNPoor4[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor4[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+
+#sum of total food expenditures
+CBNPoor4[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor4[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor4[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor4[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+
+
+#Calculations
+CBNPoor4[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,weighted.mean(FoodExpenditure_Per_day,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+
+
+
+#Food Poverty Line for each cluster
+#cluster 1
+CBNPoorCluster<-CBNPoor4[cluster==1]
+Food_Povertyline1_4<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 2
+CBNPoorCluster<-CBNPoor4[cluster==2]
+Food_Povertyline2_4<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 3
+CBNPoorCluster<-CBNPoor4[cluster==3]
+Food_Povertyline3_4<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 4
+CBNPoorCluster<-CBNPoor4[cluster==4]
+Food_Povertyline4_4<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#ee<-CBNPoor[,.(Total_Exp_Month_Real,Total_Exp_Month,Total_Food_Month_Per2,Total_Exp_Month_Per_nondurable,Total_Exp_Month_nondurable_Real_Per,FoodExpenditure_Per,cluster)]
+#mean(ee[,Total_Food_Month_Per2==Total_Exp_Month_nondurable_Real])
+#mean(ee[,Total_Food_Month_Per2<3500000])
+#ee<- ee[order(Total_Food_Month_Per2)]
+#utils::View(CBN)
+#for (col in c("Total_Food_Month_Per2")) CBN[is.na(get(col)), (col) := Total_Exp_Month_Per_nondurable]
+c<-CBN[,.(FoodExpenditure_Per,FoodExpenditure_Per_total,Total_Exp_Month_Per_nondurable,Total_Exp_Month,Total_Food_Month_Per2,Poor,Decile,Weight,cluster)]
+
+
+#########Iteration 5###############
+#Sort Expenditure data
+CBN<- CBN[order(Total_Food_Month_Per2)]
+c<- c[order(Total_Food_Month_Per2)]
+
+#Indicate new poors
+CBN[,Poor5:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_4 & cluster==1,1,0)]
+c[,Poor5:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_4 & cluster==1 ,1,0)]
+CBN[,Poor5:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_4 & cluster==2,1,Poor5)]
+c[,Poor5:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_4 & cluster==2 ,1,Poor5)]
+CBN[,Poor5:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_4 & cluster==3,1,Poor5)]
+c[,Poor5:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_4 & cluster==3 ,1,Poor5)]
+CBN[,Poor5:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_4 & cluster==4,1,Poor5)]
+c[,Poor5:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_4 & cluster==4 ,1,Poor5)]
+CBN[,weighted.mean(Poor5,Weight),by=cluster][order(cluster)]
+CBNPoor4[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5<-CBN[Poor5==1]
+
+#CalculatePer_calories in clusters
+CBNPoor5[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(191:206)][]
+#utils::View(CBNPoor5)
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor5[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(208:223)][]
+
+
+CBNPoor5[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor5[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor5[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor5[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5<-CBNPoor5[Per_Daily_Exp_Calories!=0]
+CBNPoor5[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor5[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+
+#sum of total food expenditures
+CBNPoor5[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor5[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor5[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor5[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+
+
+#Calculations
+CBNPoor5[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,weighted.mean(FoodExpenditure_Per_day,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+
+
+
+#Food Poverty Line for each cluster
+#cluster 1
+CBNPoorCluster<-CBNPoor5[cluster==1]
+Food_Povertyline1_5<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 2
+CBNPoorCluster<-CBNPoor5[cluster==2]
+Food_Povertyline2_5<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 3
+CBNPoorCluster<-CBNPoor5[cluster==3]
+Food_Povertyline3_5<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 4
+CBNPoorCluster<-CBNPoor5[cluster==4]
+Food_Povertyline4_5<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#ee<-CBNPoor[,.(Total_Exp_Month_Real,Total_Exp_Month,Total_Food_Month_Per2,Total_Exp_Month_Per_nondurable,Total_Exp_Month_nondurable_Real_Per,FoodExpenditure_Per,cluster)]
+#mean(ee[,Total_Food_Month_Per2==Total_Exp_Month_nondurable_Real])
+#mean(ee[,Total_Food_Month_Per2<3500000])
+#ee<- ee[order(Total_Food_Month_Per2)]
+#utils::View(CBN)
+#for (col in c("Total_Food_Month_Per2")) CBN[is.na(get(col)), (col) := Total_Exp_Month_Per_nondurable]
+c<-CBN[,.(FoodExpenditure_Per,FoodExpenditure_Per_total,Total_Exp_Month_Per_nondurable,Total_Exp_Month,Total_Food_Month_Per2,Poor,Decile,Weight,cluster)]
+
+
+#########Iteration 6###############
+#Sort Expenditure data
+CBN<- CBN[order(Total_Food_Month_Per2)]
+c<- c[order(Total_Food_Month_Per2)]
+
+#Indicate new poors
+CBN[,Poor6:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_5 & cluster==1,1,0)]
+c[,Poor6:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_5 & cluster==1 ,1,0)]
+CBN[,Poor6:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_5 & cluster==2,1,Poor6)]
+c[,Poor6:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_5 & cluster==2 ,1,Poor6)]
+CBN[,Poor6:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_5 & cluster==3,1,Poor6)]
+c[,Poor6:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_5 & cluster==3 ,1,Poor6)]
+CBN[,Poor6:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_5 & cluster==4,1,Poor6)]
+c[,Poor6:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_5 & cluster==4 ,1,Poor6)]
+CBN[,weighted.mean(Poor6,Weight),by=cluster][order(cluster)]
+CBNPoor5[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6<-CBN[Poor6==1]
+
+#CalculatePer_calories in clusters
+CBNPoor6[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(191:206)][]
+#utils::View(CBNPoor6)
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor6[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(208:223)][]
+
+
+CBNPoor6[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor6[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor6[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor6[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6<-CBNPoor6[Per_Daily_Exp_Calories!=0]
+CBNPoor6[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor6[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+
+#sum of total food expenditures
+CBNPoor6[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor6[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor6[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor6[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+
+
+#Calculations
+CBNPoor6[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,weighted.mean(FoodExpenditure_Per_day,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+
+
+#Food Poverty Line for each cluster
+#cluster 1
+CBNPoorCluster<-CBNPoor6[cluster==1]
+Food_Povertyline1_6<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 2
+CBNPoorCluster<-CBNPoor6[cluster==2]
+Food_Povertyline2_6<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 3
+CBNPoorCluster<-CBNPoor6[cluster==3]
+Food_Povertyline3_6<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 4
+CBNPoorCluster<-CBNPoor6[cluster==4]
+Food_Povertyline4_6<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#ee<-CBNPoor[,.(Total_Exp_Month_Real,Total_Exp_Month,Total_Food_Month_Per2,Total_Exp_Month_Per_nondurable,Total_Exp_Month_nondurable_Real_Per,FoodExpenditure_Per,cluster)]
+#mean(ee[,Total_Food_Month_Per2==Total_Exp_Month_nondurable_Real])
+#mean(ee[,Total_Food_Month_Per2<3500000])
+#ee<- ee[order(Total_Food_Month_Per2)]
+#utils::View(CBN)
+#for (col in c("Total_Food_Month_Per2")) CBN[is.na(get(col)), (col) := Total_Exp_Month_Per_nondurable]
+c<-CBN[,.(FoodExpenditure_Per,FoodExpenditure_Per_total,Total_Exp_Month_Per_nondurable,Total_Exp_Month,Total_Food_Month_Per2,Poor,Decile,Weight,cluster)]
+
+
+#########Iteration 7###############
+#Sort Expenditure data
+CBN<- CBN[order(Total_Food_Month_Per2)]
+c<- c[order(Total_Food_Month_Per2)]
+
+#Indicate new poors
+CBN[,Poor7:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_6 & cluster==1,1,0)]
+c[,Poor7:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_6 & cluster==1 ,1,0)]
+CBN[,Poor7:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_6 & cluster==2,1,Poor7)]
+c[,Poor7:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_6 & cluster==2 ,1,Poor7)]
+CBN[,Poor7:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_6 & cluster==3,1,Poor7)]
+c[,Poor7:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_6 & cluster==3 ,1,Poor7)]
+CBN[,Poor7:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_6 & cluster==4,1,Poor7)]
+c[,Poor7:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_6 & cluster==4 ,1,Poor7)]
+CBN[,weighted.mean(Poor7,Weight),by=cluster][order(cluster)]
+CBNPoor6[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7<-CBN[Poor7==1]
+
+#CalculatePer_calories in clusters
+CBNPoor7[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(191:206)][]
+#utils::View(CBNPoor7)
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor7[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(208:223)][]
+
+
+CBNPoor7[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor7[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor7[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor7[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7<-CBNPoor7[Per_Daily_Exp_Calories!=0]
+CBNPoor7[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor7[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+
+#sum of total food expenditures
+CBNPoor7[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor7[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor7[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor7[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+
+
+#Calculations
+CBNPoor7[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,weighted.mean(FoodExpenditure_Per_day,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+
+
+
+#Food Poverty Line for each cluster
+#cluster 1
+CBNPoorCluster<-CBNPoor7[cluster==1]
+Food_Povertyline1_7<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 2
+CBNPoorCluster<-CBNPoor7[cluster==2]
+Food_Povertyline2_7<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 3
+CBNPoorCluster<-CBNPoor7[cluster==3]
+Food_Povertyline3_7<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 4
+CBNPoorCluster<-CBNPoor7[cluster==4]
+Food_Povertyline4_7<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#ee<-CBNPoor[,.(Total_Exp_Month_Real,Total_Exp_Month,Total_Food_Month_Per2,Total_Exp_Month_Per_nondurable,Total_Exp_Month_nondurable_Real_Per,FoodExpenditure_Per,cluster)]
+#mean(ee[,Total_Food_Month_Per2==Total_Exp_Month_nondurable_Real])
+#mean(ee[,Total_Food_Month_Per2<3500000])
+#ee<- ee[order(Total_Food_Month_Per2)]
+#utils::View(CBN)
+#for (col in c("Total_Food_Month_Per2")) CBN[is.na(get(col)), (col) := Total_Exp_Month_Per_nondurable]
+c<-CBN[,.(FoodExpenditure_Per,FoodExpenditure_Per_total,Total_Exp_Month_Per_nondurable,Total_Exp_Month,Total_Food_Month_Per2,Poor,Decile,Weight,cluster)]
+
+
+#########Iteration 8###############
+#Sort Expenditure data
+CBN<- CBN[order(Total_Food_Month_Per2)]
+c<- c[order(Total_Food_Month_Per2)]
+
+#Indicate new poors
+CBN[,Poor8:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_7 & cluster==1,1,0)]
+c[,Poor8:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_7 & cluster==1 ,1,0)]
+CBN[,Poor8:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_7 & cluster==2,1,Poor8)]
+c[,Poor8:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_7 & cluster==2 ,1,Poor8)]
+CBN[,Poor8:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_7 & cluster==3,1,Poor8)]
+c[,Poor8:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_7 & cluster==3 ,1,Poor8)]
+CBN[,Poor8:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_7 & cluster==4,1,Poor8)]
+c[,Poor8:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_7 & cluster==4 ,1,Poor8)]
+CBN[,weighted.mean(Poor8,Weight),by=cluster][order(cluster)]
+CBNPoor7[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8<-CBN[Poor8==1]
+
+
+#CalculatePer_calories in clusters
+CBNPoor8[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(191:206)][]
+#utils::View(CBNPoor8)
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor8[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(208:223)][]
+
+
+CBNPoor8[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor8[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor8[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor8[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8<-CBNPoor8[Per_Daily_Exp_Calories!=0]
+CBNPoor8[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor8[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+
+#sum of total food expenditures
+CBNPoor8[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor8[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor8[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor8[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+
+
+#Calculations
+CBNPoor8[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,weighted.mean(FoodExpenditure_Per_day,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+
+
+
+#Food Poverty Line for each cluster
+#cluster 1
+CBNPoorCluster<-CBNPoor8[cluster==1]
+Food_Povertyline1_8<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 2
+CBNPoorCluster<-CBNPoor8[cluster==2]
+Food_Povertyline2_8<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 3
+CBNPoorCluster<-CBNPoor8[cluster==3]
+Food_Povertyline3_8<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 4
+CBNPoorCluster<-CBNPoor8[cluster==4]
+Food_Povertyline4_8<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#ee<-CBNPoor[,.(Total_Exp_Month_Real,Total_Exp_Month,Total_Food_Month_Per2,Total_Exp_Month_Per_nondurable,Total_Exp_Month_nondurable_Real_Per,FoodExpenditure_Per,cluster)]
+#mean(ee[,Total_Food_Month_Per2==Total_Exp_Month_nondurable_Real])
+#mean(ee[,Total_Food_Month_Per2<3500000])
+#ee<- ee[order(Total_Food_Month_Per2)]
+#utils::View(CBN)
+#for (col in c("Total_Food_Month_Per2")) CBN[is.na(get(col)), (col) := Total_Exp_Month_Per_nondurable]
+c<-CBN[,.(FoodExpenditure_Per,FoodExpenditure_Per_total,Total_Exp_Month_Per_nondurable,Total_Exp_Month,Total_Food_Month_Per2,Poor,Decile,Weight,cluster)]
+
+
+#########Iteration 9###############
+#Sort Expenditure data
+CBN<- CBN[order(Total_Food_Month_Per2)]
+c<- c[order(Total_Food_Month_Per2)]
+
+#Indicate new poors
+CBN[,Poor9:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_8 & cluster==1,1,0)]
+c[,Poor9:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_8 & cluster==1 ,1,0)]
+CBN[,Poor9:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_8 & cluster==2,1,Poor9)]
+c[,Poor9:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_8 & cluster==2 ,1,Poor9)]
+CBN[,Poor9:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_8 & cluster==3,1,Poor9)]
+c[,Poor9:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_8 & cluster==3 ,1,Poor9)]
+CBN[,Poor9:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_8 & cluster==4,1,Poor9)]
+c[,Poor9:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_8 & cluster==4 ,1,Poor9)]
+CBN[,weighted.mean(Poor9,Weight),by=cluster][order(cluster)]
+CBNPoor8[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9<-CBN[Poor9==1]
+
+
+#CalculatePer_calories in clusters
+CBNPoor9[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(191:206)][]
+#utils::View(CBNPoor9)
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor9[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(208:223)][]
+
+
+CBNPoor9[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor9[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor9[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor9[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9<-CBNPoor9[Per_Daily_Exp_Calories!=0]
+CBNPoor9[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor9[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+
+#sum of total food expenditures
+CBNPoor9[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor9[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor9[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor9[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+
+
+
+#Calculations
+CBNPoor9[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,weighted.mean(FoodExpenditure_Per_day,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+
+
+
+#Food Poverty Line for each cluster
+#cluster 1
+CBNPoorCluster<-CBNPoor9[cluster==1]
+Food_Povertyline1_9<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 2
+CBNPoorCluster<-CBNPoor9[cluster==2]
+Food_Povertyline2_9<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 3
+CBNPoorCluster<-CBNPoor9[cluster==3]
+Food_Povertyline3_9<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 4
+CBNPoorCluster<-CBNPoor9[cluster==4]
+Food_Povertyline4_9<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#ee<-CBNPoor[,.(Total_Exp_Month_Real,Total_Exp_Month,Total_Food_Month_Per2,Total_Exp_Month_Per_nondurable,Total_Exp_Month_nondurable_Real_Per,FoodExpenditure_Per,cluster)]
+#mean(ee[,Total_Food_Month_Per2==Total_Exp_Month_nondurable_Real])
+#mean(ee[,Total_Food_Month_Per2<3500000])
+#ee<- ee[order(Total_Food_Month_Per2)]
+#utils::View(CBN)
+#for (col in c("Total_Food_Month_Per2")) CBN[is.na(get(col)), (col) := Total_Exp_Month_Per_nondurable]
+c<-CBN[,.(FoodExpenditure_Per,FoodExpenditure_Per_total,Total_Exp_Month_Per_nondurable,Total_Exp_Month,Total_Food_Month_Per2,Poor,Decile,Weight,cluster)]
+
+
+#########Iteration 10###############
+#Sort Expenditure data
+CBN<- CBN[order(Total_Food_Month_Per2)]
+c<- c[order(Total_Food_Month_Per2)]
+
+#Indicate new poors
+CBN[,Poor10:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_9 & cluster==1,1,0)]
+c[,Poor10:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_9 & cluster==1 ,1,0)]
+CBN[,Poor10:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_9 & cluster==2,1,Poor10)]
+c[,Poor10:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_9 & cluster==2 ,1,Poor10)]
+CBN[,Poor10:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_9 & cluster==3,1,Poor10)]
+c[,Poor10:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_9 & cluster==3 ,1,Poor10)]
+CBN[,Poor10:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_9 & cluster==4,1,Poor10)]
+c[,Poor10:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_9 & cluster==4 ,1,Poor10)]
+CBN[,weighted.mean(Poor10,Weight),by=cluster][order(cluster)]
+CBNPoor9[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor10<-CBN[Poor10==1]
+
+#Engel
+#CBNPoor9<-CBNPoor9[,ratio1:=FoodExpenditure/Total_Exp_Month]
+#CBNPoor9[,weighted.mean(ratio1,Weight),by=cluster]
+#summary(CBNPoor9$ratio1)
+CBN<-CBN[,ratio1:=FoodExpenditure/Total_Exp_Month]
+CBN[,weighted.mean(ratio1,Weight),by=ProvinceCode][order(ProvinceCode)]
+CBN<-CBN[,ratio2:=ServiceExp/Total_Exp_Month]
+CBN[,weighted.mean(ratio2,Weight),by=ProvinceCode][order(ProvinceCode)]
+
+#Engel-home ratio calculations
+CBN[cluster==1 & FoodExpenditure_Per_total<1.1*Food_Povertyline1_9 & FoodExpenditure_Per_total>0.90*Food_Povertyline1_9,sum(HIndivNo),by=ProvinceCode][order(ProvinceCode)]
+CBN[cluster==2 & FoodExpenditure_Per_total<1.1*Food_Povertyline2_9 & FoodExpenditure_Per_total>0.90*Food_Povertyline1_9,sum(HIndivNo),by=ProvinceCode][order(ProvinceCode)]
+CBN[cluster==3 & FoodExpenditure_Per_total<1.1*Food_Povertyline3_9 & FoodExpenditure_Per_total>0.90*Food_Povertyline1_9,sum(HIndivNo),by=ProvinceCode][order(ProvinceCode)]
+CBN[cluster==4 & FoodExpenditure_Per_total<1.1*Food_Povertyline4_9 & FoodExpenditure_Per_total>0.90*Food_Povertyline1_9,sum(HIndivNo),by=ProvinceCode][order(ProvinceCode)]
+
+CBN[cluster==1 & FoodExpenditure_Per_total<1.1*Food_Povertyline1_9 & FoodExpenditure_Per_total>0.90*Food_Povertyline1_9,weighted.mean(ratio1,Weight),by=ProvinceCode][order(ProvinceCode)]
+CBN[cluster==2 & FoodExpenditure_Per_total<1.1*Food_Povertyline2_9 & FoodExpenditure_Per_total>0.90*Food_Povertyline1_9,weighted.mean(ratio1,Weight),by=ProvinceCode][order(ProvinceCode)]
+CBN[cluster==3 & FoodExpenditure_Per_total<1.1*Food_Povertyline3_9 & FoodExpenditure_Per_total>0.90*Food_Povertyline1_9,weighted.mean(ratio1,Weight),by=ProvinceCode][order(ProvinceCode)]
+CBN[cluster==4 & FoodExpenditure_Per_total<1.1*Food_Povertyline4_9 & FoodExpenditure_Per_total>0.90*Food_Povertyline1_9,weighted.mean(ratio1,Weight),by=ProvinceCode][order(ProvinceCode)]
+
+CBN[cluster==1 & FoodExpenditure_Per_total<1.1*Food_Povertyline1_9 & FoodExpenditure_Per_total>0.90*Food_Povertyline1_9,weighted.mean(ratio2,Weight),by=ProvinceCode][order(ProvinceCode)]
+CBN[cluster==2 & FoodExpenditure_Per_total<1.1*Food_Povertyline2_9 & FoodExpenditure_Per_total>0.90*Food_Povertyline1_9,weighted.mean(ratio2,Weight),by=ProvinceCode][order(ProvinceCode)]
+CBN[cluster==3 & FoodExpenditure_Per_total<1.1*Food_Povertyline3_9 & FoodExpenditure_Per_total>0.90*Food_Povertyline1_9,weighted.mean(ratio2,Weight),by=ProvinceCode][order(ProvinceCode)]
+CBN[cluster==4 & FoodExpenditure_Per_total<1.1*Food_Povertyline4_9 & FoodExpenditure_Per_total>0.90*Food_Povertyline1_9,weighted.mean(ratio2,Weight),by=ProvinceCode][order(ProvinceCode)]
+
+
+# Poverty Line for each cluster
+#cluster 1
+CBNPoorCluster<-CBN[cluster==1 & FoodExpenditure_Per_total<1.1*Food_Povertyline1_9 & FoodExpenditure_Per_total>0.90*Food_Povertyline1_9]
+Engel1<-weighted.mean(CBNPoorCluster$ratio1,CBNPoorCluster$Weight)
+Engel_Reverse1<-1/Engel1
+Povertyline1_9<-Engel_Reverse1*Food_Povertyline1_9
+
+#cluster 2
+CBNPoorCluster<-CBN[cluster==2 & FoodExpenditure_Per_total<1.1*Food_Povertyline2_9 & FoodExpenditure_Per_total>0.90*Food_Povertyline2_9]
+Engel2<-weighted.mean(CBNPoorCluster$ratio1,CBNPoorCluster$Weight)
+Engel_Reverse2<-1/Engel2
+Povertyline2_9<-Engel_Reverse2*Food_Povertyline2_9
+
+#cluster 3
+CBNPoorCluster<-CBN[cluster==3 & FoodExpenditure_Per_total<1.1*Food_Povertyline3_9 & FoodExpenditure_Per_total>0.90*Food_Povertyline3_9]
+Engel3<-weighted.mean(CBNPoorCluster$ratio1,CBNPoorCluster$Weight)
+Engel_Reverse3<-1/Engel3
+Povertyline3_9<-Engel_Reverse3*Food_Povertyline3_9
+
+#cluster 4
+CBNPoorCluster<-CBN[cluster==4 & FoodExpenditure_Per_total<1.1*Food_Povertyline4_9 & FoodExpenditure_Per_total>0.90*Food_Povertyline4_9]
+Engel4<-weighted.mean(CBNPoorCluster$ratio1,CBNPoorCluster$Weight)
+Engel_Reverse4<-1/Engel4
+Povertyline4_9<-Engel_Reverse4*Food_Povertyline4_9
+
+#Indicate final poors
+CBN<-CBN[,Total_Exp_Month_Per2:=Total_Exp_Month_Per_nondurable*RealPriceIndex]
+
+CBN[,Poor11:=ifelse(Total_Exp_Month_Per_nondurable < Povertyline1_9 & cluster==1,1,0)]
+CBN[,Poor11:=ifelse(Total_Exp_Month_Per_nondurable < Povertyline2_9 & cluster==2,1,Poor11)]
+CBN[,Poor11:=ifelse(Total_Exp_Month_Per_nondurable < Povertyline3_9 & cluster==3,1,Poor11)]
+CBN[,Poor11:=ifelse(Total_Exp_Month_Per_nondurable < Povertyline4_9 & cluster==4,1,Poor11)]
+CBN[,weighted.mean(Poor11,Weight),by=cluster][order(cluster)]
+CBNPoor9[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor11<-CBN[Poor11==1]
+
+CBN[,sum(Size*Weight),by=cluster][order(cluster)]
+CBN[,sum(Size*Weight),by=.(cluster,Decile)][order(cluster,Decile)]
+CBNPoor[,sum(Size*Weight),by=cluster][order(cluster)]
+CBNPoor11[,sum(Size*Weight),by=cluster][order(cluster)]
+CBNPoor9[,sum(Size*Weight),by=cluster][order(cluster)]
+CBNPoor9[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster][order(cluster)]
+CBNPoor9[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster][order(cluster)]
+CBN[,weighted.mean(Poor11,Weight)]
+CBN[,weighted.mean(Poor11,Weight),by=cluster][order(cluster)]
+CBN[,weighted.mean(Poor11,Weight),by=ProvinceCode][order(ProvinceCode)]
+CBNPoor11[,sum(Size*Weight),by=ProvinceCode][order(ProvinceCode)]
+CBNPoor11[,sum(Weight),by=ProvinceCode][order(ProvinceCode)]
+CBN[,sum(Size*Weight),by=ProvinceCode][order(ProvinceCode)]
+CBN[,sum(Size*Weight)]
+
+##############################
+###Real Prices for report###
+##############################
+#sum of total food expenditures
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per]
+
+#Food expenditures (equal 2100 CCAL)
+CBN<-CBN[Per_Daily_Exp_Calories>0]
+CBN[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Exp_Calories]
+CBN[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+
+T_Bundle_Value<-subset(CBN, ProvinceCode==2301, select=c(Bundle_Value,Home_Per_Metr,Weight))
+Tehran_Bundle_Value1<-weighted.mean(T_Bundle_Value$Bundle_Value,T_Bundle_Value$Weight,na.rm = TRUE)
+Tehran_Bundle_Value2<-weighted.mean(T_Bundle_Value$Home_Per_Metr,T_Bundle_Value$Weight,na.rm = TRUE)
+CBN[,RealPriceIndex1:=weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/Tehran_Bundle_Value1,by=ProvinceCode]
+CBN[,RealPriceIndex2:=weighted.mean(Home_Per_Metr,Weight,na.rm = TRUE)/Tehran_Bundle_Value2,by=ProvinceCode]
+CBN[,weighted.mean(RealPriceIndex1,Weight),by=ProvinceCode]
+CBN[,weighted.mean(RealPriceIndex2,Weight),by=ProvinceCode]
+Indexes2_1<-CBN[,.(RealPriceIndex1,RealPriceIndex2,ProvinceCode,Weight)]
+Indexes2_1<-Indexes2_1[,RealPriceIndex:=(RealPriceIndex1+RealPriceIndex2)/2]
+Indexes_total<-Indexes2_1[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+Indexes3_1<-Indexes_total[,.(ProvinceCode,RealPriceIndex1,RealPriceIndex2,RealPriceIndex)]
+Indexes<-Indexes[,.(ProvinceCode,RealPriceIndex)]
+
+CBN_Poor<-CBN[Poor11==1]
+T_Bundle_Value<-subset(CBN_Poor, ProvinceCode==2301, select=c(Bundle_Value,Home_Per_Metr,Weight))
+Tehran_Bundle_Value1<-weighted.mean(T_Bundle_Value$Bundle_Value,T_Bundle_Value$Weight,na.rm = TRUE)
+Tehran_Bundle_Value2<-weighted.mean(T_Bundle_Value$Home_Per_Metr,T_Bundle_Value$Weight,na.rm = TRUE)
+CBN_Poor[,RealPriceIndex1:=weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/Tehran_Bundle_Value1,by=ProvinceCode]
+CBN_Poor[,RealPriceIndex2:=weighted.mean(Home_Per_Metr,Weight,na.rm = TRUE)/Tehran_Bundle_Value2,by=ProvinceCode]
+CBN_Poor[,weighted.mean(RealPriceIndex1,Weight),by=ProvinceCode]
+CBN_Poor[,weighted.mean(RealPriceIndex2,Weight),by=ProvinceCode]
+Indexes2_2<-CBN_Poor[,.(RealPriceIndex1,RealPriceIndex2,ProvinceCode,Weight,Poor11)]
+Indexes2_2<-Indexes2_2[,RealPriceIndex:=(RealPriceIndex1+RealPriceIndex2)/2]
+Indexes_finalpoor<-Indexes2_2[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+Indexes3_2<-Indexes_finalpoor[,.(ProvinceCode,RealPriceIndex1,RealPriceIndex2,RealPriceIndex)]
+Indexes<-Indexes[,.(ProvinceCode,RealPriceIndex)]
+
+###Save Tables
+CBN_Urban<-CBN
+save(CBN_Urban, file = paste0(Settings$HEISProcessedPath,"CBN_Urban","95.rda"))
+
+CBNPoor_Urban<-CBNPoor11
+save(CBNPoor_Urban, file = paste0(Settings$HEISProcessedPath,"CBNPoor_Urban","95.rda"))
+
+
+endtime <- proc.time()
+
+
+cat("\n\n============================\nIt took ")
+cat(endtime-starttime)
+
diff --git a/R/Archive/Other Codes/58-CBN-Urban97-2.R b/R/Archive/Other Codes/58-CBN-Urban97-2.R
new file mode 100644
index 00000000..21040531
--- /dev/null
+++ b/R/Archive/Other Codes/58-CBN-Urban97-2.R
@@ -0,0 +1,3036 @@
+#CBN Method-Urban.R
+#
+# Copyright © 2018:Arin Shahbazian
+# Licence: GPL-3
+#
+rm(list=ls())
+
+starttime <- proc.time()
+cat("\n\n================ Prepare Data =====================================\n")
+
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+library(readxl)
+library(stringr)
+library(data.table)
+library(sm)
+library(ggplot2)
+library(foreign)
+library(haven)
+
+load(file = "data9697.rda")
+#for(year in (Settings$startyear:Settings$endyear)){
+# cat(paste0("\n------------------------------\nYear:",year,"\n"))
+
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","HHBase.rda"))
+HHBase[,IndivNo:=NULL]
+HHBase[,Relationship:=NULL]
+HHBase[,Sex:=NULL]
+HHBase[,Age:=NULL]
+HHBase[,Literate:=NULL]
+HHBase[,Student:=NULL]
+HHBase[,EduCode:=NULL]
+HHBase[,EduYears:=NULL]
+HHBase[,EduLevel:=NULL]
+HHBase[,EduLevel0:=NULL]
+HHBase[,ActivityState:=NULL]
+HHBase[,MarritalState:=NULL]
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Ghand_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Hoboobat_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Roghan_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Berenj_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Nan_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Goosht_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Morgh_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Mahi_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Shir_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Mast_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Panir_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Tokhmemorgh_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Mive_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Sabzi_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Makarooni_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Sibzamini_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Weights.rda"))
+
+Ghand_Data<-Ghand_Data[,.(HHID,Ghandgram,GhandPrice)]
+Hoboobat_Data<-Hoboobat_Data[,.(HHID,Hoboobatgram,HoboobatPrice)]
+Roghan_Data<-Roghan_Data[,.(HHID,Roghangram,RoghanPrice)]
+Berenj_Data<-Berenj_Data[,.(HHID,Berenjgram,BerenjPrice)]
+Nan_Data<-Nan_Data[,.(HHID,Nangram,NanPrice)]
+Goosht_Data<-Goosht_Data[,.(HHID,Gooshtgram,GooshtPrice)]
+Morgh_Data<-Morgh_Data[,.(HHID,Morghgram,MorghPrice)]
+Mahi_Data<-Mahi_Data[,.(HHID,Mahigram,MahiPrice)]
+Shir_Data<-Shir_Data[,.(HHID,Shirgram,ShirPrice)]
+Mast_Data<-Mast_Data[,.(HHID,Mastgram,MastPrice)]
+Panir_Data<-Panir_Data[,.(HHID,Panirgram,PanirPrice)]
+Tokhmemorgh_Data<-Tokhmemorgh_Data[,.(HHID,Tokhmemorghgram,TokhmemorghPrice)]
+Mive_Data<-Mive_Data[,.(HHID,Mivegram,MivePrice)]
+Sabzi_Data<-Sabzi_Data[,.(HHID,Sabzigram,SabziPrice)]
+Makarooni_Data<-Makarooni_Data[,.(HHID,Makaroonigram,MakarooniPrice)]
+Sibzamini_Data<-Sibzamini_Data[,.(HHID,Sibzaminigram,SibzaminiPrice)]
+
+Food<-merge(HHBase,Ghand_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Ghandgram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Hoboobat_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Hoboobatgram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Roghan_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Roghangram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Berenj_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Berenjgram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Nan_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Nangram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Goosht_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Gooshtgram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Morgh_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Morghgram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Mahi_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Mahigram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Shir_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Shirgram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Mast_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Mastgram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Panir_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Panirgram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Tokhmemorgh_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Tokhmemorghgram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Mive_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Mivegram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Sabzi_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Sabzigram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Makarooni_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Makaroonigram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Sibzamini_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Sibzaminigram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Weights,by =c("HHID"),all.x=TRUE)
+
+
+
+#load Expenditure groups
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","HHBase.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","HHI.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Foods.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Cigars.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Cloths.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Amusements.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Communications.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Durables.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Education.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Energy.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Furnitures.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Hotels.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","House.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Medicals.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Behdashts.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Transportations.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Others.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Investments.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Resturants.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Weights.rda"))
+
+#merge Expenditure groups
+CBN<-merge(Food,HHI ,by =c("HHID"),all=TRUE)
+CBN<-merge(CBN,FoodData,by =c("HHID"),all=TRUE)
+for (col in c("FoodExpenditure")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,CigarData,by =c("HHID"),all=TRUE)
+for (col in c("Cigar_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,ClothData,by =c("HHID"),all=TRUE)
+for (col in c("Cloth_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,AmusementData,by =c("HHID"),all=TRUE)
+for (col in c("Amusement_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,CommunicationData,by =c("HHID"),all=TRUE)
+for (col in c("Communication_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,EducData,by =c("HHID"),all=TRUE)
+for (col in c("EducExpenditure")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,EnergyData,by =c("HHID"),all=TRUE)
+for (col in c("Energy_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,FurnitureData,by =c("HHID"),all=TRUE)
+for (col in c("Furniture_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,HotelData,by =c("HHID"),all=TRUE)
+for (col in c("Hotel_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,BehdashtData,by =c("HHID"),all=TRUE)
+for (col in c("Behdasht_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,TransportationData,by =c("HHID"),all=TRUE)
+for (col in c("Transportation_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,OtherData,by =c("HHID"),all=TRUE)
+for (col in c("Other_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,HouseData,by =c("HHID"),all=TRUE)
+for (col in c("ServiceExp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,InvestmentData,by =c("HHID"),all=TRUE)
+for (col in c("Investment_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,MedicalData,by =c("HHID"),all=TRUE)
+for (col in c("Medical_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,DurableData,by =c("HHID"),all=TRUE)
+for (col in c("Durable_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,ResturantData,by =c("HHID"),all=TRUE)
+for (col in c("Resturant_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-CBN[Size!=0]
+CBN<-CBN[Region=="Urban"]
+CBN<-CBN[FoodExpenditure!=0]
+
+
+
+CBN<-merge(CBN,data9697,by =c("ProvinceCode"),all.x=TRUE)
+
+CBN$FoodExpenditure<-CBN$FoodExpenditure*CBN$summer971food_index/100
+CBN$Cigar_Exp<-CBN$Cigar_Exp*CBN$summer971cigar_index/100
+CBN$Cloth_Exp<-CBN$Cloth_Exp*CBN$summer971cloth_index/100
+CBN$Amusement_Exp<-CBN$Amusement_Exp*CBN$summer971amusement_index/100
+CBN$Communication_Exp<-CBN$Communication_Exp*CBN$summer971communication_index/100
+CBN$EducExpenditure<-CBN$EducExpenditure*CBN$summer971education_index/100
+CBN$Energy_Exp<-CBN$Energy_Exp*CBN$summer971house_energy_index/100
+CBN$Furniture_Exp<-CBN$Furniture_Exp*CBN$summer971furniture_index/100
+CBN$Hotel_Exp<-CBN$Hotel_Exp*CBN$summer971hotel_index/100
+CBN$Behdasht_Exp<-CBN$Behdasht_Exp*CBN$summer971behdasht_index/100
+CBN$Transportation_Exp<-CBN$Transportation_Exp*CBN$summer971transportation_index/100
+CBN$Other_Exp<-CBN$Other_Exp*CBN$summer971other_index/100
+CBN$ServiceExp<-CBN$ServiceExp*CBN$summer971house_energy_index/100
+CBN$Investment_Exp<-CBN$Investment_Exp*CBN$summer97/100
+CBN$Medical_Exp<-CBN$Medical_Exp*CBN$summer971behdasht_index/100
+CBN$Durable_Exp<-CBN$Durable_Exp*CBN$summer97/100
+
+CBN[ ,shahrivar971furniture_index :=NULL]
+CBN[ ,shahrivar971communication_index :=NULL]
+CBN[ ,shahrivar971behdasht_index :=NULL]
+CBN[ ,shahrivar971education_index :=NULL]
+CBN[ ,shahrivar971amusement_index :=NULL]
+CBN[ ,shahrivar971transportation_index :=NULL]
+CBN[ ,shahrivar971food_index :=NULL]
+CBN[ ,shahrivar971cigar_index :=NULL]
+CBN[ ,shahrivar971hotel_index :=NULL]
+CBN[ ,shahrivar971total_index :=NULL]
+CBN[ ,shahrivar971house_energy_index :=NULL]
+CBN[ ,shahrivar971cloth_index :=NULL]
+CBN[ ,shahrivar971other_index :=NULL]
+CBN[ ,spring971furniture_index :=NULL]
+CBN[ ,spring971communication_index :=NULL]
+CBN[ ,spring971behdasht_index :=NULL]
+CBN[ ,spring971education_index :=NULL]
+CBN[ ,spring971amusement_index :=NULL]
+CBN[ ,spring971transportation_index :=NULL]
+CBN[ ,spring971food_index :=NULL]
+CBN[ ,spring971cigar_index :=NULL]
+CBN[ ,spring971hotel_index :=NULL]
+CBN[ ,spring971total_index :=NULL]
+CBN[ ,spring971house_energy_index :=NULL]
+CBN[ ,spring971cloth_index :=NULL]
+CBN[ ,spring971other_index :=NULL]
+CBN[ ,summer971furniture_index :=NULL]
+CBN[ ,summer971communication_index :=NULL]
+CBN[ ,summer971behdasht_index :=NULL]
+CBN[ ,summer971education_index :=NULL]
+CBN[ ,summer971amusement_index :=NULL]
+CBN[ ,summer971transportation_index :=NULL]
+CBN[ ,summer971food_index :=NULL]
+CBN[ ,summer971cigar_index :=NULL]
+CBN[ ,summer971hotel_index :=NULL]
+CBN[ ,summer971total_index :=NULL]
+CBN[ ,summer971house_energy_index :=NULL]
+CBN[ ,summer971cloth_index :=NULL]
+CBN[ ,summer971other_index :=NULL]
+CBN[ ,total961furniture_index :=NULL]
+CBN[ ,total961communication_index :=NULL]
+CBN[ ,total961behdasht_index :=NULL]
+CBN[ ,total961education_index :=NULL]
+CBN[ ,total961amusement_index :=NULL]
+CBN[ ,total961transportation_index :=NULL]
+CBN[ ,total961food_index :=NULL]
+CBN[ ,total961cigar_index :=NULL]
+CBN[ ,total961hotel_index :=NULL]
+CBN[ ,total961total_index :=NULL]
+CBN[ ,total961house_energy_index :=NULL]
+CBN[ ,total961cloth_index :=NULL]
+CBN[ ,total961other_index :=NULL]
+
+CBN[ ,spring97 :=NULL]
+CBN[ ,summer97 :=NULL]
+CBN[ ,total96 :=NULL]
+CBN[ ,shahrivar97 :=NULL]
+
+
+
+
+#Calculate Per_Total Expenditures Monthly
+CBN[, Total_Exp_Month := Reduce(`+`, .SD), .SDcols=c(65:77,82:83)][]
+CBN[, Total_Exp_Month_nondurable := Reduce(`+`, .SD), .SDcols=65:77][]
+
+CBN$Total_Exp_Month_Per<-CBN$Total_Exp_Month/CBN$EqSizeOECD
+CBN$Total_Exp_Month_Per_nondurable<-CBN$Total_Exp_Month_nondurable/CBN$EqSizeOECD
+
+#Calculate Per_Food Expenditures Monthly
+CBN[,EqSizeCalory :=(Size-NKids) + NKids*(1800/2100)]
+CBN$FoodExpenditure_Per<-CBN$FoodExpenditure/CBN$EqSizeCalory
+
+#Calculate Per_Food Expenditures Daily
+CBN$FoodExpenditure_Per_day<-CBN$FoodExpenditure_Per/30
+
+CBN$Ghandgram_Per_day<-CBN$Ghandgram/(30*CBN$EqSizeOECD)
+CBN$Hoboobatgram_Per_day<-CBN$Hoboobatgram/(30*CBN$EqSizeOECD)
+CBN$Berenjgram_Per_day<-CBN$Berenjgram/(30*CBN$EqSizeOECD)
+CBN$Nangram_Per_day<-CBN$Nangram/(30*CBN$EqSizeOECD)
+CBN$Roghangram_Per_day<-CBN$Roghangram/(30*CBN$EqSizeOECD)
+CBN$Gooshtgram_Per_day<-CBN$Gooshtgram/(30*CBN$EqSizeOECD)
+CBN$Morghgram_Per_day<-CBN$Morghgram/(30*CBN$EqSizeOECD)
+CBN$Mahigram_Per_day<-CBN$Mahigram/(30*CBN$EqSizeOECD)
+CBN$Shirgram_Per_day<-CBN$Shirgram/(30*CBN$EqSizeOECD)
+CBN$Mastgram_Per_day<-CBN$Mastgram/(30*CBN$EqSizeOECD)
+CBN$Panirgram_Per_day<-CBN$Panirgram/(30*CBN$EqSizeOECD)
+CBN$Tokhmemorghgram_Per_day<-CBN$Tokhmemorghgram/(30*CBN$EqSizeOECD)
+CBN$Mivegram_Per_day<-CBN$Mivegram/(30*CBN$EqSizeOECD)
+CBN$Sabzigram_Per_day<-CBN$Sabzigram/(30*CBN$EqSizeOECD)
+CBN$Makaroonigram_Per_day<-CBN$Makaroonigram/(30*CBN$EqSizeOECD)
+CBN$Sibzaminigram_Per_day<-CBN$Sibzaminigram/(30*CBN$EqSizeOECD)
+CBN[,EqSizeCalory:=NULL]
+
+load(file="PriceIndex95.rda")
+CBN<-merge(CBN,PriceIndex95,by=c("ProvinceCode"),all.x = TRUE)
+CBN[,ostan:=NULL]
+load(file="PriceIndex.rda")
+CBN<-merge(CBN,PriceIndex,by=c("ProvinceCode"),all.x = TRUE)
+
+#Sort Expenditure data
+CBN<- CBN[order(Total_Exp_Month_Per_nondurable)]
+
+#Calculate cumulative weights
+sum(CBN$Weight)
+CBN$cumweight <- cumsum(CBN$Weight)
+tx <- max(CBN$cumweight)
+
+#Calculate deciles by weights
+CBN[,Decile:=cut(cumweight,breaks = seq(0,tx,tx/10),labels = 1:10)]
+CBN[,Percentile:=cut(cumweight,breaks=seq(0,tx,tx/100),labels=1:100)]
+
+
+CBN$Ghand_W<-CBN$Ghandgram_Per_day*CBN$GhandPrice*0.001*30
+CBN$Hoboobat_W<-CBN$Hoboobatgram_Per_day*CBN$HoboobatPrice*0.001*30
+CBN$Roghan_W<-CBN$Roghangram_Per_day*CBN$RoghanPrice*0.001*30
+CBN$Berenj_W<-CBN$Berenjgram_Per_day*CBN$BerenjPrice*0.001*30
+CBN$Nan_W<-CBN$Nangram_Per_day*CBN$NanPrice*0.001*30
+CBN$Goosht_W<-CBN$Gooshtgram_Per_day*CBN$GooshtPrice*0.001*30
+CBN$Morgh_W<-CBN$Morghgram_Per_day*CBN$MorghPrice*0.001*30
+CBN$Mahi_W<-CBN$Mahigram_Per_day*CBN$MahiPrice*0.001*30
+CBN$Shir_W<-CBN$Shirgram_Per_day*CBN$ShirPrice*0.001*30
+CBN$Mast_W<-CBN$Mastgram_Per_day*CBN$MastPrice*0.001*30
+CBN$Panir_W<-CBN$Panirgram_Per_day*CBN$PanirPrice*0.001*30
+CBN$Tokhmemorgh_W<-CBN$Tokhmemorghgram_Per_day*CBN$TokhmemorghPrice*0.001*30
+CBN$Mive_W<-CBN$Mivegram_Per_day*CBN$MivePrice*0.001*30
+CBN$Sabzi_W<-CBN$Sabzigram_Per_day*CBN$SabziPrice*0.001*30
+CBN$Makarooni_W<-CBN$Makaroonigram_Per_day*CBN$MakarooniPrice*0.001*30
+CBN$Sibzamini_W<-CBN$Sibzaminigram_Per_day*CBN$SibzaminiPrice*0.001*30
+CBN$Home_W<-CBN$ServiceExp/CBN$EqSizeOECD
+CBN$Home_Per_Metr<-CBN$MetrPrice/CBN$EqSizeOECD
+
+#Seperate big cities
+CBN[,sum(Weight*Size),by=ProvinceCode][order(V1)]
+CBN[,HHIDs:=as.character(HHID)]
+CBN[,ShahrestanCode:=as.integer(str_sub(HHIDs,2,5))]
+CBN[,sum(Weight*Size),by=ShahrestanCode][order(V1)][330:387]
+CBNTehran<-CBN[ProvinceCode==23]
+CBNTehran[,sum(Weight*Size),by=ShahrestanCode]
+CBNTabriz<-CBN[ProvinceCode==3]
+CBNTabriz[,sum(Weight*Size),by=ShahrestanCode]
+CBNAhvaz<-CBN[ProvinceCode==6]
+CBNAhvaz[,sum(Weight*Size),by=ShahrestanCode]
+CBNShiraz<-CBN[ProvinceCode==7]
+CBNShiraz[,sum(Weight*Size),by=ShahrestanCode]
+CBNMashhad<-CBN[ProvinceCode==9]
+CBNMashhad[,sum(Weight*Size),by=ShahrestanCode]
+CBNEsfahan<-CBN[ProvinceCode==10]
+CBNEsfahan[,sum(Weight*Size),by=ShahrestanCode]
+CBNKaraj<-CBN[ProvinceCode==30]
+CBNKaraj[,sum(Weight*Size),by=ShahrestanCode]
+CBNKermanshah<-CBN[ProvinceCode==5]
+CBNKermanshah[,sum(Weight*Size),by=ShahrestanCode]
+
+
+CBN<-CBN[ShahrestanCode==2301,ProvinceCode:=as.numeric(ShahrestanCode)]
+CBN<-CBN[ShahrestanCode==303,ProvinceCode:=as.numeric(ShahrestanCode)]
+CBN<-CBN[ShahrestanCode==603,ProvinceCode:=as.numeric(ShahrestanCode)]
+CBN<-CBN[ShahrestanCode==707,ProvinceCode:=as.numeric(ShahrestanCode)]
+CBN<-CBN[ShahrestanCode==916,ProvinceCode:=as.numeric(ShahrestanCode)]
+CBN<-CBN[ShahrestanCode==1002,ProvinceCode:=as.numeric(ShahrestanCode)]
+CBN<-CBN[ShahrestanCode==3001,ProvinceCode:=as.numeric(ShahrestanCode)]
+CBN<-CBN[ShahrestanCode==2301,ProvinceCode:=as.numeric(ShahrestanCode)]
+CBN<-CBN[ShahrestanCode==502,ProvinceCode:=as.numeric(ShahrestanCode)]
+
+# Food Calories
+CBN$Ghand_Calory<- CBN$Ghandgram *4
+CBN$Hoboobat_Calory<- CBN$Hoboobatgram *3
+CBN$Nan_Calory<- CBN$Nangram *2.5
+CBN$Berenj_Calory<- CBN$Berenjgram *1.2
+CBN$Roghan_Calory<- CBN$Roghangram *8
+CBN$Goosht_Calory<- CBN$Gooshtgram *2.5
+CBN$Morgh_Calory<- CBN$Morghgram *2
+CBN$Mahi_Calory<- CBN$Mahigram *1
+CBN$Shir_Calory<- CBN$Shirgram *2.5
+CBN$Mast_Calory<- CBN$Mastgram *1.5
+CBN$Panir_Calory<- CBN$Mastgram *2.5
+CBN$Tokhmemorgh_Calory<- CBN$Tokhmemorghgram *1.4
+CBN$Mive_Calory<- CBN$Mivegram *0.5
+CBN$Sabzi_Calory<- CBN$Sabzigram *0.5
+CBN$Makarooni_Calory<- CBN$Makaroonigram *3.6
+CBN$Sibzamini_Calory<- CBN$Sibzaminigram *0.9
+#utils::View(CBN)
+
+#CalculatePer_calories
+CBN[, Daily_Exp_Calories := Reduce(`+`, .SD), .SDcols=148:163][]
+CBN[,EqSizeCalory :=(Size-NKids) + NKids*(1800/2100)]
+CBN[,Per_Daily_Exp_Calories:=Daily_Exp_Calories/EqSizeCalory]
+CBN <- CBN[Per_Daily_Exp_Calories<100000] # arbitrary removal of outliers
+#CBN[,Daily_Calories_cluster:=weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+#CBN[,weighted.mean(Daily_Calories_cluster,Weight,na.rm = TRUE),by=cluster]
+#CBN[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+#CBN[,weighted.mean(Size,Weight,na.rm = TRUE),by=cluster]
+#CBN[,sum(Weight*Size),by=cluster]
+#CBN[,sum(Weight),by=cluster]
+#CBN[,sum(Poor),by=cluster]
+
+
+#Calculate_Per_calories
+CBN$Ghand_per_Calory<- CBN$Ghandgram *4/CBN$EqSizeCalory
+CBN$Hoboobat_per_Calory<- CBN$Hoboobatgram *3/CBN$EqSizeCalory
+CBN$Nan_per_Calory<- CBN$Nangram *2.5/CBN$EqSizeCalory
+CBN$Berenj_per_Calory<- CBN$Berenjgram *1.2/CBN$EqSizeCalory
+CBN$Roghan_per_Calory<- CBN$Roghangram *8/CBN$EqSizeCalory
+CBN$Goosht_per_Calory<- CBN$Gooshtgram *2.5/CBN$EqSizeCalory
+CBN$Morgh_per_Calory<- CBN$Morghgram *2/CBN$EqSizeCalory
+CBN$Mahi_per_Calory<- CBN$Mahigram *1/CBN$EqSizeCalory
+CBN$Shir_per_Calory<- CBN$Shirgram *2.5/CBN$EqSizeCalory
+CBN$Mast_per_Calory<- CBN$Mastgram *1.5/CBN$EqSizeCalory
+CBN$Panir_per_Calory<- CBN$Mastgram *2.5/CBN$EqSizeCalory
+CBN$Tokhmemorgh_per_Calory<- CBN$Tokhmemorghgram *1.4/CBN$EqSizeCalory
+CBN$Mive_per_Calory<- CBN$Mivegram *0.5/CBN$EqSizeCalory
+CBN$Sabzi_per_Calory<- CBN$Sabzigram *0.5/CBN$EqSizeCalory
+CBN$Makarooni_per_Calory<- CBN$Makaroonigram *3.6/CBN$EqSizeCalory
+CBN$Sibzamini_per_Calory<- CBN$Sibzaminigram *0.9/CBN$EqSizeCalory
+
+
+#Assume that deciles 1 and 2 are poor
+CBN[,Poor:=ifelse(Decile %in% 1:2,1,0)]
+CBNPoor<-CBN[Poor==1]
+
+#K-means weights
+PriceWeights<-CBN[,.(HHID,Ghand_W,Hoboobat_W,Roghan_W,Berenj_W,Nan_W,Goosht_W,Morgh_W,Mahi_W,Shir_W,Mast_W,Panir_W,Tokhmemorgh_W,Mive_W,Sabzi_W,Makarooni_W,Sibzamini_W,Home_W,ProvinceCode,Weight)]
+dt3 <- PriceWeights[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+dt3<- dt3[order(ProvinceCode)]
+dt3 <- dt3[,.(Ghand_W,Hoboobat_W,Roghan_W,Berenj_W,Nan_W,Goosht_W,Morgh_W,Mahi_W,Shir_W,Mast_W,Panir_W,Tokhmemorgh_W,Mive_W,Sabzi_W,Makarooni_W,Sibzamini_W,Home_W)]
+
+
+#K-means algorithm for clustering by prices
+test<-CBNPoor[,.(GhandPrice,HoboobatPrice,RoghanPrice,BerenjPrice,NanPrice,GooshtPrice,MorghPrice,MahiPrice,ShirPrice,MastPrice,PanirPrice,TokhmemorghPrice,MivePrice,SabziPrice,MakarooniPrice,SibzaminiPrice,MetrPrice,ProvinceCode,Weight)]
+#test<-CBNPoor[,.(GhandPrice,HoboobatPrice,RoghanPrice,BerenjPrice,NanPrice,GooshtPrice,MorghPrice,MahiPrice,ShirPrice,MastPrice,PanirPrice,TokhmemorghPrice,MivePrice,SabziPrice,MakarooniPrice,SibzaminiPrice,MetrPrice,Ghand_W,Hoboobat_W,Roghan_W,Berenj_W,Nan_W,Goosht_W,Morgh_W,Mahi_W,Shir_W,Mast_W,Panir_W,Tokhmemorgh_W,Mive_W,Sabzi_W,Makarooni_W,Sibzamini_W,Home_W,Region,ProvinceCode,Weight)]
+dt2 <- test[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+dt2<- dt2[order(ProvinceCode)]
+for (col in c("MahiPrice")) dt2[is.nan(get(col)), (col) := 200000]
+dt <- dt2 [,.(GhandPrice,HoboobatPrice,RoghanPrice,BerenjPrice,NanPrice,GooshtPrice,MorghPrice,MahiPrice,ShirPrice,MastPrice,PanirPrice,TokhmemorghPrice,MivePrice,SabziPrice,MakarooniPrice,SibzaminiPrice,MetrPrice)]
+
+
+pca <- princomp(dt, cor=T)
+PRICE <- pca$scores
+PRICE1 <- -1*PRICE[,1]
+PRICE2 <- -1*PRICE[,2]
+PRICE3 <- -1*PRICE[,3]
+PRICE4 <- -1*PRICE[,4]
+PRICE5 <- -1*PRICE[,5]
+PRICE6 <- -1*PRICE[,6]
+PRICE7 <- -1*PRICE[,7]
+PRICE8 <- -1*PRICE[,8]
+PRICE9 <- -1*PRICE[,9]
+PRICE10 <- -1*PRICE[,10]
+PRICE11 <- -1*PRICE[,11]
+PRICE12 <- -1*PRICE[,12]
+PRICE13 <- -1*PRICE[,13]
+PRICE14 <- -1*PRICE[,14]
+PRICE15 <- -1*PRICE[,15]
+PRICE16 <- -1*PRICE[,16]
+PRICE17 <- -1*PRICE[,17]
+
+# Deciding how many clusters
+wss <- (nrow(dt)-1)*sum(apply(dt,2,var))
+for (i in 2:30) wss[i] <- sum(kmeans(dt, centers=i)$withinss)
+plot(1:30, wss, type="b", xlab="Number of Clusters",
+ ylab="Within groups sum of squares")
+
+#Weighted clustering
+
+dt3.m <- dt3[,lapply(.SD, mean)] # Weights for each vector
+dtW <- dt * sqrt(dt3.m[rep(1,nrow(dt))]) # Weighted observations
+kmeans(dtW,4) # Simple K-means
+
+cl <- kmeans(dtW,4)
+cl$cluster
+dt2 <- dt2[,cluster:=data.table(cl$cluster)]
+dt2<-dt2[,.(ProvinceCode,cluster)]
+load(file="dt4Urban.rda")
+#plot(PRICE1, PRICE2,col=cl$cluster)
+#points(cl$centers, pch=20)
+CBNPoor<-merge(CBNPoor,dt2,by=c("ProvinceCode"),all.x = TRUE)
+CBNPoor[,sum(Weight*Size),by=cluster]
+CBNPoor[,sum(Weight),by=cluster]
+CBNPoor[,sum(Poor),by=cluster]
+C2<-CBNPoor[,.(HHID,ProvinceCode,Region,Decile,Poor,cluster)]
+######################################################################
+####Iteration 1#####
+###Iteration1-1
+#Calculate Per_calories in clusters
+CBNPoor[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(185:200)][]
+#utils::View(CBNPoor)
+
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(202:217)][]
+
+CBNPoor[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor<-CBNPoor[Per_Daily_Exp_Calories!=0]
+CBNPoor[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+#CBN[,weighted.mean(Poor,Weight),by=cluster][order(cluster)]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE)]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE)]
+
+#Real Prices
+T_Bundle_Value<-subset(CBNPoor, ProvinceCode==2301, select=c(Bundle_Value,Home_Per_Metr,Weight))
+Tehran_Bundle_Value1<-weighted.mean(T_Bundle_Value$Bundle_Value,T_Bundle_Value$Weight,na.rm = TRUE)
+Tehran_Bundle_Value2<-weighted.mean(T_Bundle_Value$Home_Per_Metr,T_Bundle_Value$Weight,na.rm = TRUE)
+CBNPoor[,RealPriceIndex1:=weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/Tehran_Bundle_Value1,by=ProvinceCode]
+CBNPoor[,RealPriceIndex2:=weighted.mean(Home_Per_Metr,Weight,na.rm = TRUE)/Tehran_Bundle_Value2,by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex1,Weight),by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex2,Weight),by=ProvinceCode]
+Indexes2<-CBNPoor[,.(RealPriceIndex1,RealPriceIndex2,ProvinceCode,Weight)]
+Indexes2<-Indexes2[,RealPriceIndex:=(RealPriceIndex1+RealPriceIndex2)/2]
+Indexes<-Indexes2[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+Indexes31<-Indexes[,.(ProvinceCode,RealPriceIndex1,RealPriceIndex2,RealPriceIndex)]
+Indexes<-Indexes[,.(ProvinceCode,RealPriceIndex)]
+CBN<-merge(CBN,Indexes,by=c("ProvinceCode"),all.x = TRUE)
+CBN<-CBN[,Total_Food_Month_Per2:=FoodExpenditure_Per*RealPriceIndex]
+CBN<-CBN[,Total_Exp_Month_Per2:=Total_Exp_Month_Per_nondurable*RealPriceIndex]
+#utils::View(CBN)
+
+#Sort Expenditure data
+CBN<- CBN[order(Total_Exp_Month_Per2)]
+
+#Calculate cumulative weights
+sum(CBN$Weight)
+CBN$cumweight <- cumsum(CBN$Weight)
+tx <- max(CBN$cumweight)
+
+#Calculate deciles by weights
+CBN[,Decile:=cut(cumweight,breaks = seq(0,tx,tx/10),labels = 1:10)]
+CBN[,Percentile:=cut(cumweight,breaks=seq(0,tx,tx/100),labels=1:100)]
+
+#Update Poors
+CBN[,Poor:=ifelse(Decile %in% 1:2,1,0)]
+CBNPoor<-CBN[Poor==1]
+CBNPoor<-merge(CBNPoor,dt2,by=c("ProvinceCode"),all.x = TRUE)
+CBNPoor[,sum(Size*Weight),by=.(cluster)][order(cluster)]
+
+###Iteration1-2
+#Calculate Per_calories in clusters
+CBNPoor[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(185:200)][]
+#utils::View(CBNPoor)
+
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(202:217)][]
+
+CBNPoor[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor<-CBNPoor[Per_Daily_Exp_Calories!=0]
+CBNPoor[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+#CBN[,weighted.mean(Poor,Weight),by=cluster][order(cluster)]
+
+#Real Prices
+T_Bundle_Value<-subset(CBNPoor, ProvinceCode==2301, select=c(Bundle_Value,Home_Per_Metr,Weight))
+Tehran_Bundle_Value1<-weighted.mean(T_Bundle_Value$Bundle_Value,T_Bundle_Value$Weight,na.rm = TRUE)
+Tehran_Bundle_Value2<-weighted.mean(T_Bundle_Value$Home_Per_Metr,T_Bundle_Value$Weight,na.rm = TRUE)
+CBNPoor[,RealPriceIndex1:=weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/Tehran_Bundle_Value1,by=ProvinceCode]
+CBNPoor[,RealPriceIndex2:=weighted.mean(Home_Per_Metr,Weight,na.rm = TRUE)/Tehran_Bundle_Value2,by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex1,Weight),by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex2,Weight),by=ProvinceCode]
+Indexes2<-CBNPoor[,.(RealPriceIndex1,RealPriceIndex2,ProvinceCode,Weight)]
+Indexes2<-Indexes2[,RealPriceIndex:=(RealPriceIndex1+RealPriceIndex2)/2]
+Indexes<-Indexes2[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+Indexes32<-Indexes[,.(ProvinceCode,RealPriceIndex1,RealPriceIndex2,RealPriceIndex)]
+Indexes<-Indexes[,.(ProvinceCode,RealPriceIndex)]
+CBN[,RealPriceIndex:=NULL]
+CBN<-merge(CBN,Indexes,by=c("ProvinceCode"),all.x = TRUE)
+CBN<-CBN[,Total_Food_Month_Per2:=FoodExpenditure_Per*RealPriceIndex]
+CBN<-CBN[,Total_Exp_Month_Per2:=Total_Exp_Month_Per_nondurable*RealPriceIndex]
+#utils::View(CBN)
+
+#Sort Expenditure data
+CBN<- CBN[order(Total_Exp_Month_Per2)]
+
+#Calculate cumulative weights
+sum(CBN$Weight)
+CBN$cumweight <- cumsum(CBN$Weight)
+tx <- max(CBN$cumweight)
+
+#Calculate deciles by weights
+CBN[,Decile:=cut(cumweight,breaks = seq(0,tx,tx/10),labels = 1:10)]
+CBN[,Percentile:=cut(cumweight,breaks=seq(0,tx,tx/100),labels=1:100)]
+
+#Update Poors
+CBN[,Poor:=ifelse(Decile %in% 2:5,1,0)]
+CBNPoor<-CBN[Poor==1]
+CBNPoor<-merge(CBNPoor,dt2,by=c("ProvinceCode"),all.x = TRUE)
+CBNPoor[,sum(HIndivNo),by=.(ProvinceCode)][order(ProvinceCode)]
+
+###Iteration1-3
+#Calculate Per_calories in clusters
+CBNPoor[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(185:200)][]
+#utils::View(CBNPoor)
+
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(202:217)][]
+
+CBNPoor[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor<-CBNPoor[Per_Daily_Exp_Calories!=0]
+CBNPoor[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+#CBN[,weighted.mean(Poor,Weight),by=cluster][order(cluster)]
+
+#Real Prices
+T_Bundle_Value<-subset(CBNPoor, ProvinceCode==2301, select=c(Bundle_Value,Home_Per_Metr,Weight))
+Tehran_Bundle_Value1<-weighted.mean(T_Bundle_Value$Bundle_Value,T_Bundle_Value$Weight,na.rm = TRUE)
+Tehran_Bundle_Value2<-weighted.mean(T_Bundle_Value$Home_Per_Metr,T_Bundle_Value$Weight,na.rm = TRUE)
+CBNPoor[,RealPriceIndex1:=weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/Tehran_Bundle_Value1,by=ProvinceCode]
+CBNPoor[,RealPriceIndex2:=weighted.mean(Home_Per_Metr,Weight,na.rm = TRUE)/Tehran_Bundle_Value2,by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex1,Weight),by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex2,Weight),by=ProvinceCode]
+Indexes2<-CBNPoor[,.(RealPriceIndex1,RealPriceIndex2,ProvinceCode,Weight)]
+Indexes2<-Indexes2[,RealPriceIndex:=(RealPriceIndex1+RealPriceIndex2)/2]
+Indexes<-Indexes2[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+Indexes33<-Indexes[,.(ProvinceCode,RealPriceIndex1,RealPriceIndex2,RealPriceIndex)]
+Indexes<-Indexes[,.(ProvinceCode,RealPriceIndex)]
+CBN[,RealPriceIndex:=NULL]
+CBN<-merge(CBN,Indexes,by=c("ProvinceCode"),all.x = TRUE)
+CBN<-CBN[,Total_Food_Month_Per2:=FoodExpenditure_Per*RealPriceIndex]
+CBN<-CBN[,Total_Exp_Month_Per2:=Total_Exp_Month_Per_nondurable*RealPriceIndex]
+#utils::View(CBN)
+
+#Sort Expenditure data
+CBN<- CBN[order(Total_Exp_Month_Per2)]
+
+#Calculate cumulative weights
+sum(CBN$Weight)
+CBN$cumweight <- cumsum(CBN$Weight)
+tx <- max(CBN$cumweight)
+
+#Calculate deciles by weights
+CBN[,Decile:=cut(cumweight,breaks = seq(0,tx,tx/10),labels = 1:10)]
+CBN[,Percentile:=cut(cumweight,breaks=seq(0,tx,tx/100),labels=1:100)]
+
+#Update Poors
+CBN[,Poor:=ifelse(Decile %in% 2:5,1,0)]
+CBNPoor<-CBN[Poor==1]
+CBNPoor<-merge(CBNPoor,dt2,by=c("ProvinceCode"),all.x = TRUE)
+CBNPoor[,sum(HIndivNo),by=.(ProvinceCode)][order(ProvinceCode)]
+
+
+###Iteration1-4
+#Calculate Per_calories in clusters
+CBNPoor[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(185:200)][]
+#utils::View(CBNPoor)
+
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(202:217)][]
+
+CBNPoor[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor<-CBNPoor[Per_Daily_Exp_Calories!=0]
+CBNPoor[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+#CBN[,weighted.mean(Poor,Weight),by=cluster][order(cluster)]
+
+#Real Prices
+T_Bundle_Value<-subset(CBNPoor, ProvinceCode==2301, select=c(Bundle_Value,Home_Per_Metr,Weight))
+Tehran_Bundle_Value1<-weighted.mean(T_Bundle_Value$Bundle_Value,T_Bundle_Value$Weight,na.rm = TRUE)
+Tehran_Bundle_Value2<-weighted.mean(T_Bundle_Value$Home_Per_Metr,T_Bundle_Value$Weight,na.rm = TRUE)
+CBNPoor[,RealPriceIndex1:=weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/Tehran_Bundle_Value1,by=ProvinceCode]
+CBNPoor[,RealPriceIndex2:=weighted.mean(Home_Per_Metr,Weight,na.rm = TRUE)/Tehran_Bundle_Value2,by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex1,Weight),by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex2,Weight),by=ProvinceCode]
+Indexes2<-CBNPoor[,.(RealPriceIndex1,RealPriceIndex2,ProvinceCode,Weight)]
+Indexes2<-Indexes2[,RealPriceIndex:=(RealPriceIndex1+RealPriceIndex2)/2]
+Indexes<-Indexes2[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+Indexes34<-Indexes[,.(ProvinceCode,RealPriceIndex1,RealPriceIndex2,RealPriceIndex)]
+Indexes<-Indexes[,.(ProvinceCode,RealPriceIndex)]
+CBN[,RealPriceIndex:=NULL]
+CBN<-merge(CBN,Indexes,by=c("ProvinceCode"),all.x = TRUE)
+CBN<-CBN[,Total_Food_Month_Per2:=FoodExpenditure_Per*RealPriceIndex]
+CBN<-CBN[,Total_Exp_Month_Per2:=Total_Exp_Month_Per_nondurable*RealPriceIndex]
+#utils::View(CBN)
+
+
+#Sort Expenditure data
+CBN<- CBN[order(Total_Exp_Month_Per2)]
+
+#Calculate cumulative weights
+sum(CBN$Weight)
+CBN$cumweight <- cumsum(CBN$Weight)
+tx <- max(CBN$cumweight)
+
+#Calculate deciles by weights
+CBN[,Decile:=cut(cumweight,breaks = seq(0,tx,tx/10),labels = 1:10)]
+CBN[,Percentile:=cut(cumweight,breaks=seq(0,tx,tx/100),labels=1:100)]
+
+#Update Poors
+CBN[,Poor:=ifelse(Decile %in% 2:5,1,0)]
+CBNPoor<-CBN[Poor==1]
+CBNPoor<-merge(CBNPoor,dt2,by=c("ProvinceCode"),all.x = TRUE)
+CBNPoor[,sum(HIndivNo),by=.(ProvinceCode)][order(ProvinceCode)]
+
+###Iteration1-5
+#Calculate Per_calories in clusters
+CBNPoor[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(185:200)][]
+#utils::View(CBNPoor)
+
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(202:217)][]
+
+CBNPoor[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor<-CBNPoor[Per_Daily_Exp_Calories!=0]
+CBNPoor[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+#CBN[,weighted.mean(Poor,Weight),by=cluster][order(cluster)]
+
+#Real Prices
+T_Bundle_Value<-subset(CBNPoor, ProvinceCode==2301, select=c(Bundle_Value,Home_Per_Metr,Weight))
+Tehran_Bundle_Value1<-weighted.mean(T_Bundle_Value$Bundle_Value,T_Bundle_Value$Weight,na.rm = TRUE)
+Tehran_Bundle_Value2<-weighted.mean(T_Bundle_Value$Home_Per_Metr,T_Bundle_Value$Weight,na.rm = TRUE)
+CBNPoor[,RealPriceIndex1:=weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/Tehran_Bundle_Value1,by=ProvinceCode]
+CBNPoor[,RealPriceIndex2:=weighted.mean(Home_Per_Metr,Weight,na.rm = TRUE)/Tehran_Bundle_Value2,by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex1,Weight),by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex2,Weight),by=ProvinceCode]
+Indexes2<-CBNPoor[,.(RealPriceIndex1,RealPriceIndex2,ProvinceCode,Weight)]
+Indexes2<-Indexes2[,RealPriceIndex:=(RealPriceIndex1+RealPriceIndex2)/2]
+Indexes<-Indexes2[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+Indexes35<-Indexes[,.(ProvinceCode,RealPriceIndex1,RealPriceIndex2,RealPriceIndex)]
+Indexes<-Indexes[,.(ProvinceCode,RealPriceIndex)]
+CBN[,RealPriceIndex:=NULL]
+CBN<-merge(CBN,Indexes,by=c("ProvinceCode"),all.x = TRUE)
+CBN<-CBN[,Total_Food_Month_Per2:=FoodExpenditure_Per*RealPriceIndex]
+CBN<-CBN[,Total_Exp_Month_Per2:=Total_Exp_Month_Per_nondurable*RealPriceIndex]
+#utils::View(CBN)
+
+
+#Sort Expenditure data
+CBN<- CBN[order(Total_Exp_Month_Per2)]
+
+#Calculate cumulative weights
+sum(CBN$Weight)
+CBN$cumweight <- cumsum(CBN$Weight)
+tx <- max(CBN$cumweight)
+
+#Calculate deciles by weights
+CBN[,Decile:=cut(cumweight,breaks = seq(0,tx,tx/10),labels = 1:10)]
+CBN[,Percentile:=cut(cumweight,breaks=seq(0,tx,tx/100),labels=1:100)]
+
+#Update Poors
+CBN[,Poor:=ifelse(Decile %in% 2:5,1,0)]
+CBNPoor<-CBN[Poor==1]
+CBNPoor<-merge(CBNPoor,dt2,by=c("ProvinceCode"),all.x = TRUE)
+CBNPoor[,sum(HIndivNo),by=.(ProvinceCode)][order(ProvinceCode)]
+
+###Iteration1-6
+#Calculate Per_calories in clusters
+CBNPoor[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(185:200)][]
+#utils::View(CBNPoor)
+
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(202:217)][]
+
+CBNPoor[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor<-CBNPoor[Per_Daily_Exp_Calories!=0]
+CBNPoor[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+#CBN[,weighted.mean(Poor,Weight),by=cluster][order(cluster)]
+
+#Real Prices
+T_Bundle_Value<-subset(CBNPoor, ProvinceCode==2301, select=c(Bundle_Value,Home_Per_Metr,Weight))
+Tehran_Bundle_Value1<-weighted.mean(T_Bundle_Value$Bundle_Value,T_Bundle_Value$Weight,na.rm = TRUE)
+Tehran_Bundle_Value2<-weighted.mean(T_Bundle_Value$Home_Per_Metr,T_Bundle_Value$Weight,na.rm = TRUE)
+CBNPoor[,RealPriceIndex1:=weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/Tehran_Bundle_Value1,by=ProvinceCode]
+CBNPoor[,RealPriceIndex2:=weighted.mean(Home_Per_Metr,Weight,na.rm = TRUE)/Tehran_Bundle_Value2,by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex1,Weight),by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex2,Weight),by=ProvinceCode]
+Indexes2<-CBNPoor[,.(RealPriceIndex1,RealPriceIndex2,ProvinceCode,Weight)]
+Indexes2<-Indexes2[,RealPriceIndex:=(RealPriceIndex1+RealPriceIndex2)/2]
+Indexes<-Indexes2[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+Indexes36<-Indexes[,.(ProvinceCode,RealPriceIndex1,RealPriceIndex2,RealPriceIndex)]
+Indexes<-Indexes[,.(ProvinceCode,RealPriceIndex)]
+CBN[,RealPriceIndex:=NULL]
+CBN<-merge(CBN,Indexes,by=c("ProvinceCode"),all.x = TRUE)
+CBN<-CBN[,Total_Food_Month_Per2:=FoodExpenditure_Per*RealPriceIndex]
+CBN<-CBN[,Total_Exp_Month_Per2:=Total_Exp_Month_Per_nondurable*RealPriceIndex]
+#utils::View(CBN)
+
+
+#Sort Expenditure data
+CBN<- CBN[order(Total_Exp_Month_Per2)]
+
+#Calculate cumulative weights
+sum(CBN$Weight)
+CBN$cumweight <- cumsum(CBN$Weight)
+tx <- max(CBN$cumweight)
+
+#Calculate deciles by weights
+CBN[,Decile:=cut(cumweight,breaks = seq(0,tx,tx/10),labels = 1:10)]
+CBN[,Percentile:=cut(cumweight,breaks=seq(0,tx,tx/100),labels=1:100)]
+
+#Update Poors
+CBN[,Poor:=ifelse(Decile %in% 2:5,1,0)]
+CBNPoor<-CBN[Poor==1]
+CBNPoor<-merge(CBNPoor,dt2,by=c("ProvinceCode"),all.x = TRUE)
+CBNPoor[,sum(HIndivNo),by=.(ProvinceCode)][order(ProvinceCode)]
+
+###Iteration1-7
+#Calculate Per_calories in clusters
+CBNPoor[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(185:200)][]
+#utils::View(CBNPoor)
+
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(202:217)][]
+
+CBNPoor[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor<-CBNPoor[Per_Daily_Exp_Calories!=0]
+CBNPoor[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+#CBN[,weighted.mean(Poor,Weight),by=cluster][order(cluster)]
+
+#Real Prices
+T_Bundle_Value<-subset(CBNPoor, ProvinceCode==2301, select=c(Bundle_Value,Home_Per_Metr,Weight))
+Tehran_Bundle_Value1<-weighted.mean(T_Bundle_Value$Bundle_Value,T_Bundle_Value$Weight,na.rm = TRUE)
+Tehran_Bundle_Value2<-weighted.mean(T_Bundle_Value$Home_Per_Metr,T_Bundle_Value$Weight,na.rm = TRUE)
+CBNPoor[,RealPriceIndex1:=weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/Tehran_Bundle_Value1,by=ProvinceCode]
+CBNPoor[,RealPriceIndex2:=weighted.mean(Home_Per_Metr,Weight,na.rm = TRUE)/Tehran_Bundle_Value2,by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex1,Weight),by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex2,Weight),by=ProvinceCode]
+Indexes2<-CBNPoor[,.(RealPriceIndex1,RealPriceIndex2,ProvinceCode,Weight)]
+Indexes2<-Indexes2[,RealPriceIndex:=(RealPriceIndex1+RealPriceIndex2)/2]
+Indexes<-Indexes2[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+Indexes37<-Indexes[,.(ProvinceCode,RealPriceIndex1,RealPriceIndex2,RealPriceIndex)]
+Indexes<-Indexes[,.(ProvinceCode,RealPriceIndex)]
+CBN[,RealPriceIndex:=NULL]
+CBN<-merge(CBN,Indexes,by=c("ProvinceCode"),all.x = TRUE)
+CBN<-CBN[,Total_Food_Month_Per2:=FoodExpenditure_Per*RealPriceIndex]
+CBN<-CBN[,Total_Exp_Month_Per2:=Total_Exp_Month_Per_nondurable*RealPriceIndex]
+#utils::View(CBN)
+
+
+#Sort Expenditure data
+CBN<- CBN[order(Total_Exp_Month_Per2)]
+
+#Calculate cumulative weights
+sum(CBN$Weight)
+CBN$cumweight <- cumsum(CBN$Weight)
+tx <- max(CBN$cumweight)
+
+#Calculate deciles by weights
+CBN[,Decile:=cut(cumweight,breaks = seq(0,tx,tx/10),labels = 1:10)]
+CBN[,Percentile:=cut(cumweight,breaks=seq(0,tx,tx/100),labels=1:100)]
+
+#Update Poors
+CBN[,Poor:=ifelse(Decile %in% 2:5,1,0)]
+CBNPoor<-CBN[Poor==1]
+CBNPoor<-merge(CBNPoor,dt2,by=c("ProvinceCode"),all.x = TRUE)
+CBNPoor[,sum(HIndivNo),by=.(ProvinceCode)][order(ProvinceCode)]
+
+###Iteration1-8
+#Calculate Per_calories in clusters
+CBNPoor[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(185:200)][]
+#utils::View(CBNPoor)
+
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(202:217)][]
+
+CBNPoor[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor<-CBNPoor[Per_Daily_Exp_Calories!=0]
+CBNPoor[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+#CBN[,weighted.mean(Poor,Weight),by=cluster][order(cluster)]
+
+#Real Prices
+T_Bundle_Value<-subset(CBNPoor, ProvinceCode==2301, select=c(Bundle_Value,Home_Per_Metr,Weight))
+Tehran_Bundle_Value1<-weighted.mean(T_Bundle_Value$Bundle_Value,T_Bundle_Value$Weight,na.rm = TRUE)
+Tehran_Bundle_Value2<-weighted.mean(T_Bundle_Value$Home_Per_Metr,T_Bundle_Value$Weight,na.rm = TRUE)
+CBNPoor[,RealPriceIndex1:=weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/Tehran_Bundle_Value1,by=ProvinceCode]
+CBNPoor[,RealPriceIndex2:=weighted.mean(Home_Per_Metr,Weight,na.rm = TRUE)/Tehran_Bundle_Value2,by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex1,Weight),by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex2,Weight),by=ProvinceCode]
+Indexes2<-CBNPoor[,.(RealPriceIndex1,RealPriceIndex2,ProvinceCode,Weight)]
+Indexes2<-Indexes2[,RealPriceIndex:=(RealPriceIndex1+RealPriceIndex2)/2]
+Indexes<-Indexes2[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+Indexes38<-Indexes[,.(ProvinceCode,RealPriceIndex1,RealPriceIndex2,RealPriceIndex)]
+Indexes<-Indexes[,.(ProvinceCode,RealPriceIndex)]
+CBN[,RealPriceIndex:=NULL]
+CBN<-merge(CBN,Indexes,by=c("ProvinceCode"),all.x = TRUE)
+CBN<-CBN[,Total_Food_Month_Per2:=FoodExpenditure_Per*RealPriceIndex]
+CBN<-CBN[,Total_Exp_Month_Per2:=Total_Exp_Month_Per_nondurable*RealPriceIndex]
+#utils::View(CBN)
+
+
+#Sort Expenditure data
+CBN<- CBN[order(Total_Exp_Month_Per2)]
+
+#Calculate cumulative weights
+sum(CBN$Weight)
+CBN$cumweight <- cumsum(CBN$Weight)
+tx <- max(CBN$cumweight)
+
+#Calculate deciles by weights
+CBN[,Decile:=cut(cumweight,breaks = seq(0,tx,tx/10),labels = 1:10)]
+CBN[,Percentile:=cut(cumweight,breaks=seq(0,tx,tx/100),labels=1:100)]
+
+#Update Poors
+CBN[,Poor:=ifelse(Decile %in% 2:5,1,0)]
+CBNPoor<-CBN[Poor==1]
+CBNPoor<-merge(CBNPoor,dt2,by=c("ProvinceCode"),all.x = TRUE)
+CBNPoor[,sum(HIndivNo),by=.(ProvinceCode)][order(ProvinceCode)]
+
+###Iteration1-9
+#Calculate Per_calories in clusters
+CBNPoor[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(185:200)][]
+#utils::View(CBNPoor)
+
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(202:217)][]
+
+CBNPoor[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor<-CBNPoor[Per_Daily_Exp_Calories!=0]
+CBNPoor[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+#CBN[,weighted.mean(Poor,Weight),by=cluster][order(cluster)]
+
+#Real Prices
+T_Bundle_Value<-subset(CBNPoor, ProvinceCode==2301, select=c(Bundle_Value,Home_Per_Metr,Weight))
+Tehran_Bundle_Value1<-weighted.mean(T_Bundle_Value$Bundle_Value,T_Bundle_Value$Weight,na.rm = TRUE)
+Tehran_Bundle_Value2<-weighted.mean(T_Bundle_Value$Home_Per_Metr,T_Bundle_Value$Weight,na.rm = TRUE)
+CBNPoor[,RealPriceIndex1:=weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/Tehran_Bundle_Value1,by=ProvinceCode]
+CBNPoor[,RealPriceIndex2:=weighted.mean(Home_Per_Metr,Weight,na.rm = TRUE)/Tehran_Bundle_Value2,by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex1,Weight),by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex2,Weight),by=ProvinceCode]
+Indexes2<-CBNPoor[,.(RealPriceIndex1,RealPriceIndex2,ProvinceCode,Weight)]
+Indexes2<-Indexes2[,RealPriceIndex:=(RealPriceIndex1+RealPriceIndex2)/2]
+Indexes<-Indexes2[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+Indexes39<-Indexes[,.(ProvinceCode,RealPriceIndex1,RealPriceIndex2,RealPriceIndex)]
+Indexes<-Indexes[,.(ProvinceCode,RealPriceIndex)]
+CBN[,RealPriceIndex:=NULL]
+CBN<-merge(CBN,Indexes,by=c("ProvinceCode"),all.x = TRUE)
+CBN<-CBN[,Total_Food_Month_Per2:=FoodExpenditure_Per*RealPriceIndex]
+CBN<-CBN[,Total_Exp_Month_Per2:=Total_Exp_Month_Per_nondurable*RealPriceIndex]
+#utils::View(CBN)
+
+
+#Sort Expenditure data
+CBN<- CBN[order(Total_Exp_Month_Per2)]
+
+#Calculate cumulative weights
+sum(CBN$Weight)
+CBN$cumweight <- cumsum(CBN$Weight)
+tx <- max(CBN$cumweight)
+
+#Calculate deciles by weights
+CBN[,Decile:=cut(cumweight,breaks = seq(0,tx,tx/10),labels = 1:10)]
+CBN[,Percentile:=cut(cumweight,breaks=seq(0,tx,tx/100),labels=1:100)]
+
+#Update Poors
+CBN[,Poor:=ifelse(Decile %in% 2:5,1,0)]
+CBNPoor<-CBN[Poor==1]
+CBNPoor<-merge(CBNPoor,dt2,by=c("ProvinceCode"),all.x = TRUE)
+CBNPoor[,sum(HIndivNo),by=.(ProvinceCode)][order(ProvinceCode)]
+
+###Iteration1-10
+#Calculate Per_calories in clusters
+CBNPoor[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(185:200)][]
+#utils::View(CBNPoor)
+
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(202:217)][]
+
+CBNPoor[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor<-CBNPoor[Per_Daily_Exp_Calories!=0]
+CBNPoor[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+#CBN[,weighted.mean(Poor,Weight),by=cluster][order(cluster)]
+
+#Real Prices
+T_Bundle_Value<-subset(CBNPoor, ProvinceCode==2301, select=c(Bundle_Value,Home_Per_Metr,Weight))
+Tehran_Bundle_Value1<-weighted.mean(T_Bundle_Value$Bundle_Value,T_Bundle_Value$Weight,na.rm = TRUE)
+Tehran_Bundle_Value2<-weighted.mean(T_Bundle_Value$Home_Per_Metr,T_Bundle_Value$Weight,na.rm = TRUE)
+CBNPoor[,RealPriceIndex1:=weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/Tehran_Bundle_Value1,by=ProvinceCode]
+CBNPoor[,RealPriceIndex2:=weighted.mean(Home_Per_Metr,Weight,na.rm = TRUE)/Tehran_Bundle_Value2,by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex1,Weight),by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex2,Weight),by=ProvinceCode]
+Indexes2<-CBNPoor[,.(RealPriceIndex1,RealPriceIndex2,ProvinceCode,Weight)]
+Indexes2<-Indexes2[,RealPriceIndex:=(RealPriceIndex1+RealPriceIndex2)/2]
+Indexes<-Indexes2[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+Indexes310<-Indexes[,.(ProvinceCode,RealPriceIndex1,RealPriceIndex2,RealPriceIndex)]
+Indexes<-Indexes[,.(ProvinceCode,RealPriceIndex)]
+CBN[,RealPriceIndex:=NULL]
+CBN<-merge(CBN,Indexes,by=c("ProvinceCode"),all.x = TRUE)
+CBN<-CBN[,Total_Food_Month_Per2:=FoodExpenditure_Per*RealPriceIndex]
+CBN<-CBN[,Total_Exp_Month_Per2:=Total_Exp_Month_Per_nondurable*RealPriceIndex]
+#utils::View(CBN)
+
+
+#Sort Expenditure data
+CBN<- CBN[order(Total_Exp_Month_Per2)]
+
+#Calculate cumulative weights
+sum(CBN$Weight)
+CBN$cumweight <- cumsum(CBN$Weight)
+tx <- max(CBN$cumweight)
+
+#Calculate deciles by weights
+CBN[,Decile:=cut(cumweight,breaks = seq(0,tx,tx/10),labels = 1:10)]
+CBN[,Percentile:=cut(cumweight,breaks=seq(0,tx,tx/100),labels=1:100)]
+
+#Update Poors
+CBN[,Poor:=ifelse(Decile %in% 2:5,1,0)]
+CBNPoor<-CBN[Poor==1]
+CBNPoor<-merge(CBNPoor,dt2,by=c("ProvinceCode"),all.x = TRUE)
+CBNPoor[,sum(HIndivNo),by=.(cluster)][order(cluster)]
+
+
+#Calculate Per_calories in clusters
+CBNPoor[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(189:204)][]
+#utils::View(CBNPoor)
+
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(206:221)][]
+
+CBNPoor[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor<-CBNPoor[Per_Daily_Exp_Calories!=0]
+CBNPoor[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNCalory<-CBNPoor[,.(Per_Daily_Calories,Per_Daily_Exp_Calories,Per_Calory_Resturant,Resturant_Exp,cluster,ProvinceCode)]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+
+
+#Calculations
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_day,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,sum(Size*Weight),by=cluster][order(cluster)]
+
+
+#Food Poverty Line for each cluster
+#cluster 1
+CBNPoorCluster<-CBNPoor[cluster==1]
+Food_Povertyline1_1<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 2
+CBNPoorCluster<-CBNPoor[cluster==2]
+Food_Povertyline2_1<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 3
+CBNPoorCluster<-CBNPoor[cluster==3]
+Food_Povertyline3_1<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 4
+CBNPoorCluster<-CBNPoor[cluster==4]
+Food_Povertyline4_1<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+
+#ee<-CBNPoor[,.(Total_Exp_Month_Real,Total_Exp_Month,Total_Food_Month_Per2,Total_Exp_Month_Per_nondurable,Total_Exp_Month_nondurable_Real_Per,FoodExpenditure_Per,cluster)]
+#mean(ee[,Total_Food_Month_Per2==Total_Exp_Month_nondurable_Real])
+#mean(ee[,Total_Food_Month_Per2<3500000])
+#ee<- ee[order(Total_Food_Month_Per2)]
+#utils::View(CBN)
+CBN<-merge(CBN,dt2,by=c("ProvinceCode"),all.x = TRUE)
+#for (col in c("Total_Food_Month_Per2")) CBN[is.na(get(col)), (col) := Total_Exp_Month_Per_nondurable]
+c<-CBN[,.(FoodExpenditure_Per,FoodExpenditure_Per_total,Total_Exp_Month_Per_nondurable,Total_Exp_Month,Total_Food_Month_Per2,Poor,Decile,Weight,cluster)]
+
+#########Iteration 2###############
+#Sort Expenditure data
+CBN<- CBN[order(Total_Food_Month_Per2)]
+c<- c[order(Total_Food_Month_Per2)]
+
+#Indicate new poors
+CBN[,Poor2:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_1 & cluster==1,1,0)]
+c[,Poor2:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_1 & cluster==1 ,1,0)]
+CBN[,Poor2:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_1 & cluster==2,1,Poor2)]
+c[,Poor2:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_1 & cluster==2 ,1,Poor2)]
+CBN[,Poor2:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_1 & cluster==3,1,Poor2)]
+c[,Poor2:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_1 & cluster==3 ,1,Poor2)]
+CBN[,Poor2:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_1 & cluster==4,1,Poor2)]
+c[,Poor2:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_1 & cluster==4 ,1,Poor2)]
+CBN[,weighted.mean(Poor2,Weight),by=cluster][order(cluster)]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2<-CBN[Poor2==1]
+
+
+#CalculatePer_calories in clusters
+CBNPoor2[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(190:205)][]
+#utils::View(CBNPoor2)
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor2[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(207:222)][]
+
+CBNPoor2[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor2[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor2[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor2[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2<-CBNPoor2[Per_Daily_Exp_Calories!=0]
+CBNPoor2[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor2[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor2[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor2[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor2[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor2[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+
+
+
+#Calculations
+CBNPoor2[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,weighted.mean(FoodExpenditure_Per_day,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+
+
+
+#Food Poverty Line for each cluster
+#cluster 1
+CBNPoorCluster<-CBNPoor2[cluster==1]
+Food_Povertyline1_2<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 2
+CBNPoorCluster<-CBNPoor2[cluster==2]
+Food_Povertyline2_2<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 3
+CBNPoorCluster<-CBNPoor2[cluster==3]
+Food_Povertyline3_2<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 4
+CBNPoorCluster<-CBNPoor2[cluster==4]
+Food_Povertyline4_2<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#ee<-CBNPoor[,.(Total_Exp_Month_Real,Total_Exp_Month,Total_Food_Month_Per2,Total_Exp_Month_Per_nondurable,Total_Exp_Month_nondurable_Real_Per,FoodExpenditure_Per,cluster)]
+#mean(ee[,Total_Food_Month_Per2==Total_Exp_Month_nondurable_Real])
+#mean(ee[,Total_Food_Month_Per2<3500000])
+#ee<- ee[order(Total_Food_Month_Per2)]
+#utils::View(CBN)
+#for (col in c("Total_Food_Month_Per2")) CBN[is.na(get(col)), (col) := Total_Exp_Month_Per_nondurable]
+c<-CBN[,.(FoodExpenditure_Per,FoodExpenditure_Per_total,Total_Exp_Month_Per_nondurable,Total_Exp_Month,Total_Food_Month_Per2,Poor,Decile,Weight,cluster)]
+
+
+#########Iteration 3###############
+#Sort Expenditure data
+CBN<- CBN[order(Total_Food_Month_Per2)]
+c<- c[order(Total_Food_Month_Per2)]
+
+#Indicate new poors
+CBN[,Poor3:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_2 & cluster==1,1,0)]
+c[,Poor3:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_2 & cluster==1 ,1,0)]
+CBN[,Poor3:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_2 & cluster==2,1,Poor3)]
+c[,Poor3:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_2 & cluster==2 ,1,Poor3)]
+CBN[,Poor3:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_2 & cluster==3,1,Poor3)]
+c[,Poor3:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_2 & cluster==3 ,1,Poor3)]
+CBN[,Poor3:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_2 & cluster==4,1,Poor3)]
+c[,Poor3:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_2 & cluster==4 ,1,Poor3)]
+CBN[,weighted.mean(Poor3,Weight),by=cluster][order(cluster)]
+CBNPoor2[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3<-CBN[Poor3==1]
+
+
+
+#CalculatePer_calories in clusters
+CBNPoor3[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(191:206)][]
+#utils::View(CBNPoor3)
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor3[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(208:223)][]
+
+
+CBNPoor3[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor3[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor3[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor3[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3<-CBNPoor3[Per_Daily_Exp_Calories!=0]
+CBNPoor3[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor3[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+
+#sum of total food expenditures
+CBNPoor3[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor3[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor3[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor3[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+
+
+#Calculations
+CBNPoor3[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,weighted.mean(FoodExpenditure_Per_day,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+
+
+
+#Food Poverty Line for each cluster
+#cluster 1
+CBNPoorCluster<-CBNPoor3[cluster==1]
+Food_Povertyline1_3<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 2
+CBNPoorCluster<-CBNPoor3[cluster==2]
+Food_Povertyline2_3<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 3
+CBNPoorCluster<-CBNPoor3[cluster==3]
+Food_Povertyline3_3<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 4
+CBNPoorCluster<-CBNPoor3[cluster==4]
+Food_Povertyline4_3<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#ee<-CBNPoor[,.(Total_Exp_Month_Real,Total_Exp_Month,Total_Food_Month_Per2,Total_Exp_Month_Per_nondurable,Total_Exp_Month_nondurable_Real_Per,FoodExpenditure_Per,cluster)]
+#mean(ee[,Total_Food_Month_Per2==Total_Exp_Month_nondurable_Real])
+#mean(ee[,Total_Food_Month_Per2<3500000])
+#ee<- ee[order(Total_Food_Month_Per2)]
+#utils::View(CBN)
+#for (col in c("Total_Food_Month_Per2")) CBN[is.na(get(col)), (col) := Total_Exp_Month_Per_nondurable]
+c<-CBN[,.(FoodExpenditure_Per,FoodExpenditure_Per_total,Total_Exp_Month_Per_nondurable,Total_Exp_Month,Total_Food_Month_Per2,Poor,Decile,Weight,cluster)]
+
+
+#########Iteration 4###############
+#Sort Expenditure data
+CBN<- CBN[order(Total_Food_Month_Per2)]
+c<- c[order(Total_Food_Month_Per2)]
+
+#Indicate new poors
+CBN[,Poor4:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_3 & cluster==1,1,0)]
+c[,Poor4:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_3 & cluster==1 ,1,0)]
+CBN[,Poor4:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_3 & cluster==2,1,Poor4)]
+c[,Poor4:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_3 & cluster==2 ,1,Poor4)]
+CBN[,Poor4:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_3 & cluster==3,1,Poor4)]
+c[,Poor4:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_3 & cluster==3 ,1,Poor4)]
+CBN[,Poor4:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_3 & cluster==4,1,Poor4)]
+c[,Poor4:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_3 & cluster==4 ,1,Poor4)]
+CBN[,weighted.mean(Poor4,Weight),by=cluster][order(cluster)]
+CBNPoor3[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4<-CBN[Poor4==1]
+
+#CalculatePer_calories in clusters
+CBNPoor4[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(191:206)][]
+#utils::View(CBNPoor4)
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor4[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(208:223)][]
+
+
+CBNPoor4[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor4[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor4[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor4[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4<-CBNPoor4[Per_Daily_Exp_Calories!=0]
+CBNPoor4[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor4[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+
+#sum of total food expenditures
+CBNPoor4[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor4[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor4[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor4[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+
+
+#Calculations
+CBNPoor4[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,weighted.mean(FoodExpenditure_Per_day,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+
+
+
+#Food Poverty Line for each cluster
+#cluster 1
+CBNPoorCluster<-CBNPoor4[cluster==1]
+Food_Povertyline1_4<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 2
+CBNPoorCluster<-CBNPoor4[cluster==2]
+Food_Povertyline2_4<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 3
+CBNPoorCluster<-CBNPoor4[cluster==3]
+Food_Povertyline3_4<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 4
+CBNPoorCluster<-CBNPoor4[cluster==4]
+Food_Povertyline4_4<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#ee<-CBNPoor[,.(Total_Exp_Month_Real,Total_Exp_Month,Total_Food_Month_Per2,Total_Exp_Month_Per_nondurable,Total_Exp_Month_nondurable_Real_Per,FoodExpenditure_Per,cluster)]
+#mean(ee[,Total_Food_Month_Per2==Total_Exp_Month_nondurable_Real])
+#mean(ee[,Total_Food_Month_Per2<3500000])
+#ee<- ee[order(Total_Food_Month_Per2)]
+#utils::View(CBN)
+#for (col in c("Total_Food_Month_Per2")) CBN[is.na(get(col)), (col) := Total_Exp_Month_Per_nondurable]
+c<-CBN[,.(FoodExpenditure_Per,FoodExpenditure_Per_total,Total_Exp_Month_Per_nondurable,Total_Exp_Month,Total_Food_Month_Per2,Poor,Decile,Weight,cluster)]
+
+
+#########Iteration 5###############
+#Sort Expenditure data
+CBN<- CBN[order(Total_Food_Month_Per2)]
+c<- c[order(Total_Food_Month_Per2)]
+
+#Indicate new poors
+CBN[,Poor5:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_4 & cluster==1,1,0)]
+c[,Poor5:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_4 & cluster==1 ,1,0)]
+CBN[,Poor5:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_4 & cluster==2,1,Poor5)]
+c[,Poor5:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_4 & cluster==2 ,1,Poor5)]
+CBN[,Poor5:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_4 & cluster==3,1,Poor5)]
+c[,Poor5:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_4 & cluster==3 ,1,Poor5)]
+CBN[,Poor5:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_4 & cluster==4,1,Poor5)]
+c[,Poor5:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_4 & cluster==4 ,1,Poor5)]
+CBN[,weighted.mean(Poor5,Weight),by=cluster][order(cluster)]
+CBNPoor4[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5<-CBN[Poor5==1]
+
+#CalculatePer_calories in clusters
+CBNPoor5[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(191:206)][]
+#utils::View(CBNPoor5)
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor5[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(208:223)][]
+
+
+CBNPoor5[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor5[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor5[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor5[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5<-CBNPoor5[Per_Daily_Exp_Calories!=0]
+CBNPoor5[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor5[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+
+#sum of total food expenditures
+CBNPoor5[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor5[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor5[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor5[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+
+
+#Calculations
+CBNPoor5[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,weighted.mean(FoodExpenditure_Per_day,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+
+
+
+#Food Poverty Line for each cluster
+#cluster 1
+CBNPoorCluster<-CBNPoor5[cluster==1]
+Food_Povertyline1_5<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 2
+CBNPoorCluster<-CBNPoor5[cluster==2]
+Food_Povertyline2_5<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 3
+CBNPoorCluster<-CBNPoor5[cluster==3]
+Food_Povertyline3_5<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 4
+CBNPoorCluster<-CBNPoor5[cluster==4]
+Food_Povertyline4_5<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#ee<-CBNPoor[,.(Total_Exp_Month_Real,Total_Exp_Month,Total_Food_Month_Per2,Total_Exp_Month_Per_nondurable,Total_Exp_Month_nondurable_Real_Per,FoodExpenditure_Per,cluster)]
+#mean(ee[,Total_Food_Month_Per2==Total_Exp_Month_nondurable_Real])
+#mean(ee[,Total_Food_Month_Per2<3500000])
+#ee<- ee[order(Total_Food_Month_Per2)]
+#utils::View(CBN)
+#for (col in c("Total_Food_Month_Per2")) CBN[is.na(get(col)), (col) := Total_Exp_Month_Per_nondurable]
+c<-CBN[,.(FoodExpenditure_Per,FoodExpenditure_Per_total,Total_Exp_Month_Per_nondurable,Total_Exp_Month,Total_Food_Month_Per2,Poor,Decile,Weight,cluster)]
+
+
+#########Iteration 6###############
+#Sort Expenditure data
+CBN<- CBN[order(Total_Food_Month_Per2)]
+c<- c[order(Total_Food_Month_Per2)]
+
+#Indicate new poors
+CBN[,Poor6:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_5 & cluster==1,1,0)]
+c[,Poor6:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_5 & cluster==1 ,1,0)]
+CBN[,Poor6:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_5 & cluster==2,1,Poor6)]
+c[,Poor6:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_5 & cluster==2 ,1,Poor6)]
+CBN[,Poor6:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_5 & cluster==3,1,Poor6)]
+c[,Poor6:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_5 & cluster==3 ,1,Poor6)]
+CBN[,Poor6:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_5 & cluster==4,1,Poor6)]
+c[,Poor6:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_5 & cluster==4 ,1,Poor6)]
+CBN[,weighted.mean(Poor6,Weight),by=cluster][order(cluster)]
+CBNPoor5[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6<-CBN[Poor6==1]
+
+#CalculatePer_calories in clusters
+CBNPoor6[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(191:206)][]
+#utils::View(CBNPoor6)
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor6[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(208:223)][]
+
+
+CBNPoor6[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor6[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor6[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor6[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6<-CBNPoor6[Per_Daily_Exp_Calories!=0]
+CBNPoor6[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor6[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+
+#sum of total food expenditures
+CBNPoor6[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor6[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor6[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor6[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+
+
+#Calculations
+CBNPoor6[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,weighted.mean(FoodExpenditure_Per_day,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+
+
+#Food Poverty Line for each cluster
+#cluster 1
+CBNPoorCluster<-CBNPoor6[cluster==1]
+Food_Povertyline1_6<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 2
+CBNPoorCluster<-CBNPoor6[cluster==2]
+Food_Povertyline2_6<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 3
+CBNPoorCluster<-CBNPoor6[cluster==3]
+Food_Povertyline3_6<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 4
+CBNPoorCluster<-CBNPoor6[cluster==4]
+Food_Povertyline4_6<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#ee<-CBNPoor[,.(Total_Exp_Month_Real,Total_Exp_Month,Total_Food_Month_Per2,Total_Exp_Month_Per_nondurable,Total_Exp_Month_nondurable_Real_Per,FoodExpenditure_Per,cluster)]
+#mean(ee[,Total_Food_Month_Per2==Total_Exp_Month_nondurable_Real])
+#mean(ee[,Total_Food_Month_Per2<3500000])
+#ee<- ee[order(Total_Food_Month_Per2)]
+#utils::View(CBN)
+#for (col in c("Total_Food_Month_Per2")) CBN[is.na(get(col)), (col) := Total_Exp_Month_Per_nondurable]
+c<-CBN[,.(FoodExpenditure_Per,FoodExpenditure_Per_total,Total_Exp_Month_Per_nondurable,Total_Exp_Month,Total_Food_Month_Per2,Poor,Decile,Weight,cluster)]
+
+
+#########Iteration 7###############
+#Sort Expenditure data
+CBN<- CBN[order(Total_Food_Month_Per2)]
+c<- c[order(Total_Food_Month_Per2)]
+
+#Indicate new poors
+CBN[,Poor7:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_6 & cluster==1,1,0)]
+c[,Poor7:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_6 & cluster==1 ,1,0)]
+CBN[,Poor7:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_6 & cluster==2,1,Poor7)]
+c[,Poor7:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_6 & cluster==2 ,1,Poor7)]
+CBN[,Poor7:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_6 & cluster==3,1,Poor7)]
+c[,Poor7:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_6 & cluster==3 ,1,Poor7)]
+CBN[,Poor7:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_6 & cluster==4,1,Poor7)]
+c[,Poor7:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_6 & cluster==4 ,1,Poor7)]
+CBN[,weighted.mean(Poor7,Weight),by=cluster][order(cluster)]
+CBNPoor6[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7<-CBN[Poor7==1]
+
+#CalculatePer_calories in clusters
+CBNPoor7[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(191:206)][]
+#utils::View(CBNPoor7)
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor7[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(208:223)][]
+
+
+CBNPoor7[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor7[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor7[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor7[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7<-CBNPoor7[Per_Daily_Exp_Calories!=0]
+CBNPoor7[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor7[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+
+#sum of total food expenditures
+CBNPoor7[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor7[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor7[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor7[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+
+
+#Calculations
+CBNPoor7[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,weighted.mean(FoodExpenditure_Per_day,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+
+
+
+#Food Poverty Line for each cluster
+#cluster 1
+CBNPoorCluster<-CBNPoor7[cluster==1]
+Food_Povertyline1_7<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 2
+CBNPoorCluster<-CBNPoor7[cluster==2]
+Food_Povertyline2_7<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 3
+CBNPoorCluster<-CBNPoor7[cluster==3]
+Food_Povertyline3_7<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 4
+CBNPoorCluster<-CBNPoor7[cluster==4]
+Food_Povertyline4_7<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#ee<-CBNPoor[,.(Total_Exp_Month_Real,Total_Exp_Month,Total_Food_Month_Per2,Total_Exp_Month_Per_nondurable,Total_Exp_Month_nondurable_Real_Per,FoodExpenditure_Per,cluster)]
+#mean(ee[,Total_Food_Month_Per2==Total_Exp_Month_nondurable_Real])
+#mean(ee[,Total_Food_Month_Per2<3500000])
+#ee<- ee[order(Total_Food_Month_Per2)]
+#utils::View(CBN)
+#for (col in c("Total_Food_Month_Per2")) CBN[is.na(get(col)), (col) := Total_Exp_Month_Per_nondurable]
+c<-CBN[,.(FoodExpenditure_Per,FoodExpenditure_Per_total,Total_Exp_Month_Per_nondurable,Total_Exp_Month,Total_Food_Month_Per2,Poor,Decile,Weight,cluster)]
+
+
+#########Iteration 8###############
+#Sort Expenditure data
+CBN<- CBN[order(Total_Food_Month_Per2)]
+c<- c[order(Total_Food_Month_Per2)]
+
+#Indicate new poors
+CBN[,Poor8:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_7 & cluster==1,1,0)]
+c[,Poor8:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_7 & cluster==1 ,1,0)]
+CBN[,Poor8:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_7 & cluster==2,1,Poor8)]
+c[,Poor8:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_7 & cluster==2 ,1,Poor8)]
+CBN[,Poor8:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_7 & cluster==3,1,Poor8)]
+c[,Poor8:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_7 & cluster==3 ,1,Poor8)]
+CBN[,Poor8:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_7 & cluster==4,1,Poor8)]
+c[,Poor8:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_7 & cluster==4 ,1,Poor8)]
+CBN[,weighted.mean(Poor8,Weight),by=cluster][order(cluster)]
+CBNPoor7[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8<-CBN[Poor8==1]
+
+
+#CalculatePer_calories in clusters
+CBNPoor8[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(191:206)][]
+#utils::View(CBNPoor8)
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor8[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(208:223)][]
+
+
+CBNPoor8[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor8[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor8[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor8[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8<-CBNPoor8[Per_Daily_Exp_Calories!=0]
+CBNPoor8[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor8[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+
+#sum of total food expenditures
+CBNPoor8[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor8[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor8[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor8[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+
+
+#Calculations
+CBNPoor8[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,weighted.mean(FoodExpenditure_Per_day,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+
+
+
+#Food Poverty Line for each cluster
+#cluster 1
+CBNPoorCluster<-CBNPoor8[cluster==1]
+Food_Povertyline1_8<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 2
+CBNPoorCluster<-CBNPoor8[cluster==2]
+Food_Povertyline2_8<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 3
+CBNPoorCluster<-CBNPoor8[cluster==3]
+Food_Povertyline3_8<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 4
+CBNPoorCluster<-CBNPoor8[cluster==4]
+Food_Povertyline4_8<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#ee<-CBNPoor[,.(Total_Exp_Month_Real,Total_Exp_Month,Total_Food_Month_Per2,Total_Exp_Month_Per_nondurable,Total_Exp_Month_nondurable_Real_Per,FoodExpenditure_Per,cluster)]
+#mean(ee[,Total_Food_Month_Per2==Total_Exp_Month_nondurable_Real])
+#mean(ee[,Total_Food_Month_Per2<3500000])
+#ee<- ee[order(Total_Food_Month_Per2)]
+#utils::View(CBN)
+#for (col in c("Total_Food_Month_Per2")) CBN[is.na(get(col)), (col) := Total_Exp_Month_Per_nondurable]
+c<-CBN[,.(FoodExpenditure_Per,FoodExpenditure_Per_total,Total_Exp_Month_Per_nondurable,Total_Exp_Month,Total_Food_Month_Per2,Poor,Decile,Weight,cluster)]
+
+
+#########Iteration 9###############
+#Sort Expenditure data
+CBN<- CBN[order(Total_Food_Month_Per2)]
+c<- c[order(Total_Food_Month_Per2)]
+
+#Indicate new poors
+CBN[,Poor9:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_8 & cluster==1,1,0)]
+c[,Poor9:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_8 & cluster==1 ,1,0)]
+CBN[,Poor9:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_8 & cluster==2,1,Poor9)]
+c[,Poor9:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_8 & cluster==2 ,1,Poor9)]
+CBN[,Poor9:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_8 & cluster==3,1,Poor9)]
+c[,Poor9:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_8 & cluster==3 ,1,Poor9)]
+CBN[,Poor9:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_8 & cluster==4,1,Poor9)]
+c[,Poor9:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_8 & cluster==4 ,1,Poor9)]
+CBN[,weighted.mean(Poor9,Weight),by=cluster][order(cluster)]
+CBNPoor8[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9<-CBN[Poor9==1]
+
+
+#CalculatePer_calories in clusters
+CBNPoor9[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(191:206)][]
+#utils::View(CBNPoor9)
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor9[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(208:223)][]
+
+
+CBNPoor9[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor9[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor9[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor9[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9<-CBNPoor9[Per_Daily_Exp_Calories!=0]
+CBNPoor9[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor9[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+
+#sum of total food expenditures
+CBNPoor9[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor9[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor9[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor9[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+
+
+
+#Calculations
+CBNPoor9[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,weighted.mean(FoodExpenditure_Per_day,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+
+
+
+#Food Poverty Line for each cluster
+#cluster 1
+CBNPoorCluster<-CBNPoor9[cluster==1]
+Food_Povertyline1_9<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 2
+CBNPoorCluster<-CBNPoor9[cluster==2]
+Food_Povertyline2_9<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 3
+CBNPoorCluster<-CBNPoor9[cluster==3]
+Food_Povertyline3_9<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 4
+CBNPoorCluster<-CBNPoor9[cluster==4]
+Food_Povertyline4_9<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#ee<-CBNPoor[,.(Total_Exp_Month_Real,Total_Exp_Month,Total_Food_Month_Per2,Total_Exp_Month_Per_nondurable,Total_Exp_Month_nondurable_Real_Per,FoodExpenditure_Per,cluster)]
+#mean(ee[,Total_Food_Month_Per2==Total_Exp_Month_nondurable_Real])
+#mean(ee[,Total_Food_Month_Per2<3500000])
+#ee<- ee[order(Total_Food_Month_Per2)]
+#utils::View(CBN)
+#for (col in c("Total_Food_Month_Per2")) CBN[is.na(get(col)), (col) := Total_Exp_Month_Per_nondurable]
+c<-CBN[,.(FoodExpenditure_Per,FoodExpenditure_Per_total,Total_Exp_Month_Per_nondurable,Total_Exp_Month,Total_Food_Month_Per2,Poor,Decile,Weight,cluster)]
+
+
+#########Iteration 10###############
+#Sort Expenditure data
+CBN<- CBN[order(Total_Food_Month_Per2)]
+c<- c[order(Total_Food_Month_Per2)]
+
+#Indicate new poors
+CBN[,Poor10:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_9 & cluster==1,1,0)]
+c[,Poor10:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_9 & cluster==1 ,1,0)]
+CBN[,Poor10:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_9 & cluster==2,1,Poor10)]
+c[,Poor10:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_9 & cluster==2 ,1,Poor10)]
+CBN[,Poor10:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_9 & cluster==3,1,Poor10)]
+c[,Poor10:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_9 & cluster==3 ,1,Poor10)]
+CBN[,Poor10:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_9 & cluster==4,1,Poor10)]
+c[,Poor10:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_9 & cluster==4 ,1,Poor10)]
+CBN[,weighted.mean(Poor10,Weight),by=cluster][order(cluster)]
+CBNPoor9[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor10<-CBN[Poor10==1]
+
+#Engel
+#CBNPoor9<-CBNPoor9[,ratio1:=FoodExpenditure/Total_Exp_Month]
+#CBNPoor9[,weighted.mean(ratio1,Weight),by=cluster]
+#summary(CBNPoor9$ratio1)
+CBN<-CBN[,ratio1:=FoodExpenditure/Total_Exp_Month]
+CBN[,weighted.mean(ratio1,Weight),by=ProvinceCode][order(ProvinceCode)]
+CBN<-CBN[,ratio2:=ServiceExp/Total_Exp_Month]
+CBN[,weighted.mean(ratio2,Weight),by=ProvinceCode][order(ProvinceCode)]
+
+#Engel-home ratio calculations
+CBN[cluster==1 & FoodExpenditure_Per_total<1.1*Food_Povertyline1_9 & FoodExpenditure_Per_total>0.90*Food_Povertyline1_9,sum(HIndivNo),by=ProvinceCode][order(ProvinceCode)]
+CBN[cluster==2 & FoodExpenditure_Per_total<1.1*Food_Povertyline2_9 & FoodExpenditure_Per_total>0.90*Food_Povertyline1_9,sum(HIndivNo),by=ProvinceCode][order(ProvinceCode)]
+CBN[cluster==3 & FoodExpenditure_Per_total<1.1*Food_Povertyline3_9 & FoodExpenditure_Per_total>0.90*Food_Povertyline1_9,sum(HIndivNo),by=ProvinceCode][order(ProvinceCode)]
+CBN[cluster==4 & FoodExpenditure_Per_total<1.1*Food_Povertyline4_9 & FoodExpenditure_Per_total>0.90*Food_Povertyline1_9,sum(HIndivNo),by=ProvinceCode][order(ProvinceCode)]
+
+CBN[cluster==1 & FoodExpenditure_Per_total<1.1*Food_Povertyline1_9 & FoodExpenditure_Per_total>0.90*Food_Povertyline1_9,weighted.mean(ratio1,Weight),by=ProvinceCode][order(ProvinceCode)]
+CBN[cluster==2 & FoodExpenditure_Per_total<1.1*Food_Povertyline2_9 & FoodExpenditure_Per_total>0.90*Food_Povertyline1_9,weighted.mean(ratio1,Weight),by=ProvinceCode][order(ProvinceCode)]
+CBN[cluster==3 & FoodExpenditure_Per_total<1.1*Food_Povertyline3_9 & FoodExpenditure_Per_total>0.90*Food_Povertyline1_9,weighted.mean(ratio1,Weight),by=ProvinceCode][order(ProvinceCode)]
+CBN[cluster==4 & FoodExpenditure_Per_total<1.1*Food_Povertyline4_9 & FoodExpenditure_Per_total>0.90*Food_Povertyline1_9,weighted.mean(ratio1,Weight),by=ProvinceCode][order(ProvinceCode)]
+
+CBN[cluster==1 & FoodExpenditure_Per_total<1.1*Food_Povertyline1_9 & FoodExpenditure_Per_total>0.90*Food_Povertyline1_9,weighted.mean(ratio2,Weight),by=ProvinceCode][order(ProvinceCode)]
+CBN[cluster==2 & FoodExpenditure_Per_total<1.1*Food_Povertyline2_9 & FoodExpenditure_Per_total>0.90*Food_Povertyline1_9,weighted.mean(ratio2,Weight),by=ProvinceCode][order(ProvinceCode)]
+CBN[cluster==3 & FoodExpenditure_Per_total<1.1*Food_Povertyline3_9 & FoodExpenditure_Per_total>0.90*Food_Povertyline1_9,weighted.mean(ratio2,Weight),by=ProvinceCode][order(ProvinceCode)]
+CBN[cluster==4 & FoodExpenditure_Per_total<1.1*Food_Povertyline4_9 & FoodExpenditure_Per_total>0.90*Food_Povertyline1_9,weighted.mean(ratio2,Weight),by=ProvinceCode][order(ProvinceCode)]
+
+
+# Poverty Line for each cluster
+#cluster 1
+CBNPoorCluster<-CBN[cluster==1 & FoodExpenditure_Per_total<1.1*Food_Povertyline1_9 & FoodExpenditure_Per_total>0.90*Food_Povertyline1_9]
+Engel1<-weighted.mean(CBNPoorCluster$ratio1,CBNPoorCluster$Weight)
+Engel_Reverse1<-1/Engel1
+Povertyline1_9<-Engel_Reverse1*Food_Povertyline1_9
+
+#cluster 2
+CBNPoorCluster<-CBN[cluster==2 & FoodExpenditure_Per_total<1.1*Food_Povertyline2_9 & FoodExpenditure_Per_total>0.90*Food_Povertyline2_9]
+Engel2<-weighted.mean(CBNPoorCluster$ratio1,CBNPoorCluster$Weight)
+Engel_Reverse2<-1/Engel2
+Povertyline2_9<-Engel_Reverse2*Food_Povertyline2_9
+
+#cluster 3
+CBNPoorCluster<-CBN[cluster==3 & FoodExpenditure_Per_total<1.1*Food_Povertyline3_9 & FoodExpenditure_Per_total>0.90*Food_Povertyline3_9]
+Engel3<-weighted.mean(CBNPoorCluster$ratio1,CBNPoorCluster$Weight)
+Engel_Reverse3<-1/Engel3
+Povertyline3_9<-Engel_Reverse3*Food_Povertyline3_9
+
+#cluster 4
+CBNPoorCluster<-CBN[cluster==4 & FoodExpenditure_Per_total<1.1*Food_Povertyline4_9 & FoodExpenditure_Per_total>0.90*Food_Povertyline4_9]
+Engel4<-weighted.mean(CBNPoorCluster$ratio1,CBNPoorCluster$Weight)
+Engel_Reverse4<-1/Engel4
+Povertyline4_9<-Engel_Reverse4*Food_Povertyline4_9
+
+#Indicate final poors
+CBN<-CBN[,Total_Exp_Month_Per2:=Total_Exp_Month_Per_nondurable*RealPriceIndex]
+
+CBN[,Poor11:=ifelse(Total_Exp_Month_Per_nondurable < Povertyline1_9 & cluster==1,1,0)]
+CBN[,Poor11:=ifelse(Total_Exp_Month_Per_nondurable < Povertyline2_9 & cluster==2,1,Poor11)]
+CBN[,Poor11:=ifelse(Total_Exp_Month_Per_nondurable < Povertyline3_9 & cluster==3,1,Poor11)]
+CBN[,Poor11:=ifelse(Total_Exp_Month_Per_nondurable < Povertyline4_9 & cluster==4,1,Poor11)]
+CBN[,weighted.mean(Poor11,Weight),by=cluster][order(cluster)]
+CBNPoor9[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor11<-CBN[Poor11==1]
+
+CBN[,sum(Size*Weight),by=cluster][order(cluster)]
+CBN[,sum(Size*Weight),by=.(cluster,Decile)][order(cluster,Decile)]
+CBNPoor[,sum(Size*Weight),by=cluster][order(cluster)]
+CBNPoor11[,sum(Size*Weight),by=cluster][order(cluster)]
+CBNPoor9[,sum(Size*Weight),by=cluster][order(cluster)]
+CBNPoor9[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster][order(cluster)]
+CBNPoor9[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster][order(cluster)]
+CBN[,weighted.mean(Poor11,Weight)]
+CBN[,weighted.mean(Poor11,Weight),by=cluster][order(cluster)]
+CBN[,weighted.mean(Poor11,Weight),by=ProvinceCode][order(ProvinceCode)]
+CBNPoor11[,sum(Size*Weight),by=ProvinceCode][order(ProvinceCode)]
+CBNPoor11[,sum(Weight),by=ProvinceCode][order(ProvinceCode)]
+CBN[,sum(Size*Weight),by=ProvinceCode][order(ProvinceCode)]
+CBN[,sum(Size*Weight)]
+
+##############################
+###Real Prices for report###
+##############################
+#sum of total food expenditures
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per]
+
+#Food expenditures (equal 2100 CCAL)
+CBN<-CBN[Per_Daily_Exp_Calories>0]
+CBN[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Exp_Calories]
+CBN[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+
+T_Bundle_Value<-subset(CBN, ProvinceCode==2301, select=c(Bundle_Value,Home_Per_Metr,Weight))
+Tehran_Bundle_Value1<-weighted.mean(T_Bundle_Value$Bundle_Value,T_Bundle_Value$Weight,na.rm = TRUE)
+Tehran_Bundle_Value2<-weighted.mean(T_Bundle_Value$Home_Per_Metr,T_Bundle_Value$Weight,na.rm = TRUE)
+CBN[,RealPriceIndex1:=weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/Tehran_Bundle_Value1,by=ProvinceCode]
+CBN[,RealPriceIndex2:=weighted.mean(Home_Per_Metr,Weight,na.rm = TRUE)/Tehran_Bundle_Value2,by=ProvinceCode]
+CBN[,weighted.mean(RealPriceIndex1,Weight),by=ProvinceCode]
+CBN[,weighted.mean(RealPriceIndex2,Weight),by=ProvinceCode]
+Indexes2_1<-CBN[,.(RealPriceIndex1,RealPriceIndex2,ProvinceCode,Weight)]
+Indexes2_1<-Indexes2_1[,RealPriceIndex:=(RealPriceIndex1+RealPriceIndex2)/2]
+Indexes_total<-Indexes2_1[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+Indexes3_1<-Indexes_total[,.(ProvinceCode,RealPriceIndex1,RealPriceIndex2,RealPriceIndex)]
+Indexes<-Indexes[,.(ProvinceCode,RealPriceIndex)]
+
+CBN_Poor<-CBN[Poor11==1]
+T_Bundle_Value<-subset(CBN_Poor, ProvinceCode==2301, select=c(Bundle_Value,Home_Per_Metr,Weight))
+Tehran_Bundle_Value1<-weighted.mean(T_Bundle_Value$Bundle_Value,T_Bundle_Value$Weight,na.rm = TRUE)
+Tehran_Bundle_Value2<-weighted.mean(T_Bundle_Value$Home_Per_Metr,T_Bundle_Value$Weight,na.rm = TRUE)
+CBN_Poor[,RealPriceIndex1:=weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/Tehran_Bundle_Value1,by=ProvinceCode]
+CBN_Poor[,RealPriceIndex2:=weighted.mean(Home_Per_Metr,Weight,na.rm = TRUE)/Tehran_Bundle_Value2,by=ProvinceCode]
+CBN_Poor[,weighted.mean(RealPriceIndex1,Weight),by=ProvinceCode]
+CBN_Poor[,weighted.mean(RealPriceIndex2,Weight),by=ProvinceCode]
+Indexes2_2<-CBN_Poor[,.(RealPriceIndex1,RealPriceIndex2,ProvinceCode,Weight,Poor11)]
+Indexes2_2<-Indexes2_2[,RealPriceIndex:=(RealPriceIndex1+RealPriceIndex2)/2]
+Indexes_finalpoor<-Indexes2_2[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+Indexes3_2<-Indexes_finalpoor[,.(ProvinceCode,RealPriceIndex1,RealPriceIndex2,RealPriceIndex)]
+Indexes<-Indexes[,.(ProvinceCode,RealPriceIndex)]
+
+###Save Tables
+CBN_Urban<-CBN
+save(CBN_Urban, file = paste0(Settings$HEISProcessedPath,"CBN_Urban","95.rda"))
+
+CBNPoor_Urban<-CBNPoor11
+save(CBNPoor_Urban, file = paste0(Settings$HEISProcessedPath,"CBNPoor_Urban","95.rda"))
+
+
+endtime <- proc.time()
+
+
+cat("\n\n============================\nIt took ")
+cat(endtime-starttime)
+
diff --git a/R/Archive/Other Codes/60-CBN Rural-95.R b/R/Archive/Other Codes/60-CBN Rural-95.R
new file mode 100644
index 00000000..4cd7f20e
--- /dev/null
+++ b/R/Archive/Other Codes/60-CBN Rural-95.R
@@ -0,0 +1,3015 @@
+#CBN Method-Rural.R
+#
+# Copyright © 2018:Arin Shahbazian
+# Licence: GPL-3
+#
+rm(list=ls())
+
+starttime <- proc.time()
+cat("\n\n================ Prepare Data =====================================\n")
+
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+library(readxl)
+library(stringr)
+library(data.table)
+
+#for(year in (Settings$startyear:Settings$endyear)){
+# cat(paste0("\n------------------------------\nYear:",year,"\n"))
+
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","HHBase.rda"))
+HHBase[,IndivNo:=NULL]
+HHBase[,Relationship:=NULL]
+HHBase[,Sex:=NULL]
+HHBase[,Age:=NULL]
+HHBase[,Literate:=NULL]
+HHBase[,Student:=NULL]
+HHBase[,EduCode:=NULL]
+HHBase[,EduYears:=NULL]
+HHBase[,EduLevel:=NULL]
+HHBase[,EduLevel0:=NULL]
+HHBase[,ActivityState:=NULL]
+HHBase[,MarritalState:=NULL]
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Ghand_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Hoboobat_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Roghan_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Berenj_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Nan_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Goosht_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Morgh_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Mahi_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Shir_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Mast_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Panir_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Tokhmemorgh_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Mive_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Sabzi_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Makarooni_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Sibzamini_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Weights.rda"))
+
+Ghand_Data<-Ghand_Data[,.(HHID,Ghandgram,GhandPrice)]
+Hoboobat_Data<-Hoboobat_Data[,.(HHID,Hoboobatgram,HoboobatPrice)]
+Roghan_Data<-Roghan_Data[,.(HHID,Roghangram,RoghanPrice)]
+Berenj_Data<-Berenj_Data[,.(HHID,Berenjgram,BerenjPrice)]
+Nan_Data<-Nan_Data[,.(HHID,Nangram,NanPrice)]
+Goosht_Data<-Goosht_Data[,.(HHID,Gooshtgram,GooshtPrice)]
+Morgh_Data<-Morgh_Data[,.(HHID,Morghgram,MorghPrice)]
+Mahi_Data<-Mahi_Data[,.(HHID,Mahigram,MahiPrice)]
+Shir_Data<-Shir_Data[,.(HHID,Shirgram,ShirPrice)]
+Mast_Data<-Mast_Data[,.(HHID,Mastgram,MastPrice)]
+Panir_Data<-Panir_Data[,.(HHID,Panirgram,PanirPrice)]
+Tokhmemorgh_Data<-Tokhmemorgh_Data[,.(HHID,Tokhmemorghgram,TokhmemorghPrice)]
+Mive_Data<-Mive_Data[,.(HHID,Mivegram,MivePrice)]
+Sabzi_Data<-Sabzi_Data[,.(HHID,Sabzigram,SabziPrice)]
+Makarooni_Data<-Makarooni_Data[,.(HHID,Makaroonigram,MakarooniPrice)]
+Sibzamini_Data<-Sibzamini_Data[,.(HHID,Sibzaminigram,SibzaminiPrice)]
+
+Food<-merge(HHBase,Ghand_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Ghandgram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Hoboobat_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Hoboobatgram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Roghan_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Roghangram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Berenj_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Berenjgram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Nan_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Nangram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Goosht_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Gooshtgram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Morgh_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Morghgram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Mahi_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Mahigram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Shir_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Shirgram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Mast_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Mastgram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Panir_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Panirgram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Tokhmemorgh_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Tokhmemorghgram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Mive_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Mivegram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Sabzi_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Sabzigram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Makarooni_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Makaroonigram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Sibzamini_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Sibzaminigram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Weights,by =c("HHID"),all.x=TRUE)
+
+
+
+#load Expenditure groups
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","HHBase.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","HHI.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Foods.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Cigars.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Cloths.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Amusements.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Communications.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Durables.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Education.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Energy.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Furnitures.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Hotels.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","House.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Medicals.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Behdashts.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Transportations.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Others.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Investments.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Resturants.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Weights.rda"))
+
+#merge Expenditure groups
+CBN<-merge(Food,HHI ,by =c("HHID"),all=TRUE)
+CBN<-merge(CBN,FoodData,by =c("HHID"),all=TRUE)
+for (col in c("FoodExpenditure")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,CigarData,by =c("HHID"),all=TRUE)
+for (col in c("Cigar_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,ClothData,by =c("HHID"),all=TRUE)
+for (col in c("Cloth_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,AmusementData,by =c("HHID"),all=TRUE)
+for (col in c("Amusement_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,CommunicationData,by =c("HHID"),all=TRUE)
+for (col in c("Communication_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,EducData,by =c("HHID"),all=TRUE)
+for (col in c("EducExpenditure")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,EnergyData,by =c("HHID"),all=TRUE)
+for (col in c("Energy_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,FurnitureData,by =c("HHID"),all=TRUE)
+for (col in c("Furniture_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,HotelData,by =c("HHID"),all=TRUE)
+for (col in c("Hotel_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,BehdashtData,by =c("HHID"),all=TRUE)
+for (col in c("Behdasht_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,TransportationData,by =c("HHID"),all=TRUE)
+for (col in c("Transportation_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,OtherData,by =c("HHID"),all=TRUE)
+for (col in c("Other_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,HouseData,by =c("HHID"),all=TRUE)
+for (col in c("ServiceExp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,InvestmentData,by =c("HHID"),all=TRUE)
+for (col in c("Investment_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,MedicalData,by =c("HHID"),all=TRUE)
+for (col in c("Medical_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,DurableData,by =c("HHID"),all=TRUE)
+for (col in c("Durable_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,ResturantData,by =c("HHID"),all=TRUE)
+for (col in c("Resturant_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-CBN[Size!=0]
+CBN<-CBN[Region=="Rural"]
+CBN<-CBN[FoodExpenditure!=0]
+
+
+#Calculate Per_Total Expenditures Monthly
+CBN[, Total_Exp_Month := Reduce(`+`, .SD), .SDcols=c(65:77,82:83)][]
+CBN[, Total_Exp_Month_nondurable := Reduce(`+`, .SD), .SDcols=65:77][]
+
+CBN$Total_Exp_Month_Per<-CBN$Total_Exp_Month/CBN$EqSizeOECD
+CBN$Total_Exp_Month_Per_nondurable<-CBN$Total_Exp_Month_nondurable/CBN$EqSizeOECD
+
+#Calculate Per_Food Expenditures Monthly
+CBN[,EqSizeCalory :=(Size-NKids) + NKids*(1800/2100)]
+CBN$FoodExpenditure_Per<-CBN$FoodExpenditure/CBN$EqSizeCalory
+
+#Calculate Per_Food Expenditures Daily
+CBN$FoodExpenditure_Per_day<-CBN$FoodExpenditure_Per/30
+
+CBN$Ghandgram_Per_day<-CBN$Ghandgram/(30*CBN$EqSizeOECD)
+CBN$Hoboobatgram_Per_day<-CBN$Hoboobatgram/(30*CBN$EqSizeOECD)
+CBN$Berenjgram_Per_day<-CBN$Berenjgram/(30*CBN$EqSizeOECD)
+CBN$Nangram_Per_day<-CBN$Nangram/(30*CBN$EqSizeOECD)
+CBN$Roghangram_Per_day<-CBN$Roghangram/(30*CBN$EqSizeOECD)
+CBN$Gooshtgram_Per_day<-CBN$Gooshtgram/(30*CBN$EqSizeOECD)
+CBN$Morghgram_Per_day<-CBN$Morghgram/(30*CBN$EqSizeOECD)
+CBN$Mahigram_Per_day<-CBN$Mahigram/(30*CBN$EqSizeOECD)
+CBN$Shirgram_Per_day<-CBN$Shirgram/(30*CBN$EqSizeOECD)
+CBN$Mastgram_Per_day<-CBN$Mastgram/(30*CBN$EqSizeOECD)
+CBN$Panirgram_Per_day<-CBN$Panirgram/(30*CBN$EqSizeOECD)
+CBN$Tokhmemorghgram_Per_day<-CBN$Tokhmemorghgram/(30*CBN$EqSizeOECD)
+CBN$Mivegram_Per_day<-CBN$Mivegram/(30*CBN$EqSizeOECD)
+CBN$Sabzigram_Per_day<-CBN$Sabzigram/(30*CBN$EqSizeOECD)
+CBN$Makaroonigram_Per_day<-CBN$Makaroonigram/(30*CBN$EqSizeOECD)
+CBN$Sibzaminigram_Per_day<-CBN$Sibzaminigram/(30*CBN$EqSizeOECD)
+CBN[,EqSizeCalory:=NULL]
+
+load(file="PriceIndex95.rda")
+CBN<-merge(CBN,PriceIndex95,by=c("ProvinceCode"),all.x = TRUE)
+CBN[,ostan:=NULL]
+load(file="PriceIndex.rda")
+CBN<-merge(CBN,PriceIndex,by=c("ProvinceCode"),all.x = TRUE)
+
+#Sort Expenditure data
+CBN<- CBN[order(Total_Exp_Month_Per_nondurable)]
+
+#Calculate cumulative weights
+sum(CBN$Weight)
+CBN$cumweight <- cumsum(CBN$Weight)
+tx <- max(CBN$cumweight)
+
+#Calculate deciles by weights
+CBN[,Decile:=cut(cumweight,breaks = seq(0,tx,tx/10),labels = 1:10)]
+CBN[,Percentile:=cut(cumweight,breaks=seq(0,tx,tx/100),labels=1:100)]
+
+
+CBN$Ghand_W<-CBN$Ghandgram_Per_day*CBN$GhandPrice*0.001*30
+CBN$Hoboobat_W<-CBN$Hoboobatgram_Per_day*CBN$HoboobatPrice*0.001*30
+CBN$Roghan_W<-CBN$Roghangram_Per_day*CBN$RoghanPrice*0.001*30
+CBN$Berenj_W<-CBN$Berenjgram_Per_day*CBN$BerenjPrice*0.001*30
+CBN$Nan_W<-CBN$Nangram_Per_day*CBN$NanPrice*0.001*30
+CBN$Goosht_W<-CBN$Gooshtgram_Per_day*CBN$GooshtPrice*0.001*30
+CBN$Morgh_W<-CBN$Morghgram_Per_day*CBN$MorghPrice*0.001*30
+CBN$Mahi_W<-CBN$Mahigram_Per_day*CBN$MahiPrice*0.001*30
+CBN$Shir_W<-CBN$Shirgram_Per_day*CBN$ShirPrice*0.001*30
+CBN$Mast_W<-CBN$Mastgram_Per_day*CBN$MastPrice*0.001*30
+CBN$Panir_W<-CBN$Panirgram_Per_day*CBN$PanirPrice*0.001*30
+CBN$Tokhmemorgh_W<-CBN$Tokhmemorghgram_Per_day*CBN$TokhmemorghPrice*0.001*30
+CBN$Mive_W<-CBN$Mivegram_Per_day*CBN$MivePrice*0.001*30
+CBN$Sabzi_W<-CBN$Sabzigram_Per_day*CBN$SabziPrice*0.001*30
+CBN$Makarooni_W<-CBN$Makaroonigram_Per_day*CBN$MakarooniPrice*0.001*30
+CBN$Sibzamini_W<-CBN$Sibzaminigram_Per_day*CBN$SibzaminiPrice*0.001*30
+CBN$Home_W<-CBN$ServiceExp/CBN$EqSizeOECD
+CBN$Home_Per_Metr<-CBN$MetrPrice/CBN$EqSizeOECD
+
+#Seperate big cities
+CBN[,sum(Weight*Size),by=ProvinceCode][order(V1)]
+CBN[,HHIDs:=as.character(HHID)]
+CBN[,ShahrestanCode:=as.integer(str_sub(HHIDs,2,5))]
+CBN[,sum(Weight*Size),by=ShahrestanCode][order(V1)][330:387]
+CBNTehran<-CBN[ProvinceCode==23]
+CBNTehran[,sum(Weight*Size),by=ShahrestanCode]
+CBNTabriz<-CBN[ProvinceCode==3]
+CBNTabriz[,sum(Weight*Size),by=ShahrestanCode]
+CBNAhvaz<-CBN[ProvinceCode==6]
+CBNAhvaz[,sum(Weight*Size),by=ShahrestanCode]
+CBNShiraz<-CBN[ProvinceCode==7]
+CBNShiraz[,sum(Weight*Size),by=ShahrestanCode]
+CBNMashhad<-CBN[ProvinceCode==9]
+CBNMashhad[,sum(Weight*Size),by=ShahrestanCode]
+CBNEsfahan<-CBN[ProvinceCode==10]
+CBNEsfahan[,sum(Weight*Size),by=ShahrestanCode]
+CBNKaraj<-CBN[ProvinceCode==30]
+CBNKaraj[,sum(Weight*Size),by=ShahrestanCode]
+CBNKermanshah<-CBN[ProvinceCode==5]
+CBNKermanshah[,sum(Weight*Size),by=ShahrestanCode]
+
+
+# Food Calories
+CBN$Ghand_Calory<- CBN$Ghandgram *4
+CBN$Hoboobat_Calory<- CBN$Hoboobatgram *3
+CBN$Nan_Calory<- CBN$Nangram *2.5
+CBN$Berenj_Calory<- CBN$Berenjgram *1.2
+CBN$Roghan_Calory<- CBN$Roghangram *8
+CBN$Goosht_Calory<- CBN$Gooshtgram *2.5
+CBN$Morgh_Calory<- CBN$Morghgram *2
+CBN$Mahi_Calory<- CBN$Mahigram *1
+CBN$Shir_Calory<- CBN$Shirgram *2.5
+CBN$Mast_Calory<- CBN$Mastgram *1.5
+CBN$Panir_Calory<- CBN$Mastgram *2.5
+CBN$Tokhmemorgh_Calory<- CBN$Tokhmemorghgram *1.4
+CBN$Mive_Calory<- CBN$Mivegram *0.5
+CBN$Sabzi_Calory<- CBN$Sabzigram *0.5
+CBN$Makarooni_Calory<- CBN$Makaroonigram *3.6
+CBN$Sibzamini_Calory<- CBN$Sibzaminigram *0.9
+#utils::View(CBN)
+
+#CalculatePer_calories
+CBN[, Daily_Exp_Calories := Reduce(`+`, .SD), .SDcols=148:163][]
+CBN[,EqSizeCalory :=(Size-NKids) + NKids*(1800/2100)]
+CBN[,Per_Daily_Exp_Calories:=Daily_Exp_Calories/EqSizeCalory]
+CBN <- CBN[Per_Daily_Exp_Calories<100000] # arbitrary removal of outliers
+#CBN[,Daily_Calories_cluster:=weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+#CBN[,weighted.mean(Daily_Calories_cluster,Weight,na.rm = TRUE),by=cluster]
+#CBN[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+#CBN[,weighted.mean(Size,Weight,na.rm = TRUE),by=cluster]
+#CBN[,sum(Weight*Size),by=cluster]
+#CBN[,sum(Weight),by=cluster]
+#CBN[,sum(Poor),by=cluster]
+
+
+#Calculate_Per_calories
+CBN$Ghand_per_Calory<- CBN$Ghandgram *4/CBN$EqSizeCalory
+CBN$Hoboobat_per_Calory<- CBN$Hoboobatgram *3/CBN$EqSizeCalory
+CBN$Nan_per_Calory<- CBN$Nangram *2.5/CBN$EqSizeCalory
+CBN$Berenj_per_Calory<- CBN$Berenjgram *1.2/CBN$EqSizeCalory
+CBN$Roghan_per_Calory<- CBN$Roghangram *8/CBN$EqSizeCalory
+CBN$Goosht_per_Calory<- CBN$Gooshtgram *2.5/CBN$EqSizeCalory
+CBN$Morgh_per_Calory<- CBN$Morghgram *2/CBN$EqSizeCalory
+CBN$Mahi_per_Calory<- CBN$Mahigram *1/CBN$EqSizeCalory
+CBN$Shir_per_Calory<- CBN$Shirgram *2.5/CBN$EqSizeCalory
+CBN$Mast_per_Calory<- CBN$Mastgram *1.5/CBN$EqSizeCalory
+CBN$Panir_per_Calory<- CBN$Mastgram *2.5/CBN$EqSizeCalory
+CBN$Tokhmemorgh_per_Calory<- CBN$Tokhmemorghgram *1.4/CBN$EqSizeCalory
+CBN$Mive_per_Calory<- CBN$Mivegram *0.5/CBN$EqSizeCalory
+CBN$Sabzi_per_Calory<- CBN$Sabzigram *0.5/CBN$EqSizeCalory
+CBN$Makarooni_per_Calory<- CBN$Makaroonigram *3.6/CBN$EqSizeCalory
+CBN$Sibzamini_per_Calory<- CBN$Sibzaminigram *0.9/CBN$EqSizeCalory
+
+
+#Assume that deciles 1 and 2 are poor
+CBN[,Poor:=ifelse(Decile %in% 1:4,1,0)]
+CBNPoor<-CBN[Poor==1]
+
+#K-means weights
+PriceWeights<-CBN[,.(HHID,Ghand_W,Hoboobat_W,Roghan_W,Berenj_W,Nan_W,Goosht_W,Morgh_W,Mahi_W,Shir_W,Mast_W,Panir_W,Tokhmemorgh_W,Mive_W,Sabzi_W,Makarooni_W,Sibzamini_W,Home_W,ProvinceCode,Weight)]
+dt3 <- PriceWeights[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+dt3<- dt3[order(ProvinceCode)]
+dt3 <- dt3[,.(Ghand_W,Hoboobat_W,Roghan_W,Berenj_W,Nan_W,Goosht_W,Morgh_W,Mahi_W,Shir_W,Mast_W,Panir_W,Tokhmemorgh_W,Mive_W,Sabzi_W,Makarooni_W,Sibzamini_W,Home_W)]
+
+
+
+#K-means algorithm for clustering by prices
+test<-CBNPoor[,.(GhandPrice,HoboobatPrice,RoghanPrice,BerenjPrice,NanPrice,GooshtPrice,MorghPrice,MahiPrice,ShirPrice,MastPrice,PanirPrice,TokhmemorghPrice,MivePrice,SabziPrice,MakarooniPrice,SibzaminiPrice,MetrPrice,ProvinceCode,Weight)]
+#test<-CBNPoor[,.(GhandPrice,HoboobatPrice,RoghanPrice,BerenjPrice,NanPrice,GooshtPrice,MorghPrice,MahiPrice,ShirPrice,MastPrice,PanirPrice,TokhmemorghPrice,MivePrice,SabziPrice,MakarooniPrice,SibzaminiPrice,MetrPrice,Ghand_W,Hoboobat_W,Roghan_W,Berenj_W,Nan_W,Goosht_W,Morgh_W,Mahi_W,Shir_W,Mast_W,Panir_W,Tokhmemorgh_W,Mive_W,Sabzi_W,Makarooni_W,Sibzamini_W,Home_W,Region,ProvinceCode,Weight)]
+dt2 <- test[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+dt2<- dt2[order(ProvinceCode)]
+for (col in c("MahiPrice")) dt2[is.nan(get(col)), (col) := 200000]
+dt <- dt2 [,.(GhandPrice,HoboobatPrice,RoghanPrice,BerenjPrice,NanPrice,GooshtPrice,MorghPrice,MahiPrice,ShirPrice,MastPrice,PanirPrice,TokhmemorghPrice,MivePrice,SabziPrice,MakarooniPrice,SibzaminiPrice,MetrPrice)]
+
+
+pca <- princomp(dt, cor=T)
+PRICE <- pca$scores
+PRICE1 <- -1*PRICE[,1]
+PRICE2 <- -1*PRICE[,2]
+PRICE3 <- -1*PRICE[,3]
+PRICE4 <- -1*PRICE[,4]
+PRICE5 <- -1*PRICE[,5]
+PRICE6 <- -1*PRICE[,6]
+PRICE7 <- -1*PRICE[,7]
+PRICE8 <- -1*PRICE[,8]
+PRICE9 <- -1*PRICE[,9]
+PRICE10 <- -1*PRICE[,10]
+PRICE11 <- -1*PRICE[,11]
+PRICE12 <- -1*PRICE[,12]
+PRICE13 <- -1*PRICE[,13]
+PRICE14 <- -1*PRICE[,14]
+PRICE15 <- -1*PRICE[,15]
+PRICE16 <- -1*PRICE[,16]
+PRICE17 <- -1*PRICE[,17]
+
+# Deciding how many clusters
+wss <- (nrow(dt)-1)*sum(apply(dt,2,var))
+for (i in 2:30) wss[i] <- sum(kmeans(dt, centers=i)$withinss)
+plot(1:30, wss, type="b", xlab="Number of Clusters",
+ ylab="Within groups sum of squares")
+
+#Weighted clustering
+
+dt3.m <- dt3[,lapply(.SD, mean)] # Weights for each vector
+dtW <- dt * sqrt(dt3.m[rep(1,nrow(dt))]) # Weighted observations
+kmeans(dtW,4) # Simple K-means
+
+cl <- kmeans(dtW,4)
+cl$cluster
+dt2 <- dt2[,cluster:=data.table(cl$cluster)]
+dt2<-dt2[,.(ProvinceCode,cluster)]
+load(file="dt5Rural.rda")
+#plot(PRICE1, PRICE2,col=cl$cluster)
+#points(cl$centers, pch=20)
+CBNPoor<-merge(CBNPoor,dt2,by=c("ProvinceCode"),all.x = TRUE)
+CBNPoor[,sum(Weight*Size),by=cluster]
+CBNPoor[,sum(Weight),by=cluster]
+CBNPoor[,sum(Poor),by=cluster]
+C2<-CBNPoor[,.(HHID,ProvinceCode,Region,Decile,Poor,cluster)]
+######################################################################
+
+
+
+
+
+
+
+
+
+####Iteration 1#####
+###Iteration1-1
+#Calculate Per_calories in clusters
+CBNPoor[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(185:200)][]
+#utils::View(CBNPoor)
+
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(202:217)][]
+
+CBNPoor[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor<-CBNPoor[Per_Daily_Exp_Calories!=0]
+CBNPoor[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+#CBN[,weighted.mean(Poor,Weight),by=cluster][order(cluster)]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE)]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE)]
+
+#Real Prices
+T_Bundle_Value<-subset(CBNPoor, ProvinceCode==23, select=c(Bundle_Value,Home_Per_Metr,Weight))
+Tehran_Bundle_Value1<-weighted.mean(T_Bundle_Value$Bundle_Value,T_Bundle_Value$Weight,na.rm = TRUE)
+Tehran_Bundle_Value2<-weighted.mean(T_Bundle_Value$Home_Per_Metr,T_Bundle_Value$Weight,na.rm = TRUE)
+CBNPoor[,RealPriceIndex1:=weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/Tehran_Bundle_Value1,by=ProvinceCode]
+CBNPoor[,RealPriceIndex2:=weighted.mean(Home_Per_Metr,Weight,na.rm = TRUE)/Tehran_Bundle_Value2,by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex1,Weight),by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex2,Weight),by=ProvinceCode]
+Indexes2<-CBNPoor[,.(RealPriceIndex1,RealPriceIndex2,ProvinceCode,Weight)]
+Indexes2<-Indexes2[,RealPriceIndex:=(RealPriceIndex1+RealPriceIndex2)/2]
+Indexes<-Indexes2[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+Indexes31<-Indexes[,.(ProvinceCode,RealPriceIndex1,RealPriceIndex2,RealPriceIndex)]
+Indexes<-Indexes[,.(ProvinceCode,RealPriceIndex)]
+CBN<-merge(CBN,Indexes,by=c("ProvinceCode"),all.x = TRUE)
+CBN<-CBN[,Total_Food_Month_Per2:=FoodExpenditure_Per*RealPriceIndex]
+CBN<-CBN[,Total_Exp_Month_Per2:=Total_Exp_Month_Per_nondurable*RealPriceIndex]
+#utils::View(CBN)
+
+#Sort Expenditure data
+CBN<- CBN[order(Total_Exp_Month_Per2)]
+
+#Calculate cumulative weights
+sum(CBN$Weight)
+CBN$cumweight <- cumsum(CBN$Weight)
+tx <- max(CBN$cumweight)
+
+#Calculate deciles by weights
+CBN[,Decile:=cut(cumweight,breaks = seq(0,tx,tx/10),labels = 1:10)]
+CBN[,Percentile:=cut(cumweight,breaks=seq(0,tx,tx/100),labels=1:100)]
+
+#Update Poors
+CBN[,Poor:=ifelse(Decile %in% 1:4,1,0)]
+CBNPoor<-CBN[Poor==1]
+CBNPoor<-merge(CBNPoor,dt2,by=c("ProvinceCode"),all.x = TRUE)
+CBNPoor[,sum(HIndivNo),by=.(ProvinceCode)][order(ProvinceCode)]
+CBNPoor[,sum(HIndivNo)]
+
+###Iteration1-2
+#Calculate Per_calories in clusters
+CBNPoor[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(185:200)][]
+#utils::View(CBNPoor)
+
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(202:217)][]
+
+CBNPoor[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor<-CBNPoor[Per_Daily_Exp_Calories!=0]
+CBNPoor[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+#CBN[,weighted.mean(Poor,Weight),by=cluster][order(cluster)]
+
+#Real Prices
+T_Bundle_Value<-subset(CBNPoor, ProvinceCode==23, select=c(Bundle_Value,Home_Per_Metr,Weight))
+Tehran_Bundle_Value1<-weighted.mean(T_Bundle_Value$Bundle_Value,T_Bundle_Value$Weight,na.rm = TRUE)
+Tehran_Bundle_Value2<-weighted.mean(T_Bundle_Value$Home_Per_Metr,T_Bundle_Value$Weight,na.rm = TRUE)
+CBNPoor[,RealPriceIndex1:=weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/Tehran_Bundle_Value1,by=ProvinceCode]
+CBNPoor[,RealPriceIndex2:=weighted.mean(Home_Per_Metr,Weight,na.rm = TRUE)/Tehran_Bundle_Value2,by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex1,Weight),by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex2,Weight),by=ProvinceCode]
+Indexes2<-CBNPoor[,.(RealPriceIndex1,RealPriceIndex2,ProvinceCode,Weight)]
+Indexes2<-Indexes2[,RealPriceIndex:=(RealPriceIndex1+RealPriceIndex2)/2]
+Indexes<-Indexes2[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+Indexes32<-Indexes[,.(ProvinceCode,RealPriceIndex1,RealPriceIndex2,RealPriceIndex)]
+Indexes<-Indexes[,.(ProvinceCode,RealPriceIndex)]
+CBN[,RealPriceIndex:=NULL]
+CBN<-merge(CBN,Indexes,by=c("ProvinceCode"),all.x = TRUE)
+CBN<-CBN[,Total_Food_Month_Per2:=FoodExpenditure_Per*RealPriceIndex]
+CBN<-CBN[,Total_Exp_Month_Per2:=Total_Exp_Month_Per_nondurable*RealPriceIndex]
+#utils::View(CBN)
+
+#Sort Expenditure data
+CBN<- CBN[order(Total_Exp_Month_Per2)]
+
+#Calculate cumulative weights
+sum(CBN$Weight)
+CBN$cumweight <- cumsum(CBN$Weight)
+tx <- max(CBN$cumweight)
+
+#Calculate deciles by weights
+CBN[,Decile:=cut(cumweight,breaks = seq(0,tx,tx/10),labels = 1:10)]
+CBN[,Percentile:=cut(cumweight,breaks=seq(0,tx,tx/100),labels=1:100)]
+
+#Update Poors
+CBN[,Poor:=ifelse(Decile %in% 1:4,1,0)]
+CBNPoor<-CBN[Poor==1]
+CBNPoor<-merge(CBNPoor,dt2,by=c("ProvinceCode"),all.x = TRUE)
+CBNPoor[,sum(HIndivNo),by=.(ProvinceCode)][order(ProvinceCode)]
+
+###Iteration1-3
+#Calculate Per_calories in clusters
+CBNPoor[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(185:200)][]
+#utils::View(CBNPoor)
+
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(202:217)][]
+
+CBNPoor[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor<-CBNPoor[Per_Daily_Exp_Calories!=0]
+CBNPoor[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+#CBN[,weighted.mean(Poor,Weight),by=cluster][order(cluster)]
+
+#Real Prices
+T_Bundle_Value<-subset(CBNPoor, ProvinceCode==23, select=c(Bundle_Value,Home_Per_Metr,Weight))
+Tehran_Bundle_Value1<-weighted.mean(T_Bundle_Value$Bundle_Value,T_Bundle_Value$Weight,na.rm = TRUE)
+Tehran_Bundle_Value2<-weighted.mean(T_Bundle_Value$Home_Per_Metr,T_Bundle_Value$Weight,na.rm = TRUE)
+CBNPoor[,RealPriceIndex1:=weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/Tehran_Bundle_Value1,by=ProvinceCode]
+CBNPoor[,RealPriceIndex2:=weighted.mean(Home_Per_Metr,Weight,na.rm = TRUE)/Tehran_Bundle_Value2,by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex1,Weight),by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex2,Weight),by=ProvinceCode]
+Indexes2<-CBNPoor[,.(RealPriceIndex1,RealPriceIndex2,ProvinceCode,Weight)]
+Indexes2<-Indexes2[,RealPriceIndex:=(RealPriceIndex1+RealPriceIndex2)/2]
+Indexes<-Indexes2[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+Indexes33<-Indexes[,.(ProvinceCode,RealPriceIndex1,RealPriceIndex2,RealPriceIndex)]
+Indexes<-Indexes[,.(ProvinceCode,RealPriceIndex)]
+CBN[,RealPriceIndex:=NULL]
+CBN<-merge(CBN,Indexes,by=c("ProvinceCode"),all.x = TRUE)
+CBN<-CBN[,Total_Food_Month_Per2:=FoodExpenditure_Per*RealPriceIndex]
+CBN<-CBN[,Total_Exp_Month_Per2:=Total_Exp_Month_Per_nondurable*RealPriceIndex]
+#utils::View(CBN)
+
+#Sort Expenditure data
+CBN<- CBN[order(Total_Exp_Month_Per2)]
+
+#Calculate cumulative weights
+sum(CBN$Weight)
+CBN$cumweight <- cumsum(CBN$Weight)
+tx <- max(CBN$cumweight)
+
+#Calculate deciles by weights
+CBN[,Decile:=cut(cumweight,breaks = seq(0,tx,tx/10),labels = 1:10)]
+CBN[,Percentile:=cut(cumweight,breaks=seq(0,tx,tx/100),labels=1:100)]
+
+#Update Poors
+CBN[,Poor:=ifelse(Decile %in% 1:4,1,0)]
+CBNPoor<-CBN[Poor==1]
+CBNPoor<-merge(CBNPoor,dt2,by=c("ProvinceCode"),all.x = TRUE)
+CBNPoor[,sum(HIndivNo),by=.(ProvinceCode)][order(ProvinceCode)]
+
+
+###Iteration1-4
+#Calculate Per_calories in clusters
+CBNPoor[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(185:200)][]
+#utils::View(CBNPoor)
+
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(202:217)][]
+
+CBNPoor[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor<-CBNPoor[Per_Daily_Exp_Calories!=0]
+CBNPoor[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+#CBN[,weighted.mean(Poor,Weight),by=cluster][order(cluster)]
+
+#Real Prices
+T_Bundle_Value<-subset(CBNPoor, ProvinceCode==23, select=c(Bundle_Value,Home_Per_Metr,Weight))
+Tehran_Bundle_Value1<-weighted.mean(T_Bundle_Value$Bundle_Value,T_Bundle_Value$Weight,na.rm = TRUE)
+Tehran_Bundle_Value2<-weighted.mean(T_Bundle_Value$Home_Per_Metr,T_Bundle_Value$Weight,na.rm = TRUE)
+CBNPoor[,RealPriceIndex1:=weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/Tehran_Bundle_Value1,by=ProvinceCode]
+CBNPoor[,RealPriceIndex2:=weighted.mean(Home_Per_Metr,Weight,na.rm = TRUE)/Tehran_Bundle_Value2,by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex1,Weight),by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex2,Weight),by=ProvinceCode]
+Indexes2<-CBNPoor[,.(RealPriceIndex1,RealPriceIndex2,ProvinceCode,Weight)]
+Indexes2<-Indexes2[,RealPriceIndex:=(RealPriceIndex1+RealPriceIndex2)/2]
+Indexes<-Indexes2[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+Indexes34<-Indexes[,.(ProvinceCode,RealPriceIndex1,RealPriceIndex2,RealPriceIndex)]
+Indexes<-Indexes[,.(ProvinceCode,RealPriceIndex)]
+CBN[,RealPriceIndex:=NULL]
+CBN<-merge(CBN,Indexes,by=c("ProvinceCode"),all.x = TRUE)
+CBN<-CBN[,Total_Food_Month_Per2:=FoodExpenditure_Per*RealPriceIndex]
+CBN<-CBN[,Total_Exp_Month_Per2:=Total_Exp_Month_Per_nondurable*RealPriceIndex]
+#utils::View(CBN)
+
+
+#Sort Expenditure data
+CBN<- CBN[order(Total_Exp_Month_Per2)]
+
+#Calculate cumulative weights
+sum(CBN$Weight)
+CBN$cumweight <- cumsum(CBN$Weight)
+tx <- max(CBN$cumweight)
+
+#Calculate deciles by weights
+CBN[,Decile:=cut(cumweight,breaks = seq(0,tx,tx/10),labels = 1:10)]
+CBN[,Percentile:=cut(cumweight,breaks=seq(0,tx,tx/100),labels=1:100)]
+
+#Update Poors
+CBN[,Poor:=ifelse(Decile %in% 1:4,1,0)]
+CBNPoor<-CBN[Poor==1]
+CBNPoor<-merge(CBNPoor,dt2,by=c("ProvinceCode"),all.x = TRUE)
+CBNPoor[,sum(HIndivNo),by=.(ProvinceCode)][order(ProvinceCode)]
+
+###Iteration1-5
+#Calculate Per_calories in clusters
+CBNPoor[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(185:200)][]
+#utils::View(CBNPoor)
+
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(202:217)][]
+
+CBNPoor[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor<-CBNPoor[Per_Daily_Exp_Calories!=0]
+CBNPoor[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+#CBN[,weighted.mean(Poor,Weight),by=cluster][order(cluster)]
+
+#Real Prices
+T_Bundle_Value<-subset(CBNPoor, ProvinceCode==23, select=c(Bundle_Value,Home_Per_Metr,Weight))
+Tehran_Bundle_Value1<-weighted.mean(T_Bundle_Value$Bundle_Value,T_Bundle_Value$Weight,na.rm = TRUE)
+Tehran_Bundle_Value2<-weighted.mean(T_Bundle_Value$Home_Per_Metr,T_Bundle_Value$Weight,na.rm = TRUE)
+CBNPoor[,RealPriceIndex1:=weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/Tehran_Bundle_Value1,by=ProvinceCode]
+CBNPoor[,RealPriceIndex2:=weighted.mean(Home_Per_Metr,Weight,na.rm = TRUE)/Tehran_Bundle_Value2,by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex1,Weight),by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex2,Weight),by=ProvinceCode]
+Indexes2<-CBNPoor[,.(RealPriceIndex1,RealPriceIndex2,ProvinceCode,Weight)]
+Indexes2<-Indexes2[,RealPriceIndex:=(RealPriceIndex1+RealPriceIndex2)/2]
+Indexes<-Indexes2[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+Indexes35<-Indexes[,.(ProvinceCode,RealPriceIndex1,RealPriceIndex2,RealPriceIndex)]
+Indexes<-Indexes[,.(ProvinceCode,RealPriceIndex)]
+CBN[,RealPriceIndex:=NULL]
+CBN<-merge(CBN,Indexes,by=c("ProvinceCode"),all.x = TRUE)
+CBN<-CBN[,Total_Food_Month_Per2:=FoodExpenditure_Per*RealPriceIndex]
+CBN<-CBN[,Total_Exp_Month_Per2:=Total_Exp_Month_Per_nondurable*RealPriceIndex]
+#utils::View(CBN)
+
+
+#Sort Expenditure data
+CBN<- CBN[order(Total_Exp_Month_Per2)]
+
+#Calculate cumulative weights
+sum(CBN$Weight)
+CBN$cumweight <- cumsum(CBN$Weight)
+tx <- max(CBN$cumweight)
+
+#Calculate deciles by weights
+CBN[,Decile:=cut(cumweight,breaks = seq(0,tx,tx/10),labels = 1:10)]
+CBN[,Percentile:=cut(cumweight,breaks=seq(0,tx,tx/100),labels=1:100)]
+
+#Update Poors
+CBN[,Poor:=ifelse(Decile %in% 1:4,1,0)]
+CBNPoor<-CBN[Poor==1]
+CBNPoor<-merge(CBNPoor,dt2,by=c("ProvinceCode"),all.x = TRUE)
+CBNPoor[,sum(HIndivNo),by=.(ProvinceCode)][order(ProvinceCode)]
+
+###Iteration1-6
+#Calculate Per_calories in clusters
+CBNPoor[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(185:200)][]
+#utils::View(CBNPoor)
+
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(202:217)][]
+
+CBNPoor[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor<-CBNPoor[Per_Daily_Exp_Calories!=0]
+CBNPoor[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+#CBN[,weighted.mean(Poor,Weight),by=cluster][order(cluster)]
+
+#Real Prices
+T_Bundle_Value<-subset(CBNPoor, ProvinceCode==23, select=c(Bundle_Value,Home_Per_Metr,Weight))
+Tehran_Bundle_Value1<-weighted.mean(T_Bundle_Value$Bundle_Value,T_Bundle_Value$Weight,na.rm = TRUE)
+Tehran_Bundle_Value2<-weighted.mean(T_Bundle_Value$Home_Per_Metr,T_Bundle_Value$Weight,na.rm = TRUE)
+CBNPoor[,RealPriceIndex1:=weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/Tehran_Bundle_Value1,by=ProvinceCode]
+CBNPoor[,RealPriceIndex2:=weighted.mean(Home_Per_Metr,Weight,na.rm = TRUE)/Tehran_Bundle_Value2,by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex1,Weight),by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex2,Weight),by=ProvinceCode]
+Indexes2<-CBNPoor[,.(RealPriceIndex1,RealPriceIndex2,ProvinceCode,Weight)]
+Indexes2<-Indexes2[,RealPriceIndex:=(RealPriceIndex1+RealPriceIndex2)/2]
+Indexes<-Indexes2[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+Indexes36<-Indexes[,.(ProvinceCode,RealPriceIndex1,RealPriceIndex2,RealPriceIndex)]
+Indexes<-Indexes[,.(ProvinceCode,RealPriceIndex)]
+CBN[,RealPriceIndex:=NULL]
+CBN<-merge(CBN,Indexes,by=c("ProvinceCode"),all.x = TRUE)
+CBN<-CBN[,Total_Food_Month_Per2:=FoodExpenditure_Per*RealPriceIndex]
+CBN<-CBN[,Total_Exp_Month_Per2:=Total_Exp_Month_Per_nondurable*RealPriceIndex]
+#utils::View(CBN)
+
+
+#Sort Expenditure data
+CBN<- CBN[order(Total_Exp_Month_Per2)]
+
+#Calculate cumulative weights
+sum(CBN$Weight)
+CBN$cumweight <- cumsum(CBN$Weight)
+tx <- max(CBN$cumweight)
+
+#Calculate deciles by weights
+CBN[,Decile:=cut(cumweight,breaks = seq(0,tx,tx/10),labels = 1:10)]
+CBN[,Percentile:=cut(cumweight,breaks=seq(0,tx,tx/100),labels=1:100)]
+
+#Update Poors
+CBN[,Poor:=ifelse(Decile %in% 1:4,1,0)]
+CBNPoor<-CBN[Poor==1]
+CBNPoor<-merge(CBNPoor,dt2,by=c("ProvinceCode"),all.x = TRUE)
+CBNPoor[,sum(HIndivNo),by=.(ProvinceCode)][order(ProvinceCode)]
+
+###Iteration1-7
+#Calculate Per_calories in clusters
+CBNPoor[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(185:200)][]
+#utils::View(CBNPoor)
+
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(202:217)][]
+
+CBNPoor[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor<-CBNPoor[Per_Daily_Exp_Calories!=0]
+CBNPoor[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+#CBN[,weighted.mean(Poor,Weight),by=cluster][order(cluster)]
+
+#Real Prices
+T_Bundle_Value<-subset(CBNPoor, ProvinceCode==23, select=c(Bundle_Value,Home_Per_Metr,Weight))
+Tehran_Bundle_Value1<-weighted.mean(T_Bundle_Value$Bundle_Value,T_Bundle_Value$Weight,na.rm = TRUE)
+Tehran_Bundle_Value2<-weighted.mean(T_Bundle_Value$Home_Per_Metr,T_Bundle_Value$Weight,na.rm = TRUE)
+CBNPoor[,RealPriceIndex1:=weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/Tehran_Bundle_Value1,by=ProvinceCode]
+CBNPoor[,RealPriceIndex2:=weighted.mean(Home_Per_Metr,Weight,na.rm = TRUE)/Tehran_Bundle_Value2,by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex1,Weight),by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex2,Weight),by=ProvinceCode]
+Indexes2<-CBNPoor[,.(RealPriceIndex1,RealPriceIndex2,ProvinceCode,Weight)]
+Indexes2<-Indexes2[,RealPriceIndex:=(RealPriceIndex1+RealPriceIndex2)/2]
+Indexes<-Indexes2[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+Indexes37<-Indexes[,.(ProvinceCode,RealPriceIndex1,RealPriceIndex2,RealPriceIndex)]
+Indexes<-Indexes[,.(ProvinceCode,RealPriceIndex)]
+CBN[,RealPriceIndex:=NULL]
+CBN<-merge(CBN,Indexes,by=c("ProvinceCode"),all.x = TRUE)
+CBN<-CBN[,Total_Food_Month_Per2:=FoodExpenditure_Per*RealPriceIndex]
+CBN<-CBN[,Total_Exp_Month_Per2:=Total_Exp_Month_Per_nondurable*RealPriceIndex]
+#utils::View(CBN)
+
+
+#Sort Expenditure data
+CBN<- CBN[order(Total_Exp_Month_Per2)]
+
+#Calculate cumulative weights
+sum(CBN$Weight)
+CBN$cumweight <- cumsum(CBN$Weight)
+tx <- max(CBN$cumweight)
+
+#Calculate deciles by weights
+CBN[,Decile:=cut(cumweight,breaks = seq(0,tx,tx/10),labels = 1:10)]
+CBN[,Percentile:=cut(cumweight,breaks=seq(0,tx,tx/100),labels=1:100)]
+
+#Update Poors
+CBN[,Poor:=ifelse(Decile %in% 1:4,1,0)]
+CBNPoor<-CBN[Poor==1]
+CBNPoor<-merge(CBNPoor,dt2,by=c("ProvinceCode"),all.x = TRUE)
+CBNPoor[,sum(HIndivNo),by=.(ProvinceCode)][order(ProvinceCode)]
+
+###Iteration1-8
+#Calculate Per_calories in clusters
+CBNPoor[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(185:200)][]
+#utils::View(CBNPoor)
+
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(202:217)][]
+
+CBNPoor[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor<-CBNPoor[Per_Daily_Exp_Calories!=0]
+CBNPoor[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+#CBN[,weighted.mean(Poor,Weight),by=cluster][order(cluster)]
+
+#Real Prices
+T_Bundle_Value<-subset(CBNPoor, ProvinceCode==23, select=c(Bundle_Value,Home_Per_Metr,Weight))
+Tehran_Bundle_Value1<-weighted.mean(T_Bundle_Value$Bundle_Value,T_Bundle_Value$Weight,na.rm = TRUE)
+Tehran_Bundle_Value2<-weighted.mean(T_Bundle_Value$Home_Per_Metr,T_Bundle_Value$Weight,na.rm = TRUE)
+CBNPoor[,RealPriceIndex1:=weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/Tehran_Bundle_Value1,by=ProvinceCode]
+CBNPoor[,RealPriceIndex2:=weighted.mean(Home_Per_Metr,Weight,na.rm = TRUE)/Tehran_Bundle_Value2,by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex1,Weight),by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex2,Weight),by=ProvinceCode]
+Indexes2<-CBNPoor[,.(RealPriceIndex1,RealPriceIndex2,ProvinceCode,Weight)]
+Indexes2<-Indexes2[,RealPriceIndex:=(RealPriceIndex1+RealPriceIndex2)/2]
+Indexes<-Indexes2[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+Indexes38<-Indexes[,.(ProvinceCode,RealPriceIndex1,RealPriceIndex2,RealPriceIndex)]
+Indexes<-Indexes[,.(ProvinceCode,RealPriceIndex)]
+CBN[,RealPriceIndex:=NULL]
+CBN<-merge(CBN,Indexes,by=c("ProvinceCode"),all.x = TRUE)
+CBN<-CBN[,Total_Food_Month_Per2:=FoodExpenditure_Per*RealPriceIndex]
+CBN<-CBN[,Total_Exp_Month_Per2:=Total_Exp_Month_Per_nondurable*RealPriceIndex]
+#utils::View(CBN)
+
+
+#Sort Expenditure data
+CBN<- CBN[order(Total_Exp_Month_Per2)]
+
+#Calculate cumulative weights
+sum(CBN$Weight)
+CBN$cumweight <- cumsum(CBN$Weight)
+tx <- max(CBN$cumweight)
+
+#Calculate deciles by weights
+CBN[,Decile:=cut(cumweight,breaks = seq(0,tx,tx/10),labels = 1:10)]
+CBN[,Percentile:=cut(cumweight,breaks=seq(0,tx,tx/100),labels=1:100)]
+
+#Update Poors
+CBN[,Poor:=ifelse(Decile %in% 1:4,1,0)]
+CBNPoor<-CBN[Poor==1]
+CBNPoor<-merge(CBNPoor,dt2,by=c("ProvinceCode"),all.x = TRUE)
+CBNPoor[,sum(HIndivNo),by=.(ProvinceCode)][order(ProvinceCode)]
+
+###Iteration1-9
+#Calculate Per_calories in clusters
+CBNPoor[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(185:200)][]
+#utils::View(CBNPoor)
+
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(202:217)][]
+
+CBNPoor[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor<-CBNPoor[Per_Daily_Exp_Calories!=0]
+CBNPoor[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+#CBN[,weighted.mean(Poor,Weight),by=cluster][order(cluster)]
+
+#Real Prices
+T_Bundle_Value<-subset(CBNPoor, ProvinceCode==23, select=c(Bundle_Value,Home_Per_Metr,Weight))
+Tehran_Bundle_Value1<-weighted.mean(T_Bundle_Value$Bundle_Value,T_Bundle_Value$Weight,na.rm = TRUE)
+Tehran_Bundle_Value2<-weighted.mean(T_Bundle_Value$Home_Per_Metr,T_Bundle_Value$Weight,na.rm = TRUE)
+CBNPoor[,RealPriceIndex1:=weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/Tehran_Bundle_Value1,by=ProvinceCode]
+CBNPoor[,RealPriceIndex2:=weighted.mean(Home_Per_Metr,Weight,na.rm = TRUE)/Tehran_Bundle_Value2,by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex1,Weight),by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex2,Weight),by=ProvinceCode]
+Indexes2<-CBNPoor[,.(RealPriceIndex1,RealPriceIndex2,ProvinceCode,Weight)]
+Indexes2<-Indexes2[,RealPriceIndex:=(RealPriceIndex1+RealPriceIndex2)/2]
+Indexes<-Indexes2[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+Indexes39<-Indexes[,.(ProvinceCode,RealPriceIndex1,RealPriceIndex2,RealPriceIndex)]
+Indexes<-Indexes[,.(ProvinceCode,RealPriceIndex)]
+CBN[,RealPriceIndex:=NULL]
+CBN<-merge(CBN,Indexes,by=c("ProvinceCode"),all.x = TRUE)
+CBN<-CBN[,Total_Food_Month_Per2:=FoodExpenditure_Per*RealPriceIndex]
+CBN<-CBN[,Total_Exp_Month_Per2:=Total_Exp_Month_Per_nondurable*RealPriceIndex]
+#utils::View(CBN)
+
+
+#Sort Expenditure data
+CBN<- CBN[order(Total_Exp_Month_Per2)]
+
+#Calculate cumulative weights
+sum(CBN$Weight)
+CBN$cumweight <- cumsum(CBN$Weight)
+tx <- max(CBN$cumweight)
+
+#Calculate deciles by weights
+CBN[,Decile:=cut(cumweight,breaks = seq(0,tx,tx/10),labels = 1:10)]
+CBN[,Percentile:=cut(cumweight,breaks=seq(0,tx,tx/100),labels=1:100)]
+
+#Update Poors
+CBN[,Poor:=ifelse(Decile %in% 1:4,1,0)]
+CBNPoor<-CBN[Poor==1]
+CBNPoor<-merge(CBNPoor,dt2,by=c("ProvinceCode"),all.x = TRUE)
+CBNPoor[,sum(HIndivNo),by=.(ProvinceCode)][order(ProvinceCode)]
+
+###Iteration1-10
+#Calculate Per_calories in clusters
+CBNPoor[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(185:200)][]
+#utils::View(CBNPoor)
+
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(202:217)][]
+
+CBNPoor[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor<-CBNPoor[Per_Daily_Exp_Calories!=0]
+CBNPoor[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+#CBN[,weighted.mean(Poor,Weight),by=cluster][order(cluster)]
+
+#Real Prices
+T_Bundle_Value<-subset(CBNPoor, ProvinceCode==23, select=c(Bundle_Value,Home_Per_Metr,Weight))
+Tehran_Bundle_Value1<-weighted.mean(T_Bundle_Value$Bundle_Value,T_Bundle_Value$Weight,na.rm = TRUE)
+Tehran_Bundle_Value2<-weighted.mean(T_Bundle_Value$Home_Per_Metr,T_Bundle_Value$Weight,na.rm = TRUE)
+CBNPoor[,RealPriceIndex1:=weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/Tehran_Bundle_Value1,by=ProvinceCode]
+CBNPoor[,RealPriceIndex2:=weighted.mean(Home_Per_Metr,Weight,na.rm = TRUE)/Tehran_Bundle_Value2,by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex1,Weight),by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex2,Weight),by=ProvinceCode]
+Indexes2<-CBNPoor[,.(RealPriceIndex1,RealPriceIndex2,ProvinceCode,Weight)]
+Indexes2<-Indexes2[,RealPriceIndex:=(RealPriceIndex1+RealPriceIndex2)/2]
+Indexes<-Indexes2[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+Indexes310<-Indexes[,.(ProvinceCode,RealPriceIndex1,RealPriceIndex2,RealPriceIndex)]
+Indexes<-Indexes[,.(ProvinceCode,RealPriceIndex)]
+CBN[,RealPriceIndex:=NULL]
+CBN<-merge(CBN,Indexes,by=c("ProvinceCode"),all.x = TRUE)
+CBN<-CBN[,Total_Food_Month_Per2:=FoodExpenditure_Per*RealPriceIndex]
+CBN<-CBN[,Total_Exp_Month_Per2:=Total_Exp_Month_Per_nondurable*RealPriceIndex]
+#utils::View(CBN)
+
+
+#Sort Expenditure data
+CBN<- CBN[order(Total_Exp_Month_Per2)]
+
+#Calculate cumulative weights
+sum(CBN$Weight)
+CBN$cumweight <- cumsum(CBN$Weight)
+tx <- max(CBN$cumweight)
+
+#Calculate deciles by weights
+CBN[,Decile:=cut(cumweight,breaks = seq(0,tx,tx/10),labels = 1:10)]
+CBN[,Percentile:=cut(cumweight,breaks=seq(0,tx,tx/100),labels=1:100)]
+
+#Update Poors
+CBN[,Poor:=ifelse(Decile %in% 1:4,1,0)]
+CBNPoor<-CBN[Poor==1]
+CBNPoor<-merge(CBNPoor,dt2,by=c("ProvinceCode"),all.x = TRUE)
+CBNPoor[,sum(HIndivNo),by=.(ProvinceCode)][order(ProvinceCode)]
+
+
+#Calculate Per_calories in clusters
+CBNPoor[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(189:204)][]
+#utils::View(CBNPoor)
+
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(206:221)][]
+
+CBNPoor[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor<-CBNPoor[Per_Daily_Exp_Calories!=0]
+CBNPoor[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNCalory<-CBNPoor[,.(Per_Daily_Calories,Per_Daily_Exp_Calories,Per_Calory_Resturant,Resturant_Exp,cluster,ProvinceCode)]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+
+
+#Calculations
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_day,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,sum(Size*Weight),by=cluster][order(cluster)]
+
+
+#Food Poverty Line for each cluster
+#cluster 1
+CBNPoorCluster<-CBNPoor[cluster==1]
+Food_Povertyline1_1<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 2
+CBNPoorCluster<-CBNPoor[cluster==2]
+Food_Povertyline2_1<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 3
+CBNPoorCluster<-CBNPoor[cluster==3]
+Food_Povertyline3_1<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 4
+CBNPoorCluster<-CBNPoor[cluster==4]
+Food_Povertyline4_1<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 5
+CBNPoorCluster<-CBNPoor[cluster==5]
+Food_Povertyline5_1<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#ee<-CBNPoor[,.(Total_Exp_Month_Real,Total_Exp_Month,Total_Food_Month_Per2,Total_Exp_Month_Per_nondurable,Total_Exp_Month_nondurable_Real_Per,FoodExpenditure_Per,cluster)]
+#mean(ee[,Total_Food_Month_Per2==Total_Exp_Month_nondurable_Real])
+#mean(ee[,Total_Food_Month_Per2<3500000])
+#ee<- ee[order(Total_Food_Month_Per2)]
+#utils::View(CBN)
+CBN<-merge(CBN,dt2,by=c("ProvinceCode"),all.x = TRUE)
+#for (col in c("Total_Food_Month_Per2")) CBN[is.na(get(col)), (col) := Total_Exp_Month_Per_nondurable]
+c<-CBN[,.(FoodExpenditure_Per,FoodExpenditure_Per_total,Total_Exp_Month_Per_nondurable,Total_Exp_Month,Total_Food_Month_Per2,Poor,Decile,Weight,cluster)]
+
+#########Iteration 2###############
+#Sort Expenditure data
+CBN<- CBN[order(Total_Food_Month_Per2)]
+c<- c[order(Total_Food_Month_Per2)]
+
+#Indicate new poors
+CBN[,Poor2:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_1 & cluster==1,1,0)]
+c[,Poor2:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_1 & cluster==1 ,1,0)]
+CBN[,Poor2:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_1 & cluster==2,1,Poor2)]
+c[,Poor2:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_1 & cluster==2 ,1,Poor2)]
+CBN[,Poor2:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_1 & cluster==3,1,Poor2)]
+c[,Poor2:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_1 & cluster==3 ,1,Poor2)]
+CBN[,Poor2:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_1 & cluster==4,1,Poor2)]
+c[,Poor2:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_1 & cluster==4 ,1,Poor2)]
+CBN[,Poor2:=ifelse(FoodExpenditure_Per_total < Food_Povertyline5_1 & cluster==5,1,Poor2)]
+c[,Poor2:=ifelse(FoodExpenditure_Per_total < Food_Povertyline5_1 & cluster==5 ,1,Poor2)]
+CBN[,weighted.mean(Poor2,Weight),by=cluster][order(cluster)]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2<-CBN[Poor2==1]
+
+
+#CalculatePer_calories in clusters
+CBNPoor2[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(190:205)][]
+#utils::View(CBNPoor2)
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor2[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(207:222)][]
+
+CBNPoor2[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor2[,Calory_Price:=FoodExpenditure_Per_cluster/(Daily_Calories_cluster2)]
+CBNPoor2[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor2[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2<-CBNPoor2[Per_Daily_Exp_Calories!=0]
+CBNPoor2[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor2[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor2[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor2[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor2[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor2[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+
+
+
+#Calculations
+CBNPoor2[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,weighted.mean(FoodExpenditure_Per_day,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+
+
+
+#Food Poverty Line for each cluster
+#cluster 1
+CBNPoorCluster<-CBNPoor2[cluster==1]
+Food_Povertyline1_2<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 2
+CBNPoorCluster<-CBNPoor2[cluster==2]
+Food_Povertyline2_2<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 3
+CBNPoorCluster<-CBNPoor2[cluster==3]
+Food_Povertyline3_2<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 4
+CBNPoorCluster<-CBNPoor2[cluster==4]
+Food_Povertyline4_2<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 5
+CBNPoorCluster<-CBNPoor[cluster==5]
+Food_Povertyline5_2<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#ee<-CBNPoor[,.(Total_Exp_Month_Real,Total_Exp_Month,Total_Food_Month_Per2,Total_Exp_Month_Per_nondurable,Total_Exp_Month_nondurable_Real_Per,FoodExpenditure_Per,cluster)]
+#mean(ee[,Total_Food_Month_Per2==Total_Exp_Month_nondurable_Real])
+#mean(ee[,Total_Food_Month_Per2<3500000])
+#ee<- ee[order(Total_Food_Month_Per2)]
+#utils::View(CBN)
+#for (col in c("Total_Food_Month_Per2")) CBN[is.na(get(col)), (col) := Total_Exp_Month_Per_nondurable]
+c<-CBN[,.(FoodExpenditure_Per,FoodExpenditure_Per_total,Total_Exp_Month_Per_nondurable,Total_Exp_Month,Total_Food_Month_Per2,Poor,Decile,Weight,cluster)]
+
+
+#########Iteration 3###############
+#Sort Expenditure data
+CBN<- CBN[order(Total_Food_Month_Per2)]
+c<- c[order(Total_Food_Month_Per2)]
+
+#Indicate new poors
+CBN[,Poor3:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_2 & cluster==1,1,0)]
+c[,Poor3:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_2 & cluster==1 ,1,0)]
+CBN[,Poor3:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_2 & cluster==2,1,Poor3)]
+c[,Poor3:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_2 & cluster==2 ,1,Poor3)]
+CBN[,Poor3:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_2 & cluster==3,1,Poor3)]
+c[,Poor3:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_2 & cluster==3 ,1,Poor3)]
+CBN[,Poor3:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_2 & cluster==4,1,Poor3)]
+c[,Poor3:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_2 & cluster==4 ,1,Poor3)]
+CBN[,Poor3:=ifelse(FoodExpenditure_Per_total < Food_Povertyline5_2 & cluster==5,1,Poor3)]
+c[,Poor3:=ifelse(FoodExpenditure_Per_total < Food_Povertyline5_2 & cluster==5 ,1,Poor3)]
+CBN[,weighted.mean(Poor3,Weight),by=cluster][order(cluster)]
+CBNPoor2[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3<-CBN[Poor3==1]
+
+
+
+#CalculatePer_calories in clusters
+CBNPoor3[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(191:206)][]
+#utils::View(CBNPoor3)
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor3[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(208:223)][]
+
+
+CBNPoor3[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor3[,Calory_Price:=FoodExpenditure_Per_cluster/(Daily_Calories_cluster2)]
+CBNPoor3[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor3[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3<-CBNPoor3[Per_Daily_Exp_Calories!=0]
+CBNPoor3[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor3[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+
+#sum of total food expenditures
+CBNPoor3[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor3[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor3[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor3[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+
+
+#Calculations
+CBNPoor3[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,weighted.mean(FoodExpenditure_Per_day,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+
+
+
+#Food Poverty Line for each cluster
+#cluster 1
+CBNPoorCluster<-CBNPoor3[cluster==1]
+Food_Povertyline1_3<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 2
+CBNPoorCluster<-CBNPoor3[cluster==2]
+Food_Povertyline2_3<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 3
+CBNPoorCluster<-CBNPoor3[cluster==3]
+Food_Povertyline3_3<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 4
+CBNPoorCluster<-CBNPoor3[cluster==4]
+Food_Povertyline4_3<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 5
+CBNPoorCluster<-CBNPoor[cluster==5]
+Food_Povertyline5_3<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#ee<-CBNPoor[,.(Total_Exp_Month_Real,Total_Exp_Month,Total_Food_Month_Per2,Total_Exp_Month_Per_nondurable,Total_Exp_Month_nondurable_Real_Per,FoodExpenditure_Per,cluster)]
+#mean(ee[,Total_Food_Month_Per2==Total_Exp_Month_nondurable_Real])
+#mean(ee[,Total_Food_Month_Per2<3500000])
+#ee<- ee[order(Total_Food_Month_Per2)]
+#utils::View(CBN)
+#for (col in c("Total_Food_Month_Per2")) CBN[is.na(get(col)), (col) := Total_Exp_Month_Per_nondurable]
+c<-CBN[,.(FoodExpenditure_Per,FoodExpenditure_Per_total,Total_Exp_Month_Per_nondurable,Total_Exp_Month,Total_Food_Month_Per2,Poor,Decile,Weight,cluster)]
+
+
+#########Iteration 4###############
+#Sort Expenditure data
+CBN<- CBN[order(Total_Food_Month_Per2)]
+c<- c[order(Total_Food_Month_Per2)]
+
+#Indicate new poors
+CBN[,Poor4:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_3 & cluster==1,1,0)]
+c[,Poor4:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_3 & cluster==1 ,1,0)]
+CBN[,Poor4:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_3 & cluster==2,1,Poor4)]
+c[,Poor4:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_3 & cluster==2 ,1,Poor4)]
+CBN[,Poor4:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_3 & cluster==3,1,Poor4)]
+c[,Poor4:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_3 & cluster==3 ,1,Poor4)]
+CBN[,Poor4:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_3 & cluster==4,1,Poor4)]
+c[,Poor4:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_3 & cluster==4 ,1,Poor4)]
+CBN[,Poor4:=ifelse(FoodExpenditure_Per_total < Food_Povertyline5_3 & cluster==5,1,Poor4)]
+c[,Poor4:=ifelse(FoodExpenditure_Per_total < Food_Povertyline5_3 & cluster==5 ,1,Poor4)]
+CBN[,weighted.mean(Poor4,Weight),by=cluster][order(cluster)]
+CBNPoor3[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4<-CBN[Poor4==1]
+
+#CalculatePer_calories in clusters
+CBNPoor4[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(191:206)][]
+#utils::View(CBNPoor4)
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor4[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(208:223)][]
+
+
+CBNPoor4[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor4[,Calory_Price:=FoodExpenditure_Per_cluster/(Daily_Calories_cluster2)]
+CBNPoor4[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor4[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4<-CBNPoor4[Per_Daily_Exp_Calories!=0]
+CBNPoor4[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor4[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+
+#sum of total food expenditures
+CBNPoor4[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor4[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor4[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor4[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+
+
+#Calculations
+CBNPoor4[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,weighted.mean(FoodExpenditure_Per_day,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+
+
+
+#Food Poverty Line for each cluster
+#cluster 1
+CBNPoorCluster<-CBNPoor4[cluster==1]
+Food_Povertyline1_4<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 2
+CBNPoorCluster<-CBNPoor4[cluster==2]
+Food_Povertyline2_4<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 3
+CBNPoorCluster<-CBNPoor4[cluster==3]
+Food_Povertyline3_4<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 4
+CBNPoorCluster<-CBNPoor4[cluster==4]
+Food_Povertyline4_4<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 5
+CBNPoorCluster<-CBNPoor[cluster==5]
+Food_Povertyline5_4<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#ee<-CBNPoor[,.(Total_Exp_Month_Real,Total_Exp_Month,Total_Food_Month_Per2,Total_Exp_Month_Per_nondurable,Total_Exp_Month_nondurable_Real_Per,FoodExpenditure_Per,cluster)]
+#mean(ee[,Total_Food_Month_Per2==Total_Exp_Month_nondurable_Real])
+#mean(ee[,Total_Food_Month_Per2<3500000])
+#ee<- ee[order(Total_Food_Month_Per2)]
+#utils::View(CBN)
+#for (col in c("Total_Food_Month_Per2")) CBN[is.na(get(col)), (col) := Total_Exp_Month_Per_nondurable]
+c<-CBN[,.(FoodExpenditure_Per,FoodExpenditure_Per_total,Total_Exp_Month_Per_nondurable,Total_Exp_Month,Total_Food_Month_Per2,Poor,Decile,Weight,cluster)]
+
+
+#########Iteration 5###############
+#Sort Expenditure data
+CBN<- CBN[order(Total_Food_Month_Per2)]
+c<- c[order(Total_Food_Month_Per2)]
+
+#Indicate new poors
+CBN[,Poor5:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_4 & cluster==1,1,0)]
+c[,Poor5:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_4 & cluster==1 ,1,0)]
+CBN[,Poor5:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_4 & cluster==2,1,Poor5)]
+c[,Poor5:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_4 & cluster==2 ,1,Poor5)]
+CBN[,Poor5:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_4 & cluster==3,1,Poor5)]
+c[,Poor5:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_4 & cluster==3 ,1,Poor5)]
+CBN[,Poor5:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_4 & cluster==4,1,Poor5)]
+c[,Poor5:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_4 & cluster==4 ,1,Poor5)]
+CBN[,Poor5:=ifelse(FoodExpenditure_Per_total < Food_Povertyline5_4 & cluster==5,1,Poor5)]
+c[,Poor5:=ifelse(FoodExpenditure_Per_total < Food_Povertyline5_4 & cluster==5 ,1,Poor5)]
+CBN[,weighted.mean(Poor5,Weight),by=cluster][order(cluster)]
+CBNPoor4[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5<-CBN[Poor5==1]
+
+#CalculatePer_calories in clusters
+CBNPoor5[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(191:206)][]
+#utils::View(CBNPoor5)
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor5[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(208:223)][]
+
+
+CBNPoor5[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor5[,Calory_Price:=FoodExpenditure_Per_cluster/(Daily_Calories_cluster2)]
+CBNPoor5[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor5[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5<-CBNPoor5[Per_Daily_Exp_Calories!=0]
+CBNPoor5[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor5[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+
+#sum of total food expenditures
+CBNPoor5[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor5[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor5[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor5[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+
+
+#Calculations
+CBNPoor5[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,weighted.mean(FoodExpenditure_Per_day,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+
+
+
+#Food Poverty Line for each cluster
+#cluster 1
+CBNPoorCluster<-CBNPoor5[cluster==1]
+Food_Povertyline1_5<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 2
+CBNPoorCluster<-CBNPoor5[cluster==2]
+Food_Povertyline2_5<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 3
+CBNPoorCluster<-CBNPoor5[cluster==3]
+Food_Povertyline3_5<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 4
+CBNPoorCluster<-CBNPoor5[cluster==4]
+Food_Povertyline4_5<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 5
+CBNPoorCluster<-CBNPoor[cluster==5]
+Food_Povertyline5_5<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#ee<-CBNPoor[,.(Total_Exp_Month_Real,Total_Exp_Month,Total_Food_Month_Per2,Total_Exp_Month_Per_nondurable,Total_Exp_Month_nondurable_Real_Per,FoodExpenditure_Per,cluster)]
+#mean(ee[,Total_Food_Month_Per2==Total_Exp_Month_nondurable_Real])
+#mean(ee[,Total_Food_Month_Per2<3500000])
+#ee<- ee[order(Total_Food_Month_Per2)]
+#utils::View(CBN)
+#for (col in c("Total_Food_Month_Per2")) CBN[is.na(get(col)), (col) := Total_Exp_Month_Per_nondurable]
+c<-CBN[,.(FoodExpenditure_Per,FoodExpenditure_Per_total,Total_Exp_Month_Per_nondurable,Total_Exp_Month,Total_Food_Month_Per2,Poor,Decile,Weight,cluster)]
+
+
+#########Iteration 6###############
+#Sort Expenditure data
+CBN<- CBN[order(Total_Food_Month_Per2)]
+c<- c[order(Total_Food_Month_Per2)]
+
+#Indicate new poors
+CBN[,Poor6:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_5 & cluster==1,1,0)]
+c[,Poor6:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_5 & cluster==1 ,1,0)]
+CBN[,Poor6:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_5 & cluster==2,1,Poor6)]
+c[,Poor6:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_5 & cluster==2 ,1,Poor6)]
+CBN[,Poor6:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_5 & cluster==3,1,Poor6)]
+c[,Poor6:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_5 & cluster==3 ,1,Poor6)]
+CBN[,Poor6:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_5 & cluster==4,1,Poor6)]
+c[,Poor6:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_5 & cluster==4 ,1,Poor6)]
+CBN[,Poor6:=ifelse(FoodExpenditure_Per_total < Food_Povertyline5_5 & cluster==5,1,Poor6)]
+c[,Poor6:=ifelse(FoodExpenditure_Per_total < Food_Povertyline5_5 & cluster==5 ,1,Poor6)]
+CBN[,weighted.mean(Poor6,Weight),by=cluster][order(cluster)]
+CBNPoor5[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6<-CBN[Poor6==1]
+
+#CalculatePer_calories in clusters
+CBNPoor6[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(191:206)][]
+#utils::View(CBNPoor6)
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor6[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(208:223)][]
+
+
+CBNPoor6[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor6[,Calory_Price:=FoodExpenditure_Per_cluster/(Daily_Calories_cluster2)]
+CBNPoor6[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor6[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6<-CBNPoor6[Per_Daily_Exp_Calories!=0]
+CBNPoor6[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor6[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+
+#sum of total food expenditures
+CBNPoor6[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor6[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor6[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor6[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+
+
+#Calculations
+CBNPoor6[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,weighted.mean(FoodExpenditure_Per_day,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+
+
+#Food Poverty Line for each cluster
+#cluster 1
+CBNPoorCluster<-CBNPoor6[cluster==1]
+Food_Povertyline1_6<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 2
+CBNPoorCluster<-CBNPoor6[cluster==2]
+Food_Povertyline2_6<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 3
+CBNPoorCluster<-CBNPoor6[cluster==3]
+Food_Povertyline3_6<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 4
+CBNPoorCluster<-CBNPoor6[cluster==4]
+Food_Povertyline4_6<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 5
+CBNPoorCluster<-CBNPoor[cluster==5]
+Food_Povertyline5_6<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#ee<-CBNPoor[,.(Total_Exp_Month_Real,Total_Exp_Month,Total_Food_Month_Per2,Total_Exp_Month_Per_nondurable,Total_Exp_Month_nondurable_Real_Per,FoodExpenditure_Per,cluster)]
+#mean(ee[,Total_Food_Month_Per2==Total_Exp_Month_nondurable_Real])
+#mean(ee[,Total_Food_Month_Per2<3500000])
+#ee<- ee[order(Total_Food_Month_Per2)]
+#utils::View(CBN)
+#for (col in c("Total_Food_Month_Per2")) CBN[is.na(get(col)), (col) := Total_Exp_Month_Per_nondurable]
+c<-CBN[,.(FoodExpenditure_Per,FoodExpenditure_Per_total,Total_Exp_Month_Per_nondurable,Total_Exp_Month,Total_Food_Month_Per2,Poor,Decile,Weight,cluster)]
+
+
+#########Iteration 7###############
+#Sort Expenditure data
+CBN<- CBN[order(Total_Food_Month_Per2)]
+c<- c[order(Total_Food_Month_Per2)]
+
+#Indicate new poors
+CBN[,Poor7:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_6 & cluster==1,1,0)]
+c[,Poor7:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_6 & cluster==1 ,1,0)]
+CBN[,Poor7:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_6 & cluster==2,1,Poor7)]
+c[,Poor7:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_6 & cluster==2 ,1,Poor7)]
+CBN[,Poor7:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_6 & cluster==3,1,Poor7)]
+c[,Poor7:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_6 & cluster==3 ,1,Poor7)]
+CBN[,Poor7:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_6 & cluster==4,1,Poor7)]
+c[,Poor7:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_6 & cluster==4 ,1,Poor7)]
+CBN[,Poor7:=ifelse(FoodExpenditure_Per_total < Food_Povertyline5_6 & cluster==5,1,Poor7)]
+c[,Poor7:=ifelse(FoodExpenditure_Per_total < Food_Povertyline5_6 & cluster==5 ,1,Poor7)]
+CBN[,weighted.mean(Poor7,Weight),by=cluster][order(cluster)]
+CBNPoor6[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7<-CBN[Poor7==1]
+
+#CalculatePer_calories in clusters
+CBNPoor7[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(191:206)][]
+#utils::View(CBNPoor7)
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor7[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(208:223)][]
+
+
+CBNPoor7[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor7[,Calory_Price:=FoodExpenditure_Per_cluster/(Daily_Calories_cluster2)]
+CBNPoor7[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor7[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7<-CBNPoor7[Per_Daily_Exp_Calories!=0]
+CBNPoor7[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor7[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+
+#sum of total food expenditures
+CBNPoor7[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor7[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor7[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor7[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+
+
+#Calculations
+CBNPoor7[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,weighted.mean(FoodExpenditure_Per_day,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+
+
+
+#Food Poverty Line for each cluster
+#cluster 1
+CBNPoorCluster<-CBNPoor7[cluster==1]
+Food_Povertyline1_7<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 2
+CBNPoorCluster<-CBNPoor7[cluster==2]
+Food_Povertyline2_7<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 3
+CBNPoorCluster<-CBNPoor7[cluster==3]
+Food_Povertyline3_7<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 4
+CBNPoorCluster<-CBNPoor7[cluster==4]
+Food_Povertyline4_7<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 5
+CBNPoorCluster<-CBNPoor[cluster==5]
+Food_Povertyline5_7<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#ee<-CBNPoor[,.(Total_Exp_Month_Real,Total_Exp_Month,Total_Food_Month_Per2,Total_Exp_Month_Per_nondurable,Total_Exp_Month_nondurable_Real_Per,FoodExpenditure_Per,cluster)]
+#mean(ee[,Total_Food_Month_Per2==Total_Exp_Month_nondurable_Real])
+#mean(ee[,Total_Food_Month_Per2<3500000])
+#ee<- ee[order(Total_Food_Month_Per2)]
+#utils::View(CBN)
+#for (col in c("Total_Food_Month_Per2")) CBN[is.na(get(col)), (col) := Total_Exp_Month_Per_nondurable]
+c<-CBN[,.(FoodExpenditure_Per,FoodExpenditure_Per_total,Total_Exp_Month_Per_nondurable,Total_Exp_Month,Total_Food_Month_Per2,Poor,Decile,Weight,cluster)]
+
+
+#########Iteration 8###############
+#Sort Expenditure data
+CBN<- CBN[order(Total_Food_Month_Per2)]
+c<- c[order(Total_Food_Month_Per2)]
+
+#Indicate new poors
+CBN[,Poor8:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_7 & cluster==1,1,0)]
+c[,Poor8:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_7 & cluster==1 ,1,0)]
+CBN[,Poor8:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_7 & cluster==2,1,Poor8)]
+c[,Poor8:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_7 & cluster==2 ,1,Poor8)]
+CBN[,Poor8:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_7 & cluster==3,1,Poor8)]
+c[,Poor8:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_7 & cluster==3 ,1,Poor8)]
+CBN[,Poor8:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_7 & cluster==4,1,Poor8)]
+c[,Poor8:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_7 & cluster==4 ,1,Poor8)]
+CBN[,Poor8:=ifelse(FoodExpenditure_Per_total < Food_Povertyline5_7 & cluster==5,1,Poor8)]
+c[,Poor8:=ifelse(FoodExpenditure_Per_total < Food_Povertyline5_7 & cluster==5 ,1,Poor8)]
+CBN[,weighted.mean(Poor8,Weight),by=cluster][order(cluster)]
+CBNPoor7[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8<-CBN[Poor8==1]
+
+
+#CalculatePer_calories in clusters
+CBNPoor8[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(191:206)][]
+#utils::View(CBNPoor8)
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor8[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(208:223)][]
+
+
+CBNPoor8[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor8[,Calory_Price:=FoodExpenditure_Per_cluster/(Daily_Calories_cluster2)]
+CBNPoor8[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor8[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8<-CBNPoor8[Per_Daily_Exp_Calories!=0]
+CBNPoor8[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor8[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+
+#sum of total food expenditures
+CBNPoor8[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor8[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor8[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor8[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+
+
+#Calculations
+CBNPoor8[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,weighted.mean(FoodExpenditure_Per_day,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+
+
+
+#Food Poverty Line for each cluster
+#cluster 1
+CBNPoorCluster<-CBNPoor8[cluster==1]
+Food_Povertyline1_8<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 2
+CBNPoorCluster<-CBNPoor8[cluster==2]
+Food_Povertyline2_8<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 3
+CBNPoorCluster<-CBNPoor8[cluster==3]
+Food_Povertyline3_8<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 4
+CBNPoorCluster<-CBNPoor8[cluster==4]
+Food_Povertyline4_8<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 5
+CBNPoorCluster<-CBNPoor[cluster==5]
+Food_Povertyline5_8<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#ee<-CBNPoor[,.(Total_Exp_Month_Real,Total_Exp_Month,Total_Food_Month_Per2,Total_Exp_Month_Per_nondurable,Total_Exp_Month_nondurable_Real_Per,FoodExpenditure_Per,cluster)]
+#mean(ee[,Total_Food_Month_Per2==Total_Exp_Month_nondurable_Real])
+#mean(ee[,Total_Food_Month_Per2<3500000])
+#ee<- ee[order(Total_Food_Month_Per2)]
+#utils::View(CBN)
+#for (col in c("Total_Food_Month_Per2")) CBN[is.na(get(col)), (col) := Total_Exp_Month_Per_nondurable]
+c<-CBN[,.(FoodExpenditure_Per,FoodExpenditure_Per_total,Total_Exp_Month_Per_nondurable,Total_Exp_Month,Total_Food_Month_Per2,Poor,Decile,Weight,cluster)]
+
+
+#########Iteration 9###############
+#Sort Expenditure data
+CBN<- CBN[order(Total_Food_Month_Per2)]
+c<- c[order(Total_Food_Month_Per2)]
+
+#Indicate new poors
+CBN[,Poor9:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_8 & cluster==1,1,0)]
+c[,Poor9:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_8 & cluster==1 ,1,0)]
+CBN[,Poor9:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_8 & cluster==2,1,Poor9)]
+c[,Poor9:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_8 & cluster==2 ,1,Poor9)]
+CBN[,Poor9:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_8 & cluster==3,1,Poor9)]
+c[,Poor9:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_8 & cluster==3 ,1,Poor9)]
+CBN[,Poor9:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_8 & cluster==4,1,Poor9)]
+c[,Poor9:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_8 & cluster==4 ,1,Poor9)]
+CBN[,Poor9:=ifelse(FoodExpenditure_Per_total < Food_Povertyline5_8 & cluster==5,1,Poor9)]
+c[,Poor9:=ifelse(FoodExpenditure_Per_total < Food_Povertyline5_8 & cluster==5 ,1,Poor9)]
+CBN[,weighted.mean(Poor9,Weight),by=cluster][order(cluster)]
+CBNPoor8[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9<-CBN[Poor9==1]
+
+
+#CalculatePer_calories in clusters
+CBNPoor9[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(191:206)][]
+#utils::View(CBNPoor9)
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor9[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(208:223)][]
+
+
+CBNPoor9[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor9[,Calory_Price:=FoodExpenditure_Per_cluster/(Daily_Calories_cluster2)]
+CBNPoor9[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor9[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9<-CBNPoor9[Per_Daily_Exp_Calories!=0]
+CBNPoor9[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor9[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+
+#sum of total food expenditures
+CBNPoor9[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor9[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor9[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor9[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+
+
+
+#Calculations
+CBNPoor9[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,weighted.mean(FoodExpenditure_Per_day,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+
+
+
+#Food Poverty Line for each cluster
+#cluster 1
+CBNPoorCluster<-CBNPoor9[cluster==1]
+Food_Povertyline1_9<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 2
+CBNPoorCluster<-CBNPoor9[cluster==2]
+Food_Povertyline2_9<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 3
+CBNPoorCluster<-CBNPoor9[cluster==3]
+Food_Povertyline3_9<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 4
+CBNPoorCluster<-CBNPoor9[cluster==4]
+Food_Povertyline4_9<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 5
+CBNPoorCluster<-CBNPoor[cluster==5]
+Food_Povertyline5_9<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#ee<-CBNPoor[,.(Total_Exp_Month_Real,Total_Exp_Month,Total_Food_Month_Per2,Total_Exp_Month_Per_nondurable,Total_Exp_Month_nondurable_Real_Per,FoodExpenditure_Per,cluster)]
+#mean(ee[,Total_Food_Month_Per2==Total_Exp_Month_nondurable_Real])
+#mean(ee[,Total_Food_Month_Per2<3500000])
+#ee<- ee[order(Total_Food_Month_Per2)]
+#utils::View(CBN)
+#for (col in c("Total_Food_Month_Per2")) CBN[is.na(get(col)), (col) := Total_Exp_Month_Per_nondurable]
+c<-CBN[,.(FoodExpenditure_Per,FoodExpenditure_Per_total,Total_Exp_Month_Per_nondurable,Total_Exp_Month,Total_Food_Month_Per2,Poor,Decile,Weight,cluster)]
+
+
+#########Iteration 10###############
+#Sort Expenditure data
+CBN<- CBN[order(Total_Food_Month_Per2)]
+c<- c[order(Total_Food_Month_Per2)]
+
+#Indicate new poors
+CBN[,Poor10:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_9 & cluster==1,1,0)]
+c[,Poor10:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_9 & cluster==1 ,1,0)]
+CBN[,Poor10:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_9 & cluster==2,1,Poor10)]
+c[,Poor10:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_9 & cluster==2 ,1,Poor10)]
+CBN[,Poor10:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_9 & cluster==3,1,Poor10)]
+c[,Poor10:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_9 & cluster==3 ,1,Poor10)]
+CBN[,Poor10:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_9 & cluster==4,1,Poor10)]
+c[,Poor10:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_9 & cluster==4 ,1,Poor10)]
+CBN[,Poor10:=ifelse(FoodExpenditure_Per_total < Food_Povertyline5_9 & cluster==5,1,Poor10)]
+c[,Poor10:=ifelse(FoodExpenditure_Per_total < Food_Povertyline5_9 & cluster==5 ,1,Poor10)]
+CBN[,weighted.mean(Poor10,Weight),by=cluster][order(cluster)]
+CBNPoor9[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor10<-CBN[Poor10==1]
+
+#Engel
+#CBNPoor9<-CBNPoor9[,ratio1:=FoodExpenditure/Total_Exp_Month]
+#CBNPoor9[,weighted.mean(ratio1,Weight),by=cluster]
+#summary(CBNPoor9$ratio1)
+CBN<-CBN[,ratio1:=FoodExpenditure/Total_Exp_Month]
+CBN[,weighted.mean(ratio1,Weight),by=ProvinceCode][order(ProvinceCode)]
+CBN<-CBN[,ratio2:=ServiceExp/Total_Exp_Month]
+CBN[,weighted.mean(ratio2,Weight),by=ProvinceCode][order(ProvinceCode)]
+
+#Engel-home ratio calculations
+CBN[cluster==1 & FoodExpenditure_Per_total<1.1*Food_Povertyline1_9 & FoodExpenditure_Per_total>0.90*Food_Povertyline1_9,sum(HIndivNo),by=ProvinceCode][order(ProvinceCode)]
+CBN[cluster==2 & FoodExpenditure_Per_total<1.1*Food_Povertyline2_9 & FoodExpenditure_Per_total>0.90*Food_Povertyline1_9,sum(HIndivNo),by=ProvinceCode][order(ProvinceCode)]
+CBN[cluster==3 & FoodExpenditure_Per_total<1.1*Food_Povertyline3_9 & FoodExpenditure_Per_total>0.90*Food_Povertyline1_9,sum(HIndivNo),by=ProvinceCode][order(ProvinceCode)]
+CBN[cluster==4 & FoodExpenditure_Per_total<1.1*Food_Povertyline4_9 & FoodExpenditure_Per_total>0.90*Food_Povertyline1_9,sum(HIndivNo),by=ProvinceCode][order(ProvinceCode)]
+CBN[cluster==5 & FoodExpenditure_Per_total<1.1*Food_Povertyline5_9 & FoodExpenditure_Per_total>0.90*Food_Povertyline1_9,sum(HIndivNo),by=ProvinceCode][order(ProvinceCode)]
+
+CBN[cluster==1 & FoodExpenditure_Per_total<1.1*Food_Povertyline1_9 & FoodExpenditure_Per_total>0.90*Food_Povertyline1_9,weighted.mean(ratio1,Weight),by=ProvinceCode][order(ProvinceCode)]
+CBN[cluster==2 & FoodExpenditure_Per_total<1.1*Food_Povertyline2_9 & FoodExpenditure_Per_total>0.90*Food_Povertyline1_9,weighted.mean(ratio1,Weight),by=ProvinceCode][order(ProvinceCode)]
+CBN[cluster==3 & FoodExpenditure_Per_total<1.1*Food_Povertyline3_9 & FoodExpenditure_Per_total>0.90*Food_Povertyline1_9,weighted.mean(ratio1,Weight),by=ProvinceCode][order(ProvinceCode)]
+CBN[cluster==4 & FoodExpenditure_Per_total<1.1*Food_Povertyline4_9 & FoodExpenditure_Per_total>0.90*Food_Povertyline1_9,weighted.mean(ratio1,Weight),by=ProvinceCode][order(ProvinceCode)]
+CBN[cluster==5 & FoodExpenditure_Per_total<1.1*Food_Povertyline5_9 & FoodExpenditure_Per_total>0.90*Food_Povertyline1_9,weighted.mean(ratio1,Weight),by=ProvinceCode][order(ProvinceCode)]
+
+CBN[cluster==1 & FoodExpenditure_Per_total<1.1*Food_Povertyline1_9 & FoodExpenditure_Per_total>0.90*Food_Povertyline1_9,weighted.mean(ratio2,Weight),by=ProvinceCode][order(ProvinceCode)]
+CBN[cluster==2 & FoodExpenditure_Per_total<1.1*Food_Povertyline2_9 & FoodExpenditure_Per_total>0.90*Food_Povertyline1_9,weighted.mean(ratio2,Weight),by=ProvinceCode][order(ProvinceCode)]
+CBN[cluster==3 & FoodExpenditure_Per_total<1.1*Food_Povertyline3_9 & FoodExpenditure_Per_total>0.90*Food_Povertyline1_9,weighted.mean(ratio2,Weight),by=ProvinceCode][order(ProvinceCode)]
+CBN[cluster==4 & FoodExpenditure_Per_total<1.1*Food_Povertyline4_9 & FoodExpenditure_Per_total>0.90*Food_Povertyline1_9,weighted.mean(ratio2,Weight),by=ProvinceCode][order(ProvinceCode)]
+CBN[cluster==5 & FoodExpenditure_Per_total<1.1*Food_Povertyline5_9 & FoodExpenditure_Per_total>0.90*Food_Povertyline1_9,weighted.mean(ratio2,Weight),by=ProvinceCode][order(ProvinceCode)]
+
+# Poverty Line for each cluster
+#cluster 1
+CBNPoorCluster<-CBN[cluster==1 & FoodExpenditure_Per_total<1.1*Food_Povertyline1_9 & FoodExpenditure_Per_total>0.90*Food_Povertyline1_9]
+Engel1<-weighted.mean(CBNPoorCluster$ratio1,CBNPoorCluster$Weight)
+Engel_Reverse1<-1/Engel1
+Povertyline1_9<-Engel_Reverse1*Food_Povertyline1_9
+
+#cluster 2
+CBNPoorCluster<-CBN[cluster==2 & FoodExpenditure_Per_total<1.1*Food_Povertyline2_9 & FoodExpenditure_Per_total>0.90*Food_Povertyline2_9]
+Engel2<-weighted.mean(CBNPoorCluster$ratio1,CBNPoorCluster$Weight)
+Engel_Reverse2<-1/Engel2
+Povertyline2_9<-Engel_Reverse2*Food_Povertyline2_9
+
+#cluster 3
+CBNPoorCluster<-CBN[cluster==3 & FoodExpenditure_Per_total<1.1*Food_Povertyline3_9 & FoodExpenditure_Per_total>0.90*Food_Povertyline3_9]
+Engel3<-weighted.mean(CBNPoorCluster$ratio1,CBNPoorCluster$Weight)
+Engel_Reverse3<-1/Engel3
+Povertyline3_9<-Engel_Reverse3*Food_Povertyline3_9
+
+#cluster 4
+CBNPoorCluster<-CBN[cluster==4 & FoodExpenditure_Per_total<1.1*Food_Povertyline4_9 & FoodExpenditure_Per_total>0.90*Food_Povertyline4_9]
+Engel4<-weighted.mean(CBNPoorCluster$ratio1,CBNPoorCluster$Weight)
+Engel_Reverse4<-1/Engel4
+Povertyline4_9<-Engel_Reverse4*Food_Povertyline4_9
+
+#cluster 5
+CBNPoorCluster<-CBN[cluster==5 & FoodExpenditure_Per_total<1.1*Food_Povertyline5_9 & FoodExpenditure_Per_total>0.90*Food_Povertyline5_9]
+Engel5<-weighted.mean(CBNPoorCluster$ratio1,CBNPoorCluster$Weight)
+Engel_Reverse5<-1/Engel5
+Povertyline5_9<-Engel_Reverse5*Food_Povertyline5_9
+
+#Indicate final poors
+CBN<-CBN[,Total_Exp_Month_Per2:=Total_Exp_Month_Per_nondurable*RealPriceIndex]
+
+CBN[,Poor11:=ifelse(Total_Exp_Month_Per_nondurable < Povertyline1_9 & cluster==1,1,0)]
+CBN[,Poor11:=ifelse(Total_Exp_Month_Per_nondurable < Povertyline2_9 & cluster==2,1,Poor11)]
+CBN[,Poor11:=ifelse(Total_Exp_Month_Per_nondurable < Povertyline3_9 & cluster==3,1,Poor11)]
+CBN[,Poor11:=ifelse(Total_Exp_Month_Per_nondurable < Povertyline4_9 & cluster==4,1,Poor11)]
+CBN[,Poor11:=ifelse(Total_Exp_Month_Per_nondurable < Povertyline5_9 & cluster==5,1,Poor11)]
+CBN[,weighted.mean(Poor11,Weight),by=cluster][order(cluster)]
+CBNPoor9[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor11<-CBN[Poor11==1]
+
+
+CBN[,sum(Size*Weight),by=cluster][order(cluster)]
+CBN[,sum(Size*Weight),by=.(cluster,Decile)][order(cluster,Decile)]
+CBNPoor[,sum(Size*Weight),by=cluster][order(cluster)]
+CBNPoor11[,sum(Size*Weight),by=cluster][order(cluster)]
+CBNPoor2[,sum(Size*Weight),by=cluster][order(cluster)]
+CBNPoor9[,sum(Size*Weight),by=cluster][order(cluster)]
+CBNPoor9[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster][order(cluster)]
+CBNPoor9[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster][order(cluster)]
+CBN[,weighted.mean(Poor11,Weight)]
+CBN[,weighted.mean(Poor11,Weight),by=cluster][order(cluster)]
+CBN[,weighted.mean(Poor11,Weight),by=ProvinceCode][order(ProvinceCode)]
+CBNPoor11[,sum(Size*Weight),by=ProvinceCode][order(ProvinceCode)]
+CBNPoor11[,sum(Weight),by=ProvinceCode][order(ProvinceCode)]
+CBN[,sum(Size*Weight),by=ProvinceCode][order(ProvinceCode)]
+CBN[,sum(Size*Weight)]
+CBNPoor11[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster][order(cluster)]
+CBNPoor11[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster][order(cluster)]
+
+##############################
+###Real Prices for report###
+##############################
+#sum of total food expenditures
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per]
+
+#Food expenditures (equal 2100 CCAL)
+CBN<-CBN[Per_Daily_Exp_Calories>0]
+CBN[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Exp_Calories]
+CBN[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+
+T_Bundle_Value<-subset(CBN, ProvinceCode==23, select=c(Bundle_Value,Home_Per_Metr,Weight))
+Tehran_Bundle_Value1<-weighted.mean(T_Bundle_Value$Bundle_Value,T_Bundle_Value$Weight,na.rm = TRUE)
+Tehran_Bundle_Value2<-weighted.mean(T_Bundle_Value$Home_Per_Metr,T_Bundle_Value$Weight,na.rm = TRUE)
+CBN[,RealPriceIndex1:=weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/Tehran_Bundle_Value1,by=ProvinceCode]
+CBN[,RealPriceIndex2:=weighted.mean(Home_Per_Metr,Weight,na.rm = TRUE)/Tehran_Bundle_Value2,by=ProvinceCode]
+CBN[,weighted.mean(RealPriceIndex1,Weight),by=ProvinceCode]
+CBN[,weighted.mean(RealPriceIndex2,Weight),by=ProvinceCode]
+Indexes2_1<-CBN[,.(RealPriceIndex1,RealPriceIndex2,ProvinceCode,Weight)]
+Indexes2_1<-Indexes2_1[,RealPriceIndex:=(RealPriceIndex1+RealPriceIndex2)/2]
+Indexes_total<-Indexes2_1[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+Indexes3_1<-Indexes_total[,.(ProvinceCode,RealPriceIndex1,RealPriceIndex2,RealPriceIndex)]
+Indexes<-Indexes[,.(ProvinceCode,RealPriceIndex)]
+
+CBN_Poor<-CBN[Poor11==1]
+T_Bundle_Value<-subset(CBN_Poor, ProvinceCode==23, select=c(Bundle_Value,Home_Per_Metr,Weight))
+Tehran_Bundle_Value1<-weighted.mean(T_Bundle_Value$Bundle_Value,T_Bundle_Value$Weight,na.rm = TRUE)
+Tehran_Bundle_Value2<-weighted.mean(T_Bundle_Value$Home_Per_Metr,T_Bundle_Value$Weight,na.rm = TRUE)
+CBN_Poor[,RealPriceIndex1:=weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/Tehran_Bundle_Value1,by=ProvinceCode]
+CBN_Poor[,RealPriceIndex2:=weighted.mean(Home_Per_Metr,Weight,na.rm = TRUE)/Tehran_Bundle_Value2,by=ProvinceCode]
+CBN_Poor[,weighted.mean(RealPriceIndex1,Weight),by=ProvinceCode]
+CBN_Poor[,weighted.mean(RealPriceIndex2,Weight),by=ProvinceCode]
+Indexes2_2<-CBN_Poor[,.(RealPriceIndex1,RealPriceIndex2,ProvinceCode,Weight,Poor11)]
+Indexes2_2<-Indexes2_2[,RealPriceIndex:=(RealPriceIndex1+RealPriceIndex2)/2]
+Indexes_finalpoor<-Indexes2_2[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+Indexes3_2<-Indexes_finalpoor[,.(ProvinceCode,RealPriceIndex1,RealPriceIndex2,RealPriceIndex)]
+Indexes<-Indexes[,.(ProvinceCode,RealPriceIndex)]
+
+###Save Tables
+CBN_Rural<-CBN
+save(CBN_Rural, file = paste0(Settings$HEISProcessedPath,"CBN_Rural","95.rda"))
+
+CBNPoor_Rural<-CBNPoor11
+save(CBNPoor_Rural, file = paste0(Settings$HEISProcessedPath,"CBNPoor_Rural","95.rda"))
+
+endtime <- proc.time()
+
+cat("\n\n============================\nIt took ")
+cat(endtime-starttime)
+
diff --git a/R/Archive/Other Codes/60-CBN Urban-95.R b/R/Archive/Other Codes/60-CBN Urban-95.R
new file mode 100644
index 00000000..ef87e461
--- /dev/null
+++ b/R/Archive/Other Codes/60-CBN Urban-95.R
@@ -0,0 +1,3027 @@
+#CBN Method-Urban.R
+#
+# Copyright © 2018:Arin Shahbazian
+# Licence: GPL-3
+#
+rm(list=ls())
+
+starttime <- proc.time()
+cat("\n\n================ Prepare Data =====================================\n")
+
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+library(readxl)
+library(stringr)
+library(data.table)
+library(sm)
+library(ggplot2)
+
+#for(year in (Settings$startyear:Settings$endyear)){
+# cat(paste0("\n------------------------------\nYear:",year,"\n"))
+
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","HHBase.rda"))
+HHBase[,IndivNo:=NULL]
+HHBase[,Relationship:=NULL]
+HHBase[,Sex:=NULL]
+HHBase[,Age:=NULL]
+HHBase[,Literate:=NULL]
+HHBase[,Student:=NULL]
+HHBase[,EduCode:=NULL]
+HHBase[,EduYears:=NULL]
+HHBase[,EduLevel:=NULL]
+HHBase[,EduLevel0:=NULL]
+HHBase[,ActivityState:=NULL]
+HHBase[,MarritalState:=NULL]
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Ghand_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Hoboobat_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Roghan_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Berenj_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Nan_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Goosht_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Morgh_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Mahi_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Shir_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Mast_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Panir_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Tokhmemorgh_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Mive_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Sabzi_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Makarooni_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Sibzamini_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Weights.rda"))
+
+Ghand_Data<-Ghand_Data[,.(HHID,Ghandgram,GhandPrice)]
+Hoboobat_Data<-Hoboobat_Data[,.(HHID,Hoboobatgram,HoboobatPrice)]
+Roghan_Data<-Roghan_Data[,.(HHID,Roghangram,RoghanPrice)]
+Berenj_Data<-Berenj_Data[,.(HHID,Berenjgram,BerenjPrice)]
+Nan_Data<-Nan_Data[,.(HHID,Nangram,NanPrice)]
+Goosht_Data<-Goosht_Data[,.(HHID,Gooshtgram,GooshtPrice)]
+Morgh_Data<-Morgh_Data[,.(HHID,Morghgram,MorghPrice)]
+Mahi_Data<-Mahi_Data[,.(HHID,Mahigram,MahiPrice)]
+Shir_Data<-Shir_Data[,.(HHID,Shirgram,ShirPrice)]
+Mast_Data<-Mast_Data[,.(HHID,Mastgram,MastPrice)]
+Panir_Data<-Panir_Data[,.(HHID,Panirgram,PanirPrice)]
+Tokhmemorgh_Data<-Tokhmemorgh_Data[,.(HHID,Tokhmemorghgram,TokhmemorghPrice)]
+Mive_Data<-Mive_Data[,.(HHID,Mivegram,MivePrice)]
+Sabzi_Data<-Sabzi_Data[,.(HHID,Sabzigram,SabziPrice)]
+Makarooni_Data<-Makarooni_Data[,.(HHID,Makaroonigram,MakarooniPrice)]
+Sibzamini_Data<-Sibzamini_Data[,.(HHID,Sibzaminigram,SibzaminiPrice)]
+
+Food<-merge(HHBase,Ghand_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Ghandgram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Hoboobat_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Hoboobatgram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Roghan_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Roghangram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Berenj_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Berenjgram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Nan_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Nangram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Goosht_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Gooshtgram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Morgh_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Morghgram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Mahi_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Mahigram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Shir_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Shirgram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Mast_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Mastgram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Panir_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Panirgram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Tokhmemorgh_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Tokhmemorghgram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Mive_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Mivegram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Sabzi_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Sabzigram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Makarooni_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Makaroonigram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Sibzamini_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Sibzaminigram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Weights,by =c("HHID"),all.x=TRUE)
+
+
+
+#load Expenditure groups
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","HHBase.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","HHI.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Foods.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Cigars.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Cloths.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Amusements.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Communications.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Durables.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Education.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Energy.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Furnitures.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Hotels.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","House.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Medicals.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Behdashts.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Transportations.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Others.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Investments.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Resturants.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Weights.rda"))
+
+#merge Expenditure groups
+CBN<-merge(Food,HHI ,by =c("HHID"),all=TRUE)
+CBN<-merge(CBN,FoodData,by =c("HHID"),all=TRUE)
+for (col in c("FoodExpenditure")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,CigarData,by =c("HHID"),all=TRUE)
+for (col in c("Cigar_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,ClothData,by =c("HHID"),all=TRUE)
+for (col in c("Cloth_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,AmusementData,by =c("HHID"),all=TRUE)
+for (col in c("Amusement_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,CommunicationData,by =c("HHID"),all=TRUE)
+for (col in c("Communication_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,EducData,by =c("HHID"),all=TRUE)
+for (col in c("EducExpenditure")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,EnergyData,by =c("HHID"),all=TRUE)
+for (col in c("Energy_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,FurnitureData,by =c("HHID"),all=TRUE)
+for (col in c("Furniture_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,HotelData,by =c("HHID"),all=TRUE)
+for (col in c("Hotel_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,BehdashtData,by =c("HHID"),all=TRUE)
+for (col in c("Behdasht_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,TransportationData,by =c("HHID"),all=TRUE)
+for (col in c("Transportation_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,OtherData,by =c("HHID"),all=TRUE)
+for (col in c("Other_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,HouseData,by =c("HHID"),all=TRUE)
+for (col in c("ServiceExp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,InvestmentData,by =c("HHID"),all=TRUE)
+for (col in c("Investment_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,MedicalData,by =c("HHID"),all=TRUE)
+for (col in c("Medical_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,DurableData,by =c("HHID"),all=TRUE)
+for (col in c("Durable_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,ResturantData,by =c("HHID"),all=TRUE)
+for (col in c("Resturant_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-CBN[Size!=0]
+CBN<-CBN[Region=="Urban"]
+CBN<-CBN[FoodExpenditure!=0]
+
+
+#Calculate Per_Total Expenditures Monthly
+CBN[, Total_Exp_Month := Reduce(`+`, .SD), .SDcols=c(65:77,82:83)][]
+CBN[, Total_Exp_Month_nondurable := Reduce(`+`, .SD), .SDcols=65:77][]
+
+CBN$Total_Exp_Month_Per<-CBN$Total_Exp_Month/CBN$EqSizeOECD
+CBN$Total_Exp_Month_Per_nondurable<-CBN$Total_Exp_Month_nondurable/CBN$EqSizeOECD
+
+#Calculate Per_Food Expenditures Monthly
+CBN[,EqSizeCalory :=(Size-NKids) + NKids*(1800/2100)]
+CBN$FoodExpenditure_Per<-CBN$FoodExpenditure/CBN$EqSizeCalory
+
+#Calculate Per_Food Expenditures Daily
+CBN$FoodExpenditure_Per_day<-CBN$FoodExpenditure_Per/30
+
+CBN$Ghandgram_Per_day<-CBN$Ghandgram/(30*CBN$EqSizeOECD)
+CBN$Hoboobatgram_Per_day<-CBN$Hoboobatgram/(30*CBN$EqSizeOECD)
+CBN$Berenjgram_Per_day<-CBN$Berenjgram/(30*CBN$EqSizeOECD)
+CBN$Nangram_Per_day<-CBN$Nangram/(30*CBN$EqSizeOECD)
+CBN$Roghangram_Per_day<-CBN$Roghangram/(30*CBN$EqSizeOECD)
+CBN$Gooshtgram_Per_day<-CBN$Gooshtgram/(30*CBN$EqSizeOECD)
+CBN$Morghgram_Per_day<-CBN$Morghgram/(30*CBN$EqSizeOECD)
+CBN$Mahigram_Per_day<-CBN$Mahigram/(30*CBN$EqSizeOECD)
+CBN$Shirgram_Per_day<-CBN$Shirgram/(30*CBN$EqSizeOECD)
+CBN$Mastgram_Per_day<-CBN$Mastgram/(30*CBN$EqSizeOECD)
+CBN$Panirgram_Per_day<-CBN$Panirgram/(30*CBN$EqSizeOECD)
+CBN$Tokhmemorghgram_Per_day<-CBN$Tokhmemorghgram/(30*CBN$EqSizeOECD)
+CBN$Mivegram_Per_day<-CBN$Mivegram/(30*CBN$EqSizeOECD)
+CBN$Sabzigram_Per_day<-CBN$Sabzigram/(30*CBN$EqSizeOECD)
+CBN$Makaroonigram_Per_day<-CBN$Makaroonigram/(30*CBN$EqSizeOECD)
+CBN$Sibzaminigram_Per_day<-CBN$Sibzaminigram/(30*CBN$EqSizeOECD)
+CBN[,EqSizeCalory:=NULL]
+
+load(file="PriceIndex95.rda")
+CBN<-merge(CBN,PriceIndex95,by=c("ProvinceCode"),all.x = TRUE)
+CBN[,ostan:=NULL]
+load(file="PriceIndex.rda")
+CBN<-merge(CBN,PriceIndex,by=c("ProvinceCode"),all.x = TRUE)
+
+#Sort Expenditure data
+CBN<- CBN[order(Total_Exp_Month_Per_nondurable)]
+
+#Calculate cumulative weights
+sum(CBN$Weight)
+CBN$cumweight <- cumsum(CBN$Weight)
+tx <- max(CBN$cumweight)
+
+#Calculate deciles by weights
+CBN[,Decile:=cut(cumweight,breaks = seq(0,tx,tx/10),labels = 1:10)]
+CBN[,Percentile:=cut(cumweight,breaks=seq(0,tx,tx/100),labels=1:100)]
+
+
+CBN$Ghand_W<-CBN$Ghandgram_Per_day*CBN$GhandPrice*0.001*30
+CBN$Hoboobat_W<-CBN$Hoboobatgram_Per_day*CBN$HoboobatPrice*0.001*30
+CBN$Roghan_W<-CBN$Roghangram_Per_day*CBN$RoghanPrice*0.001*30
+CBN$Berenj_W<-CBN$Berenjgram_Per_day*CBN$BerenjPrice*0.001*30
+CBN$Nan_W<-CBN$Nangram_Per_day*CBN$NanPrice*0.001*30
+CBN$Goosht_W<-CBN$Gooshtgram_Per_day*CBN$GooshtPrice*0.001*30
+CBN$Morgh_W<-CBN$Morghgram_Per_day*CBN$MorghPrice*0.001*30
+CBN$Mahi_W<-CBN$Mahigram_Per_day*CBN$MahiPrice*0.001*30
+CBN$Shir_W<-CBN$Shirgram_Per_day*CBN$ShirPrice*0.001*30
+CBN$Mast_W<-CBN$Mastgram_Per_day*CBN$MastPrice*0.001*30
+CBN$Panir_W<-CBN$Panirgram_Per_day*CBN$PanirPrice*0.001*30
+CBN$Tokhmemorgh_W<-CBN$Tokhmemorghgram_Per_day*CBN$TokhmemorghPrice*0.001*30
+CBN$Mive_W<-CBN$Mivegram_Per_day*CBN$MivePrice*0.001*30
+CBN$Sabzi_W<-CBN$Sabzigram_Per_day*CBN$SabziPrice*0.001*30
+CBN$Makarooni_W<-CBN$Makaroonigram_Per_day*CBN$MakarooniPrice*0.001*30
+CBN$Sibzamini_W<-CBN$Sibzaminigram_Per_day*CBN$SibzaminiPrice*0.001*30
+CBN$Home_W<-CBN$ServiceExp/CBN$EqSizeOECD
+CBN$Home_Per_Metr<-CBN$MetrPrice/CBN$EqSizeOECD
+
+#Seperate big cities
+CBN[,sum(Weight*Size),by=ProvinceCode][order(V1)]
+CBN[,HHIDs:=as.character(HHID)]
+CBN[,ShahrestanCode:=as.integer(str_sub(HHIDs,2,5))]
+CBN[,sum(Weight*Size),by=ShahrestanCode][order(V1)][330:387]
+CBNTehran<-CBN[ProvinceCode==23]
+CBNTehran[,sum(Weight*Size),by=ShahrestanCode]
+CBNTabriz<-CBN[ProvinceCode==3]
+CBNTabriz[,sum(Weight*Size),by=ShahrestanCode]
+CBNAhvaz<-CBN[ProvinceCode==6]
+CBNAhvaz[,sum(Weight*Size),by=ShahrestanCode]
+CBNShiraz<-CBN[ProvinceCode==7]
+CBNShiraz[,sum(Weight*Size),by=ShahrestanCode]
+CBNMashhad<-CBN[ProvinceCode==9]
+CBNMashhad[,sum(Weight*Size),by=ShahrestanCode]
+CBNEsfahan<-CBN[ProvinceCode==10]
+CBNEsfahan[,sum(Weight*Size),by=ShahrestanCode]
+CBNKaraj<-CBN[ProvinceCode==30]
+CBNKaraj[,sum(Weight*Size),by=ShahrestanCode]
+CBNKermanshah<-CBN[ProvinceCode==5]
+CBNKermanshah[,sum(Weight*Size),by=ShahrestanCode]
+
+
+CBN<-CBN[ShahrestanCode==2301,ProvinceCode:=as.numeric(ShahrestanCode)]
+CBN<-CBN[ShahrestanCode==303,ProvinceCode:=as.numeric(ShahrestanCode)]
+CBN<-CBN[ShahrestanCode==603,ProvinceCode:=as.numeric(ShahrestanCode)]
+CBN<-CBN[ShahrestanCode==707,ProvinceCode:=as.numeric(ShahrestanCode)]
+CBN<-CBN[ShahrestanCode==916,ProvinceCode:=as.numeric(ShahrestanCode)]
+CBN<-CBN[ShahrestanCode==1002,ProvinceCode:=as.numeric(ShahrestanCode)]
+CBN<-CBN[ShahrestanCode==3001,ProvinceCode:=as.numeric(ShahrestanCode)]
+CBN<-CBN[ShahrestanCode==2301,ProvinceCode:=as.numeric(ShahrestanCode)]
+CBN<-CBN[ShahrestanCode==502,ProvinceCode:=as.numeric(ShahrestanCode)]
+
+# Food Calories
+CBN$Ghand_Calory<- CBN$Ghandgram *4
+CBN$Hoboobat_Calory<- CBN$Hoboobatgram *3
+CBN$Nan_Calory<- CBN$Nangram *2.5
+CBN$Berenj_Calory<- CBN$Berenjgram *1.2
+CBN$Roghan_Calory<- CBN$Roghangram *8
+CBN$Goosht_Calory<- CBN$Gooshtgram *2.5
+CBN$Morgh_Calory<- CBN$Morghgram *2
+CBN$Mahi_Calory<- CBN$Mahigram *1
+CBN$Shir_Calory<- CBN$Shirgram *2.5
+CBN$Mast_Calory<- CBN$Mastgram *1.5
+CBN$Panir_Calory<- CBN$Mastgram *2.5
+CBN$Tokhmemorgh_Calory<- CBN$Tokhmemorghgram *1.4
+CBN$Mive_Calory<- CBN$Mivegram *0.5
+CBN$Sabzi_Calory<- CBN$Sabzigram *0.5
+CBN$Makarooni_Calory<- CBN$Makaroonigram *3.6
+CBN$Sibzamini_Calory<- CBN$Sibzaminigram *0.9
+#utils::View(CBN)
+
+#CalculatePer_calories
+CBN[, Daily_Exp_Calories := Reduce(`+`, .SD), .SDcols=148:163][]
+CBN[,EqSizeCalory :=(Size-NKids) + NKids*(1800/2100)]
+CBN[,Per_Daily_Exp_Calories:=Daily_Exp_Calories/EqSizeCalory]
+CBN <- CBN[Per_Daily_Exp_Calories<100000] # arbitrary removal of outliers
+#CBN[,Daily_Calories_cluster:=weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+#CBN[,weighted.mean(Daily_Calories_cluster,Weight,na.rm = TRUE),by=cluster]
+#CBN[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+#CBN[,weighted.mean(Size,Weight,na.rm = TRUE),by=cluster]
+#CBN[,sum(Weight*Size),by=cluster]
+#CBN[,sum(Weight),by=cluster]
+#CBN[,sum(Poor),by=cluster]
+
+
+#Calculate_Per_calories
+CBN$Ghand_per_Calory<- CBN$Ghandgram *4/CBN$EqSizeCalory
+CBN$Hoboobat_per_Calory<- CBN$Hoboobatgram *3/CBN$EqSizeCalory
+CBN$Nan_per_Calory<- CBN$Nangram *2.5/CBN$EqSizeCalory
+CBN$Berenj_per_Calory<- CBN$Berenjgram *1.2/CBN$EqSizeCalory
+CBN$Roghan_per_Calory<- CBN$Roghangram *8/CBN$EqSizeCalory
+CBN$Goosht_per_Calory<- CBN$Gooshtgram *2.5/CBN$EqSizeCalory
+CBN$Morgh_per_Calory<- CBN$Morghgram *2/CBN$EqSizeCalory
+CBN$Mahi_per_Calory<- CBN$Mahigram *1/CBN$EqSizeCalory
+CBN$Shir_per_Calory<- CBN$Shirgram *2.5/CBN$EqSizeCalory
+CBN$Mast_per_Calory<- CBN$Mastgram *1.5/CBN$EqSizeCalory
+CBN$Panir_per_Calory<- CBN$Mastgram *2.5/CBN$EqSizeCalory
+CBN$Tokhmemorgh_per_Calory<- CBN$Tokhmemorghgram *1.4/CBN$EqSizeCalory
+CBN$Mive_per_Calory<- CBN$Mivegram *0.5/CBN$EqSizeCalory
+CBN$Sabzi_per_Calory<- CBN$Sabzigram *0.5/CBN$EqSizeCalory
+CBN$Makarooni_per_Calory<- CBN$Makaroonigram *3.6/CBN$EqSizeCalory
+CBN$Sibzamini_per_Calory<- CBN$Sibzaminigram *0.9/CBN$EqSizeCalory
+
+
+#Assume that deciles 1 and 2 are poor
+CBN[,Poor:=ifelse(Decile %in% 1:2,1,0)]
+CBNPoor<-CBN[Poor==1]
+
+#K-means weights
+PriceWeights<-CBN[,.(HHID,Ghand_W,Hoboobat_W,Roghan_W,Berenj_W,Nan_W,Goosht_W,Morgh_W,Mahi_W,Shir_W,Mast_W,Panir_W,Tokhmemorgh_W,Mive_W,Sabzi_W,Makarooni_W,Sibzamini_W,Home_W,ProvinceCode,Weight)]
+dt3 <- PriceWeights[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+dt3<- dt3[order(ProvinceCode)]
+dt3 <- dt3[,.(Ghand_W,Hoboobat_W,Roghan_W,Berenj_W,Nan_W,Goosht_W,Morgh_W,Mahi_W,Shir_W,Mast_W,Panir_W,Tokhmemorgh_W,Mive_W,Sabzi_W,Makarooni_W,Sibzamini_W,Home_W)]
+
+
+#K-means algorithm for clustering by prices
+test<-CBNPoor[,.(GhandPrice,HoboobatPrice,RoghanPrice,BerenjPrice,NanPrice,GooshtPrice,MorghPrice,MahiPrice,ShirPrice,MastPrice,PanirPrice,TokhmemorghPrice,MivePrice,SabziPrice,MakarooniPrice,SibzaminiPrice,MetrPrice,ProvinceCode,Weight)]
+#test<-CBNPoor[,.(GhandPrice,HoboobatPrice,RoghanPrice,BerenjPrice,NanPrice,GooshtPrice,MorghPrice,MahiPrice,ShirPrice,MastPrice,PanirPrice,TokhmemorghPrice,MivePrice,SabziPrice,MakarooniPrice,SibzaminiPrice,MetrPrice,Ghand_W,Hoboobat_W,Roghan_W,Berenj_W,Nan_W,Goosht_W,Morgh_W,Mahi_W,Shir_W,Mast_W,Panir_W,Tokhmemorgh_W,Mive_W,Sabzi_W,Makarooni_W,Sibzamini_W,Home_W,Region,ProvinceCode,Weight)]
+dt2 <- test[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+dt2<- dt2[order(ProvinceCode)]
+for (col in c("MahiPrice")) dt2[is.nan(get(col)), (col) := 200000]
+dt <- dt2 [,.(GhandPrice,HoboobatPrice,RoghanPrice,BerenjPrice,NanPrice,GooshtPrice,MorghPrice,MahiPrice,ShirPrice,MastPrice,PanirPrice,TokhmemorghPrice,MivePrice,SabziPrice,MakarooniPrice,SibzaminiPrice,MetrPrice)]
+
+
+pca <- princomp(dt, cor=T)
+PRICE <- pca$scores
+PRICE1 <- -1*PRICE[,1]
+PRICE2 <- -1*PRICE[,2]
+PRICE3 <- -1*PRICE[,3]
+PRICE4 <- -1*PRICE[,4]
+PRICE5 <- -1*PRICE[,5]
+PRICE6 <- -1*PRICE[,6]
+PRICE7 <- -1*PRICE[,7]
+PRICE8 <- -1*PRICE[,8]
+PRICE9 <- -1*PRICE[,9]
+PRICE10 <- -1*PRICE[,10]
+PRICE11 <- -1*PRICE[,11]
+PRICE12 <- -1*PRICE[,12]
+PRICE13 <- -1*PRICE[,13]
+PRICE14 <- -1*PRICE[,14]
+PRICE15 <- -1*PRICE[,15]
+PRICE16 <- -1*PRICE[,16]
+PRICE17 <- -1*PRICE[,17]
+
+# Deciding how many clusters
+wss <- (nrow(dt)-1)*sum(apply(dt,2,var))
+for (i in 2:30) wss[i] <- sum(kmeans(dt, centers=i)$withinss)
+plot(1:30, wss, type="b", xlab="Number of Clusters",
+ ylab="Within groups sum of squares")
+
+#Weighted clustering
+
+dt3.m <- dt3[,lapply(.SD, mean)] # Weights for each vector
+dtW <- dt * sqrt(dt3.m[rep(1,nrow(dt))]) # Weighted observations
+kmeans(dtW,4) # Simple K-means
+
+cl <- kmeans(dtW,4)
+cl$cluster
+dt2 <- dt2[,cluster:=data.table(cl$cluster)]
+dt2<-dt2[,.(ProvinceCode,cluster)]
+load(file="dt4Urban.rda")
+#plot(PRICE1, PRICE2,col=cl$cluster)
+#points(cl$centers, pch=20)
+CBNPoor<-merge(CBNPoor,dt2,by=c("ProvinceCode"),all.x = TRUE)
+CBNPoor[,sum(Weight*Size),by=cluster]
+CBNPoor[,sum(Weight),by=cluster]
+CBNPoor[,sum(Poor),by=cluster]
+C2<-CBNPoor[,.(HHID,ProvinceCode,Region,Decile,Poor,cluster)]
+######################################################################
+####Iteration 1#####
+###Iteration1-1
+#Calculate Per_calories in clusters
+CBNPoor[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(185:200)][]
+
+
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(202:217)][]
+
+CBNPoor[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor<-CBNPoor[Per_Daily_Exp_Calories!=0]
+CBNPoor[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+#CBN[,weighted.mean(Poor,Weight),by=cluster][order(cluster)]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE)]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE)]
+
+#Real Prices
+T_Bundle_Value<-subset(CBNPoor, ProvinceCode==2301, select=c(Bundle_Value,Home_Per_Metr,Weight))
+Tehran_Bundle_Value1<-weighted.mean(T_Bundle_Value$Bundle_Value,T_Bundle_Value$Weight,na.rm = TRUE)
+Tehran_Bundle_Value2<-weighted.mean(T_Bundle_Value$Home_Per_Metr,T_Bundle_Value$Weight,na.rm = TRUE)
+CBNPoor[,RealPriceIndex1:=weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/Tehran_Bundle_Value1,by=ProvinceCode]
+CBNPoor[,RealPriceIndex2:=weighted.mean(Home_Per_Metr,Weight,na.rm = TRUE)/Tehran_Bundle_Value2,by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex1,Weight),by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex2,Weight),by=ProvinceCode]
+Indexes2<-CBNPoor[,.(RealPriceIndex1,RealPriceIndex2,ProvinceCode,Weight)]
+Indexes2<-Indexes2[,RealPriceIndex:=(RealPriceIndex1+RealPriceIndex2)/2]
+Indexes<-Indexes2[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+Indexes31<-Indexes[,.(ProvinceCode,RealPriceIndex1,RealPriceIndex2,RealPriceIndex)]
+Indexes<-Indexes[,.(ProvinceCode,RealPriceIndex)]
+CBN<-merge(CBN,Indexes,by=c("ProvinceCode"),all.x = TRUE)
+CBN<-CBN[,Total_Food_Month_Per2:=FoodExpenditure_Per*RealPriceIndex]
+CBN<-CBN[,Total_Exp_Month_Per2:=Total_Exp_Month_Per_nondurable*RealPriceIndex]
+#utils::View(CBN)
+
+#Sort Expenditure data
+CBN<- CBN[order(Total_Exp_Month_Per2)]
+
+#Calculate cumulative weights
+sum(CBN$Weight)
+CBN$cumweight <- cumsum(CBN$Weight)
+tx <- max(CBN$cumweight)
+
+#Calculate deciles by weights
+CBN[,Decile:=cut(cumweight,breaks = seq(0,tx,tx/10),labels = 1:10)]
+CBN[,Percentile:=cut(cumweight,breaks=seq(0,tx,tx/100),labels=1:100)]
+
+#Update Poors
+CBN[,Poor:=ifelse(Decile %in% 1:2,1,0)]
+CBNPoor<-CBN[Poor==1]
+CBNPoor<-merge(CBNPoor,dt2,by=c("ProvinceCode"),all.x = TRUE)
+CBNPoor[,sum(Size*Weight),by=.(cluster)][order(cluster)]
+
+###Iteration1-2
+#Calculate Per_calories in clusters
+CBNPoor[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(185:200)][]
+#utils::View(CBNPoor)
+
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(202:217)][]
+
+CBNPoor[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor<-CBNPoor[Per_Daily_Exp_Calories!=0]
+CBNPoor[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+#CBN[,weighted.mean(Poor,Weight),by=cluster][order(cluster)]
+
+#Real Prices
+T_Bundle_Value<-subset(CBNPoor, ProvinceCode==2301, select=c(Bundle_Value,Home_Per_Metr,Weight))
+Tehran_Bundle_Value1<-weighted.mean(T_Bundle_Value$Bundle_Value,T_Bundle_Value$Weight,na.rm = TRUE)
+Tehran_Bundle_Value2<-weighted.mean(T_Bundle_Value$Home_Per_Metr,T_Bundle_Value$Weight,na.rm = TRUE)
+CBNPoor[,RealPriceIndex1:=weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/Tehran_Bundle_Value1,by=ProvinceCode]
+CBNPoor[,RealPriceIndex2:=weighted.mean(Home_Per_Metr,Weight,na.rm = TRUE)/Tehran_Bundle_Value2,by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex1,Weight),by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex2,Weight),by=ProvinceCode]
+Indexes2<-CBNPoor[,.(RealPriceIndex1,RealPriceIndex2,ProvinceCode,Weight)]
+Indexes2<-Indexes2[,RealPriceIndex:=(RealPriceIndex1+RealPriceIndex2)/2]
+Indexes<-Indexes2[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+Indexes32<-Indexes[,.(ProvinceCode,RealPriceIndex1,RealPriceIndex2,RealPriceIndex)]
+Indexes<-Indexes[,.(ProvinceCode,RealPriceIndex)]
+CBN[,RealPriceIndex:=NULL]
+CBN<-merge(CBN,Indexes,by=c("ProvinceCode"),all.x = TRUE)
+CBN<-CBN[,Total_Food_Month_Per2:=FoodExpenditure_Per*RealPriceIndex]
+CBN<-CBN[,Total_Exp_Month_Per2:=Total_Exp_Month_Per_nondurable*RealPriceIndex]
+#utils::View(CBN)
+
+#Sort Expenditure data
+CBN<- CBN[order(Total_Exp_Month_Per2)]
+
+#Calculate cumulative weights
+sum(CBN$Weight)
+CBN$cumweight <- cumsum(CBN$Weight)
+tx <- max(CBN$cumweight)
+
+#Calculate deciles by weights
+CBN[,Decile:=cut(cumweight,breaks = seq(0,tx,tx/10),labels = 1:10)]
+CBN[,Percentile:=cut(cumweight,breaks=seq(0,tx,tx/100),labels=1:100)]
+
+#Update Poors
+CBN[,Poor:=ifelse(Decile %in% 2:5,1,0)]
+CBNPoor<-CBN[Poor==1]
+CBNPoor<-merge(CBNPoor,dt2,by=c("ProvinceCode"),all.x = TRUE)
+CBNPoor[,sum(HIndivNo),by=.(ProvinceCode)][order(ProvinceCode)]
+
+###Iteration1-3
+#Calculate Per_calories in clusters
+CBNPoor[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(185:200)][]
+#utils::View(CBNPoor)
+
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(202:217)][]
+
+CBNPoor[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor<-CBNPoor[Per_Daily_Exp_Calories!=0]
+CBNPoor[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+#CBN[,weighted.mean(Poor,Weight),by=cluster][order(cluster)]
+
+#Real Prices
+T_Bundle_Value<-subset(CBNPoor, ProvinceCode==2301, select=c(Bundle_Value,Home_Per_Metr,Weight))
+Tehran_Bundle_Value1<-weighted.mean(T_Bundle_Value$Bundle_Value,T_Bundle_Value$Weight,na.rm = TRUE)
+Tehran_Bundle_Value2<-weighted.mean(T_Bundle_Value$Home_Per_Metr,T_Bundle_Value$Weight,na.rm = TRUE)
+CBNPoor[,RealPriceIndex1:=weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/Tehran_Bundle_Value1,by=ProvinceCode]
+CBNPoor[,RealPriceIndex2:=weighted.mean(Home_Per_Metr,Weight,na.rm = TRUE)/Tehran_Bundle_Value2,by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex1,Weight),by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex2,Weight),by=ProvinceCode]
+Indexes2<-CBNPoor[,.(RealPriceIndex1,RealPriceIndex2,ProvinceCode,Weight)]
+Indexes2<-Indexes2[,RealPriceIndex:=(RealPriceIndex1+RealPriceIndex2)/2]
+Indexes<-Indexes2[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+Indexes33<-Indexes[,.(ProvinceCode,RealPriceIndex1,RealPriceIndex2,RealPriceIndex)]
+Indexes<-Indexes[,.(ProvinceCode,RealPriceIndex)]
+CBN[,RealPriceIndex:=NULL]
+CBN<-merge(CBN,Indexes,by=c("ProvinceCode"),all.x = TRUE)
+CBN<-CBN[,Total_Food_Month_Per2:=FoodExpenditure_Per*RealPriceIndex]
+CBN<-CBN[,Total_Exp_Month_Per2:=Total_Exp_Month_Per_nondurable*RealPriceIndex]
+#utils::View(CBN)
+
+#Sort Expenditure data
+CBN<- CBN[order(Total_Exp_Month_Per2)]
+
+#Calculate cumulative weights
+sum(CBN$Weight)
+CBN$cumweight <- cumsum(CBN$Weight)
+tx <- max(CBN$cumweight)
+
+#Calculate deciles by weights
+CBN[,Decile:=cut(cumweight,breaks = seq(0,tx,tx/10),labels = 1:10)]
+CBN[,Percentile:=cut(cumweight,breaks=seq(0,tx,tx/100),labels=1:100)]
+
+#Update Poors
+CBN[,Poor:=ifelse(Decile %in% 2:5,1,0)]
+CBNPoor<-CBN[Poor==1]
+CBNPoor<-merge(CBNPoor,dt2,by=c("ProvinceCode"),all.x = TRUE)
+CBNPoor[,sum(HIndivNo),by=.(ProvinceCode)][order(ProvinceCode)]
+
+
+###Iteration1-4
+#Calculate Per_calories in clusters
+CBNPoor[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(185:200)][]
+#utils::View(CBNPoor)
+
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(202:217)][]
+
+CBNPoor[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor<-CBNPoor[Per_Daily_Exp_Calories!=0]
+CBNPoor[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+#CBN[,weighted.mean(Poor,Weight),by=cluster][order(cluster)]
+
+#Real Prices
+T_Bundle_Value<-subset(CBNPoor, ProvinceCode==2301, select=c(Bundle_Value,Home_Per_Metr,Weight))
+Tehran_Bundle_Value1<-weighted.mean(T_Bundle_Value$Bundle_Value,T_Bundle_Value$Weight,na.rm = TRUE)
+Tehran_Bundle_Value2<-weighted.mean(T_Bundle_Value$Home_Per_Metr,T_Bundle_Value$Weight,na.rm = TRUE)
+CBNPoor[,RealPriceIndex1:=weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/Tehran_Bundle_Value1,by=ProvinceCode]
+CBNPoor[,RealPriceIndex2:=weighted.mean(Home_Per_Metr,Weight,na.rm = TRUE)/Tehran_Bundle_Value2,by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex1,Weight),by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex2,Weight),by=ProvinceCode]
+Indexes2<-CBNPoor[,.(RealPriceIndex1,RealPriceIndex2,ProvinceCode,Weight)]
+Indexes2<-Indexes2[,RealPriceIndex:=(RealPriceIndex1+RealPriceIndex2)/2]
+Indexes<-Indexes2[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+Indexes34<-Indexes[,.(ProvinceCode,RealPriceIndex1,RealPriceIndex2,RealPriceIndex)]
+Indexes<-Indexes[,.(ProvinceCode,RealPriceIndex)]
+CBN[,RealPriceIndex:=NULL]
+CBN<-merge(CBN,Indexes,by=c("ProvinceCode"),all.x = TRUE)
+CBN<-CBN[,Total_Food_Month_Per2:=FoodExpenditure_Per*RealPriceIndex]
+CBN<-CBN[,Total_Exp_Month_Per2:=Total_Exp_Month_Per_nondurable*RealPriceIndex]
+#utils::View(CBN)
+
+
+#Sort Expenditure data
+CBN<- CBN[order(Total_Exp_Month_Per2)]
+
+#Calculate cumulative weights
+sum(CBN$Weight)
+CBN$cumweight <- cumsum(CBN$Weight)
+tx <- max(CBN$cumweight)
+
+#Calculate deciles by weights
+CBN[,Decile:=cut(cumweight,breaks = seq(0,tx,tx/10),labels = 1:10)]
+CBN[,Percentile:=cut(cumweight,breaks=seq(0,tx,tx/100),labels=1:100)]
+
+#Update Poors
+CBN[,Poor:=ifelse(Decile %in% 2:5,1,0)]
+CBNPoor<-CBN[Poor==1]
+CBNPoor<-merge(CBNPoor,dt2,by=c("ProvinceCode"),all.x = TRUE)
+CBNPoor[,sum(HIndivNo),by=.(ProvinceCode)][order(ProvinceCode)]
+
+###Iteration1-5
+#Calculate Per_calories in clusters
+CBNPoor[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(185:200)][]
+#utils::View(CBNPoor)
+
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(202:217)][]
+
+CBNPoor[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor<-CBNPoor[Per_Daily_Exp_Calories!=0]
+CBNPoor[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+#CBN[,weighted.mean(Poor,Weight),by=cluster][order(cluster)]
+
+#Real Prices
+T_Bundle_Value<-subset(CBNPoor, ProvinceCode==2301, select=c(Bundle_Value,Home_Per_Metr,Weight))
+Tehran_Bundle_Value1<-weighted.mean(T_Bundle_Value$Bundle_Value,T_Bundle_Value$Weight,na.rm = TRUE)
+Tehran_Bundle_Value2<-weighted.mean(T_Bundle_Value$Home_Per_Metr,T_Bundle_Value$Weight,na.rm = TRUE)
+CBNPoor[,RealPriceIndex1:=weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/Tehran_Bundle_Value1,by=ProvinceCode]
+CBNPoor[,RealPriceIndex2:=weighted.mean(Home_Per_Metr,Weight,na.rm = TRUE)/Tehran_Bundle_Value2,by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex1,Weight),by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex2,Weight),by=ProvinceCode]
+Indexes2<-CBNPoor[,.(RealPriceIndex1,RealPriceIndex2,ProvinceCode,Weight)]
+Indexes2<-Indexes2[,RealPriceIndex:=(RealPriceIndex1+RealPriceIndex2)/2]
+Indexes<-Indexes2[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+Indexes35<-Indexes[,.(ProvinceCode,RealPriceIndex1,RealPriceIndex2,RealPriceIndex)]
+Indexes<-Indexes[,.(ProvinceCode,RealPriceIndex)]
+CBN[,RealPriceIndex:=NULL]
+CBN<-merge(CBN,Indexes,by=c("ProvinceCode"),all.x = TRUE)
+CBN<-CBN[,Total_Food_Month_Per2:=FoodExpenditure_Per*RealPriceIndex]
+CBN<-CBN[,Total_Exp_Month_Per2:=Total_Exp_Month_Per_nondurable*RealPriceIndex]
+#utils::View(CBN)
+
+
+#Sort Expenditure data
+CBN<- CBN[order(Total_Exp_Month_Per2)]
+
+#Calculate cumulative weights
+sum(CBN$Weight)
+CBN$cumweight <- cumsum(CBN$Weight)
+tx <- max(CBN$cumweight)
+
+#Calculate deciles by weights
+CBN[,Decile:=cut(cumweight,breaks = seq(0,tx,tx/10),labels = 1:10)]
+CBN[,Percentile:=cut(cumweight,breaks=seq(0,tx,tx/100),labels=1:100)]
+
+#Update Poors
+CBN[,Poor:=ifelse(Decile %in% 2:5,1,0)]
+CBNPoor<-CBN[Poor==1]
+CBNPoor<-merge(CBNPoor,dt2,by=c("ProvinceCode"),all.x = TRUE)
+CBNPoor[,sum(HIndivNo),by=.(ProvinceCode)][order(ProvinceCode)]
+
+###Iteration1-6
+#Calculate Per_calories in clusters
+CBNPoor[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(185:200)][]
+#utils::View(CBNPoor)
+
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(202:217)][]
+
+CBNPoor[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor<-CBNPoor[Per_Daily_Exp_Calories!=0]
+CBNPoor[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+#CBN[,weighted.mean(Poor,Weight),by=cluster][order(cluster)]
+
+#Real Prices
+T_Bundle_Value<-subset(CBNPoor, ProvinceCode==2301, select=c(Bundle_Value,Home_Per_Metr,Weight))
+Tehran_Bundle_Value1<-weighted.mean(T_Bundle_Value$Bundle_Value,T_Bundle_Value$Weight,na.rm = TRUE)
+Tehran_Bundle_Value2<-weighted.mean(T_Bundle_Value$Home_Per_Metr,T_Bundle_Value$Weight,na.rm = TRUE)
+CBNPoor[,RealPriceIndex1:=weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/Tehran_Bundle_Value1,by=ProvinceCode]
+CBNPoor[,RealPriceIndex2:=weighted.mean(Home_Per_Metr,Weight,na.rm = TRUE)/Tehran_Bundle_Value2,by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex1,Weight),by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex2,Weight),by=ProvinceCode]
+Indexes2<-CBNPoor[,.(RealPriceIndex1,RealPriceIndex2,ProvinceCode,Weight)]
+Indexes2<-Indexes2[,RealPriceIndex:=(RealPriceIndex1+RealPriceIndex2)/2]
+Indexes<-Indexes2[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+Indexes36<-Indexes[,.(ProvinceCode,RealPriceIndex1,RealPriceIndex2,RealPriceIndex)]
+Indexes<-Indexes[,.(ProvinceCode,RealPriceIndex)]
+CBN[,RealPriceIndex:=NULL]
+CBN<-merge(CBN,Indexes,by=c("ProvinceCode"),all.x = TRUE)
+CBN<-CBN[,Total_Food_Month_Per2:=FoodExpenditure_Per*RealPriceIndex]
+CBN<-CBN[,Total_Exp_Month_Per2:=Total_Exp_Month_Per_nondurable*RealPriceIndex]
+#utils::View(CBN)
+
+
+#Sort Expenditure data
+CBN<- CBN[order(Total_Exp_Month_Per2)]
+
+#Calculate cumulative weights
+sum(CBN$Weight)
+CBN$cumweight <- cumsum(CBN$Weight)
+tx <- max(CBN$cumweight)
+
+#Calculate deciles by weights
+CBN[,Decile:=cut(cumweight,breaks = seq(0,tx,tx/10),labels = 1:10)]
+CBN[,Percentile:=cut(cumweight,breaks=seq(0,tx,tx/100),labels=1:100)]
+
+#Update Poors
+CBN[,Poor:=ifelse(Decile %in% 2:5,1,0)]
+CBNPoor<-CBN[Poor==1]
+CBNPoor<-merge(CBNPoor,dt2,by=c("ProvinceCode"),all.x = TRUE)
+CBNPoor[,sum(HIndivNo),by=.(ProvinceCode)][order(ProvinceCode)]
+
+###Iteration1-7
+#Calculate Per_calories in clusters
+CBNPoor[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(185:200)][]
+#utils::View(CBNPoor)
+
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(202:217)][]
+
+CBNPoor[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor<-CBNPoor[Per_Daily_Exp_Calories!=0]
+CBNPoor[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+#CBN[,weighted.mean(Poor,Weight),by=cluster][order(cluster)]
+
+#Real Prices
+T_Bundle_Value<-subset(CBNPoor, ProvinceCode==2301, select=c(Bundle_Value,Home_Per_Metr,Weight))
+Tehran_Bundle_Value1<-weighted.mean(T_Bundle_Value$Bundle_Value,T_Bundle_Value$Weight,na.rm = TRUE)
+Tehran_Bundle_Value2<-weighted.mean(T_Bundle_Value$Home_Per_Metr,T_Bundle_Value$Weight,na.rm = TRUE)
+CBNPoor[,RealPriceIndex1:=weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/Tehran_Bundle_Value1,by=ProvinceCode]
+CBNPoor[,RealPriceIndex2:=weighted.mean(Home_Per_Metr,Weight,na.rm = TRUE)/Tehran_Bundle_Value2,by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex1,Weight),by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex2,Weight),by=ProvinceCode]
+Indexes2<-CBNPoor[,.(RealPriceIndex1,RealPriceIndex2,ProvinceCode,Weight)]
+Indexes2<-Indexes2[,RealPriceIndex:=(RealPriceIndex1+RealPriceIndex2)/2]
+Indexes<-Indexes2[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+Indexes37<-Indexes[,.(ProvinceCode,RealPriceIndex1,RealPriceIndex2,RealPriceIndex)]
+Indexes<-Indexes[,.(ProvinceCode,RealPriceIndex)]
+CBN[,RealPriceIndex:=NULL]
+CBN<-merge(CBN,Indexes,by=c("ProvinceCode"),all.x = TRUE)
+CBN<-CBN[,Total_Food_Month_Per2:=FoodExpenditure_Per*RealPriceIndex]
+CBN<-CBN[,Total_Exp_Month_Per2:=Total_Exp_Month_Per_nondurable*RealPriceIndex]
+#utils::View(CBN)
+
+
+#Sort Expenditure data
+CBN<- CBN[order(Total_Exp_Month_Per2)]
+
+#Calculate cumulative weights
+sum(CBN$Weight)
+CBN$cumweight <- cumsum(CBN$Weight)
+tx <- max(CBN$cumweight)
+
+#Calculate deciles by weights
+CBN[,Decile:=cut(cumweight,breaks = seq(0,tx,tx/10),labels = 1:10)]
+CBN[,Percentile:=cut(cumweight,breaks=seq(0,tx,tx/100),labels=1:100)]
+
+#Update Poors
+CBN[,Poor:=ifelse(Decile %in% 2:5,1,0)]
+CBNPoor<-CBN[Poor==1]
+CBNPoor<-merge(CBNPoor,dt2,by=c("ProvinceCode"),all.x = TRUE)
+CBNPoor[,sum(HIndivNo),by=.(ProvinceCode)][order(ProvinceCode)]
+
+###Iteration1-8
+#Calculate Per_calories in clusters
+CBNPoor[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(185:200)][]
+#utils::View(CBNPoor)
+
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(202:217)][]
+
+CBNPoor[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor<-CBNPoor[Per_Daily_Exp_Calories!=0]
+CBNPoor[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+#CBN[,weighted.mean(Poor,Weight),by=cluster][order(cluster)]
+
+#Real Prices
+T_Bundle_Value<-subset(CBNPoor, ProvinceCode==2301, select=c(Bundle_Value,Home_Per_Metr,Weight))
+Tehran_Bundle_Value1<-weighted.mean(T_Bundle_Value$Bundle_Value,T_Bundle_Value$Weight,na.rm = TRUE)
+Tehran_Bundle_Value2<-weighted.mean(T_Bundle_Value$Home_Per_Metr,T_Bundle_Value$Weight,na.rm = TRUE)
+CBNPoor[,RealPriceIndex1:=weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/Tehran_Bundle_Value1,by=ProvinceCode]
+CBNPoor[,RealPriceIndex2:=weighted.mean(Home_Per_Metr,Weight,na.rm = TRUE)/Tehran_Bundle_Value2,by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex1,Weight),by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex2,Weight),by=ProvinceCode]
+Indexes2<-CBNPoor[,.(RealPriceIndex1,RealPriceIndex2,ProvinceCode,Weight)]
+Indexes2<-Indexes2[,RealPriceIndex:=(RealPriceIndex1+RealPriceIndex2)/2]
+Indexes<-Indexes2[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+Indexes38<-Indexes[,.(ProvinceCode,RealPriceIndex1,RealPriceIndex2,RealPriceIndex)]
+Indexes<-Indexes[,.(ProvinceCode,RealPriceIndex)]
+CBN[,RealPriceIndex:=NULL]
+CBN<-merge(CBN,Indexes,by=c("ProvinceCode"),all.x = TRUE)
+CBN<-CBN[,Total_Food_Month_Per2:=FoodExpenditure_Per*RealPriceIndex]
+CBN<-CBN[,Total_Exp_Month_Per2:=Total_Exp_Month_Per_nondurable*RealPriceIndex]
+#utils::View(CBN)
+
+
+#Sort Expenditure data
+CBN<- CBN[order(Total_Exp_Month_Per2)]
+
+#Calculate cumulative weights
+sum(CBN$Weight)
+CBN$cumweight <- cumsum(CBN$Weight)
+tx <- max(CBN$cumweight)
+
+#Calculate deciles by weights
+CBN[,Decile:=cut(cumweight,breaks = seq(0,tx,tx/10),labels = 1:10)]
+CBN[,Percentile:=cut(cumweight,breaks=seq(0,tx,tx/100),labels=1:100)]
+
+#Update Poors
+CBN[,Poor:=ifelse(Decile %in% 2:5,1,0)]
+CBNPoor<-CBN[Poor==1]
+CBNPoor<-merge(CBNPoor,dt2,by=c("ProvinceCode"),all.x = TRUE)
+CBNPoor[,sum(HIndivNo),by=.(ProvinceCode)][order(ProvinceCode)]
+
+###Iteration1-9
+#Calculate Per_calories in clusters
+CBNPoor[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(185:200)][]
+#utils::View(CBNPoor)
+
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(202:217)][]
+
+CBNPoor[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor<-CBNPoor[Per_Daily_Exp_Calories!=0]
+CBNPoor[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+#CBN[,weighted.mean(Poor,Weight),by=cluster][order(cluster)]
+
+#Real Prices
+T_Bundle_Value<-subset(CBNPoor, ProvinceCode==2301, select=c(Bundle_Value,Home_Per_Metr,Weight))
+Tehran_Bundle_Value1<-weighted.mean(T_Bundle_Value$Bundle_Value,T_Bundle_Value$Weight,na.rm = TRUE)
+Tehran_Bundle_Value2<-weighted.mean(T_Bundle_Value$Home_Per_Metr,T_Bundle_Value$Weight,na.rm = TRUE)
+CBNPoor[,RealPriceIndex1:=weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/Tehran_Bundle_Value1,by=ProvinceCode]
+CBNPoor[,RealPriceIndex2:=weighted.mean(Home_Per_Metr,Weight,na.rm = TRUE)/Tehran_Bundle_Value2,by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex1,Weight),by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex2,Weight),by=ProvinceCode]
+Indexes2<-CBNPoor[,.(RealPriceIndex1,RealPriceIndex2,ProvinceCode,Weight)]
+Indexes2<-Indexes2[,RealPriceIndex:=(RealPriceIndex1+RealPriceIndex2)/2]
+Indexes<-Indexes2[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+Indexes39<-Indexes[,.(ProvinceCode,RealPriceIndex1,RealPriceIndex2,RealPriceIndex)]
+Indexes<-Indexes[,.(ProvinceCode,RealPriceIndex)]
+CBN[,RealPriceIndex:=NULL]
+CBN<-merge(CBN,Indexes,by=c("ProvinceCode"),all.x = TRUE)
+CBN<-CBN[,Total_Food_Month_Per2:=FoodExpenditure_Per*RealPriceIndex]
+CBN<-CBN[,Total_Exp_Month_Per2:=Total_Exp_Month_Per_nondurable*RealPriceIndex]
+#utils::View(CBN)
+
+
+#Sort Expenditure data
+CBN<- CBN[order(Total_Exp_Month_Per2)]
+
+#Calculate cumulative weights
+sum(CBN$Weight)
+CBN$cumweight <- cumsum(CBN$Weight)
+tx <- max(CBN$cumweight)
+
+#Calculate deciles by weights
+CBN[,Decile:=cut(cumweight,breaks = seq(0,tx,tx/10),labels = 1:10)]
+CBN[,Percentile:=cut(cumweight,breaks=seq(0,tx,tx/100),labels=1:100)]
+
+#Update Poors
+CBN[,Poor:=ifelse(Decile %in% 2:5,1,0)]
+CBNPoor<-CBN[Poor==1]
+CBNPoor<-merge(CBNPoor,dt2,by=c("ProvinceCode"),all.x = TRUE)
+CBNPoor[,sum(HIndivNo),by=.(ProvinceCode)][order(ProvinceCode)]
+
+###Iteration1-10
+#Calculate Per_calories in clusters
+CBNPoor[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(185:200)][]
+#utils::View(CBNPoor)
+
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(202:217)][]
+
+CBNPoor[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor<-CBNPoor[Per_Daily_Exp_Calories!=0]
+CBNPoor[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+#CBN[,weighted.mean(Poor,Weight),by=cluster][order(cluster)]
+
+#Real Prices
+T_Bundle_Value<-subset(CBNPoor, ProvinceCode==2301, select=c(Bundle_Value,Home_Per_Metr,Weight))
+Tehran_Bundle_Value1<-weighted.mean(T_Bundle_Value$Bundle_Value,T_Bundle_Value$Weight,na.rm = TRUE)
+Tehran_Bundle_Value2<-weighted.mean(T_Bundle_Value$Home_Per_Metr,T_Bundle_Value$Weight,na.rm = TRUE)
+CBNPoor[,RealPriceIndex1:=weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/Tehran_Bundle_Value1,by=ProvinceCode]
+CBNPoor[,RealPriceIndex2:=weighted.mean(Home_Per_Metr,Weight,na.rm = TRUE)/Tehran_Bundle_Value2,by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex1,Weight),by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex2,Weight),by=ProvinceCode]
+Indexes2<-CBNPoor[,.(RealPriceIndex1,RealPriceIndex2,ProvinceCode,Weight)]
+Indexes2<-Indexes2[,RealPriceIndex:=(RealPriceIndex1+RealPriceIndex2)/2]
+Indexes<-Indexes2[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+Indexes310<-Indexes[,.(ProvinceCode,RealPriceIndex1,RealPriceIndex2,RealPriceIndex)]
+Indexes<-Indexes[,.(ProvinceCode,RealPriceIndex)]
+CBN[,RealPriceIndex:=NULL]
+CBN<-merge(CBN,Indexes,by=c("ProvinceCode"),all.x = TRUE)
+CBN<-CBN[,Total_Food_Month_Per2:=FoodExpenditure_Per*RealPriceIndex]
+CBN<-CBN[,Total_Exp_Month_Per2:=Total_Exp_Month_Per_nondurable*RealPriceIndex]
+#utils::View(CBN)
+
+
+#Sort Expenditure data
+CBN<- CBN[order(Total_Exp_Month_Per2)]
+
+#Calculate cumulative weights
+sum(CBN$Weight)
+CBN$cumweight <- cumsum(CBN$Weight)
+tx <- max(CBN$cumweight)
+
+#Calculate deciles by weights
+CBN[,Decile:=cut(cumweight,breaks = seq(0,tx,tx/10),labels = 1:10)]
+CBN[,Percentile:=cut(cumweight,breaks=seq(0,tx,tx/100),labels=1:100)]
+
+#Update Poors
+CBN[,Poor:=ifelse(Decile %in% 2:5,1,0)]
+CBNPoor<-CBN[Poor==1]
+CBNPoor<-merge(CBNPoor,dt2,by=c("ProvinceCode"),all.x = TRUE)
+CBNPoor[,sum(HIndivNo),by=.(cluster)][order(cluster)]
+
+
+#Calculate Per_calories in clusters
+CBNPoor[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(189:204)][]
+#utils::View(CBNPoor)
+
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(206:221)][]
+
+CBNPoor[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor<-CBNPoor[Per_Daily_Exp_Calories!=0]
+CBNPoor[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNCalory<-CBNPoor[,.(Per_Daily_Calories,Per_Daily_Exp_Calories,Per_Calory_Resturant,Resturant_Exp,cluster,ProvinceCode)]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+
+
+#Calculations
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_day,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,sum(Size*Weight),by=cluster][order(cluster)]
+
+
+#Food Poverty Line for each cluster
+#cluster 1
+CBNPoorCluster<-CBNPoor[cluster==1]
+Food_Povertyline1_1<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 2
+CBNPoorCluster<-CBNPoor[cluster==2]
+Food_Povertyline2_1<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 3
+CBNPoorCluster<-CBNPoor[cluster==3]
+Food_Povertyline3_1<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 4
+CBNPoorCluster<-CBNPoor[cluster==4]
+Food_Povertyline4_1<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+
+#ee<-CBNPoor[,.(Total_Exp_Month_Real,Total_Exp_Month,Total_Food_Month_Per2,Total_Exp_Month_Per_nondurable,Total_Exp_Month_nondurable_Real_Per,FoodExpenditure_Per,cluster)]
+#mean(ee[,Total_Food_Month_Per2==Total_Exp_Month_nondurable_Real])
+#mean(ee[,Total_Food_Month_Per2<3500000])
+#ee<- ee[order(Total_Food_Month_Per2)]
+#utils::View(CBN)
+CBN<-merge(CBN,dt2,by=c("ProvinceCode"),all.x = TRUE)
+#for (col in c("Total_Food_Month_Per2")) CBN[is.na(get(col)), (col) := Total_Exp_Month_Per_nondurable]
+c<-CBN[,.(FoodExpenditure_Per,FoodExpenditure_Per_total,Total_Exp_Month_Per_nondurable,Total_Exp_Month,Total_Food_Month_Per2,Poor,Decile,Weight,cluster)]
+
+#########Iteration 2###############
+#Sort Expenditure data
+CBN<- CBN[order(Total_Food_Month_Per2)]
+c<- c[order(Total_Food_Month_Per2)]
+
+#Indicate new poors
+CBN[,Poor2:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_1 & cluster==1,1,0)]
+c[,Poor2:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_1 & cluster==1 ,1,0)]
+CBN[,Poor2:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_1 & cluster==2,1,Poor2)]
+c[,Poor2:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_1 & cluster==2 ,1,Poor2)]
+CBN[,Poor2:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_1 & cluster==3,1,Poor2)]
+c[,Poor2:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_1 & cluster==3 ,1,Poor2)]
+CBN[,Poor2:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_1 & cluster==4,1,Poor2)]
+c[,Poor2:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_1 & cluster==4 ,1,Poor2)]
+CBN[,weighted.mean(Poor2,Weight),by=cluster][order(cluster)]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2<-CBN[Poor2==1]
+
+
+#CalculatePer_calories in clusters
+CBNPoor2[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(190:205)][]
+#utils::View(CBNPoor2)
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor2[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(207:222)][]
+
+CBNPoor2[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor2[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor2[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor2[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2<-CBNPoor2[Per_Daily_Exp_Calories!=0]
+CBNPoor2[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor2[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor2[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor2[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor2[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor2[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+
+
+
+#Calculations
+CBNPoor2[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,weighted.mean(FoodExpenditure_Per_day,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+
+
+
+#Food Poverty Line for each cluster
+#cluster 1
+CBNPoorCluster<-CBNPoor2[cluster==1]
+Food_Povertyline1_2<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 2
+CBNPoorCluster<-CBNPoor2[cluster==2]
+Food_Povertyline2_2<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 3
+CBNPoorCluster<-CBNPoor2[cluster==3]
+Food_Povertyline3_2<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 4
+CBNPoorCluster<-CBNPoor2[cluster==4]
+Food_Povertyline4_2<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#ee<-CBNPoor[,.(Total_Exp_Month_Real,Total_Exp_Month,Total_Food_Month_Per2,Total_Exp_Month_Per_nondurable,Total_Exp_Month_nondurable_Real_Per,FoodExpenditure_Per,cluster)]
+#mean(ee[,Total_Food_Month_Per2==Total_Exp_Month_nondurable_Real])
+#mean(ee[,Total_Food_Month_Per2<3500000])
+#ee<- ee[order(Total_Food_Month_Per2)]
+#utils::View(CBN)
+#for (col in c("Total_Food_Month_Per2")) CBN[is.na(get(col)), (col) := Total_Exp_Month_Per_nondurable]
+c<-CBN[,.(FoodExpenditure_Per,FoodExpenditure_Per_total,Total_Exp_Month_Per_nondurable,Total_Exp_Month,Total_Food_Month_Per2,Poor,Decile,Weight,cluster)]
+
+
+#########Iteration 3###############
+#Sort Expenditure data
+CBN<- CBN[order(Total_Food_Month_Per2)]
+c<- c[order(Total_Food_Month_Per2)]
+
+#Indicate new poors
+CBN[,Poor3:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_2 & cluster==1,1,0)]
+c[,Poor3:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_2 & cluster==1 ,1,0)]
+CBN[,Poor3:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_2 & cluster==2,1,Poor3)]
+c[,Poor3:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_2 & cluster==2 ,1,Poor3)]
+CBN[,Poor3:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_2 & cluster==3,1,Poor3)]
+c[,Poor3:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_2 & cluster==3 ,1,Poor3)]
+CBN[,Poor3:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_2 & cluster==4,1,Poor3)]
+c[,Poor3:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_2 & cluster==4 ,1,Poor3)]
+CBN[,weighted.mean(Poor3,Weight),by=cluster][order(cluster)]
+CBNPoor2[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3<-CBN[Poor3==1]
+
+
+
+#CalculatePer_calories in clusters
+CBNPoor3[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(191:206)][]
+#utils::View(CBNPoor3)
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor3[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(208:223)][]
+
+
+CBNPoor3[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor3[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor3[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor3[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3<-CBNPoor3[Per_Daily_Exp_Calories!=0]
+CBNPoor3[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor3[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+
+#sum of total food expenditures
+CBNPoor3[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor3[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor3[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor3[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+
+
+#Calculations
+CBNPoor3[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,weighted.mean(FoodExpenditure_Per_day,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+
+
+
+#Food Poverty Line for each cluster
+#cluster 1
+CBNPoorCluster<-CBNPoor3[cluster==1]
+Food_Povertyline1_3<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 2
+CBNPoorCluster<-CBNPoor3[cluster==2]
+Food_Povertyline2_3<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 3
+CBNPoorCluster<-CBNPoor3[cluster==3]
+Food_Povertyline3_3<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 4
+CBNPoorCluster<-CBNPoor3[cluster==4]
+Food_Povertyline4_3<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#ee<-CBNPoor[,.(Total_Exp_Month_Real,Total_Exp_Month,Total_Food_Month_Per2,Total_Exp_Month_Per_nondurable,Total_Exp_Month_nondurable_Real_Per,FoodExpenditure_Per,cluster)]
+#mean(ee[,Total_Food_Month_Per2==Total_Exp_Month_nondurable_Real])
+#mean(ee[,Total_Food_Month_Per2<3500000])
+#ee<- ee[order(Total_Food_Month_Per2)]
+#utils::View(CBN)
+#for (col in c("Total_Food_Month_Per2")) CBN[is.na(get(col)), (col) := Total_Exp_Month_Per_nondurable]
+c<-CBN[,.(FoodExpenditure_Per,FoodExpenditure_Per_total,Total_Exp_Month_Per_nondurable,Total_Exp_Month,Total_Food_Month_Per2,Poor,Decile,Weight,cluster)]
+
+
+#########Iteration 4###############
+#Sort Expenditure data
+CBN<- CBN[order(Total_Food_Month_Per2)]
+c<- c[order(Total_Food_Month_Per2)]
+
+#Indicate new poors
+CBN[,Poor4:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_3 & cluster==1,1,0)]
+c[,Poor4:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_3 & cluster==1 ,1,0)]
+CBN[,Poor4:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_3 & cluster==2,1,Poor4)]
+c[,Poor4:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_3 & cluster==2 ,1,Poor4)]
+CBN[,Poor4:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_3 & cluster==3,1,Poor4)]
+c[,Poor4:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_3 & cluster==3 ,1,Poor4)]
+CBN[,Poor4:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_3 & cluster==4,1,Poor4)]
+c[,Poor4:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_3 & cluster==4 ,1,Poor4)]
+CBN[,weighted.mean(Poor4,Weight),by=cluster][order(cluster)]
+CBNPoor3[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4<-CBN[Poor4==1]
+
+#CalculatePer_calories in clusters
+CBNPoor4[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(191:206)][]
+#utils::View(CBNPoor4)
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor4[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(208:223)][]
+
+
+CBNPoor4[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor4[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor4[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor4[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4<-CBNPoor4[Per_Daily_Exp_Calories!=0]
+CBNPoor4[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor4[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+
+#sum of total food expenditures
+CBNPoor4[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor4[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor4[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor4[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+
+
+#Calculations
+CBNPoor4[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,weighted.mean(FoodExpenditure_Per_day,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+
+
+
+#Food Poverty Line for each cluster
+#cluster 1
+CBNPoorCluster<-CBNPoor4[cluster==1]
+Food_Povertyline1_4<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 2
+CBNPoorCluster<-CBNPoor4[cluster==2]
+Food_Povertyline2_4<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 3
+CBNPoorCluster<-CBNPoor4[cluster==3]
+Food_Povertyline3_4<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 4
+CBNPoorCluster<-CBNPoor4[cluster==4]
+Food_Povertyline4_4<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#ee<-CBNPoor[,.(Total_Exp_Month_Real,Total_Exp_Month,Total_Food_Month_Per2,Total_Exp_Month_Per_nondurable,Total_Exp_Month_nondurable_Real_Per,FoodExpenditure_Per,cluster)]
+#mean(ee[,Total_Food_Month_Per2==Total_Exp_Month_nondurable_Real])
+#mean(ee[,Total_Food_Month_Per2<3500000])
+#ee<- ee[order(Total_Food_Month_Per2)]
+#utils::View(CBN)
+#for (col in c("Total_Food_Month_Per2")) CBN[is.na(get(col)), (col) := Total_Exp_Month_Per_nondurable]
+c<-CBN[,.(FoodExpenditure_Per,FoodExpenditure_Per_total,Total_Exp_Month_Per_nondurable,Total_Exp_Month,Total_Food_Month_Per2,Poor,Decile,Weight,cluster)]
+
+
+#########Iteration 5###############
+#Sort Expenditure data
+CBN<- CBN[order(Total_Food_Month_Per2)]
+c<- c[order(Total_Food_Month_Per2)]
+
+#Indicate new poors
+CBN[,Poor5:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_4 & cluster==1,1,0)]
+c[,Poor5:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_4 & cluster==1 ,1,0)]
+CBN[,Poor5:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_4 & cluster==2,1,Poor5)]
+c[,Poor5:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_4 & cluster==2 ,1,Poor5)]
+CBN[,Poor5:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_4 & cluster==3,1,Poor5)]
+c[,Poor5:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_4 & cluster==3 ,1,Poor5)]
+CBN[,Poor5:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_4 & cluster==4,1,Poor5)]
+c[,Poor5:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_4 & cluster==4 ,1,Poor5)]
+CBN[,weighted.mean(Poor5,Weight),by=cluster][order(cluster)]
+CBNPoor4[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5<-CBN[Poor5==1]
+
+#CalculatePer_calories in clusters
+CBNPoor5[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(191:206)][]
+#utils::View(CBNPoor5)
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor5[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(208:223)][]
+
+
+CBNPoor5[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor5[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor5[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor5[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5<-CBNPoor5[Per_Daily_Exp_Calories!=0]
+CBNPoor5[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor5[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+
+#sum of total food expenditures
+CBNPoor5[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor5[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor5[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor5[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+
+
+#Calculations
+CBNPoor5[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,weighted.mean(FoodExpenditure_Per_day,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+
+
+
+#Food Poverty Line for each cluster
+#cluster 1
+CBNPoorCluster<-CBNPoor5[cluster==1]
+Food_Povertyline1_5<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 2
+CBNPoorCluster<-CBNPoor5[cluster==2]
+Food_Povertyline2_5<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 3
+CBNPoorCluster<-CBNPoor5[cluster==3]
+Food_Povertyline3_5<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 4
+CBNPoorCluster<-CBNPoor5[cluster==4]
+Food_Povertyline4_5<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#ee<-CBNPoor[,.(Total_Exp_Month_Real,Total_Exp_Month,Total_Food_Month_Per2,Total_Exp_Month_Per_nondurable,Total_Exp_Month_nondurable_Real_Per,FoodExpenditure_Per,cluster)]
+#mean(ee[,Total_Food_Month_Per2==Total_Exp_Month_nondurable_Real])
+#mean(ee[,Total_Food_Month_Per2<3500000])
+#ee<- ee[order(Total_Food_Month_Per2)]
+#utils::View(CBN)
+#for (col in c("Total_Food_Month_Per2")) CBN[is.na(get(col)), (col) := Total_Exp_Month_Per_nondurable]
+c<-CBN[,.(FoodExpenditure_Per,FoodExpenditure_Per_total,Total_Exp_Month_Per_nondurable,Total_Exp_Month,Total_Food_Month_Per2,Poor,Decile,Weight,cluster)]
+
+
+#########Iteration 6###############
+#Sort Expenditure data
+CBN<- CBN[order(Total_Food_Month_Per2)]
+c<- c[order(Total_Food_Month_Per2)]
+
+#Indicate new poors
+CBN[,Poor6:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_5 & cluster==1,1,0)]
+c[,Poor6:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_5 & cluster==1 ,1,0)]
+CBN[,Poor6:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_5 & cluster==2,1,Poor6)]
+c[,Poor6:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_5 & cluster==2 ,1,Poor6)]
+CBN[,Poor6:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_5 & cluster==3,1,Poor6)]
+c[,Poor6:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_5 & cluster==3 ,1,Poor6)]
+CBN[,Poor6:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_5 & cluster==4,1,Poor6)]
+c[,Poor6:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_5 & cluster==4 ,1,Poor6)]
+CBN[,weighted.mean(Poor6,Weight),by=cluster][order(cluster)]
+CBNPoor5[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6<-CBN[Poor6==1]
+
+#CalculatePer_calories in clusters
+CBNPoor6[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(191:206)][]
+#utils::View(CBNPoor6)
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor6[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(208:223)][]
+
+
+CBNPoor6[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor6[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor6[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor6[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6<-CBNPoor6[Per_Daily_Exp_Calories!=0]
+CBNPoor6[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor6[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+
+#sum of total food expenditures
+CBNPoor6[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor6[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor6[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor6[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+
+
+#Calculations
+CBNPoor6[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,weighted.mean(FoodExpenditure_Per_day,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+
+
+#Food Poverty Line for each cluster
+#cluster 1
+CBNPoorCluster<-CBNPoor6[cluster==1]
+Food_Povertyline1_6<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 2
+CBNPoorCluster<-CBNPoor6[cluster==2]
+Food_Povertyline2_6<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 3
+CBNPoorCluster<-CBNPoor6[cluster==3]
+Food_Povertyline3_6<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 4
+CBNPoorCluster<-CBNPoor6[cluster==4]
+Food_Povertyline4_6<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#ee<-CBNPoor[,.(Total_Exp_Month_Real,Total_Exp_Month,Total_Food_Month_Per2,Total_Exp_Month_Per_nondurable,Total_Exp_Month_nondurable_Real_Per,FoodExpenditure_Per,cluster)]
+#mean(ee[,Total_Food_Month_Per2==Total_Exp_Month_nondurable_Real])
+#mean(ee[,Total_Food_Month_Per2<3500000])
+#ee<- ee[order(Total_Food_Month_Per2)]
+#utils::View(CBN)
+#for (col in c("Total_Food_Month_Per2")) CBN[is.na(get(col)), (col) := Total_Exp_Month_Per_nondurable]
+c<-CBN[,.(FoodExpenditure_Per,FoodExpenditure_Per_total,Total_Exp_Month_Per_nondurable,Total_Exp_Month,Total_Food_Month_Per2,Poor,Decile,Weight,cluster)]
+
+
+#########Iteration 7###############
+#Sort Expenditure data
+CBN<- CBN[order(Total_Food_Month_Per2)]
+c<- c[order(Total_Food_Month_Per2)]
+
+#Indicate new poors
+CBN[,Poor7:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_6 & cluster==1,1,0)]
+c[,Poor7:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_6 & cluster==1 ,1,0)]
+CBN[,Poor7:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_6 & cluster==2,1,Poor7)]
+c[,Poor7:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_6 & cluster==2 ,1,Poor7)]
+CBN[,Poor7:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_6 & cluster==3,1,Poor7)]
+c[,Poor7:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_6 & cluster==3 ,1,Poor7)]
+CBN[,Poor7:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_6 & cluster==4,1,Poor7)]
+c[,Poor7:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_6 & cluster==4 ,1,Poor7)]
+CBN[,weighted.mean(Poor7,Weight),by=cluster][order(cluster)]
+CBNPoor6[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7<-CBN[Poor7==1]
+
+#CalculatePer_calories in clusters
+CBNPoor7[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(191:206)][]
+#utils::View(CBNPoor7)
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor7[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(208:223)][]
+
+
+CBNPoor7[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor7[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor7[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor7[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7<-CBNPoor7[Per_Daily_Exp_Calories!=0]
+CBNPoor7[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor7[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+
+#sum of total food expenditures
+CBNPoor7[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor7[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor7[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor7[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+
+
+#Calculations
+CBNPoor7[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,weighted.mean(FoodExpenditure_Per_day,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+
+
+
+#Food Poverty Line for each cluster
+#cluster 1
+CBNPoorCluster<-CBNPoor7[cluster==1]
+Food_Povertyline1_7<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 2
+CBNPoorCluster<-CBNPoor7[cluster==2]
+Food_Povertyline2_7<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 3
+CBNPoorCluster<-CBNPoor7[cluster==3]
+Food_Povertyline3_7<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 4
+CBNPoorCluster<-CBNPoor7[cluster==4]
+Food_Povertyline4_7<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#ee<-CBNPoor[,.(Total_Exp_Month_Real,Total_Exp_Month,Total_Food_Month_Per2,Total_Exp_Month_Per_nondurable,Total_Exp_Month_nondurable_Real_Per,FoodExpenditure_Per,cluster)]
+#mean(ee[,Total_Food_Month_Per2==Total_Exp_Month_nondurable_Real])
+#mean(ee[,Total_Food_Month_Per2<3500000])
+#ee<- ee[order(Total_Food_Month_Per2)]
+#utils::View(CBN)
+#for (col in c("Total_Food_Month_Per2")) CBN[is.na(get(col)), (col) := Total_Exp_Month_Per_nondurable]
+c<-CBN[,.(FoodExpenditure_Per,FoodExpenditure_Per_total,Total_Exp_Month_Per_nondurable,Total_Exp_Month,Total_Food_Month_Per2,Poor,Decile,Weight,cluster)]
+
+
+#########Iteration 8###############
+#Sort Expenditure data
+CBN<- CBN[order(Total_Food_Month_Per2)]
+c<- c[order(Total_Food_Month_Per2)]
+
+#Indicate new poors
+CBN[,Poor8:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_7 & cluster==1,1,0)]
+c[,Poor8:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_7 & cluster==1 ,1,0)]
+CBN[,Poor8:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_7 & cluster==2,1,Poor8)]
+c[,Poor8:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_7 & cluster==2 ,1,Poor8)]
+CBN[,Poor8:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_7 & cluster==3,1,Poor8)]
+c[,Poor8:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_7 & cluster==3 ,1,Poor8)]
+CBN[,Poor8:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_7 & cluster==4,1,Poor8)]
+c[,Poor8:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_7 & cluster==4 ,1,Poor8)]
+CBN[,weighted.mean(Poor8,Weight),by=cluster][order(cluster)]
+CBNPoor7[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8<-CBN[Poor8==1]
+
+
+#CalculatePer_calories in clusters
+CBNPoor8[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(191:206)][]
+#utils::View(CBNPoor8)
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor8[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(208:223)][]
+
+
+CBNPoor8[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor8[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor8[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor8[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8<-CBNPoor8[Per_Daily_Exp_Calories!=0]
+CBNPoor8[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor8[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+
+#sum of total food expenditures
+CBNPoor8[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor8[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor8[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor8[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+
+
+#Calculations
+CBNPoor8[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,weighted.mean(FoodExpenditure_Per_day,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+
+
+
+#Food Poverty Line for each cluster
+#cluster 1
+CBNPoorCluster<-CBNPoor8[cluster==1]
+Food_Povertyline1_8<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 2
+CBNPoorCluster<-CBNPoor8[cluster==2]
+Food_Povertyline2_8<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 3
+CBNPoorCluster<-CBNPoor8[cluster==3]
+Food_Povertyline3_8<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 4
+CBNPoorCluster<-CBNPoor8[cluster==4]
+Food_Povertyline4_8<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#ee<-CBNPoor[,.(Total_Exp_Month_Real,Total_Exp_Month,Total_Food_Month_Per2,Total_Exp_Month_Per_nondurable,Total_Exp_Month_nondurable_Real_Per,FoodExpenditure_Per,cluster)]
+#mean(ee[,Total_Food_Month_Per2==Total_Exp_Month_nondurable_Real])
+#mean(ee[,Total_Food_Month_Per2<3500000])
+#ee<- ee[order(Total_Food_Month_Per2)]
+#utils::View(CBN)
+#for (col in c("Total_Food_Month_Per2")) CBN[is.na(get(col)), (col) := Total_Exp_Month_Per_nondurable]
+c<-CBN[,.(FoodExpenditure_Per,FoodExpenditure_Per_total,Total_Exp_Month_Per_nondurable,Total_Exp_Month,Total_Food_Month_Per2,Poor,Decile,Weight,cluster)]
+
+
+#########Iteration 9###############
+#Sort Expenditure data
+CBN<- CBN[order(Total_Food_Month_Per2)]
+c<- c[order(Total_Food_Month_Per2)]
+
+#Indicate new poors
+CBN[,Poor9:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_8 & cluster==1,1,0)]
+c[,Poor9:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_8 & cluster==1 ,1,0)]
+CBN[,Poor9:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_8 & cluster==2,1,Poor9)]
+c[,Poor9:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_8 & cluster==2 ,1,Poor9)]
+CBN[,Poor9:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_8 & cluster==3,1,Poor9)]
+c[,Poor9:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_8 & cluster==3 ,1,Poor9)]
+CBN[,Poor9:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_8 & cluster==4,1,Poor9)]
+c[,Poor9:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_8 & cluster==4 ,1,Poor9)]
+CBN[,weighted.mean(Poor9,Weight),by=cluster][order(cluster)]
+CBNPoor8[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9<-CBN[Poor9==1]
+
+
+#CalculatePer_calories in clusters
+CBNPoor9[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(191:206)][]
+#utils::View(CBNPoor9)
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor9[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(208:223)][]
+
+
+CBNPoor9[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor9[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor9[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor9[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9<-CBNPoor9[Per_Daily_Exp_Calories!=0]
+CBNPoor9[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor9[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+
+#sum of total food expenditures
+CBNPoor9[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor9[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor9[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor9[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+
+
+
+#Calculations
+CBNPoor9[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,weighted.mean(FoodExpenditure_Per_day,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+
+
+
+#Food Poverty Line for each cluster
+#cluster 1
+CBNPoorCluster<-CBNPoor9[cluster==1]
+Food_Povertyline1_9<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 2
+CBNPoorCluster<-CBNPoor9[cluster==2]
+Food_Povertyline2_9<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 3
+CBNPoorCluster<-CBNPoor9[cluster==3]
+Food_Povertyline3_9<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 4
+CBNPoorCluster<-CBNPoor9[cluster==4]
+Food_Povertyline4_9<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#ee<-CBNPoor[,.(Total_Exp_Month_Real,Total_Exp_Month,Total_Food_Month_Per2,Total_Exp_Month_Per_nondurable,Total_Exp_Month_nondurable_Real_Per,FoodExpenditure_Per,cluster)]
+#mean(ee[,Total_Food_Month_Per2==Total_Exp_Month_nondurable_Real])
+#mean(ee[,Total_Food_Month_Per2<3500000])
+#ee<- ee[order(Total_Food_Month_Per2)]
+#utils::View(CBN)
+#for (col in c("Total_Food_Month_Per2")) CBN[is.na(get(col)), (col) := Total_Exp_Month_Per_nondurable]
+c<-CBN[,.(FoodExpenditure_Per,FoodExpenditure_Per_total,Total_Exp_Month_Per_nondurable,Total_Exp_Month,Total_Food_Month_Per2,Poor,Decile,Weight,cluster)]
+
+
+#########Iteration 10###############
+#Sort Expenditure data
+CBN<- CBN[order(Total_Food_Month_Per2)]
+c<- c[order(Total_Food_Month_Per2)]
+
+#Indicate new poors
+CBN[,Poor10:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_9 & cluster==1,1,0)]
+c[,Poor10:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_9 & cluster==1 ,1,0)]
+CBN[,Poor10:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_9 & cluster==2,1,Poor10)]
+c[,Poor10:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_9 & cluster==2 ,1,Poor10)]
+CBN[,Poor10:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_9 & cluster==3,1,Poor10)]
+c[,Poor10:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_9 & cluster==3 ,1,Poor10)]
+CBN[,Poor10:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_9 & cluster==4,1,Poor10)]
+c[,Poor10:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_9 & cluster==4 ,1,Poor10)]
+CBN[,weighted.mean(Poor10,Weight),by=cluster][order(cluster)]
+CBNPoor9[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor10<-CBN[Poor10==1]
+
+#Engel
+#CBNPoor9<-CBNPoor9[,ratio1:=FoodExpenditure/Total_Exp_Month]
+#CBNPoor9[,weighted.mean(ratio1,Weight),by=cluster]
+#summary(CBNPoor9$ratio1)
+CBN<-CBN[,ratio1:=FoodExpenditure/Total_Exp_Month]
+CBN[,weighted.mean(ratio1,Weight),by=ProvinceCode][order(ProvinceCode)]
+CBN<-CBN[,ratio2:=ServiceExp/Total_Exp_Month]
+CBN[,weighted.mean(ratio2,Weight),by=ProvinceCode][order(ProvinceCode)]
+
+#Engel-home ratio calculations
+CBN[cluster==1 & FoodExpenditure_Per_total<1.1*Food_Povertyline1_9 & FoodExpenditure_Per_total>0.90*Food_Povertyline1_9,sum(HIndivNo),by=ProvinceCode][order(ProvinceCode)]
+CBN[cluster==2 & FoodExpenditure_Per_total<1.1*Food_Povertyline2_9 & FoodExpenditure_Per_total>0.90*Food_Povertyline1_9,sum(HIndivNo),by=ProvinceCode][order(ProvinceCode)]
+CBN[cluster==3 & FoodExpenditure_Per_total<1.1*Food_Povertyline3_9 & FoodExpenditure_Per_total>0.90*Food_Povertyline1_9,sum(HIndivNo),by=ProvinceCode][order(ProvinceCode)]
+CBN[cluster==4 & FoodExpenditure_Per_total<1.1*Food_Povertyline4_9 & FoodExpenditure_Per_total>0.90*Food_Povertyline1_9,sum(HIndivNo),by=ProvinceCode][order(ProvinceCode)]
+
+CBN[cluster==1 & FoodExpenditure_Per_total<1.1*Food_Povertyline1_9 & FoodExpenditure_Per_total>0.90*Food_Povertyline1_9,weighted.mean(ratio1,Weight),by=ProvinceCode][order(ProvinceCode)]
+CBN[cluster==2 & FoodExpenditure_Per_total<1.1*Food_Povertyline2_9 & FoodExpenditure_Per_total>0.90*Food_Povertyline1_9,weighted.mean(ratio1,Weight),by=ProvinceCode][order(ProvinceCode)]
+CBN[cluster==3 & FoodExpenditure_Per_total<1.1*Food_Povertyline3_9 & FoodExpenditure_Per_total>0.90*Food_Povertyline1_9,weighted.mean(ratio1,Weight),by=ProvinceCode][order(ProvinceCode)]
+CBN[cluster==4 & FoodExpenditure_Per_total<1.1*Food_Povertyline4_9 & FoodExpenditure_Per_total>0.90*Food_Povertyline1_9,weighted.mean(ratio1,Weight),by=ProvinceCode][order(ProvinceCode)]
+
+CBN[cluster==1 & FoodExpenditure_Per_total<1.1*Food_Povertyline1_9 & FoodExpenditure_Per_total>0.90*Food_Povertyline1_9,weighted.mean(ratio2,Weight),by=ProvinceCode][order(ProvinceCode)]
+CBN[cluster==2 & FoodExpenditure_Per_total<1.1*Food_Povertyline2_9 & FoodExpenditure_Per_total>0.90*Food_Povertyline1_9,weighted.mean(ratio2,Weight),by=ProvinceCode][order(ProvinceCode)]
+CBN[cluster==3 & FoodExpenditure_Per_total<1.1*Food_Povertyline3_9 & FoodExpenditure_Per_total>0.90*Food_Povertyline1_9,weighted.mean(ratio2,Weight),by=ProvinceCode][order(ProvinceCode)]
+CBN[cluster==4 & FoodExpenditure_Per_total<1.1*Food_Povertyline4_9 & FoodExpenditure_Per_total>0.90*Food_Povertyline1_9,weighted.mean(ratio2,Weight),by=ProvinceCode][order(ProvinceCode)]
+
+
+# Poverty Line for each cluster
+#cluster 1
+CBNPoorCluster<-CBN[cluster==1 & FoodExpenditure_Per_total<1.1*Food_Povertyline1_9 & FoodExpenditure_Per_total>0.90*Food_Povertyline1_9]
+Engel1<-weighted.mean(CBNPoorCluster$ratio1,CBNPoorCluster$Weight)
+Engel_Reverse1<-1/Engel1
+Povertyline1_9<-Engel_Reverse1*Food_Povertyline1_9
+
+#cluster 2
+CBNPoorCluster<-CBN[cluster==2 & FoodExpenditure_Per_total<1.1*Food_Povertyline2_9 & FoodExpenditure_Per_total>0.90*Food_Povertyline2_9]
+Engel2<-weighted.mean(CBNPoorCluster$ratio1,CBNPoorCluster$Weight)
+Engel_Reverse2<-1/Engel2
+Povertyline2_9<-Engel_Reverse2*Food_Povertyline2_9
+
+#cluster 3
+CBNPoorCluster<-CBN[cluster==3 & FoodExpenditure_Per_total<1.1*Food_Povertyline3_9 & FoodExpenditure_Per_total>0.90*Food_Povertyline3_9]
+Engel3<-weighted.mean(CBNPoorCluster$ratio1,CBNPoorCluster$Weight)
+Engel_Reverse3<-1/Engel3
+Povertyline3_9<-Engel_Reverse3*Food_Povertyline3_9
+
+#cluster 4
+CBNPoorCluster<-CBN[cluster==4 & FoodExpenditure_Per_total<1.1*Food_Povertyline4_9 & FoodExpenditure_Per_total>0.90*Food_Povertyline4_9]
+Engel4<-weighted.mean(CBNPoorCluster$ratio1,CBNPoorCluster$Weight)
+Engel_Reverse4<-1/Engel4
+Povertyline4_9<-Engel_Reverse4*Food_Povertyline4_9
+
+#Indicate final poors
+CBN<-CBN[,Total_Exp_Month_Per2:=Total_Exp_Month_Per_nondurable*RealPriceIndex]
+
+CBN[,Poor11:=ifelse(Total_Exp_Month_Per_nondurable < Povertyline1_9 & cluster==1,1,0)]
+CBN[,Poor11:=ifelse(Total_Exp_Month_Per_nondurable < Povertyline2_9 & cluster==2,1,Poor11)]
+CBN[,Poor11:=ifelse(Total_Exp_Month_Per_nondurable < Povertyline3_9 & cluster==3,1,Poor11)]
+CBN[,Poor11:=ifelse(Total_Exp_Month_Per_nondurable < Povertyline4_9 & cluster==4,1,Poor11)]
+CBN[,weighted.mean(Poor11,Weight),by=cluster][order(cluster)]
+CBNPoor9[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor11<-CBN[Poor11==1]
+
+CBN[,sum(Size*Weight),by=cluster][order(cluster)]
+CBN[,sum(Size*Weight),by=.(cluster,Decile)][order(cluster,Decile)]
+CBNPoor[,sum(Size*Weight),by=cluster][order(cluster)]
+CBNPoor11[,sum(Size*Weight),by=cluster][order(cluster)]
+CBNPoor9[,sum(Size*Weight),by=cluster][order(cluster)]
+CBNPoor9[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster][order(cluster)]
+CBNPoor9[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster][order(cluster)]
+CBN[,weighted.mean(Poor11,Weight)]
+CBN[,weighted.mean(Poor11,Weight),by=cluster][order(cluster)]
+CBN[,weighted.mean(Poor11,Weight),by=ProvinceCode][order(ProvinceCode)]
+CBNPoor11[,sum(Size*Weight),by=ProvinceCode][order(ProvinceCode)]
+CBNPoor11[,sum(Weight),by=ProvinceCode][order(ProvinceCode)]
+CBN[,sum(Size*Weight),by=ProvinceCode][order(ProvinceCode)]
+CBN[,sum(Size*Weight)]
+CBNPoor11[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster][order(cluster)]
+CBNPoor11[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster][order(cluster)]
+
+##############################
+###Real Prices for report###
+##############################
+#sum of total food expenditures
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per]
+
+#Food expenditures (equal 2100 CCAL)
+CBN<-CBN[Per_Daily_Exp_Calories>0]
+CBN[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Exp_Calories]
+CBN[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+
+T_Bundle_Value<-subset(CBN, ProvinceCode==2301, select=c(Bundle_Value,Home_Per_Metr,Weight))
+Tehran_Bundle_Value1<-weighted.mean(T_Bundle_Value$Bundle_Value,T_Bundle_Value$Weight,na.rm = TRUE)
+Tehran_Bundle_Value2<-weighted.mean(T_Bundle_Value$Home_Per_Metr,T_Bundle_Value$Weight,na.rm = TRUE)
+CBN[,RealPriceIndex1:=weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/Tehran_Bundle_Value1,by=ProvinceCode]
+CBN[,RealPriceIndex2:=weighted.mean(Home_Per_Metr,Weight,na.rm = TRUE)/Tehran_Bundle_Value2,by=ProvinceCode]
+CBN[,weighted.mean(RealPriceIndex1,Weight),by=ProvinceCode]
+CBN[,weighted.mean(RealPriceIndex2,Weight),by=ProvinceCode]
+Indexes2_1<-CBN[,.(RealPriceIndex1,RealPriceIndex2,ProvinceCode,Weight)]
+Indexes2_1<-Indexes2_1[,RealPriceIndex:=(RealPriceIndex1+RealPriceIndex2)/2]
+Indexes_total<-Indexes2_1[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+Indexes3_1<-Indexes_total[,.(ProvinceCode,RealPriceIndex1,RealPriceIndex2,RealPriceIndex)]
+Indexes<-Indexes[,.(ProvinceCode,RealPriceIndex)]
+
+CBN_Poor<-CBN[Poor11==1]
+T_Bundle_Value<-subset(CBN_Poor, ProvinceCode==2301, select=c(Bundle_Value,Home_Per_Metr,Weight))
+Tehran_Bundle_Value1<-weighted.mean(T_Bundle_Value$Bundle_Value,T_Bundle_Value$Weight,na.rm = TRUE)
+Tehran_Bundle_Value2<-weighted.mean(T_Bundle_Value$Home_Per_Metr,T_Bundle_Value$Weight,na.rm = TRUE)
+CBN_Poor[,RealPriceIndex1:=weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/Tehran_Bundle_Value1,by=ProvinceCode]
+CBN_Poor[,RealPriceIndex2:=weighted.mean(Home_Per_Metr,Weight,na.rm = TRUE)/Tehran_Bundle_Value2,by=ProvinceCode]
+CBN_Poor[,weighted.mean(RealPriceIndex1,Weight),by=ProvinceCode]
+CBN_Poor[,weighted.mean(RealPriceIndex2,Weight),by=ProvinceCode]
+Indexes2_2<-CBN_Poor[,.(RealPriceIndex1,RealPriceIndex2,ProvinceCode,Weight,Poor11)]
+Indexes2_2<-Indexes2_2[,RealPriceIndex:=(RealPriceIndex1+RealPriceIndex2)/2]
+Indexes_finalpoor<-Indexes2_2[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+Indexes3_2<-Indexes_finalpoor[,.(ProvinceCode,RealPriceIndex1,RealPriceIndex2,RealPriceIndex)]
+Indexes<-Indexes[,.(ProvinceCode,RealPriceIndex)]
+
+###Save Tables
+CBN_Urban<-CBN
+save(CBN_Urban, file = paste0(Settings$HEISProcessedPath,"CBN_Urban","95.rda"))
+
+CBNPoor_Urban<-CBNPoor11
+save(CBNPoor_Urban, file = paste0(Settings$HEISProcessedPath,"CBNPoor_Urban","95.rda"))
+
+
+#utils::View(CBN)
+for (col in c("GhandPrice")) CBNPoor11[is.na(get(col)), (col) := 0]
+for (col in c("HoboobatPrice")) CBNPoor11[is.na(get(col)), (col) := 0]
+for (col in c("RoghanPrice")) CBNPoor11[is.na(get(col)), (col) := 0]
+for (col in c("BerenjPrice")) CBNPoor11[is.na(get(col)), (col) := 0]
+for (col in c("NanPrice")) CBNPoor11[is.na(get(col)), (col) := 0]
+for (col in c("GooshtPrice")) CBNPoor11[is.na(get(col)), (col) := 0]
+for (col in c("MorghPrice")) CBNPoor11[is.na(get(col)), (col) := 0]
+for (col in c("MahiPrice")) CBNPoor11[is.na(get(col)), (col) := 0]
+for (col in c("ShirPrice")) CBNPoor11[is.na(get(col)), (col) := 0]
+for (col in c("MastPrice")) CBNPoor11[is.na(get(col)), (col) := 0]
+for (col in c("PanirPrice")) CBNPoor11[is.na(get(col)), (col) := 0]
+for (col in c("TokhmemorghPrice")) CBNPoor11[is.na(get(col)), (col) := 0]
+for (col in c("MivePrice")) CBNPoor11[is.na(get(col)), (col) := 0]
+for (col in c("SabziPrice")) CBNPoor11[is.na(get(col)), (col) := 0]
+for (col in c("MakarooniPrice")) CBNPoor11[is.na(get(col)), (col) := 0]
+for (col in c("SibzaminiPrice")) CBNPoor11[is.na(get(col)), (col) := 0]
+
+CBNPoor11<-CBNPoor11[,x:=GhandPrice*Ghandgram+HoboobatPrice*Hoboobatgram+RoghanPrice*Roghangram+BerenjPrice*Berenjgram+NanPrice*Nangram+GooshtPrice*Gooshtgram+MorghPrice*Morghgram+MahiPrice*Mahigram+ShirPrice*Shirgram+MastPrice*Mastgram+PanirPrice*Panirgram+TokhmemorghPrice*Tokhmemorghgram+MivePrice*Mivegram+SabziPrice*Sabzigram+MakarooniPrice*Makaroonigram+SibzaminiPrice*Sibzaminigram]
+CBNPoor11[,weighted.mean((GhandPrice*Ghandgram)/x,Weight),cluster==4]
+CBNPoor11[,weighted.mean((HoboobatPrice*Hoboobatgram)/x,Weight),cluster==4]
+CBNPoor11[,weighted.mean((RoghanPrice*Roghangram)/x,Weight),cluster==4]
+CBNPoor11[,weighted.mean((BerenjPrice*Berenjgram)/x,Weight),cluster==4]
+CBNPoor11[,weighted.mean((NanPrice*Nangram)/x,Weight),cluster==4]
+CBNPoor11[,weighted.mean((GooshtPrice*Gooshtgram)/x,Weight),cluster==4]
+CBNPoor11[,weighted.mean((MorghPrice*Morghgram)/x,Weight),cluster==4]
+CBNPoor11[,weighted.mean((MahiPrice*Mahigram)/x,Weight),cluster==4]
+CBNPoor11[,weighted.mean((ShirPrice*Shirgram)/x,Weight),cluster==4]
+CBNPoor11[,weighted.mean((MastPrice*Mastgram)/x,Weight),cluster==4]
+CBNPoor11[,weighted.mean((PanirPrice*Panirgram)/x,Weight),cluster==4]
+CBNPoor11[,weighted.mean((TokhmemorghPrice*Tokhmemorghgram)/x,Weight),cluster==4]
+CBNPoor11[,weighted.mean((MivePrice*Mivegram)/x,Weight),cluster==4]
+CBNPoor11[,weighted.mean((SabziPrice*Sabzigram)/x,Weight),cluster==4]
+CBNPoor11[,weighted.mean((MakarooniPrice*Makaroonigram)/x,Weight),cluster==4]
+CBNPoor11[,weighted.mean((SibzaminiPrice*Sibzaminigram)/x,Weight),cluster==4]
+
+
+for (col in c("GhandPrice")) CBN[is.na(get(col)), (col) := 0]
+for (col in c("HoboobatPrice")) CBN[is.na(get(col)), (col) := 0]
+for (col in c("RoghanPrice")) CBN[is.na(get(col)), (col) := 0]
+for (col in c("BerenjPrice")) CBN[is.na(get(col)), (col) := 0]
+for (col in c("NanPrice")) CBN[is.na(get(col)), (col) := 0]
+for (col in c("GooshtPrice")) CBN[is.na(get(col)), (col) := 0]
+for (col in c("MorghPrice")) CBN[is.na(get(col)), (col) := 0]
+for (col in c("MahiPrice")) CBN[is.na(get(col)), (col) := 0]
+for (col in c("ShirPrice")) CBN[is.na(get(col)), (col) := 0]
+for (col in c("MastPrice")) CBN[is.na(get(col)), (col) := 0]
+for (col in c("PanirPrice")) CBN[is.na(get(col)), (col) := 0]
+for (col in c("TokhmemorghPrice")) CBN[is.na(get(col)), (col) := 0]
+for (col in c("MivePrice")) CBN[is.na(get(col)), (col) := 0]
+for (col in c("SabziPrice")) CBN[is.na(get(col)), (col) := 0]
+for (col in c("MakarooniPrice")) CBN[is.na(get(col)), (col) := 0]
+for (col in c("SibzaminiPrice")) CBN[is.na(get(col)), (col) := 0]
+
+CBN<-CBN[,x:=GhandPrice*Ghandgram+HoboobatPrice*Hoboobatgram+RoghanPrice*Roghangram+BerenjPrice*Berenjgram+NanPrice*Nangram+GooshtPrice*Gooshtgram+MorghPrice*Morghgram+MahiPrice*Mahigram+ShirPrice*Shirgram+MastPrice*Mastgram+PanirPrice*Panirgram+TokhmemorghPrice*Tokhmemorghgram+MivePrice*Mivegram+SabziPrice*Sabzigram+MakarooniPrice*Makaroonigram+SibzaminiPrice*Sibzaminigram]
+CBN[,weighted.mean((GhandPrice*Ghandgram)/x,Weight)*103.5]
+CBN[,weighted.mean((HoboobatPrice*Hoboobatgram)/x,Weight)*117]
+CBN[,weighted.mean((RoghanPrice*Roghangram)/x,Weight)*111.5]
+CBN[,weighted.mean((BerenjPrice*Berenjgram)/x,Weight)*114.3]
+CBN[,weighted.mean((NanPrice*Nangram)/x,Weight)*110.8]
+CBN[,weighted.mean((GooshtPrice*Gooshtgram)/x,Weight)*123.5]
+CBN[,weighted.mean((MorghPrice*Morghgram)/x,Weight)*114.1]
+CBN[,weighted.mean((MahiPrice*Mahigram)/x,Weight)*107.6]
+CBN[,weighted.mean((ShirPrice*Shirgram)/x,Weight)*103.4]
+CBN[,weighted.mean((MastPrice*Mastgram)/x,Weight)*106.1]
+CBN[,weighted.mean((PanirPrice*Panirgram)/x,Weight)*106.8]
+CBN[,weighted.mean((TokhmemorghPrice*Tokhmemorghgram)/x,Weight)*125.9]
+CBN[,weighted.mean((MivePrice*Mivegram)/x,Weight)*97.1]
+CBN[,weighted.mean((SabziPrice*Sabzigram)/x,Weight)*109.9]
+CBN[,weighted.mean((MakarooniPrice*Makaroonigram)/x,Weight)*101.9]
+CBN[,weighted.mean((SibzaminiPrice*Sibzaminigram)/x,Weight)*119.7]
+
+
+endtime <- proc.time()
+
+
+cat("\n\n============================\nIt took ")
+cat(endtime-starttime)
+
diff --git a/R/Archive/Other Codes/60-CBN84-Urban.R b/R/Archive/Other Codes/60-CBN84-Urban.R
new file mode 100644
index 00000000..f7adeb8e
--- /dev/null
+++ b/R/Archive/Other Codes/60-CBN84-Urban.R
@@ -0,0 +1,2878 @@
+#CBN Method-Urban.R
+#
+# Copyright © 2018:Arin Shahbazian
+# Licence: GPL-3
+#
+rm(list=ls())
+
+starttime <- proc.time()
+cat("\n\n================ Prepare Data =====================================\n")
+
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+library(readxl)
+library(stringr)
+library(data.table)
+
+#for(year in (Settings$startyear:Settings$endyear)){
+# cat(paste0("\n------------------------------\nYear:",year,"\n"))
+
+load(file=paste0(Settings$HEISProcessedPath,"Y","84","HHBase.rda"))
+HHBase[,IndivNo:=NULL]
+HHBase[,Relationship:=NULL]
+HHBase[,Sex:=NULL]
+HHBase[,Age:=NULL]
+HHBase[,Literate:=NULL]
+HHBase[,Student:=NULL]
+HHBase[,EduCode:=NULL]
+HHBase[,EduYears:=NULL]
+HHBase[,EduLevel:=NULL]
+HHBase[,EduLevel0:=NULL]
+HHBase[,ActivityState:=NULL]
+HHBase[,MarritalState:=NULL]
+load(file=paste0(Settings$HEISProcessedPath,"Y","84","Ghand_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","84","Hoboobat_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","84","Roghan_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","84","Berenj_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","84","Nan_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","84","Goosht_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","84","Morgh_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","84","Mahi_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","84","Shir_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","84","Mast_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","84","Panir_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","84","Tokhmemorgh_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","84","Mive_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","84","Sabzi_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","84","Makarooni_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","84","Sibzamini_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","84","Weights.rda"))
+
+Ghand_Data<-Ghand_Data[,.(HHID,Ghandgram,GhandPrice)]
+Hoboobat_Data<-Hoboobat_Data[,.(HHID,Hoboobatgram,HoboobatPrice)]
+Roghan_Data<-Roghan_Data[,.(HHID,Roghangram,RoghanPrice)]
+Berenj_Data<-Berenj_Data[,.(HHID,Berenjgram,BerenjPrice)]
+Nan_Data<-Nan_Data[,.(HHID,Nangram,NanPrice)]
+Goosht_Data<-Goosht_Data[,.(HHID,Gooshtgram,GooshtPrice)]
+Morgh_Data<-Morgh_Data[,.(HHID,Morghgram,MorghPrice)]
+Mahi_Data<-Mahi_Data[,.(HHID,Mahigram,MahiPrice)]
+Shir_Data<-Shir_Data[,.(HHID,Shirgram,ShirPrice)]
+Mast_Data<-Mast_Data[,.(HHID,Mastgram,MastPrice)]
+Panir_Data<-Panir_Data[,.(HHID,Panirgram,PanirPrice)]
+Tokhmemorgh_Data<-Tokhmemorgh_Data[,.(HHID,Tokhmemorghgram,TokhmemorghPrice)]
+Mive_Data<-Mive_Data[,.(HHID,Mivegram,MivePrice)]
+Sabzi_Data<-Sabzi_Data[,.(HHID,Sabzigram,SabziPrice)]
+Makarooni_Data<-Makarooni_Data[,.(HHID,Makaroonigram,MakarooniPrice)]
+Sibzamini_Data<-Sibzamini_Data[,.(HHID,Sibzaminigram,SibzaminiPrice)]
+
+Food<-merge(HHBase,Ghand_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Ghandgram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Hoboobat_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Hoboobatgram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Roghan_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Roghangram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Berenj_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Berenjgram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Nan_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Nangram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Goosht_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Gooshtgram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Morgh_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Morghgram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Mahi_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Mahigram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Shir_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Shirgram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Mast_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Mastgram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Panir_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Panirgram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Tokhmemorgh_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Tokhmemorghgram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Mive_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Mivegram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Sabzi_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Sabzigram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Makarooni_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Makaroonigram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Sibzamini_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Sibzaminigram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Weights,by =c("HHID"),all.x=TRUE)
+
+
+
+#load Expenditure groups
+load(file=paste0(Settings$HEISProcessedPath,"Y","84","HHBase.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","84","HHI.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","84","Foods.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","84","Cigars.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","84","Cloths.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","84","Amusements.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","84","Communications.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","84","Durables.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","84","Education.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","84","Energy.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","84","Furnitures.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","84","Hotels.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","84","House.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","84","Medicals.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","84","Behdashts.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","84","Transportations.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","84","Others.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","84","Investments.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","84","Resturants.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","84","Weights.rda"))
+
+#merge Expenditure groups
+CBN<-merge(Food,HHI ,by =c("HHID"),all=TRUE)
+CBN<-merge(CBN,FoodData,by =c("HHID"),all=TRUE)
+for (col in c("FoodExpenditure")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,CigarData,by =c("HHID"),all=TRUE)
+for (col in c("Cigar_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,ClothData,by =c("HHID"),all=TRUE)
+for (col in c("Cloth_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,AmusementData,by =c("HHID"),all=TRUE)
+for (col in c("Amusement_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,CommunicationData,by =c("HHID"),all=TRUE)
+for (col in c("Communication_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,EducData,by =c("HHID"),all=TRUE)
+for (col in c("EducExpenditure")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,EnergyData,by =c("HHID"),all=TRUE)
+for (col in c("Energy_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,FurnitureData,by =c("HHID"),all=TRUE)
+for (col in c("Furniture_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,HotelData,by =c("HHID"),all=TRUE)
+for (col in c("Hotel_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,BehdashtData,by =c("HHID"),all=TRUE)
+for (col in c("Behdasht_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,TransportationData,by =c("HHID"),all=TRUE)
+for (col in c("Transportation_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,OtherData,by =c("HHID"),all=TRUE)
+for (col in c("Other_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,HouseData,by =c("HHID"),all=TRUE)
+for (col in c("ServiceExp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,InvestmentData,by =c("HHID"),all=TRUE)
+for (col in c("Investment_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,MedicalData,by =c("HHID"),all=TRUE)
+for (col in c("Medical_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,DurableData,by =c("HHID"),all=TRUE)
+for (col in c("Durable_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,ResturantData,by =c("HHID"),all=TRUE)
+for (col in c("Resturant_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-CBN[Size!=0]
+CBN<-CBN[Region=="Urban"]
+CBN<-CBN[FoodExpenditure!=0]
+
+
+#Calculate Per_Total Expenditures Monthly
+CBN[, Total_Exp_Month := Reduce(`+`, .SD), .SDcols=c(65:77,82:83)][]
+CBN[, Total_Exp_Month_nondurable := Reduce(`+`, .SD), .SDcols=65:77][]
+
+CBN$Total_Exp_Month_Per<-CBN$Total_Exp_Month/CBN$EqSizeOECD
+CBN$Total_Exp_Month_Per_nondurable<-CBN$Total_Exp_Month_nondurable/CBN$EqSizeOECD
+
+#Calculate Per_Food Expenditures Monthly
+CBN[,EqSizeCalory :=(Size-NKids) + NKids*(1800/2100)]
+CBN$FoodExpenditure_Per<-CBN$FoodExpenditure/CBN$EqSizeCalory
+
+#Calculate Per_Food Expenditures Daily
+CBN$FoodExpenditure_Per_day<-CBN$FoodExpenditure_Per/30
+
+CBN$Ghandgram_Per_day<-CBN$Ghandgram/(30*CBN$EqSizeOECD)
+CBN$Hoboobatgram_Per_day<-CBN$Hoboobatgram/(30*CBN$EqSizeOECD)
+CBN$Berenjgram_Per_day<-CBN$Berenjgram/(30*CBN$EqSizeOECD)
+CBN$Nangram_Per_day<-CBN$Nangram/(30*CBN$EqSizeOECD)
+CBN$Roghangram_Per_day<-CBN$Roghangram/(30*CBN$EqSizeOECD)
+CBN$Gooshtgram_Per_day<-CBN$Gooshtgram/(30*CBN$EqSizeOECD)
+CBN$Morghgram_Per_day<-CBN$Morghgram/(30*CBN$EqSizeOECD)
+CBN$Mahigram_Per_day<-CBN$Mahigram/(30*CBN$EqSizeOECD)
+CBN$Shirgram_Per_day<-CBN$Shirgram/(30*CBN$EqSizeOECD)
+CBN$Mastgram_Per_day<-CBN$Mastgram/(30*CBN$EqSizeOECD)
+CBN$Panirgram_Per_day<-CBN$Panirgram/(30*CBN$EqSizeOECD)
+CBN$Tokhmemorghgram_Per_day<-CBN$Tokhmemorghgram/(30*CBN$EqSizeOECD)
+CBN$Mivegram_Per_day<-CBN$Mivegram/(30*CBN$EqSizeOECD)
+CBN$Sabzigram_Per_day<-CBN$Sabzigram/(30*CBN$EqSizeOECD)
+CBN$Makaroonigram_Per_day<-CBN$Makaroonigram/(30*CBN$EqSizeOECD)
+CBN$Sibzaminigram_Per_day<-CBN$Sibzaminigram/(30*CBN$EqSizeOECD)
+CBN[,EqSizeCalory:=NULL]
+
+load(file="PriceIndex95.rda")
+CBN<-merge(CBN,PriceIndex95,by=c("ProvinceCode"),all.x = TRUE)
+CBN[,ostan:=NULL]
+load(file="PriceIndex.rda")
+CBN<-merge(CBN,PriceIndex,by=c("ProvinceCode"),all.x = TRUE)
+
+#Sort Expenditure data
+CBN<- CBN[order(Total_Exp_Month_Per_nondurable)]
+
+#Calculate cumulative weights
+sum(CBN$Weight)
+CBN$cumweight <- cumsum(CBN$Weight)
+tx <- max(CBN$cumweight)
+
+#Calculate deciles by weights
+CBN[,Decile:=cut(cumweight,breaks = seq(0,tx,tx/10),labels = 1:10)]
+CBN[,Percentile:=cut(cumweight,breaks=seq(0,tx,tx/100),labels=1:100)]
+
+
+CBN$Ghand_W<-CBN$Ghandgram_Per_day*CBN$GhandPrice*0.001*30
+CBN$Hoboobat_W<-CBN$Hoboobatgram_Per_day*CBN$HoboobatPrice*0.001*30
+CBN$Roghan_W<-CBN$Roghangram_Per_day*CBN$RoghanPrice*0.001*30
+CBN$Berenj_W<-CBN$Berenjgram_Per_day*CBN$BerenjPrice*0.001*30
+CBN$Nan_W<-CBN$Nangram_Per_day*CBN$NanPrice*0.001*30
+CBN$Goosht_W<-CBN$Gooshtgram_Per_day*CBN$GooshtPrice*0.001*30
+CBN$Morgh_W<-CBN$Morghgram_Per_day*CBN$MorghPrice*0.001*30
+CBN$Mahi_W<-CBN$Mahigram_Per_day*CBN$MahiPrice*0.001*30
+CBN$Shir_W<-CBN$Shirgram_Per_day*CBN$ShirPrice*0.001*30
+CBN$Mast_W<-CBN$Mastgram_Per_day*CBN$MastPrice*0.001*30
+CBN$Panir_W<-CBN$Panirgram_Per_day*CBN$PanirPrice*0.001*30
+CBN$Tokhmemorgh_W<-CBN$Tokhmemorghgram_Per_day*CBN$TokhmemorghPrice*0.001*30
+CBN$Mive_W<-CBN$Mivegram_Per_day*CBN$MivePrice*0.001*30
+CBN$Sabzi_W<-CBN$Sabzigram_Per_day*CBN$SabziPrice*0.001*30
+CBN$Makarooni_W<-CBN$Makaroonigram_Per_day*CBN$MakarooniPrice*0.001*30
+CBN$Sibzamini_W<-CBN$Sibzaminigram_Per_day*CBN$SibzaminiPrice*0.001*30
+CBN$Home_W<-CBN$ServiceExp/CBN$EqSizeOECD
+CBN$Home_Per_Metr<-CBN$MetrPrice/CBN$EqSizeOECD
+
+#Seperate big cities
+CBN[,sum(Weight*Size),by=ProvinceCode][order(V1)]
+CBN[,HHIDs:=as.character(HHID)]
+CBN[,ShahrestanCode:=as.integer(str_sub(HHIDs,2,5))]
+CBN[,sum(Weight*Size),by=ShahrestanCode][order(V1)]
+CBNTehran<-CBN[ProvinceCode==23]
+CBNTehran[,sum(Weight*Size),by=ShahrestanCode]
+CBNTabriz<-CBN[ProvinceCode==3]
+CBNTabriz[,sum(Weight*Size),by=ShahrestanCode]
+CBNAhvaz<-CBN[ProvinceCode==6]
+CBNAhvaz[,sum(Weight*Size),by=ShahrestanCode]
+CBNShiraz<-CBN[ProvinceCode==7]
+CBNShiraz[,sum(Weight*Size),by=ShahrestanCode]
+CBNMashhad<-CBN[ProvinceCode==9]
+CBNMashhad[,sum(Weight*Size),by=ShahrestanCode]
+CBNEsfahan<-CBN[ProvinceCode==10]
+CBNEsfahan[,sum(Weight*Size),by=ShahrestanCode]
+CBNKaraj<-CBN[ProvinceCode==30]
+CBNKaraj[,sum(Weight*Size),by=ShahrestanCode]
+CBNKermanshah<-CBN[ProvinceCode==5]
+CBNKermanshah[,sum(Weight*Size),by=ShahrestanCode]
+
+
+CBN<-CBN[ShahrestanCode==2301,ProvinceCode:=as.numeric(ShahrestanCode)]
+CBN<-CBN[ShahrestanCode==303,ProvinceCode:=as.numeric(ShahrestanCode)]
+CBN<-CBN[ShahrestanCode==603,ProvinceCode:=as.numeric(ShahrestanCode)]
+CBN<-CBN[ShahrestanCode==707,ProvinceCode:=as.numeric(ShahrestanCode)]
+CBN<-CBN[ShahrestanCode==916,ProvinceCode:=as.numeric(ShahrestanCode)]
+CBN<-CBN[ShahrestanCode==1002,ProvinceCode:=as.numeric(ShahrestanCode)]
+CBN<-CBN[ShahrestanCode==3001,ProvinceCode:=as.numeric(ShahrestanCode)]
+CBN<-CBN[ShahrestanCode==2301,ProvinceCode:=as.numeric(ShahrestanCode)]
+CBN<-CBN[ShahrestanCode==502,ProvinceCode:=as.numeric(ShahrestanCode)]
+
+# Food Calories
+CBN$Ghand_Calory<- CBN$Ghandgram *4
+CBN$Hoboobat_Calory<- CBN$Hoboobatgram *3
+CBN$Nan_Calory<- CBN$Nangram *2.5
+CBN$Berenj_Calory<- CBN$Berenjgram *1.2
+CBN$Roghan_Calory<- CBN$Roghangram *8
+CBN$Goosht_Calory<- CBN$Gooshtgram *2.5
+CBN$Morgh_Calory<- CBN$Morghgram *2
+CBN$Mahi_Calory<- CBN$Mahigram *1
+CBN$Shir_Calory<- CBN$Shirgram *2.5
+CBN$Mast_Calory<- CBN$Mastgram *1.5
+CBN$Panir_Calory<- CBN$Mastgram *2.5
+CBN$Tokhmemorgh_Calory<- CBN$Tokhmemorghgram *1.4
+CBN$Mive_Calory<- CBN$Mivegram *0.5
+CBN$Sabzi_Calory<- CBN$Sabzigram *0.5
+CBN$Makarooni_Calory<- CBN$Makaroonigram *3.6
+CBN$Sibzamini_Calory<- CBN$Sibzaminigram *0.9
+#utils::View(CBN)
+
+#CalculatePer_calories
+CBN[, Daily_Exp_Calories := Reduce(`+`, .SD), .SDcols=148:163][]
+CBN[,EqSizeCalory :=(Size-NKids) + NKids*(1800/2100)]
+CBN[,Per_Daily_Exp_Calories:=Daily_Exp_Calories/EqSizeCalory]
+CBN <- CBN[Per_Daily_Exp_Calories<100000] # arbitrary removal of outliers
+#CBN[,Daily_Calories_cluster:=weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+#CBN[,weighted.mean(Daily_Calories_cluster,Weight,na.rm = TRUE),by=cluster]
+#CBN[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+#CBN[,weighted.mean(Size,Weight,na.rm = TRUE),by=cluster]
+#CBN[,sum(Weight*Size),by=cluster]
+#CBN[,sum(Weight),by=cluster]
+#CBN[,sum(Poor),by=cluster]
+
+
+#Calculate_Per_calories
+CBN$Ghand_per_Calory<- CBN$Ghandgram *4/CBN$EqSizeCalory
+CBN$Hoboobat_per_Calory<- CBN$Hoboobatgram *3/CBN$EqSizeCalory
+CBN$Nan_per_Calory<- CBN$Nangram *2.5/CBN$EqSizeCalory
+CBN$Berenj_per_Calory<- CBN$Berenjgram *1.2/CBN$EqSizeCalory
+CBN$Roghan_per_Calory<- CBN$Roghangram *8/CBN$EqSizeCalory
+CBN$Goosht_per_Calory<- CBN$Gooshtgram *2.5/CBN$EqSizeCalory
+CBN$Morgh_per_Calory<- CBN$Morghgram *2/CBN$EqSizeCalory
+CBN$Mahi_per_Calory<- CBN$Mahigram *1/CBN$EqSizeCalory
+CBN$Shir_per_Calory<- CBN$Shirgram *2.5/CBN$EqSizeCalory
+CBN$Mast_per_Calory<- CBN$Mastgram *1.5/CBN$EqSizeCalory
+CBN$Panir_per_Calory<- CBN$Mastgram *2.5/CBN$EqSizeCalory
+CBN$Tokhmemorgh_per_Calory<- CBN$Tokhmemorghgram *1.4/CBN$EqSizeCalory
+CBN$Mive_per_Calory<- CBN$Mivegram *0.5/CBN$EqSizeCalory
+CBN$Sabzi_per_Calory<- CBN$Sabzigram *0.5/CBN$EqSizeCalory
+CBN$Makarooni_per_Calory<- CBN$Makaroonigram *3.6/CBN$EqSizeCalory
+CBN$Sibzamini_per_Calory<- CBN$Sibzaminigram *0.9/CBN$EqSizeCalory
+
+
+#Assume that deciles 1 and 2 are poor
+CBN[,Poor:=ifelse(Decile %in% 2:2,1,0)]
+CBNPoor<-CBN[Poor==1]
+
+#K-means weights
+PriceWeights<-CBN[,.(HHID,Ghand_W,Hoboobat_W,Roghan_W,Berenj_W,Nan_W,Goosht_W,Morgh_W,Mahi_W,Shir_W,Mast_W,Panir_W,Tokhmemorgh_W,Mive_W,Sabzi_W,Makarooni_W,Sibzamini_W,Home_W,ProvinceCode,Weight)]
+dt3 <- PriceWeights[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+dt3<- dt3[order(ProvinceCode)]
+dt3 <- dt3[,.(Ghand_W,Hoboobat_W,Roghan_W,Berenj_W,Nan_W,Goosht_W,Morgh_W,Mahi_W,Shir_W,Mast_W,Panir_W,Tokhmemorgh_W,Mive_W,Sabzi_W,Makarooni_W,Sibzamini_W,Home_W)]
+
+
+#K-means algorithm for clustering by prices
+test<-CBNPoor[,.(GhandPrice,HoboobatPrice,RoghanPrice,BerenjPrice,NanPrice,GooshtPrice,MorghPrice,MahiPrice,ShirPrice,MastPrice,PanirPrice,TokhmemorghPrice,MivePrice,SabziPrice,MakarooniPrice,SibzaminiPrice,MetrPrice,ProvinceCode,Weight)]
+#test<-CBNPoor[,.(GhandPrice,HoboobatPrice,RoghanPrice,BerenjPrice,NanPrice,GooshtPrice,MorghPrice,MahiPrice,ShirPrice,MastPrice,PanirPrice,TokhmemorghPrice,MivePrice,SabziPrice,MakarooniPrice,SibzaminiPrice,MetrPrice,Ghand_W,Hoboobat_W,Roghan_W,Berenj_W,Nan_W,Goosht_W,Morgh_W,Mahi_W,Shir_W,Mast_W,Panir_W,Tokhmemorgh_W,Mive_W,Sabzi_W,Makarooni_W,Sibzamini_W,Home_W,Region,ProvinceCode,Weight)]
+dt2 <- test[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+dt2<- dt2[order(ProvinceCode)]
+for (col in c("MahiPrice")) dt2[is.nan(get(col)), (col) := 200000]
+dt <- dt2 [,.(GhandPrice,HoboobatPrice,RoghanPrice,BerenjPrice,NanPrice,GooshtPrice,MorghPrice,MahiPrice,ShirPrice,MastPrice,PanirPrice,TokhmemorghPrice,MivePrice,SabziPrice,MakarooniPrice,SibzaminiPrice,MetrPrice)]
+
+
+pca <- princomp(dt, cor=T)
+PRICE <- pca$scores
+PRICE1 <- -1*PRICE[,1]
+PRICE2 <- -1*PRICE[,2]
+PRICE3 <- -1*PRICE[,3]
+PRICE4 <- -1*PRICE[,4]
+PRICE5 <- -1*PRICE[,5]
+PRICE6 <- -1*PRICE[,6]
+PRICE7 <- -1*PRICE[,7]
+PRICE8 <- -1*PRICE[,8]
+PRICE9 <- -1*PRICE[,9]
+PRICE10 <- -1*PRICE[,10]
+PRICE11 <- -1*PRICE[,11]
+PRICE12 <- -1*PRICE[,12]
+PRICE13 <- -1*PRICE[,13]
+PRICE14 <- -1*PRICE[,14]
+PRICE15 <- -1*PRICE[,15]
+PRICE16 <- -1*PRICE[,16]
+PRICE17 <- -1*PRICE[,17]
+
+# Deciding how many clusters
+wss <- (nrow(dt)-1)*sum(apply(dt,2,var))
+for (i in 2:30) wss[i] <- sum(kmeans(dt, centers=i)$withinss)
+plot(1:30, wss, type="b", xlab="Number of Clusters",
+ ylab="Within groups sum of squares")
+
+#Weighted clustering
+
+dt3.m <- dt3[,lapply(.SD, mean)] # Weights for each vector
+dtW <- dt * sqrt(dt3.m[rep(1,nrow(dt))]) # Weighted observations
+kmeans(dtW,4) # Simple K-means
+
+cl <- kmeans(dtW,4)
+cl$cluster
+dt2 <- dt2[,cluster:=data.table(cl$cluster)]
+dt2<-dt2[,.(ProvinceCode,cluster)]
+load(file="dt4Urban.rda")
+#plot(PRICE1, PRICE2,col=cl$cluster)
+#points(cl$centers, pch=20)
+CBNPoor<-merge(CBNPoor,dt2,by=c("ProvinceCode"),all.x = TRUE)
+CBNPoor[,sum(Weight*Size),by=cluster]
+CBNPoor[,sum(Weight),by=cluster]
+CBNPoor[,sum(Poor),by=cluster]
+C2<-CBNPoor[,.(HHID,ProvinceCode,Region,Decile,Poor,cluster)]
+######################################################################
+####Iteration 1#####
+###Iteration1-1
+#Calculate Per_calories in clusters
+CBNPoor[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(185:200)][]
+#utils::View(CBNPoor)
+
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(202:217)][]
+
+CBNPoor[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor<-CBNPoor[Per_Daily_Exp_Calories!=0]
+CBNPoor[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+#CBN[,weighted.mean(Poor,Weight),by=cluster][order(cluster)]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE)]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE)]
+
+#Real Prices
+T_Bundle_Value<-subset(CBNPoor, ProvinceCode==2301, select=c(Bundle_Value,Home_Per_Metr,Weight))
+Tehran_Bundle_Value1<-weighted.mean(T_Bundle_Value$Bundle_Value,T_Bundle_Value$Weight,na.rm = TRUE)
+Tehran_Bundle_Value2<-weighted.mean(T_Bundle_Value$Home_Per_Metr,T_Bundle_Value$Weight,na.rm = TRUE)
+CBNPoor[,RealPriceIndex1:=weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/Tehran_Bundle_Value1,by=ProvinceCode]
+CBNPoor[,RealPriceIndex2:=weighted.mean(Home_Per_Metr,Weight,na.rm = TRUE)/Tehran_Bundle_Value2,by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex1,Weight),by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex2,Weight),by=ProvinceCode]
+Indexes2<-CBNPoor[,.(RealPriceIndex1,RealPriceIndex2,ProvinceCode,Weight)]
+Indexes2<-Indexes2[,RealPriceIndex:=(RealPriceIndex1+RealPriceIndex2)/2]
+Indexes<-Indexes2[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+Indexes31<-Indexes[,.(ProvinceCode,RealPriceIndex1,RealPriceIndex2,RealPriceIndex)]
+Indexes<-Indexes[,.(ProvinceCode,RealPriceIndex)]
+CBN<-merge(CBN,Indexes,by=c("ProvinceCode"),all.x = TRUE)
+CBN<-CBN[,Total_Food_Month_Per2:=FoodExpenditure_Per*RealPriceIndex]
+CBN<-CBN[,Total_Exp_Month_Per2:=Total_Exp_Month_Per_nondurable*RealPriceIndex]
+#utils::View(CBN)
+
+#Sort Expenditure data
+CBN<- CBN[order(Total_Exp_Month_Per2)]
+
+#Calculate cumulative weights
+sum(CBN$Weight)
+CBN$cumweight <- cumsum(CBN$Weight)
+tx <- max(CBN$cumweight)
+
+#Calculate deciles by weights
+CBN[,Decile:=cut(cumweight,breaks = seq(0,tx,tx/10),labels = 1:10)]
+CBN[,Percentile:=cut(cumweight,breaks=seq(0,tx,tx/100),labels=1:100)]
+
+#Update Poors
+CBN[,Poor:=ifelse(Decile %in% 2:2,1,0)]
+CBNPoor<-CBN[Poor==1]
+CBNPoor<-merge(CBNPoor,dt2,by=c("ProvinceCode"),all.x = TRUE)
+CBNPoor[,sum(HIndivNo),by=.(ProvinceCode)][order(ProvinceCode)]
+
+###Iteration1-2
+#Calculate Per_calories in clusters
+CBNPoor[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(185:200)][]
+#utils::View(CBNPoor)
+
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(202:217)][]
+
+CBNPoor[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor<-CBNPoor[Per_Daily_Exp_Calories!=0]
+CBNPoor[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+#CBN[,weighted.mean(Poor,Weight),by=cluster][order(cluster)]
+
+#Real Prices
+T_Bundle_Value<-subset(CBNPoor, ProvinceCode==2301, select=c(Bundle_Value,Home_Per_Metr,Weight))
+Tehran_Bundle_Value1<-weighted.mean(T_Bundle_Value$Bundle_Value,T_Bundle_Value$Weight,na.rm = TRUE)
+Tehran_Bundle_Value2<-weighted.mean(T_Bundle_Value$Home_Per_Metr,T_Bundle_Value$Weight,na.rm = TRUE)
+CBNPoor[,RealPriceIndex1:=weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/Tehran_Bundle_Value1,by=ProvinceCode]
+CBNPoor[,RealPriceIndex2:=weighted.mean(Home_Per_Metr,Weight,na.rm = TRUE)/Tehran_Bundle_Value2,by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex1,Weight),by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex2,Weight),by=ProvinceCode]
+Indexes2<-CBNPoor[,.(RealPriceIndex1,RealPriceIndex2,ProvinceCode,Weight)]
+Indexes2<-Indexes2[,RealPriceIndex:=(RealPriceIndex1+RealPriceIndex2)/2]
+Indexes<-Indexes2[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+Indexes32<-Indexes[,.(ProvinceCode,RealPriceIndex1,RealPriceIndex2,RealPriceIndex)]
+Indexes<-Indexes[,.(ProvinceCode,RealPriceIndex)]
+CBN[,RealPriceIndex:=NULL]
+CBN<-merge(CBN,Indexes,by=c("ProvinceCode"),all.x = TRUE)
+CBN<-CBN[,Total_Food_Month_Per2:=FoodExpenditure_Per*RealPriceIndex]
+CBN<-CBN[,Total_Exp_Month_Per2:=Total_Exp_Month_Per_nondurable*RealPriceIndex]
+#utils::View(CBN)
+
+#Sort Expenditure data
+CBN<- CBN[order(Total_Exp_Month_Per2)]
+
+#Calculate cumulative weights
+sum(CBN$Weight)
+CBN$cumweight <- cumsum(CBN$Weight)
+tx <- max(CBN$cumweight)
+
+#Calculate deciles by weights
+CBN[,Decile:=cut(cumweight,breaks = seq(0,tx,tx/10),labels = 1:10)]
+CBN[,Percentile:=cut(cumweight,breaks=seq(0,tx,tx/100),labels=1:100)]
+
+#Update Poors
+CBN[,Poor:=ifelse(Decile %in% 2:2,1,0)]
+CBNPoor<-CBN[Poor==1]
+CBNPoor<-merge(CBNPoor,dt2,by=c("ProvinceCode"),all.x = TRUE)
+CBNPoor[,sum(HIndivNo),by=.(ProvinceCode)][order(ProvinceCode)]
+
+###Iteration1-3
+#Calculate Per_calories in clusters
+CBNPoor[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(185:200)][]
+#utils::View(CBNPoor)
+
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(202:217)][]
+
+CBNPoor[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor<-CBNPoor[Per_Daily_Exp_Calories!=0]
+CBNPoor[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+#CBN[,weighted.mean(Poor,Weight),by=cluster][order(cluster)]
+
+#Real Prices
+T_Bundle_Value<-subset(CBNPoor, ProvinceCode==2301, select=c(Bundle_Value,Home_Per_Metr,Weight))
+Tehran_Bundle_Value1<-weighted.mean(T_Bundle_Value$Bundle_Value,T_Bundle_Value$Weight,na.rm = TRUE)
+Tehran_Bundle_Value2<-weighted.mean(T_Bundle_Value$Home_Per_Metr,T_Bundle_Value$Weight,na.rm = TRUE)
+CBNPoor[,RealPriceIndex1:=weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/Tehran_Bundle_Value1,by=ProvinceCode]
+CBNPoor[,RealPriceIndex2:=weighted.mean(Home_Per_Metr,Weight,na.rm = TRUE)/Tehran_Bundle_Value2,by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex1,Weight),by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex2,Weight),by=ProvinceCode]
+Indexes2<-CBNPoor[,.(RealPriceIndex1,RealPriceIndex2,ProvinceCode,Weight)]
+Indexes2<-Indexes2[,RealPriceIndex:=(RealPriceIndex1+RealPriceIndex2)/2]
+Indexes<-Indexes2[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+Indexes33<-Indexes[,.(ProvinceCode,RealPriceIndex1,RealPriceIndex2,RealPriceIndex)]
+Indexes<-Indexes[,.(ProvinceCode,RealPriceIndex)]
+CBN[,RealPriceIndex:=NULL]
+CBN<-merge(CBN,Indexes,by=c("ProvinceCode"),all.x = TRUE)
+CBN<-CBN[,Total_Food_Month_Per2:=FoodExpenditure_Per*RealPriceIndex]
+CBN<-CBN[,Total_Exp_Month_Per2:=Total_Exp_Month_Per_nondurable*RealPriceIndex]
+#utils::View(CBN)
+
+#Sort Expenditure data
+CBN<- CBN[order(Total_Exp_Month_Per2)]
+
+#Calculate cumulative weights
+sum(CBN$Weight)
+CBN$cumweight <- cumsum(CBN$Weight)
+tx <- max(CBN$cumweight)
+
+#Calculate deciles by weights
+CBN[,Decile:=cut(cumweight,breaks = seq(0,tx,tx/10),labels = 1:10)]
+CBN[,Percentile:=cut(cumweight,breaks=seq(0,tx,tx/100),labels=1:100)]
+
+#Update Poors
+CBN[,Poor:=ifelse(Decile %in% 2:2,1,0)]
+CBNPoor<-CBN[Poor==1]
+CBNPoor<-merge(CBNPoor,dt2,by=c("ProvinceCode"),all.x = TRUE)
+CBNPoor[,sum(HIndivNo),by=.(ProvinceCode)][order(ProvinceCode)]
+
+
+###Iteration1-4
+#Calculate Per_calories in clusters
+CBNPoor[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(185:200)][]
+#utils::View(CBNPoor)
+
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(202:217)][]
+
+CBNPoor[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor<-CBNPoor[Per_Daily_Exp_Calories!=0]
+CBNPoor[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+#CBN[,weighted.mean(Poor,Weight),by=cluster][order(cluster)]
+
+#Real Prices
+T_Bundle_Value<-subset(CBNPoor, ProvinceCode==2301, select=c(Bundle_Value,Home_Per_Metr,Weight))
+Tehran_Bundle_Value1<-weighted.mean(T_Bundle_Value$Bundle_Value,T_Bundle_Value$Weight,na.rm = TRUE)
+Tehran_Bundle_Value2<-weighted.mean(T_Bundle_Value$Home_Per_Metr,T_Bundle_Value$Weight,na.rm = TRUE)
+CBNPoor[,RealPriceIndex1:=weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/Tehran_Bundle_Value1,by=ProvinceCode]
+CBNPoor[,RealPriceIndex2:=weighted.mean(Home_Per_Metr,Weight,na.rm = TRUE)/Tehran_Bundle_Value2,by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex1,Weight),by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex2,Weight),by=ProvinceCode]
+Indexes2<-CBNPoor[,.(RealPriceIndex1,RealPriceIndex2,ProvinceCode,Weight)]
+Indexes2<-Indexes2[,RealPriceIndex:=(RealPriceIndex1+RealPriceIndex2)/2]
+Indexes<-Indexes2[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+Indexes34<-Indexes[,.(ProvinceCode,RealPriceIndex1,RealPriceIndex2,RealPriceIndex)]
+Indexes<-Indexes[,.(ProvinceCode,RealPriceIndex)]
+CBN[,RealPriceIndex:=NULL]
+CBN<-merge(CBN,Indexes,by=c("ProvinceCode"),all.x = TRUE)
+CBN<-CBN[,Total_Food_Month_Per2:=FoodExpenditure_Per*RealPriceIndex]
+CBN<-CBN[,Total_Exp_Month_Per2:=Total_Exp_Month_Per_nondurable*RealPriceIndex]
+#utils::View(CBN)
+
+
+#Sort Expenditure data
+CBN<- CBN[order(Total_Exp_Month_Per2)]
+
+#Calculate cumulative weights
+sum(CBN$Weight)
+CBN$cumweight <- cumsum(CBN$Weight)
+tx <- max(CBN$cumweight)
+
+#Calculate deciles by weights
+CBN[,Decile:=cut(cumweight,breaks = seq(0,tx,tx/10),labels = 1:10)]
+CBN[,Percentile:=cut(cumweight,breaks=seq(0,tx,tx/100),labels=1:100)]
+
+#Update Poors
+CBN[,Poor:=ifelse(Decile %in% 2:2,1,0)]
+CBNPoor<-CBN[Poor==1]
+CBNPoor<-merge(CBNPoor,dt2,by=c("ProvinceCode"),all.x = TRUE)
+CBNPoor[,sum(HIndivNo),by=.(ProvinceCode)][order(ProvinceCode)]
+
+###Iteration1-5
+#Calculate Per_calories in clusters
+CBNPoor[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(185:200)][]
+#utils::View(CBNPoor)
+
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(202:217)][]
+
+CBNPoor[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor<-CBNPoor[Per_Daily_Exp_Calories!=0]
+CBNPoor[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+#CBN[,weighted.mean(Poor,Weight),by=cluster][order(cluster)]
+
+#Real Prices
+T_Bundle_Value<-subset(CBNPoor, ProvinceCode==2301, select=c(Bundle_Value,Home_Per_Metr,Weight))
+Tehran_Bundle_Value1<-weighted.mean(T_Bundle_Value$Bundle_Value,T_Bundle_Value$Weight,na.rm = TRUE)
+Tehran_Bundle_Value2<-weighted.mean(T_Bundle_Value$Home_Per_Metr,T_Bundle_Value$Weight,na.rm = TRUE)
+CBNPoor[,RealPriceIndex1:=weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/Tehran_Bundle_Value1,by=ProvinceCode]
+CBNPoor[,RealPriceIndex2:=weighted.mean(Home_Per_Metr,Weight,na.rm = TRUE)/Tehran_Bundle_Value2,by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex1,Weight),by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex2,Weight),by=ProvinceCode]
+Indexes2<-CBNPoor[,.(RealPriceIndex1,RealPriceIndex2,ProvinceCode,Weight)]
+Indexes2<-Indexes2[,RealPriceIndex:=(RealPriceIndex1+RealPriceIndex2)/2]
+Indexes<-Indexes2[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+Indexes35<-Indexes[,.(ProvinceCode,RealPriceIndex1,RealPriceIndex2,RealPriceIndex)]
+Indexes<-Indexes[,.(ProvinceCode,RealPriceIndex)]
+CBN[,RealPriceIndex:=NULL]
+CBN<-merge(CBN,Indexes,by=c("ProvinceCode"),all.x = TRUE)
+CBN<-CBN[,Total_Food_Month_Per2:=FoodExpenditure_Per*RealPriceIndex]
+CBN<-CBN[,Total_Exp_Month_Per2:=Total_Exp_Month_Per_nondurable*RealPriceIndex]
+#utils::View(CBN)
+
+
+#Sort Expenditure data
+CBN<- CBN[order(Total_Exp_Month_Per2)]
+
+#Calculate cumulative weights
+sum(CBN$Weight)
+CBN$cumweight <- cumsum(CBN$Weight)
+tx <- max(CBN$cumweight)
+
+#Calculate deciles by weights
+CBN[,Decile:=cut(cumweight,breaks = seq(0,tx,tx/10),labels = 1:10)]
+CBN[,Percentile:=cut(cumweight,breaks=seq(0,tx,tx/100),labels=1:100)]
+
+#Update Poors
+CBN[,Poor:=ifelse(Decile %in% 2:2,1,0)]
+CBNPoor<-CBN[Poor==1]
+CBNPoor<-merge(CBNPoor,dt2,by=c("ProvinceCode"),all.x = TRUE)
+CBNPoor[,sum(HIndivNo),by=.(ProvinceCode)][order(ProvinceCode)]
+
+###Iteration1-6
+#Calculate Per_calories in clusters
+CBNPoor[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(185:200)][]
+#utils::View(CBNPoor)
+
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(202:217)][]
+
+CBNPoor[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor<-CBNPoor[Per_Daily_Exp_Calories!=0]
+CBNPoor[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+#CBN[,weighted.mean(Poor,Weight),by=cluster][order(cluster)]
+
+#Real Prices
+T_Bundle_Value<-subset(CBNPoor, ProvinceCode==2301, select=c(Bundle_Value,Home_Per_Metr,Weight))
+Tehran_Bundle_Value1<-weighted.mean(T_Bundle_Value$Bundle_Value,T_Bundle_Value$Weight,na.rm = TRUE)
+Tehran_Bundle_Value2<-weighted.mean(T_Bundle_Value$Home_Per_Metr,T_Bundle_Value$Weight,na.rm = TRUE)
+CBNPoor[,RealPriceIndex1:=weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/Tehran_Bundle_Value1,by=ProvinceCode]
+CBNPoor[,RealPriceIndex2:=weighted.mean(Home_Per_Metr,Weight,na.rm = TRUE)/Tehran_Bundle_Value2,by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex1,Weight),by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex2,Weight),by=ProvinceCode]
+Indexes2<-CBNPoor[,.(RealPriceIndex1,RealPriceIndex2,ProvinceCode,Weight)]
+Indexes2<-Indexes2[,RealPriceIndex:=(RealPriceIndex1+RealPriceIndex2)/2]
+Indexes<-Indexes2[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+Indexes36<-Indexes[,.(ProvinceCode,RealPriceIndex1,RealPriceIndex2,RealPriceIndex)]
+Indexes<-Indexes[,.(ProvinceCode,RealPriceIndex)]
+CBN[,RealPriceIndex:=NULL]
+CBN<-merge(CBN,Indexes,by=c("ProvinceCode"),all.x = TRUE)
+CBN<-CBN[,Total_Food_Month_Per2:=FoodExpenditure_Per*RealPriceIndex]
+CBN<-CBN[,Total_Exp_Month_Per2:=Total_Exp_Month_Per_nondurable*RealPriceIndex]
+#utils::View(CBN)
+
+
+#Sort Expenditure data
+CBN<- CBN[order(Total_Exp_Month_Per2)]
+
+#Calculate cumulative weights
+sum(CBN$Weight)
+CBN$cumweight <- cumsum(CBN$Weight)
+tx <- max(CBN$cumweight)
+
+#Calculate deciles by weights
+CBN[,Decile:=cut(cumweight,breaks = seq(0,tx,tx/10),labels = 1:10)]
+CBN[,Percentile:=cut(cumweight,breaks=seq(0,tx,tx/100),labels=1:100)]
+
+#Update Poors
+CBN[,Poor:=ifelse(Decile %in% 2:2,1,0)]
+CBNPoor<-CBN[Poor==1]
+CBNPoor<-merge(CBNPoor,dt2,by=c("ProvinceCode"),all.x = TRUE)
+CBNPoor[,sum(HIndivNo),by=.(ProvinceCode)][order(ProvinceCode)]
+
+###Iteration1-7
+#Calculate Per_calories in clusters
+CBNPoor[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(185:200)][]
+#utils::View(CBNPoor)
+
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(202:217)][]
+
+CBNPoor[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor<-CBNPoor[Per_Daily_Exp_Calories!=0]
+CBNPoor[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+#CBN[,weighted.mean(Poor,Weight),by=cluster][order(cluster)]
+
+#Real Prices
+T_Bundle_Value<-subset(CBNPoor, ProvinceCode==2301, select=c(Bundle_Value,Home_Per_Metr,Weight))
+Tehran_Bundle_Value1<-weighted.mean(T_Bundle_Value$Bundle_Value,T_Bundle_Value$Weight,na.rm = TRUE)
+Tehran_Bundle_Value2<-weighted.mean(T_Bundle_Value$Home_Per_Metr,T_Bundle_Value$Weight,na.rm = TRUE)
+CBNPoor[,RealPriceIndex1:=weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/Tehran_Bundle_Value1,by=ProvinceCode]
+CBNPoor[,RealPriceIndex2:=weighted.mean(Home_Per_Metr,Weight,na.rm = TRUE)/Tehran_Bundle_Value2,by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex1,Weight),by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex2,Weight),by=ProvinceCode]
+Indexes2<-CBNPoor[,.(RealPriceIndex1,RealPriceIndex2,ProvinceCode,Weight)]
+Indexes2<-Indexes2[,RealPriceIndex:=(RealPriceIndex1+RealPriceIndex2)/2]
+Indexes<-Indexes2[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+Indexes37<-Indexes[,.(ProvinceCode,RealPriceIndex1,RealPriceIndex2,RealPriceIndex)]
+Indexes<-Indexes[,.(ProvinceCode,RealPriceIndex)]
+CBN[,RealPriceIndex:=NULL]
+CBN<-merge(CBN,Indexes,by=c("ProvinceCode"),all.x = TRUE)
+CBN<-CBN[,Total_Food_Month_Per2:=FoodExpenditure_Per*RealPriceIndex]
+CBN<-CBN[,Total_Exp_Month_Per2:=Total_Exp_Month_Per_nondurable*RealPriceIndex]
+#utils::View(CBN)
+
+
+#Sort Expenditure data
+CBN<- CBN[order(Total_Exp_Month_Per2)]
+
+#Calculate cumulative weights
+sum(CBN$Weight)
+CBN$cumweight <- cumsum(CBN$Weight)
+tx <- max(CBN$cumweight)
+
+#Calculate deciles by weights
+CBN[,Decile:=cut(cumweight,breaks = seq(0,tx,tx/10),labels = 1:10)]
+CBN[,Percentile:=cut(cumweight,breaks=seq(0,tx,tx/100),labels=1:100)]
+
+#Update Poors
+CBN[,Poor:=ifelse(Decile %in% 2:2,1,0)]
+CBNPoor<-CBN[Poor==1]
+CBNPoor<-merge(CBNPoor,dt2,by=c("ProvinceCode"),all.x = TRUE)
+CBNPoor[,sum(HIndivNo),by=.(ProvinceCode)][order(ProvinceCode)]
+
+###Iteration1-8
+#Calculate Per_calories in clusters
+CBNPoor[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(185:200)][]
+#utils::View(CBNPoor)
+
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(202:217)][]
+
+CBNPoor[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor<-CBNPoor[Per_Daily_Exp_Calories!=0]
+CBNPoor[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+#CBN[,weighted.mean(Poor,Weight),by=cluster][order(cluster)]
+
+#Real Prices
+T_Bundle_Value<-subset(CBNPoor, ProvinceCode==2301, select=c(Bundle_Value,Home_Per_Metr,Weight))
+Tehran_Bundle_Value1<-weighted.mean(T_Bundle_Value$Bundle_Value,T_Bundle_Value$Weight,na.rm = TRUE)
+Tehran_Bundle_Value2<-weighted.mean(T_Bundle_Value$Home_Per_Metr,T_Bundle_Value$Weight,na.rm = TRUE)
+CBNPoor[,RealPriceIndex1:=weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/Tehran_Bundle_Value1,by=ProvinceCode]
+CBNPoor[,RealPriceIndex2:=weighted.mean(Home_Per_Metr,Weight,na.rm = TRUE)/Tehran_Bundle_Value2,by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex1,Weight),by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex2,Weight),by=ProvinceCode]
+Indexes2<-CBNPoor[,.(RealPriceIndex1,RealPriceIndex2,ProvinceCode,Weight)]
+Indexes2<-Indexes2[,RealPriceIndex:=(RealPriceIndex1+RealPriceIndex2)/2]
+Indexes<-Indexes2[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+Indexes38<-Indexes[,.(ProvinceCode,RealPriceIndex1,RealPriceIndex2,RealPriceIndex)]
+Indexes<-Indexes[,.(ProvinceCode,RealPriceIndex)]
+CBN[,RealPriceIndex:=NULL]
+CBN<-merge(CBN,Indexes,by=c("ProvinceCode"),all.x = TRUE)
+CBN<-CBN[,Total_Food_Month_Per2:=FoodExpenditure_Per*RealPriceIndex]
+CBN<-CBN[,Total_Exp_Month_Per2:=Total_Exp_Month_Per_nondurable*RealPriceIndex]
+#utils::View(CBN)
+
+
+#Sort Expenditure data
+CBN<- CBN[order(Total_Exp_Month_Per2)]
+
+#Calculate cumulative weights
+sum(CBN$Weight)
+CBN$cumweight <- cumsum(CBN$Weight)
+tx <- max(CBN$cumweight)
+
+#Calculate deciles by weights
+CBN[,Decile:=cut(cumweight,breaks = seq(0,tx,tx/10),labels = 1:10)]
+CBN[,Percentile:=cut(cumweight,breaks=seq(0,tx,tx/100),labels=1:100)]
+
+#Update Poors
+CBN[,Poor:=ifelse(Decile %in% 2:2,1,0)]
+CBNPoor<-CBN[Poor==1]
+CBNPoor<-merge(CBNPoor,dt2,by=c("ProvinceCode"),all.x = TRUE)
+CBNPoor[,sum(HIndivNo),by=.(ProvinceCode)][order(ProvinceCode)]
+
+###Iteration1-9
+#Calculate Per_calories in clusters
+CBNPoor[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(185:200)][]
+#utils::View(CBNPoor)
+
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(202:217)][]
+
+CBNPoor[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor<-CBNPoor[Per_Daily_Exp_Calories!=0]
+CBNPoor[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+#CBN[,weighted.mean(Poor,Weight),by=cluster][order(cluster)]
+
+#Real Prices
+T_Bundle_Value<-subset(CBNPoor, ProvinceCode==2301, select=c(Bundle_Value,Home_Per_Metr,Weight))
+Tehran_Bundle_Value1<-weighted.mean(T_Bundle_Value$Bundle_Value,T_Bundle_Value$Weight,na.rm = TRUE)
+Tehran_Bundle_Value2<-weighted.mean(T_Bundle_Value$Home_Per_Metr,T_Bundle_Value$Weight,na.rm = TRUE)
+CBNPoor[,RealPriceIndex1:=weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/Tehran_Bundle_Value1,by=ProvinceCode]
+CBNPoor[,RealPriceIndex2:=weighted.mean(Home_Per_Metr,Weight,na.rm = TRUE)/Tehran_Bundle_Value2,by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex1,Weight),by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex2,Weight),by=ProvinceCode]
+Indexes2<-CBNPoor[,.(RealPriceIndex1,RealPriceIndex2,ProvinceCode,Weight)]
+Indexes2<-Indexes2[,RealPriceIndex:=(RealPriceIndex1+RealPriceIndex2)/2]
+Indexes<-Indexes2[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+Indexes39<-Indexes[,.(ProvinceCode,RealPriceIndex1,RealPriceIndex2,RealPriceIndex)]
+Indexes<-Indexes[,.(ProvinceCode,RealPriceIndex)]
+CBN[,RealPriceIndex:=NULL]
+CBN<-merge(CBN,Indexes,by=c("ProvinceCode"),all.x = TRUE)
+CBN<-CBN[,Total_Food_Month_Per2:=FoodExpenditure_Per*RealPriceIndex]
+CBN<-CBN[,Total_Exp_Month_Per2:=Total_Exp_Month_Per_nondurable*RealPriceIndex]
+#utils::View(CBN)
+
+
+#Sort Expenditure data
+CBN<- CBN[order(Total_Exp_Month_Per2)]
+
+#Calculate cumulative weights
+sum(CBN$Weight)
+CBN$cumweight <- cumsum(CBN$Weight)
+tx <- max(CBN$cumweight)
+
+#Calculate deciles by weights
+CBN[,Decile:=cut(cumweight,breaks = seq(0,tx,tx/10),labels = 1:10)]
+CBN[,Percentile:=cut(cumweight,breaks=seq(0,tx,tx/100),labels=1:100)]
+
+#Update Poors
+CBN[,Poor:=ifelse(Decile %in% 2:2,1,0)]
+CBNPoor<-CBN[Poor==1]
+CBNPoor<-merge(CBNPoor,dt2,by=c("ProvinceCode"),all.x = TRUE)
+CBNPoor[,sum(HIndivNo),by=.(ProvinceCode)][order(ProvinceCode)]
+
+###Iteration1-10
+#Calculate Per_calories in clusters
+CBNPoor[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(185:200)][]
+#utils::View(CBNPoor)
+
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(202:217)][]
+
+CBNPoor[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor<-CBNPoor[Per_Daily_Exp_Calories!=0]
+CBNPoor[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+#CBN[,weighted.mean(Poor,Weight),by=cluster][order(cluster)]
+
+#Real Prices
+T_Bundle_Value<-subset(CBNPoor, ProvinceCode==2301, select=c(Bundle_Value,Home_Per_Metr,Weight))
+Tehran_Bundle_Value1<-weighted.mean(T_Bundle_Value$Bundle_Value,T_Bundle_Value$Weight,na.rm = TRUE)
+Tehran_Bundle_Value2<-weighted.mean(T_Bundle_Value$Home_Per_Metr,T_Bundle_Value$Weight,na.rm = TRUE)
+CBNPoor[,RealPriceIndex1:=weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/Tehran_Bundle_Value1,by=ProvinceCode]
+CBNPoor[,RealPriceIndex2:=weighted.mean(Home_Per_Metr,Weight,na.rm = TRUE)/Tehran_Bundle_Value2,by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex1,Weight),by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex2,Weight),by=ProvinceCode]
+Indexes2<-CBNPoor[,.(RealPriceIndex1,RealPriceIndex2,ProvinceCode,Weight)]
+Indexes2<-Indexes2[,RealPriceIndex:=(RealPriceIndex1+RealPriceIndex2)/2]
+Indexes<-Indexes2[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+Indexes310<-Indexes[,.(ProvinceCode,RealPriceIndex1,RealPriceIndex2,RealPriceIndex)]
+Indexes<-Indexes[,.(ProvinceCode,RealPriceIndex)]
+CBN[,RealPriceIndex:=NULL]
+CBN<-merge(CBN,Indexes,by=c("ProvinceCode"),all.x = TRUE)
+CBN<-CBN[,Total_Food_Month_Per2:=FoodExpenditure_Per*RealPriceIndex]
+CBN<-CBN[,Total_Exp_Month_Per2:=Total_Exp_Month_Per_nondurable*RealPriceIndex]
+#utils::View(CBN)
+
+
+#Sort Expenditure data
+CBN<- CBN[order(Total_Exp_Month_Per2)]
+
+#Calculate cumulative weights
+sum(CBN$Weight)
+CBN$cumweight <- cumsum(CBN$Weight)
+tx <- max(CBN$cumweight)
+
+#Calculate deciles by weights
+CBN[,Decile:=cut(cumweight,breaks = seq(0,tx,tx/10),labels = 1:10)]
+CBN[,Percentile:=cut(cumweight,breaks=seq(0,tx,tx/100),labels=1:100)]
+
+#Update Poors
+CBN[,Poor:=ifelse(Decile %in% 2:2,1,0)]
+CBNPoor<-CBN[Poor==1]
+CBNPoor<-merge(CBNPoor,dt2,by=c("ProvinceCode"),all.x = TRUE)
+CBNPoor[,sum(HIndivNo),by=.(ProvinceCode)][order(ProvinceCode)]
+
+
+#Calculate Per_calories in clusters
+CBNPoor[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(189:204)][]
+#utils::View(CBNPoor)
+
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(206:221)][]
+
+CBNPoor[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor<-CBNPoor[Per_Daily_Exp_Calories!=0]
+CBNPoor[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNCalory<-CBNPoor[,.(Per_Daily_Calories,Per_Daily_Exp_Calories,Per_Calory_Resturant,Resturant_Exp,cluster,ProvinceCode)]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+
+
+#Calculations
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_day,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,sum(Size*Weight),by=cluster][order(cluster)]
+
+
+#Food Poverty Line for each cluster
+#cluster 1
+CBNPoorCluster<-CBNPoor[cluster==1]
+Food_Povertyline1_1<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 2
+CBNPoorCluster<-CBNPoor[cluster==2]
+Food_Povertyline2_1<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 3
+CBNPoorCluster<-CBNPoor[cluster==3]
+Food_Povertyline3_1<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 4
+CBNPoorCluster<-CBNPoor[cluster==4]
+Food_Povertyline4_1<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+
+#ee<-CBNPoor[,.(Total_Exp_Month_Real,Total_Exp_Month,Total_Food_Month_Per2,Total_Exp_Month_Per_nondurable,Total_Exp_Month_nondurable_Real_Per,FoodExpenditure_Per,cluster)]
+#mean(ee[,Total_Food_Month_Per2==Total_Exp_Month_nondurable_Real])
+#mean(ee[,Total_Food_Month_Per2<3500000])
+#ee<- ee[order(Total_Food_Month_Per2)]
+#utils::View(CBN)
+CBN<-merge(CBN,dt2,by=c("ProvinceCode"),all.x = TRUE)
+#for (col in c("Total_Food_Month_Per2")) CBN[is.na(get(col)), (col) := Total_Exp_Month_Per_nondurable]
+c<-CBN[,.(FoodExpenditure_Per,FoodExpenditure_Per_total,Total_Exp_Month_Per_nondurable,Total_Exp_Month,Total_Food_Month_Per2,Poor,Decile,Weight,cluster)]
+
+#########Iteration 2###############
+#Sort Expenditure data
+CBN<- CBN[order(Total_Food_Month_Per2)]
+c<- c[order(Total_Food_Month_Per2)]
+
+#Indicate new poors
+CBN[,Poor2:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_1 & cluster==1,1,0)]
+c[,Poor2:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_1 & cluster==1 ,1,0)]
+CBN[,Poor2:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_1 & cluster==2,1,Poor2)]
+c[,Poor2:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_1 & cluster==2 ,1,Poor2)]
+CBN[,Poor2:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_1 & cluster==3,1,Poor2)]
+c[,Poor2:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_1 & cluster==3 ,1,Poor2)]
+CBN[,Poor2:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_1 & cluster==4,1,Poor2)]
+c[,Poor2:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_1 & cluster==4 ,1,Poor2)]
+CBN[,weighted.mean(Poor2,Weight),by=cluster][order(cluster)]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2<-CBN[Poor2==1]
+
+
+#CalculatePer_calories in clusters
+CBNPoor2[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(190:205)][]
+#utils::View(CBNPoor2)
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor2[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(207:222)][]
+
+CBNPoor2[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor2[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor2[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor2[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2<-CBNPoor2[Per_Daily_Exp_Calories!=0]
+CBNPoor2[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor2[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor2[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor2[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor2[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor2[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+
+
+
+#Calculations
+CBNPoor2[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,weighted.mean(FoodExpenditure_Per_day,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+
+
+
+#Food Poverty Line for each cluster
+#cluster 1
+CBNPoorCluster<-CBNPoor2[cluster==1]
+Food_Povertyline1_2<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 2
+CBNPoorCluster<-CBNPoor2[cluster==2]
+Food_Povertyline2_2<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 3
+CBNPoorCluster<-CBNPoor2[cluster==3]
+Food_Povertyline3_2<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 4
+CBNPoorCluster<-CBNPoor2[cluster==4]
+Food_Povertyline4_2<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#ee<-CBNPoor[,.(Total_Exp_Month_Real,Total_Exp_Month,Total_Food_Month_Per2,Total_Exp_Month_Per_nondurable,Total_Exp_Month_nondurable_Real_Per,FoodExpenditure_Per,cluster)]
+#mean(ee[,Total_Food_Month_Per2==Total_Exp_Month_nondurable_Real])
+#mean(ee[,Total_Food_Month_Per2<3500000])
+#ee<- ee[order(Total_Food_Month_Per2)]
+#utils::View(CBN)
+#for (col in c("Total_Food_Month_Per2")) CBN[is.na(get(col)), (col) := Total_Exp_Month_Per_nondurable]
+c<-CBN[,.(FoodExpenditure_Per,FoodExpenditure_Per_total,Total_Exp_Month_Per_nondurable,Total_Exp_Month,Total_Food_Month_Per2,Poor,Decile,Weight,cluster)]
+
+
+#########Iteration 3###############
+#Sort Expenditure data
+CBN<- CBN[order(Total_Food_Month_Per2)]
+c<- c[order(Total_Food_Month_Per2)]
+
+#Indicate new poors
+CBN[,Poor3:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_2 & cluster==1,1,0)]
+c[,Poor3:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_2 & cluster==1 ,1,0)]
+CBN[,Poor3:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_2 & cluster==2,1,Poor3)]
+c[,Poor3:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_2 & cluster==2 ,1,Poor3)]
+CBN[,Poor3:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_2 & cluster==3,1,Poor3)]
+c[,Poor3:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_2 & cluster==3 ,1,Poor3)]
+CBN[,Poor3:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_2 & cluster==4,1,Poor3)]
+c[,Poor3:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_2 & cluster==4 ,1,Poor3)]
+CBN[,weighted.mean(Poor3,Weight),by=cluster][order(cluster)]
+CBNPoor2[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3<-CBN[Poor3==1]
+
+
+
+#CalculatePer_calories in clusters
+CBNPoor3[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(191:206)][]
+#utils::View(CBNPoor3)
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor3[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(208:223)][]
+
+
+CBNPoor3[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor3[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor3[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor3[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3<-CBNPoor3[Per_Daily_Exp_Calories!=0]
+CBNPoor3[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor3[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+
+#sum of total food expenditures
+CBNPoor3[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor3[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor3[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor3[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+
+
+#Calculations
+CBNPoor3[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,weighted.mean(FoodExpenditure_Per_day,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+
+
+
+#Food Poverty Line for each cluster
+#cluster 1
+CBNPoorCluster<-CBNPoor3[cluster==1]
+Food_Povertyline1_3<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 2
+CBNPoorCluster<-CBNPoor3[cluster==2]
+Food_Povertyline2_3<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 3
+CBNPoorCluster<-CBNPoor3[cluster==3]
+Food_Povertyline3_3<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 4
+CBNPoorCluster<-CBNPoor3[cluster==4]
+Food_Povertyline4_3<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#ee<-CBNPoor[,.(Total_Exp_Month_Real,Total_Exp_Month,Total_Food_Month_Per2,Total_Exp_Month_Per_nondurable,Total_Exp_Month_nondurable_Real_Per,FoodExpenditure_Per,cluster)]
+#mean(ee[,Total_Food_Month_Per2==Total_Exp_Month_nondurable_Real])
+#mean(ee[,Total_Food_Month_Per2<3500000])
+#ee<- ee[order(Total_Food_Month_Per2)]
+#utils::View(CBN)
+#for (col in c("Total_Food_Month_Per2")) CBN[is.na(get(col)), (col) := Total_Exp_Month_Per_nondurable]
+c<-CBN[,.(FoodExpenditure_Per,FoodExpenditure_Per_total,Total_Exp_Month_Per_nondurable,Total_Exp_Month,Total_Food_Month_Per2,Poor,Decile,Weight,cluster)]
+
+
+#########Iteration 4###############
+#Sort Expenditure data
+CBN<- CBN[order(Total_Food_Month_Per2)]
+c<- c[order(Total_Food_Month_Per2)]
+
+#Indicate new poors
+CBN[,Poor4:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_3 & cluster==1,1,0)]
+c[,Poor4:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_3 & cluster==1 ,1,0)]
+CBN[,Poor4:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_3 & cluster==2,1,Poor4)]
+c[,Poor4:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_3 & cluster==2 ,1,Poor4)]
+CBN[,Poor4:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_3 & cluster==3,1,Poor4)]
+c[,Poor4:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_3 & cluster==3 ,1,Poor4)]
+CBN[,Poor4:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_3 & cluster==4,1,Poor4)]
+c[,Poor4:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_3 & cluster==4 ,1,Poor4)]
+CBN[,weighted.mean(Poor4,Weight),by=cluster][order(cluster)]
+CBNPoor3[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4<-CBN[Poor4==1]
+
+#CalculatePer_calories in clusters
+CBNPoor4[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(191:206)][]
+#utils::View(CBNPoor4)
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor4[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(208:223)][]
+
+
+CBNPoor4[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor4[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor4[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor4[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4<-CBNPoor4[Per_Daily_Exp_Calories!=0]
+CBNPoor4[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor4[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+
+#sum of total food expenditures
+CBNPoor4[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor4[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor4[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor4[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+
+
+#Calculations
+CBNPoor4[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,weighted.mean(FoodExpenditure_Per_day,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+
+
+
+#Food Poverty Line for each cluster
+#cluster 1
+CBNPoorCluster<-CBNPoor4[cluster==1]
+Food_Povertyline1_4<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 2
+CBNPoorCluster<-CBNPoor4[cluster==2]
+Food_Povertyline2_4<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 3
+CBNPoorCluster<-CBNPoor4[cluster==3]
+Food_Povertyline3_4<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 4
+CBNPoorCluster<-CBNPoor4[cluster==4]
+Food_Povertyline4_4<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#ee<-CBNPoor[,.(Total_Exp_Month_Real,Total_Exp_Month,Total_Food_Month_Per2,Total_Exp_Month_Per_nondurable,Total_Exp_Month_nondurable_Real_Per,FoodExpenditure_Per,cluster)]
+#mean(ee[,Total_Food_Month_Per2==Total_Exp_Month_nondurable_Real])
+#mean(ee[,Total_Food_Month_Per2<3500000])
+#ee<- ee[order(Total_Food_Month_Per2)]
+#utils::View(CBN)
+#for (col in c("Total_Food_Month_Per2")) CBN[is.na(get(col)), (col) := Total_Exp_Month_Per_nondurable]
+c<-CBN[,.(FoodExpenditure_Per,FoodExpenditure_Per_total,Total_Exp_Month_Per_nondurable,Total_Exp_Month,Total_Food_Month_Per2,Poor,Decile,Weight,cluster)]
+
+
+#########Iteration 5###############
+#Sort Expenditure data
+CBN<- CBN[order(Total_Food_Month_Per2)]
+c<- c[order(Total_Food_Month_Per2)]
+
+#Indicate new poors
+CBN[,Poor5:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_4 & cluster==1,1,0)]
+c[,Poor5:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_4 & cluster==1 ,1,0)]
+CBN[,Poor5:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_4 & cluster==2,1,Poor5)]
+c[,Poor5:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_4 & cluster==2 ,1,Poor5)]
+CBN[,Poor5:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_4 & cluster==3,1,Poor5)]
+c[,Poor5:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_4 & cluster==3 ,1,Poor5)]
+CBN[,Poor5:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_4 & cluster==4,1,Poor5)]
+c[,Poor5:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_4 & cluster==4 ,1,Poor5)]
+CBN[,weighted.mean(Poor5,Weight),by=cluster][order(cluster)]
+CBNPoor4[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5<-CBN[Poor5==1]
+
+#CalculatePer_calories in clusters
+CBNPoor5[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(191:206)][]
+#utils::View(CBNPoor5)
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor5[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(208:223)][]
+
+
+CBNPoor5[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor5[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor5[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor5[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5<-CBNPoor5[Per_Daily_Exp_Calories!=0]
+CBNPoor5[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor5[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+
+#sum of total food expenditures
+CBNPoor5[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor5[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor5[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor5[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+
+
+#Calculations
+CBNPoor5[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,weighted.mean(FoodExpenditure_Per_day,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+
+
+
+#Food Poverty Line for each cluster
+#cluster 1
+CBNPoorCluster<-CBNPoor5[cluster==1]
+Food_Povertyline1_5<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 2
+CBNPoorCluster<-CBNPoor5[cluster==2]
+Food_Povertyline2_5<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 3
+CBNPoorCluster<-CBNPoor5[cluster==3]
+Food_Povertyline3_5<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 4
+CBNPoorCluster<-CBNPoor5[cluster==4]
+Food_Povertyline4_5<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#ee<-CBNPoor[,.(Total_Exp_Month_Real,Total_Exp_Month,Total_Food_Month_Per2,Total_Exp_Month_Per_nondurable,Total_Exp_Month_nondurable_Real_Per,FoodExpenditure_Per,cluster)]
+#mean(ee[,Total_Food_Month_Per2==Total_Exp_Month_nondurable_Real])
+#mean(ee[,Total_Food_Month_Per2<3500000])
+#ee<- ee[order(Total_Food_Month_Per2)]
+#utils::View(CBN)
+#for (col in c("Total_Food_Month_Per2")) CBN[is.na(get(col)), (col) := Total_Exp_Month_Per_nondurable]
+c<-CBN[,.(FoodExpenditure_Per,FoodExpenditure_Per_total,Total_Exp_Month_Per_nondurable,Total_Exp_Month,Total_Food_Month_Per2,Poor,Decile,Weight,cluster)]
+
+
+#########Iteration 6###############
+#Sort Expenditure data
+CBN<- CBN[order(Total_Food_Month_Per2)]
+c<- c[order(Total_Food_Month_Per2)]
+
+#Indicate new poors
+CBN[,Poor6:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_5 & cluster==1,1,0)]
+c[,Poor6:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_5 & cluster==1 ,1,0)]
+CBN[,Poor6:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_5 & cluster==2,1,Poor6)]
+c[,Poor6:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_5 & cluster==2 ,1,Poor6)]
+CBN[,Poor6:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_5 & cluster==3,1,Poor6)]
+c[,Poor6:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_5 & cluster==3 ,1,Poor6)]
+CBN[,Poor6:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_5 & cluster==4,1,Poor6)]
+c[,Poor6:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_5 & cluster==4 ,1,Poor6)]
+CBN[,weighted.mean(Poor6,Weight),by=cluster][order(cluster)]
+CBNPoor5[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6<-CBN[Poor6==1]
+
+#CalculatePer_calories in clusters
+CBNPoor6[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(191:206)][]
+#utils::View(CBNPoor6)
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor6[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(208:223)][]
+
+
+CBNPoor6[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor6[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor6[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor6[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6<-CBNPoor6[Per_Daily_Exp_Calories!=0]
+CBNPoor6[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor6[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+
+#sum of total food expenditures
+CBNPoor6[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor6[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor6[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor6[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+
+
+#Calculations
+CBNPoor6[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,weighted.mean(FoodExpenditure_Per_day,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+
+
+#Food Poverty Line for each cluster
+#cluster 1
+CBNPoorCluster<-CBNPoor6[cluster==1]
+Food_Povertyline1_6<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 2
+CBNPoorCluster<-CBNPoor6[cluster==2]
+Food_Povertyline2_6<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 3
+CBNPoorCluster<-CBNPoor6[cluster==3]
+Food_Povertyline3_6<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 4
+CBNPoorCluster<-CBNPoor6[cluster==4]
+Food_Povertyline4_6<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#ee<-CBNPoor[,.(Total_Exp_Month_Real,Total_Exp_Month,Total_Food_Month_Per2,Total_Exp_Month_Per_nondurable,Total_Exp_Month_nondurable_Real_Per,FoodExpenditure_Per,cluster)]
+#mean(ee[,Total_Food_Month_Per2==Total_Exp_Month_nondurable_Real])
+#mean(ee[,Total_Food_Month_Per2<3500000])
+#ee<- ee[order(Total_Food_Month_Per2)]
+#utils::View(CBN)
+#for (col in c("Total_Food_Month_Per2")) CBN[is.na(get(col)), (col) := Total_Exp_Month_Per_nondurable]
+c<-CBN[,.(FoodExpenditure_Per,FoodExpenditure_Per_total,Total_Exp_Month_Per_nondurable,Total_Exp_Month,Total_Food_Month_Per2,Poor,Decile,Weight,cluster)]
+
+
+#########Iteration 7###############
+#Sort Expenditure data
+CBN<- CBN[order(Total_Food_Month_Per2)]
+c<- c[order(Total_Food_Month_Per2)]
+
+#Indicate new poors
+CBN[,Poor7:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_6 & cluster==1,1,0)]
+c[,Poor7:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_6 & cluster==1 ,1,0)]
+CBN[,Poor7:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_6 & cluster==2,1,Poor7)]
+c[,Poor7:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_6 & cluster==2 ,1,Poor7)]
+CBN[,Poor7:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_6 & cluster==3,1,Poor7)]
+c[,Poor7:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_6 & cluster==3 ,1,Poor7)]
+CBN[,Poor7:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_6 & cluster==4,1,Poor7)]
+c[,Poor7:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_6 & cluster==4 ,1,Poor7)]
+CBN[,weighted.mean(Poor7,Weight),by=cluster][order(cluster)]
+CBNPoor6[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7<-CBN[Poor7==1]
+
+#CalculatePer_calories in clusters
+CBNPoor7[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(191:206)][]
+#utils::View(CBNPoor7)
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor7[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(208:223)][]
+
+
+CBNPoor7[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor7[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor7[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor7[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7<-CBNPoor7[Per_Daily_Exp_Calories!=0]
+CBNPoor7[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor7[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+
+#sum of total food expenditures
+CBNPoor7[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor7[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor7[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor7[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+
+
+#Calculations
+CBNPoor7[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,weighted.mean(FoodExpenditure_Per_day,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+
+
+
+#Food Poverty Line for each cluster
+#cluster 1
+CBNPoorCluster<-CBNPoor7[cluster==1]
+Food_Povertyline1_7<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 2
+CBNPoorCluster<-CBNPoor7[cluster==2]
+Food_Povertyline2_7<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 3
+CBNPoorCluster<-CBNPoor7[cluster==3]
+Food_Povertyline3_7<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 4
+CBNPoorCluster<-CBNPoor7[cluster==4]
+Food_Povertyline4_7<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#ee<-CBNPoor[,.(Total_Exp_Month_Real,Total_Exp_Month,Total_Food_Month_Per2,Total_Exp_Month_Per_nondurable,Total_Exp_Month_nondurable_Real_Per,FoodExpenditure_Per,cluster)]
+#mean(ee[,Total_Food_Month_Per2==Total_Exp_Month_nondurable_Real])
+#mean(ee[,Total_Food_Month_Per2<3500000])
+#ee<- ee[order(Total_Food_Month_Per2)]
+#utils::View(CBN)
+#for (col in c("Total_Food_Month_Per2")) CBN[is.na(get(col)), (col) := Total_Exp_Month_Per_nondurable]
+c<-CBN[,.(FoodExpenditure_Per,FoodExpenditure_Per_total,Total_Exp_Month_Per_nondurable,Total_Exp_Month,Total_Food_Month_Per2,Poor,Decile,Weight,cluster)]
+
+
+#########Iteration 8###############
+#Sort Expenditure data
+CBN<- CBN[order(Total_Food_Month_Per2)]
+c<- c[order(Total_Food_Month_Per2)]
+
+#Indicate new poors
+CBN[,Poor8:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_7 & cluster==1,1,0)]
+c[,Poor8:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_7 & cluster==1 ,1,0)]
+CBN[,Poor8:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_7 & cluster==2,1,Poor8)]
+c[,Poor8:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_7 & cluster==2 ,1,Poor8)]
+CBN[,Poor8:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_7 & cluster==3,1,Poor8)]
+c[,Poor8:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_7 & cluster==3 ,1,Poor8)]
+CBN[,Poor8:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_7 & cluster==4,1,Poor8)]
+c[,Poor8:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_7 & cluster==4 ,1,Poor8)]
+CBN[,weighted.mean(Poor8,Weight),by=cluster][order(cluster)]
+CBNPoor7[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8<-CBN[Poor8==1]
+
+
+#CalculatePer_calories in clusters
+CBNPoor8[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(191:206)][]
+#utils::View(CBNPoor8)
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor8[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(208:223)][]
+
+
+CBNPoor8[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor8[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor8[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor8[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8<-CBNPoor8[Per_Daily_Exp_Calories!=0]
+CBNPoor8[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor8[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+
+#sum of total food expenditures
+CBNPoor8[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor8[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor8[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor8[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+
+
+#Calculations
+CBNPoor8[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,weighted.mean(FoodExpenditure_Per_day,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+
+
+
+#Food Poverty Line for each cluster
+#cluster 1
+CBNPoorCluster<-CBNPoor8[cluster==1]
+Food_Povertyline1_8<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 2
+CBNPoorCluster<-CBNPoor8[cluster==2]
+Food_Povertyline2_8<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 3
+CBNPoorCluster<-CBNPoor8[cluster==3]
+Food_Povertyline3_8<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 4
+CBNPoorCluster<-CBNPoor8[cluster==4]
+Food_Povertyline4_8<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#ee<-CBNPoor[,.(Total_Exp_Month_Real,Total_Exp_Month,Total_Food_Month_Per2,Total_Exp_Month_Per_nondurable,Total_Exp_Month_nondurable_Real_Per,FoodExpenditure_Per,cluster)]
+#mean(ee[,Total_Food_Month_Per2==Total_Exp_Month_nondurable_Real])
+#mean(ee[,Total_Food_Month_Per2<3500000])
+#ee<- ee[order(Total_Food_Month_Per2)]
+#utils::View(CBN)
+#for (col in c("Total_Food_Month_Per2")) CBN[is.na(get(col)), (col) := Total_Exp_Month_Per_nondurable]
+c<-CBN[,.(FoodExpenditure_Per,FoodExpenditure_Per_total,Total_Exp_Month_Per_nondurable,Total_Exp_Month,Total_Food_Month_Per2,Poor,Decile,Weight,cluster)]
+
+
+#########Iteration 9###############
+#Sort Expenditure data
+CBN<- CBN[order(Total_Food_Month_Per2)]
+c<- c[order(Total_Food_Month_Per2)]
+
+#Indicate new poors
+CBN[,Poor9:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_8 & cluster==1,1,0)]
+c[,Poor9:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_8 & cluster==1 ,1,0)]
+CBN[,Poor9:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_8 & cluster==2,1,Poor9)]
+c[,Poor9:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_8 & cluster==2 ,1,Poor9)]
+CBN[,Poor9:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_8 & cluster==3,1,Poor9)]
+c[,Poor9:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_8 & cluster==3 ,1,Poor9)]
+CBN[,Poor9:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_8 & cluster==4,1,Poor9)]
+c[,Poor9:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_8 & cluster==4 ,1,Poor9)]
+CBN[,weighted.mean(Poor9,Weight),by=cluster][order(cluster)]
+CBNPoor8[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9<-CBN[Poor9==1]
+
+
+#CalculatePer_calories in clusters
+CBNPoor9[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(191:206)][]
+#utils::View(CBNPoor9)
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor9[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(208:223)][]
+
+
+CBNPoor9[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor9[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor9[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor9[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9<-CBNPoor9[Per_Daily_Exp_Calories!=0]
+CBNPoor9[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor9[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+
+#sum of total food expenditures
+CBNPoor9[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor9[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor9[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor9[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+
+
+
+#Calculations
+CBNPoor9[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,weighted.mean(FoodExpenditure_Per_day,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+
+
+
+#Food Poverty Line for each cluster
+#cluster 1
+CBNPoorCluster<-CBNPoor9[cluster==1]
+Food_Povertyline1_9<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 2
+CBNPoorCluster<-CBNPoor9[cluster==2]
+Food_Povertyline2_9<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 3
+CBNPoorCluster<-CBNPoor9[cluster==3]
+Food_Povertyline3_9<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 4
+CBNPoorCluster<-CBNPoor9[cluster==4]
+Food_Povertyline4_9<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#ee<-CBNPoor[,.(Total_Exp_Month_Real,Total_Exp_Month,Total_Food_Month_Per2,Total_Exp_Month_Per_nondurable,Total_Exp_Month_nondurable_Real_Per,FoodExpenditure_Per,cluster)]
+#mean(ee[,Total_Food_Month_Per2==Total_Exp_Month_nondurable_Real])
+#mean(ee[,Total_Food_Month_Per2<3500000])
+#ee<- ee[order(Total_Food_Month_Per2)]
+#utils::View(CBN)
+#for (col in c("Total_Food_Month_Per2")) CBN[is.na(get(col)), (col) := Total_Exp_Month_Per_nondurable]
+c<-CBN[,.(FoodExpenditure_Per,FoodExpenditure_Per_total,Total_Exp_Month_Per_nondurable,Total_Exp_Month,Total_Food_Month_Per2,Poor,Decile,Weight,cluster)]
+
+
+#########Iteration 10###############
+#Sort Expenditure data
+CBN<- CBN[order(Total_Food_Month_Per2)]
+c<- c[order(Total_Food_Month_Per2)]
+
+#Indicate new poors
+CBN[,Poor10:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_9 & cluster==1,1,0)]
+c[,Poor10:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_9 & cluster==1 ,1,0)]
+CBN[,Poor10:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_9 & cluster==2,1,Poor10)]
+c[,Poor10:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_9 & cluster==2 ,1,Poor10)]
+CBN[,Poor10:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_9 & cluster==3,1,Poor10)]
+c[,Poor10:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_9 & cluster==3 ,1,Poor10)]
+CBN[,Poor10:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_9 & cluster==4,1,Poor10)]
+c[,Poor10:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_9 & cluster==4 ,1,Poor10)]
+CBN[,weighted.mean(Poor10,Weight),by=cluster][order(cluster)]
+CBNPoor9[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor10<-CBN[Poor10==1]
+
+#Engel
+#CBNPoor9<-CBNPoor9[,ratio1:=FoodExpenditure/Total_Exp_Month]
+#CBNPoor9[,weighted.mean(ratio1,Weight),by=cluster]
+#summary(CBNPoor9$ratio1)
+CBN<-CBN[,ratio1:=FoodExpenditure/Total_Exp_Month]
+CBN[,weighted.mean(ratio1,Weight),by=ProvinceCode][order(ProvinceCode)]
+CBN<-CBN[,ratio2:=ServiceExp/Total_Exp_Month]
+CBN[,weighted.mean(ratio2,Weight),by=ProvinceCode][order(ProvinceCode)]
+
+# Poverty Line for each cluster
+#cluster 1
+CBNPoorCluster<-CBN[cluster==1 & FoodExpenditure_Per<1.1*Food_Povertyline1_9 & FoodExpenditure_Per>0.90*Food_Povertyline1_9]
+Engel1<-weighted.mean(CBNPoorCluster$ratio1,CBNPoorCluster$Weight)
+Engel_Reverse1<-1/Engel1
+Povertyline1_9<-Engel_Reverse1*Food_Povertyline1_9
+
+#cluster 2
+CBNPoorCluster<-CBN[cluster==2 & FoodExpenditure_Per<1.1*Food_Povertyline2_9 & FoodExpenditure_Per>0.90*Food_Povertyline2_9]
+Engel2<-weighted.mean(CBNPoorCluster$ratio1,CBNPoorCluster$Weight)
+Engel_Reverse2<-1/Engel2
+Povertyline2_9<-Engel_Reverse2*Food_Povertyline2_9
+
+#cluster 3
+CBNPoorCluster<-CBN[cluster==3 & FoodExpenditure_Per<1.1*Food_Povertyline3_9 & FoodExpenditure_Per>0.90*Food_Povertyline3_9]
+Engel3<-weighted.mean(CBNPoorCluster$ratio1,CBNPoorCluster$Weight)
+Engel_Reverse3<-1/Engel3
+Povertyline3_9<-Engel_Reverse3*Food_Povertyline3_9
+
+#cluster 4
+CBNPoorCluster<-CBN[cluster==4 & FoodExpenditure_Per<1.1*Food_Povertyline4_9 & FoodExpenditure_Per>0.90*Food_Povertyline4_9]
+Engel4<-weighted.mean(CBNPoorCluster$ratio1,CBNPoorCluster$Weight)
+Engel_Reverse4<-1/Engel4
+Povertyline4_9<-Engel_Reverse4*Food_Povertyline4_9
+
+#Indicate final poors
+CBN<-CBN[,Total_Exp_Month_Per2:=Total_Exp_Month_Per_nondurable*RealPriceIndex]
+
+CBN[,Poor11:=ifelse(Total_Exp_Month_Per_nondurable < Povertyline1_9 & cluster==1,1,0)]
+CBN[,Poor11:=ifelse(Total_Exp_Month_Per_nondurable < Povertyline2_9 & cluster==2,1,Poor11)]
+CBN[,Poor11:=ifelse(Total_Exp_Month_Per_nondurable < Povertyline3_9 & cluster==3,1,Poor11)]
+CBN[,Poor11:=ifelse(Total_Exp_Month_Per_nondurable < Povertyline4_9 & cluster==4,1,Poor11)]
+CBN[,weighted.mean(Poor11,Weight),by=cluster][order(cluster)]
+CBNPoor9[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor11<-CBN[Poor11==1]
+
+CBN[,sum(Size*Weight),by=cluster][order(cluster)]
+CBNPoor9[,sum(Size*Weight),by=cluster][order(cluster)]
+CBNPoor9[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBN[,weighted.mean(Poor11,Weight)]
+CBN[,weighted.mean(Poor11,Weight),by=cluster][order(cluster)]
+CBN[,weighted.mean(Poor11,Weight),by=ProvinceCode][order(ProvinceCode)]
+endtime <- proc.time()
+
+cat("\n\n============================\nIt took ")
+cat(endtime-starttime)
+
diff --git a/R/Archive/Other Codes/60-CBN85-Urban.R b/R/Archive/Other Codes/60-CBN85-Urban.R
new file mode 100644
index 00000000..72afca94
--- /dev/null
+++ b/R/Archive/Other Codes/60-CBN85-Urban.R
@@ -0,0 +1,2878 @@
+#CBN Method-Urban.R
+#
+# Copyright © 2018:Arin Shahbazian
+# Licence: GPL-3
+#
+rm(list=ls())
+
+starttime <- proc.time()
+cat("\n\n================ Prepare Data =====================================\n")
+
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+library(readxl)
+library(stringr)
+library(data.table)
+
+#for(year in (Settings$startyear:Settings$endyear)){
+# cat(paste0("\n------------------------------\nYear:",year,"\n"))
+
+load(file=paste0(Settings$HEISProcessedPath,"Y","85","HHBase.rda"))
+HHBase[,IndivNo:=NULL]
+HHBase[,Relationship:=NULL]
+HHBase[,Sex:=NULL]
+HHBase[,Age:=NULL]
+HHBase[,Literate:=NULL]
+HHBase[,Student:=NULL]
+HHBase[,EduCode:=NULL]
+HHBase[,EduYears:=NULL]
+HHBase[,EduLevel:=NULL]
+HHBase[,EduLevel0:=NULL]
+HHBase[,ActivityState:=NULL]
+HHBase[,MarritalState:=NULL]
+load(file=paste0(Settings$HEISProcessedPath,"Y","85","Ghand_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","85","Hoboobat_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","85","Roghan_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","85","Berenj_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","85","Nan_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","85","Goosht_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","85","Morgh_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","85","Mahi_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","85","Shir_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","85","Mast_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","85","Panir_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","85","Tokhmemorgh_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","85","Mive_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","85","Sabzi_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","85","Makarooni_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","85","Sibzamini_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","85","Weights.rda"))
+
+Ghand_Data<-Ghand_Data[,.(HHID,Ghandgram,GhandPrice)]
+Hoboobat_Data<-Hoboobat_Data[,.(HHID,Hoboobatgram,HoboobatPrice)]
+Roghan_Data<-Roghan_Data[,.(HHID,Roghangram,RoghanPrice)]
+Berenj_Data<-Berenj_Data[,.(HHID,Berenjgram,BerenjPrice)]
+Nan_Data<-Nan_Data[,.(HHID,Nangram,NanPrice)]
+Goosht_Data<-Goosht_Data[,.(HHID,Gooshtgram,GooshtPrice)]
+Morgh_Data<-Morgh_Data[,.(HHID,Morghgram,MorghPrice)]
+Mahi_Data<-Mahi_Data[,.(HHID,Mahigram,MahiPrice)]
+Shir_Data<-Shir_Data[,.(HHID,Shirgram,ShirPrice)]
+Mast_Data<-Mast_Data[,.(HHID,Mastgram,MastPrice)]
+Panir_Data<-Panir_Data[,.(HHID,Panirgram,PanirPrice)]
+Tokhmemorgh_Data<-Tokhmemorgh_Data[,.(HHID,Tokhmemorghgram,TokhmemorghPrice)]
+Mive_Data<-Mive_Data[,.(HHID,Mivegram,MivePrice)]
+Sabzi_Data<-Sabzi_Data[,.(HHID,Sabzigram,SabziPrice)]
+Makarooni_Data<-Makarooni_Data[,.(HHID,Makaroonigram,MakarooniPrice)]
+Sibzamini_Data<-Sibzamini_Data[,.(HHID,Sibzaminigram,SibzaminiPrice)]
+
+Food<-merge(HHBase,Ghand_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Ghandgram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Hoboobat_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Hoboobatgram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Roghan_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Roghangram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Berenj_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Berenjgram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Nan_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Nangram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Goosht_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Gooshtgram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Morgh_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Morghgram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Mahi_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Mahigram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Shir_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Shirgram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Mast_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Mastgram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Panir_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Panirgram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Tokhmemorgh_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Tokhmemorghgram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Mive_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Mivegram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Sabzi_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Sabzigram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Makarooni_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Makaroonigram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Sibzamini_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Sibzaminigram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Weights,by =c("HHID"),all.x=TRUE)
+
+
+
+#load Expenditure groups
+load(file=paste0(Settings$HEISProcessedPath,"Y","85","HHBase.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","85","HHI.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","85","Foods.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","85","Cigars.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","85","Cloths.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","85","Amusements.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","85","Communications.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","85","Durables.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","85","Education.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","85","Energy.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","85","Furnitures.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","85","Hotels.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","85","House.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","85","Medicals.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","85","Behdashts.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","85","Transportations.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","85","Others.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","85","Investments.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","85","Resturants.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","85","Weights.rda"))
+
+#merge Expenditure groups
+CBN<-merge(Food,HHI ,by =c("HHID"),all=TRUE)
+CBN<-merge(CBN,FoodData,by =c("HHID"),all=TRUE)
+for (col in c("FoodExpenditure")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,CigarData,by =c("HHID"),all=TRUE)
+for (col in c("Cigar_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,ClothData,by =c("HHID"),all=TRUE)
+for (col in c("Cloth_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,AmusementData,by =c("HHID"),all=TRUE)
+for (col in c("Amusement_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,CommunicationData,by =c("HHID"),all=TRUE)
+for (col in c("Communication_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,EducData,by =c("HHID"),all=TRUE)
+for (col in c("EducExpenditure")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,EnergyData,by =c("HHID"),all=TRUE)
+for (col in c("Energy_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,FurnitureData,by =c("HHID"),all=TRUE)
+for (col in c("Furniture_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,HotelData,by =c("HHID"),all=TRUE)
+for (col in c("Hotel_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,BehdashtData,by =c("HHID"),all=TRUE)
+for (col in c("Behdasht_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,TransportationData,by =c("HHID"),all=TRUE)
+for (col in c("Transportation_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,OtherData,by =c("HHID"),all=TRUE)
+for (col in c("Other_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,HouseData,by =c("HHID"),all=TRUE)
+for (col in c("ServiceExp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,InvestmentData,by =c("HHID"),all=TRUE)
+for (col in c("Investment_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,MedicalData,by =c("HHID"),all=TRUE)
+for (col in c("Medical_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,DurableData,by =c("HHID"),all=TRUE)
+for (col in c("Durable_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,ResturantData,by =c("HHID"),all=TRUE)
+for (col in c("Resturant_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-CBN[Size!=0]
+CBN<-CBN[Region=="Urban"]
+CBN<-CBN[FoodExpenditure!=0]
+
+
+#Calculate Per_Total Expenditures Monthly
+CBN[, Total_Exp_Month := Reduce(`+`, .SD), .SDcols=c(65:77,82:83)][]
+CBN[, Total_Exp_Month_nondurable := Reduce(`+`, .SD), .SDcols=65:77][]
+
+CBN$Total_Exp_Month_Per<-CBN$Total_Exp_Month/CBN$EqSizeOECD
+CBN$Total_Exp_Month_Per_nondurable<-CBN$Total_Exp_Month_nondurable/CBN$EqSizeOECD
+
+#Calculate Per_Food Expenditures Monthly
+CBN[,EqSizeCalory :=(Size-NKids) + NKids*(1800/2100)]
+CBN$FoodExpenditure_Per<-CBN$FoodExpenditure/CBN$EqSizeCalory
+
+#Calculate Per_Food Expenditures Daily
+CBN$FoodExpenditure_Per_day<-CBN$FoodExpenditure_Per/30
+
+CBN$Ghandgram_Per_day<-CBN$Ghandgram/(30*CBN$EqSizeOECD)
+CBN$Hoboobatgram_Per_day<-CBN$Hoboobatgram/(30*CBN$EqSizeOECD)
+CBN$Berenjgram_Per_day<-CBN$Berenjgram/(30*CBN$EqSizeOECD)
+CBN$Nangram_Per_day<-CBN$Nangram/(30*CBN$EqSizeOECD)
+CBN$Roghangram_Per_day<-CBN$Roghangram/(30*CBN$EqSizeOECD)
+CBN$Gooshtgram_Per_day<-CBN$Gooshtgram/(30*CBN$EqSizeOECD)
+CBN$Morghgram_Per_day<-CBN$Morghgram/(30*CBN$EqSizeOECD)
+CBN$Mahigram_Per_day<-CBN$Mahigram/(30*CBN$EqSizeOECD)
+CBN$Shirgram_Per_day<-CBN$Shirgram/(30*CBN$EqSizeOECD)
+CBN$Mastgram_Per_day<-CBN$Mastgram/(30*CBN$EqSizeOECD)
+CBN$Panirgram_Per_day<-CBN$Panirgram/(30*CBN$EqSizeOECD)
+CBN$Tokhmemorghgram_Per_day<-CBN$Tokhmemorghgram/(30*CBN$EqSizeOECD)
+CBN$Mivegram_Per_day<-CBN$Mivegram/(30*CBN$EqSizeOECD)
+CBN$Sabzigram_Per_day<-CBN$Sabzigram/(30*CBN$EqSizeOECD)
+CBN$Makaroonigram_Per_day<-CBN$Makaroonigram/(30*CBN$EqSizeOECD)
+CBN$Sibzaminigram_Per_day<-CBN$Sibzaminigram/(30*CBN$EqSizeOECD)
+CBN[,EqSizeCalory:=NULL]
+
+load(file="PriceIndex95.rda")
+CBN<-merge(CBN,PriceIndex95,by=c("ProvinceCode"),all.x = TRUE)
+CBN[,ostan:=NULL]
+load(file="PriceIndex.rda")
+CBN<-merge(CBN,PriceIndex,by=c("ProvinceCode"),all.x = TRUE)
+
+#Sort Expenditure data
+CBN<- CBN[order(Total_Exp_Month_Per_nondurable)]
+
+#Calculate cumulative weights
+sum(CBN$Weight)
+CBN$cumweight <- cumsum(CBN$Weight)
+tx <- max(CBN$cumweight)
+
+#Calculate deciles by weights
+CBN[,Decile:=cut(cumweight,breaks = seq(0,tx,tx/10),labels = 1:10)]
+CBN[,Percentile:=cut(cumweight,breaks=seq(0,tx,tx/100),labels=1:100)]
+
+
+CBN$Ghand_W<-CBN$Ghandgram_Per_day*CBN$GhandPrice*0.001*30
+CBN$Hoboobat_W<-CBN$Hoboobatgram_Per_day*CBN$HoboobatPrice*0.001*30
+CBN$Roghan_W<-CBN$Roghangram_Per_day*CBN$RoghanPrice*0.001*30
+CBN$Berenj_W<-CBN$Berenjgram_Per_day*CBN$BerenjPrice*0.001*30
+CBN$Nan_W<-CBN$Nangram_Per_day*CBN$NanPrice*0.001*30
+CBN$Goosht_W<-CBN$Gooshtgram_Per_day*CBN$GooshtPrice*0.001*30
+CBN$Morgh_W<-CBN$Morghgram_Per_day*CBN$MorghPrice*0.001*30
+CBN$Mahi_W<-CBN$Mahigram_Per_day*CBN$MahiPrice*0.001*30
+CBN$Shir_W<-CBN$Shirgram_Per_day*CBN$ShirPrice*0.001*30
+CBN$Mast_W<-CBN$Mastgram_Per_day*CBN$MastPrice*0.001*30
+CBN$Panir_W<-CBN$Panirgram_Per_day*CBN$PanirPrice*0.001*30
+CBN$Tokhmemorgh_W<-CBN$Tokhmemorghgram_Per_day*CBN$TokhmemorghPrice*0.001*30
+CBN$Mive_W<-CBN$Mivegram_Per_day*CBN$MivePrice*0.001*30
+CBN$Sabzi_W<-CBN$Sabzigram_Per_day*CBN$SabziPrice*0.001*30
+CBN$Makarooni_W<-CBN$Makaroonigram_Per_day*CBN$MakarooniPrice*0.001*30
+CBN$Sibzamini_W<-CBN$Sibzaminigram_Per_day*CBN$SibzaminiPrice*0.001*30
+CBN$Home_W<-CBN$ServiceExp/CBN$EqSizeOECD
+CBN$Home_Per_Metr<-CBN$MetrPrice/CBN$EqSizeOECD
+
+#Seperate big cities
+CBN[,sum(Weight*Size),by=ProvinceCode][order(V1)]
+CBN[,HHIDs:=as.character(HHID)]
+CBN[,ShahrestanCode:=as.integer(str_sub(HHIDs,2,5))]
+CBN[,sum(Weight*Size),by=ShahrestanCode][order(V1)]
+CBNTehran<-CBN[ProvinceCode==23]
+CBNTehran[,sum(Weight*Size),by=ShahrestanCode]
+CBNTabriz<-CBN[ProvinceCode==3]
+CBNTabriz[,sum(Weight*Size),by=ShahrestanCode]
+CBNAhvaz<-CBN[ProvinceCode==6]
+CBNAhvaz[,sum(Weight*Size),by=ShahrestanCode]
+CBNShiraz<-CBN[ProvinceCode==7]
+CBNShiraz[,sum(Weight*Size),by=ShahrestanCode]
+CBNMashhad<-CBN[ProvinceCode==9]
+CBNMashhad[,sum(Weight*Size),by=ShahrestanCode]
+CBNEsfahan<-CBN[ProvinceCode==10]
+CBNEsfahan[,sum(Weight*Size),by=ShahrestanCode]
+CBNKaraj<-CBN[ProvinceCode==30]
+CBNKaraj[,sum(Weight*Size),by=ShahrestanCode]
+CBNKermanshah<-CBN[ProvinceCode==5]
+CBNKermanshah[,sum(Weight*Size),by=ShahrestanCode]
+
+
+CBN<-CBN[ShahrestanCode==2301,ProvinceCode:=as.numeric(ShahrestanCode)]
+CBN<-CBN[ShahrestanCode==303,ProvinceCode:=as.numeric(ShahrestanCode)]
+CBN<-CBN[ShahrestanCode==603,ProvinceCode:=as.numeric(ShahrestanCode)]
+CBN<-CBN[ShahrestanCode==707,ProvinceCode:=as.numeric(ShahrestanCode)]
+CBN<-CBN[ShahrestanCode==916,ProvinceCode:=as.numeric(ShahrestanCode)]
+CBN<-CBN[ShahrestanCode==1002,ProvinceCode:=as.numeric(ShahrestanCode)]
+CBN<-CBN[ShahrestanCode==3001,ProvinceCode:=as.numeric(ShahrestanCode)]
+CBN<-CBN[ShahrestanCode==2301,ProvinceCode:=as.numeric(ShahrestanCode)]
+CBN<-CBN[ShahrestanCode==502,ProvinceCode:=as.numeric(ShahrestanCode)]
+
+# Food Calories
+CBN$Ghand_Calory<- CBN$Ghandgram *4
+CBN$Hoboobat_Calory<- CBN$Hoboobatgram *3
+CBN$Nan_Calory<- CBN$Nangram *2.5
+CBN$Berenj_Calory<- CBN$Berenjgram *1.2
+CBN$Roghan_Calory<- CBN$Roghangram *8
+CBN$Goosht_Calory<- CBN$Gooshtgram *2.5
+CBN$Morgh_Calory<- CBN$Morghgram *2
+CBN$Mahi_Calory<- CBN$Mahigram *1
+CBN$Shir_Calory<- CBN$Shirgram *2.5
+CBN$Mast_Calory<- CBN$Mastgram *1.5
+CBN$Panir_Calory<- CBN$Mastgram *2.5
+CBN$Tokhmemorgh_Calory<- CBN$Tokhmemorghgram *1.4
+CBN$Mive_Calory<- CBN$Mivegram *0.5
+CBN$Sabzi_Calory<- CBN$Sabzigram *0.5
+CBN$Makarooni_Calory<- CBN$Makaroonigram *3.6
+CBN$Sibzamini_Calory<- CBN$Sibzaminigram *0.9
+#utils::View(CBN)
+
+#CalculatePer_calories
+CBN[, Daily_Exp_Calories := Reduce(`+`, .SD), .SDcols=148:163][]
+CBN[,EqSizeCalory :=(Size-NKids) + NKids*(1800/2100)]
+CBN[,Per_Daily_Exp_Calories:=Daily_Exp_Calories/EqSizeCalory]
+CBN <- CBN[Per_Daily_Exp_Calories<100000] # arbitrary removal of outliers
+#CBN[,Daily_Calories_cluster:=weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+#CBN[,weighted.mean(Daily_Calories_cluster,Weight,na.rm = TRUE),by=cluster]
+#CBN[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+#CBN[,weighted.mean(Size,Weight,na.rm = TRUE),by=cluster]
+#CBN[,sum(Weight*Size),by=cluster]
+#CBN[,sum(Weight),by=cluster]
+#CBN[,sum(Poor),by=cluster]
+
+
+#Calculate_Per_calories
+CBN$Ghand_per_Calory<- CBN$Ghandgram *4/CBN$EqSizeCalory
+CBN$Hoboobat_per_Calory<- CBN$Hoboobatgram *3/CBN$EqSizeCalory
+CBN$Nan_per_Calory<- CBN$Nangram *2.5/CBN$EqSizeCalory
+CBN$Berenj_per_Calory<- CBN$Berenjgram *1.2/CBN$EqSizeCalory
+CBN$Roghan_per_Calory<- CBN$Roghangram *8/CBN$EqSizeCalory
+CBN$Goosht_per_Calory<- CBN$Gooshtgram *2.5/CBN$EqSizeCalory
+CBN$Morgh_per_Calory<- CBN$Morghgram *2/CBN$EqSizeCalory
+CBN$Mahi_per_Calory<- CBN$Mahigram *1/CBN$EqSizeCalory
+CBN$Shir_per_Calory<- CBN$Shirgram *2.5/CBN$EqSizeCalory
+CBN$Mast_per_Calory<- CBN$Mastgram *1.5/CBN$EqSizeCalory
+CBN$Panir_per_Calory<- CBN$Mastgram *2.5/CBN$EqSizeCalory
+CBN$Tokhmemorgh_per_Calory<- CBN$Tokhmemorghgram *1.4/CBN$EqSizeCalory
+CBN$Mive_per_Calory<- CBN$Mivegram *0.5/CBN$EqSizeCalory
+CBN$Sabzi_per_Calory<- CBN$Sabzigram *0.5/CBN$EqSizeCalory
+CBN$Makarooni_per_Calory<- CBN$Makaroonigram *3.6/CBN$EqSizeCalory
+CBN$Sibzamini_per_Calory<- CBN$Sibzaminigram *0.9/CBN$EqSizeCalory
+
+
+#Assume that deciles 1 and 2 are poor
+CBN[,Poor:=ifelse(Decile %in% 2:4,1,0)]
+CBNPoor<-CBN[Poor==1]
+
+#K-means weights
+PriceWeights<-CBN[,.(HHID,Ghand_W,Hoboobat_W,Roghan_W,Berenj_W,Nan_W,Goosht_W,Morgh_W,Mahi_W,Shir_W,Mast_W,Panir_W,Tokhmemorgh_W,Mive_W,Sabzi_W,Makarooni_W,Sibzamini_W,Home_W,ProvinceCode,Weight)]
+dt3 <- PriceWeights[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+dt3<- dt3[order(ProvinceCode)]
+dt3 <- dt3[,.(Ghand_W,Hoboobat_W,Roghan_W,Berenj_W,Nan_W,Goosht_W,Morgh_W,Mahi_W,Shir_W,Mast_W,Panir_W,Tokhmemorgh_W,Mive_W,Sabzi_W,Makarooni_W,Sibzamini_W,Home_W)]
+
+
+#K-means algorithm for clustering by prices
+test<-CBNPoor[,.(GhandPrice,HoboobatPrice,RoghanPrice,BerenjPrice,NanPrice,GooshtPrice,MorghPrice,MahiPrice,ShirPrice,MastPrice,PanirPrice,TokhmemorghPrice,MivePrice,SabziPrice,MakarooniPrice,SibzaminiPrice,MetrPrice,ProvinceCode,Weight)]
+#test<-CBNPoor[,.(GhandPrice,HoboobatPrice,RoghanPrice,BerenjPrice,NanPrice,GooshtPrice,MorghPrice,MahiPrice,ShirPrice,MastPrice,PanirPrice,TokhmemorghPrice,MivePrice,SabziPrice,MakarooniPrice,SibzaminiPrice,MetrPrice,Ghand_W,Hoboobat_W,Roghan_W,Berenj_W,Nan_W,Goosht_W,Morgh_W,Mahi_W,Shir_W,Mast_W,Panir_W,Tokhmemorgh_W,Mive_W,Sabzi_W,Makarooni_W,Sibzamini_W,Home_W,Region,ProvinceCode,Weight)]
+dt2 <- test[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+dt2<- dt2[order(ProvinceCode)]
+for (col in c("MahiPrice")) dt2[is.nan(get(col)), (col) := 200000]
+dt <- dt2 [,.(GhandPrice,HoboobatPrice,RoghanPrice,BerenjPrice,NanPrice,GooshtPrice,MorghPrice,MahiPrice,ShirPrice,MastPrice,PanirPrice,TokhmemorghPrice,MivePrice,SabziPrice,MakarooniPrice,SibzaminiPrice,MetrPrice)]
+
+
+pca <- princomp(dt, cor=T)
+PRICE <- pca$scores
+PRICE1 <- -1*PRICE[,1]
+PRICE2 <- -1*PRICE[,2]
+PRICE3 <- -1*PRICE[,3]
+PRICE4 <- -1*PRICE[,4]
+PRICE5 <- -1*PRICE[,5]
+PRICE6 <- -1*PRICE[,6]
+PRICE7 <- -1*PRICE[,7]
+PRICE8 <- -1*PRICE[,8]
+PRICE9 <- -1*PRICE[,9]
+PRICE10 <- -1*PRICE[,10]
+PRICE11 <- -1*PRICE[,11]
+PRICE12 <- -1*PRICE[,12]
+PRICE13 <- -1*PRICE[,13]
+PRICE14 <- -1*PRICE[,14]
+PRICE15 <- -1*PRICE[,15]
+PRICE16 <- -1*PRICE[,16]
+PRICE17 <- -1*PRICE[,17]
+
+# Deciding how many clusters
+wss <- (nrow(dt)-1)*sum(apply(dt,2,var))
+for (i in 2:30) wss[i] <- sum(kmeans(dt, centers=i)$withinss)
+plot(1:30, wss, type="b", xlab="Number of Clusters",
+ ylab="Within groups sum of squares")
+
+#Weighted clustering
+
+dt3.m <- dt3[,lapply(.SD, mean)] # Weights for each vector
+dtW <- dt * sqrt(dt3.m[rep(1,nrow(dt))]) # Weighted observations
+kmeans(dtW,4) # Simple K-means
+
+cl <- kmeans(dtW,4)
+cl$cluster
+dt2 <- dt2[,cluster:=data.table(cl$cluster)]
+dt2<-dt2[,.(ProvinceCode,cluster)]
+load(file="dt4Urban.rda")
+#plot(PRICE1, PRICE2,col=cl$cluster)
+#points(cl$centers, pch=20)
+CBNPoor<-merge(CBNPoor,dt2,by=c("ProvinceCode"),all.x = TRUE)
+CBNPoor[,sum(Weight*Size),by=cluster]
+CBNPoor[,sum(Weight),by=cluster]
+CBNPoor[,sum(Poor),by=cluster]
+C2<-CBNPoor[,.(HHID,ProvinceCode,Region,Decile,Poor,cluster)]
+######################################################################
+####Iteration 1#####
+###Iteration1-1
+#Calculate Per_calories in clusters
+CBNPoor[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(185:200)][]
+#utils::View(CBNPoor)
+
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(202:217)][]
+
+CBNPoor[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor<-CBNPoor[Per_Daily_Exp_Calories!=0]
+CBNPoor[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+#CBN[,weighted.mean(Poor,Weight),by=cluster][order(cluster)]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE)]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE)]
+
+#Real Prices
+T_Bundle_Value<-subset(CBNPoor, ProvinceCode==2301, select=c(Bundle_Value,Home_Per_Metr,Weight))
+Tehran_Bundle_Value1<-weighted.mean(T_Bundle_Value$Bundle_Value,T_Bundle_Value$Weight,na.rm = TRUE)
+Tehran_Bundle_Value2<-weighted.mean(T_Bundle_Value$Home_Per_Metr,T_Bundle_Value$Weight,na.rm = TRUE)
+CBNPoor[,RealPriceIndex1:=weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/Tehran_Bundle_Value1,by=ProvinceCode]
+CBNPoor[,RealPriceIndex2:=weighted.mean(Home_Per_Metr,Weight,na.rm = TRUE)/Tehran_Bundle_Value2,by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex1,Weight),by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex2,Weight),by=ProvinceCode]
+Indexes2<-CBNPoor[,.(RealPriceIndex1,RealPriceIndex2,ProvinceCode,Weight)]
+Indexes2<-Indexes2[,RealPriceIndex:=(RealPriceIndex1+RealPriceIndex2)/2]
+Indexes<-Indexes2[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+Indexes31<-Indexes[,.(ProvinceCode,RealPriceIndex1,RealPriceIndex2,RealPriceIndex)]
+Indexes<-Indexes[,.(ProvinceCode,RealPriceIndex)]
+CBN<-merge(CBN,Indexes,by=c("ProvinceCode"),all.x = TRUE)
+CBN<-CBN[,Total_Food_Month_Per2:=FoodExpenditure_Per*RealPriceIndex]
+CBN<-CBN[,Total_Exp_Month_Per2:=Total_Exp_Month_Per_nondurable*RealPriceIndex]
+#utils::View(CBN)
+
+#Sort Expenditure data
+CBN<- CBN[order(Total_Exp_Month_Per2)]
+
+#Calculate cumulative weights
+sum(CBN$Weight)
+CBN$cumweight <- cumsum(CBN$Weight)
+tx <- max(CBN$cumweight)
+
+#Calculate deciles by weights
+CBN[,Decile:=cut(cumweight,breaks = seq(0,tx,tx/10),labels = 1:10)]
+CBN[,Percentile:=cut(cumweight,breaks=seq(0,tx,tx/100),labels=1:100)]
+
+#Update Poors
+CBN[,Poor:=ifelse(Decile %in% 2:4,1,0)]
+CBNPoor<-CBN[Poor==1]
+CBNPoor<-merge(CBNPoor,dt2,by=c("ProvinceCode"),all.x = TRUE)
+CBNPoor[,sum(HIndivNo),by=.(ProvinceCode)][order(ProvinceCode)]
+
+###Iteration1-2
+#Calculate Per_calories in clusters
+CBNPoor[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(185:200)][]
+#utils::View(CBNPoor)
+
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(202:217)][]
+
+CBNPoor[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor<-CBNPoor[Per_Daily_Exp_Calories!=0]
+CBNPoor[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+#CBN[,weighted.mean(Poor,Weight),by=cluster][order(cluster)]
+
+#Real Prices
+T_Bundle_Value<-subset(CBNPoor, ProvinceCode==2301, select=c(Bundle_Value,Home_Per_Metr,Weight))
+Tehran_Bundle_Value1<-weighted.mean(T_Bundle_Value$Bundle_Value,T_Bundle_Value$Weight,na.rm = TRUE)
+Tehran_Bundle_Value2<-weighted.mean(T_Bundle_Value$Home_Per_Metr,T_Bundle_Value$Weight,na.rm = TRUE)
+CBNPoor[,RealPriceIndex1:=weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/Tehran_Bundle_Value1,by=ProvinceCode]
+CBNPoor[,RealPriceIndex2:=weighted.mean(Home_Per_Metr,Weight,na.rm = TRUE)/Tehran_Bundle_Value2,by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex1,Weight),by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex2,Weight),by=ProvinceCode]
+Indexes2<-CBNPoor[,.(RealPriceIndex1,RealPriceIndex2,ProvinceCode,Weight)]
+Indexes2<-Indexes2[,RealPriceIndex:=(RealPriceIndex1+RealPriceIndex2)/2]
+Indexes<-Indexes2[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+Indexes32<-Indexes[,.(ProvinceCode,RealPriceIndex1,RealPriceIndex2,RealPriceIndex)]
+Indexes<-Indexes[,.(ProvinceCode,RealPriceIndex)]
+CBN[,RealPriceIndex:=NULL]
+CBN<-merge(CBN,Indexes,by=c("ProvinceCode"),all.x = TRUE)
+CBN<-CBN[,Total_Food_Month_Per2:=FoodExpenditure_Per*RealPriceIndex]
+CBN<-CBN[,Total_Exp_Month_Per2:=Total_Exp_Month_Per_nondurable*RealPriceIndex]
+#utils::View(CBN)
+
+#Sort Expenditure data
+CBN<- CBN[order(Total_Exp_Month_Per2)]
+
+#Calculate cumulative weights
+sum(CBN$Weight)
+CBN$cumweight <- cumsum(CBN$Weight)
+tx <- max(CBN$cumweight)
+
+#Calculate deciles by weights
+CBN[,Decile:=cut(cumweight,breaks = seq(0,tx,tx/10),labels = 1:10)]
+CBN[,Percentile:=cut(cumweight,breaks=seq(0,tx,tx/100),labels=1:100)]
+
+#Update Poors
+CBN[,Poor:=ifelse(Decile %in% 2:4,1,0)]
+CBNPoor<-CBN[Poor==1]
+CBNPoor<-merge(CBNPoor,dt2,by=c("ProvinceCode"),all.x = TRUE)
+CBNPoor[,sum(HIndivNo),by=.(ProvinceCode)][order(ProvinceCode)]
+
+###Iteration1-3
+#Calculate Per_calories in clusters
+CBNPoor[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(185:200)][]
+#utils::View(CBNPoor)
+
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(202:217)][]
+
+CBNPoor[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor<-CBNPoor[Per_Daily_Exp_Calories!=0]
+CBNPoor[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+#CBN[,weighted.mean(Poor,Weight),by=cluster][order(cluster)]
+
+#Real Prices
+T_Bundle_Value<-subset(CBNPoor, ProvinceCode==2301, select=c(Bundle_Value,Home_Per_Metr,Weight))
+Tehran_Bundle_Value1<-weighted.mean(T_Bundle_Value$Bundle_Value,T_Bundle_Value$Weight,na.rm = TRUE)
+Tehran_Bundle_Value2<-weighted.mean(T_Bundle_Value$Home_Per_Metr,T_Bundle_Value$Weight,na.rm = TRUE)
+CBNPoor[,RealPriceIndex1:=weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/Tehran_Bundle_Value1,by=ProvinceCode]
+CBNPoor[,RealPriceIndex2:=weighted.mean(Home_Per_Metr,Weight,na.rm = TRUE)/Tehran_Bundle_Value2,by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex1,Weight),by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex2,Weight),by=ProvinceCode]
+Indexes2<-CBNPoor[,.(RealPriceIndex1,RealPriceIndex2,ProvinceCode,Weight)]
+Indexes2<-Indexes2[,RealPriceIndex:=(RealPriceIndex1+RealPriceIndex2)/2]
+Indexes<-Indexes2[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+Indexes33<-Indexes[,.(ProvinceCode,RealPriceIndex1,RealPriceIndex2,RealPriceIndex)]
+Indexes<-Indexes[,.(ProvinceCode,RealPriceIndex)]
+CBN[,RealPriceIndex:=NULL]
+CBN<-merge(CBN,Indexes,by=c("ProvinceCode"),all.x = TRUE)
+CBN<-CBN[,Total_Food_Month_Per2:=FoodExpenditure_Per*RealPriceIndex]
+CBN<-CBN[,Total_Exp_Month_Per2:=Total_Exp_Month_Per_nondurable*RealPriceIndex]
+#utils::View(CBN)
+
+#Sort Expenditure data
+CBN<- CBN[order(Total_Exp_Month_Per2)]
+
+#Calculate cumulative weights
+sum(CBN$Weight)
+CBN$cumweight <- cumsum(CBN$Weight)
+tx <- max(CBN$cumweight)
+
+#Calculate deciles by weights
+CBN[,Decile:=cut(cumweight,breaks = seq(0,tx,tx/10),labels = 1:10)]
+CBN[,Percentile:=cut(cumweight,breaks=seq(0,tx,tx/100),labels=1:100)]
+
+#Update Poors
+CBN[,Poor:=ifelse(Decile %in% 2:4,1,0)]
+CBNPoor<-CBN[Poor==1]
+CBNPoor<-merge(CBNPoor,dt2,by=c("ProvinceCode"),all.x = TRUE)
+CBNPoor[,sum(HIndivNo),by=.(ProvinceCode)][order(ProvinceCode)]
+
+
+###Iteration1-4
+#Calculate Per_calories in clusters
+CBNPoor[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(185:200)][]
+#utils::View(CBNPoor)
+
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(202:217)][]
+
+CBNPoor[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor<-CBNPoor[Per_Daily_Exp_Calories!=0]
+CBNPoor[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+#CBN[,weighted.mean(Poor,Weight),by=cluster][order(cluster)]
+
+#Real Prices
+T_Bundle_Value<-subset(CBNPoor, ProvinceCode==2301, select=c(Bundle_Value,Home_Per_Metr,Weight))
+Tehran_Bundle_Value1<-weighted.mean(T_Bundle_Value$Bundle_Value,T_Bundle_Value$Weight,na.rm = TRUE)
+Tehran_Bundle_Value2<-weighted.mean(T_Bundle_Value$Home_Per_Metr,T_Bundle_Value$Weight,na.rm = TRUE)
+CBNPoor[,RealPriceIndex1:=weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/Tehran_Bundle_Value1,by=ProvinceCode]
+CBNPoor[,RealPriceIndex2:=weighted.mean(Home_Per_Metr,Weight,na.rm = TRUE)/Tehran_Bundle_Value2,by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex1,Weight),by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex2,Weight),by=ProvinceCode]
+Indexes2<-CBNPoor[,.(RealPriceIndex1,RealPriceIndex2,ProvinceCode,Weight)]
+Indexes2<-Indexes2[,RealPriceIndex:=(RealPriceIndex1+RealPriceIndex2)/2]
+Indexes<-Indexes2[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+Indexes34<-Indexes[,.(ProvinceCode,RealPriceIndex1,RealPriceIndex2,RealPriceIndex)]
+Indexes<-Indexes[,.(ProvinceCode,RealPriceIndex)]
+CBN[,RealPriceIndex:=NULL]
+CBN<-merge(CBN,Indexes,by=c("ProvinceCode"),all.x = TRUE)
+CBN<-CBN[,Total_Food_Month_Per2:=FoodExpenditure_Per*RealPriceIndex]
+CBN<-CBN[,Total_Exp_Month_Per2:=Total_Exp_Month_Per_nondurable*RealPriceIndex]
+#utils::View(CBN)
+
+
+#Sort Expenditure data
+CBN<- CBN[order(Total_Exp_Month_Per2)]
+
+#Calculate cumulative weights
+sum(CBN$Weight)
+CBN$cumweight <- cumsum(CBN$Weight)
+tx <- max(CBN$cumweight)
+
+#Calculate deciles by weights
+CBN[,Decile:=cut(cumweight,breaks = seq(0,tx,tx/10),labels = 1:10)]
+CBN[,Percentile:=cut(cumweight,breaks=seq(0,tx,tx/100),labels=1:100)]
+
+#Update Poors
+CBN[,Poor:=ifelse(Decile %in% 2:4,1,0)]
+CBNPoor<-CBN[Poor==1]
+CBNPoor<-merge(CBNPoor,dt2,by=c("ProvinceCode"),all.x = TRUE)
+CBNPoor[,sum(HIndivNo),by=.(ProvinceCode)][order(ProvinceCode)]
+
+###Iteration1-5
+#Calculate Per_calories in clusters
+CBNPoor[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(185:200)][]
+#utils::View(CBNPoor)
+
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(202:217)][]
+
+CBNPoor[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor<-CBNPoor[Per_Daily_Exp_Calories!=0]
+CBNPoor[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+#CBN[,weighted.mean(Poor,Weight),by=cluster][order(cluster)]
+
+#Real Prices
+T_Bundle_Value<-subset(CBNPoor, ProvinceCode==2301, select=c(Bundle_Value,Home_Per_Metr,Weight))
+Tehran_Bundle_Value1<-weighted.mean(T_Bundle_Value$Bundle_Value,T_Bundle_Value$Weight,na.rm = TRUE)
+Tehran_Bundle_Value2<-weighted.mean(T_Bundle_Value$Home_Per_Metr,T_Bundle_Value$Weight,na.rm = TRUE)
+CBNPoor[,RealPriceIndex1:=weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/Tehran_Bundle_Value1,by=ProvinceCode]
+CBNPoor[,RealPriceIndex2:=weighted.mean(Home_Per_Metr,Weight,na.rm = TRUE)/Tehran_Bundle_Value2,by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex1,Weight),by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex2,Weight),by=ProvinceCode]
+Indexes2<-CBNPoor[,.(RealPriceIndex1,RealPriceIndex2,ProvinceCode,Weight)]
+Indexes2<-Indexes2[,RealPriceIndex:=(RealPriceIndex1+RealPriceIndex2)/2]
+Indexes<-Indexes2[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+Indexes35<-Indexes[,.(ProvinceCode,RealPriceIndex1,RealPriceIndex2,RealPriceIndex)]
+Indexes<-Indexes[,.(ProvinceCode,RealPriceIndex)]
+CBN[,RealPriceIndex:=NULL]
+CBN<-merge(CBN,Indexes,by=c("ProvinceCode"),all.x = TRUE)
+CBN<-CBN[,Total_Food_Month_Per2:=FoodExpenditure_Per*RealPriceIndex]
+CBN<-CBN[,Total_Exp_Month_Per2:=Total_Exp_Month_Per_nondurable*RealPriceIndex]
+#utils::View(CBN)
+
+
+#Sort Expenditure data
+CBN<- CBN[order(Total_Exp_Month_Per2)]
+
+#Calculate cumulative weights
+sum(CBN$Weight)
+CBN$cumweight <- cumsum(CBN$Weight)
+tx <- max(CBN$cumweight)
+
+#Calculate deciles by weights
+CBN[,Decile:=cut(cumweight,breaks = seq(0,tx,tx/10),labels = 1:10)]
+CBN[,Percentile:=cut(cumweight,breaks=seq(0,tx,tx/100),labels=1:100)]
+
+#Update Poors
+CBN[,Poor:=ifelse(Decile %in% 2:4,1,0)]
+CBNPoor<-CBN[Poor==1]
+CBNPoor<-merge(CBNPoor,dt2,by=c("ProvinceCode"),all.x = TRUE)
+CBNPoor[,sum(HIndivNo),by=.(ProvinceCode)][order(ProvinceCode)]
+
+###Iteration1-6
+#Calculate Per_calories in clusters
+CBNPoor[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(185:200)][]
+#utils::View(CBNPoor)
+
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(202:217)][]
+
+CBNPoor[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor<-CBNPoor[Per_Daily_Exp_Calories!=0]
+CBNPoor[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+#CBN[,weighted.mean(Poor,Weight),by=cluster][order(cluster)]
+
+#Real Prices
+T_Bundle_Value<-subset(CBNPoor, ProvinceCode==2301, select=c(Bundle_Value,Home_Per_Metr,Weight))
+Tehran_Bundle_Value1<-weighted.mean(T_Bundle_Value$Bundle_Value,T_Bundle_Value$Weight,na.rm = TRUE)
+Tehran_Bundle_Value2<-weighted.mean(T_Bundle_Value$Home_Per_Metr,T_Bundle_Value$Weight,na.rm = TRUE)
+CBNPoor[,RealPriceIndex1:=weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/Tehran_Bundle_Value1,by=ProvinceCode]
+CBNPoor[,RealPriceIndex2:=weighted.mean(Home_Per_Metr,Weight,na.rm = TRUE)/Tehran_Bundle_Value2,by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex1,Weight),by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex2,Weight),by=ProvinceCode]
+Indexes2<-CBNPoor[,.(RealPriceIndex1,RealPriceIndex2,ProvinceCode,Weight)]
+Indexes2<-Indexes2[,RealPriceIndex:=(RealPriceIndex1+RealPriceIndex2)/2]
+Indexes<-Indexes2[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+Indexes36<-Indexes[,.(ProvinceCode,RealPriceIndex1,RealPriceIndex2,RealPriceIndex)]
+Indexes<-Indexes[,.(ProvinceCode,RealPriceIndex)]
+CBN[,RealPriceIndex:=NULL]
+CBN<-merge(CBN,Indexes,by=c("ProvinceCode"),all.x = TRUE)
+CBN<-CBN[,Total_Food_Month_Per2:=FoodExpenditure_Per*RealPriceIndex]
+CBN<-CBN[,Total_Exp_Month_Per2:=Total_Exp_Month_Per_nondurable*RealPriceIndex]
+#utils::View(CBN)
+
+
+#Sort Expenditure data
+CBN<- CBN[order(Total_Exp_Month_Per2)]
+
+#Calculate cumulative weights
+sum(CBN$Weight)
+CBN$cumweight <- cumsum(CBN$Weight)
+tx <- max(CBN$cumweight)
+
+#Calculate deciles by weights
+CBN[,Decile:=cut(cumweight,breaks = seq(0,tx,tx/10),labels = 1:10)]
+CBN[,Percentile:=cut(cumweight,breaks=seq(0,tx,tx/100),labels=1:100)]
+
+#Update Poors
+CBN[,Poor:=ifelse(Decile %in% 2:4,1,0)]
+CBNPoor<-CBN[Poor==1]
+CBNPoor<-merge(CBNPoor,dt2,by=c("ProvinceCode"),all.x = TRUE)
+CBNPoor[,sum(HIndivNo),by=.(ProvinceCode)][order(ProvinceCode)]
+
+###Iteration1-7
+#Calculate Per_calories in clusters
+CBNPoor[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(185:200)][]
+#utils::View(CBNPoor)
+
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(202:217)][]
+
+CBNPoor[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor<-CBNPoor[Per_Daily_Exp_Calories!=0]
+CBNPoor[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+#CBN[,weighted.mean(Poor,Weight),by=cluster][order(cluster)]
+
+#Real Prices
+T_Bundle_Value<-subset(CBNPoor, ProvinceCode==2301, select=c(Bundle_Value,Home_Per_Metr,Weight))
+Tehran_Bundle_Value1<-weighted.mean(T_Bundle_Value$Bundle_Value,T_Bundle_Value$Weight,na.rm = TRUE)
+Tehran_Bundle_Value2<-weighted.mean(T_Bundle_Value$Home_Per_Metr,T_Bundle_Value$Weight,na.rm = TRUE)
+CBNPoor[,RealPriceIndex1:=weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/Tehran_Bundle_Value1,by=ProvinceCode]
+CBNPoor[,RealPriceIndex2:=weighted.mean(Home_Per_Metr,Weight,na.rm = TRUE)/Tehran_Bundle_Value2,by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex1,Weight),by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex2,Weight),by=ProvinceCode]
+Indexes2<-CBNPoor[,.(RealPriceIndex1,RealPriceIndex2,ProvinceCode,Weight)]
+Indexes2<-Indexes2[,RealPriceIndex:=(RealPriceIndex1+RealPriceIndex2)/2]
+Indexes<-Indexes2[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+Indexes37<-Indexes[,.(ProvinceCode,RealPriceIndex1,RealPriceIndex2,RealPriceIndex)]
+Indexes<-Indexes[,.(ProvinceCode,RealPriceIndex)]
+CBN[,RealPriceIndex:=NULL]
+CBN<-merge(CBN,Indexes,by=c("ProvinceCode"),all.x = TRUE)
+CBN<-CBN[,Total_Food_Month_Per2:=FoodExpenditure_Per*RealPriceIndex]
+CBN<-CBN[,Total_Exp_Month_Per2:=Total_Exp_Month_Per_nondurable*RealPriceIndex]
+#utils::View(CBN)
+
+
+#Sort Expenditure data
+CBN<- CBN[order(Total_Exp_Month_Per2)]
+
+#Calculate cumulative weights
+sum(CBN$Weight)
+CBN$cumweight <- cumsum(CBN$Weight)
+tx <- max(CBN$cumweight)
+
+#Calculate deciles by weights
+CBN[,Decile:=cut(cumweight,breaks = seq(0,tx,tx/10),labels = 1:10)]
+CBN[,Percentile:=cut(cumweight,breaks=seq(0,tx,tx/100),labels=1:100)]
+
+#Update Poors
+CBN[,Poor:=ifelse(Decile %in% 2:4,1,0)]
+CBNPoor<-CBN[Poor==1]
+CBNPoor<-merge(CBNPoor,dt2,by=c("ProvinceCode"),all.x = TRUE)
+CBNPoor[,sum(HIndivNo),by=.(ProvinceCode)][order(ProvinceCode)]
+
+###Iteration1-8
+#Calculate Per_calories in clusters
+CBNPoor[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(185:200)][]
+#utils::View(CBNPoor)
+
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(202:217)][]
+
+CBNPoor[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor<-CBNPoor[Per_Daily_Exp_Calories!=0]
+CBNPoor[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+#CBN[,weighted.mean(Poor,Weight),by=cluster][order(cluster)]
+
+#Real Prices
+T_Bundle_Value<-subset(CBNPoor, ProvinceCode==2301, select=c(Bundle_Value,Home_Per_Metr,Weight))
+Tehran_Bundle_Value1<-weighted.mean(T_Bundle_Value$Bundle_Value,T_Bundle_Value$Weight,na.rm = TRUE)
+Tehran_Bundle_Value2<-weighted.mean(T_Bundle_Value$Home_Per_Metr,T_Bundle_Value$Weight,na.rm = TRUE)
+CBNPoor[,RealPriceIndex1:=weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/Tehran_Bundle_Value1,by=ProvinceCode]
+CBNPoor[,RealPriceIndex2:=weighted.mean(Home_Per_Metr,Weight,na.rm = TRUE)/Tehran_Bundle_Value2,by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex1,Weight),by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex2,Weight),by=ProvinceCode]
+Indexes2<-CBNPoor[,.(RealPriceIndex1,RealPriceIndex2,ProvinceCode,Weight)]
+Indexes2<-Indexes2[,RealPriceIndex:=(RealPriceIndex1+RealPriceIndex2)/2]
+Indexes<-Indexes2[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+Indexes38<-Indexes[,.(ProvinceCode,RealPriceIndex1,RealPriceIndex2,RealPriceIndex)]
+Indexes<-Indexes[,.(ProvinceCode,RealPriceIndex)]
+CBN[,RealPriceIndex:=NULL]
+CBN<-merge(CBN,Indexes,by=c("ProvinceCode"),all.x = TRUE)
+CBN<-CBN[,Total_Food_Month_Per2:=FoodExpenditure_Per*RealPriceIndex]
+CBN<-CBN[,Total_Exp_Month_Per2:=Total_Exp_Month_Per_nondurable*RealPriceIndex]
+#utils::View(CBN)
+
+
+#Sort Expenditure data
+CBN<- CBN[order(Total_Exp_Month_Per2)]
+
+#Calculate cumulative weights
+sum(CBN$Weight)
+CBN$cumweight <- cumsum(CBN$Weight)
+tx <- max(CBN$cumweight)
+
+#Calculate deciles by weights
+CBN[,Decile:=cut(cumweight,breaks = seq(0,tx,tx/10),labels = 1:10)]
+CBN[,Percentile:=cut(cumweight,breaks=seq(0,tx,tx/100),labels=1:100)]
+
+#Update Poors
+CBN[,Poor:=ifelse(Decile %in% 2:4,1,0)]
+CBNPoor<-CBN[Poor==1]
+CBNPoor<-merge(CBNPoor,dt2,by=c("ProvinceCode"),all.x = TRUE)
+CBNPoor[,sum(HIndivNo),by=.(ProvinceCode)][order(ProvinceCode)]
+
+###Iteration1-9
+#Calculate Per_calories in clusters
+CBNPoor[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(185:200)][]
+#utils::View(CBNPoor)
+
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(202:217)][]
+
+CBNPoor[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor<-CBNPoor[Per_Daily_Exp_Calories!=0]
+CBNPoor[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+#CBN[,weighted.mean(Poor,Weight),by=cluster][order(cluster)]
+
+#Real Prices
+T_Bundle_Value<-subset(CBNPoor, ProvinceCode==2301, select=c(Bundle_Value,Home_Per_Metr,Weight))
+Tehran_Bundle_Value1<-weighted.mean(T_Bundle_Value$Bundle_Value,T_Bundle_Value$Weight,na.rm = TRUE)
+Tehran_Bundle_Value2<-weighted.mean(T_Bundle_Value$Home_Per_Metr,T_Bundle_Value$Weight,na.rm = TRUE)
+CBNPoor[,RealPriceIndex1:=weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/Tehran_Bundle_Value1,by=ProvinceCode]
+CBNPoor[,RealPriceIndex2:=weighted.mean(Home_Per_Metr,Weight,na.rm = TRUE)/Tehran_Bundle_Value2,by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex1,Weight),by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex2,Weight),by=ProvinceCode]
+Indexes2<-CBNPoor[,.(RealPriceIndex1,RealPriceIndex2,ProvinceCode,Weight)]
+Indexes2<-Indexes2[,RealPriceIndex:=(RealPriceIndex1+RealPriceIndex2)/2]
+Indexes<-Indexes2[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+Indexes39<-Indexes[,.(ProvinceCode,RealPriceIndex1,RealPriceIndex2,RealPriceIndex)]
+Indexes<-Indexes[,.(ProvinceCode,RealPriceIndex)]
+CBN[,RealPriceIndex:=NULL]
+CBN<-merge(CBN,Indexes,by=c("ProvinceCode"),all.x = TRUE)
+CBN<-CBN[,Total_Food_Month_Per2:=FoodExpenditure_Per*RealPriceIndex]
+CBN<-CBN[,Total_Exp_Month_Per2:=Total_Exp_Month_Per_nondurable*RealPriceIndex]
+#utils::View(CBN)
+
+
+#Sort Expenditure data
+CBN<- CBN[order(Total_Exp_Month_Per2)]
+
+#Calculate cumulative weights
+sum(CBN$Weight)
+CBN$cumweight <- cumsum(CBN$Weight)
+tx <- max(CBN$cumweight)
+
+#Calculate deciles by weights
+CBN[,Decile:=cut(cumweight,breaks = seq(0,tx,tx/10),labels = 1:10)]
+CBN[,Percentile:=cut(cumweight,breaks=seq(0,tx,tx/100),labels=1:100)]
+
+#Update Poors
+CBN[,Poor:=ifelse(Decile %in% 2:4,1,0)]
+CBNPoor<-CBN[Poor==1]
+CBNPoor<-merge(CBNPoor,dt2,by=c("ProvinceCode"),all.x = TRUE)
+CBNPoor[,sum(HIndivNo),by=.(ProvinceCode)][order(ProvinceCode)]
+
+###Iteration1-10
+#Calculate Per_calories in clusters
+CBNPoor[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(185:200)][]
+#utils::View(CBNPoor)
+
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(202:217)][]
+
+CBNPoor[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor<-CBNPoor[Per_Daily_Exp_Calories!=0]
+CBNPoor[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+#CBN[,weighted.mean(Poor,Weight),by=cluster][order(cluster)]
+
+#Real Prices
+T_Bundle_Value<-subset(CBNPoor, ProvinceCode==2301, select=c(Bundle_Value,Home_Per_Metr,Weight))
+Tehran_Bundle_Value1<-weighted.mean(T_Bundle_Value$Bundle_Value,T_Bundle_Value$Weight,na.rm = TRUE)
+Tehran_Bundle_Value2<-weighted.mean(T_Bundle_Value$Home_Per_Metr,T_Bundle_Value$Weight,na.rm = TRUE)
+CBNPoor[,RealPriceIndex1:=weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/Tehran_Bundle_Value1,by=ProvinceCode]
+CBNPoor[,RealPriceIndex2:=weighted.mean(Home_Per_Metr,Weight,na.rm = TRUE)/Tehran_Bundle_Value2,by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex1,Weight),by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex2,Weight),by=ProvinceCode]
+Indexes2<-CBNPoor[,.(RealPriceIndex1,RealPriceIndex2,ProvinceCode,Weight)]
+Indexes2<-Indexes2[,RealPriceIndex:=(RealPriceIndex1+RealPriceIndex2)/2]
+Indexes<-Indexes2[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+Indexes310<-Indexes[,.(ProvinceCode,RealPriceIndex1,RealPriceIndex2,RealPriceIndex)]
+Indexes<-Indexes[,.(ProvinceCode,RealPriceIndex)]
+CBN[,RealPriceIndex:=NULL]
+CBN<-merge(CBN,Indexes,by=c("ProvinceCode"),all.x = TRUE)
+CBN<-CBN[,Total_Food_Month_Per2:=FoodExpenditure_Per*RealPriceIndex]
+CBN<-CBN[,Total_Exp_Month_Per2:=Total_Exp_Month_Per_nondurable*RealPriceIndex]
+#utils::View(CBN)
+
+
+#Sort Expenditure data
+CBN<- CBN[order(Total_Exp_Month_Per2)]
+
+#Calculate cumulative weights
+sum(CBN$Weight)
+CBN$cumweight <- cumsum(CBN$Weight)
+tx <- max(CBN$cumweight)
+
+#Calculate deciles by weights
+CBN[,Decile:=cut(cumweight,breaks = seq(0,tx,tx/10),labels = 1:10)]
+CBN[,Percentile:=cut(cumweight,breaks=seq(0,tx,tx/100),labels=1:100)]
+
+#Update Poors
+CBN[,Poor:=ifelse(Decile %in% 2:4,1,0)]
+CBNPoor<-CBN[Poor==1]
+CBNPoor<-merge(CBNPoor,dt2,by=c("ProvinceCode"),all.x = TRUE)
+CBNPoor[,sum(HIndivNo),by=.(ProvinceCode)][order(ProvinceCode)]
+
+
+#Calculate Per_calories in clusters
+CBNPoor[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(189:204)][]
+#utils::View(CBNPoor)
+
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(206:221)][]
+
+CBNPoor[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor<-CBNPoor[Per_Daily_Exp_Calories!=0]
+CBNPoor[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNCalory<-CBNPoor[,.(Per_Daily_Calories,Per_Daily_Exp_Calories,Per_Calory_Resturant,Resturant_Exp,cluster,ProvinceCode)]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+
+
+#Calculations
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_day,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,sum(Size*Weight),by=cluster][order(cluster)]
+
+
+#Food Poverty Line for each cluster
+#cluster 1
+CBNPoorCluster<-CBNPoor[cluster==1]
+Food_Povertyline1_1<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 2
+CBNPoorCluster<-CBNPoor[cluster==2]
+Food_Povertyline2_1<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 3
+CBNPoorCluster<-CBNPoor[cluster==3]
+Food_Povertyline3_1<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 4
+CBNPoorCluster<-CBNPoor[cluster==4]
+Food_Povertyline4_1<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+
+#ee<-CBNPoor[,.(Total_Exp_Month_Real,Total_Exp_Month,Total_Food_Month_Per2,Total_Exp_Month_Per_nondurable,Total_Exp_Month_nondurable_Real_Per,FoodExpenditure_Per,cluster)]
+#mean(ee[,Total_Food_Month_Per2==Total_Exp_Month_nondurable_Real])
+#mean(ee[,Total_Food_Month_Per2<3500000])
+#ee<- ee[order(Total_Food_Month_Per2)]
+#utils::View(CBN)
+CBN<-merge(CBN,dt2,by=c("ProvinceCode"),all.x = TRUE)
+#for (col in c("Total_Food_Month_Per2")) CBN[is.na(get(col)), (col) := Total_Exp_Month_Per_nondurable]
+c<-CBN[,.(FoodExpenditure_Per,FoodExpenditure_Per_total,Total_Exp_Month_Per_nondurable,Total_Exp_Month,Total_Food_Month_Per2,Poor,Decile,Weight,cluster)]
+
+#########Iteration 2###############
+#Sort Expenditure data
+CBN<- CBN[order(Total_Food_Month_Per2)]
+c<- c[order(Total_Food_Month_Per2)]
+
+#Indicate new poors
+CBN[,Poor2:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_1 & cluster==1,1,0)]
+c[,Poor2:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_1 & cluster==1 ,1,0)]
+CBN[,Poor2:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_1 & cluster==2,1,Poor2)]
+c[,Poor2:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_1 & cluster==2 ,1,Poor2)]
+CBN[,Poor2:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_1 & cluster==3,1,Poor2)]
+c[,Poor2:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_1 & cluster==3 ,1,Poor2)]
+CBN[,Poor2:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_1 & cluster==4,1,Poor2)]
+c[,Poor2:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_1 & cluster==4 ,1,Poor2)]
+CBN[,weighted.mean(Poor2,Weight),by=cluster][order(cluster)]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2<-CBN[Poor2==1]
+
+
+#CalculatePer_calories in clusters
+CBNPoor2[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(190:205)][]
+#utils::View(CBNPoor2)
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor2[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(207:222)][]
+
+CBNPoor2[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor2[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor2[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor2[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2<-CBNPoor2[Per_Daily_Exp_Calories!=0]
+CBNPoor2[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor2[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor2[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor2[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor2[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor2[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+
+
+
+#Calculations
+CBNPoor2[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,weighted.mean(FoodExpenditure_Per_day,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+
+
+
+#Food Poverty Line for each cluster
+#cluster 1
+CBNPoorCluster<-CBNPoor2[cluster==1]
+Food_Povertyline1_2<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 2
+CBNPoorCluster<-CBNPoor2[cluster==2]
+Food_Povertyline2_2<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 3
+CBNPoorCluster<-CBNPoor2[cluster==3]
+Food_Povertyline3_2<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 4
+CBNPoorCluster<-CBNPoor2[cluster==4]
+Food_Povertyline4_2<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#ee<-CBNPoor[,.(Total_Exp_Month_Real,Total_Exp_Month,Total_Food_Month_Per2,Total_Exp_Month_Per_nondurable,Total_Exp_Month_nondurable_Real_Per,FoodExpenditure_Per,cluster)]
+#mean(ee[,Total_Food_Month_Per2==Total_Exp_Month_nondurable_Real])
+#mean(ee[,Total_Food_Month_Per2<3500000])
+#ee<- ee[order(Total_Food_Month_Per2)]
+#utils::View(CBN)
+#for (col in c("Total_Food_Month_Per2")) CBN[is.na(get(col)), (col) := Total_Exp_Month_Per_nondurable]
+c<-CBN[,.(FoodExpenditure_Per,FoodExpenditure_Per_total,Total_Exp_Month_Per_nondurable,Total_Exp_Month,Total_Food_Month_Per2,Poor,Decile,Weight,cluster)]
+
+
+#########Iteration 3###############
+#Sort Expenditure data
+CBN<- CBN[order(Total_Food_Month_Per2)]
+c<- c[order(Total_Food_Month_Per2)]
+
+#Indicate new poors
+CBN[,Poor3:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_2 & cluster==1,1,0)]
+c[,Poor3:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_2 & cluster==1 ,1,0)]
+CBN[,Poor3:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_2 & cluster==2,1,Poor3)]
+c[,Poor3:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_2 & cluster==2 ,1,Poor3)]
+CBN[,Poor3:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_2 & cluster==3,1,Poor3)]
+c[,Poor3:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_2 & cluster==3 ,1,Poor3)]
+CBN[,Poor3:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_2 & cluster==4,1,Poor3)]
+c[,Poor3:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_2 & cluster==4 ,1,Poor3)]
+CBN[,weighted.mean(Poor3,Weight),by=cluster][order(cluster)]
+CBNPoor2[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3<-CBN[Poor3==1]
+
+
+
+#CalculatePer_calories in clusters
+CBNPoor3[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(191:206)][]
+#utils::View(CBNPoor3)
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor3[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(208:223)][]
+
+
+CBNPoor3[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor3[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor3[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor3[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3<-CBNPoor3[Per_Daily_Exp_Calories!=0]
+CBNPoor3[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor3[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+
+#sum of total food expenditures
+CBNPoor3[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor3[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor3[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor3[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+
+
+#Calculations
+CBNPoor3[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,weighted.mean(FoodExpenditure_Per_day,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+
+
+
+#Food Poverty Line for each cluster
+#cluster 1
+CBNPoorCluster<-CBNPoor3[cluster==1]
+Food_Povertyline1_3<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 2
+CBNPoorCluster<-CBNPoor3[cluster==2]
+Food_Povertyline2_3<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 3
+CBNPoorCluster<-CBNPoor3[cluster==3]
+Food_Povertyline3_3<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 4
+CBNPoorCluster<-CBNPoor3[cluster==4]
+Food_Povertyline4_3<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#ee<-CBNPoor[,.(Total_Exp_Month_Real,Total_Exp_Month,Total_Food_Month_Per2,Total_Exp_Month_Per_nondurable,Total_Exp_Month_nondurable_Real_Per,FoodExpenditure_Per,cluster)]
+#mean(ee[,Total_Food_Month_Per2==Total_Exp_Month_nondurable_Real])
+#mean(ee[,Total_Food_Month_Per2<3500000])
+#ee<- ee[order(Total_Food_Month_Per2)]
+#utils::View(CBN)
+#for (col in c("Total_Food_Month_Per2")) CBN[is.na(get(col)), (col) := Total_Exp_Month_Per_nondurable]
+c<-CBN[,.(FoodExpenditure_Per,FoodExpenditure_Per_total,Total_Exp_Month_Per_nondurable,Total_Exp_Month,Total_Food_Month_Per2,Poor,Decile,Weight,cluster)]
+
+
+#########Iteration 4###############
+#Sort Expenditure data
+CBN<- CBN[order(Total_Food_Month_Per2)]
+c<- c[order(Total_Food_Month_Per2)]
+
+#Indicate new poors
+CBN[,Poor4:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_3 & cluster==1,1,0)]
+c[,Poor4:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_3 & cluster==1 ,1,0)]
+CBN[,Poor4:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_3 & cluster==2,1,Poor4)]
+c[,Poor4:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_3 & cluster==2 ,1,Poor4)]
+CBN[,Poor4:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_3 & cluster==3,1,Poor4)]
+c[,Poor4:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_3 & cluster==3 ,1,Poor4)]
+CBN[,Poor4:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_3 & cluster==4,1,Poor4)]
+c[,Poor4:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_3 & cluster==4 ,1,Poor4)]
+CBN[,weighted.mean(Poor4,Weight),by=cluster][order(cluster)]
+CBNPoor3[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4<-CBN[Poor4==1]
+
+#CalculatePer_calories in clusters
+CBNPoor4[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(191:206)][]
+#utils::View(CBNPoor4)
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor4[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(208:223)][]
+
+
+CBNPoor4[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor4[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor4[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor4[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4<-CBNPoor4[Per_Daily_Exp_Calories!=0]
+CBNPoor4[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor4[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+
+#sum of total food expenditures
+CBNPoor4[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor4[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor4[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor4[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+
+
+#Calculations
+CBNPoor4[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,weighted.mean(FoodExpenditure_Per_day,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+
+
+
+#Food Poverty Line for each cluster
+#cluster 1
+CBNPoorCluster<-CBNPoor4[cluster==1]
+Food_Povertyline1_4<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 2
+CBNPoorCluster<-CBNPoor4[cluster==2]
+Food_Povertyline2_4<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 3
+CBNPoorCluster<-CBNPoor4[cluster==3]
+Food_Povertyline3_4<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 4
+CBNPoorCluster<-CBNPoor4[cluster==4]
+Food_Povertyline4_4<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#ee<-CBNPoor[,.(Total_Exp_Month_Real,Total_Exp_Month,Total_Food_Month_Per2,Total_Exp_Month_Per_nondurable,Total_Exp_Month_nondurable_Real_Per,FoodExpenditure_Per,cluster)]
+#mean(ee[,Total_Food_Month_Per2==Total_Exp_Month_nondurable_Real])
+#mean(ee[,Total_Food_Month_Per2<3500000])
+#ee<- ee[order(Total_Food_Month_Per2)]
+#utils::View(CBN)
+#for (col in c("Total_Food_Month_Per2")) CBN[is.na(get(col)), (col) := Total_Exp_Month_Per_nondurable]
+c<-CBN[,.(FoodExpenditure_Per,FoodExpenditure_Per_total,Total_Exp_Month_Per_nondurable,Total_Exp_Month,Total_Food_Month_Per2,Poor,Decile,Weight,cluster)]
+
+
+#########Iteration 5###############
+#Sort Expenditure data
+CBN<- CBN[order(Total_Food_Month_Per2)]
+c<- c[order(Total_Food_Month_Per2)]
+
+#Indicate new poors
+CBN[,Poor5:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_4 & cluster==1,1,0)]
+c[,Poor5:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_4 & cluster==1 ,1,0)]
+CBN[,Poor5:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_4 & cluster==2,1,Poor5)]
+c[,Poor5:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_4 & cluster==2 ,1,Poor5)]
+CBN[,Poor5:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_4 & cluster==3,1,Poor5)]
+c[,Poor5:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_4 & cluster==3 ,1,Poor5)]
+CBN[,Poor5:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_4 & cluster==4,1,Poor5)]
+c[,Poor5:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_4 & cluster==4 ,1,Poor5)]
+CBN[,weighted.mean(Poor5,Weight),by=cluster][order(cluster)]
+CBNPoor4[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5<-CBN[Poor5==1]
+
+#CalculatePer_calories in clusters
+CBNPoor5[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(191:206)][]
+#utils::View(CBNPoor5)
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor5[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(208:223)][]
+
+
+CBNPoor5[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor5[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor5[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor5[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5<-CBNPoor5[Per_Daily_Exp_Calories!=0]
+CBNPoor5[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor5[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+
+#sum of total food expenditures
+CBNPoor5[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor5[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor5[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor5[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+
+
+#Calculations
+CBNPoor5[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,weighted.mean(FoodExpenditure_Per_day,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+
+
+
+#Food Poverty Line for each cluster
+#cluster 1
+CBNPoorCluster<-CBNPoor5[cluster==1]
+Food_Povertyline1_5<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 2
+CBNPoorCluster<-CBNPoor5[cluster==2]
+Food_Povertyline2_5<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 3
+CBNPoorCluster<-CBNPoor5[cluster==3]
+Food_Povertyline3_5<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 4
+CBNPoorCluster<-CBNPoor5[cluster==4]
+Food_Povertyline4_5<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#ee<-CBNPoor[,.(Total_Exp_Month_Real,Total_Exp_Month,Total_Food_Month_Per2,Total_Exp_Month_Per_nondurable,Total_Exp_Month_nondurable_Real_Per,FoodExpenditure_Per,cluster)]
+#mean(ee[,Total_Food_Month_Per2==Total_Exp_Month_nondurable_Real])
+#mean(ee[,Total_Food_Month_Per2<3500000])
+#ee<- ee[order(Total_Food_Month_Per2)]
+#utils::View(CBN)
+#for (col in c("Total_Food_Month_Per2")) CBN[is.na(get(col)), (col) := Total_Exp_Month_Per_nondurable]
+c<-CBN[,.(FoodExpenditure_Per,FoodExpenditure_Per_total,Total_Exp_Month_Per_nondurable,Total_Exp_Month,Total_Food_Month_Per2,Poor,Decile,Weight,cluster)]
+
+
+#########Iteration 6###############
+#Sort Expenditure data
+CBN<- CBN[order(Total_Food_Month_Per2)]
+c<- c[order(Total_Food_Month_Per2)]
+
+#Indicate new poors
+CBN[,Poor6:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_5 & cluster==1,1,0)]
+c[,Poor6:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_5 & cluster==1 ,1,0)]
+CBN[,Poor6:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_5 & cluster==2,1,Poor6)]
+c[,Poor6:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_5 & cluster==2 ,1,Poor6)]
+CBN[,Poor6:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_5 & cluster==3,1,Poor6)]
+c[,Poor6:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_5 & cluster==3 ,1,Poor6)]
+CBN[,Poor6:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_5 & cluster==4,1,Poor6)]
+c[,Poor6:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_5 & cluster==4 ,1,Poor6)]
+CBN[,weighted.mean(Poor6,Weight),by=cluster][order(cluster)]
+CBNPoor5[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6<-CBN[Poor6==1]
+
+#CalculatePer_calories in clusters
+CBNPoor6[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(191:206)][]
+#utils::View(CBNPoor6)
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor6[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(208:223)][]
+
+
+CBNPoor6[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor6[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor6[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor6[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6<-CBNPoor6[Per_Daily_Exp_Calories!=0]
+CBNPoor6[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor6[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+
+#sum of total food expenditures
+CBNPoor6[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor6[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor6[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor6[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+
+
+#Calculations
+CBNPoor6[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,weighted.mean(FoodExpenditure_Per_day,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+
+
+#Food Poverty Line for each cluster
+#cluster 1
+CBNPoorCluster<-CBNPoor6[cluster==1]
+Food_Povertyline1_6<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 2
+CBNPoorCluster<-CBNPoor6[cluster==2]
+Food_Povertyline2_6<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 3
+CBNPoorCluster<-CBNPoor6[cluster==3]
+Food_Povertyline3_6<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 4
+CBNPoorCluster<-CBNPoor6[cluster==4]
+Food_Povertyline4_6<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#ee<-CBNPoor[,.(Total_Exp_Month_Real,Total_Exp_Month,Total_Food_Month_Per2,Total_Exp_Month_Per_nondurable,Total_Exp_Month_nondurable_Real_Per,FoodExpenditure_Per,cluster)]
+#mean(ee[,Total_Food_Month_Per2==Total_Exp_Month_nondurable_Real])
+#mean(ee[,Total_Food_Month_Per2<3500000])
+#ee<- ee[order(Total_Food_Month_Per2)]
+#utils::View(CBN)
+#for (col in c("Total_Food_Month_Per2")) CBN[is.na(get(col)), (col) := Total_Exp_Month_Per_nondurable]
+c<-CBN[,.(FoodExpenditure_Per,FoodExpenditure_Per_total,Total_Exp_Month_Per_nondurable,Total_Exp_Month,Total_Food_Month_Per2,Poor,Decile,Weight,cluster)]
+
+
+#########Iteration 7###############
+#Sort Expenditure data
+CBN<- CBN[order(Total_Food_Month_Per2)]
+c<- c[order(Total_Food_Month_Per2)]
+
+#Indicate new poors
+CBN[,Poor7:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_6 & cluster==1,1,0)]
+c[,Poor7:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_6 & cluster==1 ,1,0)]
+CBN[,Poor7:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_6 & cluster==2,1,Poor7)]
+c[,Poor7:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_6 & cluster==2 ,1,Poor7)]
+CBN[,Poor7:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_6 & cluster==3,1,Poor7)]
+c[,Poor7:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_6 & cluster==3 ,1,Poor7)]
+CBN[,Poor7:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_6 & cluster==4,1,Poor7)]
+c[,Poor7:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_6 & cluster==4 ,1,Poor7)]
+CBN[,weighted.mean(Poor7,Weight),by=cluster][order(cluster)]
+CBNPoor6[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7<-CBN[Poor7==1]
+
+#CalculatePer_calories in clusters
+CBNPoor7[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(191:206)][]
+#utils::View(CBNPoor7)
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor7[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(208:223)][]
+
+
+CBNPoor7[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor7[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor7[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor7[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7<-CBNPoor7[Per_Daily_Exp_Calories!=0]
+CBNPoor7[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor7[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+
+#sum of total food expenditures
+CBNPoor7[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor7[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor7[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor7[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+
+
+#Calculations
+CBNPoor7[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,weighted.mean(FoodExpenditure_Per_day,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+
+
+
+#Food Poverty Line for each cluster
+#cluster 1
+CBNPoorCluster<-CBNPoor7[cluster==1]
+Food_Povertyline1_7<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 2
+CBNPoorCluster<-CBNPoor7[cluster==2]
+Food_Povertyline2_7<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 3
+CBNPoorCluster<-CBNPoor7[cluster==3]
+Food_Povertyline3_7<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 4
+CBNPoorCluster<-CBNPoor7[cluster==4]
+Food_Povertyline4_7<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#ee<-CBNPoor[,.(Total_Exp_Month_Real,Total_Exp_Month,Total_Food_Month_Per2,Total_Exp_Month_Per_nondurable,Total_Exp_Month_nondurable_Real_Per,FoodExpenditure_Per,cluster)]
+#mean(ee[,Total_Food_Month_Per2==Total_Exp_Month_nondurable_Real])
+#mean(ee[,Total_Food_Month_Per2<3500000])
+#ee<- ee[order(Total_Food_Month_Per2)]
+#utils::View(CBN)
+#for (col in c("Total_Food_Month_Per2")) CBN[is.na(get(col)), (col) := Total_Exp_Month_Per_nondurable]
+c<-CBN[,.(FoodExpenditure_Per,FoodExpenditure_Per_total,Total_Exp_Month_Per_nondurable,Total_Exp_Month,Total_Food_Month_Per2,Poor,Decile,Weight,cluster)]
+
+
+#########Iteration 8###############
+#Sort Expenditure data
+CBN<- CBN[order(Total_Food_Month_Per2)]
+c<- c[order(Total_Food_Month_Per2)]
+
+#Indicate new poors
+CBN[,Poor8:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_7 & cluster==1,1,0)]
+c[,Poor8:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_7 & cluster==1 ,1,0)]
+CBN[,Poor8:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_7 & cluster==2,1,Poor8)]
+c[,Poor8:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_7 & cluster==2 ,1,Poor8)]
+CBN[,Poor8:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_7 & cluster==3,1,Poor8)]
+c[,Poor8:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_7 & cluster==3 ,1,Poor8)]
+CBN[,Poor8:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_7 & cluster==4,1,Poor8)]
+c[,Poor8:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_7 & cluster==4 ,1,Poor8)]
+CBN[,weighted.mean(Poor8,Weight),by=cluster][order(cluster)]
+CBNPoor7[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8<-CBN[Poor8==1]
+
+
+#CalculatePer_calories in clusters
+CBNPoor8[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(191:206)][]
+#utils::View(CBNPoor8)
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor8[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(208:223)][]
+
+
+CBNPoor8[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor8[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor8[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor8[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8<-CBNPoor8[Per_Daily_Exp_Calories!=0]
+CBNPoor8[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor8[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+
+#sum of total food expenditures
+CBNPoor8[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor8[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor8[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor8[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+
+
+#Calculations
+CBNPoor8[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,weighted.mean(FoodExpenditure_Per_day,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+
+
+
+#Food Poverty Line for each cluster
+#cluster 1
+CBNPoorCluster<-CBNPoor8[cluster==1]
+Food_Povertyline1_8<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 2
+CBNPoorCluster<-CBNPoor8[cluster==2]
+Food_Povertyline2_8<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 3
+CBNPoorCluster<-CBNPoor8[cluster==3]
+Food_Povertyline3_8<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 4
+CBNPoorCluster<-CBNPoor8[cluster==4]
+Food_Povertyline4_8<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#ee<-CBNPoor[,.(Total_Exp_Month_Real,Total_Exp_Month,Total_Food_Month_Per2,Total_Exp_Month_Per_nondurable,Total_Exp_Month_nondurable_Real_Per,FoodExpenditure_Per,cluster)]
+#mean(ee[,Total_Food_Month_Per2==Total_Exp_Month_nondurable_Real])
+#mean(ee[,Total_Food_Month_Per2<3500000])
+#ee<- ee[order(Total_Food_Month_Per2)]
+#utils::View(CBN)
+#for (col in c("Total_Food_Month_Per2")) CBN[is.na(get(col)), (col) := Total_Exp_Month_Per_nondurable]
+c<-CBN[,.(FoodExpenditure_Per,FoodExpenditure_Per_total,Total_Exp_Month_Per_nondurable,Total_Exp_Month,Total_Food_Month_Per2,Poor,Decile,Weight,cluster)]
+
+
+#########Iteration 9###############
+#Sort Expenditure data
+CBN<- CBN[order(Total_Food_Month_Per2)]
+c<- c[order(Total_Food_Month_Per2)]
+
+#Indicate new poors
+CBN[,Poor9:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_8 & cluster==1,1,0)]
+c[,Poor9:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_8 & cluster==1 ,1,0)]
+CBN[,Poor9:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_8 & cluster==2,1,Poor9)]
+c[,Poor9:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_8 & cluster==2 ,1,Poor9)]
+CBN[,Poor9:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_8 & cluster==3,1,Poor9)]
+c[,Poor9:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_8 & cluster==3 ,1,Poor9)]
+CBN[,Poor9:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_8 & cluster==4,1,Poor9)]
+c[,Poor9:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_8 & cluster==4 ,1,Poor9)]
+CBN[,weighted.mean(Poor9,Weight),by=cluster][order(cluster)]
+CBNPoor8[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9<-CBN[Poor9==1]
+
+
+#CalculatePer_calories in clusters
+CBNPoor9[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(191:206)][]
+#utils::View(CBNPoor9)
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor9[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(208:223)][]
+
+
+CBNPoor9[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor9[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor9[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor9[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9<-CBNPoor9[Per_Daily_Exp_Calories!=0]
+CBNPoor9[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor9[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+
+#sum of total food expenditures
+CBNPoor9[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor9[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor9[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor9[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+
+
+
+#Calculations
+CBNPoor9[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,weighted.mean(FoodExpenditure_Per_day,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+
+
+
+#Food Poverty Line for each cluster
+#cluster 1
+CBNPoorCluster<-CBNPoor9[cluster==1]
+Food_Povertyline1_9<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 2
+CBNPoorCluster<-CBNPoor9[cluster==2]
+Food_Povertyline2_9<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 3
+CBNPoorCluster<-CBNPoor9[cluster==3]
+Food_Povertyline3_9<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 4
+CBNPoorCluster<-CBNPoor9[cluster==4]
+Food_Povertyline4_9<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#ee<-CBNPoor[,.(Total_Exp_Month_Real,Total_Exp_Month,Total_Food_Month_Per2,Total_Exp_Month_Per_nondurable,Total_Exp_Month_nondurable_Real_Per,FoodExpenditure_Per,cluster)]
+#mean(ee[,Total_Food_Month_Per2==Total_Exp_Month_nondurable_Real])
+#mean(ee[,Total_Food_Month_Per2<3500000])
+#ee<- ee[order(Total_Food_Month_Per2)]
+#utils::View(CBN)
+#for (col in c("Total_Food_Month_Per2")) CBN[is.na(get(col)), (col) := Total_Exp_Month_Per_nondurable]
+c<-CBN[,.(FoodExpenditure_Per,FoodExpenditure_Per_total,Total_Exp_Month_Per_nondurable,Total_Exp_Month,Total_Food_Month_Per2,Poor,Decile,Weight,cluster)]
+
+
+#########Iteration 10###############
+#Sort Expenditure data
+CBN<- CBN[order(Total_Food_Month_Per2)]
+c<- c[order(Total_Food_Month_Per2)]
+
+#Indicate new poors
+CBN[,Poor10:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_9 & cluster==1,1,0)]
+c[,Poor10:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_9 & cluster==1 ,1,0)]
+CBN[,Poor10:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_9 & cluster==2,1,Poor10)]
+c[,Poor10:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_9 & cluster==2 ,1,Poor10)]
+CBN[,Poor10:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_9 & cluster==3,1,Poor10)]
+c[,Poor10:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_9 & cluster==3 ,1,Poor10)]
+CBN[,Poor10:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_9 & cluster==4,1,Poor10)]
+c[,Poor10:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_9 & cluster==4 ,1,Poor10)]
+CBN[,weighted.mean(Poor10,Weight),by=cluster][order(cluster)]
+CBNPoor9[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor10<-CBN[Poor10==1]
+
+#Engel
+#CBNPoor9<-CBNPoor9[,ratio1:=FoodExpenditure/Total_Exp_Month]
+#CBNPoor9[,weighted.mean(ratio1,Weight),by=cluster]
+#summary(CBNPoor9$ratio1)
+CBN<-CBN[,ratio1:=FoodExpenditure/Total_Exp_Month]
+CBN[,weighted.mean(ratio1,Weight),by=ProvinceCode][order(ProvinceCode)]
+CBN<-CBN[,ratio2:=ServiceExp/Total_Exp_Month]
+CBN[,weighted.mean(ratio2,Weight),by=ProvinceCode][order(ProvinceCode)]
+
+# Poverty Line for each cluster
+#cluster 1
+CBNPoorCluster<-CBN[cluster==1 & FoodExpenditure_Per<1.1*Food_Povertyline1_9 & FoodExpenditure_Per>0.90*Food_Povertyline1_9]
+Engel1<-weighted.mean(CBNPoorCluster$ratio1,CBNPoorCluster$Weight)
+Engel_Reverse1<-1/Engel1
+Povertyline1_9<-Engel_Reverse1*Food_Povertyline1_9
+
+#cluster 2
+CBNPoorCluster<-CBN[cluster==2 & FoodExpenditure_Per<1.1*Food_Povertyline2_9 & FoodExpenditure_Per>0.90*Food_Povertyline2_9]
+Engel2<-weighted.mean(CBNPoorCluster$ratio1,CBNPoorCluster$Weight)
+Engel_Reverse2<-1/Engel2
+Povertyline2_9<-Engel_Reverse2*Food_Povertyline2_9
+
+#cluster 3
+CBNPoorCluster<-CBN[cluster==3 & FoodExpenditure_Per<1.1*Food_Povertyline3_9 & FoodExpenditure_Per>0.90*Food_Povertyline3_9]
+Engel3<-weighted.mean(CBNPoorCluster$ratio1,CBNPoorCluster$Weight)
+Engel_Reverse3<-1/Engel3
+Povertyline3_9<-Engel_Reverse3*Food_Povertyline3_9
+
+#cluster 4
+CBNPoorCluster<-CBN[cluster==4 & FoodExpenditure_Per<1.1*Food_Povertyline4_9 & FoodExpenditure_Per>0.90*Food_Povertyline4_9]
+Engel4<-weighted.mean(CBNPoorCluster$ratio1,CBNPoorCluster$Weight)
+Engel_Reverse4<-1/Engel4
+Povertyline4_9<-Engel_Reverse4*Food_Povertyline4_9
+
+#Indicate final poors
+CBN<-CBN[,Total_Exp_Month_Per2:=Total_Exp_Month_Per_nondurable*RealPriceIndex]
+
+CBN[,Poor11:=ifelse(Total_Exp_Month_Per_nondurable < Povertyline1_9 & cluster==1,1,0)]
+CBN[,Poor11:=ifelse(Total_Exp_Month_Per_nondurable < Povertyline2_9 & cluster==2,1,Poor11)]
+CBN[,Poor11:=ifelse(Total_Exp_Month_Per_nondurable < Povertyline3_9 & cluster==3,1,Poor11)]
+CBN[,Poor11:=ifelse(Total_Exp_Month_Per_nondurable < Povertyline4_9 & cluster==4,1,Poor11)]
+CBN[,weighted.mean(Poor11,Weight),by=cluster][order(cluster)]
+CBNPoor9[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor11<-CBN[Poor11==1]
+
+CBN[,sum(Size*Weight),by=cluster][order(cluster)]
+CBNPoor9[,sum(Size*Weight),by=cluster][order(cluster)]
+CBNPoor9[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBN[,weighted.mean(Poor11,Weight)]
+CBN[,weighted.mean(Poor11,Weight),by=cluster][order(cluster)]
+CBN[,weighted.mean(Poor11,Weight),by=ProvinceCode][order(ProvinceCode)]
+endtime <- proc.time()
+
+cat("\n\n============================\nIt took ")
+cat(endtime-starttime)
+
diff --git a/R/Archive/Other Codes/60-CBN86-Urban.R b/R/Archive/Other Codes/60-CBN86-Urban.R
new file mode 100644
index 00000000..2e609468
--- /dev/null
+++ b/R/Archive/Other Codes/60-CBN86-Urban.R
@@ -0,0 +1,2878 @@
+#CBN Method-Urban.R
+#
+# Copyright © 2018:Arin Shahbazian
+# Licence: GPL-3
+#
+rm(list=ls())
+
+starttime <- proc.time()
+cat("\n\n================ Prepare Data =====================================\n")
+
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+library(readxl)
+library(stringr)
+library(data.table)
+
+#for(year in (Settings$startyear:Settings$endyear)){
+# cat(paste0("\n------------------------------\nYear:",year,"\n"))
+
+load(file=paste0(Settings$HEISProcessedPath,"Y","86","HHBase.rda"))
+HHBase[,IndivNo:=NULL]
+HHBase[,Relationship:=NULL]
+HHBase[,Sex:=NULL]
+HHBase[,Age:=NULL]
+HHBase[,Literate:=NULL]
+HHBase[,Student:=NULL]
+HHBase[,EduCode:=NULL]
+HHBase[,EduYears:=NULL]
+HHBase[,EduLevel:=NULL]
+HHBase[,EduLevel0:=NULL]
+HHBase[,ActivityState:=NULL]
+HHBase[,MarritalState:=NULL]
+load(file=paste0(Settings$HEISProcessedPath,"Y","86","Ghand_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","86","Hoboobat_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","86","Roghan_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","86","Berenj_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","86","Nan_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","86","Goosht_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","86","Morgh_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","86","Mahi_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","86","Shir_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","86","Mast_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","86","Panir_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","86","Tokhmemorgh_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","86","Mive_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","86","Sabzi_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","86","Makarooni_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","86","Sibzamini_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","86","Weights.rda"))
+
+Ghand_Data<-Ghand_Data[,.(HHID,Ghandgram,GhandPrice)]
+Hoboobat_Data<-Hoboobat_Data[,.(HHID,Hoboobatgram,HoboobatPrice)]
+Roghan_Data<-Roghan_Data[,.(HHID,Roghangram,RoghanPrice)]
+Berenj_Data<-Berenj_Data[,.(HHID,Berenjgram,BerenjPrice)]
+Nan_Data<-Nan_Data[,.(HHID,Nangram,NanPrice)]
+Goosht_Data<-Goosht_Data[,.(HHID,Gooshtgram,GooshtPrice)]
+Morgh_Data<-Morgh_Data[,.(HHID,Morghgram,MorghPrice)]
+Mahi_Data<-Mahi_Data[,.(HHID,Mahigram,MahiPrice)]
+Shir_Data<-Shir_Data[,.(HHID,Shirgram,ShirPrice)]
+Mast_Data<-Mast_Data[,.(HHID,Mastgram,MastPrice)]
+Panir_Data<-Panir_Data[,.(HHID,Panirgram,PanirPrice)]
+Tokhmemorgh_Data<-Tokhmemorgh_Data[,.(HHID,Tokhmemorghgram,TokhmemorghPrice)]
+Mive_Data<-Mive_Data[,.(HHID,Mivegram,MivePrice)]
+Sabzi_Data<-Sabzi_Data[,.(HHID,Sabzigram,SabziPrice)]
+Makarooni_Data<-Makarooni_Data[,.(HHID,Makaroonigram,MakarooniPrice)]
+Sibzamini_Data<-Sibzamini_Data[,.(HHID,Sibzaminigram,SibzaminiPrice)]
+
+Food<-merge(HHBase,Ghand_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Ghandgram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Hoboobat_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Hoboobatgram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Roghan_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Roghangram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Berenj_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Berenjgram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Nan_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Nangram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Goosht_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Gooshtgram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Morgh_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Morghgram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Mahi_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Mahigram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Shir_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Shirgram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Mast_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Mastgram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Panir_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Panirgram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Tokhmemorgh_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Tokhmemorghgram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Mive_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Mivegram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Sabzi_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Sabzigram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Makarooni_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Makaroonigram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Sibzamini_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Sibzaminigram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Weights,by =c("HHID"),all.x=TRUE)
+
+
+
+#load Expenditure groups
+load(file=paste0(Settings$HEISProcessedPath,"Y","86","HHBase.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","86","HHI.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","86","Foods.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","86","Cigars.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","86","Cloths.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","86","Amusements.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","86","Communications.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","86","Durables.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","86","Education.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","86","Energy.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","86","Furnitures.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","86","Hotels.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","86","House.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","86","Medicals.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","86","Behdashts.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","86","Transportations.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","86","Others.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","86","Investments.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","86","Resturants.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","86","Weights.rda"))
+
+#merge Expenditure groups
+CBN<-merge(Food,HHI ,by =c("HHID"),all=TRUE)
+CBN<-merge(CBN,FoodData,by =c("HHID"),all=TRUE)
+for (col in c("FoodExpenditure")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,CigarData,by =c("HHID"),all=TRUE)
+for (col in c("Cigar_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,ClothData,by =c("HHID"),all=TRUE)
+for (col in c("Cloth_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,AmusementData,by =c("HHID"),all=TRUE)
+for (col in c("Amusement_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,CommunicationData,by =c("HHID"),all=TRUE)
+for (col in c("Communication_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,EducData,by =c("HHID"),all=TRUE)
+for (col in c("EducExpenditure")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,EnergyData,by =c("HHID"),all=TRUE)
+for (col in c("Energy_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,FurnitureData,by =c("HHID"),all=TRUE)
+for (col in c("Furniture_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,HotelData,by =c("HHID"),all=TRUE)
+for (col in c("Hotel_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,BehdashtData,by =c("HHID"),all=TRUE)
+for (col in c("Behdasht_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,TransportationData,by =c("HHID"),all=TRUE)
+for (col in c("Transportation_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,OtherData,by =c("HHID"),all=TRUE)
+for (col in c("Other_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,HouseData,by =c("HHID"),all=TRUE)
+for (col in c("ServiceExp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,InvestmentData,by =c("HHID"),all=TRUE)
+for (col in c("Investment_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,MedicalData,by =c("HHID"),all=TRUE)
+for (col in c("Medical_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,DurableData,by =c("HHID"),all=TRUE)
+for (col in c("Durable_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,ResturantData,by =c("HHID"),all=TRUE)
+for (col in c("Resturant_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-CBN[Size!=0]
+CBN<-CBN[Region=="Urban"]
+CBN<-CBN[FoodExpenditure!=0]
+
+
+#Calculate Per_Total Expenditures Monthly
+CBN[, Total_Exp_Month := Reduce(`+`, .SD), .SDcols=c(65:77,82:83)][]
+CBN[, Total_Exp_Month_nondurable := Reduce(`+`, .SD), .SDcols=65:77][]
+
+CBN$Total_Exp_Month_Per<-CBN$Total_Exp_Month/CBN$EqSizeOECD
+CBN$Total_Exp_Month_Per_nondurable<-CBN$Total_Exp_Month_nondurable/CBN$EqSizeOECD
+
+#Calculate Per_Food Expenditures Monthly
+CBN[,EqSizeCalory :=(Size-NKids) + NKids*(1800/2100)]
+CBN$FoodExpenditure_Per<-CBN$FoodExpenditure/CBN$EqSizeCalory
+
+#Calculate Per_Food Expenditures Daily
+CBN$FoodExpenditure_Per_day<-CBN$FoodExpenditure_Per/30
+
+CBN$Ghandgram_Per_day<-CBN$Ghandgram/(30*CBN$EqSizeOECD)
+CBN$Hoboobatgram_Per_day<-CBN$Hoboobatgram/(30*CBN$EqSizeOECD)
+CBN$Berenjgram_Per_day<-CBN$Berenjgram/(30*CBN$EqSizeOECD)
+CBN$Nangram_Per_day<-CBN$Nangram/(30*CBN$EqSizeOECD)
+CBN$Roghangram_Per_day<-CBN$Roghangram/(30*CBN$EqSizeOECD)
+CBN$Gooshtgram_Per_day<-CBN$Gooshtgram/(30*CBN$EqSizeOECD)
+CBN$Morghgram_Per_day<-CBN$Morghgram/(30*CBN$EqSizeOECD)
+CBN$Mahigram_Per_day<-CBN$Mahigram/(30*CBN$EqSizeOECD)
+CBN$Shirgram_Per_day<-CBN$Shirgram/(30*CBN$EqSizeOECD)
+CBN$Mastgram_Per_day<-CBN$Mastgram/(30*CBN$EqSizeOECD)
+CBN$Panirgram_Per_day<-CBN$Panirgram/(30*CBN$EqSizeOECD)
+CBN$Tokhmemorghgram_Per_day<-CBN$Tokhmemorghgram/(30*CBN$EqSizeOECD)
+CBN$Mivegram_Per_day<-CBN$Mivegram/(30*CBN$EqSizeOECD)
+CBN$Sabzigram_Per_day<-CBN$Sabzigram/(30*CBN$EqSizeOECD)
+CBN$Makaroonigram_Per_day<-CBN$Makaroonigram/(30*CBN$EqSizeOECD)
+CBN$Sibzaminigram_Per_day<-CBN$Sibzaminigram/(30*CBN$EqSizeOECD)
+CBN[,EqSizeCalory:=NULL]
+
+load(file="PriceIndex95.rda")
+CBN<-merge(CBN,PriceIndex95,by=c("ProvinceCode"),all.x = TRUE)
+CBN[,ostan:=NULL]
+load(file="PriceIndex.rda")
+CBN<-merge(CBN,PriceIndex,by=c("ProvinceCode"),all.x = TRUE)
+
+#Sort Expenditure data
+CBN<- CBN[order(Total_Exp_Month_Per_nondurable)]
+
+#Calculate cumulative weights
+sum(CBN$Weight)
+CBN$cumweight <- cumsum(CBN$Weight)
+tx <- max(CBN$cumweight)
+
+#Calculate deciles by weights
+CBN[,Decile:=cut(cumweight,breaks = seq(0,tx,tx/10),labels = 1:10)]
+CBN[,Percentile:=cut(cumweight,breaks=seq(0,tx,tx/100),labels=1:100)]
+
+
+CBN$Ghand_W<-CBN$Ghandgram_Per_day*CBN$GhandPrice*0.001*30
+CBN$Hoboobat_W<-CBN$Hoboobatgram_Per_day*CBN$HoboobatPrice*0.001*30
+CBN$Roghan_W<-CBN$Roghangram_Per_day*CBN$RoghanPrice*0.001*30
+CBN$Berenj_W<-CBN$Berenjgram_Per_day*CBN$BerenjPrice*0.001*30
+CBN$Nan_W<-CBN$Nangram_Per_day*CBN$NanPrice*0.001*30
+CBN$Goosht_W<-CBN$Gooshtgram_Per_day*CBN$GooshtPrice*0.001*30
+CBN$Morgh_W<-CBN$Morghgram_Per_day*CBN$MorghPrice*0.001*30
+CBN$Mahi_W<-CBN$Mahigram_Per_day*CBN$MahiPrice*0.001*30
+CBN$Shir_W<-CBN$Shirgram_Per_day*CBN$ShirPrice*0.001*30
+CBN$Mast_W<-CBN$Mastgram_Per_day*CBN$MastPrice*0.001*30
+CBN$Panir_W<-CBN$Panirgram_Per_day*CBN$PanirPrice*0.001*30
+CBN$Tokhmemorgh_W<-CBN$Tokhmemorghgram_Per_day*CBN$TokhmemorghPrice*0.001*30
+CBN$Mive_W<-CBN$Mivegram_Per_day*CBN$MivePrice*0.001*30
+CBN$Sabzi_W<-CBN$Sabzigram_Per_day*CBN$SabziPrice*0.001*30
+CBN$Makarooni_W<-CBN$Makaroonigram_Per_day*CBN$MakarooniPrice*0.001*30
+CBN$Sibzamini_W<-CBN$Sibzaminigram_Per_day*CBN$SibzaminiPrice*0.001*30
+CBN$Home_W<-CBN$ServiceExp/CBN$EqSizeOECD
+CBN$Home_Per_Metr<-CBN$MetrPrice/CBN$EqSizeOECD
+
+#Seperate big cities
+CBN[,sum(Weight*Size),by=ProvinceCode][order(V1)]
+CBN[,HHIDs:=as.character(HHID)]
+CBN[,ShahrestanCode:=as.integer(str_sub(HHIDs,2,5))]
+CBN[,sum(Weight*Size),by=ShahrestanCode][order(V1)]
+CBNTehran<-CBN[ProvinceCode==23]
+CBNTehran[,sum(Weight*Size),by=ShahrestanCode]
+CBNTabriz<-CBN[ProvinceCode==3]
+CBNTabriz[,sum(Weight*Size),by=ShahrestanCode]
+CBNAhvaz<-CBN[ProvinceCode==6]
+CBNAhvaz[,sum(Weight*Size),by=ShahrestanCode]
+CBNShiraz<-CBN[ProvinceCode==7]
+CBNShiraz[,sum(Weight*Size),by=ShahrestanCode]
+CBNMashhad<-CBN[ProvinceCode==9]
+CBNMashhad[,sum(Weight*Size),by=ShahrestanCode]
+CBNEsfahan<-CBN[ProvinceCode==10]
+CBNEsfahan[,sum(Weight*Size),by=ShahrestanCode]
+CBNKaraj<-CBN[ProvinceCode==30]
+CBNKaraj[,sum(Weight*Size),by=ShahrestanCode]
+CBNKermanshah<-CBN[ProvinceCode==5]
+CBNKermanshah[,sum(Weight*Size),by=ShahrestanCode]
+
+
+CBN<-CBN[ShahrestanCode==2301,ProvinceCode:=as.numeric(ShahrestanCode)]
+CBN<-CBN[ShahrestanCode==303,ProvinceCode:=as.numeric(ShahrestanCode)]
+CBN<-CBN[ShahrestanCode==603,ProvinceCode:=as.numeric(ShahrestanCode)]
+CBN<-CBN[ShahrestanCode==707,ProvinceCode:=as.numeric(ShahrestanCode)]
+CBN<-CBN[ShahrestanCode==916,ProvinceCode:=as.numeric(ShahrestanCode)]
+CBN<-CBN[ShahrestanCode==1002,ProvinceCode:=as.numeric(ShahrestanCode)]
+CBN<-CBN[ShahrestanCode==3001,ProvinceCode:=as.numeric(ShahrestanCode)]
+CBN<-CBN[ShahrestanCode==2301,ProvinceCode:=as.numeric(ShahrestanCode)]
+CBN<-CBN[ShahrestanCode==502,ProvinceCode:=as.numeric(ShahrestanCode)]
+
+# Food Calories
+CBN$Ghand_Calory<- CBN$Ghandgram *4
+CBN$Hoboobat_Calory<- CBN$Hoboobatgram *3
+CBN$Nan_Calory<- CBN$Nangram *2.5
+CBN$Berenj_Calory<- CBN$Berenjgram *1.2
+CBN$Roghan_Calory<- CBN$Roghangram *8
+CBN$Goosht_Calory<- CBN$Gooshtgram *2.5
+CBN$Morgh_Calory<- CBN$Morghgram *2
+CBN$Mahi_Calory<- CBN$Mahigram *1
+CBN$Shir_Calory<- CBN$Shirgram *2.5
+CBN$Mast_Calory<- CBN$Mastgram *1.5
+CBN$Panir_Calory<- CBN$Mastgram *2.5
+CBN$Tokhmemorgh_Calory<- CBN$Tokhmemorghgram *1.4
+CBN$Mive_Calory<- CBN$Mivegram *0.5
+CBN$Sabzi_Calory<- CBN$Sabzigram *0.5
+CBN$Makarooni_Calory<- CBN$Makaroonigram *3.6
+CBN$Sibzamini_Calory<- CBN$Sibzaminigram *0.9
+#utils::View(CBN)
+
+#CalculatePer_calories
+CBN[, Daily_Exp_Calories := Reduce(`+`, .SD), .SDcols=148:163][]
+CBN[,EqSizeCalory :=(Size-NKids) + NKids*(1800/2100)]
+CBN[,Per_Daily_Exp_Calories:=Daily_Exp_Calories/EqSizeCalory]
+CBN <- CBN[Per_Daily_Exp_Calories<100000] # arbitrary removal of outliers
+#CBN[,Daily_Calories_cluster:=weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+#CBN[,weighted.mean(Daily_Calories_cluster,Weight,na.rm = TRUE),by=cluster]
+#CBN[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+#CBN[,weighted.mean(Size,Weight,na.rm = TRUE),by=cluster]
+#CBN[,sum(Weight*Size),by=cluster]
+#CBN[,sum(Weight),by=cluster]
+#CBN[,sum(Poor),by=cluster]
+
+
+#Calculate_Per_calories
+CBN$Ghand_per_Calory<- CBN$Ghandgram *4/CBN$EqSizeCalory
+CBN$Hoboobat_per_Calory<- CBN$Hoboobatgram *3/CBN$EqSizeCalory
+CBN$Nan_per_Calory<- CBN$Nangram *2.5/CBN$EqSizeCalory
+CBN$Berenj_per_Calory<- CBN$Berenjgram *1.2/CBN$EqSizeCalory
+CBN$Roghan_per_Calory<- CBN$Roghangram *8/CBN$EqSizeCalory
+CBN$Goosht_per_Calory<- CBN$Gooshtgram *2.5/CBN$EqSizeCalory
+CBN$Morgh_per_Calory<- CBN$Morghgram *2/CBN$EqSizeCalory
+CBN$Mahi_per_Calory<- CBN$Mahigram *1/CBN$EqSizeCalory
+CBN$Shir_per_Calory<- CBN$Shirgram *2.5/CBN$EqSizeCalory
+CBN$Mast_per_Calory<- CBN$Mastgram *1.5/CBN$EqSizeCalory
+CBN$Panir_per_Calory<- CBN$Mastgram *2.5/CBN$EqSizeCalory
+CBN$Tokhmemorgh_per_Calory<- CBN$Tokhmemorghgram *1.4/CBN$EqSizeCalory
+CBN$Mive_per_Calory<- CBN$Mivegram *0.5/CBN$EqSizeCalory
+CBN$Sabzi_per_Calory<- CBN$Sabzigram *0.5/CBN$EqSizeCalory
+CBN$Makarooni_per_Calory<- CBN$Makaroonigram *3.6/CBN$EqSizeCalory
+CBN$Sibzamini_per_Calory<- CBN$Sibzaminigram *0.9/CBN$EqSizeCalory
+
+
+#Assume that deciles 1 and 2 are poor
+CBN[,Poor:=ifelse(Decile %in% 2:2,1,0)]
+CBNPoor<-CBN[Poor==1]
+
+#K-means weights
+PriceWeights<-CBN[,.(HHID,Ghand_W,Hoboobat_W,Roghan_W,Berenj_W,Nan_W,Goosht_W,Morgh_W,Mahi_W,Shir_W,Mast_W,Panir_W,Tokhmemorgh_W,Mive_W,Sabzi_W,Makarooni_W,Sibzamini_W,Home_W,ProvinceCode,Weight)]
+dt3 <- PriceWeights[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+dt3<- dt3[order(ProvinceCode)]
+dt3 <- dt3[,.(Ghand_W,Hoboobat_W,Roghan_W,Berenj_W,Nan_W,Goosht_W,Morgh_W,Mahi_W,Shir_W,Mast_W,Panir_W,Tokhmemorgh_W,Mive_W,Sabzi_W,Makarooni_W,Sibzamini_W,Home_W)]
+
+
+#K-means algorithm for clustering by prices
+test<-CBNPoor[,.(GhandPrice,HoboobatPrice,RoghanPrice,BerenjPrice,NanPrice,GooshtPrice,MorghPrice,MahiPrice,ShirPrice,MastPrice,PanirPrice,TokhmemorghPrice,MivePrice,SabziPrice,MakarooniPrice,SibzaminiPrice,MetrPrice,ProvinceCode,Weight)]
+#test<-CBNPoor[,.(GhandPrice,HoboobatPrice,RoghanPrice,BerenjPrice,NanPrice,GooshtPrice,MorghPrice,MahiPrice,ShirPrice,MastPrice,PanirPrice,TokhmemorghPrice,MivePrice,SabziPrice,MakarooniPrice,SibzaminiPrice,MetrPrice,Ghand_W,Hoboobat_W,Roghan_W,Berenj_W,Nan_W,Goosht_W,Morgh_W,Mahi_W,Shir_W,Mast_W,Panir_W,Tokhmemorgh_W,Mive_W,Sabzi_W,Makarooni_W,Sibzamini_W,Home_W,Region,ProvinceCode,Weight)]
+dt2 <- test[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+dt2<- dt2[order(ProvinceCode)]
+for (col in c("MahiPrice")) dt2[is.nan(get(col)), (col) := 200000]
+dt <- dt2 [,.(GhandPrice,HoboobatPrice,RoghanPrice,BerenjPrice,NanPrice,GooshtPrice,MorghPrice,MahiPrice,ShirPrice,MastPrice,PanirPrice,TokhmemorghPrice,MivePrice,SabziPrice,MakarooniPrice,SibzaminiPrice,MetrPrice)]
+
+
+pca <- princomp(dt, cor=T)
+PRICE <- pca$scores
+PRICE1 <- -1*PRICE[,1]
+PRICE2 <- -1*PRICE[,2]
+PRICE3 <- -1*PRICE[,3]
+PRICE4 <- -1*PRICE[,4]
+PRICE5 <- -1*PRICE[,5]
+PRICE6 <- -1*PRICE[,6]
+PRICE7 <- -1*PRICE[,7]
+PRICE8 <- -1*PRICE[,8]
+PRICE9 <- -1*PRICE[,9]
+PRICE10 <- -1*PRICE[,10]
+PRICE11 <- -1*PRICE[,11]
+PRICE12 <- -1*PRICE[,12]
+PRICE13 <- -1*PRICE[,13]
+PRICE14 <- -1*PRICE[,14]
+PRICE15 <- -1*PRICE[,15]
+PRICE16 <- -1*PRICE[,16]
+PRICE17 <- -1*PRICE[,17]
+
+# Deciding how many clusters
+wss <- (nrow(dt)-1)*sum(apply(dt,2,var))
+for (i in 2:30) wss[i] <- sum(kmeans(dt, centers=i)$withinss)
+plot(1:30, wss, type="b", xlab="Number of Clusters",
+ ylab="Within groups sum of squares")
+
+#Weighted clustering
+
+dt3.m <- dt3[,lapply(.SD, mean)] # Weights for each vector
+dtW <- dt * sqrt(dt3.m[rep(1,nrow(dt))]) # Weighted observations
+kmeans(dtW,4) # Simple K-means
+
+cl <- kmeans(dtW,4)
+cl$cluster
+dt2 <- dt2[,cluster:=data.table(cl$cluster)]
+dt2<-dt2[,.(ProvinceCode,cluster)]
+load(file="dt4Urban.rda")
+#plot(PRICE1, PRICE2,col=cl$cluster)
+#points(cl$centers, pch=20)
+CBNPoor<-merge(CBNPoor,dt2,by=c("ProvinceCode"),all.x = TRUE)
+CBNPoor[,sum(Weight*Size),by=cluster]
+CBNPoor[,sum(Weight),by=cluster]
+CBNPoor[,sum(Poor),by=cluster]
+C2<-CBNPoor[,.(HHID,ProvinceCode,Region,Decile,Poor,cluster)]
+######################################################################
+####Iteration 1#####
+###Iteration1-1
+#Calculate Per_calories in clusters
+CBNPoor[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(185:200)][]
+#utils::View(CBNPoor)
+
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(202:217)][]
+
+CBNPoor[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor<-CBNPoor[Per_Daily_Exp_Calories!=0]
+CBNPoor[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+#CBN[,weighted.mean(Poor,Weight),by=cluster][order(cluster)]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE)]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE)]
+
+#Real Prices
+T_Bundle_Value<-subset(CBNPoor, ProvinceCode==2301, select=c(Bundle_Value,Home_Per_Metr,Weight))
+Tehran_Bundle_Value1<-weighted.mean(T_Bundle_Value$Bundle_Value,T_Bundle_Value$Weight,na.rm = TRUE)
+Tehran_Bundle_Value2<-weighted.mean(T_Bundle_Value$Home_Per_Metr,T_Bundle_Value$Weight,na.rm = TRUE)
+CBNPoor[,RealPriceIndex1:=weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/Tehran_Bundle_Value1,by=ProvinceCode]
+CBNPoor[,RealPriceIndex2:=weighted.mean(Home_Per_Metr,Weight,na.rm = TRUE)/Tehran_Bundle_Value2,by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex1,Weight),by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex2,Weight),by=ProvinceCode]
+Indexes2<-CBNPoor[,.(RealPriceIndex1,RealPriceIndex2,ProvinceCode,Weight)]
+Indexes2<-Indexes2[,RealPriceIndex:=(RealPriceIndex1+RealPriceIndex2)/2]
+Indexes<-Indexes2[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+Indexes31<-Indexes[,.(ProvinceCode,RealPriceIndex1,RealPriceIndex2,RealPriceIndex)]
+Indexes<-Indexes[,.(ProvinceCode,RealPriceIndex)]
+CBN<-merge(CBN,Indexes,by=c("ProvinceCode"),all.x = TRUE)
+CBN<-CBN[,Total_Food_Month_Per2:=FoodExpenditure_Per*RealPriceIndex]
+CBN<-CBN[,Total_Exp_Month_Per2:=Total_Exp_Month_Per_nondurable*RealPriceIndex]
+#utils::View(CBN)
+
+#Sort Expenditure data
+CBN<- CBN[order(Total_Exp_Month_Per2)]
+
+#Calculate cumulative weights
+sum(CBN$Weight)
+CBN$cumweight <- cumsum(CBN$Weight)
+tx <- max(CBN$cumweight)
+
+#Calculate deciles by weights
+CBN[,Decile:=cut(cumweight,breaks = seq(0,tx,tx/10),labels = 1:10)]
+CBN[,Percentile:=cut(cumweight,breaks=seq(0,tx,tx/100),labels=1:100)]
+
+#Update Poors
+CBN[,Poor:=ifelse(Decile %in% 2:2,1,0)]
+CBNPoor<-CBN[Poor==1]
+CBNPoor<-merge(CBNPoor,dt2,by=c("ProvinceCode"),all.x = TRUE)
+CBNPoor[,sum(HIndivNo),by=.(ProvinceCode)][order(ProvinceCode)]
+
+###Iteration1-2
+#Calculate Per_calories in clusters
+CBNPoor[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(185:200)][]
+#utils::View(CBNPoor)
+
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(202:217)][]
+
+CBNPoor[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor<-CBNPoor[Per_Daily_Exp_Calories!=0]
+CBNPoor[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+#CBN[,weighted.mean(Poor,Weight),by=cluster][order(cluster)]
+
+#Real Prices
+T_Bundle_Value<-subset(CBNPoor, ProvinceCode==2301, select=c(Bundle_Value,Home_Per_Metr,Weight))
+Tehran_Bundle_Value1<-weighted.mean(T_Bundle_Value$Bundle_Value,T_Bundle_Value$Weight,na.rm = TRUE)
+Tehran_Bundle_Value2<-weighted.mean(T_Bundle_Value$Home_Per_Metr,T_Bundle_Value$Weight,na.rm = TRUE)
+CBNPoor[,RealPriceIndex1:=weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/Tehran_Bundle_Value1,by=ProvinceCode]
+CBNPoor[,RealPriceIndex2:=weighted.mean(Home_Per_Metr,Weight,na.rm = TRUE)/Tehran_Bundle_Value2,by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex1,Weight),by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex2,Weight),by=ProvinceCode]
+Indexes2<-CBNPoor[,.(RealPriceIndex1,RealPriceIndex2,ProvinceCode,Weight)]
+Indexes2<-Indexes2[,RealPriceIndex:=(RealPriceIndex1+RealPriceIndex2)/2]
+Indexes<-Indexes2[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+Indexes32<-Indexes[,.(ProvinceCode,RealPriceIndex1,RealPriceIndex2,RealPriceIndex)]
+Indexes<-Indexes[,.(ProvinceCode,RealPriceIndex)]
+CBN[,RealPriceIndex:=NULL]
+CBN<-merge(CBN,Indexes,by=c("ProvinceCode"),all.x = TRUE)
+CBN<-CBN[,Total_Food_Month_Per2:=FoodExpenditure_Per*RealPriceIndex]
+CBN<-CBN[,Total_Exp_Month_Per2:=Total_Exp_Month_Per_nondurable*RealPriceIndex]
+#utils::View(CBN)
+
+#Sort Expenditure data
+CBN<- CBN[order(Total_Exp_Month_Per2)]
+
+#Calculate cumulative weights
+sum(CBN$Weight)
+CBN$cumweight <- cumsum(CBN$Weight)
+tx <- max(CBN$cumweight)
+
+#Calculate deciles by weights
+CBN[,Decile:=cut(cumweight,breaks = seq(0,tx,tx/10),labels = 1:10)]
+CBN[,Percentile:=cut(cumweight,breaks=seq(0,tx,tx/100),labels=1:100)]
+
+#Update Poors
+CBN[,Poor:=ifelse(Decile %in% 2:2,1,0)]
+CBNPoor<-CBN[Poor==1]
+CBNPoor<-merge(CBNPoor,dt2,by=c("ProvinceCode"),all.x = TRUE)
+CBNPoor[,sum(HIndivNo),by=.(ProvinceCode)][order(ProvinceCode)]
+
+###Iteration1-3
+#Calculate Per_calories in clusters
+CBNPoor[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(185:200)][]
+#utils::View(CBNPoor)
+
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(202:217)][]
+
+CBNPoor[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor<-CBNPoor[Per_Daily_Exp_Calories!=0]
+CBNPoor[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+#CBN[,weighted.mean(Poor,Weight),by=cluster][order(cluster)]
+
+#Real Prices
+T_Bundle_Value<-subset(CBNPoor, ProvinceCode==2301, select=c(Bundle_Value,Home_Per_Metr,Weight))
+Tehran_Bundle_Value1<-weighted.mean(T_Bundle_Value$Bundle_Value,T_Bundle_Value$Weight,na.rm = TRUE)
+Tehran_Bundle_Value2<-weighted.mean(T_Bundle_Value$Home_Per_Metr,T_Bundle_Value$Weight,na.rm = TRUE)
+CBNPoor[,RealPriceIndex1:=weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/Tehran_Bundle_Value1,by=ProvinceCode]
+CBNPoor[,RealPriceIndex2:=weighted.mean(Home_Per_Metr,Weight,na.rm = TRUE)/Tehran_Bundle_Value2,by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex1,Weight),by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex2,Weight),by=ProvinceCode]
+Indexes2<-CBNPoor[,.(RealPriceIndex1,RealPriceIndex2,ProvinceCode,Weight)]
+Indexes2<-Indexes2[,RealPriceIndex:=(RealPriceIndex1+RealPriceIndex2)/2]
+Indexes<-Indexes2[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+Indexes33<-Indexes[,.(ProvinceCode,RealPriceIndex1,RealPriceIndex2,RealPriceIndex)]
+Indexes<-Indexes[,.(ProvinceCode,RealPriceIndex)]
+CBN[,RealPriceIndex:=NULL]
+CBN<-merge(CBN,Indexes,by=c("ProvinceCode"),all.x = TRUE)
+CBN<-CBN[,Total_Food_Month_Per2:=FoodExpenditure_Per*RealPriceIndex]
+CBN<-CBN[,Total_Exp_Month_Per2:=Total_Exp_Month_Per_nondurable*RealPriceIndex]
+#utils::View(CBN)
+
+#Sort Expenditure data
+CBN<- CBN[order(Total_Exp_Month_Per2)]
+
+#Calculate cumulative weights
+sum(CBN$Weight)
+CBN$cumweight <- cumsum(CBN$Weight)
+tx <- max(CBN$cumweight)
+
+#Calculate deciles by weights
+CBN[,Decile:=cut(cumweight,breaks = seq(0,tx,tx/10),labels = 1:10)]
+CBN[,Percentile:=cut(cumweight,breaks=seq(0,tx,tx/100),labels=1:100)]
+
+#Update Poors
+CBN[,Poor:=ifelse(Decile %in% 2:2,1,0)]
+CBNPoor<-CBN[Poor==1]
+CBNPoor<-merge(CBNPoor,dt2,by=c("ProvinceCode"),all.x = TRUE)
+CBNPoor[,sum(HIndivNo),by=.(ProvinceCode)][order(ProvinceCode)]
+
+
+###Iteration1-4
+#Calculate Per_calories in clusters
+CBNPoor[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(185:200)][]
+#utils::View(CBNPoor)
+
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(202:217)][]
+
+CBNPoor[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor<-CBNPoor[Per_Daily_Exp_Calories!=0]
+CBNPoor[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+#CBN[,weighted.mean(Poor,Weight),by=cluster][order(cluster)]
+
+#Real Prices
+T_Bundle_Value<-subset(CBNPoor, ProvinceCode==2301, select=c(Bundle_Value,Home_Per_Metr,Weight))
+Tehran_Bundle_Value1<-weighted.mean(T_Bundle_Value$Bundle_Value,T_Bundle_Value$Weight,na.rm = TRUE)
+Tehran_Bundle_Value2<-weighted.mean(T_Bundle_Value$Home_Per_Metr,T_Bundle_Value$Weight,na.rm = TRUE)
+CBNPoor[,RealPriceIndex1:=weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/Tehran_Bundle_Value1,by=ProvinceCode]
+CBNPoor[,RealPriceIndex2:=weighted.mean(Home_Per_Metr,Weight,na.rm = TRUE)/Tehran_Bundle_Value2,by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex1,Weight),by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex2,Weight),by=ProvinceCode]
+Indexes2<-CBNPoor[,.(RealPriceIndex1,RealPriceIndex2,ProvinceCode,Weight)]
+Indexes2<-Indexes2[,RealPriceIndex:=(RealPriceIndex1+RealPriceIndex2)/2]
+Indexes<-Indexes2[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+Indexes34<-Indexes[,.(ProvinceCode,RealPriceIndex1,RealPriceIndex2,RealPriceIndex)]
+Indexes<-Indexes[,.(ProvinceCode,RealPriceIndex)]
+CBN[,RealPriceIndex:=NULL]
+CBN<-merge(CBN,Indexes,by=c("ProvinceCode"),all.x = TRUE)
+CBN<-CBN[,Total_Food_Month_Per2:=FoodExpenditure_Per*RealPriceIndex]
+CBN<-CBN[,Total_Exp_Month_Per2:=Total_Exp_Month_Per_nondurable*RealPriceIndex]
+#utils::View(CBN)
+
+
+#Sort Expenditure data
+CBN<- CBN[order(Total_Exp_Month_Per2)]
+
+#Calculate cumulative weights
+sum(CBN$Weight)
+CBN$cumweight <- cumsum(CBN$Weight)
+tx <- max(CBN$cumweight)
+
+#Calculate deciles by weights
+CBN[,Decile:=cut(cumweight,breaks = seq(0,tx,tx/10),labels = 1:10)]
+CBN[,Percentile:=cut(cumweight,breaks=seq(0,tx,tx/100),labels=1:100)]
+
+#Update Poors
+CBN[,Poor:=ifelse(Decile %in% 2:2,1,0)]
+CBNPoor<-CBN[Poor==1]
+CBNPoor<-merge(CBNPoor,dt2,by=c("ProvinceCode"),all.x = TRUE)
+CBNPoor[,sum(HIndivNo),by=.(ProvinceCode)][order(ProvinceCode)]
+
+###Iteration1-5
+#Calculate Per_calories in clusters
+CBNPoor[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(185:200)][]
+#utils::View(CBNPoor)
+
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(202:217)][]
+
+CBNPoor[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor<-CBNPoor[Per_Daily_Exp_Calories!=0]
+CBNPoor[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+#CBN[,weighted.mean(Poor,Weight),by=cluster][order(cluster)]
+
+#Real Prices
+T_Bundle_Value<-subset(CBNPoor, ProvinceCode==2301, select=c(Bundle_Value,Home_Per_Metr,Weight))
+Tehran_Bundle_Value1<-weighted.mean(T_Bundle_Value$Bundle_Value,T_Bundle_Value$Weight,na.rm = TRUE)
+Tehran_Bundle_Value2<-weighted.mean(T_Bundle_Value$Home_Per_Metr,T_Bundle_Value$Weight,na.rm = TRUE)
+CBNPoor[,RealPriceIndex1:=weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/Tehran_Bundle_Value1,by=ProvinceCode]
+CBNPoor[,RealPriceIndex2:=weighted.mean(Home_Per_Metr,Weight,na.rm = TRUE)/Tehran_Bundle_Value2,by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex1,Weight),by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex2,Weight),by=ProvinceCode]
+Indexes2<-CBNPoor[,.(RealPriceIndex1,RealPriceIndex2,ProvinceCode,Weight)]
+Indexes2<-Indexes2[,RealPriceIndex:=(RealPriceIndex1+RealPriceIndex2)/2]
+Indexes<-Indexes2[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+Indexes35<-Indexes[,.(ProvinceCode,RealPriceIndex1,RealPriceIndex2,RealPriceIndex)]
+Indexes<-Indexes[,.(ProvinceCode,RealPriceIndex)]
+CBN[,RealPriceIndex:=NULL]
+CBN<-merge(CBN,Indexes,by=c("ProvinceCode"),all.x = TRUE)
+CBN<-CBN[,Total_Food_Month_Per2:=FoodExpenditure_Per*RealPriceIndex]
+CBN<-CBN[,Total_Exp_Month_Per2:=Total_Exp_Month_Per_nondurable*RealPriceIndex]
+#utils::View(CBN)
+
+
+#Sort Expenditure data
+CBN<- CBN[order(Total_Exp_Month_Per2)]
+
+#Calculate cumulative weights
+sum(CBN$Weight)
+CBN$cumweight <- cumsum(CBN$Weight)
+tx <- max(CBN$cumweight)
+
+#Calculate deciles by weights
+CBN[,Decile:=cut(cumweight,breaks = seq(0,tx,tx/10),labels = 1:10)]
+CBN[,Percentile:=cut(cumweight,breaks=seq(0,tx,tx/100),labels=1:100)]
+
+#Update Poors
+CBN[,Poor:=ifelse(Decile %in% 2:2,1,0)]
+CBNPoor<-CBN[Poor==1]
+CBNPoor<-merge(CBNPoor,dt2,by=c("ProvinceCode"),all.x = TRUE)
+CBNPoor[,sum(HIndivNo),by=.(ProvinceCode)][order(ProvinceCode)]
+
+###Iteration1-6
+#Calculate Per_calories in clusters
+CBNPoor[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(185:200)][]
+#utils::View(CBNPoor)
+
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(202:217)][]
+
+CBNPoor[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor<-CBNPoor[Per_Daily_Exp_Calories!=0]
+CBNPoor[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+#CBN[,weighted.mean(Poor,Weight),by=cluster][order(cluster)]
+
+#Real Prices
+T_Bundle_Value<-subset(CBNPoor, ProvinceCode==2301, select=c(Bundle_Value,Home_Per_Metr,Weight))
+Tehran_Bundle_Value1<-weighted.mean(T_Bundle_Value$Bundle_Value,T_Bundle_Value$Weight,na.rm = TRUE)
+Tehran_Bundle_Value2<-weighted.mean(T_Bundle_Value$Home_Per_Metr,T_Bundle_Value$Weight,na.rm = TRUE)
+CBNPoor[,RealPriceIndex1:=weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/Tehran_Bundle_Value1,by=ProvinceCode]
+CBNPoor[,RealPriceIndex2:=weighted.mean(Home_Per_Metr,Weight,na.rm = TRUE)/Tehran_Bundle_Value2,by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex1,Weight),by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex2,Weight),by=ProvinceCode]
+Indexes2<-CBNPoor[,.(RealPriceIndex1,RealPriceIndex2,ProvinceCode,Weight)]
+Indexes2<-Indexes2[,RealPriceIndex:=(RealPriceIndex1+RealPriceIndex2)/2]
+Indexes<-Indexes2[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+Indexes36<-Indexes[,.(ProvinceCode,RealPriceIndex1,RealPriceIndex2,RealPriceIndex)]
+Indexes<-Indexes[,.(ProvinceCode,RealPriceIndex)]
+CBN[,RealPriceIndex:=NULL]
+CBN<-merge(CBN,Indexes,by=c("ProvinceCode"),all.x = TRUE)
+CBN<-CBN[,Total_Food_Month_Per2:=FoodExpenditure_Per*RealPriceIndex]
+CBN<-CBN[,Total_Exp_Month_Per2:=Total_Exp_Month_Per_nondurable*RealPriceIndex]
+#utils::View(CBN)
+
+
+#Sort Expenditure data
+CBN<- CBN[order(Total_Exp_Month_Per2)]
+
+#Calculate cumulative weights
+sum(CBN$Weight)
+CBN$cumweight <- cumsum(CBN$Weight)
+tx <- max(CBN$cumweight)
+
+#Calculate deciles by weights
+CBN[,Decile:=cut(cumweight,breaks = seq(0,tx,tx/10),labels = 1:10)]
+CBN[,Percentile:=cut(cumweight,breaks=seq(0,tx,tx/100),labels=1:100)]
+
+#Update Poors
+CBN[,Poor:=ifelse(Decile %in% 2:2,1,0)]
+CBNPoor<-CBN[Poor==1]
+CBNPoor<-merge(CBNPoor,dt2,by=c("ProvinceCode"),all.x = TRUE)
+CBNPoor[,sum(HIndivNo),by=.(ProvinceCode)][order(ProvinceCode)]
+
+###Iteration1-7
+#Calculate Per_calories in clusters
+CBNPoor[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(185:200)][]
+#utils::View(CBNPoor)
+
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(202:217)][]
+
+CBNPoor[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor<-CBNPoor[Per_Daily_Exp_Calories!=0]
+CBNPoor[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+#CBN[,weighted.mean(Poor,Weight),by=cluster][order(cluster)]
+
+#Real Prices
+T_Bundle_Value<-subset(CBNPoor, ProvinceCode==2301, select=c(Bundle_Value,Home_Per_Metr,Weight))
+Tehran_Bundle_Value1<-weighted.mean(T_Bundle_Value$Bundle_Value,T_Bundle_Value$Weight,na.rm = TRUE)
+Tehran_Bundle_Value2<-weighted.mean(T_Bundle_Value$Home_Per_Metr,T_Bundle_Value$Weight,na.rm = TRUE)
+CBNPoor[,RealPriceIndex1:=weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/Tehran_Bundle_Value1,by=ProvinceCode]
+CBNPoor[,RealPriceIndex2:=weighted.mean(Home_Per_Metr,Weight,na.rm = TRUE)/Tehran_Bundle_Value2,by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex1,Weight),by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex2,Weight),by=ProvinceCode]
+Indexes2<-CBNPoor[,.(RealPriceIndex1,RealPriceIndex2,ProvinceCode,Weight)]
+Indexes2<-Indexes2[,RealPriceIndex:=(RealPriceIndex1+RealPriceIndex2)/2]
+Indexes<-Indexes2[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+Indexes37<-Indexes[,.(ProvinceCode,RealPriceIndex1,RealPriceIndex2,RealPriceIndex)]
+Indexes<-Indexes[,.(ProvinceCode,RealPriceIndex)]
+CBN[,RealPriceIndex:=NULL]
+CBN<-merge(CBN,Indexes,by=c("ProvinceCode"),all.x = TRUE)
+CBN<-CBN[,Total_Food_Month_Per2:=FoodExpenditure_Per*RealPriceIndex]
+CBN<-CBN[,Total_Exp_Month_Per2:=Total_Exp_Month_Per_nondurable*RealPriceIndex]
+#utils::View(CBN)
+
+
+#Sort Expenditure data
+CBN<- CBN[order(Total_Exp_Month_Per2)]
+
+#Calculate cumulative weights
+sum(CBN$Weight)
+CBN$cumweight <- cumsum(CBN$Weight)
+tx <- max(CBN$cumweight)
+
+#Calculate deciles by weights
+CBN[,Decile:=cut(cumweight,breaks = seq(0,tx,tx/10),labels = 1:10)]
+CBN[,Percentile:=cut(cumweight,breaks=seq(0,tx,tx/100),labels=1:100)]
+
+#Update Poors
+CBN[,Poor:=ifelse(Decile %in% 2:2,1,0)]
+CBNPoor<-CBN[Poor==1]
+CBNPoor<-merge(CBNPoor,dt2,by=c("ProvinceCode"),all.x = TRUE)
+CBNPoor[,sum(HIndivNo),by=.(ProvinceCode)][order(ProvinceCode)]
+
+###Iteration1-8
+#Calculate Per_calories in clusters
+CBNPoor[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(185:200)][]
+#utils::View(CBNPoor)
+
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(202:217)][]
+
+CBNPoor[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor<-CBNPoor[Per_Daily_Exp_Calories!=0]
+CBNPoor[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+#CBN[,weighted.mean(Poor,Weight),by=cluster][order(cluster)]
+
+#Real Prices
+T_Bundle_Value<-subset(CBNPoor, ProvinceCode==2301, select=c(Bundle_Value,Home_Per_Metr,Weight))
+Tehran_Bundle_Value1<-weighted.mean(T_Bundle_Value$Bundle_Value,T_Bundle_Value$Weight,na.rm = TRUE)
+Tehran_Bundle_Value2<-weighted.mean(T_Bundle_Value$Home_Per_Metr,T_Bundle_Value$Weight,na.rm = TRUE)
+CBNPoor[,RealPriceIndex1:=weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/Tehran_Bundle_Value1,by=ProvinceCode]
+CBNPoor[,RealPriceIndex2:=weighted.mean(Home_Per_Metr,Weight,na.rm = TRUE)/Tehran_Bundle_Value2,by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex1,Weight),by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex2,Weight),by=ProvinceCode]
+Indexes2<-CBNPoor[,.(RealPriceIndex1,RealPriceIndex2,ProvinceCode,Weight)]
+Indexes2<-Indexes2[,RealPriceIndex:=(RealPriceIndex1+RealPriceIndex2)/2]
+Indexes<-Indexes2[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+Indexes38<-Indexes[,.(ProvinceCode,RealPriceIndex1,RealPriceIndex2,RealPriceIndex)]
+Indexes<-Indexes[,.(ProvinceCode,RealPriceIndex)]
+CBN[,RealPriceIndex:=NULL]
+CBN<-merge(CBN,Indexes,by=c("ProvinceCode"),all.x = TRUE)
+CBN<-CBN[,Total_Food_Month_Per2:=FoodExpenditure_Per*RealPriceIndex]
+CBN<-CBN[,Total_Exp_Month_Per2:=Total_Exp_Month_Per_nondurable*RealPriceIndex]
+#utils::View(CBN)
+
+
+#Sort Expenditure data
+CBN<- CBN[order(Total_Exp_Month_Per2)]
+
+#Calculate cumulative weights
+sum(CBN$Weight)
+CBN$cumweight <- cumsum(CBN$Weight)
+tx <- max(CBN$cumweight)
+
+#Calculate deciles by weights
+CBN[,Decile:=cut(cumweight,breaks = seq(0,tx,tx/10),labels = 1:10)]
+CBN[,Percentile:=cut(cumweight,breaks=seq(0,tx,tx/100),labels=1:100)]
+
+#Update Poors
+CBN[,Poor:=ifelse(Decile %in% 2:2,1,0)]
+CBNPoor<-CBN[Poor==1]
+CBNPoor<-merge(CBNPoor,dt2,by=c("ProvinceCode"),all.x = TRUE)
+CBNPoor[,sum(HIndivNo),by=.(ProvinceCode)][order(ProvinceCode)]
+
+###Iteration1-9
+#Calculate Per_calories in clusters
+CBNPoor[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(185:200)][]
+#utils::View(CBNPoor)
+
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(202:217)][]
+
+CBNPoor[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor<-CBNPoor[Per_Daily_Exp_Calories!=0]
+CBNPoor[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+#CBN[,weighted.mean(Poor,Weight),by=cluster][order(cluster)]
+
+#Real Prices
+T_Bundle_Value<-subset(CBNPoor, ProvinceCode==2301, select=c(Bundle_Value,Home_Per_Metr,Weight))
+Tehran_Bundle_Value1<-weighted.mean(T_Bundle_Value$Bundle_Value,T_Bundle_Value$Weight,na.rm = TRUE)
+Tehran_Bundle_Value2<-weighted.mean(T_Bundle_Value$Home_Per_Metr,T_Bundle_Value$Weight,na.rm = TRUE)
+CBNPoor[,RealPriceIndex1:=weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/Tehran_Bundle_Value1,by=ProvinceCode]
+CBNPoor[,RealPriceIndex2:=weighted.mean(Home_Per_Metr,Weight,na.rm = TRUE)/Tehran_Bundle_Value2,by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex1,Weight),by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex2,Weight),by=ProvinceCode]
+Indexes2<-CBNPoor[,.(RealPriceIndex1,RealPriceIndex2,ProvinceCode,Weight)]
+Indexes2<-Indexes2[,RealPriceIndex:=(RealPriceIndex1+RealPriceIndex2)/2]
+Indexes<-Indexes2[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+Indexes39<-Indexes[,.(ProvinceCode,RealPriceIndex1,RealPriceIndex2,RealPriceIndex)]
+Indexes<-Indexes[,.(ProvinceCode,RealPriceIndex)]
+CBN[,RealPriceIndex:=NULL]
+CBN<-merge(CBN,Indexes,by=c("ProvinceCode"),all.x = TRUE)
+CBN<-CBN[,Total_Food_Month_Per2:=FoodExpenditure_Per*RealPriceIndex]
+CBN<-CBN[,Total_Exp_Month_Per2:=Total_Exp_Month_Per_nondurable*RealPriceIndex]
+#utils::View(CBN)
+
+
+#Sort Expenditure data
+CBN<- CBN[order(Total_Exp_Month_Per2)]
+
+#Calculate cumulative weights
+sum(CBN$Weight)
+CBN$cumweight <- cumsum(CBN$Weight)
+tx <- max(CBN$cumweight)
+
+#Calculate deciles by weights
+CBN[,Decile:=cut(cumweight,breaks = seq(0,tx,tx/10),labels = 1:10)]
+CBN[,Percentile:=cut(cumweight,breaks=seq(0,tx,tx/100),labels=1:100)]
+
+#Update Poors
+CBN[,Poor:=ifelse(Decile %in% 2:2,1,0)]
+CBNPoor<-CBN[Poor==1]
+CBNPoor<-merge(CBNPoor,dt2,by=c("ProvinceCode"),all.x = TRUE)
+CBNPoor[,sum(HIndivNo),by=.(ProvinceCode)][order(ProvinceCode)]
+
+###Iteration1-10
+#Calculate Per_calories in clusters
+CBNPoor[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(185:200)][]
+#utils::View(CBNPoor)
+
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(202:217)][]
+
+CBNPoor[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor<-CBNPoor[Per_Daily_Exp_Calories!=0]
+CBNPoor[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+#CBN[,weighted.mean(Poor,Weight),by=cluster][order(cluster)]
+
+#Real Prices
+T_Bundle_Value<-subset(CBNPoor, ProvinceCode==2301, select=c(Bundle_Value,Home_Per_Metr,Weight))
+Tehran_Bundle_Value1<-weighted.mean(T_Bundle_Value$Bundle_Value,T_Bundle_Value$Weight,na.rm = TRUE)
+Tehran_Bundle_Value2<-weighted.mean(T_Bundle_Value$Home_Per_Metr,T_Bundle_Value$Weight,na.rm = TRUE)
+CBNPoor[,RealPriceIndex1:=weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/Tehran_Bundle_Value1,by=ProvinceCode]
+CBNPoor[,RealPriceIndex2:=weighted.mean(Home_Per_Metr,Weight,na.rm = TRUE)/Tehran_Bundle_Value2,by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex1,Weight),by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex2,Weight),by=ProvinceCode]
+Indexes2<-CBNPoor[,.(RealPriceIndex1,RealPriceIndex2,ProvinceCode,Weight)]
+Indexes2<-Indexes2[,RealPriceIndex:=(RealPriceIndex1+RealPriceIndex2)/2]
+Indexes<-Indexes2[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+Indexes310<-Indexes[,.(ProvinceCode,RealPriceIndex1,RealPriceIndex2,RealPriceIndex)]
+Indexes<-Indexes[,.(ProvinceCode,RealPriceIndex)]
+CBN[,RealPriceIndex:=NULL]
+CBN<-merge(CBN,Indexes,by=c("ProvinceCode"),all.x = TRUE)
+CBN<-CBN[,Total_Food_Month_Per2:=FoodExpenditure_Per*RealPriceIndex]
+CBN<-CBN[,Total_Exp_Month_Per2:=Total_Exp_Month_Per_nondurable*RealPriceIndex]
+#utils::View(CBN)
+
+
+#Sort Expenditure data
+CBN<- CBN[order(Total_Exp_Month_Per2)]
+
+#Calculate cumulative weights
+sum(CBN$Weight)
+CBN$cumweight <- cumsum(CBN$Weight)
+tx <- max(CBN$cumweight)
+
+#Calculate deciles by weights
+CBN[,Decile:=cut(cumweight,breaks = seq(0,tx,tx/10),labels = 1:10)]
+CBN[,Percentile:=cut(cumweight,breaks=seq(0,tx,tx/100),labels=1:100)]
+
+#Update Poors
+CBN[,Poor:=ifelse(Decile %in% 2:2,1,0)]
+CBNPoor<-CBN[Poor==1]
+CBNPoor<-merge(CBNPoor,dt2,by=c("ProvinceCode"),all.x = TRUE)
+CBNPoor[,sum(HIndivNo),by=.(ProvinceCode)][order(ProvinceCode)]
+
+
+#Calculate Per_calories in clusters
+CBNPoor[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(189:204)][]
+#utils::View(CBNPoor)
+
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(206:221)][]
+
+CBNPoor[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor<-CBNPoor[Per_Daily_Exp_Calories!=0]
+CBNPoor[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNCalory<-CBNPoor[,.(Per_Daily_Calories,Per_Daily_Exp_Calories,Per_Calory_Resturant,Resturant_Exp,cluster,ProvinceCode)]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+
+
+#Calculations
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_day,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,sum(Size*Weight),by=cluster][order(cluster)]
+
+
+#Food Poverty Line for each cluster
+#cluster 1
+CBNPoorCluster<-CBNPoor[cluster==1]
+Food_Povertyline1_1<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 2
+CBNPoorCluster<-CBNPoor[cluster==2]
+Food_Povertyline2_1<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 3
+CBNPoorCluster<-CBNPoor[cluster==3]
+Food_Povertyline3_1<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 4
+CBNPoorCluster<-CBNPoor[cluster==4]
+Food_Povertyline4_1<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+
+#ee<-CBNPoor[,.(Total_Exp_Month_Real,Total_Exp_Month,Total_Food_Month_Per2,Total_Exp_Month_Per_nondurable,Total_Exp_Month_nondurable_Real_Per,FoodExpenditure_Per,cluster)]
+#mean(ee[,Total_Food_Month_Per2==Total_Exp_Month_nondurable_Real])
+#mean(ee[,Total_Food_Month_Per2<3500000])
+#ee<- ee[order(Total_Food_Month_Per2)]
+#utils::View(CBN)
+CBN<-merge(CBN,dt2,by=c("ProvinceCode"),all.x = TRUE)
+#for (col in c("Total_Food_Month_Per2")) CBN[is.na(get(col)), (col) := Total_Exp_Month_Per_nondurable]
+c<-CBN[,.(FoodExpenditure_Per,FoodExpenditure_Per_total,Total_Exp_Month_Per_nondurable,Total_Exp_Month,Total_Food_Month_Per2,Poor,Decile,Weight,cluster)]
+
+#########Iteration 2###############
+#Sort Expenditure data
+CBN<- CBN[order(Total_Food_Month_Per2)]
+c<- c[order(Total_Food_Month_Per2)]
+
+#Indicate new poors
+CBN[,Poor2:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_1 & cluster==1,1,0)]
+c[,Poor2:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_1 & cluster==1 ,1,0)]
+CBN[,Poor2:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_1 & cluster==2,1,Poor2)]
+c[,Poor2:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_1 & cluster==2 ,1,Poor2)]
+CBN[,Poor2:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_1 & cluster==3,1,Poor2)]
+c[,Poor2:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_1 & cluster==3 ,1,Poor2)]
+CBN[,Poor2:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_1 & cluster==4,1,Poor2)]
+c[,Poor2:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_1 & cluster==4 ,1,Poor2)]
+CBN[,weighted.mean(Poor2,Weight),by=cluster][order(cluster)]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2<-CBN[Poor2==1]
+
+
+#CalculatePer_calories in clusters
+CBNPoor2[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(190:205)][]
+#utils::View(CBNPoor2)
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor2[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(207:222)][]
+
+CBNPoor2[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor2[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor2[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor2[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2<-CBNPoor2[Per_Daily_Exp_Calories!=0]
+CBNPoor2[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor2[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor2[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor2[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor2[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor2[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+
+
+
+#Calculations
+CBNPoor2[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,weighted.mean(FoodExpenditure_Per_day,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+
+
+
+#Food Poverty Line for each cluster
+#cluster 1
+CBNPoorCluster<-CBNPoor2[cluster==1]
+Food_Povertyline1_2<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 2
+CBNPoorCluster<-CBNPoor2[cluster==2]
+Food_Povertyline2_2<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 3
+CBNPoorCluster<-CBNPoor2[cluster==3]
+Food_Povertyline3_2<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 4
+CBNPoorCluster<-CBNPoor2[cluster==4]
+Food_Povertyline4_2<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#ee<-CBNPoor[,.(Total_Exp_Month_Real,Total_Exp_Month,Total_Food_Month_Per2,Total_Exp_Month_Per_nondurable,Total_Exp_Month_nondurable_Real_Per,FoodExpenditure_Per,cluster)]
+#mean(ee[,Total_Food_Month_Per2==Total_Exp_Month_nondurable_Real])
+#mean(ee[,Total_Food_Month_Per2<3500000])
+#ee<- ee[order(Total_Food_Month_Per2)]
+#utils::View(CBN)
+#for (col in c("Total_Food_Month_Per2")) CBN[is.na(get(col)), (col) := Total_Exp_Month_Per_nondurable]
+c<-CBN[,.(FoodExpenditure_Per,FoodExpenditure_Per_total,Total_Exp_Month_Per_nondurable,Total_Exp_Month,Total_Food_Month_Per2,Poor,Decile,Weight,cluster)]
+
+
+#########Iteration 3###############
+#Sort Expenditure data
+CBN<- CBN[order(Total_Food_Month_Per2)]
+c<- c[order(Total_Food_Month_Per2)]
+
+#Indicate new poors
+CBN[,Poor3:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_2 & cluster==1,1,0)]
+c[,Poor3:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_2 & cluster==1 ,1,0)]
+CBN[,Poor3:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_2 & cluster==2,1,Poor3)]
+c[,Poor3:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_2 & cluster==2 ,1,Poor3)]
+CBN[,Poor3:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_2 & cluster==3,1,Poor3)]
+c[,Poor3:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_2 & cluster==3 ,1,Poor3)]
+CBN[,Poor3:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_2 & cluster==4,1,Poor3)]
+c[,Poor3:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_2 & cluster==4 ,1,Poor3)]
+CBN[,weighted.mean(Poor3,Weight),by=cluster][order(cluster)]
+CBNPoor2[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3<-CBN[Poor3==1]
+
+
+
+#CalculatePer_calories in clusters
+CBNPoor3[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(191:206)][]
+#utils::View(CBNPoor3)
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor3[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(208:223)][]
+
+
+CBNPoor3[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor3[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor3[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor3[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3<-CBNPoor3[Per_Daily_Exp_Calories!=0]
+CBNPoor3[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor3[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+
+#sum of total food expenditures
+CBNPoor3[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor3[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor3[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor3[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+
+
+#Calculations
+CBNPoor3[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,weighted.mean(FoodExpenditure_Per_day,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+
+
+
+#Food Poverty Line for each cluster
+#cluster 1
+CBNPoorCluster<-CBNPoor3[cluster==1]
+Food_Povertyline1_3<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 2
+CBNPoorCluster<-CBNPoor3[cluster==2]
+Food_Povertyline2_3<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 3
+CBNPoorCluster<-CBNPoor3[cluster==3]
+Food_Povertyline3_3<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 4
+CBNPoorCluster<-CBNPoor3[cluster==4]
+Food_Povertyline4_3<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#ee<-CBNPoor[,.(Total_Exp_Month_Real,Total_Exp_Month,Total_Food_Month_Per2,Total_Exp_Month_Per_nondurable,Total_Exp_Month_nondurable_Real_Per,FoodExpenditure_Per,cluster)]
+#mean(ee[,Total_Food_Month_Per2==Total_Exp_Month_nondurable_Real])
+#mean(ee[,Total_Food_Month_Per2<3500000])
+#ee<- ee[order(Total_Food_Month_Per2)]
+#utils::View(CBN)
+#for (col in c("Total_Food_Month_Per2")) CBN[is.na(get(col)), (col) := Total_Exp_Month_Per_nondurable]
+c<-CBN[,.(FoodExpenditure_Per,FoodExpenditure_Per_total,Total_Exp_Month_Per_nondurable,Total_Exp_Month,Total_Food_Month_Per2,Poor,Decile,Weight,cluster)]
+
+
+#########Iteration 4###############
+#Sort Expenditure data
+CBN<- CBN[order(Total_Food_Month_Per2)]
+c<- c[order(Total_Food_Month_Per2)]
+
+#Indicate new poors
+CBN[,Poor4:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_3 & cluster==1,1,0)]
+c[,Poor4:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_3 & cluster==1 ,1,0)]
+CBN[,Poor4:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_3 & cluster==2,1,Poor4)]
+c[,Poor4:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_3 & cluster==2 ,1,Poor4)]
+CBN[,Poor4:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_3 & cluster==3,1,Poor4)]
+c[,Poor4:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_3 & cluster==3 ,1,Poor4)]
+CBN[,Poor4:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_3 & cluster==4,1,Poor4)]
+c[,Poor4:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_3 & cluster==4 ,1,Poor4)]
+CBN[,weighted.mean(Poor4,Weight),by=cluster][order(cluster)]
+CBNPoor3[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4<-CBN[Poor4==1]
+
+#CalculatePer_calories in clusters
+CBNPoor4[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(191:206)][]
+#utils::View(CBNPoor4)
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor4[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(208:223)][]
+
+
+CBNPoor4[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor4[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor4[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor4[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4<-CBNPoor4[Per_Daily_Exp_Calories!=0]
+CBNPoor4[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor4[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+
+#sum of total food expenditures
+CBNPoor4[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor4[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor4[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor4[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+
+
+#Calculations
+CBNPoor4[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,weighted.mean(FoodExpenditure_Per_day,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+
+
+
+#Food Poverty Line for each cluster
+#cluster 1
+CBNPoorCluster<-CBNPoor4[cluster==1]
+Food_Povertyline1_4<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 2
+CBNPoorCluster<-CBNPoor4[cluster==2]
+Food_Povertyline2_4<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 3
+CBNPoorCluster<-CBNPoor4[cluster==3]
+Food_Povertyline3_4<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 4
+CBNPoorCluster<-CBNPoor4[cluster==4]
+Food_Povertyline4_4<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#ee<-CBNPoor[,.(Total_Exp_Month_Real,Total_Exp_Month,Total_Food_Month_Per2,Total_Exp_Month_Per_nondurable,Total_Exp_Month_nondurable_Real_Per,FoodExpenditure_Per,cluster)]
+#mean(ee[,Total_Food_Month_Per2==Total_Exp_Month_nondurable_Real])
+#mean(ee[,Total_Food_Month_Per2<3500000])
+#ee<- ee[order(Total_Food_Month_Per2)]
+#utils::View(CBN)
+#for (col in c("Total_Food_Month_Per2")) CBN[is.na(get(col)), (col) := Total_Exp_Month_Per_nondurable]
+c<-CBN[,.(FoodExpenditure_Per,FoodExpenditure_Per_total,Total_Exp_Month_Per_nondurable,Total_Exp_Month,Total_Food_Month_Per2,Poor,Decile,Weight,cluster)]
+
+
+#########Iteration 5###############
+#Sort Expenditure data
+CBN<- CBN[order(Total_Food_Month_Per2)]
+c<- c[order(Total_Food_Month_Per2)]
+
+#Indicate new poors
+CBN[,Poor5:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_4 & cluster==1,1,0)]
+c[,Poor5:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_4 & cluster==1 ,1,0)]
+CBN[,Poor5:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_4 & cluster==2,1,Poor5)]
+c[,Poor5:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_4 & cluster==2 ,1,Poor5)]
+CBN[,Poor5:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_4 & cluster==3,1,Poor5)]
+c[,Poor5:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_4 & cluster==3 ,1,Poor5)]
+CBN[,Poor5:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_4 & cluster==4,1,Poor5)]
+c[,Poor5:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_4 & cluster==4 ,1,Poor5)]
+CBN[,weighted.mean(Poor5,Weight),by=cluster][order(cluster)]
+CBNPoor4[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5<-CBN[Poor5==1]
+
+#CalculatePer_calories in clusters
+CBNPoor5[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(191:206)][]
+#utils::View(CBNPoor5)
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor5[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(208:223)][]
+
+
+CBNPoor5[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor5[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor5[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor5[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5<-CBNPoor5[Per_Daily_Exp_Calories!=0]
+CBNPoor5[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor5[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+
+#sum of total food expenditures
+CBNPoor5[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor5[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor5[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor5[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+
+
+#Calculations
+CBNPoor5[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,weighted.mean(FoodExpenditure_Per_day,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+
+
+
+#Food Poverty Line for each cluster
+#cluster 1
+CBNPoorCluster<-CBNPoor5[cluster==1]
+Food_Povertyline1_5<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 2
+CBNPoorCluster<-CBNPoor5[cluster==2]
+Food_Povertyline2_5<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 3
+CBNPoorCluster<-CBNPoor5[cluster==3]
+Food_Povertyline3_5<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 4
+CBNPoorCluster<-CBNPoor5[cluster==4]
+Food_Povertyline4_5<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#ee<-CBNPoor[,.(Total_Exp_Month_Real,Total_Exp_Month,Total_Food_Month_Per2,Total_Exp_Month_Per_nondurable,Total_Exp_Month_nondurable_Real_Per,FoodExpenditure_Per,cluster)]
+#mean(ee[,Total_Food_Month_Per2==Total_Exp_Month_nondurable_Real])
+#mean(ee[,Total_Food_Month_Per2<3500000])
+#ee<- ee[order(Total_Food_Month_Per2)]
+#utils::View(CBN)
+#for (col in c("Total_Food_Month_Per2")) CBN[is.na(get(col)), (col) := Total_Exp_Month_Per_nondurable]
+c<-CBN[,.(FoodExpenditure_Per,FoodExpenditure_Per_total,Total_Exp_Month_Per_nondurable,Total_Exp_Month,Total_Food_Month_Per2,Poor,Decile,Weight,cluster)]
+
+
+#########Iteration 6###############
+#Sort Expenditure data
+CBN<- CBN[order(Total_Food_Month_Per2)]
+c<- c[order(Total_Food_Month_Per2)]
+
+#Indicate new poors
+CBN[,Poor6:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_5 & cluster==1,1,0)]
+c[,Poor6:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_5 & cluster==1 ,1,0)]
+CBN[,Poor6:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_5 & cluster==2,1,Poor6)]
+c[,Poor6:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_5 & cluster==2 ,1,Poor6)]
+CBN[,Poor6:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_5 & cluster==3,1,Poor6)]
+c[,Poor6:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_5 & cluster==3 ,1,Poor6)]
+CBN[,Poor6:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_5 & cluster==4,1,Poor6)]
+c[,Poor6:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_5 & cluster==4 ,1,Poor6)]
+CBN[,weighted.mean(Poor6,Weight),by=cluster][order(cluster)]
+CBNPoor5[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6<-CBN[Poor6==1]
+
+#CalculatePer_calories in clusters
+CBNPoor6[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(191:206)][]
+#utils::View(CBNPoor6)
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor6[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(208:223)][]
+
+
+CBNPoor6[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor6[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor6[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor6[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6<-CBNPoor6[Per_Daily_Exp_Calories!=0]
+CBNPoor6[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor6[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+
+#sum of total food expenditures
+CBNPoor6[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor6[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor6[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor6[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+
+
+#Calculations
+CBNPoor6[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,weighted.mean(FoodExpenditure_Per_day,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+
+
+#Food Poverty Line for each cluster
+#cluster 1
+CBNPoorCluster<-CBNPoor6[cluster==1]
+Food_Povertyline1_6<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 2
+CBNPoorCluster<-CBNPoor6[cluster==2]
+Food_Povertyline2_6<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 3
+CBNPoorCluster<-CBNPoor6[cluster==3]
+Food_Povertyline3_6<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 4
+CBNPoorCluster<-CBNPoor6[cluster==4]
+Food_Povertyline4_6<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#ee<-CBNPoor[,.(Total_Exp_Month_Real,Total_Exp_Month,Total_Food_Month_Per2,Total_Exp_Month_Per_nondurable,Total_Exp_Month_nondurable_Real_Per,FoodExpenditure_Per,cluster)]
+#mean(ee[,Total_Food_Month_Per2==Total_Exp_Month_nondurable_Real])
+#mean(ee[,Total_Food_Month_Per2<3500000])
+#ee<- ee[order(Total_Food_Month_Per2)]
+#utils::View(CBN)
+#for (col in c("Total_Food_Month_Per2")) CBN[is.na(get(col)), (col) := Total_Exp_Month_Per_nondurable]
+c<-CBN[,.(FoodExpenditure_Per,FoodExpenditure_Per_total,Total_Exp_Month_Per_nondurable,Total_Exp_Month,Total_Food_Month_Per2,Poor,Decile,Weight,cluster)]
+
+
+#########Iteration 7###############
+#Sort Expenditure data
+CBN<- CBN[order(Total_Food_Month_Per2)]
+c<- c[order(Total_Food_Month_Per2)]
+
+#Indicate new poors
+CBN[,Poor7:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_6 & cluster==1,1,0)]
+c[,Poor7:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_6 & cluster==1 ,1,0)]
+CBN[,Poor7:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_6 & cluster==2,1,Poor7)]
+c[,Poor7:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_6 & cluster==2 ,1,Poor7)]
+CBN[,Poor7:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_6 & cluster==3,1,Poor7)]
+c[,Poor7:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_6 & cluster==3 ,1,Poor7)]
+CBN[,Poor7:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_6 & cluster==4,1,Poor7)]
+c[,Poor7:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_6 & cluster==4 ,1,Poor7)]
+CBN[,weighted.mean(Poor7,Weight),by=cluster][order(cluster)]
+CBNPoor6[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7<-CBN[Poor7==1]
+
+#CalculatePer_calories in clusters
+CBNPoor7[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(191:206)][]
+#utils::View(CBNPoor7)
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor7[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(208:223)][]
+
+
+CBNPoor7[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor7[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor7[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor7[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7<-CBNPoor7[Per_Daily_Exp_Calories!=0]
+CBNPoor7[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor7[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+
+#sum of total food expenditures
+CBNPoor7[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor7[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor7[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor7[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+
+
+#Calculations
+CBNPoor7[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,weighted.mean(FoodExpenditure_Per_day,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+
+
+
+#Food Poverty Line for each cluster
+#cluster 1
+CBNPoorCluster<-CBNPoor7[cluster==1]
+Food_Povertyline1_7<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 2
+CBNPoorCluster<-CBNPoor7[cluster==2]
+Food_Povertyline2_7<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 3
+CBNPoorCluster<-CBNPoor7[cluster==3]
+Food_Povertyline3_7<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 4
+CBNPoorCluster<-CBNPoor7[cluster==4]
+Food_Povertyline4_7<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#ee<-CBNPoor[,.(Total_Exp_Month_Real,Total_Exp_Month,Total_Food_Month_Per2,Total_Exp_Month_Per_nondurable,Total_Exp_Month_nondurable_Real_Per,FoodExpenditure_Per,cluster)]
+#mean(ee[,Total_Food_Month_Per2==Total_Exp_Month_nondurable_Real])
+#mean(ee[,Total_Food_Month_Per2<3500000])
+#ee<- ee[order(Total_Food_Month_Per2)]
+#utils::View(CBN)
+#for (col in c("Total_Food_Month_Per2")) CBN[is.na(get(col)), (col) := Total_Exp_Month_Per_nondurable]
+c<-CBN[,.(FoodExpenditure_Per,FoodExpenditure_Per_total,Total_Exp_Month_Per_nondurable,Total_Exp_Month,Total_Food_Month_Per2,Poor,Decile,Weight,cluster)]
+
+
+#########Iteration 8###############
+#Sort Expenditure data
+CBN<- CBN[order(Total_Food_Month_Per2)]
+c<- c[order(Total_Food_Month_Per2)]
+
+#Indicate new poors
+CBN[,Poor8:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_7 & cluster==1,1,0)]
+c[,Poor8:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_7 & cluster==1 ,1,0)]
+CBN[,Poor8:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_7 & cluster==2,1,Poor8)]
+c[,Poor8:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_7 & cluster==2 ,1,Poor8)]
+CBN[,Poor8:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_7 & cluster==3,1,Poor8)]
+c[,Poor8:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_7 & cluster==3 ,1,Poor8)]
+CBN[,Poor8:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_7 & cluster==4,1,Poor8)]
+c[,Poor8:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_7 & cluster==4 ,1,Poor8)]
+CBN[,weighted.mean(Poor8,Weight),by=cluster][order(cluster)]
+CBNPoor7[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8<-CBN[Poor8==1]
+
+
+#CalculatePer_calories in clusters
+CBNPoor8[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(191:206)][]
+#utils::View(CBNPoor8)
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor8[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(208:223)][]
+
+
+CBNPoor8[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor8[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor8[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor8[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8<-CBNPoor8[Per_Daily_Exp_Calories!=0]
+CBNPoor8[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor8[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+
+#sum of total food expenditures
+CBNPoor8[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor8[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor8[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor8[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+
+
+#Calculations
+CBNPoor8[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,weighted.mean(FoodExpenditure_Per_day,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+
+
+
+#Food Poverty Line for each cluster
+#cluster 1
+CBNPoorCluster<-CBNPoor8[cluster==1]
+Food_Povertyline1_8<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 2
+CBNPoorCluster<-CBNPoor8[cluster==2]
+Food_Povertyline2_8<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 3
+CBNPoorCluster<-CBNPoor8[cluster==3]
+Food_Povertyline3_8<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 4
+CBNPoorCluster<-CBNPoor8[cluster==4]
+Food_Povertyline4_8<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#ee<-CBNPoor[,.(Total_Exp_Month_Real,Total_Exp_Month,Total_Food_Month_Per2,Total_Exp_Month_Per_nondurable,Total_Exp_Month_nondurable_Real_Per,FoodExpenditure_Per,cluster)]
+#mean(ee[,Total_Food_Month_Per2==Total_Exp_Month_nondurable_Real])
+#mean(ee[,Total_Food_Month_Per2<3500000])
+#ee<- ee[order(Total_Food_Month_Per2)]
+#utils::View(CBN)
+#for (col in c("Total_Food_Month_Per2")) CBN[is.na(get(col)), (col) := Total_Exp_Month_Per_nondurable]
+c<-CBN[,.(FoodExpenditure_Per,FoodExpenditure_Per_total,Total_Exp_Month_Per_nondurable,Total_Exp_Month,Total_Food_Month_Per2,Poor,Decile,Weight,cluster)]
+
+
+#########Iteration 9###############
+#Sort Expenditure data
+CBN<- CBN[order(Total_Food_Month_Per2)]
+c<- c[order(Total_Food_Month_Per2)]
+
+#Indicate new poors
+CBN[,Poor9:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_8 & cluster==1,1,0)]
+c[,Poor9:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_8 & cluster==1 ,1,0)]
+CBN[,Poor9:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_8 & cluster==2,1,Poor9)]
+c[,Poor9:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_8 & cluster==2 ,1,Poor9)]
+CBN[,Poor9:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_8 & cluster==3,1,Poor9)]
+c[,Poor9:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_8 & cluster==3 ,1,Poor9)]
+CBN[,Poor9:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_8 & cluster==4,1,Poor9)]
+c[,Poor9:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_8 & cluster==4 ,1,Poor9)]
+CBN[,weighted.mean(Poor9,Weight),by=cluster][order(cluster)]
+CBNPoor8[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9<-CBN[Poor9==1]
+
+
+#CalculatePer_calories in clusters
+CBNPoor9[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(191:206)][]
+#utils::View(CBNPoor9)
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor9[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(208:223)][]
+
+
+CBNPoor9[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor9[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor9[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor9[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9<-CBNPoor9[Per_Daily_Exp_Calories!=0]
+CBNPoor9[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor9[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+
+#sum of total food expenditures
+CBNPoor9[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor9[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor9[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor9[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+
+
+
+#Calculations
+CBNPoor9[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,weighted.mean(FoodExpenditure_Per_day,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+
+
+
+#Food Poverty Line for each cluster
+#cluster 1
+CBNPoorCluster<-CBNPoor9[cluster==1]
+Food_Povertyline1_9<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 2
+CBNPoorCluster<-CBNPoor9[cluster==2]
+Food_Povertyline2_9<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 3
+CBNPoorCluster<-CBNPoor9[cluster==3]
+Food_Povertyline3_9<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 4
+CBNPoorCluster<-CBNPoor9[cluster==4]
+Food_Povertyline4_9<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#ee<-CBNPoor[,.(Total_Exp_Month_Real,Total_Exp_Month,Total_Food_Month_Per2,Total_Exp_Month_Per_nondurable,Total_Exp_Month_nondurable_Real_Per,FoodExpenditure_Per,cluster)]
+#mean(ee[,Total_Food_Month_Per2==Total_Exp_Month_nondurable_Real])
+#mean(ee[,Total_Food_Month_Per2<3500000])
+#ee<- ee[order(Total_Food_Month_Per2)]
+#utils::View(CBN)
+#for (col in c("Total_Food_Month_Per2")) CBN[is.na(get(col)), (col) := Total_Exp_Month_Per_nondurable]
+c<-CBN[,.(FoodExpenditure_Per,FoodExpenditure_Per_total,Total_Exp_Month_Per_nondurable,Total_Exp_Month,Total_Food_Month_Per2,Poor,Decile,Weight,cluster)]
+
+
+#########Iteration 10###############
+#Sort Expenditure data
+CBN<- CBN[order(Total_Food_Month_Per2)]
+c<- c[order(Total_Food_Month_Per2)]
+
+#Indicate new poors
+CBN[,Poor10:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_9 & cluster==1,1,0)]
+c[,Poor10:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_9 & cluster==1 ,1,0)]
+CBN[,Poor10:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_9 & cluster==2,1,Poor10)]
+c[,Poor10:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_9 & cluster==2 ,1,Poor10)]
+CBN[,Poor10:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_9 & cluster==3,1,Poor10)]
+c[,Poor10:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_9 & cluster==3 ,1,Poor10)]
+CBN[,Poor10:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_9 & cluster==4,1,Poor10)]
+c[,Poor10:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_9 & cluster==4 ,1,Poor10)]
+CBN[,weighted.mean(Poor10,Weight),by=cluster][order(cluster)]
+CBNPoor9[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor10<-CBN[Poor10==1]
+
+#Engel
+#CBNPoor9<-CBNPoor9[,ratio1:=FoodExpenditure/Total_Exp_Month]
+#CBNPoor9[,weighted.mean(ratio1,Weight),by=cluster]
+#summary(CBNPoor9$ratio1)
+CBN<-CBN[,ratio1:=FoodExpenditure/Total_Exp_Month]
+CBN[,weighted.mean(ratio1,Weight),by=ProvinceCode][order(ProvinceCode)]
+CBN<-CBN[,ratio2:=ServiceExp/Total_Exp_Month]
+CBN[,weighted.mean(ratio2,Weight),by=ProvinceCode][order(ProvinceCode)]
+
+# Poverty Line for each cluster
+#cluster 1
+CBNPoorCluster<-CBN[cluster==1 & FoodExpenditure_Per<1.1*Food_Povertyline1_9 & FoodExpenditure_Per>0.90*Food_Povertyline1_9]
+Engel1<-weighted.mean(CBNPoorCluster$ratio1,CBNPoorCluster$Weight)
+Engel_Reverse1<-1/Engel1
+Povertyline1_9<-Engel_Reverse1*Food_Povertyline1_9
+
+#cluster 2
+CBNPoorCluster<-CBN[cluster==2 & FoodExpenditure_Per<1.1*Food_Povertyline2_9 & FoodExpenditure_Per>0.90*Food_Povertyline2_9]
+Engel2<-weighted.mean(CBNPoorCluster$ratio1,CBNPoorCluster$Weight)
+Engel_Reverse2<-1/Engel2
+Povertyline2_9<-Engel_Reverse2*Food_Povertyline2_9
+
+#cluster 3
+CBNPoorCluster<-CBN[cluster==3 & FoodExpenditure_Per<1.1*Food_Povertyline3_9 & FoodExpenditure_Per>0.90*Food_Povertyline3_9]
+Engel3<-weighted.mean(CBNPoorCluster$ratio1,CBNPoorCluster$Weight)
+Engel_Reverse3<-1/Engel3
+Povertyline3_9<-Engel_Reverse3*Food_Povertyline3_9
+
+#cluster 4
+CBNPoorCluster<-CBN[cluster==4 & FoodExpenditure_Per<1.1*Food_Povertyline4_9 & FoodExpenditure_Per>0.90*Food_Povertyline4_9]
+Engel4<-weighted.mean(CBNPoorCluster$ratio1,CBNPoorCluster$Weight)
+Engel_Reverse4<-1/Engel4
+Povertyline4_9<-Engel_Reverse4*Food_Povertyline4_9
+
+#Indicate final poors
+CBN<-CBN[,Total_Exp_Month_Per2:=Total_Exp_Month_Per_nondurable*RealPriceIndex]
+
+CBN[,Poor11:=ifelse(Total_Exp_Month_Per_nondurable < Povertyline1_9 & cluster==1,1,0)]
+CBN[,Poor11:=ifelse(Total_Exp_Month_Per_nondurable < Povertyline2_9 & cluster==2,1,Poor11)]
+CBN[,Poor11:=ifelse(Total_Exp_Month_Per_nondurable < Povertyline3_9 & cluster==3,1,Poor11)]
+CBN[,Poor11:=ifelse(Total_Exp_Month_Per_nondurable < Povertyline4_9 & cluster==4,1,Poor11)]
+CBN[,weighted.mean(Poor11,Weight),by=cluster][order(cluster)]
+CBNPoor9[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor11<-CBN[Poor11==1]
+
+CBN[,sum(Size*Weight),by=cluster][order(cluster)]
+CBNPoor9[,sum(Size*Weight),by=cluster][order(cluster)]
+CBNPoor9[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBN[,weighted.mean(Poor11,Weight)]
+CBN[,weighted.mean(Poor11,Weight),by=cluster][order(cluster)]
+CBN[,weighted.mean(Poor11,Weight),by=ProvinceCode][order(ProvinceCode)]
+endtime <- proc.time()
+
+cat("\n\n============================\nIt took ")
+cat(endtime-starttime)
+
diff --git a/R/Archive/Other Codes/60-CBN88-Rural.R b/R/Archive/Other Codes/60-CBN88-Rural.R
new file mode 100644
index 00000000..fe927d17
--- /dev/null
+++ b/R/Archive/Other Codes/60-CBN88-Rural.R
@@ -0,0 +1,2938 @@
+#CBN Method-Rural.R
+#
+# Copyright © 2018:Arin Shahbazian
+# Licence: GPL-3
+#
+rm(list=ls())
+
+starttime <- proc.time()
+cat("\n\n================ Prepare Data =====================================\n")
+
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+library(readxl)
+library(stringr)
+library(data.table)
+
+#for(year in (Settings$startyear:Settings$endyear)){
+# cat(paste0("\n------------------------------\nYear:",year,"\n"))
+
+load(file=paste0(Settings$HEISProcessedPath,"Y","88","HHBase.rda"))
+HHBase[,IndivNo:=NULL]
+HHBase[,Relationship:=NULL]
+HHBase[,Sex:=NULL]
+HHBase[,Age:=NULL]
+HHBase[,Literate:=NULL]
+HHBase[,Student:=NULL]
+HHBase[,EduCode:=NULL]
+HHBase[,EduYears:=NULL]
+HHBase[,EduLevel:=NULL]
+HHBase[,EduLevel0:=NULL]
+HHBase[,ActivityState:=NULL]
+HHBase[,MarritalState:=NULL]
+load(file=paste0(Settings$HEISProcessedPath,"Y","88","Ghand_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","88","Hoboobat_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","88","Roghan_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","88","Berenj_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","88","Nan_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","88","Goosht_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","88","Morgh_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","88","Mahi_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","88","Shir_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","88","Mast_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","88","Panir_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","88","Tokhmemorgh_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","88","Mive_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","88","Sabzi_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","88","Makarooni_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","88","Sibzamini_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","88","Weights.rda"))
+
+Ghand_Data<-Ghand_Data[,.(HHID,Ghandgram,GhandPrice)]
+Hoboobat_Data<-Hoboobat_Data[,.(HHID,Hoboobatgram,HoboobatPrice)]
+Roghan_Data<-Roghan_Data[,.(HHID,Roghangram,RoghanPrice)]
+Berenj_Data<-Berenj_Data[,.(HHID,Berenjgram,BerenjPrice)]
+Nan_Data<-Nan_Data[,.(HHID,Nangram,NanPrice)]
+Goosht_Data<-Goosht_Data[,.(HHID,Gooshtgram,GooshtPrice)]
+Morgh_Data<-Morgh_Data[,.(HHID,Morghgram,MorghPrice)]
+Mahi_Data<-Mahi_Data[,.(HHID,Mahigram,MahiPrice)]
+Shir_Data<-Shir_Data[,.(HHID,Shirgram,ShirPrice)]
+Mast_Data<-Mast_Data[,.(HHID,Mastgram,MastPrice)]
+Panir_Data<-Panir_Data[,.(HHID,Panirgram,PanirPrice)]
+Tokhmemorgh_Data<-Tokhmemorgh_Data[,.(HHID,Tokhmemorghgram,TokhmemorghPrice)]
+Mive_Data<-Mive_Data[,.(HHID,Mivegram,MivePrice)]
+Sabzi_Data<-Sabzi_Data[,.(HHID,Sabzigram,SabziPrice)]
+Makarooni_Data<-Makarooni_Data[,.(HHID,Makaroonigram,MakarooniPrice)]
+Sibzamini_Data<-Sibzamini_Data[,.(HHID,Sibzaminigram,SibzaminiPrice)]
+
+Food<-merge(HHBase,Ghand_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Ghandgram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Hoboobat_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Hoboobatgram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Roghan_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Roghangram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Berenj_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Berenjgram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Nan_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Nangram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Goosht_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Gooshtgram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Morgh_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Morghgram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Mahi_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Mahigram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Shir_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Shirgram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Mast_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Mastgram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Panir_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Panirgram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Tokhmemorgh_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Tokhmemorghgram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Mive_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Mivegram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Sabzi_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Sabzigram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Makarooni_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Makaroonigram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Sibzamini_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Sibzaminigram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Weights,by =c("HHID"),all.x=TRUE)
+
+
+
+#load Expenditure groups
+load(file=paste0(Settings$HEISProcessedPath,"Y","88","HHBase.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","88","HHI.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","88","Foods.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","88","Cigars.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","88","Cloths.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","88","Amusements.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","88","Communications.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","88","Durables.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","88","Education.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","88","Energy.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","88","Furnitures.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","88","Hotels.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","88","House.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","88","Medicals.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","88","Behdashts.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","88","Transportations.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","88","Others.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","88","Investments.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","88","Resturants.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","88","Weights.rda"))
+
+#merge Expenditure groups
+CBN<-merge(Food,HHI ,by =c("HHID"),all=TRUE)
+CBN<-merge(CBN,FoodData,by =c("HHID"),all=TRUE)
+for (col in c("FoodExpenditure")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,CigarData,by =c("HHID"),all=TRUE)
+for (col in c("Cigar_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,ClothData,by =c("HHID"),all=TRUE)
+for (col in c("Cloth_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,AmusementData,by =c("HHID"),all=TRUE)
+for (col in c("Amusement_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,CommunicationData,by =c("HHID"),all=TRUE)
+for (col in c("Communication_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,EducData,by =c("HHID"),all=TRUE)
+for (col in c("EducExpenditure")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,EnergyData,by =c("HHID"),all=TRUE)
+for (col in c("Energy_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,FurnitureData,by =c("HHID"),all=TRUE)
+for (col in c("Furniture_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,HotelData,by =c("HHID"),all=TRUE)
+for (col in c("Hotel_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,BehdashtData,by =c("HHID"),all=TRUE)
+for (col in c("Behdasht_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,TransportationData,by =c("HHID"),all=TRUE)
+for (col in c("Transportation_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,OtherData,by =c("HHID"),all=TRUE)
+for (col in c("Other_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,HouseData,by =c("HHID"),all=TRUE)
+for (col in c("ServiceExp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,InvestmentData,by =c("HHID"),all=TRUE)
+for (col in c("Investment_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,MedicalData,by =c("HHID"),all=TRUE)
+for (col in c("Medical_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,DurableData,by =c("HHID"),all=TRUE)
+for (col in c("Durable_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,ResturantData,by =c("HHID"),all=TRUE)
+for (col in c("Resturant_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-CBN[Size!=0]
+CBN<-CBN[Region=="Rural"]
+CBN<-CBN[FoodExpenditure!=0]
+
+
+#Calculate Per_Total Expenditures Monthly
+CBN[, Total_Exp_Month := Reduce(`+`, .SD), .SDcols=c(65:77,82:83)][]
+CBN[, Total_Exp_Month_nondurable := Reduce(`+`, .SD), .SDcols=65:77][]
+
+CBN$Total_Exp_Month_Per<-CBN$Total_Exp_Month/CBN$EqSizeOECD
+CBN$Total_Exp_Month_Per_nondurable<-CBN$Total_Exp_Month_nondurable/CBN$EqSizeOECD
+
+#Calculate Per_Food Expenditures Monthly
+CBN[,EqSizeCalory :=(Size-NKids) + NKids*(1800/2100)]
+CBN$FoodExpenditure_Per<-CBN$FoodExpenditure/CBN$EqSizeCalory
+
+#Calculate Per_Food Expenditures Daily
+CBN$FoodExpenditure_Per_day<-CBN$FoodExpenditure_Per/30
+
+CBN$Ghandgram_Per_day<-CBN$Ghandgram/(30*CBN$EqSizeOECD)
+CBN$Hoboobatgram_Per_day<-CBN$Hoboobatgram/(30*CBN$EqSizeOECD)
+CBN$Berenjgram_Per_day<-CBN$Berenjgram/(30*CBN$EqSizeOECD)
+CBN$Nangram_Per_day<-CBN$Nangram/(30*CBN$EqSizeOECD)
+CBN$Roghangram_Per_day<-CBN$Roghangram/(30*CBN$EqSizeOECD)
+CBN$Gooshtgram_Per_day<-CBN$Gooshtgram/(30*CBN$EqSizeOECD)
+CBN$Morghgram_Per_day<-CBN$Morghgram/(30*CBN$EqSizeOECD)
+CBN$Mahigram_Per_day<-CBN$Mahigram/(30*CBN$EqSizeOECD)
+CBN$Shirgram_Per_day<-CBN$Shirgram/(30*CBN$EqSizeOECD)
+CBN$Mastgram_Per_day<-CBN$Mastgram/(30*CBN$EqSizeOECD)
+CBN$Panirgram_Per_day<-CBN$Panirgram/(30*CBN$EqSizeOECD)
+CBN$Tokhmemorghgram_Per_day<-CBN$Tokhmemorghgram/(30*CBN$EqSizeOECD)
+CBN$Mivegram_Per_day<-CBN$Mivegram/(30*CBN$EqSizeOECD)
+CBN$Sabzigram_Per_day<-CBN$Sabzigram/(30*CBN$EqSizeOECD)
+CBN$Makaroonigram_Per_day<-CBN$Makaroonigram/(30*CBN$EqSizeOECD)
+CBN$Sibzaminigram_Per_day<-CBN$Sibzaminigram/(30*CBN$EqSizeOECD)
+CBN[,EqSizeCalory:=NULL]
+
+load(file="PriceIndex95.rda")
+CBN<-merge(CBN,PriceIndex95,by=c("ProvinceCode"),all.x = TRUE)
+CBN[,ostan:=NULL]
+load(file="PriceIndex.rda")
+CBN<-merge(CBN,PriceIndex,by=c("ProvinceCode"),all.x = TRUE)
+
+#Sort Expenditure data
+CBN<- CBN[order(Total_Exp_Month_Per_nondurable)]
+
+#Calculate cumulative weights
+sum(CBN$Weight)
+CBN$cumweight <- cumsum(CBN$Weight)
+tx <- max(CBN$cumweight)
+
+#Calculate deciles by weights
+CBN[,Decile:=cut(cumweight,breaks = seq(0,tx,tx/10),labels = 1:10)]
+CBN[,Percentile:=cut(cumweight,breaks=seq(0,tx,tx/100),labels=1:100)]
+
+
+CBN$Ghand_W<-CBN$Ghandgram_Per_day*CBN$GhandPrice*0.001*30
+CBN$Hoboobat_W<-CBN$Hoboobatgram_Per_day*CBN$HoboobatPrice*0.001*30
+CBN$Roghan_W<-CBN$Roghangram_Per_day*CBN$RoghanPrice*0.001*30
+CBN$Berenj_W<-CBN$Berenjgram_Per_day*CBN$BerenjPrice*0.001*30
+CBN$Nan_W<-CBN$Nangram_Per_day*CBN$NanPrice*0.001*30
+CBN$Goosht_W<-CBN$Gooshtgram_Per_day*CBN$GooshtPrice*0.001*30
+CBN$Morgh_W<-CBN$Morghgram_Per_day*CBN$MorghPrice*0.001*30
+CBN$Mahi_W<-CBN$Mahigram_Per_day*CBN$MahiPrice*0.001*30
+CBN$Shir_W<-CBN$Shirgram_Per_day*CBN$ShirPrice*0.001*30
+CBN$Mast_W<-CBN$Mastgram_Per_day*CBN$MastPrice*0.001*30
+CBN$Panir_W<-CBN$Panirgram_Per_day*CBN$PanirPrice*0.001*30
+CBN$Tokhmemorgh_W<-CBN$Tokhmemorghgram_Per_day*CBN$TokhmemorghPrice*0.001*30
+CBN$Mive_W<-CBN$Mivegram_Per_day*CBN$MivePrice*0.001*30
+CBN$Sabzi_W<-CBN$Sabzigram_Per_day*CBN$SabziPrice*0.001*30
+CBN$Makarooni_W<-CBN$Makaroonigram_Per_day*CBN$MakarooniPrice*0.001*30
+CBN$Sibzamini_W<-CBN$Sibzaminigram_Per_day*CBN$SibzaminiPrice*0.001*30
+CBN$Home_W<-CBN$ServiceExp/CBN$EqSizeOECD
+CBN$Home_Per_Metr<-CBN$MetrPrice/CBN$EqSizeOECD
+
+#Seperate big cities
+CBN[,sum(Weight*Size),by=ProvinceCode][order(V1)]
+CBN[,HHIDs:=as.character(HHID)]
+CBN[,ShahrestanCode:=as.integer(str_sub(HHIDs,2,5))]
+CBN[,sum(Weight*Size),by=ShahrestanCode][order(V1)][330:387]
+CBNTehran<-CBN[ProvinceCode==23]
+CBNTehran[,sum(Weight*Size),by=ShahrestanCode]
+CBNTabriz<-CBN[ProvinceCode==3]
+CBNTabriz[,sum(Weight*Size),by=ShahrestanCode]
+CBNAhvaz<-CBN[ProvinceCode==6]
+CBNAhvaz[,sum(Weight*Size),by=ShahrestanCode]
+CBNShiraz<-CBN[ProvinceCode==7]
+CBNShiraz[,sum(Weight*Size),by=ShahrestanCode]
+CBNMashhad<-CBN[ProvinceCode==9]
+CBNMashhad[,sum(Weight*Size),by=ShahrestanCode]
+CBNEsfahan<-CBN[ProvinceCode==10]
+CBNEsfahan[,sum(Weight*Size),by=ShahrestanCode]
+CBNKaraj<-CBN[ProvinceCode==30]
+CBNKaraj[,sum(Weight*Size),by=ShahrestanCode]
+CBNKermanshah<-CBN[ProvinceCode==5]
+CBNKermanshah[,sum(Weight*Size),by=ShahrestanCode]
+
+
+# Food Calories
+CBN$Ghand_Calory<- CBN$Ghandgram *4
+CBN$Hoboobat_Calory<- CBN$Hoboobatgram *3
+CBN$Nan_Calory<- CBN$Nangram *2.5
+CBN$Berenj_Calory<- CBN$Berenjgram *1.2
+CBN$Roghan_Calory<- CBN$Roghangram *8
+CBN$Goosht_Calory<- CBN$Gooshtgram *2.5
+CBN$Morgh_Calory<- CBN$Morghgram *2
+CBN$Mahi_Calory<- CBN$Mahigram *1
+CBN$Shir_Calory<- CBN$Shirgram *2.5
+CBN$Mast_Calory<- CBN$Mastgram *1.5
+CBN$Panir_Calory<- CBN$Mastgram *2.5
+CBN$Tokhmemorgh_Calory<- CBN$Tokhmemorghgram *1.4
+CBN$Mive_Calory<- CBN$Mivegram *0.5
+CBN$Sabzi_Calory<- CBN$Sabzigram *0.5
+CBN$Makarooni_Calory<- CBN$Makaroonigram *3.6
+CBN$Sibzamini_Calory<- CBN$Sibzaminigram *0.9
+#utils::View(CBN)
+
+#CalculatePer_calories
+CBN[, Daily_Exp_Calories := Reduce(`+`, .SD), .SDcols=148:163][]
+CBN[,EqSizeCalory :=(Size-NKids) + NKids*(1800/2100)]
+CBN[,Per_Daily_Exp_Calories:=Daily_Exp_Calories/EqSizeCalory]
+CBN <- CBN[Per_Daily_Exp_Calories<100000] # arbitrary removal of outliers
+#CBN[,Daily_Calories_cluster:=weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+#CBN[,weighted.mean(Daily_Calories_cluster,Weight,na.rm = TRUE),by=cluster]
+#CBN[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+#CBN[,weighted.mean(Size,Weight,na.rm = TRUE),by=cluster]
+#CBN[,sum(Weight*Size),by=cluster]
+#CBN[,sum(Weight),by=cluster]
+#CBN[,sum(Poor),by=cluster]
+
+
+#Calculate_Per_calories
+CBN$Ghand_per_Calory<- CBN$Ghandgram *4/CBN$EqSizeCalory
+CBN$Hoboobat_per_Calory<- CBN$Hoboobatgram *3/CBN$EqSizeCalory
+CBN$Nan_per_Calory<- CBN$Nangram *2.5/CBN$EqSizeCalory
+CBN$Berenj_per_Calory<- CBN$Berenjgram *1.2/CBN$EqSizeCalory
+CBN$Roghan_per_Calory<- CBN$Roghangram *8/CBN$EqSizeCalory
+CBN$Goosht_per_Calory<- CBN$Gooshtgram *2.5/CBN$EqSizeCalory
+CBN$Morgh_per_Calory<- CBN$Morghgram *2/CBN$EqSizeCalory
+CBN$Mahi_per_Calory<- CBN$Mahigram *1/CBN$EqSizeCalory
+CBN$Shir_per_Calory<- CBN$Shirgram *2.5/CBN$EqSizeCalory
+CBN$Mast_per_Calory<- CBN$Mastgram *1.5/CBN$EqSizeCalory
+CBN$Panir_per_Calory<- CBN$Mastgram *2.5/CBN$EqSizeCalory
+CBN$Tokhmemorgh_per_Calory<- CBN$Tokhmemorghgram *1.4/CBN$EqSizeCalory
+CBN$Mive_per_Calory<- CBN$Mivegram *0.5/CBN$EqSizeCalory
+CBN$Sabzi_per_Calory<- CBN$Sabzigram *0.5/CBN$EqSizeCalory
+CBN$Makarooni_per_Calory<- CBN$Makaroonigram *3.6/CBN$EqSizeCalory
+CBN$Sibzamini_per_Calory<- CBN$Sibzaminigram *0.9/CBN$EqSizeCalory
+
+
+#Assume that deciles 1 and 2 are poor
+CBN[,Poor:=ifelse(Decile %in% 1:4,1,0)]
+CBNPoor<-CBN[Poor==1]
+
+#K-means weights
+PriceWeights<-CBN[,.(HHID,Ghand_W,Hoboobat_W,Roghan_W,Berenj_W,Nan_W,Goosht_W,Morgh_W,Mahi_W,Shir_W,Mast_W,Panir_W,Tokhmemorgh_W,Mive_W,Sabzi_W,Makarooni_W,Sibzamini_W,Home_W,ProvinceCode,Weight)]
+dt3 <- PriceWeights[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+dt3<- dt3[order(ProvinceCode)]
+dt3 <- dt3[,.(Ghand_W,Hoboobat_W,Roghan_W,Berenj_W,Nan_W,Goosht_W,Morgh_W,Mahi_W,Shir_W,Mast_W,Panir_W,Tokhmemorgh_W,Mive_W,Sabzi_W,Makarooni_W,Sibzamini_W,Home_W)]
+
+
+
+#K-means algorithm for clustering by prices
+test<-CBNPoor[,.(GhandPrice,HoboobatPrice,RoghanPrice,BerenjPrice,NanPrice,GooshtPrice,MorghPrice,MahiPrice,ShirPrice,MastPrice,PanirPrice,TokhmemorghPrice,MivePrice,SabziPrice,MakarooniPrice,SibzaminiPrice,MetrPrice,ProvinceCode,Weight)]
+#test<-CBNPoor[,.(GhandPrice,HoboobatPrice,RoghanPrice,BerenjPrice,NanPrice,GooshtPrice,MorghPrice,MahiPrice,ShirPrice,MastPrice,PanirPrice,TokhmemorghPrice,MivePrice,SabziPrice,MakarooniPrice,SibzaminiPrice,MetrPrice,Ghand_W,Hoboobat_W,Roghan_W,Berenj_W,Nan_W,Goosht_W,Morgh_W,Mahi_W,Shir_W,Mast_W,Panir_W,Tokhmemorgh_W,Mive_W,Sabzi_W,Makarooni_W,Sibzamini_W,Home_W,Region,ProvinceCode,Weight)]
+dt2 <- test[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+dt2<- dt2[order(ProvinceCode)]
+for (col in c("MahiPrice")) dt2[is.nan(get(col)), (col) := 200000]
+dt <- dt2 [,.(GhandPrice,HoboobatPrice,RoghanPrice,BerenjPrice,NanPrice,GooshtPrice,MorghPrice,MahiPrice,ShirPrice,MastPrice,PanirPrice,TokhmemorghPrice,MivePrice,SabziPrice,MakarooniPrice,SibzaminiPrice,MetrPrice)]
+
+
+pca <- princomp(dt, cor=T)
+PRICE <- pca$scores
+PRICE1 <- -1*PRICE[,1]
+PRICE2 <- -1*PRICE[,2]
+PRICE3 <- -1*PRICE[,3]
+PRICE4 <- -1*PRICE[,4]
+PRICE5 <- -1*PRICE[,5]
+PRICE6 <- -1*PRICE[,6]
+PRICE7 <- -1*PRICE[,7]
+PRICE8 <- -1*PRICE[,8]
+PRICE9 <- -1*PRICE[,9]
+PRICE10 <- -1*PRICE[,10]
+PRICE11 <- -1*PRICE[,11]
+PRICE12 <- -1*PRICE[,12]
+PRICE13 <- -1*PRICE[,13]
+PRICE14 <- -1*PRICE[,14]
+PRICE15 <- -1*PRICE[,15]
+PRICE16 <- -1*PRICE[,16]
+PRICE17 <- -1*PRICE[,17]
+
+# Deciding how many clusters
+wss <- (nrow(dt)-1)*sum(apply(dt,2,var))
+for (i in 2:28) wss[i] <- sum(kmeans(dt, centers=i)$withinss)
+plot(1:28, wss, type="b", xlab="Number of Clusters",
+ ylab="Within groups sum of squares")
+
+#Weighted clustering
+
+dt3.m <- dt3[,lapply(.SD, mean)] # Weights for each vector
+dtW <- dt * sqrt(dt3.m[rep(1,nrow(dt))]) # Weighted observations
+kmeans(dtW,4) # Simple K-means
+
+cl <- kmeans(dtW,4)
+cl$cluster
+dt2 <- dt2[,cluster:=data.table(cl$cluster)]
+dt2<-dt2[,.(ProvinceCode,cluster)]
+load(file="dt5Rural.rda")
+#plot(PRICE1, PRICE2,col=cl$cluster)
+#points(cl$centers, pch=20)
+CBNPoor<-merge(CBNPoor,dt2,by=c("ProvinceCode"),all.x = TRUE)
+CBNPoor[,sum(Weight*Size),by=cluster]
+CBNPoor[,sum(Weight),by=cluster]
+CBNPoor[,sum(Poor),by=cluster]
+C2<-CBNPoor[,.(HHID,ProvinceCode,Region,Decile,Poor,cluster)]
+######################################################################
+
+
+
+
+
+
+
+
+
+####Iteration 1#####
+###Iteration1-1
+#Calculate Per_calories in clusters
+CBNPoor[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(185:200)][]
+#utils::View(CBNPoor)
+
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(202:217)][]
+
+CBNPoor[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor<-CBNPoor[Per_Daily_Exp_Calories!=0]
+CBNPoor[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+#CBN[,weighted.mean(Poor,Weight),by=cluster][order(cluster)]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE)]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE)]
+
+#Real Prices
+T_Bundle_Value<-subset(CBNPoor, ProvinceCode==23, select=c(Bundle_Value,Home_Per_Metr,Weight))
+Tehran_Bundle_Value1<-weighted.mean(T_Bundle_Value$Bundle_Value,T_Bundle_Value$Weight,na.rm = TRUE)
+Tehran_Bundle_Value2<-weighted.mean(T_Bundle_Value$Home_Per_Metr,T_Bundle_Value$Weight,na.rm = TRUE)
+CBNPoor[,RealPriceIndex1:=weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/Tehran_Bundle_Value1,by=ProvinceCode]
+CBNPoor[,RealPriceIndex2:=weighted.mean(Home_Per_Metr,Weight,na.rm = TRUE)/Tehran_Bundle_Value2,by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex1,Weight),by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex2,Weight),by=ProvinceCode]
+Indexes2<-CBNPoor[,.(RealPriceIndex1,RealPriceIndex2,ProvinceCode,Weight)]
+Indexes2<-Indexes2[,RealPriceIndex:=(RealPriceIndex1+RealPriceIndex2)/2]
+Indexes<-Indexes2[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+Indexes31<-Indexes[,.(ProvinceCode,RealPriceIndex1,RealPriceIndex2,RealPriceIndex)]
+Indexes<-Indexes[,.(ProvinceCode,RealPriceIndex)]
+CBN<-merge(CBN,Indexes,by=c("ProvinceCode"),all.x = TRUE)
+CBN<-CBN[,Total_Food_Month_Per2:=FoodExpenditure_Per*RealPriceIndex]
+CBN<-CBN[,Total_Exp_Month_Per2:=Total_Exp_Month_Per_nondurable*RealPriceIndex]
+#utils::View(CBN)
+
+#Sort Expenditure data
+CBN<- CBN[order(Total_Exp_Month_Per2)]
+
+#Calculate cumulative weights
+sum(CBN$Weight)
+CBN$cumweight <- cumsum(CBN$Weight)
+tx <- max(CBN$cumweight)
+
+#Calculate deciles by weights
+CBN[,Decile:=cut(cumweight,breaks = seq(0,tx,tx/10),labels = 1:10)]
+CBN[,Percentile:=cut(cumweight,breaks=seq(0,tx,tx/100),labels=1:100)]
+
+#Update Poors
+CBN[,Poor:=ifelse(Decile %in% 1:4,1,0)]
+CBNPoor<-CBN[Poor==1]
+CBNPoor<-merge(CBNPoor,dt2,by=c("ProvinceCode"),all.x = TRUE)
+CBNPoor[,sum(HIndivNo),by=.(ProvinceCode)][order(ProvinceCode)]
+
+###Iteration1-2
+#Calculate Per_calories in clusters
+CBNPoor[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(185:200)][]
+#utils::View(CBNPoor)
+
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(202:217)][]
+
+CBNPoor[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor<-CBNPoor[Per_Daily_Exp_Calories!=0]
+CBNPoor[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+#CBN[,weighted.mean(Poor,Weight),by=cluster][order(cluster)]
+
+#Real Prices
+T_Bundle_Value<-subset(CBNPoor, ProvinceCode==23, select=c(Bundle_Value,Home_Per_Metr,Weight))
+Tehran_Bundle_Value1<-weighted.mean(T_Bundle_Value$Bundle_Value,T_Bundle_Value$Weight,na.rm = TRUE)
+Tehran_Bundle_Value2<-weighted.mean(T_Bundle_Value$Home_Per_Metr,T_Bundle_Value$Weight,na.rm = TRUE)
+CBNPoor[,RealPriceIndex1:=weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/Tehran_Bundle_Value1,by=ProvinceCode]
+CBNPoor[,RealPriceIndex2:=weighted.mean(Home_Per_Metr,Weight,na.rm = TRUE)/Tehran_Bundle_Value2,by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex1,Weight),by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex2,Weight),by=ProvinceCode]
+Indexes2<-CBNPoor[,.(RealPriceIndex1,RealPriceIndex2,ProvinceCode,Weight)]
+Indexes2<-Indexes2[,RealPriceIndex:=(RealPriceIndex1+RealPriceIndex2)/2]
+Indexes<-Indexes2[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+Indexes32<-Indexes[,.(ProvinceCode,RealPriceIndex1,RealPriceIndex2,RealPriceIndex)]
+Indexes<-Indexes[,.(ProvinceCode,RealPriceIndex)]
+CBN[,RealPriceIndex:=NULL]
+CBN<-merge(CBN,Indexes,by=c("ProvinceCode"),all.x = TRUE)
+CBN<-CBN[,Total_Food_Month_Per2:=FoodExpenditure_Per*RealPriceIndex]
+CBN<-CBN[,Total_Exp_Month_Per2:=Total_Exp_Month_Per_nondurable*RealPriceIndex]
+#utils::View(CBN)
+
+#Sort Expenditure data
+CBN<- CBN[order(Total_Exp_Month_Per2)]
+
+#Calculate cumulative weights
+sum(CBN$Weight)
+CBN$cumweight <- cumsum(CBN$Weight)
+tx <- max(CBN$cumweight)
+
+#Calculate deciles by weights
+CBN[,Decile:=cut(cumweight,breaks = seq(0,tx,tx/10),labels = 1:10)]
+CBN[,Percentile:=cut(cumweight,breaks=seq(0,tx,tx/100),labels=1:100)]
+
+#Update Poors
+CBN[,Poor:=ifelse(Decile %in% 1:4,1,0)]
+CBNPoor<-CBN[Poor==1]
+CBNPoor<-merge(CBNPoor,dt2,by=c("ProvinceCode"),all.x = TRUE)
+CBNPoor[,sum(HIndivNo),by=.(ProvinceCode)][order(ProvinceCode)]
+
+###Iteration1-3
+#Calculate Per_calories in clusters
+CBNPoor[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(185:200)][]
+#utils::View(CBNPoor)
+
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(202:217)][]
+
+CBNPoor[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor<-CBNPoor[Per_Daily_Exp_Calories!=0]
+CBNPoor[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+#CBN[,weighted.mean(Poor,Weight),by=cluster][order(cluster)]
+
+#Real Prices
+T_Bundle_Value<-subset(CBNPoor, ProvinceCode==23, select=c(Bundle_Value,Home_Per_Metr,Weight))
+Tehran_Bundle_Value1<-weighted.mean(T_Bundle_Value$Bundle_Value,T_Bundle_Value$Weight,na.rm = TRUE)
+Tehran_Bundle_Value2<-weighted.mean(T_Bundle_Value$Home_Per_Metr,T_Bundle_Value$Weight,na.rm = TRUE)
+CBNPoor[,RealPriceIndex1:=weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/Tehran_Bundle_Value1,by=ProvinceCode]
+CBNPoor[,RealPriceIndex2:=weighted.mean(Home_Per_Metr,Weight,na.rm = TRUE)/Tehran_Bundle_Value2,by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex1,Weight),by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex2,Weight),by=ProvinceCode]
+Indexes2<-CBNPoor[,.(RealPriceIndex1,RealPriceIndex2,ProvinceCode,Weight)]
+Indexes2<-Indexes2[,RealPriceIndex:=(RealPriceIndex1+RealPriceIndex2)/2]
+Indexes<-Indexes2[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+Indexes33<-Indexes[,.(ProvinceCode,RealPriceIndex1,RealPriceIndex2,RealPriceIndex)]
+Indexes<-Indexes[,.(ProvinceCode,RealPriceIndex)]
+CBN[,RealPriceIndex:=NULL]
+CBN<-merge(CBN,Indexes,by=c("ProvinceCode"),all.x = TRUE)
+CBN<-CBN[,Total_Food_Month_Per2:=FoodExpenditure_Per*RealPriceIndex]
+CBN<-CBN[,Total_Exp_Month_Per2:=Total_Exp_Month_Per_nondurable*RealPriceIndex]
+#utils::View(CBN)
+
+#Sort Expenditure data
+CBN<- CBN[order(Total_Exp_Month_Per2)]
+
+#Calculate cumulative weights
+sum(CBN$Weight)
+CBN$cumweight <- cumsum(CBN$Weight)
+tx <- max(CBN$cumweight)
+
+#Calculate deciles by weights
+CBN[,Decile:=cut(cumweight,breaks = seq(0,tx,tx/10),labels = 1:10)]
+CBN[,Percentile:=cut(cumweight,breaks=seq(0,tx,tx/100),labels=1:100)]
+
+#Update Poors
+CBN[,Poor:=ifelse(Decile %in% 1:4,1,0)]
+CBNPoor<-CBN[Poor==1]
+CBNPoor<-merge(CBNPoor,dt2,by=c("ProvinceCode"),all.x = TRUE)
+CBNPoor[,sum(HIndivNo),by=.(ProvinceCode)][order(ProvinceCode)]
+
+
+###Iteration1-4
+#Calculate Per_calories in clusters
+CBNPoor[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(185:200)][]
+#utils::View(CBNPoor)
+
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(202:217)][]
+
+CBNPoor[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor<-CBNPoor[Per_Daily_Exp_Calories!=0]
+CBNPoor[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+#CBN[,weighted.mean(Poor,Weight),by=cluster][order(cluster)]
+
+#Real Prices
+T_Bundle_Value<-subset(CBNPoor, ProvinceCode==23, select=c(Bundle_Value,Home_Per_Metr,Weight))
+Tehran_Bundle_Value1<-weighted.mean(T_Bundle_Value$Bundle_Value,T_Bundle_Value$Weight,na.rm = TRUE)
+Tehran_Bundle_Value2<-weighted.mean(T_Bundle_Value$Home_Per_Metr,T_Bundle_Value$Weight,na.rm = TRUE)
+CBNPoor[,RealPriceIndex1:=weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/Tehran_Bundle_Value1,by=ProvinceCode]
+CBNPoor[,RealPriceIndex2:=weighted.mean(Home_Per_Metr,Weight,na.rm = TRUE)/Tehran_Bundle_Value2,by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex1,Weight),by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex2,Weight),by=ProvinceCode]
+Indexes2<-CBNPoor[,.(RealPriceIndex1,RealPriceIndex2,ProvinceCode,Weight)]
+Indexes2<-Indexes2[,RealPriceIndex:=(RealPriceIndex1+RealPriceIndex2)/2]
+Indexes<-Indexes2[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+Indexes34<-Indexes[,.(ProvinceCode,RealPriceIndex1,RealPriceIndex2,RealPriceIndex)]
+Indexes<-Indexes[,.(ProvinceCode,RealPriceIndex)]
+CBN[,RealPriceIndex:=NULL]
+CBN<-merge(CBN,Indexes,by=c("ProvinceCode"),all.x = TRUE)
+CBN<-CBN[,Total_Food_Month_Per2:=FoodExpenditure_Per*RealPriceIndex]
+CBN<-CBN[,Total_Exp_Month_Per2:=Total_Exp_Month_Per_nondurable*RealPriceIndex]
+#utils::View(CBN)
+
+
+#Sort Expenditure data
+CBN<- CBN[order(Total_Exp_Month_Per2)]
+
+#Calculate cumulative weights
+sum(CBN$Weight)
+CBN$cumweight <- cumsum(CBN$Weight)
+tx <- max(CBN$cumweight)
+
+#Calculate deciles by weights
+CBN[,Decile:=cut(cumweight,breaks = seq(0,tx,tx/10),labels = 1:10)]
+CBN[,Percentile:=cut(cumweight,breaks=seq(0,tx,tx/100),labels=1:100)]
+
+#Update Poors
+CBN[,Poor:=ifelse(Decile %in% 1:4,1,0)]
+CBNPoor<-CBN[Poor==1]
+CBNPoor<-merge(CBNPoor,dt2,by=c("ProvinceCode"),all.x = TRUE)
+CBNPoor[,sum(HIndivNo),by=.(ProvinceCode)][order(ProvinceCode)]
+
+###Iteration1-5
+#Calculate Per_calories in clusters
+CBNPoor[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(185:200)][]
+#utils::View(CBNPoor)
+
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(202:217)][]
+
+CBNPoor[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor<-CBNPoor[Per_Daily_Exp_Calories!=0]
+CBNPoor[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+#CBN[,weighted.mean(Poor,Weight),by=cluster][order(cluster)]
+
+#Real Prices
+T_Bundle_Value<-subset(CBNPoor, ProvinceCode==23, select=c(Bundle_Value,Home_Per_Metr,Weight))
+Tehran_Bundle_Value1<-weighted.mean(T_Bundle_Value$Bundle_Value,T_Bundle_Value$Weight,na.rm = TRUE)
+Tehran_Bundle_Value2<-weighted.mean(T_Bundle_Value$Home_Per_Metr,T_Bundle_Value$Weight,na.rm = TRUE)
+CBNPoor[,RealPriceIndex1:=weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/Tehran_Bundle_Value1,by=ProvinceCode]
+CBNPoor[,RealPriceIndex2:=weighted.mean(Home_Per_Metr,Weight,na.rm = TRUE)/Tehran_Bundle_Value2,by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex1,Weight),by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex2,Weight),by=ProvinceCode]
+Indexes2<-CBNPoor[,.(RealPriceIndex1,RealPriceIndex2,ProvinceCode,Weight)]
+Indexes2<-Indexes2[,RealPriceIndex:=(RealPriceIndex1+RealPriceIndex2)/2]
+Indexes<-Indexes2[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+Indexes35<-Indexes[,.(ProvinceCode,RealPriceIndex1,RealPriceIndex2,RealPriceIndex)]
+Indexes<-Indexes[,.(ProvinceCode,RealPriceIndex)]
+CBN[,RealPriceIndex:=NULL]
+CBN<-merge(CBN,Indexes,by=c("ProvinceCode"),all.x = TRUE)
+CBN<-CBN[,Total_Food_Month_Per2:=FoodExpenditure_Per*RealPriceIndex]
+CBN<-CBN[,Total_Exp_Month_Per2:=Total_Exp_Month_Per_nondurable*RealPriceIndex]
+#utils::View(CBN)
+
+
+#Sort Expenditure data
+CBN<- CBN[order(Total_Exp_Month_Per2)]
+
+#Calculate cumulative weights
+sum(CBN$Weight)
+CBN$cumweight <- cumsum(CBN$Weight)
+tx <- max(CBN$cumweight)
+
+#Calculate deciles by weights
+CBN[,Decile:=cut(cumweight,breaks = seq(0,tx,tx/10),labels = 1:10)]
+CBN[,Percentile:=cut(cumweight,breaks=seq(0,tx,tx/100),labels=1:100)]
+
+#Update Poors
+CBN[,Poor:=ifelse(Decile %in% 1:4,1,0)]
+CBNPoor<-CBN[Poor==1]
+CBNPoor<-merge(CBNPoor,dt2,by=c("ProvinceCode"),all.x = TRUE)
+CBNPoor[,sum(HIndivNo),by=.(ProvinceCode)][order(ProvinceCode)]
+
+###Iteration1-6
+#Calculate Per_calories in clusters
+CBNPoor[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(185:200)][]
+#utils::View(CBNPoor)
+
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(202:217)][]
+
+CBNPoor[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor<-CBNPoor[Per_Daily_Exp_Calories!=0]
+CBNPoor[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+#CBN[,weighted.mean(Poor,Weight),by=cluster][order(cluster)]
+
+#Real Prices
+T_Bundle_Value<-subset(CBNPoor, ProvinceCode==23, select=c(Bundle_Value,Home_Per_Metr,Weight))
+Tehran_Bundle_Value1<-weighted.mean(T_Bundle_Value$Bundle_Value,T_Bundle_Value$Weight,na.rm = TRUE)
+Tehran_Bundle_Value2<-weighted.mean(T_Bundle_Value$Home_Per_Metr,T_Bundle_Value$Weight,na.rm = TRUE)
+CBNPoor[,RealPriceIndex1:=weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/Tehran_Bundle_Value1,by=ProvinceCode]
+CBNPoor[,RealPriceIndex2:=weighted.mean(Home_Per_Metr,Weight,na.rm = TRUE)/Tehran_Bundle_Value2,by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex1,Weight),by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex2,Weight),by=ProvinceCode]
+Indexes2<-CBNPoor[,.(RealPriceIndex1,RealPriceIndex2,ProvinceCode,Weight)]
+Indexes2<-Indexes2[,RealPriceIndex:=(RealPriceIndex1+RealPriceIndex2)/2]
+Indexes<-Indexes2[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+Indexes36<-Indexes[,.(ProvinceCode,RealPriceIndex1,RealPriceIndex2,RealPriceIndex)]
+Indexes<-Indexes[,.(ProvinceCode,RealPriceIndex)]
+CBN[,RealPriceIndex:=NULL]
+CBN<-merge(CBN,Indexes,by=c("ProvinceCode"),all.x = TRUE)
+CBN<-CBN[,Total_Food_Month_Per2:=FoodExpenditure_Per*RealPriceIndex]
+CBN<-CBN[,Total_Exp_Month_Per2:=Total_Exp_Month_Per_nondurable*RealPriceIndex]
+#utils::View(CBN)
+
+
+#Sort Expenditure data
+CBN<- CBN[order(Total_Exp_Month_Per2)]
+
+#Calculate cumulative weights
+sum(CBN$Weight)
+CBN$cumweight <- cumsum(CBN$Weight)
+tx <- max(CBN$cumweight)
+
+#Calculate deciles by weights
+CBN[,Decile:=cut(cumweight,breaks = seq(0,tx,tx/10),labels = 1:10)]
+CBN[,Percentile:=cut(cumweight,breaks=seq(0,tx,tx/100),labels=1:100)]
+
+#Update Poors
+CBN[,Poor:=ifelse(Decile %in% 1:4,1,0)]
+CBNPoor<-CBN[Poor==1]
+CBNPoor<-merge(CBNPoor,dt2,by=c("ProvinceCode"),all.x = TRUE)
+CBNPoor[,sum(HIndivNo),by=.(ProvinceCode)][order(ProvinceCode)]
+
+###Iteration1-7
+#Calculate Per_calories in clusters
+CBNPoor[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(185:200)][]
+#utils::View(CBNPoor)
+
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(202:217)][]
+
+CBNPoor[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor<-CBNPoor[Per_Daily_Exp_Calories!=0]
+CBNPoor[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+#CBN[,weighted.mean(Poor,Weight),by=cluster][order(cluster)]
+
+#Real Prices
+T_Bundle_Value<-subset(CBNPoor, ProvinceCode==23, select=c(Bundle_Value,Home_Per_Metr,Weight))
+Tehran_Bundle_Value1<-weighted.mean(T_Bundle_Value$Bundle_Value,T_Bundle_Value$Weight,na.rm = TRUE)
+Tehran_Bundle_Value2<-weighted.mean(T_Bundle_Value$Home_Per_Metr,T_Bundle_Value$Weight,na.rm = TRUE)
+CBNPoor[,RealPriceIndex1:=weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/Tehran_Bundle_Value1,by=ProvinceCode]
+CBNPoor[,RealPriceIndex2:=weighted.mean(Home_Per_Metr,Weight,na.rm = TRUE)/Tehran_Bundle_Value2,by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex1,Weight),by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex2,Weight),by=ProvinceCode]
+Indexes2<-CBNPoor[,.(RealPriceIndex1,RealPriceIndex2,ProvinceCode,Weight)]
+Indexes2<-Indexes2[,RealPriceIndex:=(RealPriceIndex1+RealPriceIndex2)/2]
+Indexes<-Indexes2[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+Indexes37<-Indexes[,.(ProvinceCode,RealPriceIndex1,RealPriceIndex2,RealPriceIndex)]
+Indexes<-Indexes[,.(ProvinceCode,RealPriceIndex)]
+CBN[,RealPriceIndex:=NULL]
+CBN<-merge(CBN,Indexes,by=c("ProvinceCode"),all.x = TRUE)
+CBN<-CBN[,Total_Food_Month_Per2:=FoodExpenditure_Per*RealPriceIndex]
+CBN<-CBN[,Total_Exp_Month_Per2:=Total_Exp_Month_Per_nondurable*RealPriceIndex]
+#utils::View(CBN)
+
+
+#Sort Expenditure data
+CBN<- CBN[order(Total_Exp_Month_Per2)]
+
+#Calculate cumulative weights
+sum(CBN$Weight)
+CBN$cumweight <- cumsum(CBN$Weight)
+tx <- max(CBN$cumweight)
+
+#Calculate deciles by weights
+CBN[,Decile:=cut(cumweight,breaks = seq(0,tx,tx/10),labels = 1:10)]
+CBN[,Percentile:=cut(cumweight,breaks=seq(0,tx,tx/100),labels=1:100)]
+
+#Update Poors
+CBN[,Poor:=ifelse(Decile %in% 1:4,1,0)]
+CBNPoor<-CBN[Poor==1]
+CBNPoor<-merge(CBNPoor,dt2,by=c("ProvinceCode"),all.x = TRUE)
+CBNPoor[,sum(HIndivNo),by=.(ProvinceCode)][order(ProvinceCode)]
+
+###Iteration1-8
+#Calculate Per_calories in clusters
+CBNPoor[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(185:200)][]
+#utils::View(CBNPoor)
+
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(202:217)][]
+
+CBNPoor[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor<-CBNPoor[Per_Daily_Exp_Calories!=0]
+CBNPoor[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+#CBN[,weighted.mean(Poor,Weight),by=cluster][order(cluster)]
+
+#Real Prices
+T_Bundle_Value<-subset(CBNPoor, ProvinceCode==23, select=c(Bundle_Value,Home_Per_Metr,Weight))
+Tehran_Bundle_Value1<-weighted.mean(T_Bundle_Value$Bundle_Value,T_Bundle_Value$Weight,na.rm = TRUE)
+Tehran_Bundle_Value2<-weighted.mean(T_Bundle_Value$Home_Per_Metr,T_Bundle_Value$Weight,na.rm = TRUE)
+CBNPoor[,RealPriceIndex1:=weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/Tehran_Bundle_Value1,by=ProvinceCode]
+CBNPoor[,RealPriceIndex2:=weighted.mean(Home_Per_Metr,Weight,na.rm = TRUE)/Tehran_Bundle_Value2,by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex1,Weight),by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex2,Weight),by=ProvinceCode]
+Indexes2<-CBNPoor[,.(RealPriceIndex1,RealPriceIndex2,ProvinceCode,Weight)]
+Indexes2<-Indexes2[,RealPriceIndex:=(RealPriceIndex1+RealPriceIndex2)/2]
+Indexes<-Indexes2[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+Indexes38<-Indexes[,.(ProvinceCode,RealPriceIndex1,RealPriceIndex2,RealPriceIndex)]
+Indexes<-Indexes[,.(ProvinceCode,RealPriceIndex)]
+CBN[,RealPriceIndex:=NULL]
+CBN<-merge(CBN,Indexes,by=c("ProvinceCode"),all.x = TRUE)
+CBN<-CBN[,Total_Food_Month_Per2:=FoodExpenditure_Per*RealPriceIndex]
+CBN<-CBN[,Total_Exp_Month_Per2:=Total_Exp_Month_Per_nondurable*RealPriceIndex]
+#utils::View(CBN)
+
+
+#Sort Expenditure data
+CBN<- CBN[order(Total_Exp_Month_Per2)]
+
+#Calculate cumulative weights
+sum(CBN$Weight)
+CBN$cumweight <- cumsum(CBN$Weight)
+tx <- max(CBN$cumweight)
+
+#Calculate deciles by weights
+CBN[,Decile:=cut(cumweight,breaks = seq(0,tx,tx/10),labels = 1:10)]
+CBN[,Percentile:=cut(cumweight,breaks=seq(0,tx,tx/100),labels=1:100)]
+
+#Update Poors
+CBN[,Poor:=ifelse(Decile %in% 1:4,1,0)]
+CBNPoor<-CBN[Poor==1]
+CBNPoor<-merge(CBNPoor,dt2,by=c("ProvinceCode"),all.x = TRUE)
+CBNPoor[,sum(HIndivNo),by=.(ProvinceCode)][order(ProvinceCode)]
+
+###Iteration1-9
+#Calculate Per_calories in clusters
+CBNPoor[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(185:200)][]
+#utils::View(CBNPoor)
+
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(202:217)][]
+
+CBNPoor[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor<-CBNPoor[Per_Daily_Exp_Calories!=0]
+CBNPoor[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+#CBN[,weighted.mean(Poor,Weight),by=cluster][order(cluster)]
+
+#Real Prices
+T_Bundle_Value<-subset(CBNPoor, ProvinceCode==23, select=c(Bundle_Value,Home_Per_Metr,Weight))
+Tehran_Bundle_Value1<-weighted.mean(T_Bundle_Value$Bundle_Value,T_Bundle_Value$Weight,na.rm = TRUE)
+Tehran_Bundle_Value2<-weighted.mean(T_Bundle_Value$Home_Per_Metr,T_Bundle_Value$Weight,na.rm = TRUE)
+CBNPoor[,RealPriceIndex1:=weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/Tehran_Bundle_Value1,by=ProvinceCode]
+CBNPoor[,RealPriceIndex2:=weighted.mean(Home_Per_Metr,Weight,na.rm = TRUE)/Tehran_Bundle_Value2,by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex1,Weight),by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex2,Weight),by=ProvinceCode]
+Indexes2<-CBNPoor[,.(RealPriceIndex1,RealPriceIndex2,ProvinceCode,Weight)]
+Indexes2<-Indexes2[,RealPriceIndex:=(RealPriceIndex1+RealPriceIndex2)/2]
+Indexes<-Indexes2[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+Indexes39<-Indexes[,.(ProvinceCode,RealPriceIndex1,RealPriceIndex2,RealPriceIndex)]
+Indexes<-Indexes[,.(ProvinceCode,RealPriceIndex)]
+CBN[,RealPriceIndex:=NULL]
+CBN<-merge(CBN,Indexes,by=c("ProvinceCode"),all.x = TRUE)
+CBN<-CBN[,Total_Food_Month_Per2:=FoodExpenditure_Per*RealPriceIndex]
+CBN<-CBN[,Total_Exp_Month_Per2:=Total_Exp_Month_Per_nondurable*RealPriceIndex]
+#utils::View(CBN)
+
+
+#Sort Expenditure data
+CBN<- CBN[order(Total_Exp_Month_Per2)]
+
+#Calculate cumulative weights
+sum(CBN$Weight)
+CBN$cumweight <- cumsum(CBN$Weight)
+tx <- max(CBN$cumweight)
+
+#Calculate deciles by weights
+CBN[,Decile:=cut(cumweight,breaks = seq(0,tx,tx/10),labels = 1:10)]
+CBN[,Percentile:=cut(cumweight,breaks=seq(0,tx,tx/100),labels=1:100)]
+
+#Update Poors
+CBN[,Poor:=ifelse(Decile %in% 1:4,1,0)]
+CBNPoor<-CBN[Poor==1]
+CBNPoor<-merge(CBNPoor,dt2,by=c("ProvinceCode"),all.x = TRUE)
+CBNPoor[,sum(HIndivNo),by=.(ProvinceCode)][order(ProvinceCode)]
+
+###Iteration1-10
+#Calculate Per_calories in clusters
+CBNPoor[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(185:200)][]
+#utils::View(CBNPoor)
+
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(202:217)][]
+
+CBNPoor[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor<-CBNPoor[Per_Daily_Exp_Calories!=0]
+CBNPoor[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+#CBN[,weighted.mean(Poor,Weight),by=cluster][order(cluster)]
+
+#Real Prices
+T_Bundle_Value<-subset(CBNPoor, ProvinceCode==23, select=c(Bundle_Value,Home_Per_Metr,Weight))
+Tehran_Bundle_Value1<-weighted.mean(T_Bundle_Value$Bundle_Value,T_Bundle_Value$Weight,na.rm = TRUE)
+Tehran_Bundle_Value2<-weighted.mean(T_Bundle_Value$Home_Per_Metr,T_Bundle_Value$Weight,na.rm = TRUE)
+CBNPoor[,RealPriceIndex1:=weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/Tehran_Bundle_Value1,by=ProvinceCode]
+CBNPoor[,RealPriceIndex2:=weighted.mean(Home_Per_Metr,Weight,na.rm = TRUE)/Tehran_Bundle_Value2,by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex1,Weight),by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex2,Weight),by=ProvinceCode]
+Indexes2<-CBNPoor[,.(RealPriceIndex1,RealPriceIndex2,ProvinceCode,Weight)]
+Indexes2<-Indexes2[,RealPriceIndex:=(RealPriceIndex1+RealPriceIndex2)/2]
+Indexes<-Indexes2[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+Indexes310<-Indexes[,.(ProvinceCode,RealPriceIndex1,RealPriceIndex2,RealPriceIndex)]
+Indexes<-Indexes[,.(ProvinceCode,RealPriceIndex)]
+CBN[,RealPriceIndex:=NULL]
+CBN<-merge(CBN,Indexes,by=c("ProvinceCode"),all.x = TRUE)
+CBN<-CBN[,Total_Food_Month_Per2:=FoodExpenditure_Per*RealPriceIndex]
+CBN<-CBN[,Total_Exp_Month_Per2:=Total_Exp_Month_Per_nondurable*RealPriceIndex]
+#utils::View(CBN)
+
+
+#Sort Expenditure data
+CBN<- CBN[order(Total_Exp_Month_Per2)]
+
+#Calculate cumulative weights
+sum(CBN$Weight)
+CBN$cumweight <- cumsum(CBN$Weight)
+tx <- max(CBN$cumweight)
+
+#Calculate deciles by weights
+CBN[,Decile:=cut(cumweight,breaks = seq(0,tx,tx/10),labels = 1:10)]
+CBN[,Percentile:=cut(cumweight,breaks=seq(0,tx,tx/100),labels=1:100)]
+
+#Update Poors
+CBN[,Poor:=ifelse(Decile %in% 1:4,1,0)]
+CBNPoor<-CBN[Poor==1]
+CBNPoor<-merge(CBNPoor,dt2,by=c("ProvinceCode"),all.x = TRUE)
+CBNPoor[,sum(HIndivNo),by=.(ProvinceCode)][order(ProvinceCode)]
+
+
+#Calculate Per_calories in clusters
+CBNPoor[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(189:204)][]
+#utils::View(CBNPoor)
+
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(206:221)][]
+
+CBNPoor[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor<-CBNPoor[Per_Daily_Exp_Calories!=0]
+CBNPoor[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNCalory<-CBNPoor[,.(Per_Daily_Calories,Per_Daily_Exp_Calories,Per_Calory_Resturant,Resturant_Exp,cluster,ProvinceCode)]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+
+
+#Calculations
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_day,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,sum(Size*Weight),by=cluster][order(cluster)]
+
+
+#Food Poverty Line for each cluster
+#cluster 1
+CBNPoorCluster<-CBNPoor[cluster==1]
+Food_Povertyline1_1<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 2
+CBNPoorCluster<-CBNPoor[cluster==2]
+Food_Povertyline2_1<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 3
+CBNPoorCluster<-CBNPoor[cluster==3]
+Food_Povertyline3_1<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 4
+CBNPoorCluster<-CBNPoor[cluster==4]
+Food_Povertyline4_1<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 5
+CBNPoorCluster<-CBNPoor[cluster==5]
+Food_Povertyline5_1<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#ee<-CBNPoor[,.(Total_Exp_Month_Real,Total_Exp_Month,Total_Food_Month_Per2,Total_Exp_Month_Per_nondurable,Total_Exp_Month_nondurable_Real_Per,FoodExpenditure_Per,cluster)]
+#mean(ee[,Total_Food_Month_Per2==Total_Exp_Month_nondurable_Real])
+#mean(ee[,Total_Food_Month_Per2<3500000])
+#ee<- ee[order(Total_Food_Month_Per2)]
+#utils::View(CBN)
+CBN<-merge(CBN,dt2,by=c("ProvinceCode"),all.x = TRUE)
+#for (col in c("Total_Food_Month_Per2")) CBN[is.na(get(col)), (col) := Total_Exp_Month_Per_nondurable]
+c<-CBN[,.(FoodExpenditure_Per,FoodExpenditure_Per_total,Total_Exp_Month_Per_nondurable,Total_Exp_Month,Total_Food_Month_Per2,Poor,Decile,Weight,cluster)]
+
+#########Iteration 2###############
+#Sort Expenditure data
+CBN<- CBN[order(Total_Food_Month_Per2)]
+c<- c[order(Total_Food_Month_Per2)]
+
+#Indicate new poors
+CBN[,Poor2:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_1 & cluster==1,1,0)]
+c[,Poor2:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_1 & cluster==1 ,1,0)]
+CBN[,Poor2:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_1 & cluster==2,1,Poor2)]
+c[,Poor2:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_1 & cluster==2 ,1,Poor2)]
+CBN[,Poor2:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_1 & cluster==3,1,Poor2)]
+c[,Poor2:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_1 & cluster==3 ,1,Poor2)]
+CBN[,Poor2:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_1 & cluster==4,1,Poor2)]
+c[,Poor2:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_1 & cluster==4 ,1,Poor2)]
+CBN[,Poor2:=ifelse(FoodExpenditure_Per_total < Food_Povertyline5_1 & cluster==5,1,Poor2)]
+c[,Poor2:=ifelse(FoodExpenditure_Per_total < Food_Povertyline5_1 & cluster==5 ,1,Poor2)]
+CBN[,weighted.mean(Poor2,Weight),by=cluster][order(cluster)]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2<-CBN[Poor2==1]
+
+
+#CalculatePer_calories in clusters
+CBNPoor2[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(190:205)][]
+#utils::View(CBNPoor2)
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor2[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(207:222)][]
+
+CBNPoor2[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor2[,Calory_Price:=FoodExpenditure_Per_cluster/(Daily_Calories_cluster2)]
+CBNPoor2[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor2[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2<-CBNPoor2[Per_Daily_Exp_Calories!=0]
+CBNPoor2[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor2[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor2[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor2[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor2[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor2[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+
+
+
+#Calculations
+CBNPoor2[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,weighted.mean(FoodExpenditure_Per_day,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+
+
+
+#Food Poverty Line for each cluster
+#cluster 1
+CBNPoorCluster<-CBNPoor2[cluster==1]
+Food_Povertyline1_2<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 2
+CBNPoorCluster<-CBNPoor2[cluster==2]
+Food_Povertyline2_2<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 3
+CBNPoorCluster<-CBNPoor2[cluster==3]
+Food_Povertyline3_2<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 4
+CBNPoorCluster<-CBNPoor2[cluster==4]
+Food_Povertyline4_2<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 5
+CBNPoorCluster<-CBNPoor[cluster==5]
+Food_Povertyline5_2<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#ee<-CBNPoor[,.(Total_Exp_Month_Real,Total_Exp_Month,Total_Food_Month_Per2,Total_Exp_Month_Per_nondurable,Total_Exp_Month_nondurable_Real_Per,FoodExpenditure_Per,cluster)]
+#mean(ee[,Total_Food_Month_Per2==Total_Exp_Month_nondurable_Real])
+#mean(ee[,Total_Food_Month_Per2<3500000])
+#ee<- ee[order(Total_Food_Month_Per2)]
+#utils::View(CBN)
+#for (col in c("Total_Food_Month_Per2")) CBN[is.na(get(col)), (col) := Total_Exp_Month_Per_nondurable]
+c<-CBN[,.(FoodExpenditure_Per,FoodExpenditure_Per_total,Total_Exp_Month_Per_nondurable,Total_Exp_Month,Total_Food_Month_Per2,Poor,Decile,Weight,cluster)]
+
+
+#########Iteration 3###############
+#Sort Expenditure data
+CBN<- CBN[order(Total_Food_Month_Per2)]
+c<- c[order(Total_Food_Month_Per2)]
+
+#Indicate new poors
+CBN[,Poor3:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_2 & cluster==1,1,0)]
+c[,Poor3:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_2 & cluster==1 ,1,0)]
+CBN[,Poor3:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_2 & cluster==2,1,Poor3)]
+c[,Poor3:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_2 & cluster==2 ,1,Poor3)]
+CBN[,Poor3:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_2 & cluster==3,1,Poor3)]
+c[,Poor3:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_2 & cluster==3 ,1,Poor3)]
+CBN[,Poor3:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_2 & cluster==4,1,Poor3)]
+c[,Poor3:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_2 & cluster==4 ,1,Poor3)]
+CBN[,Poor3:=ifelse(FoodExpenditure_Per_total < Food_Povertyline5_2 & cluster==5,1,Poor3)]
+c[,Poor3:=ifelse(FoodExpenditure_Per_total < Food_Povertyline5_2 & cluster==5 ,1,Poor3)]
+CBN[,weighted.mean(Poor3,Weight),by=cluster][order(cluster)]
+CBNPoor2[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3<-CBN[Poor3==1]
+
+
+
+#CalculatePer_calories in clusters
+CBNPoor3[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(191:206)][]
+#utils::View(CBNPoor3)
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor3[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(208:223)][]
+
+
+CBNPoor3[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor3[,Calory_Price:=FoodExpenditure_Per_cluster/(Daily_Calories_cluster2)]
+CBNPoor3[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor3[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3<-CBNPoor3[Per_Daily_Exp_Calories!=0]
+CBNPoor3[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor3[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+
+#sum of total food expenditures
+CBNPoor3[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor3[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor3[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor3[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+
+
+#Calculations
+CBNPoor3[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,weighted.mean(FoodExpenditure_Per_day,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+
+
+
+#Food Poverty Line for each cluster
+#cluster 1
+CBNPoorCluster<-CBNPoor3[cluster==1]
+Food_Povertyline1_3<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 2
+CBNPoorCluster<-CBNPoor3[cluster==2]
+Food_Povertyline2_3<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 3
+CBNPoorCluster<-CBNPoor3[cluster==3]
+Food_Povertyline3_3<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 4
+CBNPoorCluster<-CBNPoor3[cluster==4]
+Food_Povertyline4_3<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 5
+CBNPoorCluster<-CBNPoor[cluster==5]
+Food_Povertyline5_3<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#ee<-CBNPoor[,.(Total_Exp_Month_Real,Total_Exp_Month,Total_Food_Month_Per2,Total_Exp_Month_Per_nondurable,Total_Exp_Month_nondurable_Real_Per,FoodExpenditure_Per,cluster)]
+#mean(ee[,Total_Food_Month_Per2==Total_Exp_Month_nondurable_Real])
+#mean(ee[,Total_Food_Month_Per2<3500000])
+#ee<- ee[order(Total_Food_Month_Per2)]
+#utils::View(CBN)
+#for (col in c("Total_Food_Month_Per2")) CBN[is.na(get(col)), (col) := Total_Exp_Month_Per_nondurable]
+c<-CBN[,.(FoodExpenditure_Per,FoodExpenditure_Per_total,Total_Exp_Month_Per_nondurable,Total_Exp_Month,Total_Food_Month_Per2,Poor,Decile,Weight,cluster)]
+
+
+#########Iteration 4###############
+#Sort Expenditure data
+CBN<- CBN[order(Total_Food_Month_Per2)]
+c<- c[order(Total_Food_Month_Per2)]
+
+#Indicate new poors
+CBN[,Poor4:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_3 & cluster==1,1,0)]
+c[,Poor4:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_3 & cluster==1 ,1,0)]
+CBN[,Poor4:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_3 & cluster==2,1,Poor4)]
+c[,Poor4:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_3 & cluster==2 ,1,Poor4)]
+CBN[,Poor4:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_3 & cluster==3,1,Poor4)]
+c[,Poor4:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_3 & cluster==3 ,1,Poor4)]
+CBN[,Poor4:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_3 & cluster==4,1,Poor4)]
+c[,Poor4:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_3 & cluster==4 ,1,Poor4)]
+CBN[,Poor4:=ifelse(FoodExpenditure_Per_total < Food_Povertyline5_3 & cluster==5,1,Poor4)]
+c[,Poor4:=ifelse(FoodExpenditure_Per_total < Food_Povertyline5_3 & cluster==5 ,1,Poor4)]
+CBN[,weighted.mean(Poor4,Weight),by=cluster][order(cluster)]
+CBNPoor3[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4<-CBN[Poor4==1]
+
+#CalculatePer_calories in clusters
+CBNPoor4[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(191:206)][]
+#utils::View(CBNPoor4)
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor4[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(208:223)][]
+
+
+CBNPoor4[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor4[,Calory_Price:=FoodExpenditure_Per_cluster/(Daily_Calories_cluster2)]
+CBNPoor4[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor4[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4<-CBNPoor4[Per_Daily_Exp_Calories!=0]
+CBNPoor4[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor4[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+
+#sum of total food expenditures
+CBNPoor4[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor4[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor4[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor4[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+
+
+#Calculations
+CBNPoor4[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,weighted.mean(FoodExpenditure_Per_day,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+
+
+
+#Food Poverty Line for each cluster
+#cluster 1
+CBNPoorCluster<-CBNPoor4[cluster==1]
+Food_Povertyline1_4<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 2
+CBNPoorCluster<-CBNPoor4[cluster==2]
+Food_Povertyline2_4<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 3
+CBNPoorCluster<-CBNPoor4[cluster==3]
+Food_Povertyline3_4<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 4
+CBNPoorCluster<-CBNPoor4[cluster==4]
+Food_Povertyline4_4<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 5
+CBNPoorCluster<-CBNPoor[cluster==5]
+Food_Povertyline5_4<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#ee<-CBNPoor[,.(Total_Exp_Month_Real,Total_Exp_Month,Total_Food_Month_Per2,Total_Exp_Month_Per_nondurable,Total_Exp_Month_nondurable_Real_Per,FoodExpenditure_Per,cluster)]
+#mean(ee[,Total_Food_Month_Per2==Total_Exp_Month_nondurable_Real])
+#mean(ee[,Total_Food_Month_Per2<3500000])
+#ee<- ee[order(Total_Food_Month_Per2)]
+#utils::View(CBN)
+#for (col in c("Total_Food_Month_Per2")) CBN[is.na(get(col)), (col) := Total_Exp_Month_Per_nondurable]
+c<-CBN[,.(FoodExpenditure_Per,FoodExpenditure_Per_total,Total_Exp_Month_Per_nondurable,Total_Exp_Month,Total_Food_Month_Per2,Poor,Decile,Weight,cluster)]
+
+
+#########Iteration 5###############
+#Sort Expenditure data
+CBN<- CBN[order(Total_Food_Month_Per2)]
+c<- c[order(Total_Food_Month_Per2)]
+
+#Indicate new poors
+CBN[,Poor5:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_4 & cluster==1,1,0)]
+c[,Poor5:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_4 & cluster==1 ,1,0)]
+CBN[,Poor5:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_4 & cluster==2,1,Poor5)]
+c[,Poor5:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_4 & cluster==2 ,1,Poor5)]
+CBN[,Poor5:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_4 & cluster==3,1,Poor5)]
+c[,Poor5:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_4 & cluster==3 ,1,Poor5)]
+CBN[,Poor5:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_4 & cluster==4,1,Poor5)]
+c[,Poor5:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_4 & cluster==4 ,1,Poor5)]
+CBN[,Poor5:=ifelse(FoodExpenditure_Per_total < Food_Povertyline5_4 & cluster==5,1,Poor5)]
+c[,Poor5:=ifelse(FoodExpenditure_Per_total < Food_Povertyline5_4 & cluster==5 ,1,Poor5)]
+CBN[,weighted.mean(Poor5,Weight),by=cluster][order(cluster)]
+CBNPoor4[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5<-CBN[Poor5==1]
+
+#CalculatePer_calories in clusters
+CBNPoor5[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(191:206)][]
+#utils::View(CBNPoor5)
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor5[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(208:223)][]
+
+
+CBNPoor5[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor5[,Calory_Price:=FoodExpenditure_Per_cluster/(Daily_Calories_cluster2)]
+CBNPoor5[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor5[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5<-CBNPoor5[Per_Daily_Exp_Calories!=0]
+CBNPoor5[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor5[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+
+#sum of total food expenditures
+CBNPoor5[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor5[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor5[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor5[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+
+
+#Calculations
+CBNPoor5[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,weighted.mean(FoodExpenditure_Per_day,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+
+
+
+#Food Poverty Line for each cluster
+#cluster 1
+CBNPoorCluster<-CBNPoor5[cluster==1]
+Food_Povertyline1_5<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 2
+CBNPoorCluster<-CBNPoor5[cluster==2]
+Food_Povertyline2_5<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 3
+CBNPoorCluster<-CBNPoor5[cluster==3]
+Food_Povertyline3_5<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 4
+CBNPoorCluster<-CBNPoor5[cluster==4]
+Food_Povertyline4_5<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 5
+CBNPoorCluster<-CBNPoor[cluster==5]
+Food_Povertyline5_5<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#ee<-CBNPoor[,.(Total_Exp_Month_Real,Total_Exp_Month,Total_Food_Month_Per2,Total_Exp_Month_Per_nondurable,Total_Exp_Month_nondurable_Real_Per,FoodExpenditure_Per,cluster)]
+#mean(ee[,Total_Food_Month_Per2==Total_Exp_Month_nondurable_Real])
+#mean(ee[,Total_Food_Month_Per2<3500000])
+#ee<- ee[order(Total_Food_Month_Per2)]
+#utils::View(CBN)
+#for (col in c("Total_Food_Month_Per2")) CBN[is.na(get(col)), (col) := Total_Exp_Month_Per_nondurable]
+c<-CBN[,.(FoodExpenditure_Per,FoodExpenditure_Per_total,Total_Exp_Month_Per_nondurable,Total_Exp_Month,Total_Food_Month_Per2,Poor,Decile,Weight,cluster)]
+
+
+#########Iteration 6###############
+#Sort Expenditure data
+CBN<- CBN[order(Total_Food_Month_Per2)]
+c<- c[order(Total_Food_Month_Per2)]
+
+#Indicate new poors
+CBN[,Poor6:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_5 & cluster==1,1,0)]
+c[,Poor6:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_5 & cluster==1 ,1,0)]
+CBN[,Poor6:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_5 & cluster==2,1,Poor6)]
+c[,Poor6:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_5 & cluster==2 ,1,Poor6)]
+CBN[,Poor6:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_5 & cluster==3,1,Poor6)]
+c[,Poor6:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_5 & cluster==3 ,1,Poor6)]
+CBN[,Poor6:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_5 & cluster==4,1,Poor6)]
+c[,Poor6:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_5 & cluster==4 ,1,Poor6)]
+CBN[,Poor6:=ifelse(FoodExpenditure_Per_total < Food_Povertyline5_5 & cluster==5,1,Poor6)]
+c[,Poor6:=ifelse(FoodExpenditure_Per_total < Food_Povertyline5_5 & cluster==5 ,1,Poor6)]
+CBN[,weighted.mean(Poor6,Weight),by=cluster][order(cluster)]
+CBNPoor5[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6<-CBN[Poor6==1]
+
+#CalculatePer_calories in clusters
+CBNPoor6[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(191:206)][]
+#utils::View(CBNPoor6)
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor6[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(208:223)][]
+
+
+CBNPoor6[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor6[,Calory_Price:=FoodExpenditure_Per_cluster/(Daily_Calories_cluster2)]
+CBNPoor6[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor6[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6<-CBNPoor6[Per_Daily_Exp_Calories!=0]
+CBNPoor6[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor6[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+
+#sum of total food expenditures
+CBNPoor6[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor6[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor6[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor6[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+
+
+#Calculations
+CBNPoor6[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,weighted.mean(FoodExpenditure_Per_day,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+
+
+#Food Poverty Line for each cluster
+#cluster 1
+CBNPoorCluster<-CBNPoor6[cluster==1]
+Food_Povertyline1_6<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 2
+CBNPoorCluster<-CBNPoor6[cluster==2]
+Food_Povertyline2_6<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 3
+CBNPoorCluster<-CBNPoor6[cluster==3]
+Food_Povertyline3_6<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 4
+CBNPoorCluster<-CBNPoor6[cluster==4]
+Food_Povertyline4_6<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 5
+CBNPoorCluster<-CBNPoor[cluster==5]
+Food_Povertyline5_6<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#ee<-CBNPoor[,.(Total_Exp_Month_Real,Total_Exp_Month,Total_Food_Month_Per2,Total_Exp_Month_Per_nondurable,Total_Exp_Month_nondurable_Real_Per,FoodExpenditure_Per,cluster)]
+#mean(ee[,Total_Food_Month_Per2==Total_Exp_Month_nondurable_Real])
+#mean(ee[,Total_Food_Month_Per2<3500000])
+#ee<- ee[order(Total_Food_Month_Per2)]
+#utils::View(CBN)
+#for (col in c("Total_Food_Month_Per2")) CBN[is.na(get(col)), (col) := Total_Exp_Month_Per_nondurable]
+c<-CBN[,.(FoodExpenditure_Per,FoodExpenditure_Per_total,Total_Exp_Month_Per_nondurable,Total_Exp_Month,Total_Food_Month_Per2,Poor,Decile,Weight,cluster)]
+
+
+#########Iteration 7###############
+#Sort Expenditure data
+CBN<- CBN[order(Total_Food_Month_Per2)]
+c<- c[order(Total_Food_Month_Per2)]
+
+#Indicate new poors
+CBN[,Poor7:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_6 & cluster==1,1,0)]
+c[,Poor7:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_6 & cluster==1 ,1,0)]
+CBN[,Poor7:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_6 & cluster==2,1,Poor7)]
+c[,Poor7:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_6 & cluster==2 ,1,Poor7)]
+CBN[,Poor7:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_6 & cluster==3,1,Poor7)]
+c[,Poor7:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_6 & cluster==3 ,1,Poor7)]
+CBN[,Poor7:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_6 & cluster==4,1,Poor7)]
+c[,Poor7:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_6 & cluster==4 ,1,Poor7)]
+CBN[,Poor7:=ifelse(FoodExpenditure_Per_total < Food_Povertyline5_6 & cluster==5,1,Poor7)]
+c[,Poor7:=ifelse(FoodExpenditure_Per_total < Food_Povertyline5_6 & cluster==5 ,1,Poor7)]
+CBN[,weighted.mean(Poor7,Weight),by=cluster][order(cluster)]
+CBNPoor6[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7<-CBN[Poor7==1]
+
+#CalculatePer_calories in clusters
+CBNPoor7[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(191:206)][]
+#utils::View(CBNPoor7)
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor7[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(208:223)][]
+
+
+CBNPoor7[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor7[,Calory_Price:=FoodExpenditure_Per_cluster/(Daily_Calories_cluster2)]
+CBNPoor7[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor7[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7<-CBNPoor7[Per_Daily_Exp_Calories!=0]
+CBNPoor7[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor7[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+
+#sum of total food expenditures
+CBNPoor7[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor7[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor7[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor7[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+
+
+#Calculations
+CBNPoor7[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,weighted.mean(FoodExpenditure_Per_day,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+
+
+
+#Food Poverty Line for each cluster
+#cluster 1
+CBNPoorCluster<-CBNPoor7[cluster==1]
+Food_Povertyline1_7<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 2
+CBNPoorCluster<-CBNPoor7[cluster==2]
+Food_Povertyline2_7<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 3
+CBNPoorCluster<-CBNPoor7[cluster==3]
+Food_Povertyline3_7<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 4
+CBNPoorCluster<-CBNPoor7[cluster==4]
+Food_Povertyline4_7<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 5
+CBNPoorCluster<-CBNPoor[cluster==5]
+Food_Povertyline5_7<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#ee<-CBNPoor[,.(Total_Exp_Month_Real,Total_Exp_Month,Total_Food_Month_Per2,Total_Exp_Month_Per_nondurable,Total_Exp_Month_nondurable_Real_Per,FoodExpenditure_Per,cluster)]
+#mean(ee[,Total_Food_Month_Per2==Total_Exp_Month_nondurable_Real])
+#mean(ee[,Total_Food_Month_Per2<3500000])
+#ee<- ee[order(Total_Food_Month_Per2)]
+#utils::View(CBN)
+#for (col in c("Total_Food_Month_Per2")) CBN[is.na(get(col)), (col) := Total_Exp_Month_Per_nondurable]
+c<-CBN[,.(FoodExpenditure_Per,FoodExpenditure_Per_total,Total_Exp_Month_Per_nondurable,Total_Exp_Month,Total_Food_Month_Per2,Poor,Decile,Weight,cluster)]
+
+
+#########Iteration 8###############
+#Sort Expenditure data
+CBN<- CBN[order(Total_Food_Month_Per2)]
+c<- c[order(Total_Food_Month_Per2)]
+
+#Indicate new poors
+CBN[,Poor8:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_7 & cluster==1,1,0)]
+c[,Poor8:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_7 & cluster==1 ,1,0)]
+CBN[,Poor8:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_7 & cluster==2,1,Poor8)]
+c[,Poor8:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_7 & cluster==2 ,1,Poor8)]
+CBN[,Poor8:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_7 & cluster==3,1,Poor8)]
+c[,Poor8:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_7 & cluster==3 ,1,Poor8)]
+CBN[,Poor8:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_7 & cluster==4,1,Poor8)]
+c[,Poor8:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_7 & cluster==4 ,1,Poor8)]
+CBN[,Poor8:=ifelse(FoodExpenditure_Per_total < Food_Povertyline5_7 & cluster==5,1,Poor8)]
+c[,Poor8:=ifelse(FoodExpenditure_Per_total < Food_Povertyline5_7 & cluster==5 ,1,Poor8)]
+CBN[,weighted.mean(Poor8,Weight),by=cluster][order(cluster)]
+CBNPoor7[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8<-CBN[Poor8==1]
+
+
+#CalculatePer_calories in clusters
+CBNPoor8[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(191:206)][]
+#utils::View(CBNPoor8)
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor8[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(208:223)][]
+
+
+CBNPoor8[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor8[,Calory_Price:=FoodExpenditure_Per_cluster/(Daily_Calories_cluster2)]
+CBNPoor8[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor8[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8<-CBNPoor8[Per_Daily_Exp_Calories!=0]
+CBNPoor8[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor8[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+
+#sum of total food expenditures
+CBNPoor8[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor8[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor8[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor8[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+
+
+#Calculations
+CBNPoor8[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,weighted.mean(FoodExpenditure_Per_day,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+
+
+
+#Food Poverty Line for each cluster
+#cluster 1
+CBNPoorCluster<-CBNPoor8[cluster==1]
+Food_Povertyline1_8<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 2
+CBNPoorCluster<-CBNPoor8[cluster==2]
+Food_Povertyline2_8<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 3
+CBNPoorCluster<-CBNPoor8[cluster==3]
+Food_Povertyline3_8<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 4
+CBNPoorCluster<-CBNPoor8[cluster==4]
+Food_Povertyline4_8<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 5
+CBNPoorCluster<-CBNPoor[cluster==5]
+Food_Povertyline5_8<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#ee<-CBNPoor[,.(Total_Exp_Month_Real,Total_Exp_Month,Total_Food_Month_Per2,Total_Exp_Month_Per_nondurable,Total_Exp_Month_nondurable_Real_Per,FoodExpenditure_Per,cluster)]
+#mean(ee[,Total_Food_Month_Per2==Total_Exp_Month_nondurable_Real])
+#mean(ee[,Total_Food_Month_Per2<3500000])
+#ee<- ee[order(Total_Food_Month_Per2)]
+#utils::View(CBN)
+#for (col in c("Total_Food_Month_Per2")) CBN[is.na(get(col)), (col) := Total_Exp_Month_Per_nondurable]
+c<-CBN[,.(FoodExpenditure_Per,FoodExpenditure_Per_total,Total_Exp_Month_Per_nondurable,Total_Exp_Month,Total_Food_Month_Per2,Poor,Decile,Weight,cluster)]
+
+
+#########Iteration 9###############
+#Sort Expenditure data
+CBN<- CBN[order(Total_Food_Month_Per2)]
+c<- c[order(Total_Food_Month_Per2)]
+
+#Indicate new poors
+CBN[,Poor9:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_8 & cluster==1,1,0)]
+c[,Poor9:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_8 & cluster==1 ,1,0)]
+CBN[,Poor9:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_8 & cluster==2,1,Poor9)]
+c[,Poor9:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_8 & cluster==2 ,1,Poor9)]
+CBN[,Poor9:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_8 & cluster==3,1,Poor9)]
+c[,Poor9:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_8 & cluster==3 ,1,Poor9)]
+CBN[,Poor9:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_8 & cluster==4,1,Poor9)]
+c[,Poor9:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_8 & cluster==4 ,1,Poor9)]
+CBN[,Poor9:=ifelse(FoodExpenditure_Per_total < Food_Povertyline5_8 & cluster==5,1,Poor9)]
+c[,Poor9:=ifelse(FoodExpenditure_Per_total < Food_Povertyline5_8 & cluster==5 ,1,Poor9)]
+CBN[,weighted.mean(Poor9,Weight),by=cluster][order(cluster)]
+CBNPoor8[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9<-CBN[Poor9==1]
+
+
+#CalculatePer_calories in clusters
+CBNPoor9[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(191:206)][]
+#utils::View(CBNPoor9)
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor9[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(208:223)][]
+
+
+CBNPoor9[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor9[,Calory_Price:=FoodExpenditure_Per_cluster/(Daily_Calories_cluster2)]
+CBNPoor9[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor9[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9<-CBNPoor9[Per_Daily_Exp_Calories!=0]
+CBNPoor9[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor9[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+
+#sum of total food expenditures
+CBNPoor9[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor9[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor9[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor9[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+
+
+
+#Calculations
+CBNPoor9[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,weighted.mean(FoodExpenditure_Per_day,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+
+
+
+#Food Poverty Line for each cluster
+#cluster 1
+CBNPoorCluster<-CBNPoor9[cluster==1]
+Food_Povertyline1_9<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 2
+CBNPoorCluster<-CBNPoor9[cluster==2]
+Food_Povertyline2_9<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 3
+CBNPoorCluster<-CBNPoor9[cluster==3]
+Food_Povertyline3_9<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 4
+CBNPoorCluster<-CBNPoor9[cluster==4]
+Food_Povertyline4_9<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 5
+CBNPoorCluster<-CBNPoor[cluster==5]
+Food_Povertyline5_9<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#ee<-CBNPoor[,.(Total_Exp_Month_Real,Total_Exp_Month,Total_Food_Month_Per2,Total_Exp_Month_Per_nondurable,Total_Exp_Month_nondurable_Real_Per,FoodExpenditure_Per,cluster)]
+#mean(ee[,Total_Food_Month_Per2==Total_Exp_Month_nondurable_Real])
+#mean(ee[,Total_Food_Month_Per2<3500000])
+#ee<- ee[order(Total_Food_Month_Per2)]
+#utils::View(CBN)
+#for (col in c("Total_Food_Month_Per2")) CBN[is.na(get(col)), (col) := Total_Exp_Month_Per_nondurable]
+c<-CBN[,.(FoodExpenditure_Per,FoodExpenditure_Per_total,Total_Exp_Month_Per_nondurable,Total_Exp_Month,Total_Food_Month_Per2,Poor,Decile,Weight,cluster)]
+
+
+#########Iteration 10###############
+#Sort Expenditure data
+CBN<- CBN[order(Total_Food_Month_Per2)]
+c<- c[order(Total_Food_Month_Per2)]
+
+#Indicate new poors
+CBN[,Poor10:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_9 & cluster==1,1,0)]
+c[,Poor10:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_9 & cluster==1 ,1,0)]
+CBN[,Poor10:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_9 & cluster==2,1,Poor10)]
+c[,Poor10:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_9 & cluster==2 ,1,Poor10)]
+CBN[,Poor10:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_9 & cluster==3,1,Poor10)]
+c[,Poor10:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_9 & cluster==3 ,1,Poor10)]
+CBN[,Poor10:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_9 & cluster==4,1,Poor10)]
+c[,Poor10:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_9 & cluster==4 ,1,Poor10)]
+CBN[,Poor10:=ifelse(FoodExpenditure_Per_total < Food_Povertyline5_9 & cluster==5,1,Poor10)]
+c[,Poor10:=ifelse(FoodExpenditure_Per_total < Food_Povertyline5_9 & cluster==5 ,1,Poor10)]
+CBN[,weighted.mean(Poor10,Weight),by=cluster][order(cluster)]
+CBNPoor9[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor10<-CBN[Poor10==1]
+
+#Engel
+#CBNPoor9<-CBNPoor9[,ratio1:=FoodExpenditure/Total_Exp_Month]
+#CBNPoor9[,weighted.mean(ratio1,Weight),by=cluster]
+#summary(CBNPoor9$ratio1)
+CBN<-CBN[,ratio1:=FoodExpenditure/Total_Exp_Month]
+CBN[,weighted.mean(ratio1,Weight),by=ProvinceCode][order(ProvinceCode)]
+CBN<-CBN[,ratio2:=ServiceExp/Total_Exp_Month]
+CBN[,weighted.mean(ratio2,Weight),by=ProvinceCode][order(ProvinceCode)]
+
+# Poverty Line for each cluster
+#cluster 1
+CBNPoorCluster<-CBN[cluster==1 & FoodExpenditure_Per<1.1*Food_Povertyline1_9 & FoodExpenditure_Per>0.90*Food_Povertyline1_9]
+Engel1<-weighted.mean(CBNPoorCluster$ratio1,CBNPoorCluster$Weight)
+Engel_Reverse1<-1/Engel1
+Povertyline1_9<-Engel_Reverse1*Food_Povertyline1_9
+
+#cluster 2
+CBNPoorCluster<-CBN[cluster==2 & FoodExpenditure_Per<1.1*Food_Povertyline2_9 & FoodExpenditure_Per>0.90*Food_Povertyline2_9]
+Engel2<-weighted.mean(CBNPoorCluster$ratio1,CBNPoorCluster$Weight)
+Engel_Reverse2<-1/Engel2
+Povertyline2_9<-Engel_Reverse2*Food_Povertyline2_9
+
+#cluster 3
+CBNPoorCluster<-CBN[cluster==3 & FoodExpenditure_Per<1.1*Food_Povertyline3_9 & FoodExpenditure_Per>0.90*Food_Povertyline3_9]
+Engel3<-weighted.mean(CBNPoorCluster$ratio1,CBNPoorCluster$Weight)
+Engel_Reverse3<-1/Engel3
+Povertyline3_9<-Engel_Reverse3*Food_Povertyline3_9
+
+#cluster 4
+CBNPoorCluster<-CBN[cluster==4 & FoodExpenditure_Per<1.1*Food_Povertyline4_9 & FoodExpenditure_Per>0.90*Food_Povertyline4_9]
+Engel4<-weighted.mean(CBNPoorCluster$ratio1,CBNPoorCluster$Weight)
+Engel_Reverse4<-1/Engel4
+Povertyline4_9<-Engel_Reverse4*Food_Povertyline4_9
+
+#cluster 5
+CBNPoorCluster<-CBN[cluster==5 & FoodExpenditure_Per<1.1*Food_Povertyline5_9 & FoodExpenditure_Per>0.90*Food_Povertyline5_9]
+Engel5<-weighted.mean(CBNPoorCluster$ratio1,CBNPoorCluster$Weight)
+Engel_Reverse5<-1/Engel5
+Povertyline5_9<-Engel_Reverse5*Food_Povertyline5_9
+
+#Indicate final poors
+CBN<-CBN[,Total_Exp_Month_Per2:=Total_Exp_Month_Per_nondurable*RealPriceIndex]
+
+CBN[,Poor11:=ifelse(Total_Exp_Month_Per_nondurable < Povertyline1_9 & cluster==1,1,0)]
+CBN[,Poor11:=ifelse(Total_Exp_Month_Per_nondurable < Povertyline2_9 & cluster==2,1,Poor11)]
+CBN[,Poor11:=ifelse(Total_Exp_Month_Per_nondurable < Povertyline3_9 & cluster==3,1,Poor11)]
+CBN[,Poor11:=ifelse(Total_Exp_Month_Per_nondurable < Povertyline4_9 & cluster==4,1,Poor11)]
+CBN[,Poor11:=ifelse(Total_Exp_Month_Per_nondurable < Povertyline5_9 & cluster==5,1,Poor11)]
+CBN[,weighted.mean(Poor11,Weight),by=cluster][order(cluster)]
+CBNPoor9[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor11<-CBN[Poor11==1]
+
+CBN[,sum(Size*Weight),by=cluster][order(cluster)]
+CBNPoor9[,sum(Size*Weight),by=cluster][order(cluster)]
+CBNPoor9[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBN[,weighted.mean(Poor11,Weight)]
+CBN[,weighted.mean(Poor11,Weight),by=cluster][order(cluster)]
+CBN[,weighted.mean(Poor11,Weight),by=ProvinceCode][order(ProvinceCode)]
+endtime <- proc.time()
+
+cat("\n\n============================\nIt took ")
+cat(endtime-starttime)
+
diff --git a/R/Archive/Other Codes/60-CBN89-Rural.R b/R/Archive/Other Codes/60-CBN89-Rural.R
new file mode 100644
index 00000000..7000ef53
--- /dev/null
+++ b/R/Archive/Other Codes/60-CBN89-Rural.R
@@ -0,0 +1,2938 @@
+#CBN Method-Rural.R
+#
+# Copyright © 2018:Arin Shahbazian
+# Licence: GPL-3
+#
+rm(list=ls())
+
+starttime <- proc.time()
+cat("\n\n================ Prepare Data =====================================\n")
+
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+library(readxl)
+library(stringr)
+library(data.table)
+
+#for(year in (Settings$startyear:Settings$endyear)){
+# cat(paste0("\n------------------------------\nYear:",year,"\n"))
+
+load(file=paste0(Settings$HEISProcessedPath,"Y","89","HHBase.rda"))
+HHBase[,IndivNo:=NULL]
+HHBase[,Relationship:=NULL]
+HHBase[,Sex:=NULL]
+HHBase[,Age:=NULL]
+HHBase[,Literate:=NULL]
+HHBase[,Student:=NULL]
+HHBase[,EduCode:=NULL]
+HHBase[,EduYears:=NULL]
+HHBase[,EduLevel:=NULL]
+HHBase[,EduLevel0:=NULL]
+HHBase[,ActivityState:=NULL]
+HHBase[,MarritalState:=NULL]
+load(file=paste0(Settings$HEISProcessedPath,"Y","89","Ghand_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","89","Hoboobat_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","89","Roghan_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","89","Berenj_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","89","Nan_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","89","Goosht_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","89","Morgh_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","89","Mahi_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","89","Shir_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","89","Mast_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","89","Panir_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","89","Tokhmemorgh_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","89","Mive_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","89","Sabzi_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","89","Makarooni_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","89","Sibzamini_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","89","Weights.rda"))
+
+Ghand_Data<-Ghand_Data[,.(HHID,Ghandgram,GhandPrice)]
+Hoboobat_Data<-Hoboobat_Data[,.(HHID,Hoboobatgram,HoboobatPrice)]
+Roghan_Data<-Roghan_Data[,.(HHID,Roghangram,RoghanPrice)]
+Berenj_Data<-Berenj_Data[,.(HHID,Berenjgram,BerenjPrice)]
+Nan_Data<-Nan_Data[,.(HHID,Nangram,NanPrice)]
+Goosht_Data<-Goosht_Data[,.(HHID,Gooshtgram,GooshtPrice)]
+Morgh_Data<-Morgh_Data[,.(HHID,Morghgram,MorghPrice)]
+Mahi_Data<-Mahi_Data[,.(HHID,Mahigram,MahiPrice)]
+Shir_Data<-Shir_Data[,.(HHID,Shirgram,ShirPrice)]
+Mast_Data<-Mast_Data[,.(HHID,Mastgram,MastPrice)]
+Panir_Data<-Panir_Data[,.(HHID,Panirgram,PanirPrice)]
+Tokhmemorgh_Data<-Tokhmemorgh_Data[,.(HHID,Tokhmemorghgram,TokhmemorghPrice)]
+Mive_Data<-Mive_Data[,.(HHID,Mivegram,MivePrice)]
+Sabzi_Data<-Sabzi_Data[,.(HHID,Sabzigram,SabziPrice)]
+Makarooni_Data<-Makarooni_Data[,.(HHID,Makaroonigram,MakarooniPrice)]
+Sibzamini_Data<-Sibzamini_Data[,.(HHID,Sibzaminigram,SibzaminiPrice)]
+
+Food<-merge(HHBase,Ghand_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Ghandgram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Hoboobat_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Hoboobatgram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Roghan_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Roghangram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Berenj_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Berenjgram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Nan_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Nangram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Goosht_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Gooshtgram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Morgh_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Morghgram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Mahi_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Mahigram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Shir_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Shirgram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Mast_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Mastgram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Panir_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Panirgram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Tokhmemorgh_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Tokhmemorghgram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Mive_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Mivegram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Sabzi_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Sabzigram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Makarooni_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Makaroonigram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Sibzamini_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Sibzaminigram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Weights,by =c("HHID"),all.x=TRUE)
+
+
+
+#load Expenditure groups
+load(file=paste0(Settings$HEISProcessedPath,"Y","89","HHBase.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","89","HHI.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","89","Foods.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","89","Cigars.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","89","Cloths.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","89","Amusements.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","89","Communications.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","89","Durables.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","89","Education.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","89","Energy.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","89","Furnitures.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","89","Hotels.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","89","House.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","89","Medicals.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","89","Behdashts.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","89","Transportations.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","89","Others.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","89","Investments.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","89","Resturants.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","89","Weights.rda"))
+
+#merge Expenditure groups
+CBN<-merge(Food,HHI ,by =c("HHID"),all=TRUE)
+CBN<-merge(CBN,FoodData,by =c("HHID"),all=TRUE)
+for (col in c("FoodExpenditure")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,CigarData,by =c("HHID"),all=TRUE)
+for (col in c("Cigar_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,ClothData,by =c("HHID"),all=TRUE)
+for (col in c("Cloth_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,AmusementData,by =c("HHID"),all=TRUE)
+for (col in c("Amusement_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,CommunicationData,by =c("HHID"),all=TRUE)
+for (col in c("Communication_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,EducData,by =c("HHID"),all=TRUE)
+for (col in c("EducExpenditure")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,EnergyData,by =c("HHID"),all=TRUE)
+for (col in c("Energy_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,FurnitureData,by =c("HHID"),all=TRUE)
+for (col in c("Furniture_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,HotelData,by =c("HHID"),all=TRUE)
+for (col in c("Hotel_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,BehdashtData,by =c("HHID"),all=TRUE)
+for (col in c("Behdasht_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,TransportationData,by =c("HHID"),all=TRUE)
+for (col in c("Transportation_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,OtherData,by =c("HHID"),all=TRUE)
+for (col in c("Other_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,HouseData,by =c("HHID"),all=TRUE)
+for (col in c("ServiceExp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,InvestmentData,by =c("HHID"),all=TRUE)
+for (col in c("Investment_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,MedicalData,by =c("HHID"),all=TRUE)
+for (col in c("Medical_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,DurableData,by =c("HHID"),all=TRUE)
+for (col in c("Durable_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,ResturantData,by =c("HHID"),all=TRUE)
+for (col in c("Resturant_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-CBN[Size!=0]
+CBN<-CBN[Region=="Rural"]
+CBN<-CBN[FoodExpenditure!=0]
+
+
+#Calculate Per_Total Expenditures Monthly
+CBN[, Total_Exp_Month := Reduce(`+`, .SD), .SDcols=c(65:77,82:83)][]
+CBN[, Total_Exp_Month_nondurable := Reduce(`+`, .SD), .SDcols=65:77][]
+
+CBN$Total_Exp_Month_Per<-CBN$Total_Exp_Month/CBN$EqSizeOECD
+CBN$Total_Exp_Month_Per_nondurable<-CBN$Total_Exp_Month_nondurable/CBN$EqSizeOECD
+
+#Calculate Per_Food Expenditures Monthly
+CBN[,EqSizeCalory :=(Size-NKids) + NKids*(1800/2100)]
+CBN$FoodExpenditure_Per<-CBN$FoodExpenditure/CBN$EqSizeCalory
+
+#Calculate Per_Food Expenditures Daily
+CBN$FoodExpenditure_Per_day<-CBN$FoodExpenditure_Per/30
+
+CBN$Ghandgram_Per_day<-CBN$Ghandgram/(30*CBN$EqSizeOECD)
+CBN$Hoboobatgram_Per_day<-CBN$Hoboobatgram/(30*CBN$EqSizeOECD)
+CBN$Berenjgram_Per_day<-CBN$Berenjgram/(30*CBN$EqSizeOECD)
+CBN$Nangram_Per_day<-CBN$Nangram/(30*CBN$EqSizeOECD)
+CBN$Roghangram_Per_day<-CBN$Roghangram/(30*CBN$EqSizeOECD)
+CBN$Gooshtgram_Per_day<-CBN$Gooshtgram/(30*CBN$EqSizeOECD)
+CBN$Morghgram_Per_day<-CBN$Morghgram/(30*CBN$EqSizeOECD)
+CBN$Mahigram_Per_day<-CBN$Mahigram/(30*CBN$EqSizeOECD)
+CBN$Shirgram_Per_day<-CBN$Shirgram/(30*CBN$EqSizeOECD)
+CBN$Mastgram_Per_day<-CBN$Mastgram/(30*CBN$EqSizeOECD)
+CBN$Panirgram_Per_day<-CBN$Panirgram/(30*CBN$EqSizeOECD)
+CBN$Tokhmemorghgram_Per_day<-CBN$Tokhmemorghgram/(30*CBN$EqSizeOECD)
+CBN$Mivegram_Per_day<-CBN$Mivegram/(30*CBN$EqSizeOECD)
+CBN$Sabzigram_Per_day<-CBN$Sabzigram/(30*CBN$EqSizeOECD)
+CBN$Makaroonigram_Per_day<-CBN$Makaroonigram/(30*CBN$EqSizeOECD)
+CBN$Sibzaminigram_Per_day<-CBN$Sibzaminigram/(30*CBN$EqSizeOECD)
+CBN[,EqSizeCalory:=NULL]
+
+load(file="PriceIndex95.rda")
+CBN<-merge(CBN,PriceIndex95,by=c("ProvinceCode"),all.x = TRUE)
+CBN[,ostan:=NULL]
+load(file="PriceIndex.rda")
+CBN<-merge(CBN,PriceIndex,by=c("ProvinceCode"),all.x = TRUE)
+
+#Sort Expenditure data
+CBN<- CBN[order(Total_Exp_Month_Per_nondurable)]
+
+#Calculate cumulative weights
+sum(CBN$Weight)
+CBN$cumweight <- cumsum(CBN$Weight)
+tx <- max(CBN$cumweight)
+
+#Calculate deciles by weights
+CBN[,Decile:=cut(cumweight,breaks = seq(0,tx,tx/10),labels = 1:10)]
+CBN[,Percentile:=cut(cumweight,breaks=seq(0,tx,tx/100),labels=1:100)]
+
+
+CBN$Ghand_W<-CBN$Ghandgram_Per_day*CBN$GhandPrice*0.001*30
+CBN$Hoboobat_W<-CBN$Hoboobatgram_Per_day*CBN$HoboobatPrice*0.001*30
+CBN$Roghan_W<-CBN$Roghangram_Per_day*CBN$RoghanPrice*0.001*30
+CBN$Berenj_W<-CBN$Berenjgram_Per_day*CBN$BerenjPrice*0.001*30
+CBN$Nan_W<-CBN$Nangram_Per_day*CBN$NanPrice*0.001*30
+CBN$Goosht_W<-CBN$Gooshtgram_Per_day*CBN$GooshtPrice*0.001*30
+CBN$Morgh_W<-CBN$Morghgram_Per_day*CBN$MorghPrice*0.001*30
+CBN$Mahi_W<-CBN$Mahigram_Per_day*CBN$MahiPrice*0.001*30
+CBN$Shir_W<-CBN$Shirgram_Per_day*CBN$ShirPrice*0.001*30
+CBN$Mast_W<-CBN$Mastgram_Per_day*CBN$MastPrice*0.001*30
+CBN$Panir_W<-CBN$Panirgram_Per_day*CBN$PanirPrice*0.001*30
+CBN$Tokhmemorgh_W<-CBN$Tokhmemorghgram_Per_day*CBN$TokhmemorghPrice*0.001*30
+CBN$Mive_W<-CBN$Mivegram_Per_day*CBN$MivePrice*0.001*30
+CBN$Sabzi_W<-CBN$Sabzigram_Per_day*CBN$SabziPrice*0.001*30
+CBN$Makarooni_W<-CBN$Makaroonigram_Per_day*CBN$MakarooniPrice*0.001*30
+CBN$Sibzamini_W<-CBN$Sibzaminigram_Per_day*CBN$SibzaminiPrice*0.001*30
+CBN$Home_W<-CBN$ServiceExp/CBN$EqSizeOECD
+CBN$Home_Per_Metr<-CBN$MetrPrice/CBN$EqSizeOECD
+
+#Seperate big cities
+CBN[,sum(Weight*Size),by=ProvinceCode][order(V1)]
+CBN[,HHIDs:=as.character(HHID)]
+CBN[,ShahrestanCode:=as.integer(str_sub(HHIDs,2,5))]
+CBN[,sum(Weight*Size),by=ShahrestanCode][order(V1)][330:387]
+CBNTehran<-CBN[ProvinceCode==23]
+CBNTehran[,sum(Weight*Size),by=ShahrestanCode]
+CBNTabriz<-CBN[ProvinceCode==3]
+CBNTabriz[,sum(Weight*Size),by=ShahrestanCode]
+CBNAhvaz<-CBN[ProvinceCode==6]
+CBNAhvaz[,sum(Weight*Size),by=ShahrestanCode]
+CBNShiraz<-CBN[ProvinceCode==7]
+CBNShiraz[,sum(Weight*Size),by=ShahrestanCode]
+CBNMashhad<-CBN[ProvinceCode==9]
+CBNMashhad[,sum(Weight*Size),by=ShahrestanCode]
+CBNEsfahan<-CBN[ProvinceCode==10]
+CBNEsfahan[,sum(Weight*Size),by=ShahrestanCode]
+CBNKaraj<-CBN[ProvinceCode==30]
+CBNKaraj[,sum(Weight*Size),by=ShahrestanCode]
+CBNKermanshah<-CBN[ProvinceCode==5]
+CBNKermanshah[,sum(Weight*Size),by=ShahrestanCode]
+
+
+# Food Calories
+CBN$Ghand_Calory<- CBN$Ghandgram *4
+CBN$Hoboobat_Calory<- CBN$Hoboobatgram *3
+CBN$Nan_Calory<- CBN$Nangram *2.5
+CBN$Berenj_Calory<- CBN$Berenjgram *1.2
+CBN$Roghan_Calory<- CBN$Roghangram *8
+CBN$Goosht_Calory<- CBN$Gooshtgram *2.5
+CBN$Morgh_Calory<- CBN$Morghgram *2
+CBN$Mahi_Calory<- CBN$Mahigram *1
+CBN$Shir_Calory<- CBN$Shirgram *2.5
+CBN$Mast_Calory<- CBN$Mastgram *1.5
+CBN$Panir_Calory<- CBN$Mastgram *2.5
+CBN$Tokhmemorgh_Calory<- CBN$Tokhmemorghgram *1.4
+CBN$Mive_Calory<- CBN$Mivegram *0.5
+CBN$Sabzi_Calory<- CBN$Sabzigram *0.5
+CBN$Makarooni_Calory<- CBN$Makaroonigram *3.6
+CBN$Sibzamini_Calory<- CBN$Sibzaminigram *0.9
+#utils::View(CBN)
+
+#CalculatePer_calories
+CBN[, Daily_Exp_Calories := Reduce(`+`, .SD), .SDcols=148:163][]
+CBN[,EqSizeCalory :=(Size-NKids) + NKids*(1800/2100)]
+CBN[,Per_Daily_Exp_Calories:=Daily_Exp_Calories/EqSizeCalory]
+CBN <- CBN[Per_Daily_Exp_Calories<100000] # arbitrary removal of outliers
+#CBN[,Daily_Calories_cluster:=weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+#CBN[,weighted.mean(Daily_Calories_cluster,Weight,na.rm = TRUE),by=cluster]
+#CBN[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+#CBN[,weighted.mean(Size,Weight,na.rm = TRUE),by=cluster]
+#CBN[,sum(Weight*Size),by=cluster]
+#CBN[,sum(Weight),by=cluster]
+#CBN[,sum(Poor),by=cluster]
+
+
+#Calculate_Per_calories
+CBN$Ghand_per_Calory<- CBN$Ghandgram *4/CBN$EqSizeCalory
+CBN$Hoboobat_per_Calory<- CBN$Hoboobatgram *3/CBN$EqSizeCalory
+CBN$Nan_per_Calory<- CBN$Nangram *2.5/CBN$EqSizeCalory
+CBN$Berenj_per_Calory<- CBN$Berenjgram *1.2/CBN$EqSizeCalory
+CBN$Roghan_per_Calory<- CBN$Roghangram *8/CBN$EqSizeCalory
+CBN$Goosht_per_Calory<- CBN$Gooshtgram *2.5/CBN$EqSizeCalory
+CBN$Morgh_per_Calory<- CBN$Morghgram *2/CBN$EqSizeCalory
+CBN$Mahi_per_Calory<- CBN$Mahigram *1/CBN$EqSizeCalory
+CBN$Shir_per_Calory<- CBN$Shirgram *2.5/CBN$EqSizeCalory
+CBN$Mast_per_Calory<- CBN$Mastgram *1.5/CBN$EqSizeCalory
+CBN$Panir_per_Calory<- CBN$Mastgram *2.5/CBN$EqSizeCalory
+CBN$Tokhmemorgh_per_Calory<- CBN$Tokhmemorghgram *1.4/CBN$EqSizeCalory
+CBN$Mive_per_Calory<- CBN$Mivegram *0.5/CBN$EqSizeCalory
+CBN$Sabzi_per_Calory<- CBN$Sabzigram *0.5/CBN$EqSizeCalory
+CBN$Makarooni_per_Calory<- CBN$Makaroonigram *3.6/CBN$EqSizeCalory
+CBN$Sibzamini_per_Calory<- CBN$Sibzaminigram *0.9/CBN$EqSizeCalory
+
+
+#Assume that deciles 1 and 2 are poor
+CBN[,Poor:=ifelse(Decile %in% 1:4,1,0)]
+CBNPoor<-CBN[Poor==1]
+
+#K-means weights
+PriceWeights<-CBN[,.(HHID,Ghand_W,Hoboobat_W,Roghan_W,Berenj_W,Nan_W,Goosht_W,Morgh_W,Mahi_W,Shir_W,Mast_W,Panir_W,Tokhmemorgh_W,Mive_W,Sabzi_W,Makarooni_W,Sibzamini_W,Home_W,ProvinceCode,Weight)]
+dt3 <- PriceWeights[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+dt3<- dt3[order(ProvinceCode)]
+dt3 <- dt3[,.(Ghand_W,Hoboobat_W,Roghan_W,Berenj_W,Nan_W,Goosht_W,Morgh_W,Mahi_W,Shir_W,Mast_W,Panir_W,Tokhmemorgh_W,Mive_W,Sabzi_W,Makarooni_W,Sibzamini_W,Home_W)]
+
+
+
+#K-means algorithm for clustering by prices
+test<-CBNPoor[,.(GhandPrice,HoboobatPrice,RoghanPrice,BerenjPrice,NanPrice,GooshtPrice,MorghPrice,MahiPrice,ShirPrice,MastPrice,PanirPrice,TokhmemorghPrice,MivePrice,SabziPrice,MakarooniPrice,SibzaminiPrice,MetrPrice,ProvinceCode,Weight)]
+#test<-CBNPoor[,.(GhandPrice,HoboobatPrice,RoghanPrice,BerenjPrice,NanPrice,GooshtPrice,MorghPrice,MahiPrice,ShirPrice,MastPrice,PanirPrice,TokhmemorghPrice,MivePrice,SabziPrice,MakarooniPrice,SibzaminiPrice,MetrPrice,Ghand_W,Hoboobat_W,Roghan_W,Berenj_W,Nan_W,Goosht_W,Morgh_W,Mahi_W,Shir_W,Mast_W,Panir_W,Tokhmemorgh_W,Mive_W,Sabzi_W,Makarooni_W,Sibzamini_W,Home_W,Region,ProvinceCode,Weight)]
+dt2 <- test[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+dt2<- dt2[order(ProvinceCode)]
+for (col in c("MahiPrice")) dt2[is.nan(get(col)), (col) := 200000]
+dt <- dt2 [,.(GhandPrice,HoboobatPrice,RoghanPrice,BerenjPrice,NanPrice,GooshtPrice,MorghPrice,MahiPrice,ShirPrice,MastPrice,PanirPrice,TokhmemorghPrice,MivePrice,SabziPrice,MakarooniPrice,SibzaminiPrice,MetrPrice)]
+
+
+pca <- princomp(dt, cor=T)
+PRICE <- pca$scores
+PRICE1 <- -1*PRICE[,1]
+PRICE2 <- -1*PRICE[,2]
+PRICE3 <- -1*PRICE[,3]
+PRICE4 <- -1*PRICE[,4]
+PRICE5 <- -1*PRICE[,5]
+PRICE6 <- -1*PRICE[,6]
+PRICE7 <- -1*PRICE[,7]
+PRICE8 <- -1*PRICE[,8]
+PRICE9 <- -1*PRICE[,9]
+PRICE10 <- -1*PRICE[,10]
+PRICE11 <- -1*PRICE[,11]
+PRICE12 <- -1*PRICE[,12]
+PRICE13 <- -1*PRICE[,13]
+PRICE14 <- -1*PRICE[,14]
+PRICE15 <- -1*PRICE[,15]
+PRICE16 <- -1*PRICE[,16]
+PRICE17 <- -1*PRICE[,17]
+
+# Deciding how many clusters
+wss <- (nrow(dt)-1)*sum(apply(dt,2,var))
+for (i in 2:28) wss[i] <- sum(kmeans(dt, centers=i)$withinss)
+plot(1:28, wss, type="b", xlab="Number of Clusters",
+ ylab="Within groups sum of squares")
+
+#Weighted clustering
+
+dt3.m <- dt3[,lapply(.SD, mean)] # Weights for each vector
+dtW <- dt * sqrt(dt3.m[rep(1,nrow(dt))]) # Weighted observations
+kmeans(dtW,4) # Simple K-means
+
+cl <- kmeans(dtW,4)
+cl$cluster
+dt2 <- dt2[,cluster:=data.table(cl$cluster)]
+dt2<-dt2[,.(ProvinceCode,cluster)]
+load(file="dt5Rural.rda")
+#plot(PRICE1, PRICE2,col=cl$cluster)
+#points(cl$centers, pch=20)
+CBNPoor<-merge(CBNPoor,dt2,by=c("ProvinceCode"),all.x = TRUE)
+CBNPoor[,sum(Weight*Size),by=cluster]
+CBNPoor[,sum(Weight),by=cluster]
+CBNPoor[,sum(Poor),by=cluster]
+C2<-CBNPoor[,.(HHID,ProvinceCode,Region,Decile,Poor,cluster)]
+######################################################################
+
+
+
+
+
+
+
+
+
+####Iteration 1#####
+###Iteration1-1
+#Calculate Per_calories in clusters
+CBNPoor[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(185:200)][]
+#utils::View(CBNPoor)
+
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(202:217)][]
+
+CBNPoor[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor<-CBNPoor[Per_Daily_Exp_Calories!=0]
+CBNPoor[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+#CBN[,weighted.mean(Poor,Weight),by=cluster][order(cluster)]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE)]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE)]
+
+#Real Prices
+T_Bundle_Value<-subset(CBNPoor, ProvinceCode==23, select=c(Bundle_Value,Home_Per_Metr,Weight))
+Tehran_Bundle_Value1<-weighted.mean(T_Bundle_Value$Bundle_Value,T_Bundle_Value$Weight,na.rm = TRUE)
+Tehran_Bundle_Value2<-weighted.mean(T_Bundle_Value$Home_Per_Metr,T_Bundle_Value$Weight,na.rm = TRUE)
+CBNPoor[,RealPriceIndex1:=weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/Tehran_Bundle_Value1,by=ProvinceCode]
+CBNPoor[,RealPriceIndex2:=weighted.mean(Home_Per_Metr,Weight,na.rm = TRUE)/Tehran_Bundle_Value2,by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex1,Weight),by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex2,Weight),by=ProvinceCode]
+Indexes2<-CBNPoor[,.(RealPriceIndex1,RealPriceIndex2,ProvinceCode,Weight)]
+Indexes2<-Indexes2[,RealPriceIndex:=(RealPriceIndex1+RealPriceIndex2)/2]
+Indexes<-Indexes2[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+Indexes31<-Indexes[,.(ProvinceCode,RealPriceIndex1,RealPriceIndex2,RealPriceIndex)]
+Indexes<-Indexes[,.(ProvinceCode,RealPriceIndex)]
+CBN<-merge(CBN,Indexes,by=c("ProvinceCode"),all.x = TRUE)
+CBN<-CBN[,Total_Food_Month_Per2:=FoodExpenditure_Per*RealPriceIndex]
+CBN<-CBN[,Total_Exp_Month_Per2:=Total_Exp_Month_Per_nondurable*RealPriceIndex]
+#utils::View(CBN)
+
+#Sort Expenditure data
+CBN<- CBN[order(Total_Exp_Month_Per2)]
+
+#Calculate cumulative weights
+sum(CBN$Weight)
+CBN$cumweight <- cumsum(CBN$Weight)
+tx <- max(CBN$cumweight)
+
+#Calculate deciles by weights
+CBN[,Decile:=cut(cumweight,breaks = seq(0,tx,tx/10),labels = 1:10)]
+CBN[,Percentile:=cut(cumweight,breaks=seq(0,tx,tx/100),labels=1:100)]
+
+#Update Poors
+CBN[,Poor:=ifelse(Decile %in% 1:4,1,0)]
+CBNPoor<-CBN[Poor==1]
+CBNPoor<-merge(CBNPoor,dt2,by=c("ProvinceCode"),all.x = TRUE)
+CBNPoor[,sum(HIndivNo),by=.(ProvinceCode)][order(ProvinceCode)]
+
+###Iteration1-2
+#Calculate Per_calories in clusters
+CBNPoor[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(185:200)][]
+#utils::View(CBNPoor)
+
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(202:217)][]
+
+CBNPoor[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor<-CBNPoor[Per_Daily_Exp_Calories!=0]
+CBNPoor[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+#CBN[,weighted.mean(Poor,Weight),by=cluster][order(cluster)]
+
+#Real Prices
+T_Bundle_Value<-subset(CBNPoor, ProvinceCode==23, select=c(Bundle_Value,Home_Per_Metr,Weight))
+Tehran_Bundle_Value1<-weighted.mean(T_Bundle_Value$Bundle_Value,T_Bundle_Value$Weight,na.rm = TRUE)
+Tehran_Bundle_Value2<-weighted.mean(T_Bundle_Value$Home_Per_Metr,T_Bundle_Value$Weight,na.rm = TRUE)
+CBNPoor[,RealPriceIndex1:=weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/Tehran_Bundle_Value1,by=ProvinceCode]
+CBNPoor[,RealPriceIndex2:=weighted.mean(Home_Per_Metr,Weight,na.rm = TRUE)/Tehran_Bundle_Value2,by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex1,Weight),by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex2,Weight),by=ProvinceCode]
+Indexes2<-CBNPoor[,.(RealPriceIndex1,RealPriceIndex2,ProvinceCode,Weight)]
+Indexes2<-Indexes2[,RealPriceIndex:=(RealPriceIndex1+RealPriceIndex2)/2]
+Indexes<-Indexes2[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+Indexes32<-Indexes[,.(ProvinceCode,RealPriceIndex1,RealPriceIndex2,RealPriceIndex)]
+Indexes<-Indexes[,.(ProvinceCode,RealPriceIndex)]
+CBN[,RealPriceIndex:=NULL]
+CBN<-merge(CBN,Indexes,by=c("ProvinceCode"),all.x = TRUE)
+CBN<-CBN[,Total_Food_Month_Per2:=FoodExpenditure_Per*RealPriceIndex]
+CBN<-CBN[,Total_Exp_Month_Per2:=Total_Exp_Month_Per_nondurable*RealPriceIndex]
+#utils::View(CBN)
+
+#Sort Expenditure data
+CBN<- CBN[order(Total_Exp_Month_Per2)]
+
+#Calculate cumulative weights
+sum(CBN$Weight)
+CBN$cumweight <- cumsum(CBN$Weight)
+tx <- max(CBN$cumweight)
+
+#Calculate deciles by weights
+CBN[,Decile:=cut(cumweight,breaks = seq(0,tx,tx/10),labels = 1:10)]
+CBN[,Percentile:=cut(cumweight,breaks=seq(0,tx,tx/100),labels=1:100)]
+
+#Update Poors
+CBN[,Poor:=ifelse(Decile %in% 1:4,1,0)]
+CBNPoor<-CBN[Poor==1]
+CBNPoor<-merge(CBNPoor,dt2,by=c("ProvinceCode"),all.x = TRUE)
+CBNPoor[,sum(HIndivNo),by=.(ProvinceCode)][order(ProvinceCode)]
+
+###Iteration1-3
+#Calculate Per_calories in clusters
+CBNPoor[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(185:200)][]
+#utils::View(CBNPoor)
+
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(202:217)][]
+
+CBNPoor[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor<-CBNPoor[Per_Daily_Exp_Calories!=0]
+CBNPoor[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+#CBN[,weighted.mean(Poor,Weight),by=cluster][order(cluster)]
+
+#Real Prices
+T_Bundle_Value<-subset(CBNPoor, ProvinceCode==23, select=c(Bundle_Value,Home_Per_Metr,Weight))
+Tehran_Bundle_Value1<-weighted.mean(T_Bundle_Value$Bundle_Value,T_Bundle_Value$Weight,na.rm = TRUE)
+Tehran_Bundle_Value2<-weighted.mean(T_Bundle_Value$Home_Per_Metr,T_Bundle_Value$Weight,na.rm = TRUE)
+CBNPoor[,RealPriceIndex1:=weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/Tehran_Bundle_Value1,by=ProvinceCode]
+CBNPoor[,RealPriceIndex2:=weighted.mean(Home_Per_Metr,Weight,na.rm = TRUE)/Tehran_Bundle_Value2,by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex1,Weight),by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex2,Weight),by=ProvinceCode]
+Indexes2<-CBNPoor[,.(RealPriceIndex1,RealPriceIndex2,ProvinceCode,Weight)]
+Indexes2<-Indexes2[,RealPriceIndex:=(RealPriceIndex1+RealPriceIndex2)/2]
+Indexes<-Indexes2[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+Indexes33<-Indexes[,.(ProvinceCode,RealPriceIndex1,RealPriceIndex2,RealPriceIndex)]
+Indexes<-Indexes[,.(ProvinceCode,RealPriceIndex)]
+CBN[,RealPriceIndex:=NULL]
+CBN<-merge(CBN,Indexes,by=c("ProvinceCode"),all.x = TRUE)
+CBN<-CBN[,Total_Food_Month_Per2:=FoodExpenditure_Per*RealPriceIndex]
+CBN<-CBN[,Total_Exp_Month_Per2:=Total_Exp_Month_Per_nondurable*RealPriceIndex]
+#utils::View(CBN)
+
+#Sort Expenditure data
+CBN<- CBN[order(Total_Exp_Month_Per2)]
+
+#Calculate cumulative weights
+sum(CBN$Weight)
+CBN$cumweight <- cumsum(CBN$Weight)
+tx <- max(CBN$cumweight)
+
+#Calculate deciles by weights
+CBN[,Decile:=cut(cumweight,breaks = seq(0,tx,tx/10),labels = 1:10)]
+CBN[,Percentile:=cut(cumweight,breaks=seq(0,tx,tx/100),labels=1:100)]
+
+#Update Poors
+CBN[,Poor:=ifelse(Decile %in% 1:4,1,0)]
+CBNPoor<-CBN[Poor==1]
+CBNPoor<-merge(CBNPoor,dt2,by=c("ProvinceCode"),all.x = TRUE)
+CBNPoor[,sum(HIndivNo),by=.(ProvinceCode)][order(ProvinceCode)]
+
+
+###Iteration1-4
+#Calculate Per_calories in clusters
+CBNPoor[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(185:200)][]
+#utils::View(CBNPoor)
+
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(202:217)][]
+
+CBNPoor[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor<-CBNPoor[Per_Daily_Exp_Calories!=0]
+CBNPoor[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+#CBN[,weighted.mean(Poor,Weight),by=cluster][order(cluster)]
+
+#Real Prices
+T_Bundle_Value<-subset(CBNPoor, ProvinceCode==23, select=c(Bundle_Value,Home_Per_Metr,Weight))
+Tehran_Bundle_Value1<-weighted.mean(T_Bundle_Value$Bundle_Value,T_Bundle_Value$Weight,na.rm = TRUE)
+Tehran_Bundle_Value2<-weighted.mean(T_Bundle_Value$Home_Per_Metr,T_Bundle_Value$Weight,na.rm = TRUE)
+CBNPoor[,RealPriceIndex1:=weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/Tehran_Bundle_Value1,by=ProvinceCode]
+CBNPoor[,RealPriceIndex2:=weighted.mean(Home_Per_Metr,Weight,na.rm = TRUE)/Tehran_Bundle_Value2,by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex1,Weight),by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex2,Weight),by=ProvinceCode]
+Indexes2<-CBNPoor[,.(RealPriceIndex1,RealPriceIndex2,ProvinceCode,Weight)]
+Indexes2<-Indexes2[,RealPriceIndex:=(RealPriceIndex1+RealPriceIndex2)/2]
+Indexes<-Indexes2[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+Indexes34<-Indexes[,.(ProvinceCode,RealPriceIndex1,RealPriceIndex2,RealPriceIndex)]
+Indexes<-Indexes[,.(ProvinceCode,RealPriceIndex)]
+CBN[,RealPriceIndex:=NULL]
+CBN<-merge(CBN,Indexes,by=c("ProvinceCode"),all.x = TRUE)
+CBN<-CBN[,Total_Food_Month_Per2:=FoodExpenditure_Per*RealPriceIndex]
+CBN<-CBN[,Total_Exp_Month_Per2:=Total_Exp_Month_Per_nondurable*RealPriceIndex]
+#utils::View(CBN)
+
+
+#Sort Expenditure data
+CBN<- CBN[order(Total_Exp_Month_Per2)]
+
+#Calculate cumulative weights
+sum(CBN$Weight)
+CBN$cumweight <- cumsum(CBN$Weight)
+tx <- max(CBN$cumweight)
+
+#Calculate deciles by weights
+CBN[,Decile:=cut(cumweight,breaks = seq(0,tx,tx/10),labels = 1:10)]
+CBN[,Percentile:=cut(cumweight,breaks=seq(0,tx,tx/100),labels=1:100)]
+
+#Update Poors
+CBN[,Poor:=ifelse(Decile %in% 1:4,1,0)]
+CBNPoor<-CBN[Poor==1]
+CBNPoor<-merge(CBNPoor,dt2,by=c("ProvinceCode"),all.x = TRUE)
+CBNPoor[,sum(HIndivNo),by=.(ProvinceCode)][order(ProvinceCode)]
+
+###Iteration1-5
+#Calculate Per_calories in clusters
+CBNPoor[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(185:200)][]
+#utils::View(CBNPoor)
+
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(202:217)][]
+
+CBNPoor[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor<-CBNPoor[Per_Daily_Exp_Calories!=0]
+CBNPoor[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+#CBN[,weighted.mean(Poor,Weight),by=cluster][order(cluster)]
+
+#Real Prices
+T_Bundle_Value<-subset(CBNPoor, ProvinceCode==23, select=c(Bundle_Value,Home_Per_Metr,Weight))
+Tehran_Bundle_Value1<-weighted.mean(T_Bundle_Value$Bundle_Value,T_Bundle_Value$Weight,na.rm = TRUE)
+Tehran_Bundle_Value2<-weighted.mean(T_Bundle_Value$Home_Per_Metr,T_Bundle_Value$Weight,na.rm = TRUE)
+CBNPoor[,RealPriceIndex1:=weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/Tehran_Bundle_Value1,by=ProvinceCode]
+CBNPoor[,RealPriceIndex2:=weighted.mean(Home_Per_Metr,Weight,na.rm = TRUE)/Tehran_Bundle_Value2,by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex1,Weight),by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex2,Weight),by=ProvinceCode]
+Indexes2<-CBNPoor[,.(RealPriceIndex1,RealPriceIndex2,ProvinceCode,Weight)]
+Indexes2<-Indexes2[,RealPriceIndex:=(RealPriceIndex1+RealPriceIndex2)/2]
+Indexes<-Indexes2[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+Indexes35<-Indexes[,.(ProvinceCode,RealPriceIndex1,RealPriceIndex2,RealPriceIndex)]
+Indexes<-Indexes[,.(ProvinceCode,RealPriceIndex)]
+CBN[,RealPriceIndex:=NULL]
+CBN<-merge(CBN,Indexes,by=c("ProvinceCode"),all.x = TRUE)
+CBN<-CBN[,Total_Food_Month_Per2:=FoodExpenditure_Per*RealPriceIndex]
+CBN<-CBN[,Total_Exp_Month_Per2:=Total_Exp_Month_Per_nondurable*RealPriceIndex]
+#utils::View(CBN)
+
+
+#Sort Expenditure data
+CBN<- CBN[order(Total_Exp_Month_Per2)]
+
+#Calculate cumulative weights
+sum(CBN$Weight)
+CBN$cumweight <- cumsum(CBN$Weight)
+tx <- max(CBN$cumweight)
+
+#Calculate deciles by weights
+CBN[,Decile:=cut(cumweight,breaks = seq(0,tx,tx/10),labels = 1:10)]
+CBN[,Percentile:=cut(cumweight,breaks=seq(0,tx,tx/100),labels=1:100)]
+
+#Update Poors
+CBN[,Poor:=ifelse(Decile %in% 1:4,1,0)]
+CBNPoor<-CBN[Poor==1]
+CBNPoor<-merge(CBNPoor,dt2,by=c("ProvinceCode"),all.x = TRUE)
+CBNPoor[,sum(HIndivNo),by=.(ProvinceCode)][order(ProvinceCode)]
+
+###Iteration1-6
+#Calculate Per_calories in clusters
+CBNPoor[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(185:200)][]
+#utils::View(CBNPoor)
+
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(202:217)][]
+
+CBNPoor[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor<-CBNPoor[Per_Daily_Exp_Calories!=0]
+CBNPoor[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+#CBN[,weighted.mean(Poor,Weight),by=cluster][order(cluster)]
+
+#Real Prices
+T_Bundle_Value<-subset(CBNPoor, ProvinceCode==23, select=c(Bundle_Value,Home_Per_Metr,Weight))
+Tehran_Bundle_Value1<-weighted.mean(T_Bundle_Value$Bundle_Value,T_Bundle_Value$Weight,na.rm = TRUE)
+Tehran_Bundle_Value2<-weighted.mean(T_Bundle_Value$Home_Per_Metr,T_Bundle_Value$Weight,na.rm = TRUE)
+CBNPoor[,RealPriceIndex1:=weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/Tehran_Bundle_Value1,by=ProvinceCode]
+CBNPoor[,RealPriceIndex2:=weighted.mean(Home_Per_Metr,Weight,na.rm = TRUE)/Tehran_Bundle_Value2,by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex1,Weight),by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex2,Weight),by=ProvinceCode]
+Indexes2<-CBNPoor[,.(RealPriceIndex1,RealPriceIndex2,ProvinceCode,Weight)]
+Indexes2<-Indexes2[,RealPriceIndex:=(RealPriceIndex1+RealPriceIndex2)/2]
+Indexes<-Indexes2[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+Indexes36<-Indexes[,.(ProvinceCode,RealPriceIndex1,RealPriceIndex2,RealPriceIndex)]
+Indexes<-Indexes[,.(ProvinceCode,RealPriceIndex)]
+CBN[,RealPriceIndex:=NULL]
+CBN<-merge(CBN,Indexes,by=c("ProvinceCode"),all.x = TRUE)
+CBN<-CBN[,Total_Food_Month_Per2:=FoodExpenditure_Per*RealPriceIndex]
+CBN<-CBN[,Total_Exp_Month_Per2:=Total_Exp_Month_Per_nondurable*RealPriceIndex]
+#utils::View(CBN)
+
+
+#Sort Expenditure data
+CBN<- CBN[order(Total_Exp_Month_Per2)]
+
+#Calculate cumulative weights
+sum(CBN$Weight)
+CBN$cumweight <- cumsum(CBN$Weight)
+tx <- max(CBN$cumweight)
+
+#Calculate deciles by weights
+CBN[,Decile:=cut(cumweight,breaks = seq(0,tx,tx/10),labels = 1:10)]
+CBN[,Percentile:=cut(cumweight,breaks=seq(0,tx,tx/100),labels=1:100)]
+
+#Update Poors
+CBN[,Poor:=ifelse(Decile %in% 1:4,1,0)]
+CBNPoor<-CBN[Poor==1]
+CBNPoor<-merge(CBNPoor,dt2,by=c("ProvinceCode"),all.x = TRUE)
+CBNPoor[,sum(HIndivNo),by=.(ProvinceCode)][order(ProvinceCode)]
+
+###Iteration1-7
+#Calculate Per_calories in clusters
+CBNPoor[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(185:200)][]
+#utils::View(CBNPoor)
+
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(202:217)][]
+
+CBNPoor[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor<-CBNPoor[Per_Daily_Exp_Calories!=0]
+CBNPoor[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+#CBN[,weighted.mean(Poor,Weight),by=cluster][order(cluster)]
+
+#Real Prices
+T_Bundle_Value<-subset(CBNPoor, ProvinceCode==23, select=c(Bundle_Value,Home_Per_Metr,Weight))
+Tehran_Bundle_Value1<-weighted.mean(T_Bundle_Value$Bundle_Value,T_Bundle_Value$Weight,na.rm = TRUE)
+Tehran_Bundle_Value2<-weighted.mean(T_Bundle_Value$Home_Per_Metr,T_Bundle_Value$Weight,na.rm = TRUE)
+CBNPoor[,RealPriceIndex1:=weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/Tehran_Bundle_Value1,by=ProvinceCode]
+CBNPoor[,RealPriceIndex2:=weighted.mean(Home_Per_Metr,Weight,na.rm = TRUE)/Tehran_Bundle_Value2,by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex1,Weight),by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex2,Weight),by=ProvinceCode]
+Indexes2<-CBNPoor[,.(RealPriceIndex1,RealPriceIndex2,ProvinceCode,Weight)]
+Indexes2<-Indexes2[,RealPriceIndex:=(RealPriceIndex1+RealPriceIndex2)/2]
+Indexes<-Indexes2[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+Indexes37<-Indexes[,.(ProvinceCode,RealPriceIndex1,RealPriceIndex2,RealPriceIndex)]
+Indexes<-Indexes[,.(ProvinceCode,RealPriceIndex)]
+CBN[,RealPriceIndex:=NULL]
+CBN<-merge(CBN,Indexes,by=c("ProvinceCode"),all.x = TRUE)
+CBN<-CBN[,Total_Food_Month_Per2:=FoodExpenditure_Per*RealPriceIndex]
+CBN<-CBN[,Total_Exp_Month_Per2:=Total_Exp_Month_Per_nondurable*RealPriceIndex]
+#utils::View(CBN)
+
+
+#Sort Expenditure data
+CBN<- CBN[order(Total_Exp_Month_Per2)]
+
+#Calculate cumulative weights
+sum(CBN$Weight)
+CBN$cumweight <- cumsum(CBN$Weight)
+tx <- max(CBN$cumweight)
+
+#Calculate deciles by weights
+CBN[,Decile:=cut(cumweight,breaks = seq(0,tx,tx/10),labels = 1:10)]
+CBN[,Percentile:=cut(cumweight,breaks=seq(0,tx,tx/100),labels=1:100)]
+
+#Update Poors
+CBN[,Poor:=ifelse(Decile %in% 1:4,1,0)]
+CBNPoor<-CBN[Poor==1]
+CBNPoor<-merge(CBNPoor,dt2,by=c("ProvinceCode"),all.x = TRUE)
+CBNPoor[,sum(HIndivNo),by=.(ProvinceCode)][order(ProvinceCode)]
+
+###Iteration1-8
+#Calculate Per_calories in clusters
+CBNPoor[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(185:200)][]
+#utils::View(CBNPoor)
+
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(202:217)][]
+
+CBNPoor[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor<-CBNPoor[Per_Daily_Exp_Calories!=0]
+CBNPoor[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+#CBN[,weighted.mean(Poor,Weight),by=cluster][order(cluster)]
+
+#Real Prices
+T_Bundle_Value<-subset(CBNPoor, ProvinceCode==23, select=c(Bundle_Value,Home_Per_Metr,Weight))
+Tehran_Bundle_Value1<-weighted.mean(T_Bundle_Value$Bundle_Value,T_Bundle_Value$Weight,na.rm = TRUE)
+Tehran_Bundle_Value2<-weighted.mean(T_Bundle_Value$Home_Per_Metr,T_Bundle_Value$Weight,na.rm = TRUE)
+CBNPoor[,RealPriceIndex1:=weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/Tehran_Bundle_Value1,by=ProvinceCode]
+CBNPoor[,RealPriceIndex2:=weighted.mean(Home_Per_Metr,Weight,na.rm = TRUE)/Tehran_Bundle_Value2,by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex1,Weight),by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex2,Weight),by=ProvinceCode]
+Indexes2<-CBNPoor[,.(RealPriceIndex1,RealPriceIndex2,ProvinceCode,Weight)]
+Indexes2<-Indexes2[,RealPriceIndex:=(RealPriceIndex1+RealPriceIndex2)/2]
+Indexes<-Indexes2[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+Indexes38<-Indexes[,.(ProvinceCode,RealPriceIndex1,RealPriceIndex2,RealPriceIndex)]
+Indexes<-Indexes[,.(ProvinceCode,RealPriceIndex)]
+CBN[,RealPriceIndex:=NULL]
+CBN<-merge(CBN,Indexes,by=c("ProvinceCode"),all.x = TRUE)
+CBN<-CBN[,Total_Food_Month_Per2:=FoodExpenditure_Per*RealPriceIndex]
+CBN<-CBN[,Total_Exp_Month_Per2:=Total_Exp_Month_Per_nondurable*RealPriceIndex]
+#utils::View(CBN)
+
+
+#Sort Expenditure data
+CBN<- CBN[order(Total_Exp_Month_Per2)]
+
+#Calculate cumulative weights
+sum(CBN$Weight)
+CBN$cumweight <- cumsum(CBN$Weight)
+tx <- max(CBN$cumweight)
+
+#Calculate deciles by weights
+CBN[,Decile:=cut(cumweight,breaks = seq(0,tx,tx/10),labels = 1:10)]
+CBN[,Percentile:=cut(cumweight,breaks=seq(0,tx,tx/100),labels=1:100)]
+
+#Update Poors
+CBN[,Poor:=ifelse(Decile %in% 1:4,1,0)]
+CBNPoor<-CBN[Poor==1]
+CBNPoor<-merge(CBNPoor,dt2,by=c("ProvinceCode"),all.x = TRUE)
+CBNPoor[,sum(HIndivNo),by=.(ProvinceCode)][order(ProvinceCode)]
+
+###Iteration1-9
+#Calculate Per_calories in clusters
+CBNPoor[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(185:200)][]
+#utils::View(CBNPoor)
+
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(202:217)][]
+
+CBNPoor[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor<-CBNPoor[Per_Daily_Exp_Calories!=0]
+CBNPoor[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+#CBN[,weighted.mean(Poor,Weight),by=cluster][order(cluster)]
+
+#Real Prices
+T_Bundle_Value<-subset(CBNPoor, ProvinceCode==23, select=c(Bundle_Value,Home_Per_Metr,Weight))
+Tehran_Bundle_Value1<-weighted.mean(T_Bundle_Value$Bundle_Value,T_Bundle_Value$Weight,na.rm = TRUE)
+Tehran_Bundle_Value2<-weighted.mean(T_Bundle_Value$Home_Per_Metr,T_Bundle_Value$Weight,na.rm = TRUE)
+CBNPoor[,RealPriceIndex1:=weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/Tehran_Bundle_Value1,by=ProvinceCode]
+CBNPoor[,RealPriceIndex2:=weighted.mean(Home_Per_Metr,Weight,na.rm = TRUE)/Tehran_Bundle_Value2,by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex1,Weight),by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex2,Weight),by=ProvinceCode]
+Indexes2<-CBNPoor[,.(RealPriceIndex1,RealPriceIndex2,ProvinceCode,Weight)]
+Indexes2<-Indexes2[,RealPriceIndex:=(RealPriceIndex1+RealPriceIndex2)/2]
+Indexes<-Indexes2[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+Indexes39<-Indexes[,.(ProvinceCode,RealPriceIndex1,RealPriceIndex2,RealPriceIndex)]
+Indexes<-Indexes[,.(ProvinceCode,RealPriceIndex)]
+CBN[,RealPriceIndex:=NULL]
+CBN<-merge(CBN,Indexes,by=c("ProvinceCode"),all.x = TRUE)
+CBN<-CBN[,Total_Food_Month_Per2:=FoodExpenditure_Per*RealPriceIndex]
+CBN<-CBN[,Total_Exp_Month_Per2:=Total_Exp_Month_Per_nondurable*RealPriceIndex]
+#utils::View(CBN)
+
+
+#Sort Expenditure data
+CBN<- CBN[order(Total_Exp_Month_Per2)]
+
+#Calculate cumulative weights
+sum(CBN$Weight)
+CBN$cumweight <- cumsum(CBN$Weight)
+tx <- max(CBN$cumweight)
+
+#Calculate deciles by weights
+CBN[,Decile:=cut(cumweight,breaks = seq(0,tx,tx/10),labels = 1:10)]
+CBN[,Percentile:=cut(cumweight,breaks=seq(0,tx,tx/100),labels=1:100)]
+
+#Update Poors
+CBN[,Poor:=ifelse(Decile %in% 1:4,1,0)]
+CBNPoor<-CBN[Poor==1]
+CBNPoor<-merge(CBNPoor,dt2,by=c("ProvinceCode"),all.x = TRUE)
+CBNPoor[,sum(HIndivNo),by=.(ProvinceCode)][order(ProvinceCode)]
+
+###Iteration1-10
+#Calculate Per_calories in clusters
+CBNPoor[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(185:200)][]
+#utils::View(CBNPoor)
+
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(202:217)][]
+
+CBNPoor[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor<-CBNPoor[Per_Daily_Exp_Calories!=0]
+CBNPoor[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+#CBN[,weighted.mean(Poor,Weight),by=cluster][order(cluster)]
+
+#Real Prices
+T_Bundle_Value<-subset(CBNPoor, ProvinceCode==23, select=c(Bundle_Value,Home_Per_Metr,Weight))
+Tehran_Bundle_Value1<-weighted.mean(T_Bundle_Value$Bundle_Value,T_Bundle_Value$Weight,na.rm = TRUE)
+Tehran_Bundle_Value2<-weighted.mean(T_Bundle_Value$Home_Per_Metr,T_Bundle_Value$Weight,na.rm = TRUE)
+CBNPoor[,RealPriceIndex1:=weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/Tehran_Bundle_Value1,by=ProvinceCode]
+CBNPoor[,RealPriceIndex2:=weighted.mean(Home_Per_Metr,Weight,na.rm = TRUE)/Tehran_Bundle_Value2,by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex1,Weight),by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex2,Weight),by=ProvinceCode]
+Indexes2<-CBNPoor[,.(RealPriceIndex1,RealPriceIndex2,ProvinceCode,Weight)]
+Indexes2<-Indexes2[,RealPriceIndex:=(RealPriceIndex1+RealPriceIndex2)/2]
+Indexes<-Indexes2[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+Indexes310<-Indexes[,.(ProvinceCode,RealPriceIndex1,RealPriceIndex2,RealPriceIndex)]
+Indexes<-Indexes[,.(ProvinceCode,RealPriceIndex)]
+CBN[,RealPriceIndex:=NULL]
+CBN<-merge(CBN,Indexes,by=c("ProvinceCode"),all.x = TRUE)
+CBN<-CBN[,Total_Food_Month_Per2:=FoodExpenditure_Per*RealPriceIndex]
+CBN<-CBN[,Total_Exp_Month_Per2:=Total_Exp_Month_Per_nondurable*RealPriceIndex]
+#utils::View(CBN)
+
+
+#Sort Expenditure data
+CBN<- CBN[order(Total_Exp_Month_Per2)]
+
+#Calculate cumulative weights
+sum(CBN$Weight)
+CBN$cumweight <- cumsum(CBN$Weight)
+tx <- max(CBN$cumweight)
+
+#Calculate deciles by weights
+CBN[,Decile:=cut(cumweight,breaks = seq(0,tx,tx/10),labels = 1:10)]
+CBN[,Percentile:=cut(cumweight,breaks=seq(0,tx,tx/100),labels=1:100)]
+
+#Update Poors
+CBN[,Poor:=ifelse(Decile %in% 1:4,1,0)]
+CBNPoor<-CBN[Poor==1]
+CBNPoor<-merge(CBNPoor,dt2,by=c("ProvinceCode"),all.x = TRUE)
+CBNPoor[,sum(HIndivNo),by=.(ProvinceCode)][order(ProvinceCode)]
+
+
+#Calculate Per_calories in clusters
+CBNPoor[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(189:204)][]
+#utils::View(CBNPoor)
+
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(206:221)][]
+
+CBNPoor[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor<-CBNPoor[Per_Daily_Exp_Calories!=0]
+CBNPoor[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNCalory<-CBNPoor[,.(Per_Daily_Calories,Per_Daily_Exp_Calories,Per_Calory_Resturant,Resturant_Exp,cluster,ProvinceCode)]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+
+
+#Calculations
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_day,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,sum(Size*Weight),by=cluster][order(cluster)]
+
+
+#Food Poverty Line for each cluster
+#cluster 1
+CBNPoorCluster<-CBNPoor[cluster==1]
+Food_Povertyline1_1<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 2
+CBNPoorCluster<-CBNPoor[cluster==2]
+Food_Povertyline2_1<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 3
+CBNPoorCluster<-CBNPoor[cluster==3]
+Food_Povertyline3_1<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 4
+CBNPoorCluster<-CBNPoor[cluster==4]
+Food_Povertyline4_1<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 5
+CBNPoorCluster<-CBNPoor[cluster==5]
+Food_Povertyline5_1<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#ee<-CBNPoor[,.(Total_Exp_Month_Real,Total_Exp_Month,Total_Food_Month_Per2,Total_Exp_Month_Per_nondurable,Total_Exp_Month_nondurable_Real_Per,FoodExpenditure_Per,cluster)]
+#mean(ee[,Total_Food_Month_Per2==Total_Exp_Month_nondurable_Real])
+#mean(ee[,Total_Food_Month_Per2<3500000])
+#ee<- ee[order(Total_Food_Month_Per2)]
+#utils::View(CBN)
+CBN<-merge(CBN,dt2,by=c("ProvinceCode"),all.x = TRUE)
+#for (col in c("Total_Food_Month_Per2")) CBN[is.na(get(col)), (col) := Total_Exp_Month_Per_nondurable]
+c<-CBN[,.(FoodExpenditure_Per,FoodExpenditure_Per_total,Total_Exp_Month_Per_nondurable,Total_Exp_Month,Total_Food_Month_Per2,Poor,Decile,Weight,cluster)]
+
+#########Iteration 2###############
+#Sort Expenditure data
+CBN<- CBN[order(Total_Food_Month_Per2)]
+c<- c[order(Total_Food_Month_Per2)]
+
+#Indicate new poors
+CBN[,Poor2:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_1 & cluster==1,1,0)]
+c[,Poor2:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_1 & cluster==1 ,1,0)]
+CBN[,Poor2:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_1 & cluster==2,1,Poor2)]
+c[,Poor2:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_1 & cluster==2 ,1,Poor2)]
+CBN[,Poor2:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_1 & cluster==3,1,Poor2)]
+c[,Poor2:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_1 & cluster==3 ,1,Poor2)]
+CBN[,Poor2:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_1 & cluster==4,1,Poor2)]
+c[,Poor2:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_1 & cluster==4 ,1,Poor2)]
+CBN[,Poor2:=ifelse(FoodExpenditure_Per_total < Food_Povertyline5_1 & cluster==5,1,Poor2)]
+c[,Poor2:=ifelse(FoodExpenditure_Per_total < Food_Povertyline5_1 & cluster==5 ,1,Poor2)]
+CBN[,weighted.mean(Poor2,Weight),by=cluster][order(cluster)]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2<-CBN[Poor2==1]
+
+
+#CalculatePer_calories in clusters
+CBNPoor2[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(190:205)][]
+#utils::View(CBNPoor2)
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor2[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(207:222)][]
+
+CBNPoor2[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor2[,Calory_Price:=FoodExpenditure_Per_cluster/(Daily_Calories_cluster2)]
+CBNPoor2[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor2[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2<-CBNPoor2[Per_Daily_Exp_Calories!=0]
+CBNPoor2[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor2[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor2[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor2[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor2[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor2[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+
+
+
+#Calculations
+CBNPoor2[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,weighted.mean(FoodExpenditure_Per_day,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+
+
+
+#Food Poverty Line for each cluster
+#cluster 1
+CBNPoorCluster<-CBNPoor2[cluster==1]
+Food_Povertyline1_2<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 2
+CBNPoorCluster<-CBNPoor2[cluster==2]
+Food_Povertyline2_2<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 3
+CBNPoorCluster<-CBNPoor2[cluster==3]
+Food_Povertyline3_2<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 4
+CBNPoorCluster<-CBNPoor2[cluster==4]
+Food_Povertyline4_2<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 5
+CBNPoorCluster<-CBNPoor[cluster==5]
+Food_Povertyline5_2<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#ee<-CBNPoor[,.(Total_Exp_Month_Real,Total_Exp_Month,Total_Food_Month_Per2,Total_Exp_Month_Per_nondurable,Total_Exp_Month_nondurable_Real_Per,FoodExpenditure_Per,cluster)]
+#mean(ee[,Total_Food_Month_Per2==Total_Exp_Month_nondurable_Real])
+#mean(ee[,Total_Food_Month_Per2<3500000])
+#ee<- ee[order(Total_Food_Month_Per2)]
+#utils::View(CBN)
+#for (col in c("Total_Food_Month_Per2")) CBN[is.na(get(col)), (col) := Total_Exp_Month_Per_nondurable]
+c<-CBN[,.(FoodExpenditure_Per,FoodExpenditure_Per_total,Total_Exp_Month_Per_nondurable,Total_Exp_Month,Total_Food_Month_Per2,Poor,Decile,Weight,cluster)]
+
+
+#########Iteration 3###############
+#Sort Expenditure data
+CBN<- CBN[order(Total_Food_Month_Per2)]
+c<- c[order(Total_Food_Month_Per2)]
+
+#Indicate new poors
+CBN[,Poor3:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_2 & cluster==1,1,0)]
+c[,Poor3:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_2 & cluster==1 ,1,0)]
+CBN[,Poor3:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_2 & cluster==2,1,Poor3)]
+c[,Poor3:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_2 & cluster==2 ,1,Poor3)]
+CBN[,Poor3:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_2 & cluster==3,1,Poor3)]
+c[,Poor3:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_2 & cluster==3 ,1,Poor3)]
+CBN[,Poor3:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_2 & cluster==4,1,Poor3)]
+c[,Poor3:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_2 & cluster==4 ,1,Poor3)]
+CBN[,Poor3:=ifelse(FoodExpenditure_Per_total < Food_Povertyline5_2 & cluster==5,1,Poor3)]
+c[,Poor3:=ifelse(FoodExpenditure_Per_total < Food_Povertyline5_2 & cluster==5 ,1,Poor3)]
+CBN[,weighted.mean(Poor3,Weight),by=cluster][order(cluster)]
+CBNPoor2[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3<-CBN[Poor3==1]
+
+
+
+#CalculatePer_calories in clusters
+CBNPoor3[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(191:206)][]
+#utils::View(CBNPoor3)
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor3[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(208:223)][]
+
+
+CBNPoor3[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor3[,Calory_Price:=FoodExpenditure_Per_cluster/(Daily_Calories_cluster2)]
+CBNPoor3[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor3[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3<-CBNPoor3[Per_Daily_Exp_Calories!=0]
+CBNPoor3[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor3[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+
+#sum of total food expenditures
+CBNPoor3[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor3[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor3[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor3[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+
+
+#Calculations
+CBNPoor3[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,weighted.mean(FoodExpenditure_Per_day,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+
+
+
+#Food Poverty Line for each cluster
+#cluster 1
+CBNPoorCluster<-CBNPoor3[cluster==1]
+Food_Povertyline1_3<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 2
+CBNPoorCluster<-CBNPoor3[cluster==2]
+Food_Povertyline2_3<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 3
+CBNPoorCluster<-CBNPoor3[cluster==3]
+Food_Povertyline3_3<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 4
+CBNPoorCluster<-CBNPoor3[cluster==4]
+Food_Povertyline4_3<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 5
+CBNPoorCluster<-CBNPoor[cluster==5]
+Food_Povertyline5_3<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#ee<-CBNPoor[,.(Total_Exp_Month_Real,Total_Exp_Month,Total_Food_Month_Per2,Total_Exp_Month_Per_nondurable,Total_Exp_Month_nondurable_Real_Per,FoodExpenditure_Per,cluster)]
+#mean(ee[,Total_Food_Month_Per2==Total_Exp_Month_nondurable_Real])
+#mean(ee[,Total_Food_Month_Per2<3500000])
+#ee<- ee[order(Total_Food_Month_Per2)]
+#utils::View(CBN)
+#for (col in c("Total_Food_Month_Per2")) CBN[is.na(get(col)), (col) := Total_Exp_Month_Per_nondurable]
+c<-CBN[,.(FoodExpenditure_Per,FoodExpenditure_Per_total,Total_Exp_Month_Per_nondurable,Total_Exp_Month,Total_Food_Month_Per2,Poor,Decile,Weight,cluster)]
+
+
+#########Iteration 4###############
+#Sort Expenditure data
+CBN<- CBN[order(Total_Food_Month_Per2)]
+c<- c[order(Total_Food_Month_Per2)]
+
+#Indicate new poors
+CBN[,Poor4:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_3 & cluster==1,1,0)]
+c[,Poor4:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_3 & cluster==1 ,1,0)]
+CBN[,Poor4:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_3 & cluster==2,1,Poor4)]
+c[,Poor4:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_3 & cluster==2 ,1,Poor4)]
+CBN[,Poor4:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_3 & cluster==3,1,Poor4)]
+c[,Poor4:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_3 & cluster==3 ,1,Poor4)]
+CBN[,Poor4:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_3 & cluster==4,1,Poor4)]
+c[,Poor4:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_3 & cluster==4 ,1,Poor4)]
+CBN[,Poor4:=ifelse(FoodExpenditure_Per_total < Food_Povertyline5_3 & cluster==5,1,Poor4)]
+c[,Poor4:=ifelse(FoodExpenditure_Per_total < Food_Povertyline5_3 & cluster==5 ,1,Poor4)]
+CBN[,weighted.mean(Poor4,Weight),by=cluster][order(cluster)]
+CBNPoor3[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4<-CBN[Poor4==1]
+
+#CalculatePer_calories in clusters
+CBNPoor4[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(191:206)][]
+#utils::View(CBNPoor4)
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor4[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(208:223)][]
+
+
+CBNPoor4[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor4[,Calory_Price:=FoodExpenditure_Per_cluster/(Daily_Calories_cluster2)]
+CBNPoor4[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor4[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4<-CBNPoor4[Per_Daily_Exp_Calories!=0]
+CBNPoor4[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor4[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+
+#sum of total food expenditures
+CBNPoor4[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor4[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor4[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor4[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+
+
+#Calculations
+CBNPoor4[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,weighted.mean(FoodExpenditure_Per_day,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+
+
+
+#Food Poverty Line for each cluster
+#cluster 1
+CBNPoorCluster<-CBNPoor4[cluster==1]
+Food_Povertyline1_4<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 2
+CBNPoorCluster<-CBNPoor4[cluster==2]
+Food_Povertyline2_4<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 3
+CBNPoorCluster<-CBNPoor4[cluster==3]
+Food_Povertyline3_4<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 4
+CBNPoorCluster<-CBNPoor4[cluster==4]
+Food_Povertyline4_4<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 5
+CBNPoorCluster<-CBNPoor[cluster==5]
+Food_Povertyline5_4<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#ee<-CBNPoor[,.(Total_Exp_Month_Real,Total_Exp_Month,Total_Food_Month_Per2,Total_Exp_Month_Per_nondurable,Total_Exp_Month_nondurable_Real_Per,FoodExpenditure_Per,cluster)]
+#mean(ee[,Total_Food_Month_Per2==Total_Exp_Month_nondurable_Real])
+#mean(ee[,Total_Food_Month_Per2<3500000])
+#ee<- ee[order(Total_Food_Month_Per2)]
+#utils::View(CBN)
+#for (col in c("Total_Food_Month_Per2")) CBN[is.na(get(col)), (col) := Total_Exp_Month_Per_nondurable]
+c<-CBN[,.(FoodExpenditure_Per,FoodExpenditure_Per_total,Total_Exp_Month_Per_nondurable,Total_Exp_Month,Total_Food_Month_Per2,Poor,Decile,Weight,cluster)]
+
+
+#########Iteration 5###############
+#Sort Expenditure data
+CBN<- CBN[order(Total_Food_Month_Per2)]
+c<- c[order(Total_Food_Month_Per2)]
+
+#Indicate new poors
+CBN[,Poor5:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_4 & cluster==1,1,0)]
+c[,Poor5:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_4 & cluster==1 ,1,0)]
+CBN[,Poor5:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_4 & cluster==2,1,Poor5)]
+c[,Poor5:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_4 & cluster==2 ,1,Poor5)]
+CBN[,Poor5:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_4 & cluster==3,1,Poor5)]
+c[,Poor5:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_4 & cluster==3 ,1,Poor5)]
+CBN[,Poor5:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_4 & cluster==4,1,Poor5)]
+c[,Poor5:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_4 & cluster==4 ,1,Poor5)]
+CBN[,Poor5:=ifelse(FoodExpenditure_Per_total < Food_Povertyline5_4 & cluster==5,1,Poor5)]
+c[,Poor5:=ifelse(FoodExpenditure_Per_total < Food_Povertyline5_4 & cluster==5 ,1,Poor5)]
+CBN[,weighted.mean(Poor5,Weight),by=cluster][order(cluster)]
+CBNPoor4[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5<-CBN[Poor5==1]
+
+#CalculatePer_calories in clusters
+CBNPoor5[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(191:206)][]
+#utils::View(CBNPoor5)
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor5[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(208:223)][]
+
+
+CBNPoor5[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor5[,Calory_Price:=FoodExpenditure_Per_cluster/(Daily_Calories_cluster2)]
+CBNPoor5[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor5[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5<-CBNPoor5[Per_Daily_Exp_Calories!=0]
+CBNPoor5[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor5[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+
+#sum of total food expenditures
+CBNPoor5[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor5[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor5[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor5[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+
+
+#Calculations
+CBNPoor5[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,weighted.mean(FoodExpenditure_Per_day,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+
+
+
+#Food Poverty Line for each cluster
+#cluster 1
+CBNPoorCluster<-CBNPoor5[cluster==1]
+Food_Povertyline1_5<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 2
+CBNPoorCluster<-CBNPoor5[cluster==2]
+Food_Povertyline2_5<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 3
+CBNPoorCluster<-CBNPoor5[cluster==3]
+Food_Povertyline3_5<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 4
+CBNPoorCluster<-CBNPoor5[cluster==4]
+Food_Povertyline4_5<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 5
+CBNPoorCluster<-CBNPoor[cluster==5]
+Food_Povertyline5_5<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#ee<-CBNPoor[,.(Total_Exp_Month_Real,Total_Exp_Month,Total_Food_Month_Per2,Total_Exp_Month_Per_nondurable,Total_Exp_Month_nondurable_Real_Per,FoodExpenditure_Per,cluster)]
+#mean(ee[,Total_Food_Month_Per2==Total_Exp_Month_nondurable_Real])
+#mean(ee[,Total_Food_Month_Per2<3500000])
+#ee<- ee[order(Total_Food_Month_Per2)]
+#utils::View(CBN)
+#for (col in c("Total_Food_Month_Per2")) CBN[is.na(get(col)), (col) := Total_Exp_Month_Per_nondurable]
+c<-CBN[,.(FoodExpenditure_Per,FoodExpenditure_Per_total,Total_Exp_Month_Per_nondurable,Total_Exp_Month,Total_Food_Month_Per2,Poor,Decile,Weight,cluster)]
+
+
+#########Iteration 6###############
+#Sort Expenditure data
+CBN<- CBN[order(Total_Food_Month_Per2)]
+c<- c[order(Total_Food_Month_Per2)]
+
+#Indicate new poors
+CBN[,Poor6:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_5 & cluster==1,1,0)]
+c[,Poor6:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_5 & cluster==1 ,1,0)]
+CBN[,Poor6:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_5 & cluster==2,1,Poor6)]
+c[,Poor6:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_5 & cluster==2 ,1,Poor6)]
+CBN[,Poor6:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_5 & cluster==3,1,Poor6)]
+c[,Poor6:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_5 & cluster==3 ,1,Poor6)]
+CBN[,Poor6:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_5 & cluster==4,1,Poor6)]
+c[,Poor6:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_5 & cluster==4 ,1,Poor6)]
+CBN[,Poor6:=ifelse(FoodExpenditure_Per_total < Food_Povertyline5_5 & cluster==5,1,Poor6)]
+c[,Poor6:=ifelse(FoodExpenditure_Per_total < Food_Povertyline5_5 & cluster==5 ,1,Poor6)]
+CBN[,weighted.mean(Poor6,Weight),by=cluster][order(cluster)]
+CBNPoor5[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6<-CBN[Poor6==1]
+
+#CalculatePer_calories in clusters
+CBNPoor6[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(191:206)][]
+#utils::View(CBNPoor6)
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor6[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(208:223)][]
+
+
+CBNPoor6[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor6[,Calory_Price:=FoodExpenditure_Per_cluster/(Daily_Calories_cluster2)]
+CBNPoor6[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor6[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6<-CBNPoor6[Per_Daily_Exp_Calories!=0]
+CBNPoor6[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor6[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+
+#sum of total food expenditures
+CBNPoor6[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor6[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor6[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor6[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+
+
+#Calculations
+CBNPoor6[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,weighted.mean(FoodExpenditure_Per_day,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+
+
+#Food Poverty Line for each cluster
+#cluster 1
+CBNPoorCluster<-CBNPoor6[cluster==1]
+Food_Povertyline1_6<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 2
+CBNPoorCluster<-CBNPoor6[cluster==2]
+Food_Povertyline2_6<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 3
+CBNPoorCluster<-CBNPoor6[cluster==3]
+Food_Povertyline3_6<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 4
+CBNPoorCluster<-CBNPoor6[cluster==4]
+Food_Povertyline4_6<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 5
+CBNPoorCluster<-CBNPoor[cluster==5]
+Food_Povertyline5_6<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#ee<-CBNPoor[,.(Total_Exp_Month_Real,Total_Exp_Month,Total_Food_Month_Per2,Total_Exp_Month_Per_nondurable,Total_Exp_Month_nondurable_Real_Per,FoodExpenditure_Per,cluster)]
+#mean(ee[,Total_Food_Month_Per2==Total_Exp_Month_nondurable_Real])
+#mean(ee[,Total_Food_Month_Per2<3500000])
+#ee<- ee[order(Total_Food_Month_Per2)]
+#utils::View(CBN)
+#for (col in c("Total_Food_Month_Per2")) CBN[is.na(get(col)), (col) := Total_Exp_Month_Per_nondurable]
+c<-CBN[,.(FoodExpenditure_Per,FoodExpenditure_Per_total,Total_Exp_Month_Per_nondurable,Total_Exp_Month,Total_Food_Month_Per2,Poor,Decile,Weight,cluster)]
+
+
+#########Iteration 7###############
+#Sort Expenditure data
+CBN<- CBN[order(Total_Food_Month_Per2)]
+c<- c[order(Total_Food_Month_Per2)]
+
+#Indicate new poors
+CBN[,Poor7:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_6 & cluster==1,1,0)]
+c[,Poor7:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_6 & cluster==1 ,1,0)]
+CBN[,Poor7:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_6 & cluster==2,1,Poor7)]
+c[,Poor7:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_6 & cluster==2 ,1,Poor7)]
+CBN[,Poor7:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_6 & cluster==3,1,Poor7)]
+c[,Poor7:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_6 & cluster==3 ,1,Poor7)]
+CBN[,Poor7:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_6 & cluster==4,1,Poor7)]
+c[,Poor7:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_6 & cluster==4 ,1,Poor7)]
+CBN[,Poor7:=ifelse(FoodExpenditure_Per_total < Food_Povertyline5_6 & cluster==5,1,Poor7)]
+c[,Poor7:=ifelse(FoodExpenditure_Per_total < Food_Povertyline5_6 & cluster==5 ,1,Poor7)]
+CBN[,weighted.mean(Poor7,Weight),by=cluster][order(cluster)]
+CBNPoor6[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7<-CBN[Poor7==1]
+
+#CalculatePer_calories in clusters
+CBNPoor7[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(191:206)][]
+#utils::View(CBNPoor7)
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor7[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(208:223)][]
+
+
+CBNPoor7[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor7[,Calory_Price:=FoodExpenditure_Per_cluster/(Daily_Calories_cluster2)]
+CBNPoor7[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor7[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7<-CBNPoor7[Per_Daily_Exp_Calories!=0]
+CBNPoor7[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor7[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+
+#sum of total food expenditures
+CBNPoor7[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor7[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor7[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor7[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+
+
+#Calculations
+CBNPoor7[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,weighted.mean(FoodExpenditure_Per_day,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+
+
+
+#Food Poverty Line for each cluster
+#cluster 1
+CBNPoorCluster<-CBNPoor7[cluster==1]
+Food_Povertyline1_7<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 2
+CBNPoorCluster<-CBNPoor7[cluster==2]
+Food_Povertyline2_7<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 3
+CBNPoorCluster<-CBNPoor7[cluster==3]
+Food_Povertyline3_7<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 4
+CBNPoorCluster<-CBNPoor7[cluster==4]
+Food_Povertyline4_7<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 5
+CBNPoorCluster<-CBNPoor[cluster==5]
+Food_Povertyline5_7<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#ee<-CBNPoor[,.(Total_Exp_Month_Real,Total_Exp_Month,Total_Food_Month_Per2,Total_Exp_Month_Per_nondurable,Total_Exp_Month_nondurable_Real_Per,FoodExpenditure_Per,cluster)]
+#mean(ee[,Total_Food_Month_Per2==Total_Exp_Month_nondurable_Real])
+#mean(ee[,Total_Food_Month_Per2<3500000])
+#ee<- ee[order(Total_Food_Month_Per2)]
+#utils::View(CBN)
+#for (col in c("Total_Food_Month_Per2")) CBN[is.na(get(col)), (col) := Total_Exp_Month_Per_nondurable]
+c<-CBN[,.(FoodExpenditure_Per,FoodExpenditure_Per_total,Total_Exp_Month_Per_nondurable,Total_Exp_Month,Total_Food_Month_Per2,Poor,Decile,Weight,cluster)]
+
+
+#########Iteration 8###############
+#Sort Expenditure data
+CBN<- CBN[order(Total_Food_Month_Per2)]
+c<- c[order(Total_Food_Month_Per2)]
+
+#Indicate new poors
+CBN[,Poor8:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_7 & cluster==1,1,0)]
+c[,Poor8:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_7 & cluster==1 ,1,0)]
+CBN[,Poor8:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_7 & cluster==2,1,Poor8)]
+c[,Poor8:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_7 & cluster==2 ,1,Poor8)]
+CBN[,Poor8:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_7 & cluster==3,1,Poor8)]
+c[,Poor8:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_7 & cluster==3 ,1,Poor8)]
+CBN[,Poor8:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_7 & cluster==4,1,Poor8)]
+c[,Poor8:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_7 & cluster==4 ,1,Poor8)]
+CBN[,Poor8:=ifelse(FoodExpenditure_Per_total < Food_Povertyline5_7 & cluster==5,1,Poor8)]
+c[,Poor8:=ifelse(FoodExpenditure_Per_total < Food_Povertyline5_7 & cluster==5 ,1,Poor8)]
+CBN[,weighted.mean(Poor8,Weight),by=cluster][order(cluster)]
+CBNPoor7[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8<-CBN[Poor8==1]
+
+
+#CalculatePer_calories in clusters
+CBNPoor8[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(191:206)][]
+#utils::View(CBNPoor8)
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor8[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(208:223)][]
+
+
+CBNPoor8[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor8[,Calory_Price:=FoodExpenditure_Per_cluster/(Daily_Calories_cluster2)]
+CBNPoor8[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor8[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8<-CBNPoor8[Per_Daily_Exp_Calories!=0]
+CBNPoor8[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor8[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+
+#sum of total food expenditures
+CBNPoor8[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor8[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor8[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor8[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+
+
+#Calculations
+CBNPoor8[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,weighted.mean(FoodExpenditure_Per_day,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+
+
+
+#Food Poverty Line for each cluster
+#cluster 1
+CBNPoorCluster<-CBNPoor8[cluster==1]
+Food_Povertyline1_8<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 2
+CBNPoorCluster<-CBNPoor8[cluster==2]
+Food_Povertyline2_8<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 3
+CBNPoorCluster<-CBNPoor8[cluster==3]
+Food_Povertyline3_8<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 4
+CBNPoorCluster<-CBNPoor8[cluster==4]
+Food_Povertyline4_8<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 5
+CBNPoorCluster<-CBNPoor[cluster==5]
+Food_Povertyline5_8<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#ee<-CBNPoor[,.(Total_Exp_Month_Real,Total_Exp_Month,Total_Food_Month_Per2,Total_Exp_Month_Per_nondurable,Total_Exp_Month_nondurable_Real_Per,FoodExpenditure_Per,cluster)]
+#mean(ee[,Total_Food_Month_Per2==Total_Exp_Month_nondurable_Real])
+#mean(ee[,Total_Food_Month_Per2<3500000])
+#ee<- ee[order(Total_Food_Month_Per2)]
+#utils::View(CBN)
+#for (col in c("Total_Food_Month_Per2")) CBN[is.na(get(col)), (col) := Total_Exp_Month_Per_nondurable]
+c<-CBN[,.(FoodExpenditure_Per,FoodExpenditure_Per_total,Total_Exp_Month_Per_nondurable,Total_Exp_Month,Total_Food_Month_Per2,Poor,Decile,Weight,cluster)]
+
+
+#########Iteration 9###############
+#Sort Expenditure data
+CBN<- CBN[order(Total_Food_Month_Per2)]
+c<- c[order(Total_Food_Month_Per2)]
+
+#Indicate new poors
+CBN[,Poor9:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_8 & cluster==1,1,0)]
+c[,Poor9:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_8 & cluster==1 ,1,0)]
+CBN[,Poor9:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_8 & cluster==2,1,Poor9)]
+c[,Poor9:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_8 & cluster==2 ,1,Poor9)]
+CBN[,Poor9:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_8 & cluster==3,1,Poor9)]
+c[,Poor9:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_8 & cluster==3 ,1,Poor9)]
+CBN[,Poor9:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_8 & cluster==4,1,Poor9)]
+c[,Poor9:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_8 & cluster==4 ,1,Poor9)]
+CBN[,Poor9:=ifelse(FoodExpenditure_Per_total < Food_Povertyline5_8 & cluster==5,1,Poor9)]
+c[,Poor9:=ifelse(FoodExpenditure_Per_total < Food_Povertyline5_8 & cluster==5 ,1,Poor9)]
+CBN[,weighted.mean(Poor9,Weight),by=cluster][order(cluster)]
+CBNPoor8[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9<-CBN[Poor9==1]
+
+
+#CalculatePer_calories in clusters
+CBNPoor9[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(191:206)][]
+#utils::View(CBNPoor9)
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor9[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(208:223)][]
+
+
+CBNPoor9[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor9[,Calory_Price:=FoodExpenditure_Per_cluster/(Daily_Calories_cluster2)]
+CBNPoor9[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor9[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9<-CBNPoor9[Per_Daily_Exp_Calories!=0]
+CBNPoor9[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor9[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+
+#sum of total food expenditures
+CBNPoor9[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor9[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor9[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor9[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+
+
+
+#Calculations
+CBNPoor9[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,weighted.mean(FoodExpenditure_Per_day,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+
+
+
+#Food Poverty Line for each cluster
+#cluster 1
+CBNPoorCluster<-CBNPoor9[cluster==1]
+Food_Povertyline1_9<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 2
+CBNPoorCluster<-CBNPoor9[cluster==2]
+Food_Povertyline2_9<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 3
+CBNPoorCluster<-CBNPoor9[cluster==3]
+Food_Povertyline3_9<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 4
+CBNPoorCluster<-CBNPoor9[cluster==4]
+Food_Povertyline4_9<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 5
+CBNPoorCluster<-CBNPoor[cluster==5]
+Food_Povertyline5_9<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#ee<-CBNPoor[,.(Total_Exp_Month_Real,Total_Exp_Month,Total_Food_Month_Per2,Total_Exp_Month_Per_nondurable,Total_Exp_Month_nondurable_Real_Per,FoodExpenditure_Per,cluster)]
+#mean(ee[,Total_Food_Month_Per2==Total_Exp_Month_nondurable_Real])
+#mean(ee[,Total_Food_Month_Per2<3500000])
+#ee<- ee[order(Total_Food_Month_Per2)]
+#utils::View(CBN)
+#for (col in c("Total_Food_Month_Per2")) CBN[is.na(get(col)), (col) := Total_Exp_Month_Per_nondurable]
+c<-CBN[,.(FoodExpenditure_Per,FoodExpenditure_Per_total,Total_Exp_Month_Per_nondurable,Total_Exp_Month,Total_Food_Month_Per2,Poor,Decile,Weight,cluster)]
+
+
+#########Iteration 10###############
+#Sort Expenditure data
+CBN<- CBN[order(Total_Food_Month_Per2)]
+c<- c[order(Total_Food_Month_Per2)]
+
+#Indicate new poors
+CBN[,Poor10:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_9 & cluster==1,1,0)]
+c[,Poor10:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_9 & cluster==1 ,1,0)]
+CBN[,Poor10:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_9 & cluster==2,1,Poor10)]
+c[,Poor10:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_9 & cluster==2 ,1,Poor10)]
+CBN[,Poor10:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_9 & cluster==3,1,Poor10)]
+c[,Poor10:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_9 & cluster==3 ,1,Poor10)]
+CBN[,Poor10:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_9 & cluster==4,1,Poor10)]
+c[,Poor10:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_9 & cluster==4 ,1,Poor10)]
+CBN[,Poor10:=ifelse(FoodExpenditure_Per_total < Food_Povertyline5_9 & cluster==5,1,Poor10)]
+c[,Poor10:=ifelse(FoodExpenditure_Per_total < Food_Povertyline5_9 & cluster==5 ,1,Poor10)]
+CBN[,weighted.mean(Poor10,Weight),by=cluster][order(cluster)]
+CBNPoor9[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor10<-CBN[Poor10==1]
+
+#Engel
+#CBNPoor9<-CBNPoor9[,ratio1:=FoodExpenditure/Total_Exp_Month]
+#CBNPoor9[,weighted.mean(ratio1,Weight),by=cluster]
+#summary(CBNPoor9$ratio1)
+CBN<-CBN[,ratio1:=FoodExpenditure/Total_Exp_Month]
+CBN[,weighted.mean(ratio1,Weight),by=ProvinceCode][order(ProvinceCode)]
+CBN<-CBN[,ratio2:=ServiceExp/Total_Exp_Month]
+CBN[,weighted.mean(ratio2,Weight),by=ProvinceCode][order(ProvinceCode)]
+
+# Poverty Line for each cluster
+#cluster 1
+CBNPoorCluster<-CBN[cluster==1 & FoodExpenditure_Per<1.1*Food_Povertyline1_9 & FoodExpenditure_Per>0.90*Food_Povertyline1_9]
+Engel1<-weighted.mean(CBNPoorCluster$ratio1,CBNPoorCluster$Weight)
+Engel_Reverse1<-1/Engel1
+Povertyline1_9<-Engel_Reverse1*Food_Povertyline1_9
+
+#cluster 2
+CBNPoorCluster<-CBN[cluster==2 & FoodExpenditure_Per<1.1*Food_Povertyline2_9 & FoodExpenditure_Per>0.90*Food_Povertyline2_9]
+Engel2<-weighted.mean(CBNPoorCluster$ratio1,CBNPoorCluster$Weight)
+Engel_Reverse2<-1/Engel2
+Povertyline2_9<-Engel_Reverse2*Food_Povertyline2_9
+
+#cluster 3
+CBNPoorCluster<-CBN[cluster==3 & FoodExpenditure_Per<1.1*Food_Povertyline3_9 & FoodExpenditure_Per>0.90*Food_Povertyline3_9]
+Engel3<-weighted.mean(CBNPoorCluster$ratio1,CBNPoorCluster$Weight)
+Engel_Reverse3<-1/Engel3
+Povertyline3_9<-Engel_Reverse3*Food_Povertyline3_9
+
+#cluster 4
+CBNPoorCluster<-CBN[cluster==4 & FoodExpenditure_Per<1.1*Food_Povertyline4_9 & FoodExpenditure_Per>0.90*Food_Povertyline4_9]
+Engel4<-weighted.mean(CBNPoorCluster$ratio1,CBNPoorCluster$Weight)
+Engel_Reverse4<-1/Engel4
+Povertyline4_9<-Engel_Reverse4*Food_Povertyline4_9
+
+#cluster 5
+CBNPoorCluster<-CBN[cluster==5 & FoodExpenditure_Per<1.1*Food_Povertyline5_9 & FoodExpenditure_Per>0.90*Food_Povertyline5_9]
+Engel5<-weighted.mean(CBNPoorCluster$ratio1,CBNPoorCluster$Weight)
+Engel_Reverse5<-1/Engel5
+Povertyline5_9<-Engel_Reverse5*Food_Povertyline5_9
+
+#Indicate final poors
+CBN<-CBN[,Total_Exp_Month_Per2:=Total_Exp_Month_Per_nondurable*RealPriceIndex]
+
+CBN[,Poor11:=ifelse(Total_Exp_Month_Per_nondurable < Povertyline1_9 & cluster==1,1,0)]
+CBN[,Poor11:=ifelse(Total_Exp_Month_Per_nondurable < Povertyline2_9 & cluster==2,1,Poor11)]
+CBN[,Poor11:=ifelse(Total_Exp_Month_Per_nondurable < Povertyline3_9 & cluster==3,1,Poor11)]
+CBN[,Poor11:=ifelse(Total_Exp_Month_Per_nondurable < Povertyline4_9 & cluster==4,1,Poor11)]
+CBN[,Poor11:=ifelse(Total_Exp_Month_Per_nondurable < Povertyline5_9 & cluster==5,1,Poor11)]
+CBN[,weighted.mean(Poor11,Weight),by=cluster][order(cluster)]
+CBNPoor9[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor11<-CBN[Poor11==1]
+
+CBN[,sum(Size*Weight),by=cluster][order(cluster)]
+CBNPoor9[,sum(Size*Weight),by=cluster][order(cluster)]
+CBNPoor9[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBN[,weighted.mean(Poor11,Weight)]
+CBN[,weighted.mean(Poor11,Weight),by=cluster][order(cluster)]
+CBN[,weighted.mean(Poor11,Weight),by=ProvinceCode][order(ProvinceCode)]
+endtime <- proc.time()
+
+cat("\n\n============================\nIt took ")
+cat(endtime-starttime)
+
diff --git a/R/Archive/Other Codes/60-CBN90-Rural.R b/R/Archive/Other Codes/60-CBN90-Rural.R
new file mode 100644
index 00000000..2da6df66
--- /dev/null
+++ b/R/Archive/Other Codes/60-CBN90-Rural.R
@@ -0,0 +1,2938 @@
+#CBN Method-Rural.R
+#
+# Copyright © 2018:Arin Shahbazian
+# Licence: GPL-3
+#
+rm(list=ls())
+
+starttime <- proc.time()
+cat("\n\n================ Prepare Data =====================================\n")
+
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+library(readxl)
+library(stringr)
+library(data.table)
+
+#for(year in (Settings$startyear:Settings$endyear)){
+# cat(paste0("\n------------------------------\nYear:",year,"\n"))
+
+load(file=paste0(Settings$HEISProcessedPath,"Y","90","HHBase.rda"))
+HHBase[,IndivNo:=NULL]
+HHBase[,Relationship:=NULL]
+HHBase[,Sex:=NULL]
+HHBase[,Age:=NULL]
+HHBase[,Literate:=NULL]
+HHBase[,Student:=NULL]
+HHBase[,EduCode:=NULL]
+HHBase[,EduYears:=NULL]
+HHBase[,EduLevel:=NULL]
+HHBase[,EduLevel0:=NULL]
+HHBase[,ActivityState:=NULL]
+HHBase[,MarritalState:=NULL]
+load(file=paste0(Settings$HEISProcessedPath,"Y","90","Ghand_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","90","Hoboobat_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","90","Roghan_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","90","Berenj_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","90","Nan_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","90","Goosht_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","90","Morgh_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","90","Mahi_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","90","Shir_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","90","Mast_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","90","Panir_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","90","Tokhmemorgh_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","90","Mive_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","90","Sabzi_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","90","Makarooni_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","90","Sibzamini_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","90","Weights.rda"))
+
+Ghand_Data<-Ghand_Data[,.(HHID,Ghandgram,GhandPrice)]
+Hoboobat_Data<-Hoboobat_Data[,.(HHID,Hoboobatgram,HoboobatPrice)]
+Roghan_Data<-Roghan_Data[,.(HHID,Roghangram,RoghanPrice)]
+Berenj_Data<-Berenj_Data[,.(HHID,Berenjgram,BerenjPrice)]
+Nan_Data<-Nan_Data[,.(HHID,Nangram,NanPrice)]
+Goosht_Data<-Goosht_Data[,.(HHID,Gooshtgram,GooshtPrice)]
+Morgh_Data<-Morgh_Data[,.(HHID,Morghgram,MorghPrice)]
+Mahi_Data<-Mahi_Data[,.(HHID,Mahigram,MahiPrice)]
+Shir_Data<-Shir_Data[,.(HHID,Shirgram,ShirPrice)]
+Mast_Data<-Mast_Data[,.(HHID,Mastgram,MastPrice)]
+Panir_Data<-Panir_Data[,.(HHID,Panirgram,PanirPrice)]
+Tokhmemorgh_Data<-Tokhmemorgh_Data[,.(HHID,Tokhmemorghgram,TokhmemorghPrice)]
+Mive_Data<-Mive_Data[,.(HHID,Mivegram,MivePrice)]
+Sabzi_Data<-Sabzi_Data[,.(HHID,Sabzigram,SabziPrice)]
+Makarooni_Data<-Makarooni_Data[,.(HHID,Makaroonigram,MakarooniPrice)]
+Sibzamini_Data<-Sibzamini_Data[,.(HHID,Sibzaminigram,SibzaminiPrice)]
+
+Food<-merge(HHBase,Ghand_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Ghandgram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Hoboobat_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Hoboobatgram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Roghan_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Roghangram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Berenj_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Berenjgram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Nan_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Nangram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Goosht_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Gooshtgram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Morgh_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Morghgram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Mahi_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Mahigram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Shir_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Shirgram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Mast_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Mastgram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Panir_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Panirgram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Tokhmemorgh_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Tokhmemorghgram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Mive_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Mivegram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Sabzi_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Sabzigram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Makarooni_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Makaroonigram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Sibzamini_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Sibzaminigram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Weights,by =c("HHID"),all.x=TRUE)
+
+
+
+#load Expenditure groups
+load(file=paste0(Settings$HEISProcessedPath,"Y","90","HHBase.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","90","HHI.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","90","Foods.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","90","Cigars.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","90","Cloths.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","90","Amusements.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","90","Communications.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","90","Durables.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","90","Education.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","90","Energy.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","90","Furnitures.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","90","Hotels.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","90","House.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","90","Medicals.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","90","Behdashts.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","90","Transportations.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","90","Others.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","90","Investments.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","90","Resturants.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","90","Weights.rda"))
+
+#merge Expenditure groups
+CBN<-merge(Food,HHI ,by =c("HHID"),all=TRUE)
+CBN<-merge(CBN,FoodData,by =c("HHID"),all=TRUE)
+for (col in c("FoodExpenditure")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,CigarData,by =c("HHID"),all=TRUE)
+for (col in c("Cigar_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,ClothData,by =c("HHID"),all=TRUE)
+for (col in c("Cloth_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,AmusementData,by =c("HHID"),all=TRUE)
+for (col in c("Amusement_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,CommunicationData,by =c("HHID"),all=TRUE)
+for (col in c("Communication_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,EducData,by =c("HHID"),all=TRUE)
+for (col in c("EducExpenditure")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,EnergyData,by =c("HHID"),all=TRUE)
+for (col in c("Energy_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,FurnitureData,by =c("HHID"),all=TRUE)
+for (col in c("Furniture_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,HotelData,by =c("HHID"),all=TRUE)
+for (col in c("Hotel_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,BehdashtData,by =c("HHID"),all=TRUE)
+for (col in c("Behdasht_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,TransportationData,by =c("HHID"),all=TRUE)
+for (col in c("Transportation_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,OtherData,by =c("HHID"),all=TRUE)
+for (col in c("Other_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,HouseData,by =c("HHID"),all=TRUE)
+for (col in c("ServiceExp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,InvestmentData,by =c("HHID"),all=TRUE)
+for (col in c("Investment_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,MedicalData,by =c("HHID"),all=TRUE)
+for (col in c("Medical_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,DurableData,by =c("HHID"),all=TRUE)
+for (col in c("Durable_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,ResturantData,by =c("HHID"),all=TRUE)
+for (col in c("Resturant_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-CBN[Size!=0]
+CBN<-CBN[Region=="Rural"]
+CBN<-CBN[FoodExpenditure!=0]
+
+
+#Calculate Per_Total Expenditures Monthly
+CBN[, Total_Exp_Month := Reduce(`+`, .SD), .SDcols=c(65:77,82:83)][]
+CBN[, Total_Exp_Month_nondurable := Reduce(`+`, .SD), .SDcols=65:77][]
+
+CBN$Total_Exp_Month_Per<-CBN$Total_Exp_Month/CBN$EqSizeOECD
+CBN$Total_Exp_Month_Per_nondurable<-CBN$Total_Exp_Month_nondurable/CBN$EqSizeOECD
+
+#Calculate Per_Food Expenditures Monthly
+CBN[,EqSizeCalory :=(Size-NKids) + NKids*(1800/2100)]
+CBN$FoodExpenditure_Per<-CBN$FoodExpenditure/CBN$EqSizeCalory
+
+#Calculate Per_Food Expenditures Daily
+CBN$FoodExpenditure_Per_day<-CBN$FoodExpenditure_Per/30
+
+CBN$Ghandgram_Per_day<-CBN$Ghandgram/(30*CBN$EqSizeOECD)
+CBN$Hoboobatgram_Per_day<-CBN$Hoboobatgram/(30*CBN$EqSizeOECD)
+CBN$Berenjgram_Per_day<-CBN$Berenjgram/(30*CBN$EqSizeOECD)
+CBN$Nangram_Per_day<-CBN$Nangram/(30*CBN$EqSizeOECD)
+CBN$Roghangram_Per_day<-CBN$Roghangram/(30*CBN$EqSizeOECD)
+CBN$Gooshtgram_Per_day<-CBN$Gooshtgram/(30*CBN$EqSizeOECD)
+CBN$Morghgram_Per_day<-CBN$Morghgram/(30*CBN$EqSizeOECD)
+CBN$Mahigram_Per_day<-CBN$Mahigram/(30*CBN$EqSizeOECD)
+CBN$Shirgram_Per_day<-CBN$Shirgram/(30*CBN$EqSizeOECD)
+CBN$Mastgram_Per_day<-CBN$Mastgram/(30*CBN$EqSizeOECD)
+CBN$Panirgram_Per_day<-CBN$Panirgram/(30*CBN$EqSizeOECD)
+CBN$Tokhmemorghgram_Per_day<-CBN$Tokhmemorghgram/(30*CBN$EqSizeOECD)
+CBN$Mivegram_Per_day<-CBN$Mivegram/(30*CBN$EqSizeOECD)
+CBN$Sabzigram_Per_day<-CBN$Sabzigram/(30*CBN$EqSizeOECD)
+CBN$Makaroonigram_Per_day<-CBN$Makaroonigram/(30*CBN$EqSizeOECD)
+CBN$Sibzaminigram_Per_day<-CBN$Sibzaminigram/(30*CBN$EqSizeOECD)
+CBN[,EqSizeCalory:=NULL]
+
+load(file="PriceIndex95.rda")
+CBN<-merge(CBN,PriceIndex95,by=c("ProvinceCode"),all.x = TRUE)
+CBN[,ostan:=NULL]
+load(file="PriceIndex.rda")
+CBN<-merge(CBN,PriceIndex,by=c("ProvinceCode"),all.x = TRUE)
+
+#Sort Expenditure data
+CBN<- CBN[order(Total_Exp_Month_Per_nondurable)]
+
+#Calculate cumulative weights
+sum(CBN$Weight)
+CBN$cumweight <- cumsum(CBN$Weight)
+tx <- max(CBN$cumweight)
+
+#Calculate deciles by weights
+CBN[,Decile:=cut(cumweight,breaks = seq(0,tx,tx/10),labels = 1:10)]
+CBN[,Percentile:=cut(cumweight,breaks=seq(0,tx,tx/100),labels=1:100)]
+
+
+CBN$Ghand_W<-CBN$Ghandgram_Per_day*CBN$GhandPrice*0.001*30
+CBN$Hoboobat_W<-CBN$Hoboobatgram_Per_day*CBN$HoboobatPrice*0.001*30
+CBN$Roghan_W<-CBN$Roghangram_Per_day*CBN$RoghanPrice*0.001*30
+CBN$Berenj_W<-CBN$Berenjgram_Per_day*CBN$BerenjPrice*0.001*30
+CBN$Nan_W<-CBN$Nangram_Per_day*CBN$NanPrice*0.001*30
+CBN$Goosht_W<-CBN$Gooshtgram_Per_day*CBN$GooshtPrice*0.001*30
+CBN$Morgh_W<-CBN$Morghgram_Per_day*CBN$MorghPrice*0.001*30
+CBN$Mahi_W<-CBN$Mahigram_Per_day*CBN$MahiPrice*0.001*30
+CBN$Shir_W<-CBN$Shirgram_Per_day*CBN$ShirPrice*0.001*30
+CBN$Mast_W<-CBN$Mastgram_Per_day*CBN$MastPrice*0.001*30
+CBN$Panir_W<-CBN$Panirgram_Per_day*CBN$PanirPrice*0.001*30
+CBN$Tokhmemorgh_W<-CBN$Tokhmemorghgram_Per_day*CBN$TokhmemorghPrice*0.001*30
+CBN$Mive_W<-CBN$Mivegram_Per_day*CBN$MivePrice*0.001*30
+CBN$Sabzi_W<-CBN$Sabzigram_Per_day*CBN$SabziPrice*0.001*30
+CBN$Makarooni_W<-CBN$Makaroonigram_Per_day*CBN$MakarooniPrice*0.001*30
+CBN$Sibzamini_W<-CBN$Sibzaminigram_Per_day*CBN$SibzaminiPrice*0.001*30
+CBN$Home_W<-CBN$ServiceExp/CBN$EqSizeOECD
+CBN$Home_Per_Metr<-CBN$MetrPrice/CBN$EqSizeOECD
+
+#Seperate big cities
+CBN[,sum(Weight*Size),by=ProvinceCode][order(V1)]
+CBN[,HHIDs:=as.character(HHID)]
+CBN[,ShahrestanCode:=as.integer(str_sub(HHIDs,2,5))]
+CBN[,sum(Weight*Size),by=ShahrestanCode][order(V1)][330:387]
+CBNTehran<-CBN[ProvinceCode==23]
+CBNTehran[,sum(Weight*Size),by=ShahrestanCode]
+CBNTabriz<-CBN[ProvinceCode==3]
+CBNTabriz[,sum(Weight*Size),by=ShahrestanCode]
+CBNAhvaz<-CBN[ProvinceCode==6]
+CBNAhvaz[,sum(Weight*Size),by=ShahrestanCode]
+CBNShiraz<-CBN[ProvinceCode==7]
+CBNShiraz[,sum(Weight*Size),by=ShahrestanCode]
+CBNMashhad<-CBN[ProvinceCode==9]
+CBNMashhad[,sum(Weight*Size),by=ShahrestanCode]
+CBNEsfahan<-CBN[ProvinceCode==10]
+CBNEsfahan[,sum(Weight*Size),by=ShahrestanCode]
+CBNKaraj<-CBN[ProvinceCode==30]
+CBNKaraj[,sum(Weight*Size),by=ShahrestanCode]
+CBNKermanshah<-CBN[ProvinceCode==5]
+CBNKermanshah[,sum(Weight*Size),by=ShahrestanCode]
+
+
+# Food Calories
+CBN$Ghand_Calory<- CBN$Ghandgram *4
+CBN$Hoboobat_Calory<- CBN$Hoboobatgram *3
+CBN$Nan_Calory<- CBN$Nangram *2.5
+CBN$Berenj_Calory<- CBN$Berenjgram *1.2
+CBN$Roghan_Calory<- CBN$Roghangram *8
+CBN$Goosht_Calory<- CBN$Gooshtgram *2.5
+CBN$Morgh_Calory<- CBN$Morghgram *2
+CBN$Mahi_Calory<- CBN$Mahigram *1
+CBN$Shir_Calory<- CBN$Shirgram *2.5
+CBN$Mast_Calory<- CBN$Mastgram *1.5
+CBN$Panir_Calory<- CBN$Mastgram *2.5
+CBN$Tokhmemorgh_Calory<- CBN$Tokhmemorghgram *1.4
+CBN$Mive_Calory<- CBN$Mivegram *0.5
+CBN$Sabzi_Calory<- CBN$Sabzigram *0.5
+CBN$Makarooni_Calory<- CBN$Makaroonigram *3.6
+CBN$Sibzamini_Calory<- CBN$Sibzaminigram *0.9
+#utils::View(CBN)
+
+#CalculatePer_calories
+CBN[, Daily_Exp_Calories := Reduce(`+`, .SD), .SDcols=148:163][]
+CBN[,EqSizeCalory :=(Size-NKids) + NKids*(1800/2100)]
+CBN[,Per_Daily_Exp_Calories:=Daily_Exp_Calories/EqSizeCalory]
+CBN <- CBN[Per_Daily_Exp_Calories<100000] # arbitrary removal of outliers
+#CBN[,Daily_Calories_cluster:=weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+#CBN[,weighted.mean(Daily_Calories_cluster,Weight,na.rm = TRUE),by=cluster]
+#CBN[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+#CBN[,weighted.mean(Size,Weight,na.rm = TRUE),by=cluster]
+#CBN[,sum(Weight*Size),by=cluster]
+#CBN[,sum(Weight),by=cluster]
+#CBN[,sum(Poor),by=cluster]
+
+
+#Calculate_Per_calories
+CBN$Ghand_per_Calory<- CBN$Ghandgram *4/CBN$EqSizeCalory
+CBN$Hoboobat_per_Calory<- CBN$Hoboobatgram *3/CBN$EqSizeCalory
+CBN$Nan_per_Calory<- CBN$Nangram *2.5/CBN$EqSizeCalory
+CBN$Berenj_per_Calory<- CBN$Berenjgram *1.2/CBN$EqSizeCalory
+CBN$Roghan_per_Calory<- CBN$Roghangram *8/CBN$EqSizeCalory
+CBN$Goosht_per_Calory<- CBN$Gooshtgram *2.5/CBN$EqSizeCalory
+CBN$Morgh_per_Calory<- CBN$Morghgram *2/CBN$EqSizeCalory
+CBN$Mahi_per_Calory<- CBN$Mahigram *1/CBN$EqSizeCalory
+CBN$Shir_per_Calory<- CBN$Shirgram *2.5/CBN$EqSizeCalory
+CBN$Mast_per_Calory<- CBN$Mastgram *1.5/CBN$EqSizeCalory
+CBN$Panir_per_Calory<- CBN$Mastgram *2.5/CBN$EqSizeCalory
+CBN$Tokhmemorgh_per_Calory<- CBN$Tokhmemorghgram *1.4/CBN$EqSizeCalory
+CBN$Mive_per_Calory<- CBN$Mivegram *0.5/CBN$EqSizeCalory
+CBN$Sabzi_per_Calory<- CBN$Sabzigram *0.5/CBN$EqSizeCalory
+CBN$Makarooni_per_Calory<- CBN$Makaroonigram *3.6/CBN$EqSizeCalory
+CBN$Sibzamini_per_Calory<- CBN$Sibzaminigram *0.9/CBN$EqSizeCalory
+
+
+#Assume that deciles 1 and 2 are poor
+CBN[,Poor:=ifelse(Decile %in% 1:4,1,0)]
+CBNPoor<-CBN[Poor==1]
+
+#K-means weights
+PriceWeights<-CBN[,.(HHID,Ghand_W,Hoboobat_W,Roghan_W,Berenj_W,Nan_W,Goosht_W,Morgh_W,Mahi_W,Shir_W,Mast_W,Panir_W,Tokhmemorgh_W,Mive_W,Sabzi_W,Makarooni_W,Sibzamini_W,Home_W,ProvinceCode,Weight)]
+dt3 <- PriceWeights[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+dt3<- dt3[order(ProvinceCode)]
+dt3 <- dt3[,.(Ghand_W,Hoboobat_W,Roghan_W,Berenj_W,Nan_W,Goosht_W,Morgh_W,Mahi_W,Shir_W,Mast_W,Panir_W,Tokhmemorgh_W,Mive_W,Sabzi_W,Makarooni_W,Sibzamini_W,Home_W)]
+
+
+
+#K-means algorithm for clustering by prices
+test<-CBNPoor[,.(GhandPrice,HoboobatPrice,RoghanPrice,BerenjPrice,NanPrice,GooshtPrice,MorghPrice,MahiPrice,ShirPrice,MastPrice,PanirPrice,TokhmemorghPrice,MivePrice,SabziPrice,MakarooniPrice,SibzaminiPrice,MetrPrice,ProvinceCode,Weight)]
+#test<-CBNPoor[,.(GhandPrice,HoboobatPrice,RoghanPrice,BerenjPrice,NanPrice,GooshtPrice,MorghPrice,MahiPrice,ShirPrice,MastPrice,PanirPrice,TokhmemorghPrice,MivePrice,SabziPrice,MakarooniPrice,SibzaminiPrice,MetrPrice,Ghand_W,Hoboobat_W,Roghan_W,Berenj_W,Nan_W,Goosht_W,Morgh_W,Mahi_W,Shir_W,Mast_W,Panir_W,Tokhmemorgh_W,Mive_W,Sabzi_W,Makarooni_W,Sibzamini_W,Home_W,Region,ProvinceCode,Weight)]
+dt2 <- test[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+dt2<- dt2[order(ProvinceCode)]
+for (col in c("MahiPrice")) dt2[is.nan(get(col)), (col) := 200000]
+dt <- dt2 [,.(GhandPrice,HoboobatPrice,RoghanPrice,BerenjPrice,NanPrice,GooshtPrice,MorghPrice,MahiPrice,ShirPrice,MastPrice,PanirPrice,TokhmemorghPrice,MivePrice,SabziPrice,MakarooniPrice,SibzaminiPrice,MetrPrice)]
+
+
+pca <- princomp(dt, cor=T)
+PRICE <- pca$scores
+PRICE1 <- -1*PRICE[,1]
+PRICE2 <- -1*PRICE[,2]
+PRICE3 <- -1*PRICE[,3]
+PRICE4 <- -1*PRICE[,4]
+PRICE5 <- -1*PRICE[,5]
+PRICE6 <- -1*PRICE[,6]
+PRICE7 <- -1*PRICE[,7]
+PRICE8 <- -1*PRICE[,8]
+PRICE9 <- -1*PRICE[,9]
+PRICE10 <- -1*PRICE[,10]
+PRICE11 <- -1*PRICE[,11]
+PRICE12 <- -1*PRICE[,12]
+PRICE13 <- -1*PRICE[,13]
+PRICE14 <- -1*PRICE[,14]
+PRICE15 <- -1*PRICE[,15]
+PRICE16 <- -1*PRICE[,16]
+PRICE17 <- -1*PRICE[,17]
+
+# Deciding how many clusters
+wss <- (nrow(dt)-1)*sum(apply(dt,2,var))
+for (i in 2:30) wss[i] <- sum(kmeans(dt, centers=i)$withinss)
+plot(1:30, wss, type="b", xlab="Number of Clusters",
+ ylab="Within groups sum of squares")
+
+#Weighted clustering
+
+dt3.m <- dt3[,lapply(.SD, mean)] # Weights for each vector
+dtW <- dt * sqrt(dt3.m[rep(1,nrow(dt))]) # Weighted observations
+kmeans(dtW,4) # Simple K-means
+
+cl <- kmeans(dtW,4)
+cl$cluster
+dt2 <- dt2[,cluster:=data.table(cl$cluster)]
+dt2<-dt2[,.(ProvinceCode,cluster)]
+load(file="dt5Rural.rda")
+#plot(PRICE1, PRICE2,col=cl$cluster)
+#points(cl$centers, pch=20)
+CBNPoor<-merge(CBNPoor,dt2,by=c("ProvinceCode"),all.x = TRUE)
+CBNPoor[,sum(Weight*Size),by=cluster]
+CBNPoor[,sum(Weight),by=cluster]
+CBNPoor[,sum(Poor),by=cluster]
+C2<-CBNPoor[,.(HHID,ProvinceCode,Region,Decile,Poor,cluster)]
+######################################################################
+
+
+
+
+
+
+
+
+
+####Iteration 1#####
+###Iteration1-1
+#Calculate Per_calories in clusters
+CBNPoor[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(185:200)][]
+#utils::View(CBNPoor)
+
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(202:217)][]
+
+CBNPoor[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor<-CBNPoor[Per_Daily_Exp_Calories!=0]
+CBNPoor[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+#CBN[,weighted.mean(Poor,Weight),by=cluster][order(cluster)]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE)]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE)]
+
+#Real Prices
+T_Bundle_Value<-subset(CBNPoor, ProvinceCode==23, select=c(Bundle_Value,Home_Per_Metr,Weight))
+Tehran_Bundle_Value1<-weighted.mean(T_Bundle_Value$Bundle_Value,T_Bundle_Value$Weight,na.rm = TRUE)
+Tehran_Bundle_Value2<-weighted.mean(T_Bundle_Value$Home_Per_Metr,T_Bundle_Value$Weight,na.rm = TRUE)
+CBNPoor[,RealPriceIndex1:=weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/Tehran_Bundle_Value1,by=ProvinceCode]
+CBNPoor[,RealPriceIndex2:=weighted.mean(Home_Per_Metr,Weight,na.rm = TRUE)/Tehran_Bundle_Value2,by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex1,Weight),by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex2,Weight),by=ProvinceCode]
+Indexes2<-CBNPoor[,.(RealPriceIndex1,RealPriceIndex2,ProvinceCode,Weight)]
+Indexes2<-Indexes2[,RealPriceIndex:=(RealPriceIndex1+RealPriceIndex2)/2]
+Indexes<-Indexes2[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+Indexes31<-Indexes[,.(ProvinceCode,RealPriceIndex1,RealPriceIndex2,RealPriceIndex)]
+Indexes<-Indexes[,.(ProvinceCode,RealPriceIndex)]
+CBN<-merge(CBN,Indexes,by=c("ProvinceCode"),all.x = TRUE)
+CBN<-CBN[,Total_Food_Month_Per2:=FoodExpenditure_Per*RealPriceIndex]
+CBN<-CBN[,Total_Exp_Month_Per2:=Total_Exp_Month_Per_nondurable*RealPriceIndex]
+#utils::View(CBN)
+
+#Sort Expenditure data
+CBN<- CBN[order(Total_Exp_Month_Per2)]
+
+#Calculate cumulative weights
+sum(CBN$Weight)
+CBN$cumweight <- cumsum(CBN$Weight)
+tx <- max(CBN$cumweight)
+
+#Calculate deciles by weights
+CBN[,Decile:=cut(cumweight,breaks = seq(0,tx,tx/10),labels = 1:10)]
+CBN[,Percentile:=cut(cumweight,breaks=seq(0,tx,tx/100),labels=1:100)]
+
+#Update Poors
+CBN[,Poor:=ifelse(Decile %in% 1:4,1,0)]
+CBNPoor<-CBN[Poor==1]
+CBNPoor<-merge(CBNPoor,dt2,by=c("ProvinceCode"),all.x = TRUE)
+CBNPoor[,sum(HIndivNo),by=.(ProvinceCode)][order(ProvinceCode)]
+
+###Iteration1-2
+#Calculate Per_calories in clusters
+CBNPoor[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(185:200)][]
+#utils::View(CBNPoor)
+
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(202:217)][]
+
+CBNPoor[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor<-CBNPoor[Per_Daily_Exp_Calories!=0]
+CBNPoor[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+#CBN[,weighted.mean(Poor,Weight),by=cluster][order(cluster)]
+
+#Real Prices
+T_Bundle_Value<-subset(CBNPoor, ProvinceCode==23, select=c(Bundle_Value,Home_Per_Metr,Weight))
+Tehran_Bundle_Value1<-weighted.mean(T_Bundle_Value$Bundle_Value,T_Bundle_Value$Weight,na.rm = TRUE)
+Tehran_Bundle_Value2<-weighted.mean(T_Bundle_Value$Home_Per_Metr,T_Bundle_Value$Weight,na.rm = TRUE)
+CBNPoor[,RealPriceIndex1:=weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/Tehran_Bundle_Value1,by=ProvinceCode]
+CBNPoor[,RealPriceIndex2:=weighted.mean(Home_Per_Metr,Weight,na.rm = TRUE)/Tehran_Bundle_Value2,by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex1,Weight),by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex2,Weight),by=ProvinceCode]
+Indexes2<-CBNPoor[,.(RealPriceIndex1,RealPriceIndex2,ProvinceCode,Weight)]
+Indexes2<-Indexes2[,RealPriceIndex:=(RealPriceIndex1+RealPriceIndex2)/2]
+Indexes<-Indexes2[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+Indexes32<-Indexes[,.(ProvinceCode,RealPriceIndex1,RealPriceIndex2,RealPriceIndex)]
+Indexes<-Indexes[,.(ProvinceCode,RealPriceIndex)]
+CBN[,RealPriceIndex:=NULL]
+CBN<-merge(CBN,Indexes,by=c("ProvinceCode"),all.x = TRUE)
+CBN<-CBN[,Total_Food_Month_Per2:=FoodExpenditure_Per*RealPriceIndex]
+CBN<-CBN[,Total_Exp_Month_Per2:=Total_Exp_Month_Per_nondurable*RealPriceIndex]
+#utils::View(CBN)
+
+#Sort Expenditure data
+CBN<- CBN[order(Total_Exp_Month_Per2)]
+
+#Calculate cumulative weights
+sum(CBN$Weight)
+CBN$cumweight <- cumsum(CBN$Weight)
+tx <- max(CBN$cumweight)
+
+#Calculate deciles by weights
+CBN[,Decile:=cut(cumweight,breaks = seq(0,tx,tx/10),labels = 1:10)]
+CBN[,Percentile:=cut(cumweight,breaks=seq(0,tx,tx/100),labels=1:100)]
+
+#Update Poors
+CBN[,Poor:=ifelse(Decile %in% 1:4,1,0)]
+CBNPoor<-CBN[Poor==1]
+CBNPoor<-merge(CBNPoor,dt2,by=c("ProvinceCode"),all.x = TRUE)
+CBNPoor[,sum(HIndivNo),by=.(ProvinceCode)][order(ProvinceCode)]
+
+###Iteration1-3
+#Calculate Per_calories in clusters
+CBNPoor[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(185:200)][]
+#utils::View(CBNPoor)
+
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(202:217)][]
+
+CBNPoor[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor<-CBNPoor[Per_Daily_Exp_Calories!=0]
+CBNPoor[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+#CBN[,weighted.mean(Poor,Weight),by=cluster][order(cluster)]
+
+#Real Prices
+T_Bundle_Value<-subset(CBNPoor, ProvinceCode==23, select=c(Bundle_Value,Home_Per_Metr,Weight))
+Tehran_Bundle_Value1<-weighted.mean(T_Bundle_Value$Bundle_Value,T_Bundle_Value$Weight,na.rm = TRUE)
+Tehran_Bundle_Value2<-weighted.mean(T_Bundle_Value$Home_Per_Metr,T_Bundle_Value$Weight,na.rm = TRUE)
+CBNPoor[,RealPriceIndex1:=weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/Tehran_Bundle_Value1,by=ProvinceCode]
+CBNPoor[,RealPriceIndex2:=weighted.mean(Home_Per_Metr,Weight,na.rm = TRUE)/Tehran_Bundle_Value2,by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex1,Weight),by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex2,Weight),by=ProvinceCode]
+Indexes2<-CBNPoor[,.(RealPriceIndex1,RealPriceIndex2,ProvinceCode,Weight)]
+Indexes2<-Indexes2[,RealPriceIndex:=(RealPriceIndex1+RealPriceIndex2)/2]
+Indexes<-Indexes2[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+Indexes33<-Indexes[,.(ProvinceCode,RealPriceIndex1,RealPriceIndex2,RealPriceIndex)]
+Indexes<-Indexes[,.(ProvinceCode,RealPriceIndex)]
+CBN[,RealPriceIndex:=NULL]
+CBN<-merge(CBN,Indexes,by=c("ProvinceCode"),all.x = TRUE)
+CBN<-CBN[,Total_Food_Month_Per2:=FoodExpenditure_Per*RealPriceIndex]
+CBN<-CBN[,Total_Exp_Month_Per2:=Total_Exp_Month_Per_nondurable*RealPriceIndex]
+#utils::View(CBN)
+
+#Sort Expenditure data
+CBN<- CBN[order(Total_Exp_Month_Per2)]
+
+#Calculate cumulative weights
+sum(CBN$Weight)
+CBN$cumweight <- cumsum(CBN$Weight)
+tx <- max(CBN$cumweight)
+
+#Calculate deciles by weights
+CBN[,Decile:=cut(cumweight,breaks = seq(0,tx,tx/10),labels = 1:10)]
+CBN[,Percentile:=cut(cumweight,breaks=seq(0,tx,tx/100),labels=1:100)]
+
+#Update Poors
+CBN[,Poor:=ifelse(Decile %in% 1:4,1,0)]
+CBNPoor<-CBN[Poor==1]
+CBNPoor<-merge(CBNPoor,dt2,by=c("ProvinceCode"),all.x = TRUE)
+CBNPoor[,sum(HIndivNo),by=.(ProvinceCode)][order(ProvinceCode)]
+
+
+###Iteration1-4
+#Calculate Per_calories in clusters
+CBNPoor[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(185:200)][]
+#utils::View(CBNPoor)
+
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(202:217)][]
+
+CBNPoor[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor<-CBNPoor[Per_Daily_Exp_Calories!=0]
+CBNPoor[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+#CBN[,weighted.mean(Poor,Weight),by=cluster][order(cluster)]
+
+#Real Prices
+T_Bundle_Value<-subset(CBNPoor, ProvinceCode==23, select=c(Bundle_Value,Home_Per_Metr,Weight))
+Tehran_Bundle_Value1<-weighted.mean(T_Bundle_Value$Bundle_Value,T_Bundle_Value$Weight,na.rm = TRUE)
+Tehran_Bundle_Value2<-weighted.mean(T_Bundle_Value$Home_Per_Metr,T_Bundle_Value$Weight,na.rm = TRUE)
+CBNPoor[,RealPriceIndex1:=weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/Tehran_Bundle_Value1,by=ProvinceCode]
+CBNPoor[,RealPriceIndex2:=weighted.mean(Home_Per_Metr,Weight,na.rm = TRUE)/Tehran_Bundle_Value2,by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex1,Weight),by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex2,Weight),by=ProvinceCode]
+Indexes2<-CBNPoor[,.(RealPriceIndex1,RealPriceIndex2,ProvinceCode,Weight)]
+Indexes2<-Indexes2[,RealPriceIndex:=(RealPriceIndex1+RealPriceIndex2)/2]
+Indexes<-Indexes2[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+Indexes34<-Indexes[,.(ProvinceCode,RealPriceIndex1,RealPriceIndex2,RealPriceIndex)]
+Indexes<-Indexes[,.(ProvinceCode,RealPriceIndex)]
+CBN[,RealPriceIndex:=NULL]
+CBN<-merge(CBN,Indexes,by=c("ProvinceCode"),all.x = TRUE)
+CBN<-CBN[,Total_Food_Month_Per2:=FoodExpenditure_Per*RealPriceIndex]
+CBN<-CBN[,Total_Exp_Month_Per2:=Total_Exp_Month_Per_nondurable*RealPriceIndex]
+#utils::View(CBN)
+
+
+#Sort Expenditure data
+CBN<- CBN[order(Total_Exp_Month_Per2)]
+
+#Calculate cumulative weights
+sum(CBN$Weight)
+CBN$cumweight <- cumsum(CBN$Weight)
+tx <- max(CBN$cumweight)
+
+#Calculate deciles by weights
+CBN[,Decile:=cut(cumweight,breaks = seq(0,tx,tx/10),labels = 1:10)]
+CBN[,Percentile:=cut(cumweight,breaks=seq(0,tx,tx/100),labels=1:100)]
+
+#Update Poors
+CBN[,Poor:=ifelse(Decile %in% 1:4,1,0)]
+CBNPoor<-CBN[Poor==1]
+CBNPoor<-merge(CBNPoor,dt2,by=c("ProvinceCode"),all.x = TRUE)
+CBNPoor[,sum(HIndivNo),by=.(ProvinceCode)][order(ProvinceCode)]
+
+###Iteration1-5
+#Calculate Per_calories in clusters
+CBNPoor[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(185:200)][]
+#utils::View(CBNPoor)
+
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(202:217)][]
+
+CBNPoor[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor<-CBNPoor[Per_Daily_Exp_Calories!=0]
+CBNPoor[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+#CBN[,weighted.mean(Poor,Weight),by=cluster][order(cluster)]
+
+#Real Prices
+T_Bundle_Value<-subset(CBNPoor, ProvinceCode==23, select=c(Bundle_Value,Home_Per_Metr,Weight))
+Tehran_Bundle_Value1<-weighted.mean(T_Bundle_Value$Bundle_Value,T_Bundle_Value$Weight,na.rm = TRUE)
+Tehran_Bundle_Value2<-weighted.mean(T_Bundle_Value$Home_Per_Metr,T_Bundle_Value$Weight,na.rm = TRUE)
+CBNPoor[,RealPriceIndex1:=weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/Tehran_Bundle_Value1,by=ProvinceCode]
+CBNPoor[,RealPriceIndex2:=weighted.mean(Home_Per_Metr,Weight,na.rm = TRUE)/Tehran_Bundle_Value2,by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex1,Weight),by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex2,Weight),by=ProvinceCode]
+Indexes2<-CBNPoor[,.(RealPriceIndex1,RealPriceIndex2,ProvinceCode,Weight)]
+Indexes2<-Indexes2[,RealPriceIndex:=(RealPriceIndex1+RealPriceIndex2)/2]
+Indexes<-Indexes2[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+Indexes35<-Indexes[,.(ProvinceCode,RealPriceIndex1,RealPriceIndex2,RealPriceIndex)]
+Indexes<-Indexes[,.(ProvinceCode,RealPriceIndex)]
+CBN[,RealPriceIndex:=NULL]
+CBN<-merge(CBN,Indexes,by=c("ProvinceCode"),all.x = TRUE)
+CBN<-CBN[,Total_Food_Month_Per2:=FoodExpenditure_Per*RealPriceIndex]
+CBN<-CBN[,Total_Exp_Month_Per2:=Total_Exp_Month_Per_nondurable*RealPriceIndex]
+#utils::View(CBN)
+
+
+#Sort Expenditure data
+CBN<- CBN[order(Total_Exp_Month_Per2)]
+
+#Calculate cumulative weights
+sum(CBN$Weight)
+CBN$cumweight <- cumsum(CBN$Weight)
+tx <- max(CBN$cumweight)
+
+#Calculate deciles by weights
+CBN[,Decile:=cut(cumweight,breaks = seq(0,tx,tx/10),labels = 1:10)]
+CBN[,Percentile:=cut(cumweight,breaks=seq(0,tx,tx/100),labels=1:100)]
+
+#Update Poors
+CBN[,Poor:=ifelse(Decile %in% 1:4,1,0)]
+CBNPoor<-CBN[Poor==1]
+CBNPoor<-merge(CBNPoor,dt2,by=c("ProvinceCode"),all.x = TRUE)
+CBNPoor[,sum(HIndivNo),by=.(ProvinceCode)][order(ProvinceCode)]
+
+###Iteration1-6
+#Calculate Per_calories in clusters
+CBNPoor[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(185:200)][]
+#utils::View(CBNPoor)
+
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(202:217)][]
+
+CBNPoor[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor<-CBNPoor[Per_Daily_Exp_Calories!=0]
+CBNPoor[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+#CBN[,weighted.mean(Poor,Weight),by=cluster][order(cluster)]
+
+#Real Prices
+T_Bundle_Value<-subset(CBNPoor, ProvinceCode==23, select=c(Bundle_Value,Home_Per_Metr,Weight))
+Tehran_Bundle_Value1<-weighted.mean(T_Bundle_Value$Bundle_Value,T_Bundle_Value$Weight,na.rm = TRUE)
+Tehran_Bundle_Value2<-weighted.mean(T_Bundle_Value$Home_Per_Metr,T_Bundle_Value$Weight,na.rm = TRUE)
+CBNPoor[,RealPriceIndex1:=weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/Tehran_Bundle_Value1,by=ProvinceCode]
+CBNPoor[,RealPriceIndex2:=weighted.mean(Home_Per_Metr,Weight,na.rm = TRUE)/Tehran_Bundle_Value2,by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex1,Weight),by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex2,Weight),by=ProvinceCode]
+Indexes2<-CBNPoor[,.(RealPriceIndex1,RealPriceIndex2,ProvinceCode,Weight)]
+Indexes2<-Indexes2[,RealPriceIndex:=(RealPriceIndex1+RealPriceIndex2)/2]
+Indexes<-Indexes2[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+Indexes36<-Indexes[,.(ProvinceCode,RealPriceIndex1,RealPriceIndex2,RealPriceIndex)]
+Indexes<-Indexes[,.(ProvinceCode,RealPriceIndex)]
+CBN[,RealPriceIndex:=NULL]
+CBN<-merge(CBN,Indexes,by=c("ProvinceCode"),all.x = TRUE)
+CBN<-CBN[,Total_Food_Month_Per2:=FoodExpenditure_Per*RealPriceIndex]
+CBN<-CBN[,Total_Exp_Month_Per2:=Total_Exp_Month_Per_nondurable*RealPriceIndex]
+#utils::View(CBN)
+
+
+#Sort Expenditure data
+CBN<- CBN[order(Total_Exp_Month_Per2)]
+
+#Calculate cumulative weights
+sum(CBN$Weight)
+CBN$cumweight <- cumsum(CBN$Weight)
+tx <- max(CBN$cumweight)
+
+#Calculate deciles by weights
+CBN[,Decile:=cut(cumweight,breaks = seq(0,tx,tx/10),labels = 1:10)]
+CBN[,Percentile:=cut(cumweight,breaks=seq(0,tx,tx/100),labels=1:100)]
+
+#Update Poors
+CBN[,Poor:=ifelse(Decile %in% 1:4,1,0)]
+CBNPoor<-CBN[Poor==1]
+CBNPoor<-merge(CBNPoor,dt2,by=c("ProvinceCode"),all.x = TRUE)
+CBNPoor[,sum(HIndivNo),by=.(ProvinceCode)][order(ProvinceCode)]
+
+###Iteration1-7
+#Calculate Per_calories in clusters
+CBNPoor[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(185:200)][]
+#utils::View(CBNPoor)
+
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(202:217)][]
+
+CBNPoor[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor<-CBNPoor[Per_Daily_Exp_Calories!=0]
+CBNPoor[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+#CBN[,weighted.mean(Poor,Weight),by=cluster][order(cluster)]
+
+#Real Prices
+T_Bundle_Value<-subset(CBNPoor, ProvinceCode==23, select=c(Bundle_Value,Home_Per_Metr,Weight))
+Tehran_Bundle_Value1<-weighted.mean(T_Bundle_Value$Bundle_Value,T_Bundle_Value$Weight,na.rm = TRUE)
+Tehran_Bundle_Value2<-weighted.mean(T_Bundle_Value$Home_Per_Metr,T_Bundle_Value$Weight,na.rm = TRUE)
+CBNPoor[,RealPriceIndex1:=weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/Tehran_Bundle_Value1,by=ProvinceCode]
+CBNPoor[,RealPriceIndex2:=weighted.mean(Home_Per_Metr,Weight,na.rm = TRUE)/Tehran_Bundle_Value2,by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex1,Weight),by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex2,Weight),by=ProvinceCode]
+Indexes2<-CBNPoor[,.(RealPriceIndex1,RealPriceIndex2,ProvinceCode,Weight)]
+Indexes2<-Indexes2[,RealPriceIndex:=(RealPriceIndex1+RealPriceIndex2)/2]
+Indexes<-Indexes2[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+Indexes37<-Indexes[,.(ProvinceCode,RealPriceIndex1,RealPriceIndex2,RealPriceIndex)]
+Indexes<-Indexes[,.(ProvinceCode,RealPriceIndex)]
+CBN[,RealPriceIndex:=NULL]
+CBN<-merge(CBN,Indexes,by=c("ProvinceCode"),all.x = TRUE)
+CBN<-CBN[,Total_Food_Month_Per2:=FoodExpenditure_Per*RealPriceIndex]
+CBN<-CBN[,Total_Exp_Month_Per2:=Total_Exp_Month_Per_nondurable*RealPriceIndex]
+#utils::View(CBN)
+
+
+#Sort Expenditure data
+CBN<- CBN[order(Total_Exp_Month_Per2)]
+
+#Calculate cumulative weights
+sum(CBN$Weight)
+CBN$cumweight <- cumsum(CBN$Weight)
+tx <- max(CBN$cumweight)
+
+#Calculate deciles by weights
+CBN[,Decile:=cut(cumweight,breaks = seq(0,tx,tx/10),labels = 1:10)]
+CBN[,Percentile:=cut(cumweight,breaks=seq(0,tx,tx/100),labels=1:100)]
+
+#Update Poors
+CBN[,Poor:=ifelse(Decile %in% 1:4,1,0)]
+CBNPoor<-CBN[Poor==1]
+CBNPoor<-merge(CBNPoor,dt2,by=c("ProvinceCode"),all.x = TRUE)
+CBNPoor[,sum(HIndivNo),by=.(ProvinceCode)][order(ProvinceCode)]
+
+###Iteration1-8
+#Calculate Per_calories in clusters
+CBNPoor[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(185:200)][]
+#utils::View(CBNPoor)
+
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(202:217)][]
+
+CBNPoor[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor<-CBNPoor[Per_Daily_Exp_Calories!=0]
+CBNPoor[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+#CBN[,weighted.mean(Poor,Weight),by=cluster][order(cluster)]
+
+#Real Prices
+T_Bundle_Value<-subset(CBNPoor, ProvinceCode==23, select=c(Bundle_Value,Home_Per_Metr,Weight))
+Tehran_Bundle_Value1<-weighted.mean(T_Bundle_Value$Bundle_Value,T_Bundle_Value$Weight,na.rm = TRUE)
+Tehran_Bundle_Value2<-weighted.mean(T_Bundle_Value$Home_Per_Metr,T_Bundle_Value$Weight,na.rm = TRUE)
+CBNPoor[,RealPriceIndex1:=weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/Tehran_Bundle_Value1,by=ProvinceCode]
+CBNPoor[,RealPriceIndex2:=weighted.mean(Home_Per_Metr,Weight,na.rm = TRUE)/Tehran_Bundle_Value2,by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex1,Weight),by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex2,Weight),by=ProvinceCode]
+Indexes2<-CBNPoor[,.(RealPriceIndex1,RealPriceIndex2,ProvinceCode,Weight)]
+Indexes2<-Indexes2[,RealPriceIndex:=(RealPriceIndex1+RealPriceIndex2)/2]
+Indexes<-Indexes2[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+Indexes38<-Indexes[,.(ProvinceCode,RealPriceIndex1,RealPriceIndex2,RealPriceIndex)]
+Indexes<-Indexes[,.(ProvinceCode,RealPriceIndex)]
+CBN[,RealPriceIndex:=NULL]
+CBN<-merge(CBN,Indexes,by=c("ProvinceCode"),all.x = TRUE)
+CBN<-CBN[,Total_Food_Month_Per2:=FoodExpenditure_Per*RealPriceIndex]
+CBN<-CBN[,Total_Exp_Month_Per2:=Total_Exp_Month_Per_nondurable*RealPriceIndex]
+#utils::View(CBN)
+
+
+#Sort Expenditure data
+CBN<- CBN[order(Total_Exp_Month_Per2)]
+
+#Calculate cumulative weights
+sum(CBN$Weight)
+CBN$cumweight <- cumsum(CBN$Weight)
+tx <- max(CBN$cumweight)
+
+#Calculate deciles by weights
+CBN[,Decile:=cut(cumweight,breaks = seq(0,tx,tx/10),labels = 1:10)]
+CBN[,Percentile:=cut(cumweight,breaks=seq(0,tx,tx/100),labels=1:100)]
+
+#Update Poors
+CBN[,Poor:=ifelse(Decile %in% 1:4,1,0)]
+CBNPoor<-CBN[Poor==1]
+CBNPoor<-merge(CBNPoor,dt2,by=c("ProvinceCode"),all.x = TRUE)
+CBNPoor[,sum(HIndivNo),by=.(ProvinceCode)][order(ProvinceCode)]
+
+###Iteration1-9
+#Calculate Per_calories in clusters
+CBNPoor[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(185:200)][]
+#utils::View(CBNPoor)
+
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(202:217)][]
+
+CBNPoor[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor<-CBNPoor[Per_Daily_Exp_Calories!=0]
+CBNPoor[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+#CBN[,weighted.mean(Poor,Weight),by=cluster][order(cluster)]
+
+#Real Prices
+T_Bundle_Value<-subset(CBNPoor, ProvinceCode==23, select=c(Bundle_Value,Home_Per_Metr,Weight))
+Tehran_Bundle_Value1<-weighted.mean(T_Bundle_Value$Bundle_Value,T_Bundle_Value$Weight,na.rm = TRUE)
+Tehran_Bundle_Value2<-weighted.mean(T_Bundle_Value$Home_Per_Metr,T_Bundle_Value$Weight,na.rm = TRUE)
+CBNPoor[,RealPriceIndex1:=weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/Tehran_Bundle_Value1,by=ProvinceCode]
+CBNPoor[,RealPriceIndex2:=weighted.mean(Home_Per_Metr,Weight,na.rm = TRUE)/Tehran_Bundle_Value2,by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex1,Weight),by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex2,Weight),by=ProvinceCode]
+Indexes2<-CBNPoor[,.(RealPriceIndex1,RealPriceIndex2,ProvinceCode,Weight)]
+Indexes2<-Indexes2[,RealPriceIndex:=(RealPriceIndex1+RealPriceIndex2)/2]
+Indexes<-Indexes2[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+Indexes39<-Indexes[,.(ProvinceCode,RealPriceIndex1,RealPriceIndex2,RealPriceIndex)]
+Indexes<-Indexes[,.(ProvinceCode,RealPriceIndex)]
+CBN[,RealPriceIndex:=NULL]
+CBN<-merge(CBN,Indexes,by=c("ProvinceCode"),all.x = TRUE)
+CBN<-CBN[,Total_Food_Month_Per2:=FoodExpenditure_Per*RealPriceIndex]
+CBN<-CBN[,Total_Exp_Month_Per2:=Total_Exp_Month_Per_nondurable*RealPriceIndex]
+#utils::View(CBN)
+
+
+#Sort Expenditure data
+CBN<- CBN[order(Total_Exp_Month_Per2)]
+
+#Calculate cumulative weights
+sum(CBN$Weight)
+CBN$cumweight <- cumsum(CBN$Weight)
+tx <- max(CBN$cumweight)
+
+#Calculate deciles by weights
+CBN[,Decile:=cut(cumweight,breaks = seq(0,tx,tx/10),labels = 1:10)]
+CBN[,Percentile:=cut(cumweight,breaks=seq(0,tx,tx/100),labels=1:100)]
+
+#Update Poors
+CBN[,Poor:=ifelse(Decile %in% 1:4,1,0)]
+CBNPoor<-CBN[Poor==1]
+CBNPoor<-merge(CBNPoor,dt2,by=c("ProvinceCode"),all.x = TRUE)
+CBNPoor[,sum(HIndivNo),by=.(ProvinceCode)][order(ProvinceCode)]
+
+###Iteration1-10
+#Calculate Per_calories in clusters
+CBNPoor[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(185:200)][]
+#utils::View(CBNPoor)
+
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(202:217)][]
+
+CBNPoor[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor<-CBNPoor[Per_Daily_Exp_Calories!=0]
+CBNPoor[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+#CBN[,weighted.mean(Poor,Weight),by=cluster][order(cluster)]
+
+#Real Prices
+T_Bundle_Value<-subset(CBNPoor, ProvinceCode==23, select=c(Bundle_Value,Home_Per_Metr,Weight))
+Tehran_Bundle_Value1<-weighted.mean(T_Bundle_Value$Bundle_Value,T_Bundle_Value$Weight,na.rm = TRUE)
+Tehran_Bundle_Value2<-weighted.mean(T_Bundle_Value$Home_Per_Metr,T_Bundle_Value$Weight,na.rm = TRUE)
+CBNPoor[,RealPriceIndex1:=weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/Tehran_Bundle_Value1,by=ProvinceCode]
+CBNPoor[,RealPriceIndex2:=weighted.mean(Home_Per_Metr,Weight,na.rm = TRUE)/Tehran_Bundle_Value2,by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex1,Weight),by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex2,Weight),by=ProvinceCode]
+Indexes2<-CBNPoor[,.(RealPriceIndex1,RealPriceIndex2,ProvinceCode,Weight)]
+Indexes2<-Indexes2[,RealPriceIndex:=(RealPriceIndex1+RealPriceIndex2)/2]
+Indexes<-Indexes2[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+Indexes310<-Indexes[,.(ProvinceCode,RealPriceIndex1,RealPriceIndex2,RealPriceIndex)]
+Indexes<-Indexes[,.(ProvinceCode,RealPriceIndex)]
+CBN[,RealPriceIndex:=NULL]
+CBN<-merge(CBN,Indexes,by=c("ProvinceCode"),all.x = TRUE)
+CBN<-CBN[,Total_Food_Month_Per2:=FoodExpenditure_Per*RealPriceIndex]
+CBN<-CBN[,Total_Exp_Month_Per2:=Total_Exp_Month_Per_nondurable*RealPriceIndex]
+#utils::View(CBN)
+
+
+#Sort Expenditure data
+CBN<- CBN[order(Total_Exp_Month_Per2)]
+
+#Calculate cumulative weights
+sum(CBN$Weight)
+CBN$cumweight <- cumsum(CBN$Weight)
+tx <- max(CBN$cumweight)
+
+#Calculate deciles by weights
+CBN[,Decile:=cut(cumweight,breaks = seq(0,tx,tx/10),labels = 1:10)]
+CBN[,Percentile:=cut(cumweight,breaks=seq(0,tx,tx/100),labels=1:100)]
+
+#Update Poors
+CBN[,Poor:=ifelse(Decile %in% 1:4,1,0)]
+CBNPoor<-CBN[Poor==1]
+CBNPoor<-merge(CBNPoor,dt2,by=c("ProvinceCode"),all.x = TRUE)
+CBNPoor[,sum(HIndivNo),by=.(ProvinceCode)][order(ProvinceCode)]
+
+
+#Calculate Per_calories in clusters
+CBNPoor[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(189:204)][]
+#utils::View(CBNPoor)
+
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(206:221)][]
+
+CBNPoor[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor<-CBNPoor[Per_Daily_Exp_Calories!=0]
+CBNPoor[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNCalory<-CBNPoor[,.(Per_Daily_Calories,Per_Daily_Exp_Calories,Per_Calory_Resturant,Resturant_Exp,cluster,ProvinceCode)]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+
+
+#Calculations
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_day,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,sum(Size*Weight),by=cluster][order(cluster)]
+
+
+#Food Poverty Line for each cluster
+#cluster 1
+CBNPoorCluster<-CBNPoor[cluster==1]
+Food_Povertyline1_1<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 2
+CBNPoorCluster<-CBNPoor[cluster==2]
+Food_Povertyline2_1<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 3
+CBNPoorCluster<-CBNPoor[cluster==3]
+Food_Povertyline3_1<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 4
+CBNPoorCluster<-CBNPoor[cluster==4]
+Food_Povertyline4_1<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 5
+CBNPoorCluster<-CBNPoor[cluster==5]
+Food_Povertyline5_1<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#ee<-CBNPoor[,.(Total_Exp_Month_Real,Total_Exp_Month,Total_Food_Month_Per2,Total_Exp_Month_Per_nondurable,Total_Exp_Month_nondurable_Real_Per,FoodExpenditure_Per,cluster)]
+#mean(ee[,Total_Food_Month_Per2==Total_Exp_Month_nondurable_Real])
+#mean(ee[,Total_Food_Month_Per2<3500000])
+#ee<- ee[order(Total_Food_Month_Per2)]
+#utils::View(CBN)
+CBN<-merge(CBN,dt2,by=c("ProvinceCode"),all.x = TRUE)
+#for (col in c("Total_Food_Month_Per2")) CBN[is.na(get(col)), (col) := Total_Exp_Month_Per_nondurable]
+c<-CBN[,.(FoodExpenditure_Per,FoodExpenditure_Per_total,Total_Exp_Month_Per_nondurable,Total_Exp_Month,Total_Food_Month_Per2,Poor,Decile,Weight,cluster)]
+
+#########Iteration 2###############
+#Sort Expenditure data
+CBN<- CBN[order(Total_Food_Month_Per2)]
+c<- c[order(Total_Food_Month_Per2)]
+
+#Indicate new poors
+CBN[,Poor2:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_1 & cluster==1,1,0)]
+c[,Poor2:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_1 & cluster==1 ,1,0)]
+CBN[,Poor2:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_1 & cluster==2,1,Poor2)]
+c[,Poor2:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_1 & cluster==2 ,1,Poor2)]
+CBN[,Poor2:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_1 & cluster==3,1,Poor2)]
+c[,Poor2:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_1 & cluster==3 ,1,Poor2)]
+CBN[,Poor2:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_1 & cluster==4,1,Poor2)]
+c[,Poor2:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_1 & cluster==4 ,1,Poor2)]
+CBN[,Poor2:=ifelse(FoodExpenditure_Per_total < Food_Povertyline5_1 & cluster==5,1,Poor2)]
+c[,Poor2:=ifelse(FoodExpenditure_Per_total < Food_Povertyline5_1 & cluster==5 ,1,Poor2)]
+CBN[,weighted.mean(Poor2,Weight),by=cluster][order(cluster)]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2<-CBN[Poor2==1]
+
+
+#CalculatePer_calories in clusters
+CBNPoor2[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(190:205)][]
+#utils::View(CBNPoor2)
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor2[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(207:222)][]
+
+CBNPoor2[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor2[,Calory_Price:=FoodExpenditure_Per_cluster/(Daily_Calories_cluster2)]
+CBNPoor2[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor2[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2<-CBNPoor2[Per_Daily_Exp_Calories!=0]
+CBNPoor2[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor2[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor2[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor2[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor2[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor2[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+
+
+
+#Calculations
+CBNPoor2[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,weighted.mean(FoodExpenditure_Per_day,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+
+
+
+#Food Poverty Line for each cluster
+#cluster 1
+CBNPoorCluster<-CBNPoor2[cluster==1]
+Food_Povertyline1_2<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 2
+CBNPoorCluster<-CBNPoor2[cluster==2]
+Food_Povertyline2_2<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 3
+CBNPoorCluster<-CBNPoor2[cluster==3]
+Food_Povertyline3_2<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 4
+CBNPoorCluster<-CBNPoor2[cluster==4]
+Food_Povertyline4_2<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 5
+CBNPoorCluster<-CBNPoor[cluster==5]
+Food_Povertyline5_2<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#ee<-CBNPoor[,.(Total_Exp_Month_Real,Total_Exp_Month,Total_Food_Month_Per2,Total_Exp_Month_Per_nondurable,Total_Exp_Month_nondurable_Real_Per,FoodExpenditure_Per,cluster)]
+#mean(ee[,Total_Food_Month_Per2==Total_Exp_Month_nondurable_Real])
+#mean(ee[,Total_Food_Month_Per2<3500000])
+#ee<- ee[order(Total_Food_Month_Per2)]
+#utils::View(CBN)
+#for (col in c("Total_Food_Month_Per2")) CBN[is.na(get(col)), (col) := Total_Exp_Month_Per_nondurable]
+c<-CBN[,.(FoodExpenditure_Per,FoodExpenditure_Per_total,Total_Exp_Month_Per_nondurable,Total_Exp_Month,Total_Food_Month_Per2,Poor,Decile,Weight,cluster)]
+
+
+#########Iteration 3###############
+#Sort Expenditure data
+CBN<- CBN[order(Total_Food_Month_Per2)]
+c<- c[order(Total_Food_Month_Per2)]
+
+#Indicate new poors
+CBN[,Poor3:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_2 & cluster==1,1,0)]
+c[,Poor3:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_2 & cluster==1 ,1,0)]
+CBN[,Poor3:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_2 & cluster==2,1,Poor3)]
+c[,Poor3:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_2 & cluster==2 ,1,Poor3)]
+CBN[,Poor3:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_2 & cluster==3,1,Poor3)]
+c[,Poor3:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_2 & cluster==3 ,1,Poor3)]
+CBN[,Poor3:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_2 & cluster==4,1,Poor3)]
+c[,Poor3:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_2 & cluster==4 ,1,Poor3)]
+CBN[,Poor3:=ifelse(FoodExpenditure_Per_total < Food_Povertyline5_2 & cluster==5,1,Poor3)]
+c[,Poor3:=ifelse(FoodExpenditure_Per_total < Food_Povertyline5_2 & cluster==5 ,1,Poor3)]
+CBN[,weighted.mean(Poor3,Weight),by=cluster][order(cluster)]
+CBNPoor2[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3<-CBN[Poor3==1]
+
+
+
+#CalculatePer_calories in clusters
+CBNPoor3[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(191:206)][]
+#utils::View(CBNPoor3)
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor3[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(208:223)][]
+
+
+CBNPoor3[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor3[,Calory_Price:=FoodExpenditure_Per_cluster/(Daily_Calories_cluster2)]
+CBNPoor3[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor3[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3<-CBNPoor3[Per_Daily_Exp_Calories!=0]
+CBNPoor3[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor3[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+
+#sum of total food expenditures
+CBNPoor3[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor3[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor3[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor3[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+
+
+#Calculations
+CBNPoor3[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,weighted.mean(FoodExpenditure_Per_day,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+
+
+
+#Food Poverty Line for each cluster
+#cluster 1
+CBNPoorCluster<-CBNPoor3[cluster==1]
+Food_Povertyline1_3<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 2
+CBNPoorCluster<-CBNPoor3[cluster==2]
+Food_Povertyline2_3<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 3
+CBNPoorCluster<-CBNPoor3[cluster==3]
+Food_Povertyline3_3<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 4
+CBNPoorCluster<-CBNPoor3[cluster==4]
+Food_Povertyline4_3<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 5
+CBNPoorCluster<-CBNPoor[cluster==5]
+Food_Povertyline5_3<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#ee<-CBNPoor[,.(Total_Exp_Month_Real,Total_Exp_Month,Total_Food_Month_Per2,Total_Exp_Month_Per_nondurable,Total_Exp_Month_nondurable_Real_Per,FoodExpenditure_Per,cluster)]
+#mean(ee[,Total_Food_Month_Per2==Total_Exp_Month_nondurable_Real])
+#mean(ee[,Total_Food_Month_Per2<3500000])
+#ee<- ee[order(Total_Food_Month_Per2)]
+#utils::View(CBN)
+#for (col in c("Total_Food_Month_Per2")) CBN[is.na(get(col)), (col) := Total_Exp_Month_Per_nondurable]
+c<-CBN[,.(FoodExpenditure_Per,FoodExpenditure_Per_total,Total_Exp_Month_Per_nondurable,Total_Exp_Month,Total_Food_Month_Per2,Poor,Decile,Weight,cluster)]
+
+
+#########Iteration 4###############
+#Sort Expenditure data
+CBN<- CBN[order(Total_Food_Month_Per2)]
+c<- c[order(Total_Food_Month_Per2)]
+
+#Indicate new poors
+CBN[,Poor4:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_3 & cluster==1,1,0)]
+c[,Poor4:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_3 & cluster==1 ,1,0)]
+CBN[,Poor4:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_3 & cluster==2,1,Poor4)]
+c[,Poor4:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_3 & cluster==2 ,1,Poor4)]
+CBN[,Poor4:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_3 & cluster==3,1,Poor4)]
+c[,Poor4:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_3 & cluster==3 ,1,Poor4)]
+CBN[,Poor4:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_3 & cluster==4,1,Poor4)]
+c[,Poor4:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_3 & cluster==4 ,1,Poor4)]
+CBN[,Poor4:=ifelse(FoodExpenditure_Per_total < Food_Povertyline5_3 & cluster==5,1,Poor4)]
+c[,Poor4:=ifelse(FoodExpenditure_Per_total < Food_Povertyline5_3 & cluster==5 ,1,Poor4)]
+CBN[,weighted.mean(Poor4,Weight),by=cluster][order(cluster)]
+CBNPoor3[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4<-CBN[Poor4==1]
+
+#CalculatePer_calories in clusters
+CBNPoor4[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(191:206)][]
+#utils::View(CBNPoor4)
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor4[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(208:223)][]
+
+
+CBNPoor4[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor4[,Calory_Price:=FoodExpenditure_Per_cluster/(Daily_Calories_cluster2)]
+CBNPoor4[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor4[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4<-CBNPoor4[Per_Daily_Exp_Calories!=0]
+CBNPoor4[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor4[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+
+#sum of total food expenditures
+CBNPoor4[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor4[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor4[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor4[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+
+
+#Calculations
+CBNPoor4[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,weighted.mean(FoodExpenditure_Per_day,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+
+
+
+#Food Poverty Line for each cluster
+#cluster 1
+CBNPoorCluster<-CBNPoor4[cluster==1]
+Food_Povertyline1_4<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 2
+CBNPoorCluster<-CBNPoor4[cluster==2]
+Food_Povertyline2_4<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 3
+CBNPoorCluster<-CBNPoor4[cluster==3]
+Food_Povertyline3_4<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 4
+CBNPoorCluster<-CBNPoor4[cluster==4]
+Food_Povertyline4_4<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 5
+CBNPoorCluster<-CBNPoor[cluster==5]
+Food_Povertyline5_4<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#ee<-CBNPoor[,.(Total_Exp_Month_Real,Total_Exp_Month,Total_Food_Month_Per2,Total_Exp_Month_Per_nondurable,Total_Exp_Month_nondurable_Real_Per,FoodExpenditure_Per,cluster)]
+#mean(ee[,Total_Food_Month_Per2==Total_Exp_Month_nondurable_Real])
+#mean(ee[,Total_Food_Month_Per2<3500000])
+#ee<- ee[order(Total_Food_Month_Per2)]
+#utils::View(CBN)
+#for (col in c("Total_Food_Month_Per2")) CBN[is.na(get(col)), (col) := Total_Exp_Month_Per_nondurable]
+c<-CBN[,.(FoodExpenditure_Per,FoodExpenditure_Per_total,Total_Exp_Month_Per_nondurable,Total_Exp_Month,Total_Food_Month_Per2,Poor,Decile,Weight,cluster)]
+
+
+#########Iteration 5###############
+#Sort Expenditure data
+CBN<- CBN[order(Total_Food_Month_Per2)]
+c<- c[order(Total_Food_Month_Per2)]
+
+#Indicate new poors
+CBN[,Poor5:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_4 & cluster==1,1,0)]
+c[,Poor5:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_4 & cluster==1 ,1,0)]
+CBN[,Poor5:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_4 & cluster==2,1,Poor5)]
+c[,Poor5:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_4 & cluster==2 ,1,Poor5)]
+CBN[,Poor5:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_4 & cluster==3,1,Poor5)]
+c[,Poor5:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_4 & cluster==3 ,1,Poor5)]
+CBN[,Poor5:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_4 & cluster==4,1,Poor5)]
+c[,Poor5:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_4 & cluster==4 ,1,Poor5)]
+CBN[,Poor5:=ifelse(FoodExpenditure_Per_total < Food_Povertyline5_4 & cluster==5,1,Poor5)]
+c[,Poor5:=ifelse(FoodExpenditure_Per_total < Food_Povertyline5_4 & cluster==5 ,1,Poor5)]
+CBN[,weighted.mean(Poor5,Weight),by=cluster][order(cluster)]
+CBNPoor4[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5<-CBN[Poor5==1]
+
+#CalculatePer_calories in clusters
+CBNPoor5[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(191:206)][]
+#utils::View(CBNPoor5)
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor5[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(208:223)][]
+
+
+CBNPoor5[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor5[,Calory_Price:=FoodExpenditure_Per_cluster/(Daily_Calories_cluster2)]
+CBNPoor5[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor5[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5<-CBNPoor5[Per_Daily_Exp_Calories!=0]
+CBNPoor5[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor5[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+
+#sum of total food expenditures
+CBNPoor5[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor5[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor5[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor5[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+
+
+#Calculations
+CBNPoor5[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,weighted.mean(FoodExpenditure_Per_day,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+
+
+
+#Food Poverty Line for each cluster
+#cluster 1
+CBNPoorCluster<-CBNPoor5[cluster==1]
+Food_Povertyline1_5<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 2
+CBNPoorCluster<-CBNPoor5[cluster==2]
+Food_Povertyline2_5<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 3
+CBNPoorCluster<-CBNPoor5[cluster==3]
+Food_Povertyline3_5<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 4
+CBNPoorCluster<-CBNPoor5[cluster==4]
+Food_Povertyline4_5<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 5
+CBNPoorCluster<-CBNPoor[cluster==5]
+Food_Povertyline5_5<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#ee<-CBNPoor[,.(Total_Exp_Month_Real,Total_Exp_Month,Total_Food_Month_Per2,Total_Exp_Month_Per_nondurable,Total_Exp_Month_nondurable_Real_Per,FoodExpenditure_Per,cluster)]
+#mean(ee[,Total_Food_Month_Per2==Total_Exp_Month_nondurable_Real])
+#mean(ee[,Total_Food_Month_Per2<3500000])
+#ee<- ee[order(Total_Food_Month_Per2)]
+#utils::View(CBN)
+#for (col in c("Total_Food_Month_Per2")) CBN[is.na(get(col)), (col) := Total_Exp_Month_Per_nondurable]
+c<-CBN[,.(FoodExpenditure_Per,FoodExpenditure_Per_total,Total_Exp_Month_Per_nondurable,Total_Exp_Month,Total_Food_Month_Per2,Poor,Decile,Weight,cluster)]
+
+
+#########Iteration 6###############
+#Sort Expenditure data
+CBN<- CBN[order(Total_Food_Month_Per2)]
+c<- c[order(Total_Food_Month_Per2)]
+
+#Indicate new poors
+CBN[,Poor6:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_5 & cluster==1,1,0)]
+c[,Poor6:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_5 & cluster==1 ,1,0)]
+CBN[,Poor6:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_5 & cluster==2,1,Poor6)]
+c[,Poor6:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_5 & cluster==2 ,1,Poor6)]
+CBN[,Poor6:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_5 & cluster==3,1,Poor6)]
+c[,Poor6:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_5 & cluster==3 ,1,Poor6)]
+CBN[,Poor6:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_5 & cluster==4,1,Poor6)]
+c[,Poor6:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_5 & cluster==4 ,1,Poor6)]
+CBN[,Poor6:=ifelse(FoodExpenditure_Per_total < Food_Povertyline5_5 & cluster==5,1,Poor6)]
+c[,Poor6:=ifelse(FoodExpenditure_Per_total < Food_Povertyline5_5 & cluster==5 ,1,Poor6)]
+CBN[,weighted.mean(Poor6,Weight),by=cluster][order(cluster)]
+CBNPoor5[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6<-CBN[Poor6==1]
+
+#CalculatePer_calories in clusters
+CBNPoor6[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(191:206)][]
+#utils::View(CBNPoor6)
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor6[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(208:223)][]
+
+
+CBNPoor6[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor6[,Calory_Price:=FoodExpenditure_Per_cluster/(Daily_Calories_cluster2)]
+CBNPoor6[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor6[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6<-CBNPoor6[Per_Daily_Exp_Calories!=0]
+CBNPoor6[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor6[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+
+#sum of total food expenditures
+CBNPoor6[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor6[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor6[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor6[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+
+
+#Calculations
+CBNPoor6[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,weighted.mean(FoodExpenditure_Per_day,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+
+
+#Food Poverty Line for each cluster
+#cluster 1
+CBNPoorCluster<-CBNPoor6[cluster==1]
+Food_Povertyline1_6<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 2
+CBNPoorCluster<-CBNPoor6[cluster==2]
+Food_Povertyline2_6<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 3
+CBNPoorCluster<-CBNPoor6[cluster==3]
+Food_Povertyline3_6<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 4
+CBNPoorCluster<-CBNPoor6[cluster==4]
+Food_Povertyline4_6<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 5
+CBNPoorCluster<-CBNPoor[cluster==5]
+Food_Povertyline5_6<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#ee<-CBNPoor[,.(Total_Exp_Month_Real,Total_Exp_Month,Total_Food_Month_Per2,Total_Exp_Month_Per_nondurable,Total_Exp_Month_nondurable_Real_Per,FoodExpenditure_Per,cluster)]
+#mean(ee[,Total_Food_Month_Per2==Total_Exp_Month_nondurable_Real])
+#mean(ee[,Total_Food_Month_Per2<3500000])
+#ee<- ee[order(Total_Food_Month_Per2)]
+#utils::View(CBN)
+#for (col in c("Total_Food_Month_Per2")) CBN[is.na(get(col)), (col) := Total_Exp_Month_Per_nondurable]
+c<-CBN[,.(FoodExpenditure_Per,FoodExpenditure_Per_total,Total_Exp_Month_Per_nondurable,Total_Exp_Month,Total_Food_Month_Per2,Poor,Decile,Weight,cluster)]
+
+
+#########Iteration 7###############
+#Sort Expenditure data
+CBN<- CBN[order(Total_Food_Month_Per2)]
+c<- c[order(Total_Food_Month_Per2)]
+
+#Indicate new poors
+CBN[,Poor7:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_6 & cluster==1,1,0)]
+c[,Poor7:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_6 & cluster==1 ,1,0)]
+CBN[,Poor7:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_6 & cluster==2,1,Poor7)]
+c[,Poor7:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_6 & cluster==2 ,1,Poor7)]
+CBN[,Poor7:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_6 & cluster==3,1,Poor7)]
+c[,Poor7:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_6 & cluster==3 ,1,Poor7)]
+CBN[,Poor7:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_6 & cluster==4,1,Poor7)]
+c[,Poor7:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_6 & cluster==4 ,1,Poor7)]
+CBN[,Poor7:=ifelse(FoodExpenditure_Per_total < Food_Povertyline5_6 & cluster==5,1,Poor7)]
+c[,Poor7:=ifelse(FoodExpenditure_Per_total < Food_Povertyline5_6 & cluster==5 ,1,Poor7)]
+CBN[,weighted.mean(Poor7,Weight),by=cluster][order(cluster)]
+CBNPoor6[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7<-CBN[Poor7==1]
+
+#CalculatePer_calories in clusters
+CBNPoor7[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(191:206)][]
+#utils::View(CBNPoor7)
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor7[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(208:223)][]
+
+
+CBNPoor7[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor7[,Calory_Price:=FoodExpenditure_Per_cluster/(Daily_Calories_cluster2)]
+CBNPoor7[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor7[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7<-CBNPoor7[Per_Daily_Exp_Calories!=0]
+CBNPoor7[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor7[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+
+#sum of total food expenditures
+CBNPoor7[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor7[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor7[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor7[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+
+
+#Calculations
+CBNPoor7[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,weighted.mean(FoodExpenditure_Per_day,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+
+
+
+#Food Poverty Line for each cluster
+#cluster 1
+CBNPoorCluster<-CBNPoor7[cluster==1]
+Food_Povertyline1_7<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 2
+CBNPoorCluster<-CBNPoor7[cluster==2]
+Food_Povertyline2_7<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 3
+CBNPoorCluster<-CBNPoor7[cluster==3]
+Food_Povertyline3_7<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 4
+CBNPoorCluster<-CBNPoor7[cluster==4]
+Food_Povertyline4_7<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 5
+CBNPoorCluster<-CBNPoor[cluster==5]
+Food_Povertyline5_7<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#ee<-CBNPoor[,.(Total_Exp_Month_Real,Total_Exp_Month,Total_Food_Month_Per2,Total_Exp_Month_Per_nondurable,Total_Exp_Month_nondurable_Real_Per,FoodExpenditure_Per,cluster)]
+#mean(ee[,Total_Food_Month_Per2==Total_Exp_Month_nondurable_Real])
+#mean(ee[,Total_Food_Month_Per2<3500000])
+#ee<- ee[order(Total_Food_Month_Per2)]
+#utils::View(CBN)
+#for (col in c("Total_Food_Month_Per2")) CBN[is.na(get(col)), (col) := Total_Exp_Month_Per_nondurable]
+c<-CBN[,.(FoodExpenditure_Per,FoodExpenditure_Per_total,Total_Exp_Month_Per_nondurable,Total_Exp_Month,Total_Food_Month_Per2,Poor,Decile,Weight,cluster)]
+
+
+#########Iteration 8###############
+#Sort Expenditure data
+CBN<- CBN[order(Total_Food_Month_Per2)]
+c<- c[order(Total_Food_Month_Per2)]
+
+#Indicate new poors
+CBN[,Poor8:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_7 & cluster==1,1,0)]
+c[,Poor8:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_7 & cluster==1 ,1,0)]
+CBN[,Poor8:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_7 & cluster==2,1,Poor8)]
+c[,Poor8:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_7 & cluster==2 ,1,Poor8)]
+CBN[,Poor8:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_7 & cluster==3,1,Poor8)]
+c[,Poor8:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_7 & cluster==3 ,1,Poor8)]
+CBN[,Poor8:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_7 & cluster==4,1,Poor8)]
+c[,Poor8:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_7 & cluster==4 ,1,Poor8)]
+CBN[,Poor8:=ifelse(FoodExpenditure_Per_total < Food_Povertyline5_7 & cluster==5,1,Poor8)]
+c[,Poor8:=ifelse(FoodExpenditure_Per_total < Food_Povertyline5_7 & cluster==5 ,1,Poor8)]
+CBN[,weighted.mean(Poor8,Weight),by=cluster][order(cluster)]
+CBNPoor7[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8<-CBN[Poor8==1]
+
+
+#CalculatePer_calories in clusters
+CBNPoor8[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(191:206)][]
+#utils::View(CBNPoor8)
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor8[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(208:223)][]
+
+
+CBNPoor8[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor8[,Calory_Price:=FoodExpenditure_Per_cluster/(Daily_Calories_cluster2)]
+CBNPoor8[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor8[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8<-CBNPoor8[Per_Daily_Exp_Calories!=0]
+CBNPoor8[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor8[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+
+#sum of total food expenditures
+CBNPoor8[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor8[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor8[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor8[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+
+
+#Calculations
+CBNPoor8[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,weighted.mean(FoodExpenditure_Per_day,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+
+
+
+#Food Poverty Line for each cluster
+#cluster 1
+CBNPoorCluster<-CBNPoor8[cluster==1]
+Food_Povertyline1_8<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 2
+CBNPoorCluster<-CBNPoor8[cluster==2]
+Food_Povertyline2_8<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 3
+CBNPoorCluster<-CBNPoor8[cluster==3]
+Food_Povertyline3_8<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 4
+CBNPoorCluster<-CBNPoor8[cluster==4]
+Food_Povertyline4_8<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 5
+CBNPoorCluster<-CBNPoor[cluster==5]
+Food_Povertyline5_8<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#ee<-CBNPoor[,.(Total_Exp_Month_Real,Total_Exp_Month,Total_Food_Month_Per2,Total_Exp_Month_Per_nondurable,Total_Exp_Month_nondurable_Real_Per,FoodExpenditure_Per,cluster)]
+#mean(ee[,Total_Food_Month_Per2==Total_Exp_Month_nondurable_Real])
+#mean(ee[,Total_Food_Month_Per2<3500000])
+#ee<- ee[order(Total_Food_Month_Per2)]
+#utils::View(CBN)
+#for (col in c("Total_Food_Month_Per2")) CBN[is.na(get(col)), (col) := Total_Exp_Month_Per_nondurable]
+c<-CBN[,.(FoodExpenditure_Per,FoodExpenditure_Per_total,Total_Exp_Month_Per_nondurable,Total_Exp_Month,Total_Food_Month_Per2,Poor,Decile,Weight,cluster)]
+
+
+#########Iteration 9###############
+#Sort Expenditure data
+CBN<- CBN[order(Total_Food_Month_Per2)]
+c<- c[order(Total_Food_Month_Per2)]
+
+#Indicate new poors
+CBN[,Poor9:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_8 & cluster==1,1,0)]
+c[,Poor9:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_8 & cluster==1 ,1,0)]
+CBN[,Poor9:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_8 & cluster==2,1,Poor9)]
+c[,Poor9:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_8 & cluster==2 ,1,Poor9)]
+CBN[,Poor9:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_8 & cluster==3,1,Poor9)]
+c[,Poor9:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_8 & cluster==3 ,1,Poor9)]
+CBN[,Poor9:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_8 & cluster==4,1,Poor9)]
+c[,Poor9:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_8 & cluster==4 ,1,Poor9)]
+CBN[,Poor9:=ifelse(FoodExpenditure_Per_total < Food_Povertyline5_8 & cluster==5,1,Poor9)]
+c[,Poor9:=ifelse(FoodExpenditure_Per_total < Food_Povertyline5_8 & cluster==5 ,1,Poor9)]
+CBN[,weighted.mean(Poor9,Weight),by=cluster][order(cluster)]
+CBNPoor8[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9<-CBN[Poor9==1]
+
+
+#CalculatePer_calories in clusters
+CBNPoor9[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(191:206)][]
+#utils::View(CBNPoor9)
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor9[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(208:223)][]
+
+
+CBNPoor9[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor9[,Calory_Price:=FoodExpenditure_Per_cluster/(Daily_Calories_cluster2)]
+CBNPoor9[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor9[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9<-CBNPoor9[Per_Daily_Exp_Calories!=0]
+CBNPoor9[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor9[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+
+#sum of total food expenditures
+CBNPoor9[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor9[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor9[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor9[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+
+
+
+#Calculations
+CBNPoor9[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,weighted.mean(FoodExpenditure_Per_day,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+
+
+
+#Food Poverty Line for each cluster
+#cluster 1
+CBNPoorCluster<-CBNPoor9[cluster==1]
+Food_Povertyline1_9<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 2
+CBNPoorCluster<-CBNPoor9[cluster==2]
+Food_Povertyline2_9<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 3
+CBNPoorCluster<-CBNPoor9[cluster==3]
+Food_Povertyline3_9<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 4
+CBNPoorCluster<-CBNPoor9[cluster==4]
+Food_Povertyline4_9<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 5
+CBNPoorCluster<-CBNPoor[cluster==5]
+Food_Povertyline5_9<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#ee<-CBNPoor[,.(Total_Exp_Month_Real,Total_Exp_Month,Total_Food_Month_Per2,Total_Exp_Month_Per_nondurable,Total_Exp_Month_nondurable_Real_Per,FoodExpenditure_Per,cluster)]
+#mean(ee[,Total_Food_Month_Per2==Total_Exp_Month_nondurable_Real])
+#mean(ee[,Total_Food_Month_Per2<3500000])
+#ee<- ee[order(Total_Food_Month_Per2)]
+#utils::View(CBN)
+#for (col in c("Total_Food_Month_Per2")) CBN[is.na(get(col)), (col) := Total_Exp_Month_Per_nondurable]
+c<-CBN[,.(FoodExpenditure_Per,FoodExpenditure_Per_total,Total_Exp_Month_Per_nondurable,Total_Exp_Month,Total_Food_Month_Per2,Poor,Decile,Weight,cluster)]
+
+
+#########Iteration 10###############
+#Sort Expenditure data
+CBN<- CBN[order(Total_Food_Month_Per2)]
+c<- c[order(Total_Food_Month_Per2)]
+
+#Indicate new poors
+CBN[,Poor10:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_9 & cluster==1,1,0)]
+c[,Poor10:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_9 & cluster==1 ,1,0)]
+CBN[,Poor10:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_9 & cluster==2,1,Poor10)]
+c[,Poor10:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_9 & cluster==2 ,1,Poor10)]
+CBN[,Poor10:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_9 & cluster==3,1,Poor10)]
+c[,Poor10:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_9 & cluster==3 ,1,Poor10)]
+CBN[,Poor10:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_9 & cluster==4,1,Poor10)]
+c[,Poor10:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_9 & cluster==4 ,1,Poor10)]
+CBN[,Poor10:=ifelse(FoodExpenditure_Per_total < Food_Povertyline5_9 & cluster==5,1,Poor10)]
+c[,Poor10:=ifelse(FoodExpenditure_Per_total < Food_Povertyline5_9 & cluster==5 ,1,Poor10)]
+CBN[,weighted.mean(Poor10,Weight),by=cluster][order(cluster)]
+CBNPoor9[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor10<-CBN[Poor10==1]
+
+#Engel
+#CBNPoor9<-CBNPoor9[,ratio1:=FoodExpenditure/Total_Exp_Month]
+#CBNPoor9[,weighted.mean(ratio1,Weight),by=cluster]
+#summary(CBNPoor9$ratio1)
+CBN<-CBN[,ratio1:=FoodExpenditure/Total_Exp_Month]
+CBN[,weighted.mean(ratio1,Weight),by=ProvinceCode][order(ProvinceCode)]
+CBN<-CBN[,ratio2:=ServiceExp/Total_Exp_Month]
+CBN[,weighted.mean(ratio2,Weight),by=ProvinceCode][order(ProvinceCode)]
+
+# Poverty Line for each cluster
+#cluster 1
+CBNPoorCluster<-CBN[cluster==1 & FoodExpenditure_Per<1.1*Food_Povertyline1_9 & FoodExpenditure_Per>0.90*Food_Povertyline1_9]
+Engel1<-weighted.mean(CBNPoorCluster$ratio1,CBNPoorCluster$Weight)
+Engel_Reverse1<-1/Engel1
+Povertyline1_9<-Engel_Reverse1*Food_Povertyline1_9
+
+#cluster 2
+CBNPoorCluster<-CBN[cluster==2 & FoodExpenditure_Per<1.1*Food_Povertyline2_9 & FoodExpenditure_Per>0.90*Food_Povertyline2_9]
+Engel2<-weighted.mean(CBNPoorCluster$ratio1,CBNPoorCluster$Weight)
+Engel_Reverse2<-1/Engel2
+Povertyline2_9<-Engel_Reverse2*Food_Povertyline2_9
+
+#cluster 3
+CBNPoorCluster<-CBN[cluster==3 & FoodExpenditure_Per<1.1*Food_Povertyline3_9 & FoodExpenditure_Per>0.90*Food_Povertyline3_9]
+Engel3<-weighted.mean(CBNPoorCluster$ratio1,CBNPoorCluster$Weight)
+Engel_Reverse3<-1/Engel3
+Povertyline3_9<-Engel_Reverse3*Food_Povertyline3_9
+
+#cluster 4
+CBNPoorCluster<-CBN[cluster==4 & FoodExpenditure_Per<1.1*Food_Povertyline4_9 & FoodExpenditure_Per>0.90*Food_Povertyline4_9]
+Engel4<-weighted.mean(CBNPoorCluster$ratio1,CBNPoorCluster$Weight)
+Engel_Reverse4<-1/Engel4
+Povertyline4_9<-Engel_Reverse4*Food_Povertyline4_9
+
+#cluster 5
+CBNPoorCluster<-CBN[cluster==5 & FoodExpenditure_Per<1.1*Food_Povertyline5_9 & FoodExpenditure_Per>0.90*Food_Povertyline5_9]
+Engel5<-weighted.mean(CBNPoorCluster$ratio1,CBNPoorCluster$Weight)
+Engel_Reverse5<-1/Engel5
+Povertyline5_9<-Engel_Reverse5*Food_Povertyline5_9
+
+#Indicate final poors
+CBN<-CBN[,Total_Exp_Month_Per2:=Total_Exp_Month_Per_nondurable*RealPriceIndex]
+
+CBN[,Poor11:=ifelse(Total_Exp_Month_Per_nondurable < Povertyline1_9 & cluster==1,1,0)]
+CBN[,Poor11:=ifelse(Total_Exp_Month_Per_nondurable < Povertyline2_9 & cluster==2,1,Poor11)]
+CBN[,Poor11:=ifelse(Total_Exp_Month_Per_nondurable < Povertyline3_9 & cluster==3,1,Poor11)]
+CBN[,Poor11:=ifelse(Total_Exp_Month_Per_nondurable < Povertyline4_9 & cluster==4,1,Poor11)]
+CBN[,Poor11:=ifelse(Total_Exp_Month_Per_nondurable < Povertyline5_9 & cluster==5,1,Poor11)]
+CBN[,weighted.mean(Poor11,Weight),by=cluster][order(cluster)]
+CBNPoor9[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor11<-CBN[Poor11==1]
+
+CBN[,sum(Size*Weight),by=cluster][order(cluster)]
+CBNPoor9[,sum(Size*Weight),by=cluster][order(cluster)]
+CBNPoor9[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBN[,weighted.mean(Poor11,Weight)]
+CBN[,weighted.mean(Poor11,Weight),by=cluster][order(cluster)]
+CBN[,weighted.mean(Poor11,Weight),by=ProvinceCode][order(ProvinceCode)]
+endtime <- proc.time()
+
+cat("\n\n============================\nIt took ")
+cat(endtime-starttime)
+
diff --git a/R/Archive/Other Codes/60-CBN90-Urban.R b/R/Archive/Other Codes/60-CBN90-Urban.R
new file mode 100644
index 00000000..0d4e3a3e
--- /dev/null
+++ b/R/Archive/Other Codes/60-CBN90-Urban.R
@@ -0,0 +1,2878 @@
+#CBN Method-Urban.R
+#
+# Copyright © 2018:Arin Shahbazian
+# Licence: GPL-3
+#
+rm(list=ls())
+
+starttime <- proc.time()
+cat("\n\n================ Prepare Data =====================================\n")
+
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+library(readxl)
+library(stringr)
+library(data.table)
+
+#for(year in (Settings$startyear:Settings$endyear)){
+# cat(paste0("\n------------------------------\nYear:",year,"\n"))
+
+load(file=paste0(Settings$HEISProcessedPath,"Y","90","HHBase.rda"))
+HHBase[,IndivNo:=NULL]
+HHBase[,Relationship:=NULL]
+HHBase[,Sex:=NULL]
+HHBase[,Age:=NULL]
+HHBase[,Literate:=NULL]
+HHBase[,Student:=NULL]
+HHBase[,EduCode:=NULL]
+HHBase[,EduYears:=NULL]
+HHBase[,EduLevel:=NULL]
+HHBase[,EduLevel0:=NULL]
+HHBase[,ActivityState:=NULL]
+HHBase[,MarritalState:=NULL]
+load(file=paste0(Settings$HEISProcessedPath,"Y","90","Ghand_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","90","Hoboobat_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","90","Roghan_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","90","Berenj_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","90","Nan_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","90","Goosht_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","90","Morgh_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","90","Mahi_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","90","Shir_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","90","Mast_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","90","Panir_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","90","Tokhmemorgh_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","90","Mive_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","90","Sabzi_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","90","Makarooni_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","90","Sibzamini_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","90","Weights.rda"))
+
+Ghand_Data<-Ghand_Data[,.(HHID,Ghandgram,GhandPrice)]
+Hoboobat_Data<-Hoboobat_Data[,.(HHID,Hoboobatgram,HoboobatPrice)]
+Roghan_Data<-Roghan_Data[,.(HHID,Roghangram,RoghanPrice)]
+Berenj_Data<-Berenj_Data[,.(HHID,Berenjgram,BerenjPrice)]
+Nan_Data<-Nan_Data[,.(HHID,Nangram,NanPrice)]
+Goosht_Data<-Goosht_Data[,.(HHID,Gooshtgram,GooshtPrice)]
+Morgh_Data<-Morgh_Data[,.(HHID,Morghgram,MorghPrice)]
+Mahi_Data<-Mahi_Data[,.(HHID,Mahigram,MahiPrice)]
+Shir_Data<-Shir_Data[,.(HHID,Shirgram,ShirPrice)]
+Mast_Data<-Mast_Data[,.(HHID,Mastgram,MastPrice)]
+Panir_Data<-Panir_Data[,.(HHID,Panirgram,PanirPrice)]
+Tokhmemorgh_Data<-Tokhmemorgh_Data[,.(HHID,Tokhmemorghgram,TokhmemorghPrice)]
+Mive_Data<-Mive_Data[,.(HHID,Mivegram,MivePrice)]
+Sabzi_Data<-Sabzi_Data[,.(HHID,Sabzigram,SabziPrice)]
+Makarooni_Data<-Makarooni_Data[,.(HHID,Makaroonigram,MakarooniPrice)]
+Sibzamini_Data<-Sibzamini_Data[,.(HHID,Sibzaminigram,SibzaminiPrice)]
+
+Food<-merge(HHBase,Ghand_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Ghandgram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Hoboobat_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Hoboobatgram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Roghan_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Roghangram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Berenj_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Berenjgram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Nan_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Nangram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Goosht_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Gooshtgram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Morgh_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Morghgram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Mahi_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Mahigram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Shir_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Shirgram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Mast_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Mastgram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Panir_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Panirgram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Tokhmemorgh_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Tokhmemorghgram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Mive_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Mivegram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Sabzi_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Sabzigram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Makarooni_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Makaroonigram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Sibzamini_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Sibzaminigram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Weights,by =c("HHID"),all.x=TRUE)
+
+
+
+#load Expenditure groups
+load(file=paste0(Settings$HEISProcessedPath,"Y","90","HHBase.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","90","HHI.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","90","Foods.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","90","Cigars.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","90","Cloths.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","90","Amusements.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","90","Communications.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","90","Durables.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","90","Education.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","90","Energy.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","90","Furnitures.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","90","Hotels.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","90","House.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","90","Medicals.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","90","Behdashts.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","90","Transportations.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","90","Others.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","90","Investments.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","90","Resturants.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","90","Weights.rda"))
+
+#merge Expenditure groups
+CBN<-merge(Food,HHI ,by =c("HHID"),all=TRUE)
+CBN<-merge(CBN,FoodData,by =c("HHID"),all=TRUE)
+for (col in c("FoodExpenditure")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,CigarData,by =c("HHID"),all=TRUE)
+for (col in c("Cigar_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,ClothData,by =c("HHID"),all=TRUE)
+for (col in c("Cloth_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,AmusementData,by =c("HHID"),all=TRUE)
+for (col in c("Amusement_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,CommunicationData,by =c("HHID"),all=TRUE)
+for (col in c("Communication_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,EducData,by =c("HHID"),all=TRUE)
+for (col in c("EducExpenditure")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,EnergyData,by =c("HHID"),all=TRUE)
+for (col in c("Energy_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,FurnitureData,by =c("HHID"),all=TRUE)
+for (col in c("Furniture_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,HotelData,by =c("HHID"),all=TRUE)
+for (col in c("Hotel_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,BehdashtData,by =c("HHID"),all=TRUE)
+for (col in c("Behdasht_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,TransportationData,by =c("HHID"),all=TRUE)
+for (col in c("Transportation_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,OtherData,by =c("HHID"),all=TRUE)
+for (col in c("Other_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,HouseData,by =c("HHID"),all=TRUE)
+for (col in c("ServiceExp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,InvestmentData,by =c("HHID"),all=TRUE)
+for (col in c("Investment_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,MedicalData,by =c("HHID"),all=TRUE)
+for (col in c("Medical_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,DurableData,by =c("HHID"),all=TRUE)
+for (col in c("Durable_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,ResturantData,by =c("HHID"),all=TRUE)
+for (col in c("Resturant_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-CBN[Size!=0]
+CBN<-CBN[Region=="Urban"]
+CBN<-CBN[FoodExpenditure!=0]
+
+
+#Calculate Per_Total Expenditures Monthly
+CBN[, Total_Exp_Month := Reduce(`+`, .SD), .SDcols=c(65:77,82:83)][]
+CBN[, Total_Exp_Month_nondurable := Reduce(`+`, .SD), .SDcols=65:77][]
+
+CBN$Total_Exp_Month_Per<-CBN$Total_Exp_Month/CBN$EqSizeOECD
+CBN$Total_Exp_Month_Per_nondurable<-CBN$Total_Exp_Month_nondurable/CBN$EqSizeOECD
+
+#Calculate Per_Food Expenditures Monthly
+CBN[,EqSizeCalory :=(Size-NKids) + NKids*(1800/2100)]
+CBN$FoodExpenditure_Per<-CBN$FoodExpenditure/CBN$EqSizeCalory
+
+#Calculate Per_Food Expenditures Daily
+CBN$FoodExpenditure_Per_day<-CBN$FoodExpenditure_Per/30
+
+CBN$Ghandgram_Per_day<-CBN$Ghandgram/(30*CBN$EqSizeOECD)
+CBN$Hoboobatgram_Per_day<-CBN$Hoboobatgram/(30*CBN$EqSizeOECD)
+CBN$Berenjgram_Per_day<-CBN$Berenjgram/(30*CBN$EqSizeOECD)
+CBN$Nangram_Per_day<-CBN$Nangram/(30*CBN$EqSizeOECD)
+CBN$Roghangram_Per_day<-CBN$Roghangram/(30*CBN$EqSizeOECD)
+CBN$Gooshtgram_Per_day<-CBN$Gooshtgram/(30*CBN$EqSizeOECD)
+CBN$Morghgram_Per_day<-CBN$Morghgram/(30*CBN$EqSizeOECD)
+CBN$Mahigram_Per_day<-CBN$Mahigram/(30*CBN$EqSizeOECD)
+CBN$Shirgram_Per_day<-CBN$Shirgram/(30*CBN$EqSizeOECD)
+CBN$Mastgram_Per_day<-CBN$Mastgram/(30*CBN$EqSizeOECD)
+CBN$Panirgram_Per_day<-CBN$Panirgram/(30*CBN$EqSizeOECD)
+CBN$Tokhmemorghgram_Per_day<-CBN$Tokhmemorghgram/(30*CBN$EqSizeOECD)
+CBN$Mivegram_Per_day<-CBN$Mivegram/(30*CBN$EqSizeOECD)
+CBN$Sabzigram_Per_day<-CBN$Sabzigram/(30*CBN$EqSizeOECD)
+CBN$Makaroonigram_Per_day<-CBN$Makaroonigram/(30*CBN$EqSizeOECD)
+CBN$Sibzaminigram_Per_day<-CBN$Sibzaminigram/(30*CBN$EqSizeOECD)
+CBN[,EqSizeCalory:=NULL]
+
+load(file="PriceIndex95.rda")
+CBN<-merge(CBN,PriceIndex95,by=c("ProvinceCode"),all.x = TRUE)
+CBN[,ostan:=NULL]
+load(file="PriceIndex.rda")
+CBN<-merge(CBN,PriceIndex,by=c("ProvinceCode"),all.x = TRUE)
+
+#Sort Expenditure data
+CBN<- CBN[order(Total_Exp_Month_Per_nondurable)]
+
+#Calculate cumulative weights
+sum(CBN$Weight)
+CBN$cumweight <- cumsum(CBN$Weight)
+tx <- max(CBN$cumweight)
+
+#Calculate deciles by weights
+CBN[,Decile:=cut(cumweight,breaks = seq(0,tx,tx/10),labels = 1:10)]
+CBN[,Percentile:=cut(cumweight,breaks=seq(0,tx,tx/100),labels=1:100)]
+
+
+CBN$Ghand_W<-CBN$Ghandgram_Per_day*CBN$GhandPrice*0.001*30
+CBN$Hoboobat_W<-CBN$Hoboobatgram_Per_day*CBN$HoboobatPrice*0.001*30
+CBN$Roghan_W<-CBN$Roghangram_Per_day*CBN$RoghanPrice*0.001*30
+CBN$Berenj_W<-CBN$Berenjgram_Per_day*CBN$BerenjPrice*0.001*30
+CBN$Nan_W<-CBN$Nangram_Per_day*CBN$NanPrice*0.001*30
+CBN$Goosht_W<-CBN$Gooshtgram_Per_day*CBN$GooshtPrice*0.001*30
+CBN$Morgh_W<-CBN$Morghgram_Per_day*CBN$MorghPrice*0.001*30
+CBN$Mahi_W<-CBN$Mahigram_Per_day*CBN$MahiPrice*0.001*30
+CBN$Shir_W<-CBN$Shirgram_Per_day*CBN$ShirPrice*0.001*30
+CBN$Mast_W<-CBN$Mastgram_Per_day*CBN$MastPrice*0.001*30
+CBN$Panir_W<-CBN$Panirgram_Per_day*CBN$PanirPrice*0.001*30
+CBN$Tokhmemorgh_W<-CBN$Tokhmemorghgram_Per_day*CBN$TokhmemorghPrice*0.001*30
+CBN$Mive_W<-CBN$Mivegram_Per_day*CBN$MivePrice*0.001*30
+CBN$Sabzi_W<-CBN$Sabzigram_Per_day*CBN$SabziPrice*0.001*30
+CBN$Makarooni_W<-CBN$Makaroonigram_Per_day*CBN$MakarooniPrice*0.001*30
+CBN$Sibzamini_W<-CBN$Sibzaminigram_Per_day*CBN$SibzaminiPrice*0.001*30
+CBN$Home_W<-CBN$ServiceExp/CBN$EqSizeOECD
+CBN$Home_Per_Metr<-CBN$MetrPrice/CBN$EqSizeOECD
+
+#Seperate big cities
+CBN[,sum(Weight*Size),by=ProvinceCode][order(V1)]
+CBN[,HHIDs:=as.character(HHID)]
+CBN[,ShahrestanCode:=as.integer(str_sub(HHIDs,2,5))]
+CBN[,sum(Weight*Size),by=ShahrestanCode][order(V1)][330:387]
+CBNTehran<-CBN[ProvinceCode==23]
+CBNTehran[,sum(Weight*Size),by=ShahrestanCode]
+CBNTabriz<-CBN[ProvinceCode==3]
+CBNTabriz[,sum(Weight*Size),by=ShahrestanCode]
+CBNAhvaz<-CBN[ProvinceCode==6]
+CBNAhvaz[,sum(Weight*Size),by=ShahrestanCode]
+CBNShiraz<-CBN[ProvinceCode==7]
+CBNShiraz[,sum(Weight*Size),by=ShahrestanCode]
+CBNMashhad<-CBN[ProvinceCode==9]
+CBNMashhad[,sum(Weight*Size),by=ShahrestanCode]
+CBNEsfahan<-CBN[ProvinceCode==10]
+CBNEsfahan[,sum(Weight*Size),by=ShahrestanCode]
+CBNKaraj<-CBN[ProvinceCode==30]
+CBNKaraj[,sum(Weight*Size),by=ShahrestanCode]
+CBNKermanshah<-CBN[ProvinceCode==5]
+CBNKermanshah[,sum(Weight*Size),by=ShahrestanCode]
+
+
+CBN<-CBN[ShahrestanCode==2301,ProvinceCode:=as.numeric(ShahrestanCode)]
+CBN<-CBN[ShahrestanCode==303,ProvinceCode:=as.numeric(ShahrestanCode)]
+CBN<-CBN[ShahrestanCode==603,ProvinceCode:=as.numeric(ShahrestanCode)]
+CBN<-CBN[ShahrestanCode==707,ProvinceCode:=as.numeric(ShahrestanCode)]
+CBN<-CBN[ShahrestanCode==916,ProvinceCode:=as.numeric(ShahrestanCode)]
+CBN<-CBN[ShahrestanCode==1002,ProvinceCode:=as.numeric(ShahrestanCode)]
+CBN<-CBN[ShahrestanCode==3001,ProvinceCode:=as.numeric(ShahrestanCode)]
+CBN<-CBN[ShahrestanCode==2301,ProvinceCode:=as.numeric(ShahrestanCode)]
+CBN<-CBN[ShahrestanCode==502,ProvinceCode:=as.numeric(ShahrestanCode)]
+
+# Food Calories
+CBN$Ghand_Calory<- CBN$Ghandgram *4
+CBN$Hoboobat_Calory<- CBN$Hoboobatgram *3
+CBN$Nan_Calory<- CBN$Nangram *2.5
+CBN$Berenj_Calory<- CBN$Berenjgram *1.2
+CBN$Roghan_Calory<- CBN$Roghangram *8
+CBN$Goosht_Calory<- CBN$Gooshtgram *2.5
+CBN$Morgh_Calory<- CBN$Morghgram *2
+CBN$Mahi_Calory<- CBN$Mahigram *1
+CBN$Shir_Calory<- CBN$Shirgram *2.5
+CBN$Mast_Calory<- CBN$Mastgram *1.5
+CBN$Panir_Calory<- CBN$Mastgram *2.5
+CBN$Tokhmemorgh_Calory<- CBN$Tokhmemorghgram *1.4
+CBN$Mive_Calory<- CBN$Mivegram *0.5
+CBN$Sabzi_Calory<- CBN$Sabzigram *0.5
+CBN$Makarooni_Calory<- CBN$Makaroonigram *3.6
+CBN$Sibzamini_Calory<- CBN$Sibzaminigram *0.9
+#utils::View(CBN)
+
+#CalculatePer_calories
+CBN[, Daily_Exp_Calories := Reduce(`+`, .SD), .SDcols=148:163][]
+CBN[,EqSizeCalory :=(Size-NKids) + NKids*(1800/2100)]
+CBN[,Per_Daily_Exp_Calories:=Daily_Exp_Calories/EqSizeCalory]
+CBN <- CBN[Per_Daily_Exp_Calories<100000] # arbitrary removal of outliers
+#CBN[,Daily_Calories_cluster:=weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+#CBN[,weighted.mean(Daily_Calories_cluster,Weight,na.rm = TRUE),by=cluster]
+#CBN[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+#CBN[,weighted.mean(Size,Weight,na.rm = TRUE),by=cluster]
+#CBN[,sum(Weight*Size),by=cluster]
+#CBN[,sum(Weight),by=cluster]
+#CBN[,sum(Poor),by=cluster]
+
+
+#Calculate_Per_calories
+CBN$Ghand_per_Calory<- CBN$Ghandgram *4/CBN$EqSizeCalory
+CBN$Hoboobat_per_Calory<- CBN$Hoboobatgram *3/CBN$EqSizeCalory
+CBN$Nan_per_Calory<- CBN$Nangram *2.5/CBN$EqSizeCalory
+CBN$Berenj_per_Calory<- CBN$Berenjgram *1.2/CBN$EqSizeCalory
+CBN$Roghan_per_Calory<- CBN$Roghangram *8/CBN$EqSizeCalory
+CBN$Goosht_per_Calory<- CBN$Gooshtgram *2.5/CBN$EqSizeCalory
+CBN$Morgh_per_Calory<- CBN$Morghgram *2/CBN$EqSizeCalory
+CBN$Mahi_per_Calory<- CBN$Mahigram *1/CBN$EqSizeCalory
+CBN$Shir_per_Calory<- CBN$Shirgram *2.5/CBN$EqSizeCalory
+CBN$Mast_per_Calory<- CBN$Mastgram *1.5/CBN$EqSizeCalory
+CBN$Panir_per_Calory<- CBN$Mastgram *2.5/CBN$EqSizeCalory
+CBN$Tokhmemorgh_per_Calory<- CBN$Tokhmemorghgram *1.4/CBN$EqSizeCalory
+CBN$Mive_per_Calory<- CBN$Mivegram *0.5/CBN$EqSizeCalory
+CBN$Sabzi_per_Calory<- CBN$Sabzigram *0.5/CBN$EqSizeCalory
+CBN$Makarooni_per_Calory<- CBN$Makaroonigram *3.6/CBN$EqSizeCalory
+CBN$Sibzamini_per_Calory<- CBN$Sibzaminigram *0.9/CBN$EqSizeCalory
+
+
+#Assume that deciles 1 and 2 are poor
+CBN[,Poor:=ifelse(Decile %in% 2:3,1,0)]
+CBNPoor<-CBN[Poor==1]
+
+#K-means weights
+PriceWeights<-CBN[,.(HHID,Ghand_W,Hoboobat_W,Roghan_W,Berenj_W,Nan_W,Goosht_W,Morgh_W,Mahi_W,Shir_W,Mast_W,Panir_W,Tokhmemorgh_W,Mive_W,Sabzi_W,Makarooni_W,Sibzamini_W,Home_W,ProvinceCode,Weight)]
+dt3 <- PriceWeights[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+dt3<- dt3[order(ProvinceCode)]
+dt3 <- dt3[,.(Ghand_W,Hoboobat_W,Roghan_W,Berenj_W,Nan_W,Goosht_W,Morgh_W,Mahi_W,Shir_W,Mast_W,Panir_W,Tokhmemorgh_W,Mive_W,Sabzi_W,Makarooni_W,Sibzamini_W,Home_W)]
+
+
+#K-means algorithm for clustering by prices
+test<-CBNPoor[,.(GhandPrice,HoboobatPrice,RoghanPrice,BerenjPrice,NanPrice,GooshtPrice,MorghPrice,MahiPrice,ShirPrice,MastPrice,PanirPrice,TokhmemorghPrice,MivePrice,SabziPrice,MakarooniPrice,SibzaminiPrice,MetrPrice,ProvinceCode,Weight)]
+#test<-CBNPoor[,.(GhandPrice,HoboobatPrice,RoghanPrice,BerenjPrice,NanPrice,GooshtPrice,MorghPrice,MahiPrice,ShirPrice,MastPrice,PanirPrice,TokhmemorghPrice,MivePrice,SabziPrice,MakarooniPrice,SibzaminiPrice,MetrPrice,Ghand_W,Hoboobat_W,Roghan_W,Berenj_W,Nan_W,Goosht_W,Morgh_W,Mahi_W,Shir_W,Mast_W,Panir_W,Tokhmemorgh_W,Mive_W,Sabzi_W,Makarooni_W,Sibzamini_W,Home_W,Region,ProvinceCode,Weight)]
+dt2 <- test[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+dt2<- dt2[order(ProvinceCode)]
+for (col in c("BerenjPrice")) dt2[is.nan(get(col)), (col) := 50000]
+dt <- dt2 [,.(GhandPrice,HoboobatPrice,RoghanPrice,BerenjPrice,NanPrice,GooshtPrice,MorghPrice,MahiPrice,ShirPrice,MastPrice,PanirPrice,TokhmemorghPrice,MivePrice,SabziPrice,MakarooniPrice,SibzaminiPrice,MetrPrice)]
+
+
+pca <- princomp(dt, cor=T)
+PRICE <- pca$scores
+PRICE1 <- -1*PRICE[,1]
+PRICE2 <- -1*PRICE[,2]
+PRICE3 <- -1*PRICE[,3]
+PRICE4 <- -1*PRICE[,4]
+PRICE5 <- -1*PRICE[,5]
+PRICE6 <- -1*PRICE[,6]
+PRICE7 <- -1*PRICE[,7]
+PRICE8 <- -1*PRICE[,8]
+PRICE9 <- -1*PRICE[,9]
+PRICE10 <- -1*PRICE[,10]
+PRICE11 <- -1*PRICE[,11]
+PRICE12 <- -1*PRICE[,12]
+PRICE13 <- -1*PRICE[,13]
+PRICE14 <- -1*PRICE[,14]
+PRICE15 <- -1*PRICE[,15]
+PRICE16 <- -1*PRICE[,16]
+PRICE17 <- -1*PRICE[,17]
+
+# Deciding how many clusters
+wss <- (nrow(dt)-1)*sum(apply(dt,2,var))
+for (i in 2:30) wss[i] <- sum(kmeans(dt, centers=i)$withinss)
+plot(1:30, wss, type="b", xlab="Number of Clusters",
+ ylab="Within groups sum of squares")
+
+#Weighted clustering
+
+dt3.m <- dt3[,lapply(.SD, mean)] # Weights for each vector
+dtW <- dt * sqrt(dt3.m[rep(1,nrow(dt))]) # Weighted observations
+kmeans(dtW,4) # Simple K-means
+
+cl <- kmeans(dtW,4)
+cl$cluster
+dt2 <- dt2[,cluster:=data.table(cl$cluster)]
+dt2<-dt2[,.(ProvinceCode,cluster)]
+load(file="dt4Urban.rda")
+#plot(PRICE1, PRICE2,col=cl$cluster)
+#points(cl$centers, pch=20)
+CBNPoor<-merge(CBNPoor,dt2,by=c("ProvinceCode"),all.x = TRUE)
+CBNPoor[,sum(Weight*Size),by=cluster]
+CBNPoor[,sum(Weight),by=cluster]
+CBNPoor[,sum(Poor),by=cluster]
+C2<-CBNPoor[,.(HHID,ProvinceCode,Region,Decile,Poor,cluster)]
+######################################################################
+####Iteration 1#####
+###Iteration1-1
+#Calculate Per_calories in clusters
+CBNPoor[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(185:200)][]
+#utils::View(CBNPoor)
+
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(202:217)][]
+
+CBNPoor[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor<-CBNPoor[Per_Daily_Exp_Calories!=0]
+CBNPoor[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+#CBN[,weighted.mean(Poor,Weight),by=cluster][order(cluster)]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE)]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE)]
+
+#Real Prices
+T_Bundle_Value<-subset(CBNPoor, ProvinceCode==2301, select=c(Bundle_Value,Home_Per_Metr,Weight))
+Tehran_Bundle_Value1<-weighted.mean(T_Bundle_Value$Bundle_Value,T_Bundle_Value$Weight,na.rm = TRUE)
+Tehran_Bundle_Value2<-weighted.mean(T_Bundle_Value$Home_Per_Metr,T_Bundle_Value$Weight,na.rm = TRUE)
+CBNPoor[,RealPriceIndex1:=weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/Tehran_Bundle_Value1,by=ProvinceCode]
+CBNPoor[,RealPriceIndex2:=weighted.mean(Home_Per_Metr,Weight,na.rm = TRUE)/Tehran_Bundle_Value2,by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex1,Weight),by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex2,Weight),by=ProvinceCode]
+Indexes2<-CBNPoor[,.(RealPriceIndex1,RealPriceIndex2,ProvinceCode,Weight)]
+Indexes2<-Indexes2[,RealPriceIndex:=(RealPriceIndex1+RealPriceIndex2)/2]
+Indexes<-Indexes2[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+Indexes31<-Indexes[,.(ProvinceCode,RealPriceIndex1,RealPriceIndex2,RealPriceIndex)]
+Indexes<-Indexes[,.(ProvinceCode,RealPriceIndex)]
+CBN<-merge(CBN,Indexes,by=c("ProvinceCode"),all.x = TRUE)
+CBN<-CBN[,Total_Food_Month_Per2:=FoodExpenditure_Per*RealPriceIndex]
+CBN<-CBN[,Total_Exp_Month_Per2:=Total_Exp_Month_Per_nondurable*RealPriceIndex]
+#utils::View(CBN)
+
+#Sort Expenditure data
+CBN<- CBN[order(Total_Exp_Month_Per2)]
+
+#Calculate cumulative weights
+sum(CBN$Weight)
+CBN$cumweight <- cumsum(CBN$Weight)
+tx <- max(CBN$cumweight)
+
+#Calculate deciles by weights
+CBN[,Decile:=cut(cumweight,breaks = seq(0,tx,tx/10),labels = 1:10)]
+CBN[,Percentile:=cut(cumweight,breaks=seq(0,tx,tx/100),labels=1:100)]
+
+#Update Poors
+CBN[,Poor:=ifelse(Decile %in% 2:3,1,0)]
+CBNPoor<-CBN[Poor==1]
+CBNPoor<-merge(CBNPoor,dt2,by=c("ProvinceCode"),all.x = TRUE)
+CBNPoor[,sum(HIndivNo),by=.(ProvinceCode)][order(ProvinceCode)]
+
+###Iteration1-2
+#Calculate Per_calories in clusters
+CBNPoor[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(185:200)][]
+#utils::View(CBNPoor)
+
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(202:217)][]
+
+CBNPoor[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor<-CBNPoor[Per_Daily_Exp_Calories!=0]
+CBNPoor[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+#CBN[,weighted.mean(Poor,Weight),by=cluster][order(cluster)]
+
+#Real Prices
+T_Bundle_Value<-subset(CBNPoor, ProvinceCode==2301, select=c(Bundle_Value,Home_Per_Metr,Weight))
+Tehran_Bundle_Value1<-weighted.mean(T_Bundle_Value$Bundle_Value,T_Bundle_Value$Weight,na.rm = TRUE)
+Tehran_Bundle_Value2<-weighted.mean(T_Bundle_Value$Home_Per_Metr,T_Bundle_Value$Weight,na.rm = TRUE)
+CBNPoor[,RealPriceIndex1:=weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/Tehran_Bundle_Value1,by=ProvinceCode]
+CBNPoor[,RealPriceIndex2:=weighted.mean(Home_Per_Metr,Weight,na.rm = TRUE)/Tehran_Bundle_Value2,by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex1,Weight),by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex2,Weight),by=ProvinceCode]
+Indexes2<-CBNPoor[,.(RealPriceIndex1,RealPriceIndex2,ProvinceCode,Weight)]
+Indexes2<-Indexes2[,RealPriceIndex:=(RealPriceIndex1+RealPriceIndex2)/2]
+Indexes<-Indexes2[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+Indexes32<-Indexes[,.(ProvinceCode,RealPriceIndex1,RealPriceIndex2,RealPriceIndex)]
+Indexes<-Indexes[,.(ProvinceCode,RealPriceIndex)]
+CBN[,RealPriceIndex:=NULL]
+CBN<-merge(CBN,Indexes,by=c("ProvinceCode"),all.x = TRUE)
+CBN<-CBN[,Total_Food_Month_Per2:=FoodExpenditure_Per*RealPriceIndex]
+CBN<-CBN[,Total_Exp_Month_Per2:=Total_Exp_Month_Per_nondurable*RealPriceIndex]
+#utils::View(CBN)
+
+#Sort Expenditure data
+CBN<- CBN[order(Total_Exp_Month_Per2)]
+
+#Calculate cumulative weights
+sum(CBN$Weight)
+CBN$cumweight <- cumsum(CBN$Weight)
+tx <- max(CBN$cumweight)
+
+#Calculate deciles by weights
+CBN[,Decile:=cut(cumweight,breaks = seq(0,tx,tx/10),labels = 1:10)]
+CBN[,Percentile:=cut(cumweight,breaks=seq(0,tx,tx/100),labels=1:100)]
+
+#Update Poors
+CBN[,Poor:=ifelse(Decile %in% 2:3,1,0)]
+CBNPoor<-CBN[Poor==1]
+CBNPoor<-merge(CBNPoor,dt2,by=c("ProvinceCode"),all.x = TRUE)
+CBNPoor[,sum(HIndivNo),by=.(ProvinceCode)][order(ProvinceCode)]
+
+###Iteration1-3
+#Calculate Per_calories in clusters
+CBNPoor[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(185:200)][]
+#utils::View(CBNPoor)
+
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(202:217)][]
+
+CBNPoor[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor<-CBNPoor[Per_Daily_Exp_Calories!=0]
+CBNPoor[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+#CBN[,weighted.mean(Poor,Weight),by=cluster][order(cluster)]
+
+#Real Prices
+T_Bundle_Value<-subset(CBNPoor, ProvinceCode==2301, select=c(Bundle_Value,Home_Per_Metr,Weight))
+Tehran_Bundle_Value1<-weighted.mean(T_Bundle_Value$Bundle_Value,T_Bundle_Value$Weight,na.rm = TRUE)
+Tehran_Bundle_Value2<-weighted.mean(T_Bundle_Value$Home_Per_Metr,T_Bundle_Value$Weight,na.rm = TRUE)
+CBNPoor[,RealPriceIndex1:=weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/Tehran_Bundle_Value1,by=ProvinceCode]
+CBNPoor[,RealPriceIndex2:=weighted.mean(Home_Per_Metr,Weight,na.rm = TRUE)/Tehran_Bundle_Value2,by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex1,Weight),by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex2,Weight),by=ProvinceCode]
+Indexes2<-CBNPoor[,.(RealPriceIndex1,RealPriceIndex2,ProvinceCode,Weight)]
+Indexes2<-Indexes2[,RealPriceIndex:=(RealPriceIndex1+RealPriceIndex2)/2]
+Indexes<-Indexes2[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+Indexes33<-Indexes[,.(ProvinceCode,RealPriceIndex1,RealPriceIndex2,RealPriceIndex)]
+Indexes<-Indexes[,.(ProvinceCode,RealPriceIndex)]
+CBN[,RealPriceIndex:=NULL]
+CBN<-merge(CBN,Indexes,by=c("ProvinceCode"),all.x = TRUE)
+CBN<-CBN[,Total_Food_Month_Per2:=FoodExpenditure_Per*RealPriceIndex]
+CBN<-CBN[,Total_Exp_Month_Per2:=Total_Exp_Month_Per_nondurable*RealPriceIndex]
+#utils::View(CBN)
+
+#Sort Expenditure data
+CBN<- CBN[order(Total_Exp_Month_Per2)]
+
+#Calculate cumulative weights
+sum(CBN$Weight)
+CBN$cumweight <- cumsum(CBN$Weight)
+tx <- max(CBN$cumweight)
+
+#Calculate deciles by weights
+CBN[,Decile:=cut(cumweight,breaks = seq(0,tx,tx/10),labels = 1:10)]
+CBN[,Percentile:=cut(cumweight,breaks=seq(0,tx,tx/100),labels=1:100)]
+
+#Update Poors
+CBN[,Poor:=ifelse(Decile %in% 2:3,1,0)]
+CBNPoor<-CBN[Poor==1]
+CBNPoor<-merge(CBNPoor,dt2,by=c("ProvinceCode"),all.x = TRUE)
+CBNPoor[,sum(HIndivNo),by=.(ProvinceCode)][order(ProvinceCode)]
+
+
+###Iteration1-4
+#Calculate Per_calories in clusters
+CBNPoor[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(185:200)][]
+#utils::View(CBNPoor)
+
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(202:217)][]
+
+CBNPoor[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor<-CBNPoor[Per_Daily_Exp_Calories!=0]
+CBNPoor[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+#CBN[,weighted.mean(Poor,Weight),by=cluster][order(cluster)]
+
+#Real Prices
+T_Bundle_Value<-subset(CBNPoor, ProvinceCode==2301, select=c(Bundle_Value,Home_Per_Metr,Weight))
+Tehran_Bundle_Value1<-weighted.mean(T_Bundle_Value$Bundle_Value,T_Bundle_Value$Weight,na.rm = TRUE)
+Tehran_Bundle_Value2<-weighted.mean(T_Bundle_Value$Home_Per_Metr,T_Bundle_Value$Weight,na.rm = TRUE)
+CBNPoor[,RealPriceIndex1:=weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/Tehran_Bundle_Value1,by=ProvinceCode]
+CBNPoor[,RealPriceIndex2:=weighted.mean(Home_Per_Metr,Weight,na.rm = TRUE)/Tehran_Bundle_Value2,by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex1,Weight),by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex2,Weight),by=ProvinceCode]
+Indexes2<-CBNPoor[,.(RealPriceIndex1,RealPriceIndex2,ProvinceCode,Weight)]
+Indexes2<-Indexes2[,RealPriceIndex:=(RealPriceIndex1+RealPriceIndex2)/2]
+Indexes<-Indexes2[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+Indexes34<-Indexes[,.(ProvinceCode,RealPriceIndex1,RealPriceIndex2,RealPriceIndex)]
+Indexes<-Indexes[,.(ProvinceCode,RealPriceIndex)]
+CBN[,RealPriceIndex:=NULL]
+CBN<-merge(CBN,Indexes,by=c("ProvinceCode"),all.x = TRUE)
+CBN<-CBN[,Total_Food_Month_Per2:=FoodExpenditure_Per*RealPriceIndex]
+CBN<-CBN[,Total_Exp_Month_Per2:=Total_Exp_Month_Per_nondurable*RealPriceIndex]
+#utils::View(CBN)
+
+
+#Sort Expenditure data
+CBN<- CBN[order(Total_Exp_Month_Per2)]
+
+#Calculate cumulative weights
+sum(CBN$Weight)
+CBN$cumweight <- cumsum(CBN$Weight)
+tx <- max(CBN$cumweight)
+
+#Calculate deciles by weights
+CBN[,Decile:=cut(cumweight,breaks = seq(0,tx,tx/10),labels = 1:10)]
+CBN[,Percentile:=cut(cumweight,breaks=seq(0,tx,tx/100),labels=1:100)]
+
+#Update Poors
+CBN[,Poor:=ifelse(Decile %in% 2:3,1,0)]
+CBNPoor<-CBN[Poor==1]
+CBNPoor<-merge(CBNPoor,dt2,by=c("ProvinceCode"),all.x = TRUE)
+CBNPoor[,sum(HIndivNo),by=.(ProvinceCode)][order(ProvinceCode)]
+
+###Iteration1-5
+#Calculate Per_calories in clusters
+CBNPoor[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(185:200)][]
+#utils::View(CBNPoor)
+
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(202:217)][]
+
+CBNPoor[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor<-CBNPoor[Per_Daily_Exp_Calories!=0]
+CBNPoor[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+#CBN[,weighted.mean(Poor,Weight),by=cluster][order(cluster)]
+
+#Real Prices
+T_Bundle_Value<-subset(CBNPoor, ProvinceCode==2301, select=c(Bundle_Value,Home_Per_Metr,Weight))
+Tehran_Bundle_Value1<-weighted.mean(T_Bundle_Value$Bundle_Value,T_Bundle_Value$Weight,na.rm = TRUE)
+Tehran_Bundle_Value2<-weighted.mean(T_Bundle_Value$Home_Per_Metr,T_Bundle_Value$Weight,na.rm = TRUE)
+CBNPoor[,RealPriceIndex1:=weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/Tehran_Bundle_Value1,by=ProvinceCode]
+CBNPoor[,RealPriceIndex2:=weighted.mean(Home_Per_Metr,Weight,na.rm = TRUE)/Tehran_Bundle_Value2,by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex1,Weight),by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex2,Weight),by=ProvinceCode]
+Indexes2<-CBNPoor[,.(RealPriceIndex1,RealPriceIndex2,ProvinceCode,Weight)]
+Indexes2<-Indexes2[,RealPriceIndex:=(RealPriceIndex1+RealPriceIndex2)/2]
+Indexes<-Indexes2[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+Indexes35<-Indexes[,.(ProvinceCode,RealPriceIndex1,RealPriceIndex2,RealPriceIndex)]
+Indexes<-Indexes[,.(ProvinceCode,RealPriceIndex)]
+CBN[,RealPriceIndex:=NULL]
+CBN<-merge(CBN,Indexes,by=c("ProvinceCode"),all.x = TRUE)
+CBN<-CBN[,Total_Food_Month_Per2:=FoodExpenditure_Per*RealPriceIndex]
+CBN<-CBN[,Total_Exp_Month_Per2:=Total_Exp_Month_Per_nondurable*RealPriceIndex]
+#utils::View(CBN)
+
+
+#Sort Expenditure data
+CBN<- CBN[order(Total_Exp_Month_Per2)]
+
+#Calculate cumulative weights
+sum(CBN$Weight)
+CBN$cumweight <- cumsum(CBN$Weight)
+tx <- max(CBN$cumweight)
+
+#Calculate deciles by weights
+CBN[,Decile:=cut(cumweight,breaks = seq(0,tx,tx/10),labels = 1:10)]
+CBN[,Percentile:=cut(cumweight,breaks=seq(0,tx,tx/100),labels=1:100)]
+
+#Update Poors
+CBN[,Poor:=ifelse(Decile %in% 2:3,1,0)]
+CBNPoor<-CBN[Poor==1]
+CBNPoor<-merge(CBNPoor,dt2,by=c("ProvinceCode"),all.x = TRUE)
+CBNPoor[,sum(HIndivNo),by=.(ProvinceCode)][order(ProvinceCode)]
+
+###Iteration1-6
+#Calculate Per_calories in clusters
+CBNPoor[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(185:200)][]
+#utils::View(CBNPoor)
+
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(202:217)][]
+
+CBNPoor[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor<-CBNPoor[Per_Daily_Exp_Calories!=0]
+CBNPoor[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+#CBN[,weighted.mean(Poor,Weight),by=cluster][order(cluster)]
+
+#Real Prices
+T_Bundle_Value<-subset(CBNPoor, ProvinceCode==2301, select=c(Bundle_Value,Home_Per_Metr,Weight))
+Tehran_Bundle_Value1<-weighted.mean(T_Bundle_Value$Bundle_Value,T_Bundle_Value$Weight,na.rm = TRUE)
+Tehran_Bundle_Value2<-weighted.mean(T_Bundle_Value$Home_Per_Metr,T_Bundle_Value$Weight,na.rm = TRUE)
+CBNPoor[,RealPriceIndex1:=weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/Tehran_Bundle_Value1,by=ProvinceCode]
+CBNPoor[,RealPriceIndex2:=weighted.mean(Home_Per_Metr,Weight,na.rm = TRUE)/Tehran_Bundle_Value2,by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex1,Weight),by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex2,Weight),by=ProvinceCode]
+Indexes2<-CBNPoor[,.(RealPriceIndex1,RealPriceIndex2,ProvinceCode,Weight)]
+Indexes2<-Indexes2[,RealPriceIndex:=(RealPriceIndex1+RealPriceIndex2)/2]
+Indexes<-Indexes2[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+Indexes36<-Indexes[,.(ProvinceCode,RealPriceIndex1,RealPriceIndex2,RealPriceIndex)]
+Indexes<-Indexes[,.(ProvinceCode,RealPriceIndex)]
+CBN[,RealPriceIndex:=NULL]
+CBN<-merge(CBN,Indexes,by=c("ProvinceCode"),all.x = TRUE)
+CBN<-CBN[,Total_Food_Month_Per2:=FoodExpenditure_Per*RealPriceIndex]
+CBN<-CBN[,Total_Exp_Month_Per2:=Total_Exp_Month_Per_nondurable*RealPriceIndex]
+#utils::View(CBN)
+
+
+#Sort Expenditure data
+CBN<- CBN[order(Total_Exp_Month_Per2)]
+
+#Calculate cumulative weights
+sum(CBN$Weight)
+CBN$cumweight <- cumsum(CBN$Weight)
+tx <- max(CBN$cumweight)
+
+#Calculate deciles by weights
+CBN[,Decile:=cut(cumweight,breaks = seq(0,tx,tx/10),labels = 1:10)]
+CBN[,Percentile:=cut(cumweight,breaks=seq(0,tx,tx/100),labels=1:100)]
+
+#Update Poors
+CBN[,Poor:=ifelse(Decile %in% 2:3,1,0)]
+CBNPoor<-CBN[Poor==1]
+CBNPoor<-merge(CBNPoor,dt2,by=c("ProvinceCode"),all.x = TRUE)
+CBNPoor[,sum(HIndivNo),by=.(ProvinceCode)][order(ProvinceCode)]
+
+###Iteration1-7
+#Calculate Per_calories in clusters
+CBNPoor[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(185:200)][]
+#utils::View(CBNPoor)
+
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(202:217)][]
+
+CBNPoor[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor<-CBNPoor[Per_Daily_Exp_Calories!=0]
+CBNPoor[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+#CBN[,weighted.mean(Poor,Weight),by=cluster][order(cluster)]
+
+#Real Prices
+T_Bundle_Value<-subset(CBNPoor, ProvinceCode==2301, select=c(Bundle_Value,Home_Per_Metr,Weight))
+Tehran_Bundle_Value1<-weighted.mean(T_Bundle_Value$Bundle_Value,T_Bundle_Value$Weight,na.rm = TRUE)
+Tehran_Bundle_Value2<-weighted.mean(T_Bundle_Value$Home_Per_Metr,T_Bundle_Value$Weight,na.rm = TRUE)
+CBNPoor[,RealPriceIndex1:=weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/Tehran_Bundle_Value1,by=ProvinceCode]
+CBNPoor[,RealPriceIndex2:=weighted.mean(Home_Per_Metr,Weight,na.rm = TRUE)/Tehran_Bundle_Value2,by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex1,Weight),by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex2,Weight),by=ProvinceCode]
+Indexes2<-CBNPoor[,.(RealPriceIndex1,RealPriceIndex2,ProvinceCode,Weight)]
+Indexes2<-Indexes2[,RealPriceIndex:=(RealPriceIndex1+RealPriceIndex2)/2]
+Indexes<-Indexes2[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+Indexes37<-Indexes[,.(ProvinceCode,RealPriceIndex1,RealPriceIndex2,RealPriceIndex)]
+Indexes<-Indexes[,.(ProvinceCode,RealPriceIndex)]
+CBN[,RealPriceIndex:=NULL]
+CBN<-merge(CBN,Indexes,by=c("ProvinceCode"),all.x = TRUE)
+CBN<-CBN[,Total_Food_Month_Per2:=FoodExpenditure_Per*RealPriceIndex]
+CBN<-CBN[,Total_Exp_Month_Per2:=Total_Exp_Month_Per_nondurable*RealPriceIndex]
+#utils::View(CBN)
+
+
+#Sort Expenditure data
+CBN<- CBN[order(Total_Exp_Month_Per2)]
+
+#Calculate cumulative weights
+sum(CBN$Weight)
+CBN$cumweight <- cumsum(CBN$Weight)
+tx <- max(CBN$cumweight)
+
+#Calculate deciles by weights
+CBN[,Decile:=cut(cumweight,breaks = seq(0,tx,tx/10),labels = 1:10)]
+CBN[,Percentile:=cut(cumweight,breaks=seq(0,tx,tx/100),labels=1:100)]
+
+#Update Poors
+CBN[,Poor:=ifelse(Decile %in% 2:3,1,0)]
+CBNPoor<-CBN[Poor==1]
+CBNPoor<-merge(CBNPoor,dt2,by=c("ProvinceCode"),all.x = TRUE)
+CBNPoor[,sum(HIndivNo),by=.(ProvinceCode)][order(ProvinceCode)]
+
+###Iteration1-8
+#Calculate Per_calories in clusters
+CBNPoor[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(185:200)][]
+#utils::View(CBNPoor)
+
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(202:217)][]
+
+CBNPoor[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor<-CBNPoor[Per_Daily_Exp_Calories!=0]
+CBNPoor[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+#CBN[,weighted.mean(Poor,Weight),by=cluster][order(cluster)]
+
+#Real Prices
+T_Bundle_Value<-subset(CBNPoor, ProvinceCode==2301, select=c(Bundle_Value,Home_Per_Metr,Weight))
+Tehran_Bundle_Value1<-weighted.mean(T_Bundle_Value$Bundle_Value,T_Bundle_Value$Weight,na.rm = TRUE)
+Tehran_Bundle_Value2<-weighted.mean(T_Bundle_Value$Home_Per_Metr,T_Bundle_Value$Weight,na.rm = TRUE)
+CBNPoor[,RealPriceIndex1:=weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/Tehran_Bundle_Value1,by=ProvinceCode]
+CBNPoor[,RealPriceIndex2:=weighted.mean(Home_Per_Metr,Weight,na.rm = TRUE)/Tehran_Bundle_Value2,by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex1,Weight),by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex2,Weight),by=ProvinceCode]
+Indexes2<-CBNPoor[,.(RealPriceIndex1,RealPriceIndex2,ProvinceCode,Weight)]
+Indexes2<-Indexes2[,RealPriceIndex:=(RealPriceIndex1+RealPriceIndex2)/2]
+Indexes<-Indexes2[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+Indexes38<-Indexes[,.(ProvinceCode,RealPriceIndex1,RealPriceIndex2,RealPriceIndex)]
+Indexes<-Indexes[,.(ProvinceCode,RealPriceIndex)]
+CBN[,RealPriceIndex:=NULL]
+CBN<-merge(CBN,Indexes,by=c("ProvinceCode"),all.x = TRUE)
+CBN<-CBN[,Total_Food_Month_Per2:=FoodExpenditure_Per*RealPriceIndex]
+CBN<-CBN[,Total_Exp_Month_Per2:=Total_Exp_Month_Per_nondurable*RealPriceIndex]
+#utils::View(CBN)
+
+
+#Sort Expenditure data
+CBN<- CBN[order(Total_Exp_Month_Per2)]
+
+#Calculate cumulative weights
+sum(CBN$Weight)
+CBN$cumweight <- cumsum(CBN$Weight)
+tx <- max(CBN$cumweight)
+
+#Calculate deciles by weights
+CBN[,Decile:=cut(cumweight,breaks = seq(0,tx,tx/10),labels = 1:10)]
+CBN[,Percentile:=cut(cumweight,breaks=seq(0,tx,tx/100),labels=1:100)]
+
+#Update Poors
+CBN[,Poor:=ifelse(Decile %in% 2:3,1,0)]
+CBNPoor<-CBN[Poor==1]
+CBNPoor<-merge(CBNPoor,dt2,by=c("ProvinceCode"),all.x = TRUE)
+CBNPoor[,sum(HIndivNo),by=.(ProvinceCode)][order(ProvinceCode)]
+
+###Iteration1-9
+#Calculate Per_calories in clusters
+CBNPoor[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(185:200)][]
+#utils::View(CBNPoor)
+
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(202:217)][]
+
+CBNPoor[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor<-CBNPoor[Per_Daily_Exp_Calories!=0]
+CBNPoor[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+#CBN[,weighted.mean(Poor,Weight),by=cluster][order(cluster)]
+
+#Real Prices
+T_Bundle_Value<-subset(CBNPoor, ProvinceCode==2301, select=c(Bundle_Value,Home_Per_Metr,Weight))
+Tehran_Bundle_Value1<-weighted.mean(T_Bundle_Value$Bundle_Value,T_Bundle_Value$Weight,na.rm = TRUE)
+Tehran_Bundle_Value2<-weighted.mean(T_Bundle_Value$Home_Per_Metr,T_Bundle_Value$Weight,na.rm = TRUE)
+CBNPoor[,RealPriceIndex1:=weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/Tehran_Bundle_Value1,by=ProvinceCode]
+CBNPoor[,RealPriceIndex2:=weighted.mean(Home_Per_Metr,Weight,na.rm = TRUE)/Tehran_Bundle_Value2,by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex1,Weight),by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex2,Weight),by=ProvinceCode]
+Indexes2<-CBNPoor[,.(RealPriceIndex1,RealPriceIndex2,ProvinceCode,Weight)]
+Indexes2<-Indexes2[,RealPriceIndex:=(RealPriceIndex1+RealPriceIndex2)/2]
+Indexes<-Indexes2[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+Indexes39<-Indexes[,.(ProvinceCode,RealPriceIndex1,RealPriceIndex2,RealPriceIndex)]
+Indexes<-Indexes[,.(ProvinceCode,RealPriceIndex)]
+CBN[,RealPriceIndex:=NULL]
+CBN<-merge(CBN,Indexes,by=c("ProvinceCode"),all.x = TRUE)
+CBN<-CBN[,Total_Food_Month_Per2:=FoodExpenditure_Per*RealPriceIndex]
+CBN<-CBN[,Total_Exp_Month_Per2:=Total_Exp_Month_Per_nondurable*RealPriceIndex]
+#utils::View(CBN)
+
+
+#Sort Expenditure data
+CBN<- CBN[order(Total_Exp_Month_Per2)]
+
+#Calculate cumulative weights
+sum(CBN$Weight)
+CBN$cumweight <- cumsum(CBN$Weight)
+tx <- max(CBN$cumweight)
+
+#Calculate deciles by weights
+CBN[,Decile:=cut(cumweight,breaks = seq(0,tx,tx/10),labels = 1:10)]
+CBN[,Percentile:=cut(cumweight,breaks=seq(0,tx,tx/100),labels=1:100)]
+
+#Update Poors
+CBN[,Poor:=ifelse(Decile %in% 2:3,1,0)]
+CBNPoor<-CBN[Poor==1]
+CBNPoor<-merge(CBNPoor,dt2,by=c("ProvinceCode"),all.x = TRUE)
+CBNPoor[,sum(HIndivNo),by=.(ProvinceCode)][order(ProvinceCode)]
+
+###Iteration1-10
+#Calculate Per_calories in clusters
+CBNPoor[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(185:200)][]
+#utils::View(CBNPoor)
+
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(202:217)][]
+
+CBNPoor[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor<-CBNPoor[Per_Daily_Exp_Calories!=0]
+CBNPoor[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+#CBN[,weighted.mean(Poor,Weight),by=cluster][order(cluster)]
+
+#Real Prices
+T_Bundle_Value<-subset(CBNPoor, ProvinceCode==2301, select=c(Bundle_Value,Home_Per_Metr,Weight))
+Tehran_Bundle_Value1<-weighted.mean(T_Bundle_Value$Bundle_Value,T_Bundle_Value$Weight,na.rm = TRUE)
+Tehran_Bundle_Value2<-weighted.mean(T_Bundle_Value$Home_Per_Metr,T_Bundle_Value$Weight,na.rm = TRUE)
+CBNPoor[,RealPriceIndex1:=weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/Tehran_Bundle_Value1,by=ProvinceCode]
+CBNPoor[,RealPriceIndex2:=weighted.mean(Home_Per_Metr,Weight,na.rm = TRUE)/Tehran_Bundle_Value2,by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex1,Weight),by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex2,Weight),by=ProvinceCode]
+Indexes2<-CBNPoor[,.(RealPriceIndex1,RealPriceIndex2,ProvinceCode,Weight)]
+Indexes2<-Indexes2[,RealPriceIndex:=(RealPriceIndex1+RealPriceIndex2)/2]
+Indexes<-Indexes2[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+Indexes310<-Indexes[,.(ProvinceCode,RealPriceIndex1,RealPriceIndex2,RealPriceIndex)]
+Indexes<-Indexes[,.(ProvinceCode,RealPriceIndex)]
+CBN[,RealPriceIndex:=NULL]
+CBN<-merge(CBN,Indexes,by=c("ProvinceCode"),all.x = TRUE)
+CBN<-CBN[,Total_Food_Month_Per2:=FoodExpenditure_Per*RealPriceIndex]
+CBN<-CBN[,Total_Exp_Month_Per2:=Total_Exp_Month_Per_nondurable*RealPriceIndex]
+#utils::View(CBN)
+
+
+#Sort Expenditure data
+CBN<- CBN[order(Total_Exp_Month_Per2)]
+
+#Calculate cumulative weights
+sum(CBN$Weight)
+CBN$cumweight <- cumsum(CBN$Weight)
+tx <- max(CBN$cumweight)
+
+#Calculate deciles by weights
+CBN[,Decile:=cut(cumweight,breaks = seq(0,tx,tx/10),labels = 1:10)]
+CBN[,Percentile:=cut(cumweight,breaks=seq(0,tx,tx/100),labels=1:100)]
+
+#Update Poors
+CBN[,Poor:=ifelse(Decile %in% 2:3,1,0)]
+CBNPoor<-CBN[Poor==1]
+CBNPoor<-merge(CBNPoor,dt2,by=c("ProvinceCode"),all.x = TRUE)
+CBNPoor[,sum(HIndivNo),by=.(ProvinceCode)][order(ProvinceCode)]
+
+
+#Calculate Per_calories in clusters
+CBNPoor[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(189:204)][]
+#utils::View(CBNPoor)
+
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(206:221)][]
+
+CBNPoor[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor<-CBNPoor[Per_Daily_Exp_Calories!=0]
+CBNPoor[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNCalory<-CBNPoor[,.(Per_Daily_Calories,Per_Daily_Exp_Calories,Per_Calory_Resturant,Resturant_Exp,cluster,ProvinceCode)]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+
+
+#Calculations
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_day,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,sum(Size*Weight),by=cluster][order(cluster)]
+
+
+#Food Poverty Line for each cluster
+#cluster 1
+CBNPoorCluster<-CBNPoor[cluster==1]
+Food_Povertyline1_1<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 2
+CBNPoorCluster<-CBNPoor[cluster==2]
+Food_Povertyline2_1<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 3
+CBNPoorCluster<-CBNPoor[cluster==3]
+Food_Povertyline3_1<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 4
+CBNPoorCluster<-CBNPoor[cluster==4]
+Food_Povertyline4_1<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+
+#ee<-CBNPoor[,.(Total_Exp_Month_Real,Total_Exp_Month,Total_Food_Month_Per2,Total_Exp_Month_Per_nondurable,Total_Exp_Month_nondurable_Real_Per,FoodExpenditure_Per,cluster)]
+#mean(ee[,Total_Food_Month_Per2==Total_Exp_Month_nondurable_Real])
+#mean(ee[,Total_Food_Month_Per2<3500000])
+#ee<- ee[order(Total_Food_Month_Per2)]
+#utils::View(CBN)
+CBN<-merge(CBN,dt2,by=c("ProvinceCode"),all.x = TRUE)
+#for (col in c("Total_Food_Month_Per2")) CBN[is.na(get(col)), (col) := Total_Exp_Month_Per_nondurable]
+c<-CBN[,.(FoodExpenditure_Per,FoodExpenditure_Per_total,Total_Exp_Month_Per_nondurable,Total_Exp_Month,Total_Food_Month_Per2,Poor,Decile,Weight,cluster)]
+
+#########Iteration 2###############
+#Sort Expenditure data
+CBN<- CBN[order(Total_Food_Month_Per2)]
+c<- c[order(Total_Food_Month_Per2)]
+
+#Indicate new poors
+CBN[,Poor2:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_1 & cluster==1,1,0)]
+c[,Poor2:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_1 & cluster==1 ,1,0)]
+CBN[,Poor2:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_1 & cluster==2,1,Poor2)]
+c[,Poor2:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_1 & cluster==2 ,1,Poor2)]
+CBN[,Poor2:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_1 & cluster==3,1,Poor2)]
+c[,Poor2:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_1 & cluster==3 ,1,Poor2)]
+CBN[,Poor2:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_1 & cluster==4,1,Poor2)]
+c[,Poor2:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_1 & cluster==4 ,1,Poor2)]
+CBN[,weighted.mean(Poor2,Weight),by=cluster][order(cluster)]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2<-CBN[Poor2==1]
+
+
+#CalculatePer_calories in clusters
+CBNPoor2[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(190:205)][]
+#utils::View(CBNPoor2)
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor2[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(207:222)][]
+
+CBNPoor2[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor2[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor2[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor2[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2<-CBNPoor2[Per_Daily_Exp_Calories!=0]
+CBNPoor2[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor2[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor2[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor2[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor2[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor2[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+
+
+
+#Calculations
+CBNPoor2[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,weighted.mean(FoodExpenditure_Per_day,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+
+
+
+#Food Poverty Line for each cluster
+#cluster 1
+CBNPoorCluster<-CBNPoor2[cluster==1]
+Food_Povertyline1_2<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 2
+CBNPoorCluster<-CBNPoor2[cluster==2]
+Food_Povertyline2_2<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 3
+CBNPoorCluster<-CBNPoor2[cluster==3]
+Food_Povertyline3_2<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 4
+CBNPoorCluster<-CBNPoor2[cluster==4]
+Food_Povertyline4_2<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#ee<-CBNPoor[,.(Total_Exp_Month_Real,Total_Exp_Month,Total_Food_Month_Per2,Total_Exp_Month_Per_nondurable,Total_Exp_Month_nondurable_Real_Per,FoodExpenditure_Per,cluster)]
+#mean(ee[,Total_Food_Month_Per2==Total_Exp_Month_nondurable_Real])
+#mean(ee[,Total_Food_Month_Per2<3500000])
+#ee<- ee[order(Total_Food_Month_Per2)]
+#utils::View(CBN)
+#for (col in c("Total_Food_Month_Per2")) CBN[is.na(get(col)), (col) := Total_Exp_Month_Per_nondurable]
+c<-CBN[,.(FoodExpenditure_Per,FoodExpenditure_Per_total,Total_Exp_Month_Per_nondurable,Total_Exp_Month,Total_Food_Month_Per2,Poor,Decile,Weight,cluster)]
+
+
+#########Iteration 3###############
+#Sort Expenditure data
+CBN<- CBN[order(Total_Food_Month_Per2)]
+c<- c[order(Total_Food_Month_Per2)]
+
+#Indicate new poors
+CBN[,Poor3:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_2 & cluster==1,1,0)]
+c[,Poor3:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_2 & cluster==1 ,1,0)]
+CBN[,Poor3:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_2 & cluster==2,1,Poor3)]
+c[,Poor3:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_2 & cluster==2 ,1,Poor3)]
+CBN[,Poor3:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_2 & cluster==3,1,Poor3)]
+c[,Poor3:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_2 & cluster==3 ,1,Poor3)]
+CBN[,Poor3:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_2 & cluster==4,1,Poor3)]
+c[,Poor3:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_2 & cluster==4 ,1,Poor3)]
+CBN[,weighted.mean(Poor3,Weight),by=cluster][order(cluster)]
+CBNPoor2[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3<-CBN[Poor3==1]
+
+
+
+#CalculatePer_calories in clusters
+CBNPoor3[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(192:206)][]
+#utils::View(CBNPoor3)
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor3[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(208:223)][]
+
+
+CBNPoor3[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor3[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor3[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor3[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3<-CBNPoor3[Per_Daily_Exp_Calories!=0]
+CBNPoor3[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor3[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+
+#sum of total food expenditures
+CBNPoor3[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor3[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor3[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor3[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+
+
+#Calculations
+CBNPoor3[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,weighted.mean(FoodExpenditure_Per_day,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+
+
+
+#Food Poverty Line for each cluster
+#cluster 1
+CBNPoorCluster<-CBNPoor3[cluster==1]
+Food_Povertyline1_3<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 2
+CBNPoorCluster<-CBNPoor3[cluster==2]
+Food_Povertyline2_3<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 3
+CBNPoorCluster<-CBNPoor3[cluster==3]
+Food_Povertyline3_3<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 4
+CBNPoorCluster<-CBNPoor3[cluster==4]
+Food_Povertyline4_3<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#ee<-CBNPoor[,.(Total_Exp_Month_Real,Total_Exp_Month,Total_Food_Month_Per2,Total_Exp_Month_Per_nondurable,Total_Exp_Month_nondurable_Real_Per,FoodExpenditure_Per,cluster)]
+#mean(ee[,Total_Food_Month_Per2==Total_Exp_Month_nondurable_Real])
+#mean(ee[,Total_Food_Month_Per2<3500000])
+#ee<- ee[order(Total_Food_Month_Per2)]
+#utils::View(CBN)
+#for (col in c("Total_Food_Month_Per2")) CBN[is.na(get(col)), (col) := Total_Exp_Month_Per_nondurable]
+c<-CBN[,.(FoodExpenditure_Per,FoodExpenditure_Per_total,Total_Exp_Month_Per_nondurable,Total_Exp_Month,Total_Food_Month_Per2,Poor,Decile,Weight,cluster)]
+
+
+#########Iteration 4###############
+#Sort Expenditure data
+CBN<- CBN[order(Total_Food_Month_Per2)]
+c<- c[order(Total_Food_Month_Per2)]
+
+#Indicate new poors
+CBN[,Poor4:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_3 & cluster==1,1,0)]
+c[,Poor4:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_3 & cluster==1 ,1,0)]
+CBN[,Poor4:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_3 & cluster==2,1,Poor4)]
+c[,Poor4:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_3 & cluster==2 ,1,Poor4)]
+CBN[,Poor4:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_3 & cluster==3,1,Poor4)]
+c[,Poor4:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_3 & cluster==3 ,1,Poor4)]
+CBN[,Poor4:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_3 & cluster==4,1,Poor4)]
+c[,Poor4:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_3 & cluster==4 ,1,Poor4)]
+CBN[,weighted.mean(Poor4,Weight),by=cluster][order(cluster)]
+CBNPoor3[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4<-CBN[Poor4==1]
+
+#CalculatePer_calories in clusters
+CBNPoor4[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(191:206)][]
+#utils::View(CBNPoor4)
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor4[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(208:223)][]
+
+
+CBNPoor4[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor4[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor4[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor4[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4<-CBNPoor4[Per_Daily_Exp_Calories!=0]
+CBNPoor4[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor4[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+
+#sum of total food expenditures
+CBNPoor4[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor4[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor4[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor4[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+
+
+#Calculations
+CBNPoor4[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,weighted.mean(FoodExpenditure_Per_day,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+
+
+
+#Food Poverty Line for each cluster
+#cluster 1
+CBNPoorCluster<-CBNPoor4[cluster==1]
+Food_Povertyline1_4<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 2
+CBNPoorCluster<-CBNPoor4[cluster==2]
+Food_Povertyline2_4<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 3
+CBNPoorCluster<-CBNPoor4[cluster==3]
+Food_Povertyline3_4<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 4
+CBNPoorCluster<-CBNPoor4[cluster==4]
+Food_Povertyline4_4<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#ee<-CBNPoor[,.(Total_Exp_Month_Real,Total_Exp_Month,Total_Food_Month_Per2,Total_Exp_Month_Per_nondurable,Total_Exp_Month_nondurable_Real_Per,FoodExpenditure_Per,cluster)]
+#mean(ee[,Total_Food_Month_Per2==Total_Exp_Month_nondurable_Real])
+#mean(ee[,Total_Food_Month_Per2<3500000])
+#ee<- ee[order(Total_Food_Month_Per2)]
+#utils::View(CBN)
+#for (col in c("Total_Food_Month_Per2")) CBN[is.na(get(col)), (col) := Total_Exp_Month_Per_nondurable]
+c<-CBN[,.(FoodExpenditure_Per,FoodExpenditure_Per_total,Total_Exp_Month_Per_nondurable,Total_Exp_Month,Total_Food_Month_Per2,Poor,Decile,Weight,cluster)]
+
+
+#########Iteration 5###############
+#Sort Expenditure data
+CBN<- CBN[order(Total_Food_Month_Per2)]
+c<- c[order(Total_Food_Month_Per2)]
+
+#Indicate new poors
+CBN[,Poor5:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_4 & cluster==1,1,0)]
+c[,Poor5:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_4 & cluster==1 ,1,0)]
+CBN[,Poor5:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_4 & cluster==2,1,Poor5)]
+c[,Poor5:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_4 & cluster==2 ,1,Poor5)]
+CBN[,Poor5:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_4 & cluster==3,1,Poor5)]
+c[,Poor5:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_4 & cluster==3 ,1,Poor5)]
+CBN[,Poor5:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_4 & cluster==4,1,Poor5)]
+c[,Poor5:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_4 & cluster==4 ,1,Poor5)]
+CBN[,weighted.mean(Poor5,Weight),by=cluster][order(cluster)]
+CBNPoor4[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5<-CBN[Poor5==1]
+
+#CalculatePer_calories in clusters
+CBNPoor5[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(191:206)][]
+#utils::View(CBNPoor5)
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor5[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(208:223)][]
+
+
+CBNPoor5[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor5[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor5[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor5[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5<-CBNPoor5[Per_Daily_Exp_Calories!=0]
+CBNPoor5[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor5[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+
+#sum of total food expenditures
+CBNPoor5[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor5[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor5[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor5[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+
+
+#Calculations
+CBNPoor5[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,weighted.mean(FoodExpenditure_Per_day,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+
+
+
+#Food Poverty Line for each cluster
+#cluster 1
+CBNPoorCluster<-CBNPoor5[cluster==1]
+Food_Povertyline1_5<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 2
+CBNPoorCluster<-CBNPoor5[cluster==2]
+Food_Povertyline2_5<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 3
+CBNPoorCluster<-CBNPoor5[cluster==3]
+Food_Povertyline3_5<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 4
+CBNPoorCluster<-CBNPoor5[cluster==4]
+Food_Povertyline4_5<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#ee<-CBNPoor[,.(Total_Exp_Month_Real,Total_Exp_Month,Total_Food_Month_Per2,Total_Exp_Month_Per_nondurable,Total_Exp_Month_nondurable_Real_Per,FoodExpenditure_Per,cluster)]
+#mean(ee[,Total_Food_Month_Per2==Total_Exp_Month_nondurable_Real])
+#mean(ee[,Total_Food_Month_Per2<3500000])
+#ee<- ee[order(Total_Food_Month_Per2)]
+#utils::View(CBN)
+#for (col in c("Total_Food_Month_Per2")) CBN[is.na(get(col)), (col) := Total_Exp_Month_Per_nondurable]
+c<-CBN[,.(FoodExpenditure_Per,FoodExpenditure_Per_total,Total_Exp_Month_Per_nondurable,Total_Exp_Month,Total_Food_Month_Per2,Poor,Decile,Weight,cluster)]
+
+
+#########Iteration 6###############
+#Sort Expenditure data
+CBN<- CBN[order(Total_Food_Month_Per2)]
+c<- c[order(Total_Food_Month_Per2)]
+
+#Indicate new poors
+CBN[,Poor6:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_5 & cluster==1,1,0)]
+c[,Poor6:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_5 & cluster==1 ,1,0)]
+CBN[,Poor6:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_5 & cluster==2,1,Poor6)]
+c[,Poor6:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_5 & cluster==2 ,1,Poor6)]
+CBN[,Poor6:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_5 & cluster==3,1,Poor6)]
+c[,Poor6:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_5 & cluster==3 ,1,Poor6)]
+CBN[,Poor6:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_5 & cluster==4,1,Poor6)]
+c[,Poor6:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_5 & cluster==4 ,1,Poor6)]
+CBN[,weighted.mean(Poor6,Weight),by=cluster][order(cluster)]
+CBNPoor5[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6<-CBN[Poor6==1]
+
+#CalculatePer_calories in clusters
+CBNPoor6[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(191:206)][]
+#utils::View(CBNPoor6)
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor6[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(208:223)][]
+
+
+CBNPoor6[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor6[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor6[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor6[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6<-CBNPoor6[Per_Daily_Exp_Calories!=0]
+CBNPoor6[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor6[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+
+#sum of total food expenditures
+CBNPoor6[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor6[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor6[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor6[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+
+
+#Calculations
+CBNPoor6[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,weighted.mean(FoodExpenditure_Per_day,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+
+
+#Food Poverty Line for each cluster
+#cluster 1
+CBNPoorCluster<-CBNPoor6[cluster==1]
+Food_Povertyline1_6<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 2
+CBNPoorCluster<-CBNPoor6[cluster==2]
+Food_Povertyline2_6<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 3
+CBNPoorCluster<-CBNPoor6[cluster==3]
+Food_Povertyline3_6<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 4
+CBNPoorCluster<-CBNPoor6[cluster==4]
+Food_Povertyline4_6<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#ee<-CBNPoor[,.(Total_Exp_Month_Real,Total_Exp_Month,Total_Food_Month_Per2,Total_Exp_Month_Per_nondurable,Total_Exp_Month_nondurable_Real_Per,FoodExpenditure_Per,cluster)]
+#mean(ee[,Total_Food_Month_Per2==Total_Exp_Month_nondurable_Real])
+#mean(ee[,Total_Food_Month_Per2<3500000])
+#ee<- ee[order(Total_Food_Month_Per2)]
+#utils::View(CBN)
+#for (col in c("Total_Food_Month_Per2")) CBN[is.na(get(col)), (col) := Total_Exp_Month_Per_nondurable]
+c<-CBN[,.(FoodExpenditure_Per,FoodExpenditure_Per_total,Total_Exp_Month_Per_nondurable,Total_Exp_Month,Total_Food_Month_Per2,Poor,Decile,Weight,cluster)]
+
+
+#########Iteration 7###############
+#Sort Expenditure data
+CBN<- CBN[order(Total_Food_Month_Per2)]
+c<- c[order(Total_Food_Month_Per2)]
+
+#Indicate new poors
+CBN[,Poor7:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_6 & cluster==1,1,0)]
+c[,Poor7:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_6 & cluster==1 ,1,0)]
+CBN[,Poor7:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_6 & cluster==2,1,Poor7)]
+c[,Poor7:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_6 & cluster==2 ,1,Poor7)]
+CBN[,Poor7:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_6 & cluster==3,1,Poor7)]
+c[,Poor7:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_6 & cluster==3 ,1,Poor7)]
+CBN[,Poor7:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_6 & cluster==4,1,Poor7)]
+c[,Poor7:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_6 & cluster==4 ,1,Poor7)]
+CBN[,weighted.mean(Poor7,Weight),by=cluster][order(cluster)]
+CBNPoor6[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7<-CBN[Poor7==1]
+
+#CalculatePer_calories in clusters
+CBNPoor7[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(191:206)][]
+#utils::View(CBNPoor7)
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor7[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(208:223)][]
+
+
+CBNPoor7[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor7[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor7[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor7[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7<-CBNPoor7[Per_Daily_Exp_Calories!=0]
+CBNPoor7[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor7[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+
+#sum of total food expenditures
+CBNPoor7[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor7[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor7[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor7[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+
+
+#Calculations
+CBNPoor7[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,weighted.mean(FoodExpenditure_Per_day,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+
+
+
+#Food Poverty Line for each cluster
+#cluster 1
+CBNPoorCluster<-CBNPoor7[cluster==1]
+Food_Povertyline1_7<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 2
+CBNPoorCluster<-CBNPoor7[cluster==2]
+Food_Povertyline2_7<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 3
+CBNPoorCluster<-CBNPoor7[cluster==3]
+Food_Povertyline3_7<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 4
+CBNPoorCluster<-CBNPoor7[cluster==4]
+Food_Povertyline4_7<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#ee<-CBNPoor[,.(Total_Exp_Month_Real,Total_Exp_Month,Total_Food_Month_Per2,Total_Exp_Month_Per_nondurable,Total_Exp_Month_nondurable_Real_Per,FoodExpenditure_Per,cluster)]
+#mean(ee[,Total_Food_Month_Per2==Total_Exp_Month_nondurable_Real])
+#mean(ee[,Total_Food_Month_Per2<3500000])
+#ee<- ee[order(Total_Food_Month_Per2)]
+#utils::View(CBN)
+#for (col in c("Total_Food_Month_Per2")) CBN[is.na(get(col)), (col) := Total_Exp_Month_Per_nondurable]
+c<-CBN[,.(FoodExpenditure_Per,FoodExpenditure_Per_total,Total_Exp_Month_Per_nondurable,Total_Exp_Month,Total_Food_Month_Per2,Poor,Decile,Weight,cluster)]
+
+
+#########Iteration 8###############
+#Sort Expenditure data
+CBN<- CBN[order(Total_Food_Month_Per2)]
+c<- c[order(Total_Food_Month_Per2)]
+
+#Indicate new poors
+CBN[,Poor8:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_7 & cluster==1,1,0)]
+c[,Poor8:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_7 & cluster==1 ,1,0)]
+CBN[,Poor8:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_7 & cluster==2,1,Poor8)]
+c[,Poor8:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_7 & cluster==2 ,1,Poor8)]
+CBN[,Poor8:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_7 & cluster==3,1,Poor8)]
+c[,Poor8:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_7 & cluster==3 ,1,Poor8)]
+CBN[,Poor8:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_7 & cluster==4,1,Poor8)]
+c[,Poor8:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_7 & cluster==4 ,1,Poor8)]
+CBN[,weighted.mean(Poor8,Weight),by=cluster][order(cluster)]
+CBNPoor7[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8<-CBN[Poor8==1]
+
+
+#CalculatePer_calories in clusters
+CBNPoor8[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(191:206)][]
+#utils::View(CBNPoor8)
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor8[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(208:223)][]
+
+
+CBNPoor8[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor8[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor8[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor8[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8<-CBNPoor8[Per_Daily_Exp_Calories!=0]
+CBNPoor8[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor8[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+
+#sum of total food expenditures
+CBNPoor8[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor8[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor8[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor8[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+
+
+#Calculations
+CBNPoor8[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,weighted.mean(FoodExpenditure_Per_day,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+
+
+
+#Food Poverty Line for each cluster
+#cluster 1
+CBNPoorCluster<-CBNPoor8[cluster==1]
+Food_Povertyline1_8<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 2
+CBNPoorCluster<-CBNPoor8[cluster==2]
+Food_Povertyline2_8<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 3
+CBNPoorCluster<-CBNPoor8[cluster==3]
+Food_Povertyline3_8<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 4
+CBNPoorCluster<-CBNPoor8[cluster==4]
+Food_Povertyline4_8<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#ee<-CBNPoor[,.(Total_Exp_Month_Real,Total_Exp_Month,Total_Food_Month_Per2,Total_Exp_Month_Per_nondurable,Total_Exp_Month_nondurable_Real_Per,FoodExpenditure_Per,cluster)]
+#mean(ee[,Total_Food_Month_Per2==Total_Exp_Month_nondurable_Real])
+#mean(ee[,Total_Food_Month_Per2<3500000])
+#ee<- ee[order(Total_Food_Month_Per2)]
+#utils::View(CBN)
+#for (col in c("Total_Food_Month_Per2")) CBN[is.na(get(col)), (col) := Total_Exp_Month_Per_nondurable]
+c<-CBN[,.(FoodExpenditure_Per,FoodExpenditure_Per_total,Total_Exp_Month_Per_nondurable,Total_Exp_Month,Total_Food_Month_Per2,Poor,Decile,Weight,cluster)]
+
+
+#########Iteration 9###############
+#Sort Expenditure data
+CBN<- CBN[order(Total_Food_Month_Per2)]
+c<- c[order(Total_Food_Month_Per2)]
+
+#Indicate new poors
+CBN[,Poor9:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_8 & cluster==1,1,0)]
+c[,Poor9:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_8 & cluster==1 ,1,0)]
+CBN[,Poor9:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_8 & cluster==2,1,Poor9)]
+c[,Poor9:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_8 & cluster==2 ,1,Poor9)]
+CBN[,Poor9:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_8 & cluster==3,1,Poor9)]
+c[,Poor9:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_8 & cluster==3 ,1,Poor9)]
+CBN[,Poor9:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_8 & cluster==4,1,Poor9)]
+c[,Poor9:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_8 & cluster==4 ,1,Poor9)]
+CBN[,weighted.mean(Poor9,Weight),by=cluster][order(cluster)]
+CBNPoor8[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9<-CBN[Poor9==1]
+
+
+#CalculatePer_calories in clusters
+CBNPoor9[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(191:206)][]
+#utils::View(CBNPoor9)
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor9[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(208:223)][]
+
+
+CBNPoor9[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor9[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor9[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor9[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9<-CBNPoor9[Per_Daily_Exp_Calories!=0]
+CBNPoor9[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor9[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+
+#sum of total food expenditures
+CBNPoor9[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor9[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor9[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor9[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+
+
+
+#Calculations
+CBNPoor9[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,weighted.mean(FoodExpenditure_Per_day,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+
+
+
+#Food Poverty Line for each cluster
+#cluster 1
+CBNPoorCluster<-CBNPoor9[cluster==1]
+Food_Povertyline1_9<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 2
+CBNPoorCluster<-CBNPoor9[cluster==2]
+Food_Povertyline2_9<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 3
+CBNPoorCluster<-CBNPoor9[cluster==3]
+Food_Povertyline3_9<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 4
+CBNPoorCluster<-CBNPoor9[cluster==4]
+Food_Povertyline4_9<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#ee<-CBNPoor[,.(Total_Exp_Month_Real,Total_Exp_Month,Total_Food_Month_Per2,Total_Exp_Month_Per_nondurable,Total_Exp_Month_nondurable_Real_Per,FoodExpenditure_Per,cluster)]
+#mean(ee[,Total_Food_Month_Per2==Total_Exp_Month_nondurable_Real])
+#mean(ee[,Total_Food_Month_Per2<3500000])
+#ee<- ee[order(Total_Food_Month_Per2)]
+#utils::View(CBN)
+#for (col in c("Total_Food_Month_Per2")) CBN[is.na(get(col)), (col) := Total_Exp_Month_Per_nondurable]
+c<-CBN[,.(FoodExpenditure_Per,FoodExpenditure_Per_total,Total_Exp_Month_Per_nondurable,Total_Exp_Month,Total_Food_Month_Per2,Poor,Decile,Weight,cluster)]
+
+
+#########Iteration 10###############
+#Sort Expenditure data
+CBN<- CBN[order(Total_Food_Month_Per2)]
+c<- c[order(Total_Food_Month_Per2)]
+
+#Indicate new poors
+CBN[,Poor10:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_9 & cluster==1,1,0)]
+c[,Poor10:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_9 & cluster==1 ,1,0)]
+CBN[,Poor10:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_9 & cluster==2,1,Poor10)]
+c[,Poor10:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_9 & cluster==2 ,1,Poor10)]
+CBN[,Poor10:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_9 & cluster==3,1,Poor10)]
+c[,Poor10:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_9 & cluster==3 ,1,Poor10)]
+CBN[,Poor10:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_9 & cluster==4,1,Poor10)]
+c[,Poor10:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_9 & cluster==4 ,1,Poor10)]
+CBN[,weighted.mean(Poor10,Weight),by=cluster][order(cluster)]
+CBNPoor9[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor10<-CBN[Poor10==1]
+
+#Engel
+#CBNPoor9<-CBNPoor9[,ratio1:=FoodExpenditure/Total_Exp_Month]
+#CBNPoor9[,weighted.mean(ratio1,Weight),by=cluster]
+#summary(CBNPoor9$ratio1)
+CBN<-CBN[,ratio1:=FoodExpenditure/Total_Exp_Month]
+CBN[,weighted.mean(ratio1,Weight),by=ProvinceCode][order(ProvinceCode)]
+CBN<-CBN[,ratio2:=ServiceExp/Total_Exp_Month]
+CBN[,weighted.mean(ratio2,Weight),by=ProvinceCode][order(ProvinceCode)]
+
+# Poverty Line for each cluster
+#cluster 1
+CBNPoorCluster<-CBN[cluster==1 & FoodExpenditure_Per<1.1*Food_Povertyline1_9 & FoodExpenditure_Per>0.90*Food_Povertyline1_9]
+Engel1<-weighted.mean(CBNPoorCluster$ratio1,CBNPoorCluster$Weight)
+Engel_Reverse1<-1/Engel1
+Povertyline1_9<-Engel_Reverse1*Food_Povertyline1_9
+
+#cluster 2
+CBNPoorCluster<-CBN[cluster==2 & FoodExpenditure_Per<1.1*Food_Povertyline2_9 & FoodExpenditure_Per>0.90*Food_Povertyline2_9]
+Engel2<-weighted.mean(CBNPoorCluster$ratio1,CBNPoorCluster$Weight)
+Engel_Reverse2<-1/Engel2
+Povertyline2_9<-Engel_Reverse2*Food_Povertyline2_9
+
+#cluster 3
+CBNPoorCluster<-CBN[cluster==3 & FoodExpenditure_Per<1.1*Food_Povertyline3_9 & FoodExpenditure_Per>0.90*Food_Povertyline3_9]
+Engel3<-weighted.mean(CBNPoorCluster$ratio1,CBNPoorCluster$Weight)
+Engel_Reverse3<-1/Engel3
+Povertyline3_9<-Engel_Reverse3*Food_Povertyline3_9
+
+#cluster 4
+CBNPoorCluster<-CBN[cluster==4 & FoodExpenditure_Per<1.1*Food_Povertyline4_9 & FoodExpenditure_Per>0.90*Food_Povertyline4_9]
+Engel4<-weighted.mean(CBNPoorCluster$ratio1,CBNPoorCluster$Weight)
+Engel_Reverse4<-1/Engel4
+Povertyline4_9<-Engel_Reverse4*Food_Povertyline4_9
+
+#Indicate final poors
+CBN<-CBN[,Total_Exp_Month_Per2:=Total_Exp_Month_Per_nondurable*RealPriceIndex]
+
+CBN[,Poor11:=ifelse(Total_Exp_Month_Per_nondurable < Povertyline1_9 & cluster==1,1,0)]
+CBN[,Poor11:=ifelse(Total_Exp_Month_Per_nondurable < Povertyline2_9 & cluster==2,1,Poor11)]
+CBN[,Poor11:=ifelse(Total_Exp_Month_Per_nondurable < Povertyline3_9 & cluster==3,1,Poor11)]
+CBN[,Poor11:=ifelse(Total_Exp_Month_Per_nondurable < Povertyline4_9 & cluster==4,1,Poor11)]
+CBN[,weighted.mean(Poor11,Weight),by=cluster][order(cluster)]
+CBNPoor9[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor11<-CBN[Poor11==1]
+
+CBN[,sum(Size*Weight),by=cluster][order(cluster)]
+CBNPoor9[,sum(Size*Weight),by=cluster][order(cluster)]
+CBNPoor9[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBN[,weighted.mean(Poor11,Weight)]
+CBN[,weighted.mean(Poor11,Weight),by=cluster][order(cluster)]
+CBN[,weighted.mean(Poor11,Weight),by=ProvinceCode][order(ProvinceCode)]
+endtime <- proc.time()
+
+cat("\n\n============================\nIt took ")
+cat(endtime-starttime)
+
diff --git a/R/Archive/Other Codes/60-CBN91-Rural.R b/R/Archive/Other Codes/60-CBN91-Rural.R
new file mode 100644
index 00000000..ad4a9ecd
--- /dev/null
+++ b/R/Archive/Other Codes/60-CBN91-Rural.R
@@ -0,0 +1,2938 @@
+#CBN Method-Rural.R
+#
+# Copyright © 2018:Arin Shahbazian
+# Licence: GPL-3
+#
+rm(list=ls())
+
+starttime <- proc.time()
+cat("\n\n================ Prepare Data =====================================\n")
+
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+library(readxl)
+library(stringr)
+library(data.table)
+
+#for(year in (Settings$startyear:Settings$endyear)){
+# cat(paste0("\n------------------------------\nYear:",year,"\n"))
+
+load(file=paste0(Settings$HEISProcessedPath,"Y","91","HHBase.rda"))
+HHBase[,IndivNo:=NULL]
+HHBase[,Relationship:=NULL]
+HHBase[,Sex:=NULL]
+HHBase[,Age:=NULL]
+HHBase[,Literate:=NULL]
+HHBase[,Student:=NULL]
+HHBase[,EduCode:=NULL]
+HHBase[,EduYears:=NULL]
+HHBase[,EduLevel:=NULL]
+HHBase[,EduLevel0:=NULL]
+HHBase[,ActivityState:=NULL]
+HHBase[,MarritalState:=NULL]
+load(file=paste0(Settings$HEISProcessedPath,"Y","91","Ghand_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","91","Hoboobat_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","91","Roghan_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","91","Berenj_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","91","Nan_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","91","Goosht_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","91","Morgh_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","91","Mahi_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","91","Shir_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","91","Mast_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","91","Panir_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","91","Tokhmemorgh_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","91","Mive_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","91","Sabzi_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","91","Makarooni_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","91","Sibzamini_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","91","Weights.rda"))
+
+Ghand_Data<-Ghand_Data[,.(HHID,Ghandgram,GhandPrice)]
+Hoboobat_Data<-Hoboobat_Data[,.(HHID,Hoboobatgram,HoboobatPrice)]
+Roghan_Data<-Roghan_Data[,.(HHID,Roghangram,RoghanPrice)]
+Berenj_Data<-Berenj_Data[,.(HHID,Berenjgram,BerenjPrice)]
+Nan_Data<-Nan_Data[,.(HHID,Nangram,NanPrice)]
+Goosht_Data<-Goosht_Data[,.(HHID,Gooshtgram,GooshtPrice)]
+Morgh_Data<-Morgh_Data[,.(HHID,Morghgram,MorghPrice)]
+Mahi_Data<-Mahi_Data[,.(HHID,Mahigram,MahiPrice)]
+Shir_Data<-Shir_Data[,.(HHID,Shirgram,ShirPrice)]
+Mast_Data<-Mast_Data[,.(HHID,Mastgram,MastPrice)]
+Panir_Data<-Panir_Data[,.(HHID,Panirgram,PanirPrice)]
+Tokhmemorgh_Data<-Tokhmemorgh_Data[,.(HHID,Tokhmemorghgram,TokhmemorghPrice)]
+Mive_Data<-Mive_Data[,.(HHID,Mivegram,MivePrice)]
+Sabzi_Data<-Sabzi_Data[,.(HHID,Sabzigram,SabziPrice)]
+Makarooni_Data<-Makarooni_Data[,.(HHID,Makaroonigram,MakarooniPrice)]
+Sibzamini_Data<-Sibzamini_Data[,.(HHID,Sibzaminigram,SibzaminiPrice)]
+
+Food<-merge(HHBase,Ghand_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Ghandgram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Hoboobat_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Hoboobatgram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Roghan_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Roghangram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Berenj_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Berenjgram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Nan_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Nangram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Goosht_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Gooshtgram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Morgh_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Morghgram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Mahi_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Mahigram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Shir_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Shirgram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Mast_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Mastgram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Panir_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Panirgram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Tokhmemorgh_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Tokhmemorghgram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Mive_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Mivegram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Sabzi_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Sabzigram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Makarooni_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Makaroonigram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Sibzamini_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Sibzaminigram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Weights,by =c("HHID"),all.x=TRUE)
+
+
+
+#load Expenditure groups
+load(file=paste0(Settings$HEISProcessedPath,"Y","91","HHBase.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","91","HHI.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","91","Foods.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","91","Cigars.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","91","Cloths.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","91","Amusements.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","91","Communications.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","91","Durables.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","91","Education.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","91","Energy.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","91","Furnitures.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","91","Hotels.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","91","House.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","91","Medicals.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","91","Behdashts.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","91","Transportations.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","91","Others.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","91","Investments.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","91","Resturants.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","91","Weights.rda"))
+
+#merge Expenditure groups
+CBN<-merge(Food,HHI ,by =c("HHID"),all=TRUE)
+CBN<-merge(CBN,FoodData,by =c("HHID"),all=TRUE)
+for (col in c("FoodExpenditure")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,CigarData,by =c("HHID"),all=TRUE)
+for (col in c("Cigar_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,ClothData,by =c("HHID"),all=TRUE)
+for (col in c("Cloth_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,AmusementData,by =c("HHID"),all=TRUE)
+for (col in c("Amusement_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,CommunicationData,by =c("HHID"),all=TRUE)
+for (col in c("Communication_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,EducData,by =c("HHID"),all=TRUE)
+for (col in c("EducExpenditure")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,EnergyData,by =c("HHID"),all=TRUE)
+for (col in c("Energy_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,FurnitureData,by =c("HHID"),all=TRUE)
+for (col in c("Furniture_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,HotelData,by =c("HHID"),all=TRUE)
+for (col in c("Hotel_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,BehdashtData,by =c("HHID"),all=TRUE)
+for (col in c("Behdasht_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,TransportationData,by =c("HHID"),all=TRUE)
+for (col in c("Transportation_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,OtherData,by =c("HHID"),all=TRUE)
+for (col in c("Other_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,HouseData,by =c("HHID"),all=TRUE)
+for (col in c("ServiceExp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,InvestmentData,by =c("HHID"),all=TRUE)
+for (col in c("Investment_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,MedicalData,by =c("HHID"),all=TRUE)
+for (col in c("Medical_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,DurableData,by =c("HHID"),all=TRUE)
+for (col in c("Durable_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,ResturantData,by =c("HHID"),all=TRUE)
+for (col in c("Resturant_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-CBN[Size!=0]
+CBN<-CBN[Region=="Rural"]
+CBN<-CBN[FoodExpenditure!=0]
+
+
+#Calculate Per_Total Expenditures Monthly
+CBN[, Total_Exp_Month := Reduce(`+`, .SD), .SDcols=c(65:77,82:83)][]
+CBN[, Total_Exp_Month_nondurable := Reduce(`+`, .SD), .SDcols=65:77][]
+
+CBN$Total_Exp_Month_Per<-CBN$Total_Exp_Month/CBN$EqSizeOECD
+CBN$Total_Exp_Month_Per_nondurable<-CBN$Total_Exp_Month_nondurable/CBN$EqSizeOECD
+
+#Calculate Per_Food Expenditures Monthly
+CBN[,EqSizeCalory :=(Size-NKids) + NKids*(1800/2100)]
+CBN$FoodExpenditure_Per<-CBN$FoodExpenditure/CBN$EqSizeCalory
+
+#Calculate Per_Food Expenditures Daily
+CBN$FoodExpenditure_Per_day<-CBN$FoodExpenditure_Per/30
+
+CBN$Ghandgram_Per_day<-CBN$Ghandgram/(30*CBN$EqSizeOECD)
+CBN$Hoboobatgram_Per_day<-CBN$Hoboobatgram/(30*CBN$EqSizeOECD)
+CBN$Berenjgram_Per_day<-CBN$Berenjgram/(30*CBN$EqSizeOECD)
+CBN$Nangram_Per_day<-CBN$Nangram/(30*CBN$EqSizeOECD)
+CBN$Roghangram_Per_day<-CBN$Roghangram/(30*CBN$EqSizeOECD)
+CBN$Gooshtgram_Per_day<-CBN$Gooshtgram/(30*CBN$EqSizeOECD)
+CBN$Morghgram_Per_day<-CBN$Morghgram/(30*CBN$EqSizeOECD)
+CBN$Mahigram_Per_day<-CBN$Mahigram/(30*CBN$EqSizeOECD)
+CBN$Shirgram_Per_day<-CBN$Shirgram/(30*CBN$EqSizeOECD)
+CBN$Mastgram_Per_day<-CBN$Mastgram/(30*CBN$EqSizeOECD)
+CBN$Panirgram_Per_day<-CBN$Panirgram/(30*CBN$EqSizeOECD)
+CBN$Tokhmemorghgram_Per_day<-CBN$Tokhmemorghgram/(30*CBN$EqSizeOECD)
+CBN$Mivegram_Per_day<-CBN$Mivegram/(30*CBN$EqSizeOECD)
+CBN$Sabzigram_Per_day<-CBN$Sabzigram/(30*CBN$EqSizeOECD)
+CBN$Makaroonigram_Per_day<-CBN$Makaroonigram/(30*CBN$EqSizeOECD)
+CBN$Sibzaminigram_Per_day<-CBN$Sibzaminigram/(30*CBN$EqSizeOECD)
+CBN[,EqSizeCalory:=NULL]
+
+load(file="PriceIndex95.rda")
+CBN<-merge(CBN,PriceIndex95,by=c("ProvinceCode"),all.x = TRUE)
+CBN[,ostan:=NULL]
+load(file="PriceIndex.rda")
+CBN<-merge(CBN,PriceIndex,by=c("ProvinceCode"),all.x = TRUE)
+
+#Sort Expenditure data
+CBN<- CBN[order(Total_Exp_Month_Per_nondurable)]
+
+#Calculate cumulative weights
+sum(CBN$Weight)
+CBN$cumweight <- cumsum(CBN$Weight)
+tx <- max(CBN$cumweight)
+
+#Calculate deciles by weights
+CBN[,Decile:=cut(cumweight,breaks = seq(0,tx,tx/10),labels = 1:10)]
+CBN[,Percentile:=cut(cumweight,breaks=seq(0,tx,tx/100),labels=1:100)]
+
+
+CBN$Ghand_W<-CBN$Ghandgram_Per_day*CBN$GhandPrice*0.001*30
+CBN$Hoboobat_W<-CBN$Hoboobatgram_Per_day*CBN$HoboobatPrice*0.001*30
+CBN$Roghan_W<-CBN$Roghangram_Per_day*CBN$RoghanPrice*0.001*30
+CBN$Berenj_W<-CBN$Berenjgram_Per_day*CBN$BerenjPrice*0.001*30
+CBN$Nan_W<-CBN$Nangram_Per_day*CBN$NanPrice*0.001*30
+CBN$Goosht_W<-CBN$Gooshtgram_Per_day*CBN$GooshtPrice*0.001*30
+CBN$Morgh_W<-CBN$Morghgram_Per_day*CBN$MorghPrice*0.001*30
+CBN$Mahi_W<-CBN$Mahigram_Per_day*CBN$MahiPrice*0.001*30
+CBN$Shir_W<-CBN$Shirgram_Per_day*CBN$ShirPrice*0.001*30
+CBN$Mast_W<-CBN$Mastgram_Per_day*CBN$MastPrice*0.001*30
+CBN$Panir_W<-CBN$Panirgram_Per_day*CBN$PanirPrice*0.001*30
+CBN$Tokhmemorgh_W<-CBN$Tokhmemorghgram_Per_day*CBN$TokhmemorghPrice*0.001*30
+CBN$Mive_W<-CBN$Mivegram_Per_day*CBN$MivePrice*0.001*30
+CBN$Sabzi_W<-CBN$Sabzigram_Per_day*CBN$SabziPrice*0.001*30
+CBN$Makarooni_W<-CBN$Makaroonigram_Per_day*CBN$MakarooniPrice*0.001*30
+CBN$Sibzamini_W<-CBN$Sibzaminigram_Per_day*CBN$SibzaminiPrice*0.001*30
+CBN$Home_W<-CBN$ServiceExp/CBN$EqSizeOECD
+CBN$Home_Per_Metr<-CBN$MetrPrice/CBN$EqSizeOECD
+
+#Seperate big cities
+CBN[,sum(Weight*Size),by=ProvinceCode][order(V1)]
+CBN[,HHIDs:=as.character(HHID)]
+CBN[,ShahrestanCode:=as.integer(str_sub(HHIDs,2,5))]
+CBN[,sum(Weight*Size),by=ShahrestanCode][order(V1)][330:387]
+CBNTehran<-CBN[ProvinceCode==23]
+CBNTehran[,sum(Weight*Size),by=ShahrestanCode]
+CBNTabriz<-CBN[ProvinceCode==3]
+CBNTabriz[,sum(Weight*Size),by=ShahrestanCode]
+CBNAhvaz<-CBN[ProvinceCode==6]
+CBNAhvaz[,sum(Weight*Size),by=ShahrestanCode]
+CBNShiraz<-CBN[ProvinceCode==7]
+CBNShiraz[,sum(Weight*Size),by=ShahrestanCode]
+CBNMashhad<-CBN[ProvinceCode==9]
+CBNMashhad[,sum(Weight*Size),by=ShahrestanCode]
+CBNEsfahan<-CBN[ProvinceCode==10]
+CBNEsfahan[,sum(Weight*Size),by=ShahrestanCode]
+CBNKaraj<-CBN[ProvinceCode==30]
+CBNKaraj[,sum(Weight*Size),by=ShahrestanCode]
+CBNKermanshah<-CBN[ProvinceCode==5]
+CBNKermanshah[,sum(Weight*Size),by=ShahrestanCode]
+
+
+# Food Calories
+CBN$Ghand_Calory<- CBN$Ghandgram *4
+CBN$Hoboobat_Calory<- CBN$Hoboobatgram *3
+CBN$Nan_Calory<- CBN$Nangram *2.5
+CBN$Berenj_Calory<- CBN$Berenjgram *1.2
+CBN$Roghan_Calory<- CBN$Roghangram *8
+CBN$Goosht_Calory<- CBN$Gooshtgram *2.5
+CBN$Morgh_Calory<- CBN$Morghgram *2
+CBN$Mahi_Calory<- CBN$Mahigram *1
+CBN$Shir_Calory<- CBN$Shirgram *2.5
+CBN$Mast_Calory<- CBN$Mastgram *1.5
+CBN$Panir_Calory<- CBN$Mastgram *2.5
+CBN$Tokhmemorgh_Calory<- CBN$Tokhmemorghgram *1.4
+CBN$Mive_Calory<- CBN$Mivegram *0.5
+CBN$Sabzi_Calory<- CBN$Sabzigram *0.5
+CBN$Makarooni_Calory<- CBN$Makaroonigram *3.6
+CBN$Sibzamini_Calory<- CBN$Sibzaminigram *0.9
+#utils::View(CBN)
+
+#CalculatePer_calories
+CBN[, Daily_Exp_Calories := Reduce(`+`, .SD), .SDcols=148:163][]
+CBN[,EqSizeCalory :=(Size-NKids) + NKids*(1800/2100)]
+CBN[,Per_Daily_Exp_Calories:=Daily_Exp_Calories/EqSizeCalory]
+CBN <- CBN[Per_Daily_Exp_Calories<100000] # arbitrary removal of outliers
+#CBN[,Daily_Calories_cluster:=weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+#CBN[,weighted.mean(Daily_Calories_cluster,Weight,na.rm = TRUE),by=cluster]
+#CBN[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+#CBN[,weighted.mean(Size,Weight,na.rm = TRUE),by=cluster]
+#CBN[,sum(Weight*Size),by=cluster]
+#CBN[,sum(Weight),by=cluster]
+#CBN[,sum(Poor),by=cluster]
+
+
+#Calculate_Per_calories
+CBN$Ghand_per_Calory<- CBN$Ghandgram *4/CBN$EqSizeCalory
+CBN$Hoboobat_per_Calory<- CBN$Hoboobatgram *3/CBN$EqSizeCalory
+CBN$Nan_per_Calory<- CBN$Nangram *2.5/CBN$EqSizeCalory
+CBN$Berenj_per_Calory<- CBN$Berenjgram *1.2/CBN$EqSizeCalory
+CBN$Roghan_per_Calory<- CBN$Roghangram *8/CBN$EqSizeCalory
+CBN$Goosht_per_Calory<- CBN$Gooshtgram *2.5/CBN$EqSizeCalory
+CBN$Morgh_per_Calory<- CBN$Morghgram *2/CBN$EqSizeCalory
+CBN$Mahi_per_Calory<- CBN$Mahigram *1/CBN$EqSizeCalory
+CBN$Shir_per_Calory<- CBN$Shirgram *2.5/CBN$EqSizeCalory
+CBN$Mast_per_Calory<- CBN$Mastgram *1.5/CBN$EqSizeCalory
+CBN$Panir_per_Calory<- CBN$Mastgram *2.5/CBN$EqSizeCalory
+CBN$Tokhmemorgh_per_Calory<- CBN$Tokhmemorghgram *1.4/CBN$EqSizeCalory
+CBN$Mive_per_Calory<- CBN$Mivegram *0.5/CBN$EqSizeCalory
+CBN$Sabzi_per_Calory<- CBN$Sabzigram *0.5/CBN$EqSizeCalory
+CBN$Makarooni_per_Calory<- CBN$Makaroonigram *3.6/CBN$EqSizeCalory
+CBN$Sibzamini_per_Calory<- CBN$Sibzaminigram *0.9/CBN$EqSizeCalory
+
+
+#Assume that deciles 1 and 2 are poor
+CBN[,Poor:=ifelse(Decile %in% 1:4,1,0)]
+CBNPoor<-CBN[Poor==1]
+
+#K-means weights
+PriceWeights<-CBN[,.(HHID,Ghand_W,Hoboobat_W,Roghan_W,Berenj_W,Nan_W,Goosht_W,Morgh_W,Mahi_W,Shir_W,Mast_W,Panir_W,Tokhmemorgh_W,Mive_W,Sabzi_W,Makarooni_W,Sibzamini_W,Home_W,ProvinceCode,Weight)]
+dt3 <- PriceWeights[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+dt3<- dt3[order(ProvinceCode)]
+dt3 <- dt3[,.(Ghand_W,Hoboobat_W,Roghan_W,Berenj_W,Nan_W,Goosht_W,Morgh_W,Mahi_W,Shir_W,Mast_W,Panir_W,Tokhmemorgh_W,Mive_W,Sabzi_W,Makarooni_W,Sibzamini_W,Home_W)]
+
+
+
+#K-means algorithm for clustering by prices
+test<-CBNPoor[,.(GhandPrice,HoboobatPrice,RoghanPrice,BerenjPrice,NanPrice,GooshtPrice,MorghPrice,MahiPrice,ShirPrice,MastPrice,PanirPrice,TokhmemorghPrice,MivePrice,SabziPrice,MakarooniPrice,SibzaminiPrice,MetrPrice,ProvinceCode,Weight)]
+#test<-CBNPoor[,.(GhandPrice,HoboobatPrice,RoghanPrice,BerenjPrice,NanPrice,GooshtPrice,MorghPrice,MahiPrice,ShirPrice,MastPrice,PanirPrice,TokhmemorghPrice,MivePrice,SabziPrice,MakarooniPrice,SibzaminiPrice,MetrPrice,Ghand_W,Hoboobat_W,Roghan_W,Berenj_W,Nan_W,Goosht_W,Morgh_W,Mahi_W,Shir_W,Mast_W,Panir_W,Tokhmemorgh_W,Mive_W,Sabzi_W,Makarooni_W,Sibzamini_W,Home_W,Region,ProvinceCode,Weight)]
+dt2 <- test[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+dt2<- dt2[order(ProvinceCode)]
+for (col in c("MahiPrice")) dt2[is.nan(get(col)), (col) := 200000]
+dt <- dt2 [,.(GhandPrice,HoboobatPrice,RoghanPrice,BerenjPrice,NanPrice,GooshtPrice,MorghPrice,MahiPrice,ShirPrice,MastPrice,PanirPrice,TokhmemorghPrice,MivePrice,SabziPrice,MakarooniPrice,SibzaminiPrice,MetrPrice)]
+
+
+pca <- princomp(dt, cor=T)
+PRICE <- pca$scores
+PRICE1 <- -1*PRICE[,1]
+PRICE2 <- -1*PRICE[,2]
+PRICE3 <- -1*PRICE[,3]
+PRICE4 <- -1*PRICE[,4]
+PRICE5 <- -1*PRICE[,5]
+PRICE6 <- -1*PRICE[,6]
+PRICE7 <- -1*PRICE[,7]
+PRICE8 <- -1*PRICE[,8]
+PRICE9 <- -1*PRICE[,9]
+PRICE10 <- -1*PRICE[,10]
+PRICE11 <- -1*PRICE[,11]
+PRICE12 <- -1*PRICE[,12]
+PRICE13 <- -1*PRICE[,13]
+PRICE14 <- -1*PRICE[,14]
+PRICE15 <- -1*PRICE[,15]
+PRICE16 <- -1*PRICE[,16]
+PRICE17 <- -1*PRICE[,17]
+
+# Deciding how many clusters
+wss <- (nrow(dt)-1)*sum(apply(dt,2,var))
+for (i in 2:30) wss[i] <- sum(kmeans(dt, centers=i)$withinss)
+plot(1:30, wss, type="b", xlab="Number of Clusters",
+ ylab="Within groups sum of squares")
+
+#Weighted clustering
+
+dt3.m <- dt3[,lapply(.SD, mean)] # Weights for each vector
+dtW <- dt * sqrt(dt3.m[rep(1,nrow(dt))]) # Weighted observations
+kmeans(dtW,4) # Simple K-means
+
+cl <- kmeans(dtW,4)
+cl$cluster
+dt2 <- dt2[,cluster:=data.table(cl$cluster)]
+dt2<-dt2[,.(ProvinceCode,cluster)]
+load(file="dt5Rural.rda")
+#plot(PRICE1, PRICE2,col=cl$cluster)
+#points(cl$centers, pch=20)
+CBNPoor<-merge(CBNPoor,dt2,by=c("ProvinceCode"),all.x = TRUE)
+CBNPoor[,sum(Weight*Size),by=cluster]
+CBNPoor[,sum(Weight),by=cluster]
+CBNPoor[,sum(Poor),by=cluster]
+C2<-CBNPoor[,.(HHID,ProvinceCode,Region,Decile,Poor,cluster)]
+######################################################################
+
+
+
+
+
+
+
+
+
+####Iteration 1#####
+###Iteration1-1
+#Calculate Per_calories in clusters
+CBNPoor[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(185:200)][]
+#utils::View(CBNPoor)
+
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(202:217)][]
+
+CBNPoor[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor<-CBNPoor[Per_Daily_Exp_Calories!=0]
+CBNPoor[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+#CBN[,weighted.mean(Poor,Weight),by=cluster][order(cluster)]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE)]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE)]
+
+#Real Prices
+T_Bundle_Value<-subset(CBNPoor, ProvinceCode==23, select=c(Bundle_Value,Home_Per_Metr,Weight))
+Tehran_Bundle_Value1<-weighted.mean(T_Bundle_Value$Bundle_Value,T_Bundle_Value$Weight,na.rm = TRUE)
+Tehran_Bundle_Value2<-weighted.mean(T_Bundle_Value$Home_Per_Metr,T_Bundle_Value$Weight,na.rm = TRUE)
+CBNPoor[,RealPriceIndex1:=weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/Tehran_Bundle_Value1,by=ProvinceCode]
+CBNPoor[,RealPriceIndex2:=weighted.mean(Home_Per_Metr,Weight,na.rm = TRUE)/Tehran_Bundle_Value2,by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex1,Weight),by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex2,Weight),by=ProvinceCode]
+Indexes2<-CBNPoor[,.(RealPriceIndex1,RealPriceIndex2,ProvinceCode,Weight)]
+Indexes2<-Indexes2[,RealPriceIndex:=(RealPriceIndex1+RealPriceIndex2)/2]
+Indexes<-Indexes2[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+Indexes31<-Indexes[,.(ProvinceCode,RealPriceIndex1,RealPriceIndex2,RealPriceIndex)]
+Indexes<-Indexes[,.(ProvinceCode,RealPriceIndex)]
+CBN<-merge(CBN,Indexes,by=c("ProvinceCode"),all.x = TRUE)
+CBN<-CBN[,Total_Food_Month_Per2:=FoodExpenditure_Per*RealPriceIndex]
+CBN<-CBN[,Total_Exp_Month_Per2:=Total_Exp_Month_Per_nondurable*RealPriceIndex]
+#utils::View(CBN)
+
+#Sort Expenditure data
+CBN<- CBN[order(Total_Exp_Month_Per2)]
+
+#Calculate cumulative weights
+sum(CBN$Weight)
+CBN$cumweight <- cumsum(CBN$Weight)
+tx <- max(CBN$cumweight)
+
+#Calculate deciles by weights
+CBN[,Decile:=cut(cumweight,breaks = seq(0,tx,tx/10),labels = 1:10)]
+CBN[,Percentile:=cut(cumweight,breaks=seq(0,tx,tx/100),labels=1:100)]
+
+#Update Poors
+CBN[,Poor:=ifelse(Decile %in% 1:4,1,0)]
+CBNPoor<-CBN[Poor==1]
+CBNPoor<-merge(CBNPoor,dt2,by=c("ProvinceCode"),all.x = TRUE)
+CBNPoor[,sum(HIndivNo),by=.(ProvinceCode)][order(ProvinceCode)]
+
+###Iteration1-2
+#Calculate Per_calories in clusters
+CBNPoor[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(185:200)][]
+#utils::View(CBNPoor)
+
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(202:217)][]
+
+CBNPoor[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor<-CBNPoor[Per_Daily_Exp_Calories!=0]
+CBNPoor[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+#CBN[,weighted.mean(Poor,Weight),by=cluster][order(cluster)]
+
+#Real Prices
+T_Bundle_Value<-subset(CBNPoor, ProvinceCode==23, select=c(Bundle_Value,Home_Per_Metr,Weight))
+Tehran_Bundle_Value1<-weighted.mean(T_Bundle_Value$Bundle_Value,T_Bundle_Value$Weight,na.rm = TRUE)
+Tehran_Bundle_Value2<-weighted.mean(T_Bundle_Value$Home_Per_Metr,T_Bundle_Value$Weight,na.rm = TRUE)
+CBNPoor[,RealPriceIndex1:=weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/Tehran_Bundle_Value1,by=ProvinceCode]
+CBNPoor[,RealPriceIndex2:=weighted.mean(Home_Per_Metr,Weight,na.rm = TRUE)/Tehran_Bundle_Value2,by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex1,Weight),by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex2,Weight),by=ProvinceCode]
+Indexes2<-CBNPoor[,.(RealPriceIndex1,RealPriceIndex2,ProvinceCode,Weight)]
+Indexes2<-Indexes2[,RealPriceIndex:=(RealPriceIndex1+RealPriceIndex2)/2]
+Indexes<-Indexes2[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+Indexes32<-Indexes[,.(ProvinceCode,RealPriceIndex1,RealPriceIndex2,RealPriceIndex)]
+Indexes<-Indexes[,.(ProvinceCode,RealPriceIndex)]
+CBN[,RealPriceIndex:=NULL]
+CBN<-merge(CBN,Indexes,by=c("ProvinceCode"),all.x = TRUE)
+CBN<-CBN[,Total_Food_Month_Per2:=FoodExpenditure_Per*RealPriceIndex]
+CBN<-CBN[,Total_Exp_Month_Per2:=Total_Exp_Month_Per_nondurable*RealPriceIndex]
+#utils::View(CBN)
+
+#Sort Expenditure data
+CBN<- CBN[order(Total_Exp_Month_Per2)]
+
+#Calculate cumulative weights
+sum(CBN$Weight)
+CBN$cumweight <- cumsum(CBN$Weight)
+tx <- max(CBN$cumweight)
+
+#Calculate deciles by weights
+CBN[,Decile:=cut(cumweight,breaks = seq(0,tx,tx/10),labels = 1:10)]
+CBN[,Percentile:=cut(cumweight,breaks=seq(0,tx,tx/100),labels=1:100)]
+
+#Update Poors
+CBN[,Poor:=ifelse(Decile %in% 1:4,1,0)]
+CBNPoor<-CBN[Poor==1]
+CBNPoor<-merge(CBNPoor,dt2,by=c("ProvinceCode"),all.x = TRUE)
+CBNPoor[,sum(HIndivNo),by=.(ProvinceCode)][order(ProvinceCode)]
+
+###Iteration1-3
+#Calculate Per_calories in clusters
+CBNPoor[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(185:200)][]
+#utils::View(CBNPoor)
+
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(202:217)][]
+
+CBNPoor[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor<-CBNPoor[Per_Daily_Exp_Calories!=0]
+CBNPoor[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+#CBN[,weighted.mean(Poor,Weight),by=cluster][order(cluster)]
+
+#Real Prices
+T_Bundle_Value<-subset(CBNPoor, ProvinceCode==23, select=c(Bundle_Value,Home_Per_Metr,Weight))
+Tehran_Bundle_Value1<-weighted.mean(T_Bundle_Value$Bundle_Value,T_Bundle_Value$Weight,na.rm = TRUE)
+Tehran_Bundle_Value2<-weighted.mean(T_Bundle_Value$Home_Per_Metr,T_Bundle_Value$Weight,na.rm = TRUE)
+CBNPoor[,RealPriceIndex1:=weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/Tehran_Bundle_Value1,by=ProvinceCode]
+CBNPoor[,RealPriceIndex2:=weighted.mean(Home_Per_Metr,Weight,na.rm = TRUE)/Tehran_Bundle_Value2,by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex1,Weight),by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex2,Weight),by=ProvinceCode]
+Indexes2<-CBNPoor[,.(RealPriceIndex1,RealPriceIndex2,ProvinceCode,Weight)]
+Indexes2<-Indexes2[,RealPriceIndex:=(RealPriceIndex1+RealPriceIndex2)/2]
+Indexes<-Indexes2[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+Indexes33<-Indexes[,.(ProvinceCode,RealPriceIndex1,RealPriceIndex2,RealPriceIndex)]
+Indexes<-Indexes[,.(ProvinceCode,RealPriceIndex)]
+CBN[,RealPriceIndex:=NULL]
+CBN<-merge(CBN,Indexes,by=c("ProvinceCode"),all.x = TRUE)
+CBN<-CBN[,Total_Food_Month_Per2:=FoodExpenditure_Per*RealPriceIndex]
+CBN<-CBN[,Total_Exp_Month_Per2:=Total_Exp_Month_Per_nondurable*RealPriceIndex]
+#utils::View(CBN)
+
+#Sort Expenditure data
+CBN<- CBN[order(Total_Exp_Month_Per2)]
+
+#Calculate cumulative weights
+sum(CBN$Weight)
+CBN$cumweight <- cumsum(CBN$Weight)
+tx <- max(CBN$cumweight)
+
+#Calculate deciles by weights
+CBN[,Decile:=cut(cumweight,breaks = seq(0,tx,tx/10),labels = 1:10)]
+CBN[,Percentile:=cut(cumweight,breaks=seq(0,tx,tx/100),labels=1:100)]
+
+#Update Poors
+CBN[,Poor:=ifelse(Decile %in% 1:4,1,0)]
+CBNPoor<-CBN[Poor==1]
+CBNPoor<-merge(CBNPoor,dt2,by=c("ProvinceCode"),all.x = TRUE)
+CBNPoor[,sum(HIndivNo),by=.(ProvinceCode)][order(ProvinceCode)]
+
+
+###Iteration1-4
+#Calculate Per_calories in clusters
+CBNPoor[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(185:200)][]
+#utils::View(CBNPoor)
+
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(202:217)][]
+
+CBNPoor[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor<-CBNPoor[Per_Daily_Exp_Calories!=0]
+CBNPoor[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+#CBN[,weighted.mean(Poor,Weight),by=cluster][order(cluster)]
+
+#Real Prices
+T_Bundle_Value<-subset(CBNPoor, ProvinceCode==23, select=c(Bundle_Value,Home_Per_Metr,Weight))
+Tehran_Bundle_Value1<-weighted.mean(T_Bundle_Value$Bundle_Value,T_Bundle_Value$Weight,na.rm = TRUE)
+Tehran_Bundle_Value2<-weighted.mean(T_Bundle_Value$Home_Per_Metr,T_Bundle_Value$Weight,na.rm = TRUE)
+CBNPoor[,RealPriceIndex1:=weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/Tehran_Bundle_Value1,by=ProvinceCode]
+CBNPoor[,RealPriceIndex2:=weighted.mean(Home_Per_Metr,Weight,na.rm = TRUE)/Tehran_Bundle_Value2,by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex1,Weight),by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex2,Weight),by=ProvinceCode]
+Indexes2<-CBNPoor[,.(RealPriceIndex1,RealPriceIndex2,ProvinceCode,Weight)]
+Indexes2<-Indexes2[,RealPriceIndex:=(RealPriceIndex1+RealPriceIndex2)/2]
+Indexes<-Indexes2[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+Indexes34<-Indexes[,.(ProvinceCode,RealPriceIndex1,RealPriceIndex2,RealPriceIndex)]
+Indexes<-Indexes[,.(ProvinceCode,RealPriceIndex)]
+CBN[,RealPriceIndex:=NULL]
+CBN<-merge(CBN,Indexes,by=c("ProvinceCode"),all.x = TRUE)
+CBN<-CBN[,Total_Food_Month_Per2:=FoodExpenditure_Per*RealPriceIndex]
+CBN<-CBN[,Total_Exp_Month_Per2:=Total_Exp_Month_Per_nondurable*RealPriceIndex]
+#utils::View(CBN)
+
+
+#Sort Expenditure data
+CBN<- CBN[order(Total_Exp_Month_Per2)]
+
+#Calculate cumulative weights
+sum(CBN$Weight)
+CBN$cumweight <- cumsum(CBN$Weight)
+tx <- max(CBN$cumweight)
+
+#Calculate deciles by weights
+CBN[,Decile:=cut(cumweight,breaks = seq(0,tx,tx/10),labels = 1:10)]
+CBN[,Percentile:=cut(cumweight,breaks=seq(0,tx,tx/100),labels=1:100)]
+
+#Update Poors
+CBN[,Poor:=ifelse(Decile %in% 1:4,1,0)]
+CBNPoor<-CBN[Poor==1]
+CBNPoor<-merge(CBNPoor,dt2,by=c("ProvinceCode"),all.x = TRUE)
+CBNPoor[,sum(HIndivNo),by=.(ProvinceCode)][order(ProvinceCode)]
+
+###Iteration1-5
+#Calculate Per_calories in clusters
+CBNPoor[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(185:200)][]
+#utils::View(CBNPoor)
+
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(202:217)][]
+
+CBNPoor[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor<-CBNPoor[Per_Daily_Exp_Calories!=0]
+CBNPoor[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+#CBN[,weighted.mean(Poor,Weight),by=cluster][order(cluster)]
+
+#Real Prices
+T_Bundle_Value<-subset(CBNPoor, ProvinceCode==23, select=c(Bundle_Value,Home_Per_Metr,Weight))
+Tehran_Bundle_Value1<-weighted.mean(T_Bundle_Value$Bundle_Value,T_Bundle_Value$Weight,na.rm = TRUE)
+Tehran_Bundle_Value2<-weighted.mean(T_Bundle_Value$Home_Per_Metr,T_Bundle_Value$Weight,na.rm = TRUE)
+CBNPoor[,RealPriceIndex1:=weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/Tehran_Bundle_Value1,by=ProvinceCode]
+CBNPoor[,RealPriceIndex2:=weighted.mean(Home_Per_Metr,Weight,na.rm = TRUE)/Tehran_Bundle_Value2,by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex1,Weight),by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex2,Weight),by=ProvinceCode]
+Indexes2<-CBNPoor[,.(RealPriceIndex1,RealPriceIndex2,ProvinceCode,Weight)]
+Indexes2<-Indexes2[,RealPriceIndex:=(RealPriceIndex1+RealPriceIndex2)/2]
+Indexes<-Indexes2[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+Indexes35<-Indexes[,.(ProvinceCode,RealPriceIndex1,RealPriceIndex2,RealPriceIndex)]
+Indexes<-Indexes[,.(ProvinceCode,RealPriceIndex)]
+CBN[,RealPriceIndex:=NULL]
+CBN<-merge(CBN,Indexes,by=c("ProvinceCode"),all.x = TRUE)
+CBN<-CBN[,Total_Food_Month_Per2:=FoodExpenditure_Per*RealPriceIndex]
+CBN<-CBN[,Total_Exp_Month_Per2:=Total_Exp_Month_Per_nondurable*RealPriceIndex]
+#utils::View(CBN)
+
+
+#Sort Expenditure data
+CBN<- CBN[order(Total_Exp_Month_Per2)]
+
+#Calculate cumulative weights
+sum(CBN$Weight)
+CBN$cumweight <- cumsum(CBN$Weight)
+tx <- max(CBN$cumweight)
+
+#Calculate deciles by weights
+CBN[,Decile:=cut(cumweight,breaks = seq(0,tx,tx/10),labels = 1:10)]
+CBN[,Percentile:=cut(cumweight,breaks=seq(0,tx,tx/100),labels=1:100)]
+
+#Update Poors
+CBN[,Poor:=ifelse(Decile %in% 1:4,1,0)]
+CBNPoor<-CBN[Poor==1]
+CBNPoor<-merge(CBNPoor,dt2,by=c("ProvinceCode"),all.x = TRUE)
+CBNPoor[,sum(HIndivNo),by=.(ProvinceCode)][order(ProvinceCode)]
+
+###Iteration1-6
+#Calculate Per_calories in clusters
+CBNPoor[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(185:200)][]
+#utils::View(CBNPoor)
+
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(202:217)][]
+
+CBNPoor[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor<-CBNPoor[Per_Daily_Exp_Calories!=0]
+CBNPoor[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+#CBN[,weighted.mean(Poor,Weight),by=cluster][order(cluster)]
+
+#Real Prices
+T_Bundle_Value<-subset(CBNPoor, ProvinceCode==23, select=c(Bundle_Value,Home_Per_Metr,Weight))
+Tehran_Bundle_Value1<-weighted.mean(T_Bundle_Value$Bundle_Value,T_Bundle_Value$Weight,na.rm = TRUE)
+Tehran_Bundle_Value2<-weighted.mean(T_Bundle_Value$Home_Per_Metr,T_Bundle_Value$Weight,na.rm = TRUE)
+CBNPoor[,RealPriceIndex1:=weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/Tehran_Bundle_Value1,by=ProvinceCode]
+CBNPoor[,RealPriceIndex2:=weighted.mean(Home_Per_Metr,Weight,na.rm = TRUE)/Tehran_Bundle_Value2,by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex1,Weight),by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex2,Weight),by=ProvinceCode]
+Indexes2<-CBNPoor[,.(RealPriceIndex1,RealPriceIndex2,ProvinceCode,Weight)]
+Indexes2<-Indexes2[,RealPriceIndex:=(RealPriceIndex1+RealPriceIndex2)/2]
+Indexes<-Indexes2[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+Indexes36<-Indexes[,.(ProvinceCode,RealPriceIndex1,RealPriceIndex2,RealPriceIndex)]
+Indexes<-Indexes[,.(ProvinceCode,RealPriceIndex)]
+CBN[,RealPriceIndex:=NULL]
+CBN<-merge(CBN,Indexes,by=c("ProvinceCode"),all.x = TRUE)
+CBN<-CBN[,Total_Food_Month_Per2:=FoodExpenditure_Per*RealPriceIndex]
+CBN<-CBN[,Total_Exp_Month_Per2:=Total_Exp_Month_Per_nondurable*RealPriceIndex]
+#utils::View(CBN)
+
+
+#Sort Expenditure data
+CBN<- CBN[order(Total_Exp_Month_Per2)]
+
+#Calculate cumulative weights
+sum(CBN$Weight)
+CBN$cumweight <- cumsum(CBN$Weight)
+tx <- max(CBN$cumweight)
+
+#Calculate deciles by weights
+CBN[,Decile:=cut(cumweight,breaks = seq(0,tx,tx/10),labels = 1:10)]
+CBN[,Percentile:=cut(cumweight,breaks=seq(0,tx,tx/100),labels=1:100)]
+
+#Update Poors
+CBN[,Poor:=ifelse(Decile %in% 1:4,1,0)]
+CBNPoor<-CBN[Poor==1]
+CBNPoor<-merge(CBNPoor,dt2,by=c("ProvinceCode"),all.x = TRUE)
+CBNPoor[,sum(HIndivNo),by=.(ProvinceCode)][order(ProvinceCode)]
+
+###Iteration1-7
+#Calculate Per_calories in clusters
+CBNPoor[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(185:200)][]
+#utils::View(CBNPoor)
+
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(202:217)][]
+
+CBNPoor[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor<-CBNPoor[Per_Daily_Exp_Calories!=0]
+CBNPoor[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+#CBN[,weighted.mean(Poor,Weight),by=cluster][order(cluster)]
+
+#Real Prices
+T_Bundle_Value<-subset(CBNPoor, ProvinceCode==23, select=c(Bundle_Value,Home_Per_Metr,Weight))
+Tehran_Bundle_Value1<-weighted.mean(T_Bundle_Value$Bundle_Value,T_Bundle_Value$Weight,na.rm = TRUE)
+Tehran_Bundle_Value2<-weighted.mean(T_Bundle_Value$Home_Per_Metr,T_Bundle_Value$Weight,na.rm = TRUE)
+CBNPoor[,RealPriceIndex1:=weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/Tehran_Bundle_Value1,by=ProvinceCode]
+CBNPoor[,RealPriceIndex2:=weighted.mean(Home_Per_Metr,Weight,na.rm = TRUE)/Tehran_Bundle_Value2,by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex1,Weight),by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex2,Weight),by=ProvinceCode]
+Indexes2<-CBNPoor[,.(RealPriceIndex1,RealPriceIndex2,ProvinceCode,Weight)]
+Indexes2<-Indexes2[,RealPriceIndex:=(RealPriceIndex1+RealPriceIndex2)/2]
+Indexes<-Indexes2[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+Indexes37<-Indexes[,.(ProvinceCode,RealPriceIndex1,RealPriceIndex2,RealPriceIndex)]
+Indexes<-Indexes[,.(ProvinceCode,RealPriceIndex)]
+CBN[,RealPriceIndex:=NULL]
+CBN<-merge(CBN,Indexes,by=c("ProvinceCode"),all.x = TRUE)
+CBN<-CBN[,Total_Food_Month_Per2:=FoodExpenditure_Per*RealPriceIndex]
+CBN<-CBN[,Total_Exp_Month_Per2:=Total_Exp_Month_Per_nondurable*RealPriceIndex]
+#utils::View(CBN)
+
+
+#Sort Expenditure data
+CBN<- CBN[order(Total_Exp_Month_Per2)]
+
+#Calculate cumulative weights
+sum(CBN$Weight)
+CBN$cumweight <- cumsum(CBN$Weight)
+tx <- max(CBN$cumweight)
+
+#Calculate deciles by weights
+CBN[,Decile:=cut(cumweight,breaks = seq(0,tx,tx/10),labels = 1:10)]
+CBN[,Percentile:=cut(cumweight,breaks=seq(0,tx,tx/100),labels=1:100)]
+
+#Update Poors
+CBN[,Poor:=ifelse(Decile %in% 1:4,1,0)]
+CBNPoor<-CBN[Poor==1]
+CBNPoor<-merge(CBNPoor,dt2,by=c("ProvinceCode"),all.x = TRUE)
+CBNPoor[,sum(HIndivNo),by=.(ProvinceCode)][order(ProvinceCode)]
+
+###Iteration1-8
+#Calculate Per_calories in clusters
+CBNPoor[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(185:200)][]
+#utils::View(CBNPoor)
+
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(202:217)][]
+
+CBNPoor[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor<-CBNPoor[Per_Daily_Exp_Calories!=0]
+CBNPoor[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+#CBN[,weighted.mean(Poor,Weight),by=cluster][order(cluster)]
+
+#Real Prices
+T_Bundle_Value<-subset(CBNPoor, ProvinceCode==23, select=c(Bundle_Value,Home_Per_Metr,Weight))
+Tehran_Bundle_Value1<-weighted.mean(T_Bundle_Value$Bundle_Value,T_Bundle_Value$Weight,na.rm = TRUE)
+Tehran_Bundle_Value2<-weighted.mean(T_Bundle_Value$Home_Per_Metr,T_Bundle_Value$Weight,na.rm = TRUE)
+CBNPoor[,RealPriceIndex1:=weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/Tehran_Bundle_Value1,by=ProvinceCode]
+CBNPoor[,RealPriceIndex2:=weighted.mean(Home_Per_Metr,Weight,na.rm = TRUE)/Tehran_Bundle_Value2,by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex1,Weight),by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex2,Weight),by=ProvinceCode]
+Indexes2<-CBNPoor[,.(RealPriceIndex1,RealPriceIndex2,ProvinceCode,Weight)]
+Indexes2<-Indexes2[,RealPriceIndex:=(RealPriceIndex1+RealPriceIndex2)/2]
+Indexes<-Indexes2[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+Indexes38<-Indexes[,.(ProvinceCode,RealPriceIndex1,RealPriceIndex2,RealPriceIndex)]
+Indexes<-Indexes[,.(ProvinceCode,RealPriceIndex)]
+CBN[,RealPriceIndex:=NULL]
+CBN<-merge(CBN,Indexes,by=c("ProvinceCode"),all.x = TRUE)
+CBN<-CBN[,Total_Food_Month_Per2:=FoodExpenditure_Per*RealPriceIndex]
+CBN<-CBN[,Total_Exp_Month_Per2:=Total_Exp_Month_Per_nondurable*RealPriceIndex]
+#utils::View(CBN)
+
+
+#Sort Expenditure data
+CBN<- CBN[order(Total_Exp_Month_Per2)]
+
+#Calculate cumulative weights
+sum(CBN$Weight)
+CBN$cumweight <- cumsum(CBN$Weight)
+tx <- max(CBN$cumweight)
+
+#Calculate deciles by weights
+CBN[,Decile:=cut(cumweight,breaks = seq(0,tx,tx/10),labels = 1:10)]
+CBN[,Percentile:=cut(cumweight,breaks=seq(0,tx,tx/100),labels=1:100)]
+
+#Update Poors
+CBN[,Poor:=ifelse(Decile %in% 1:4,1,0)]
+CBNPoor<-CBN[Poor==1]
+CBNPoor<-merge(CBNPoor,dt2,by=c("ProvinceCode"),all.x = TRUE)
+CBNPoor[,sum(HIndivNo),by=.(ProvinceCode)][order(ProvinceCode)]
+
+###Iteration1-9
+#Calculate Per_calories in clusters
+CBNPoor[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(185:200)][]
+#utils::View(CBNPoor)
+
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(202:217)][]
+
+CBNPoor[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor<-CBNPoor[Per_Daily_Exp_Calories!=0]
+CBNPoor[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+#CBN[,weighted.mean(Poor,Weight),by=cluster][order(cluster)]
+
+#Real Prices
+T_Bundle_Value<-subset(CBNPoor, ProvinceCode==23, select=c(Bundle_Value,Home_Per_Metr,Weight))
+Tehran_Bundle_Value1<-weighted.mean(T_Bundle_Value$Bundle_Value,T_Bundle_Value$Weight,na.rm = TRUE)
+Tehran_Bundle_Value2<-weighted.mean(T_Bundle_Value$Home_Per_Metr,T_Bundle_Value$Weight,na.rm = TRUE)
+CBNPoor[,RealPriceIndex1:=weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/Tehran_Bundle_Value1,by=ProvinceCode]
+CBNPoor[,RealPriceIndex2:=weighted.mean(Home_Per_Metr,Weight,na.rm = TRUE)/Tehran_Bundle_Value2,by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex1,Weight),by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex2,Weight),by=ProvinceCode]
+Indexes2<-CBNPoor[,.(RealPriceIndex1,RealPriceIndex2,ProvinceCode,Weight)]
+Indexes2<-Indexes2[,RealPriceIndex:=(RealPriceIndex1+RealPriceIndex2)/2]
+Indexes<-Indexes2[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+Indexes39<-Indexes[,.(ProvinceCode,RealPriceIndex1,RealPriceIndex2,RealPriceIndex)]
+Indexes<-Indexes[,.(ProvinceCode,RealPriceIndex)]
+CBN[,RealPriceIndex:=NULL]
+CBN<-merge(CBN,Indexes,by=c("ProvinceCode"),all.x = TRUE)
+CBN<-CBN[,Total_Food_Month_Per2:=FoodExpenditure_Per*RealPriceIndex]
+CBN<-CBN[,Total_Exp_Month_Per2:=Total_Exp_Month_Per_nondurable*RealPriceIndex]
+#utils::View(CBN)
+
+
+#Sort Expenditure data
+CBN<- CBN[order(Total_Exp_Month_Per2)]
+
+#Calculate cumulative weights
+sum(CBN$Weight)
+CBN$cumweight <- cumsum(CBN$Weight)
+tx <- max(CBN$cumweight)
+
+#Calculate deciles by weights
+CBN[,Decile:=cut(cumweight,breaks = seq(0,tx,tx/10),labels = 1:10)]
+CBN[,Percentile:=cut(cumweight,breaks=seq(0,tx,tx/100),labels=1:100)]
+
+#Update Poors
+CBN[,Poor:=ifelse(Decile %in% 1:4,1,0)]
+CBNPoor<-CBN[Poor==1]
+CBNPoor<-merge(CBNPoor,dt2,by=c("ProvinceCode"),all.x = TRUE)
+CBNPoor[,sum(HIndivNo),by=.(ProvinceCode)][order(ProvinceCode)]
+
+###Iteration1-10
+#Calculate Per_calories in clusters
+CBNPoor[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(185:200)][]
+#utils::View(CBNPoor)
+
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(202:217)][]
+
+CBNPoor[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor<-CBNPoor[Per_Daily_Exp_Calories!=0]
+CBNPoor[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+#CBN[,weighted.mean(Poor,Weight),by=cluster][order(cluster)]
+
+#Real Prices
+T_Bundle_Value<-subset(CBNPoor, ProvinceCode==23, select=c(Bundle_Value,Home_Per_Metr,Weight))
+Tehran_Bundle_Value1<-weighted.mean(T_Bundle_Value$Bundle_Value,T_Bundle_Value$Weight,na.rm = TRUE)
+Tehran_Bundle_Value2<-weighted.mean(T_Bundle_Value$Home_Per_Metr,T_Bundle_Value$Weight,na.rm = TRUE)
+CBNPoor[,RealPriceIndex1:=weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/Tehran_Bundle_Value1,by=ProvinceCode]
+CBNPoor[,RealPriceIndex2:=weighted.mean(Home_Per_Metr,Weight,na.rm = TRUE)/Tehran_Bundle_Value2,by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex1,Weight),by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex2,Weight),by=ProvinceCode]
+Indexes2<-CBNPoor[,.(RealPriceIndex1,RealPriceIndex2,ProvinceCode,Weight)]
+Indexes2<-Indexes2[,RealPriceIndex:=(RealPriceIndex1+RealPriceIndex2)/2]
+Indexes<-Indexes2[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+Indexes310<-Indexes[,.(ProvinceCode,RealPriceIndex1,RealPriceIndex2,RealPriceIndex)]
+Indexes<-Indexes[,.(ProvinceCode,RealPriceIndex)]
+CBN[,RealPriceIndex:=NULL]
+CBN<-merge(CBN,Indexes,by=c("ProvinceCode"),all.x = TRUE)
+CBN<-CBN[,Total_Food_Month_Per2:=FoodExpenditure_Per*RealPriceIndex]
+CBN<-CBN[,Total_Exp_Month_Per2:=Total_Exp_Month_Per_nondurable*RealPriceIndex]
+#utils::View(CBN)
+
+
+#Sort Expenditure data
+CBN<- CBN[order(Total_Exp_Month_Per2)]
+
+#Calculate cumulative weights
+sum(CBN$Weight)
+CBN$cumweight <- cumsum(CBN$Weight)
+tx <- max(CBN$cumweight)
+
+#Calculate deciles by weights
+CBN[,Decile:=cut(cumweight,breaks = seq(0,tx,tx/10),labels = 1:10)]
+CBN[,Percentile:=cut(cumweight,breaks=seq(0,tx,tx/100),labels=1:100)]
+
+#Update Poors
+CBN[,Poor:=ifelse(Decile %in% 1:4,1,0)]
+CBNPoor<-CBN[Poor==1]
+CBNPoor<-merge(CBNPoor,dt2,by=c("ProvinceCode"),all.x = TRUE)
+CBNPoor[,sum(HIndivNo),by=.(ProvinceCode)][order(ProvinceCode)]
+
+
+#Calculate Per_calories in clusters
+CBNPoor[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(189:204)][]
+#utils::View(CBNPoor)
+
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(206:221)][]
+
+CBNPoor[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor<-CBNPoor[Per_Daily_Exp_Calories!=0]
+CBNPoor[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNCalory<-CBNPoor[,.(Per_Daily_Calories,Per_Daily_Exp_Calories,Per_Calory_Resturant,Resturant_Exp,cluster,ProvinceCode)]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+
+
+#Calculations
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_day,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,sum(Size*Weight),by=cluster][order(cluster)]
+
+
+#Food Poverty Line for each cluster
+#cluster 1
+CBNPoorCluster<-CBNPoor[cluster==1]
+Food_Povertyline1_1<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 2
+CBNPoorCluster<-CBNPoor[cluster==2]
+Food_Povertyline2_1<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 3
+CBNPoorCluster<-CBNPoor[cluster==3]
+Food_Povertyline3_1<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 4
+CBNPoorCluster<-CBNPoor[cluster==4]
+Food_Povertyline4_1<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 5
+CBNPoorCluster<-CBNPoor[cluster==5]
+Food_Povertyline5_1<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#ee<-CBNPoor[,.(Total_Exp_Month_Real,Total_Exp_Month,Total_Food_Month_Per2,Total_Exp_Month_Per_nondurable,Total_Exp_Month_nondurable_Real_Per,FoodExpenditure_Per,cluster)]
+#mean(ee[,Total_Food_Month_Per2==Total_Exp_Month_nondurable_Real])
+#mean(ee[,Total_Food_Month_Per2<3500000])
+#ee<- ee[order(Total_Food_Month_Per2)]
+#utils::View(CBN)
+CBN<-merge(CBN,dt2,by=c("ProvinceCode"),all.x = TRUE)
+#for (col in c("Total_Food_Month_Per2")) CBN[is.na(get(col)), (col) := Total_Exp_Month_Per_nondurable]
+c<-CBN[,.(FoodExpenditure_Per,FoodExpenditure_Per_total,Total_Exp_Month_Per_nondurable,Total_Exp_Month,Total_Food_Month_Per2,Poor,Decile,Weight,cluster)]
+
+#########Iteration 2###############
+#Sort Expenditure data
+CBN<- CBN[order(Total_Food_Month_Per2)]
+c<- c[order(Total_Food_Month_Per2)]
+
+#Indicate new poors
+CBN[,Poor2:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_1 & cluster==1,1,0)]
+c[,Poor2:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_1 & cluster==1 ,1,0)]
+CBN[,Poor2:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_1 & cluster==2,1,Poor2)]
+c[,Poor2:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_1 & cluster==2 ,1,Poor2)]
+CBN[,Poor2:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_1 & cluster==3,1,Poor2)]
+c[,Poor2:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_1 & cluster==3 ,1,Poor2)]
+CBN[,Poor2:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_1 & cluster==4,1,Poor2)]
+c[,Poor2:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_1 & cluster==4 ,1,Poor2)]
+CBN[,Poor2:=ifelse(FoodExpenditure_Per_total < Food_Povertyline5_1 & cluster==5,1,Poor2)]
+c[,Poor2:=ifelse(FoodExpenditure_Per_total < Food_Povertyline5_1 & cluster==5 ,1,Poor2)]
+CBN[,weighted.mean(Poor2,Weight),by=cluster][order(cluster)]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2<-CBN[Poor2==1]
+
+
+#CalculatePer_calories in clusters
+CBNPoor2[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(190:205)][]
+#utils::View(CBNPoor2)
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor2[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(207:222)][]
+
+CBNPoor2[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor2[,Calory_Price:=FoodExpenditure_Per_cluster/(Daily_Calories_cluster2)]
+CBNPoor2[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor2[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2<-CBNPoor2[Per_Daily_Exp_Calories!=0]
+CBNPoor2[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor2[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor2[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor2[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor2[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor2[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+
+
+
+#Calculations
+CBNPoor2[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,weighted.mean(FoodExpenditure_Per_day,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+
+
+
+#Food Poverty Line for each cluster
+#cluster 1
+CBNPoorCluster<-CBNPoor2[cluster==1]
+Food_Povertyline1_2<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 2
+CBNPoorCluster<-CBNPoor2[cluster==2]
+Food_Povertyline2_2<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 3
+CBNPoorCluster<-CBNPoor2[cluster==3]
+Food_Povertyline3_2<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 4
+CBNPoorCluster<-CBNPoor2[cluster==4]
+Food_Povertyline4_2<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 5
+CBNPoorCluster<-CBNPoor[cluster==5]
+Food_Povertyline5_2<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#ee<-CBNPoor[,.(Total_Exp_Month_Real,Total_Exp_Month,Total_Food_Month_Per2,Total_Exp_Month_Per_nondurable,Total_Exp_Month_nondurable_Real_Per,FoodExpenditure_Per,cluster)]
+#mean(ee[,Total_Food_Month_Per2==Total_Exp_Month_nondurable_Real])
+#mean(ee[,Total_Food_Month_Per2<3500000])
+#ee<- ee[order(Total_Food_Month_Per2)]
+#utils::View(CBN)
+#for (col in c("Total_Food_Month_Per2")) CBN[is.na(get(col)), (col) := Total_Exp_Month_Per_nondurable]
+c<-CBN[,.(FoodExpenditure_Per,FoodExpenditure_Per_total,Total_Exp_Month_Per_nondurable,Total_Exp_Month,Total_Food_Month_Per2,Poor,Decile,Weight,cluster)]
+
+
+#########Iteration 3###############
+#Sort Expenditure data
+CBN<- CBN[order(Total_Food_Month_Per2)]
+c<- c[order(Total_Food_Month_Per2)]
+
+#Indicate new poors
+CBN[,Poor3:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_2 & cluster==1,1,0)]
+c[,Poor3:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_2 & cluster==1 ,1,0)]
+CBN[,Poor3:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_2 & cluster==2,1,Poor3)]
+c[,Poor3:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_2 & cluster==2 ,1,Poor3)]
+CBN[,Poor3:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_2 & cluster==3,1,Poor3)]
+c[,Poor3:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_2 & cluster==3 ,1,Poor3)]
+CBN[,Poor3:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_2 & cluster==4,1,Poor3)]
+c[,Poor3:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_2 & cluster==4 ,1,Poor3)]
+CBN[,Poor3:=ifelse(FoodExpenditure_Per_total < Food_Povertyline5_2 & cluster==5,1,Poor3)]
+c[,Poor3:=ifelse(FoodExpenditure_Per_total < Food_Povertyline5_2 & cluster==5 ,1,Poor3)]
+CBN[,weighted.mean(Poor3,Weight),by=cluster][order(cluster)]
+CBNPoor2[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3<-CBN[Poor3==1]
+
+
+
+#CalculatePer_calories in clusters
+CBNPoor3[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(191:206)][]
+#utils::View(CBNPoor3)
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor3[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(208:223)][]
+
+
+CBNPoor3[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor3[,Calory_Price:=FoodExpenditure_Per_cluster/(Daily_Calories_cluster2)]
+CBNPoor3[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor3[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3<-CBNPoor3[Per_Daily_Exp_Calories!=0]
+CBNPoor3[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor3[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+
+#sum of total food expenditures
+CBNPoor3[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor3[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor3[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor3[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+
+
+#Calculations
+CBNPoor3[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,weighted.mean(FoodExpenditure_Per_day,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+
+
+
+#Food Poverty Line for each cluster
+#cluster 1
+CBNPoorCluster<-CBNPoor3[cluster==1]
+Food_Povertyline1_3<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 2
+CBNPoorCluster<-CBNPoor3[cluster==2]
+Food_Povertyline2_3<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 3
+CBNPoorCluster<-CBNPoor3[cluster==3]
+Food_Povertyline3_3<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 4
+CBNPoorCluster<-CBNPoor3[cluster==4]
+Food_Povertyline4_3<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 5
+CBNPoorCluster<-CBNPoor[cluster==5]
+Food_Povertyline5_3<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#ee<-CBNPoor[,.(Total_Exp_Month_Real,Total_Exp_Month,Total_Food_Month_Per2,Total_Exp_Month_Per_nondurable,Total_Exp_Month_nondurable_Real_Per,FoodExpenditure_Per,cluster)]
+#mean(ee[,Total_Food_Month_Per2==Total_Exp_Month_nondurable_Real])
+#mean(ee[,Total_Food_Month_Per2<3500000])
+#ee<- ee[order(Total_Food_Month_Per2)]
+#utils::View(CBN)
+#for (col in c("Total_Food_Month_Per2")) CBN[is.na(get(col)), (col) := Total_Exp_Month_Per_nondurable]
+c<-CBN[,.(FoodExpenditure_Per,FoodExpenditure_Per_total,Total_Exp_Month_Per_nondurable,Total_Exp_Month,Total_Food_Month_Per2,Poor,Decile,Weight,cluster)]
+
+
+#########Iteration 4###############
+#Sort Expenditure data
+CBN<- CBN[order(Total_Food_Month_Per2)]
+c<- c[order(Total_Food_Month_Per2)]
+
+#Indicate new poors
+CBN[,Poor4:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_3 & cluster==1,1,0)]
+c[,Poor4:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_3 & cluster==1 ,1,0)]
+CBN[,Poor4:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_3 & cluster==2,1,Poor4)]
+c[,Poor4:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_3 & cluster==2 ,1,Poor4)]
+CBN[,Poor4:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_3 & cluster==3,1,Poor4)]
+c[,Poor4:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_3 & cluster==3 ,1,Poor4)]
+CBN[,Poor4:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_3 & cluster==4,1,Poor4)]
+c[,Poor4:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_3 & cluster==4 ,1,Poor4)]
+CBN[,Poor4:=ifelse(FoodExpenditure_Per_total < Food_Povertyline5_3 & cluster==5,1,Poor4)]
+c[,Poor4:=ifelse(FoodExpenditure_Per_total < Food_Povertyline5_3 & cluster==5 ,1,Poor4)]
+CBN[,weighted.mean(Poor4,Weight),by=cluster][order(cluster)]
+CBNPoor3[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4<-CBN[Poor4==1]
+
+#CalculatePer_calories in clusters
+CBNPoor4[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(191:206)][]
+#utils::View(CBNPoor4)
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor4[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(208:223)][]
+
+
+CBNPoor4[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor4[,Calory_Price:=FoodExpenditure_Per_cluster/(Daily_Calories_cluster2)]
+CBNPoor4[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor4[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4<-CBNPoor4[Per_Daily_Exp_Calories!=0]
+CBNPoor4[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor4[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+
+#sum of total food expenditures
+CBNPoor4[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor4[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor4[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor4[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+
+
+#Calculations
+CBNPoor4[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,weighted.mean(FoodExpenditure_Per_day,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+
+
+
+#Food Poverty Line for each cluster
+#cluster 1
+CBNPoorCluster<-CBNPoor4[cluster==1]
+Food_Povertyline1_4<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 2
+CBNPoorCluster<-CBNPoor4[cluster==2]
+Food_Povertyline2_4<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 3
+CBNPoorCluster<-CBNPoor4[cluster==3]
+Food_Povertyline3_4<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 4
+CBNPoorCluster<-CBNPoor4[cluster==4]
+Food_Povertyline4_4<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 5
+CBNPoorCluster<-CBNPoor[cluster==5]
+Food_Povertyline5_4<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#ee<-CBNPoor[,.(Total_Exp_Month_Real,Total_Exp_Month,Total_Food_Month_Per2,Total_Exp_Month_Per_nondurable,Total_Exp_Month_nondurable_Real_Per,FoodExpenditure_Per,cluster)]
+#mean(ee[,Total_Food_Month_Per2==Total_Exp_Month_nondurable_Real])
+#mean(ee[,Total_Food_Month_Per2<3500000])
+#ee<- ee[order(Total_Food_Month_Per2)]
+#utils::View(CBN)
+#for (col in c("Total_Food_Month_Per2")) CBN[is.na(get(col)), (col) := Total_Exp_Month_Per_nondurable]
+c<-CBN[,.(FoodExpenditure_Per,FoodExpenditure_Per_total,Total_Exp_Month_Per_nondurable,Total_Exp_Month,Total_Food_Month_Per2,Poor,Decile,Weight,cluster)]
+
+
+#########Iteration 5###############
+#Sort Expenditure data
+CBN<- CBN[order(Total_Food_Month_Per2)]
+c<- c[order(Total_Food_Month_Per2)]
+
+#Indicate new poors
+CBN[,Poor5:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_4 & cluster==1,1,0)]
+c[,Poor5:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_4 & cluster==1 ,1,0)]
+CBN[,Poor5:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_4 & cluster==2,1,Poor5)]
+c[,Poor5:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_4 & cluster==2 ,1,Poor5)]
+CBN[,Poor5:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_4 & cluster==3,1,Poor5)]
+c[,Poor5:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_4 & cluster==3 ,1,Poor5)]
+CBN[,Poor5:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_4 & cluster==4,1,Poor5)]
+c[,Poor5:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_4 & cluster==4 ,1,Poor5)]
+CBN[,Poor5:=ifelse(FoodExpenditure_Per_total < Food_Povertyline5_4 & cluster==5,1,Poor5)]
+c[,Poor5:=ifelse(FoodExpenditure_Per_total < Food_Povertyline5_4 & cluster==5 ,1,Poor5)]
+CBN[,weighted.mean(Poor5,Weight),by=cluster][order(cluster)]
+CBNPoor4[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5<-CBN[Poor5==1]
+
+#CalculatePer_calories in clusters
+CBNPoor5[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(191:206)][]
+#utils::View(CBNPoor5)
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor5[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(208:223)][]
+
+
+CBNPoor5[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor5[,Calory_Price:=FoodExpenditure_Per_cluster/(Daily_Calories_cluster2)]
+CBNPoor5[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor5[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5<-CBNPoor5[Per_Daily_Exp_Calories!=0]
+CBNPoor5[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor5[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+
+#sum of total food expenditures
+CBNPoor5[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor5[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor5[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor5[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+
+
+#Calculations
+CBNPoor5[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,weighted.mean(FoodExpenditure_Per_day,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+
+
+
+#Food Poverty Line for each cluster
+#cluster 1
+CBNPoorCluster<-CBNPoor5[cluster==1]
+Food_Povertyline1_5<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 2
+CBNPoorCluster<-CBNPoor5[cluster==2]
+Food_Povertyline2_5<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 3
+CBNPoorCluster<-CBNPoor5[cluster==3]
+Food_Povertyline3_5<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 4
+CBNPoorCluster<-CBNPoor5[cluster==4]
+Food_Povertyline4_5<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 5
+CBNPoorCluster<-CBNPoor[cluster==5]
+Food_Povertyline5_5<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#ee<-CBNPoor[,.(Total_Exp_Month_Real,Total_Exp_Month,Total_Food_Month_Per2,Total_Exp_Month_Per_nondurable,Total_Exp_Month_nondurable_Real_Per,FoodExpenditure_Per,cluster)]
+#mean(ee[,Total_Food_Month_Per2==Total_Exp_Month_nondurable_Real])
+#mean(ee[,Total_Food_Month_Per2<3500000])
+#ee<- ee[order(Total_Food_Month_Per2)]
+#utils::View(CBN)
+#for (col in c("Total_Food_Month_Per2")) CBN[is.na(get(col)), (col) := Total_Exp_Month_Per_nondurable]
+c<-CBN[,.(FoodExpenditure_Per,FoodExpenditure_Per_total,Total_Exp_Month_Per_nondurable,Total_Exp_Month,Total_Food_Month_Per2,Poor,Decile,Weight,cluster)]
+
+
+#########Iteration 6###############
+#Sort Expenditure data
+CBN<- CBN[order(Total_Food_Month_Per2)]
+c<- c[order(Total_Food_Month_Per2)]
+
+#Indicate new poors
+CBN[,Poor6:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_5 & cluster==1,1,0)]
+c[,Poor6:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_5 & cluster==1 ,1,0)]
+CBN[,Poor6:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_5 & cluster==2,1,Poor6)]
+c[,Poor6:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_5 & cluster==2 ,1,Poor6)]
+CBN[,Poor6:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_5 & cluster==3,1,Poor6)]
+c[,Poor6:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_5 & cluster==3 ,1,Poor6)]
+CBN[,Poor6:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_5 & cluster==4,1,Poor6)]
+c[,Poor6:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_5 & cluster==4 ,1,Poor6)]
+CBN[,Poor6:=ifelse(FoodExpenditure_Per_total < Food_Povertyline5_5 & cluster==5,1,Poor6)]
+c[,Poor6:=ifelse(FoodExpenditure_Per_total < Food_Povertyline5_5 & cluster==5 ,1,Poor6)]
+CBN[,weighted.mean(Poor6,Weight),by=cluster][order(cluster)]
+CBNPoor5[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6<-CBN[Poor6==1]
+
+#CalculatePer_calories in clusters
+CBNPoor6[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(191:206)][]
+#utils::View(CBNPoor6)
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor6[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(208:223)][]
+
+
+CBNPoor6[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor6[,Calory_Price:=FoodExpenditure_Per_cluster/(Daily_Calories_cluster2)]
+CBNPoor6[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor6[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6<-CBNPoor6[Per_Daily_Exp_Calories!=0]
+CBNPoor6[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor6[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+
+#sum of total food expenditures
+CBNPoor6[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor6[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor6[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor6[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+
+
+#Calculations
+CBNPoor6[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,weighted.mean(FoodExpenditure_Per_day,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+
+
+#Food Poverty Line for each cluster
+#cluster 1
+CBNPoorCluster<-CBNPoor6[cluster==1]
+Food_Povertyline1_6<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 2
+CBNPoorCluster<-CBNPoor6[cluster==2]
+Food_Povertyline2_6<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 3
+CBNPoorCluster<-CBNPoor6[cluster==3]
+Food_Povertyline3_6<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 4
+CBNPoorCluster<-CBNPoor6[cluster==4]
+Food_Povertyline4_6<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 5
+CBNPoorCluster<-CBNPoor[cluster==5]
+Food_Povertyline5_6<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#ee<-CBNPoor[,.(Total_Exp_Month_Real,Total_Exp_Month,Total_Food_Month_Per2,Total_Exp_Month_Per_nondurable,Total_Exp_Month_nondurable_Real_Per,FoodExpenditure_Per,cluster)]
+#mean(ee[,Total_Food_Month_Per2==Total_Exp_Month_nondurable_Real])
+#mean(ee[,Total_Food_Month_Per2<3500000])
+#ee<- ee[order(Total_Food_Month_Per2)]
+#utils::View(CBN)
+#for (col in c("Total_Food_Month_Per2")) CBN[is.na(get(col)), (col) := Total_Exp_Month_Per_nondurable]
+c<-CBN[,.(FoodExpenditure_Per,FoodExpenditure_Per_total,Total_Exp_Month_Per_nondurable,Total_Exp_Month,Total_Food_Month_Per2,Poor,Decile,Weight,cluster)]
+
+
+#########Iteration 7###############
+#Sort Expenditure data
+CBN<- CBN[order(Total_Food_Month_Per2)]
+c<- c[order(Total_Food_Month_Per2)]
+
+#Indicate new poors
+CBN[,Poor7:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_6 & cluster==1,1,0)]
+c[,Poor7:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_6 & cluster==1 ,1,0)]
+CBN[,Poor7:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_6 & cluster==2,1,Poor7)]
+c[,Poor7:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_6 & cluster==2 ,1,Poor7)]
+CBN[,Poor7:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_6 & cluster==3,1,Poor7)]
+c[,Poor7:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_6 & cluster==3 ,1,Poor7)]
+CBN[,Poor7:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_6 & cluster==4,1,Poor7)]
+c[,Poor7:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_6 & cluster==4 ,1,Poor7)]
+CBN[,Poor7:=ifelse(FoodExpenditure_Per_total < Food_Povertyline5_6 & cluster==5,1,Poor7)]
+c[,Poor7:=ifelse(FoodExpenditure_Per_total < Food_Povertyline5_6 & cluster==5 ,1,Poor7)]
+CBN[,weighted.mean(Poor7,Weight),by=cluster][order(cluster)]
+CBNPoor6[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7<-CBN[Poor7==1]
+
+#CalculatePer_calories in clusters
+CBNPoor7[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(191:206)][]
+#utils::View(CBNPoor7)
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor7[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(208:223)][]
+
+
+CBNPoor7[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor7[,Calory_Price:=FoodExpenditure_Per_cluster/(Daily_Calories_cluster2)]
+CBNPoor7[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor7[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7<-CBNPoor7[Per_Daily_Exp_Calories!=0]
+CBNPoor7[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor7[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+
+#sum of total food expenditures
+CBNPoor7[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor7[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor7[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor7[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+
+
+#Calculations
+CBNPoor7[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,weighted.mean(FoodExpenditure_Per_day,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+
+
+
+#Food Poverty Line for each cluster
+#cluster 1
+CBNPoorCluster<-CBNPoor7[cluster==1]
+Food_Povertyline1_7<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 2
+CBNPoorCluster<-CBNPoor7[cluster==2]
+Food_Povertyline2_7<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 3
+CBNPoorCluster<-CBNPoor7[cluster==3]
+Food_Povertyline3_7<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 4
+CBNPoorCluster<-CBNPoor7[cluster==4]
+Food_Povertyline4_7<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 5
+CBNPoorCluster<-CBNPoor[cluster==5]
+Food_Povertyline5_7<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#ee<-CBNPoor[,.(Total_Exp_Month_Real,Total_Exp_Month,Total_Food_Month_Per2,Total_Exp_Month_Per_nondurable,Total_Exp_Month_nondurable_Real_Per,FoodExpenditure_Per,cluster)]
+#mean(ee[,Total_Food_Month_Per2==Total_Exp_Month_nondurable_Real])
+#mean(ee[,Total_Food_Month_Per2<3500000])
+#ee<- ee[order(Total_Food_Month_Per2)]
+#utils::View(CBN)
+#for (col in c("Total_Food_Month_Per2")) CBN[is.na(get(col)), (col) := Total_Exp_Month_Per_nondurable]
+c<-CBN[,.(FoodExpenditure_Per,FoodExpenditure_Per_total,Total_Exp_Month_Per_nondurable,Total_Exp_Month,Total_Food_Month_Per2,Poor,Decile,Weight,cluster)]
+
+
+#########Iteration 8###############
+#Sort Expenditure data
+CBN<- CBN[order(Total_Food_Month_Per2)]
+c<- c[order(Total_Food_Month_Per2)]
+
+#Indicate new poors
+CBN[,Poor8:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_7 & cluster==1,1,0)]
+c[,Poor8:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_7 & cluster==1 ,1,0)]
+CBN[,Poor8:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_7 & cluster==2,1,Poor8)]
+c[,Poor8:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_7 & cluster==2 ,1,Poor8)]
+CBN[,Poor8:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_7 & cluster==3,1,Poor8)]
+c[,Poor8:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_7 & cluster==3 ,1,Poor8)]
+CBN[,Poor8:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_7 & cluster==4,1,Poor8)]
+c[,Poor8:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_7 & cluster==4 ,1,Poor8)]
+CBN[,Poor8:=ifelse(FoodExpenditure_Per_total < Food_Povertyline5_7 & cluster==5,1,Poor8)]
+c[,Poor8:=ifelse(FoodExpenditure_Per_total < Food_Povertyline5_7 & cluster==5 ,1,Poor8)]
+CBN[,weighted.mean(Poor8,Weight),by=cluster][order(cluster)]
+CBNPoor7[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8<-CBN[Poor8==1]
+
+
+#CalculatePer_calories in clusters
+CBNPoor8[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(191:206)][]
+#utils::View(CBNPoor8)
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor8[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(208:223)][]
+
+
+CBNPoor8[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor8[,Calory_Price:=FoodExpenditure_Per_cluster/(Daily_Calories_cluster2)]
+CBNPoor8[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor8[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8<-CBNPoor8[Per_Daily_Exp_Calories!=0]
+CBNPoor8[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor8[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+
+#sum of total food expenditures
+CBNPoor8[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor8[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor8[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor8[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+
+
+#Calculations
+CBNPoor8[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,weighted.mean(FoodExpenditure_Per_day,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+
+
+
+#Food Poverty Line for each cluster
+#cluster 1
+CBNPoorCluster<-CBNPoor8[cluster==1]
+Food_Povertyline1_8<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 2
+CBNPoorCluster<-CBNPoor8[cluster==2]
+Food_Povertyline2_8<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 3
+CBNPoorCluster<-CBNPoor8[cluster==3]
+Food_Povertyline3_8<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 4
+CBNPoorCluster<-CBNPoor8[cluster==4]
+Food_Povertyline4_8<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 5
+CBNPoorCluster<-CBNPoor[cluster==5]
+Food_Povertyline5_8<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#ee<-CBNPoor[,.(Total_Exp_Month_Real,Total_Exp_Month,Total_Food_Month_Per2,Total_Exp_Month_Per_nondurable,Total_Exp_Month_nondurable_Real_Per,FoodExpenditure_Per,cluster)]
+#mean(ee[,Total_Food_Month_Per2==Total_Exp_Month_nondurable_Real])
+#mean(ee[,Total_Food_Month_Per2<3500000])
+#ee<- ee[order(Total_Food_Month_Per2)]
+#utils::View(CBN)
+#for (col in c("Total_Food_Month_Per2")) CBN[is.na(get(col)), (col) := Total_Exp_Month_Per_nondurable]
+c<-CBN[,.(FoodExpenditure_Per,FoodExpenditure_Per_total,Total_Exp_Month_Per_nondurable,Total_Exp_Month,Total_Food_Month_Per2,Poor,Decile,Weight,cluster)]
+
+
+#########Iteration 9###############
+#Sort Expenditure data
+CBN<- CBN[order(Total_Food_Month_Per2)]
+c<- c[order(Total_Food_Month_Per2)]
+
+#Indicate new poors
+CBN[,Poor9:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_8 & cluster==1,1,0)]
+c[,Poor9:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_8 & cluster==1 ,1,0)]
+CBN[,Poor9:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_8 & cluster==2,1,Poor9)]
+c[,Poor9:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_8 & cluster==2 ,1,Poor9)]
+CBN[,Poor9:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_8 & cluster==3,1,Poor9)]
+c[,Poor9:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_8 & cluster==3 ,1,Poor9)]
+CBN[,Poor9:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_8 & cluster==4,1,Poor9)]
+c[,Poor9:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_8 & cluster==4 ,1,Poor9)]
+CBN[,Poor9:=ifelse(FoodExpenditure_Per_total < Food_Povertyline5_8 & cluster==5,1,Poor9)]
+c[,Poor9:=ifelse(FoodExpenditure_Per_total < Food_Povertyline5_8 & cluster==5 ,1,Poor9)]
+CBN[,weighted.mean(Poor9,Weight),by=cluster][order(cluster)]
+CBNPoor8[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9<-CBN[Poor9==1]
+
+
+#CalculatePer_calories in clusters
+CBNPoor9[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(191:206)][]
+#utils::View(CBNPoor9)
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor9[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(208:223)][]
+
+
+CBNPoor9[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor9[,Calory_Price:=FoodExpenditure_Per_cluster/(Daily_Calories_cluster2)]
+CBNPoor9[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor9[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9<-CBNPoor9[Per_Daily_Exp_Calories!=0]
+CBNPoor9[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor9[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+
+#sum of total food expenditures
+CBNPoor9[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor9[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor9[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor9[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+
+
+
+#Calculations
+CBNPoor9[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,weighted.mean(FoodExpenditure_Per_day,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+
+
+
+#Food Poverty Line for each cluster
+#cluster 1
+CBNPoorCluster<-CBNPoor9[cluster==1]
+Food_Povertyline1_9<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 2
+CBNPoorCluster<-CBNPoor9[cluster==2]
+Food_Povertyline2_9<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 3
+CBNPoorCluster<-CBNPoor9[cluster==3]
+Food_Povertyline3_9<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 4
+CBNPoorCluster<-CBNPoor9[cluster==4]
+Food_Povertyline4_9<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 5
+CBNPoorCluster<-CBNPoor[cluster==5]
+Food_Povertyline5_9<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#ee<-CBNPoor[,.(Total_Exp_Month_Real,Total_Exp_Month,Total_Food_Month_Per2,Total_Exp_Month_Per_nondurable,Total_Exp_Month_nondurable_Real_Per,FoodExpenditure_Per,cluster)]
+#mean(ee[,Total_Food_Month_Per2==Total_Exp_Month_nondurable_Real])
+#mean(ee[,Total_Food_Month_Per2<3500000])
+#ee<- ee[order(Total_Food_Month_Per2)]
+#utils::View(CBN)
+#for (col in c("Total_Food_Month_Per2")) CBN[is.na(get(col)), (col) := Total_Exp_Month_Per_nondurable]
+c<-CBN[,.(FoodExpenditure_Per,FoodExpenditure_Per_total,Total_Exp_Month_Per_nondurable,Total_Exp_Month,Total_Food_Month_Per2,Poor,Decile,Weight,cluster)]
+
+
+#########Iteration 10###############
+#Sort Expenditure data
+CBN<- CBN[order(Total_Food_Month_Per2)]
+c<- c[order(Total_Food_Month_Per2)]
+
+#Indicate new poors
+CBN[,Poor10:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_9 & cluster==1,1,0)]
+c[,Poor10:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_9 & cluster==1 ,1,0)]
+CBN[,Poor10:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_9 & cluster==2,1,Poor10)]
+c[,Poor10:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_9 & cluster==2 ,1,Poor10)]
+CBN[,Poor10:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_9 & cluster==3,1,Poor10)]
+c[,Poor10:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_9 & cluster==3 ,1,Poor10)]
+CBN[,Poor10:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_9 & cluster==4,1,Poor10)]
+c[,Poor10:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_9 & cluster==4 ,1,Poor10)]
+CBN[,Poor10:=ifelse(FoodExpenditure_Per_total < Food_Povertyline5_9 & cluster==5,1,Poor10)]
+c[,Poor10:=ifelse(FoodExpenditure_Per_total < Food_Povertyline5_9 & cluster==5 ,1,Poor10)]
+CBN[,weighted.mean(Poor10,Weight),by=cluster][order(cluster)]
+CBNPoor9[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor10<-CBN[Poor10==1]
+
+#Engel
+#CBNPoor9<-CBNPoor9[,ratio1:=FoodExpenditure/Total_Exp_Month]
+#CBNPoor9[,weighted.mean(ratio1,Weight),by=cluster]
+#summary(CBNPoor9$ratio1)
+CBN<-CBN[,ratio1:=FoodExpenditure/Total_Exp_Month]
+CBN[,weighted.mean(ratio1,Weight),by=ProvinceCode][order(ProvinceCode)]
+CBN<-CBN[,ratio2:=ServiceExp/Total_Exp_Month]
+CBN[,weighted.mean(ratio2,Weight),by=ProvinceCode][order(ProvinceCode)]
+
+# Poverty Line for each cluster
+#cluster 1
+CBNPoorCluster<-CBN[cluster==1 & FoodExpenditure_Per<1.1*Food_Povertyline1_9 & FoodExpenditure_Per>0.90*Food_Povertyline1_9]
+Engel1<-weighted.mean(CBNPoorCluster$ratio1,CBNPoorCluster$Weight)
+Engel_Reverse1<-1/Engel1
+Povertyline1_9<-Engel_Reverse1*Food_Povertyline1_9
+
+#cluster 2
+CBNPoorCluster<-CBN[cluster==2 & FoodExpenditure_Per<1.1*Food_Povertyline2_9 & FoodExpenditure_Per>0.90*Food_Povertyline2_9]
+Engel2<-weighted.mean(CBNPoorCluster$ratio1,CBNPoorCluster$Weight)
+Engel_Reverse2<-1/Engel2
+Povertyline2_9<-Engel_Reverse2*Food_Povertyline2_9
+
+#cluster 3
+CBNPoorCluster<-CBN[cluster==3 & FoodExpenditure_Per<1.1*Food_Povertyline3_9 & FoodExpenditure_Per>0.90*Food_Povertyline3_9]
+Engel3<-weighted.mean(CBNPoorCluster$ratio1,CBNPoorCluster$Weight)
+Engel_Reverse3<-1/Engel3
+Povertyline3_9<-Engel_Reverse3*Food_Povertyline3_9
+
+#cluster 4
+CBNPoorCluster<-CBN[cluster==4 & FoodExpenditure_Per<1.1*Food_Povertyline4_9 & FoodExpenditure_Per>0.90*Food_Povertyline4_9]
+Engel4<-weighted.mean(CBNPoorCluster$ratio1,CBNPoorCluster$Weight)
+Engel_Reverse4<-1/Engel4
+Povertyline4_9<-Engel_Reverse4*Food_Povertyline4_9
+
+#cluster 5
+CBNPoorCluster<-CBN[cluster==5 & FoodExpenditure_Per<1.1*Food_Povertyline5_9 & FoodExpenditure_Per>0.90*Food_Povertyline5_9]
+Engel5<-weighted.mean(CBNPoorCluster$ratio1,CBNPoorCluster$Weight)
+Engel_Reverse5<-1/Engel5
+Povertyline5_9<-Engel_Reverse5*Food_Povertyline5_9
+
+#Indicate final poors
+CBN<-CBN[,Total_Exp_Month_Per2:=Total_Exp_Month_Per_nondurable*RealPriceIndex]
+
+CBN[,Poor11:=ifelse(Total_Exp_Month_Per_nondurable < Povertyline1_9 & cluster==1,1,0)]
+CBN[,Poor11:=ifelse(Total_Exp_Month_Per_nondurable < Povertyline2_9 & cluster==2,1,Poor11)]
+CBN[,Poor11:=ifelse(Total_Exp_Month_Per_nondurable < Povertyline3_9 & cluster==3,1,Poor11)]
+CBN[,Poor11:=ifelse(Total_Exp_Month_Per_nondurable < Povertyline4_9 & cluster==4,1,Poor11)]
+CBN[,Poor11:=ifelse(Total_Exp_Month_Per_nondurable < Povertyline5_9 & cluster==5,1,Poor11)]
+CBN[,weighted.mean(Poor11,Weight),by=cluster][order(cluster)]
+CBNPoor9[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor11<-CBN[Poor11==1]
+
+CBN[,sum(Size*Weight),by=cluster][order(cluster)]
+CBNPoor9[,sum(Size*Weight),by=cluster][order(cluster)]
+CBNPoor9[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBN[,weighted.mean(Poor11,Weight)]
+CBN[,weighted.mean(Poor11,Weight),by=cluster][order(cluster)]
+CBN[,weighted.mean(Poor11,Weight),by=ProvinceCode][order(ProvinceCode)]
+endtime <- proc.time()
+
+cat("\n\n============================\nIt took ")
+cat(endtime-starttime)
+
diff --git a/R/Archive/Other Codes/60-CBN91-Urban.R b/R/Archive/Other Codes/60-CBN91-Urban.R
new file mode 100644
index 00000000..52efd072
--- /dev/null
+++ b/R/Archive/Other Codes/60-CBN91-Urban.R
@@ -0,0 +1,2882 @@
+#CBN Method-Urban.R
+#
+# Copyright © 2018:Arin Shahbazian
+# Licence: GPL-3
+#
+rm(list=ls())
+
+starttime <- proc.time()
+cat("\n\n================ Prepare Data =====================================\n")
+
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+library(readxl)
+library(stringr)
+library(data.table)
+library(haven)
+
+#for(year in (Settings$startyear:Settings$endyear)){
+# cat(paste0("\n------------------------------\nYear:",year,"\n"))
+
+load(file=paste0(Settings$HEISProcessedPath,"Y","91","HHBase.rda"))
+HHBase[,IndivNo:=NULL]
+HHBase[,Relationship:=NULL]
+HHBase[,Sex:=NULL]
+HHBase[,Age:=NULL]
+HHBase[,Literate:=NULL]
+HHBase[,Student:=NULL]
+HHBase[,EduCode:=NULL]
+HHBase[,EduYears:=NULL]
+HHBase[,EduLevel:=NULL]
+HHBase[,EduLevel0:=NULL]
+HHBase[,ActivityState:=NULL]
+HHBase[,MarritalState:=NULL]
+load(file=paste0(Settings$HEISProcessedPath,"Y","91","Ghand_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","91","Hoboobat_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","91","Roghan_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","91","Berenj_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","91","Nan_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","91","Goosht_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","91","Morgh_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","91","Mahi_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","91","Shir_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","91","Mast_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","91","Panir_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","91","Tokhmemorgh_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","91","Mive_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","91","Sabzi_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","91","Makarooni_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","91","Sibzamini_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","91","Weights.rda"))
+
+Ghand_Data<-Ghand_Data[,.(HHID,Ghandgram,GhandPrice)]
+Hoboobat_Data<-Hoboobat_Data[,.(HHID,Hoboobatgram,HoboobatPrice)]
+Roghan_Data<-Roghan_Data[,.(HHID,Roghangram,RoghanPrice)]
+Berenj_Data<-Berenj_Data[,.(HHID,Berenjgram,BerenjPrice)]
+Nan_Data<-Nan_Data[,.(HHID,Nangram,NanPrice)]
+Goosht_Data<-Goosht_Data[,.(HHID,Gooshtgram,GooshtPrice)]
+Morgh_Data<-Morgh_Data[,.(HHID,Morghgram,MorghPrice)]
+Mahi_Data<-Mahi_Data[,.(HHID,Mahigram,MahiPrice)]
+Shir_Data<-Shir_Data[,.(HHID,Shirgram,ShirPrice)]
+Mast_Data<-Mast_Data[,.(HHID,Mastgram,MastPrice)]
+Panir_Data<-Panir_Data[,.(HHID,Panirgram,PanirPrice)]
+Tokhmemorgh_Data<-Tokhmemorgh_Data[,.(HHID,Tokhmemorghgram,TokhmemorghPrice)]
+Mive_Data<-Mive_Data[,.(HHID,Mivegram,MivePrice)]
+Sabzi_Data<-Sabzi_Data[,.(HHID,Sabzigram,SabziPrice)]
+Makarooni_Data<-Makarooni_Data[,.(HHID,Makaroonigram,MakarooniPrice)]
+Sibzamini_Data<-Sibzamini_Data[,.(HHID,Sibzaminigram,SibzaminiPrice)]
+
+Food<-merge(HHBase,Ghand_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Ghandgram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Hoboobat_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Hoboobatgram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Roghan_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Roghangram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Berenj_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Berenjgram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Nan_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Nangram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Goosht_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Gooshtgram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Morgh_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Morghgram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Mahi_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Mahigram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Shir_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Shirgram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Mast_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Mastgram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Panir_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Panirgram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Tokhmemorgh_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Tokhmemorghgram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Mive_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Mivegram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Sabzi_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Sabzigram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Makarooni_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Makaroonigram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Sibzamini_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Sibzaminigram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Weights,by =c("HHID"),all.x=TRUE)
+
+
+
+#load Expenditure groups
+load(file=paste0(Settings$HEISProcessedPath,"Y","91","HHBase.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","91","HHI.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","91","Foods.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","91","Cigars.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","91","Cloths.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","91","Amusements.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","91","Communications.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","91","Durables.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","91","Education.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","91","Energy.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","91","Furnitures.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","91","Hotels.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","91","House.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","91","Medicals.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","91","Behdashts.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","91","Transportations.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","91","Others.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","91","Investments.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","91","Resturants.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","91","Weights.rda"))
+
+#merge Expenditure groups
+CBN<-merge(Food,HHI ,by =c("HHID"),all=TRUE)
+CBN<-merge(CBN,FoodData,by =c("HHID"),all=TRUE)
+for (col in c("FoodExpenditure")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,CigarData,by =c("HHID"),all=TRUE)
+for (col in c("Cigar_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,ClothData,by =c("HHID"),all=TRUE)
+for (col in c("Cloth_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,AmusementData,by =c("HHID"),all=TRUE)
+for (col in c("Amusement_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,CommunicationData,by =c("HHID"),all=TRUE)
+for (col in c("Communication_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,EducData,by =c("HHID"),all=TRUE)
+for (col in c("EducExpenditure")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,EnergyData,by =c("HHID"),all=TRUE)
+for (col in c("Energy_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,FurnitureData,by =c("HHID"),all=TRUE)
+for (col in c("Furniture_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,HotelData,by =c("HHID"),all=TRUE)
+for (col in c("Hotel_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,BehdashtData,by =c("HHID"),all=TRUE)
+for (col in c("Behdasht_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,TransportationData,by =c("HHID"),all=TRUE)
+for (col in c("Transportation_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,OtherData,by =c("HHID"),all=TRUE)
+for (col in c("Other_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,HouseData,by =c("HHID"),all=TRUE)
+for (col in c("ServiceExp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,InvestmentData,by =c("HHID"),all=TRUE)
+for (col in c("Investment_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,MedicalData,by =c("HHID"),all=TRUE)
+for (col in c("Medical_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,DurableData,by =c("HHID"),all=TRUE)
+for (col in c("Durable_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,ResturantData,by =c("HHID"),all=TRUE)
+for (col in c("Resturant_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-CBN[Size!=0]
+CBN<-CBN[Region=="Urban"]
+CBN<-CBN[FoodExpenditure!=0]
+
+
+#Calculate Per_Total Expenditures Monthly
+CBN[, Total_Exp_Month := Reduce(`+`, .SD), .SDcols=c(65:77,82:83)][]
+CBN[, Total_Exp_Month_nondurable := Reduce(`+`, .SD), .SDcols=65:77][]
+
+CBN$Total_Exp_Month_Per<-CBN$Total_Exp_Month/CBN$EqSizeOECD
+CBN$Total_Exp_Month_Per_nondurable<-CBN$Total_Exp_Month_nondurable/CBN$EqSizeOECD
+
+#Calculate Per_Food Expenditures Monthly
+CBN[,EqSizeCalory :=(Size-NKids) + NKids*(1800/2100)]
+CBN$FoodExpenditure_Per<-CBN$FoodExpenditure/CBN$EqSizeCalory
+
+#Calculate Per_Food Expenditures Daily
+CBN$FoodExpenditure_Per_day<-CBN$FoodExpenditure_Per/30
+
+CBN$Ghandgram_Per_day<-CBN$Ghandgram/(30*CBN$EqSizeOECD)
+CBN$Hoboobatgram_Per_day<-CBN$Hoboobatgram/(30*CBN$EqSizeOECD)
+CBN$Berenjgram_Per_day<-CBN$Berenjgram/(30*CBN$EqSizeOECD)
+CBN$Nangram_Per_day<-CBN$Nangram/(30*CBN$EqSizeOECD)
+CBN$Roghangram_Per_day<-CBN$Roghangram/(30*CBN$EqSizeOECD)
+CBN$Gooshtgram_Per_day<-CBN$Gooshtgram/(30*CBN$EqSizeOECD)
+CBN$Morghgram_Per_day<-CBN$Morghgram/(30*CBN$EqSizeOECD)
+CBN$Mahigram_Per_day<-CBN$Mahigram/(30*CBN$EqSizeOECD)
+CBN$Shirgram_Per_day<-CBN$Shirgram/(30*CBN$EqSizeOECD)
+CBN$Mastgram_Per_day<-CBN$Mastgram/(30*CBN$EqSizeOECD)
+CBN$Panirgram_Per_day<-CBN$Panirgram/(30*CBN$EqSizeOECD)
+CBN$Tokhmemorghgram_Per_day<-CBN$Tokhmemorghgram/(30*CBN$EqSizeOECD)
+CBN$Mivegram_Per_day<-CBN$Mivegram/(30*CBN$EqSizeOECD)
+CBN$Sabzigram_Per_day<-CBN$Sabzigram/(30*CBN$EqSizeOECD)
+CBN$Makaroonigram_Per_day<-CBN$Makaroonigram/(30*CBN$EqSizeOECD)
+CBN$Sibzaminigram_Per_day<-CBN$Sibzaminigram/(30*CBN$EqSizeOECD)
+CBN[,EqSizeCalory:=NULL]
+
+load(file="PriceIndex95.rda")
+CBN<-merge(CBN,PriceIndex95,by=c("ProvinceCode"),all.x = TRUE)
+CBN[,ostan:=NULL]
+load(file="PriceIndex.rda")
+CBN<-merge(CBN,PriceIndex,by=c("ProvinceCode"),all.x = TRUE)
+
+#Sort Expenditure data
+CBN<- CBN[order(Total_Exp_Month_Per_nondurable)]
+
+#Calculate cumulative weights
+sum(CBN$Weight)
+CBN$cumweight <- cumsum(CBN$Weight)
+tx <- max(CBN$cumweight)
+
+#Calculate deciles by weights
+CBN[,Decile:=cut(cumweight,breaks = seq(0,tx,tx/10),labels = 1:10)]
+CBN[,Percentile:=cut(cumweight,breaks=seq(0,tx,tx/100),labels=1:100)]
+
+
+CBN$Ghand_W<-CBN$Ghandgram_Per_day*CBN$GhandPrice*0.001*30
+CBN$Hoboobat_W<-CBN$Hoboobatgram_Per_day*CBN$HoboobatPrice*0.001*30
+CBN$Roghan_W<-CBN$Roghangram_Per_day*CBN$RoghanPrice*0.001*30
+CBN$Berenj_W<-CBN$Berenjgram_Per_day*CBN$BerenjPrice*0.001*30
+CBN$Nan_W<-CBN$Nangram_Per_day*CBN$NanPrice*0.001*30
+CBN$Goosht_W<-CBN$Gooshtgram_Per_day*CBN$GooshtPrice*0.001*30
+CBN$Morgh_W<-CBN$Morghgram_Per_day*CBN$MorghPrice*0.001*30
+CBN$Mahi_W<-CBN$Mahigram_Per_day*CBN$MahiPrice*0.001*30
+CBN$Shir_W<-CBN$Shirgram_Per_day*CBN$ShirPrice*0.001*30
+CBN$Mast_W<-CBN$Mastgram_Per_day*CBN$MastPrice*0.001*30
+CBN$Panir_W<-CBN$Panirgram_Per_day*CBN$PanirPrice*0.001*30
+CBN$Tokhmemorgh_W<-CBN$Tokhmemorghgram_Per_day*CBN$TokhmemorghPrice*0.001*30
+CBN$Mive_W<-CBN$Mivegram_Per_day*CBN$MivePrice*0.001*30
+CBN$Sabzi_W<-CBN$Sabzigram_Per_day*CBN$SabziPrice*0.001*30
+CBN$Makarooni_W<-CBN$Makaroonigram_Per_day*CBN$MakarooniPrice*0.001*30
+CBN$Sibzamini_W<-CBN$Sibzaminigram_Per_day*CBN$SibzaminiPrice*0.001*30
+CBN$Home_W<-CBN$ServiceExp/CBN$EqSizeOECD
+CBN$Home_Per_Metr<-CBN$MetrPrice/CBN$EqSizeOECD
+
+#Seperate big cities
+CBN[,sum(Weight*Size),by=ProvinceCode][order(V1)]
+CBN[,HHIDs:=as.character(HHID)]
+shahrestan91 <- read_dta("D:/R/shahrestan91.dta")
+CBN<-merge(CBN,shahrestan91,by =c("HHID"),all.x=TRUE)
+tt<-CBN[,.(HHID,ProvinceCode,ShahrestanCode)]
+CBN[,sum(Weight*Size),by=ShahrestanCode][order(V1)]
+CBNTehran<-CBN[ProvinceCode==23]
+CBNTehran[,sum(Weight*Size),by=ShahrestanCode]
+CBNTabriz<-CBN[ProvinceCode==3]
+CBNTabriz[,sum(Weight*Size),by=ShahrestanCode]
+CBNAhvaz<-CBN[ProvinceCode==6]
+CBNAhvaz[,sum(Weight*Size),by=ShahrestanCode]
+CBNShiraz<-CBN[ProvinceCode==7]
+CBNShiraz[,sum(Weight*Size),by=ShahrestanCode]
+CBNMashhad<-CBN[ProvinceCode==9]
+CBNMashhad[,sum(Weight*Size),by=ShahrestanCode]
+CBNEsfahan<-CBN[ProvinceCode==10]
+CBNEsfahan[,sum(Weight*Size),by=ShahrestanCode]
+CBNKaraj<-CBN[ProvinceCode==23]
+CBNKaraj[,sum(Weight*Size),by=ShahrestanCode]
+CBNKermanshah<-CBN[ProvinceCode==5]
+CBNKermanshah[,sum(Weight*Size),by=ShahrestanCode]
+
+
+CBN<-CBN[ShahrestanCode==2301,ProvinceCode:=as.numeric(ShahrestanCode)]
+CBN<-CBN[ShahrestanCode==303,ProvinceCode:=as.numeric(ShahrestanCode)]
+CBN<-CBN[ShahrestanCode==603,ProvinceCode:=as.numeric(ShahrestanCode)]
+CBN<-CBN[ShahrestanCode==707,ProvinceCode:=as.numeric(ShahrestanCode)]
+CBN<-CBN[ShahrestanCode==916,ProvinceCode:=as.numeric(ShahrestanCode)]
+CBN<-CBN[ShahrestanCode==1002,ProvinceCode:=as.numeric(ShahrestanCode)]
+CBN<-CBN[ShahrestanCode==2305,ProvinceCode:=as.numeric(ShahrestanCode)]
+CBN<-CBN[ShahrestanCode==2301,ProvinceCode:=as.numeric(ShahrestanCode)]
+CBN<-CBN[ShahrestanCode==502,ProvinceCode:=as.numeric(ShahrestanCode)]
+
+# Food Calories
+CBN$Ghand_Calory<- CBN$Ghandgram *4
+CBN$Hoboobat_Calory<- CBN$Hoboobatgram *3
+CBN$Nan_Calory<- CBN$Nangram *2.5
+CBN$Berenj_Calory<- CBN$Berenjgram *1.2
+CBN$Roghan_Calory<- CBN$Roghangram *8
+CBN$Goosht_Calory<- CBN$Gooshtgram *2.5
+CBN$Morgh_Calory<- CBN$Morghgram *2
+CBN$Mahi_Calory<- CBN$Mahigram *1
+CBN$Shir_Calory<- CBN$Shirgram *2.5
+CBN$Mast_Calory<- CBN$Mastgram *1.5
+CBN$Panir_Calory<- CBN$Mastgram *2.5
+CBN$Tokhmemorgh_Calory<- CBN$Tokhmemorghgram *1.4
+CBN$Mive_Calory<- CBN$Mivegram *0.5
+CBN$Sabzi_Calory<- CBN$Sabzigram *0.5
+CBN$Makarooni_Calory<- CBN$Makaroonigram *3.6
+CBN$Sibzamini_Calory<- CBN$Sibzaminigram *0.9
+#utils::View(CBN)
+
+#CalculatePer_calories
+CBN[, Daily_Exp_Calories := Reduce(`+`, .SD), .SDcols=148:163][]
+CBN[,EqSizeCalory :=(Size-NKids) + NKids*(1800/2100)]
+CBN[,Per_Daily_Exp_Calories:=Daily_Exp_Calories/EqSizeCalory]
+CBN <- CBN[Per_Daily_Exp_Calories<100000] # arbitrary removal of outliers
+#CBN[,Daily_Calories_cluster:=weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+#CBN[,weighted.mean(Daily_Calories_cluster,Weight,na.rm = TRUE),by=cluster]
+#CBN[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+#CBN[,weighted.mean(Size,Weight,na.rm = TRUE),by=cluster]
+#CBN[,sum(Weight*Size),by=cluster]
+#CBN[,sum(Weight),by=cluster]
+#CBN[,sum(Poor),by=cluster]
+
+
+#Calculate_Per_calories
+CBN$Ghand_per_Calory<- CBN$Ghandgram *4/CBN$EqSizeCalory
+CBN$Hoboobat_per_Calory<- CBN$Hoboobatgram *3/CBN$EqSizeCalory
+CBN$Nan_per_Calory<- CBN$Nangram *2.5/CBN$EqSizeCalory
+CBN$Berenj_per_Calory<- CBN$Berenjgram *1.2/CBN$EqSizeCalory
+CBN$Roghan_per_Calory<- CBN$Roghangram *8/CBN$EqSizeCalory
+CBN$Goosht_per_Calory<- CBN$Gooshtgram *2.5/CBN$EqSizeCalory
+CBN$Morgh_per_Calory<- CBN$Morghgram *2/CBN$EqSizeCalory
+CBN$Mahi_per_Calory<- CBN$Mahigram *1/CBN$EqSizeCalory
+CBN$Shir_per_Calory<- CBN$Shirgram *2.5/CBN$EqSizeCalory
+CBN$Mast_per_Calory<- CBN$Mastgram *1.5/CBN$EqSizeCalory
+CBN$Panir_per_Calory<- CBN$Mastgram *2.5/CBN$EqSizeCalory
+CBN$Tokhmemorgh_per_Calory<- CBN$Tokhmemorghgram *1.4/CBN$EqSizeCalory
+CBN$Mive_per_Calory<- CBN$Mivegram *0.5/CBN$EqSizeCalory
+CBN$Sabzi_per_Calory<- CBN$Sabzigram *0.5/CBN$EqSizeCalory
+CBN$Makarooni_per_Calory<- CBN$Makaroonigram *3.6/CBN$EqSizeCalory
+CBN$Sibzamini_per_Calory<- CBN$Sibzaminigram *0.9/CBN$EqSizeCalory
+
+
+#Assume that deciles 1 and 2 are poor
+CBN[,Poor:=ifelse(Decile %in% 2:3,1,0)]
+CBNPoor<-CBN[Poor==1]
+
+#K-means weights
+PriceWeights<-CBN[,.(HHID,Ghand_W,Hoboobat_W,Roghan_W,Berenj_W,Nan_W,Goosht_W,Morgh_W,Mahi_W,Shir_W,Mast_W,Panir_W,Tokhmemorgh_W,Mive_W,Sabzi_W,Makarooni_W,Sibzamini_W,Home_W,ProvinceCode,Weight)]
+dt3 <- PriceWeights[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+dt3<- dt3[order(ProvinceCode)]
+dt3 <- dt3[,.(Ghand_W,Hoboobat_W,Roghan_W,Berenj_W,Nan_W,Goosht_W,Morgh_W,Mahi_W,Shir_W,Mast_W,Panir_W,Tokhmemorgh_W,Mive_W,Sabzi_W,Makarooni_W,Sibzamini_W,Home_W)]
+
+
+#K-means algorithm for clustering by prices
+test<-CBNPoor[,.(GhandPrice,HoboobatPrice,RoghanPrice,BerenjPrice,NanPrice,GooshtPrice,MorghPrice,MahiPrice,ShirPrice,MastPrice,PanirPrice,TokhmemorghPrice,MivePrice,SabziPrice,MakarooniPrice,SibzaminiPrice,MetrPrice,ProvinceCode,Weight)]
+#test<-CBNPoor[,.(GhandPrice,HoboobatPrice,RoghanPrice,BerenjPrice,NanPrice,GooshtPrice,MorghPrice,MahiPrice,ShirPrice,MastPrice,PanirPrice,TokhmemorghPrice,MivePrice,SabziPrice,MakarooniPrice,SibzaminiPrice,MetrPrice,Ghand_W,Hoboobat_W,Roghan_W,Berenj_W,Nan_W,Goosht_W,Morgh_W,Mahi_W,Shir_W,Mast_W,Panir_W,Tokhmemorgh_W,Mive_W,Sabzi_W,Makarooni_W,Sibzamini_W,Home_W,Region,ProvinceCode,Weight)]
+dt2 <- test[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+dt2<- dt2[order(ProvinceCode)]
+for (col in c("BerenjPrice")) dt2[is.nan(get(col)), (col) := 50000]
+dt <- dt2 [,.(GhandPrice,HoboobatPrice,RoghanPrice,BerenjPrice,NanPrice,GooshtPrice,MorghPrice,MahiPrice,ShirPrice,MastPrice,PanirPrice,TokhmemorghPrice,MivePrice,SabziPrice,MakarooniPrice,SibzaminiPrice,MetrPrice)]
+
+
+pca <- princomp(dt, cor=T)
+PRICE <- pca$scores
+PRICE1 <- -1*PRICE[,1]
+PRICE2 <- -1*PRICE[,2]
+PRICE3 <- -1*PRICE[,3]
+PRICE4 <- -1*PRICE[,4]
+PRICE5 <- -1*PRICE[,5]
+PRICE6 <- -1*PRICE[,6]
+PRICE7 <- -1*PRICE[,7]
+PRICE8 <- -1*PRICE[,8]
+PRICE9 <- -1*PRICE[,9]
+PRICE10 <- -1*PRICE[,10]
+PRICE11 <- -1*PRICE[,11]
+PRICE12 <- -1*PRICE[,12]
+PRICE13 <- -1*PRICE[,13]
+PRICE14 <- -1*PRICE[,14]
+PRICE15 <- -1*PRICE[,15]
+PRICE16 <- -1*PRICE[,16]
+PRICE17 <- -1*PRICE[,17]
+
+# Deciding how many clusters
+wss <- (nrow(dt)-1)*sum(apply(dt,2,var))
+for (i in 2:30) wss[i] <- sum(kmeans(dt, centers=i)$withinss)
+plot(1:30, wss, type="b", xlab="Number of Clusters",
+ ylab="Within groups sum of squares")
+
+#Weighted clustering
+
+dt3.m <- dt3[,lapply(.SD, mean)] # Weights for each vector
+dtW <- dt * sqrt(dt3.m[rep(1,nrow(dt))]) # Weighted observations
+kmeans(dtW,4) # Simple K-means
+
+cl <- kmeans(dtW,4)
+cl$cluster
+dt2 <- dt2[,cluster:=data.table(cl$cluster)]
+dt2<-dt2[,.(ProvinceCode,cluster)]
+load(file="dt4Urban.rda")
+#dt2<-dt2[-c(31,39),]
+#plot(PRICE1, PRICE2,col=cl$cluster)
+#points(cl$centers, pch=20)
+CBNPoor<-merge(CBNPoor,dt2,by=c("ProvinceCode"),all.x = TRUE)
+CBNPoor[,sum(Weight*Size),by=cluster]
+CBNPoor[,sum(Weight),by=cluster]
+CBNPoor[,sum(Poor),by=cluster]
+C2<-CBNPoor[,.(HHID,ProvinceCode,Region,Decile,Poor,cluster)]
+######################################################################
+####Iteration 1#####
+###Iteration1-1
+#Calculate Per_calories in clusters
+CBNPoor[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(185:200)][]
+#utils::View(CBNPoor)
+
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(202:217)][]
+
+CBNPoor[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor<-CBNPoor[Per_Daily_Exp_Calories!=0]
+CBNPoor[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+#CBN[,weighted.mean(Poor,Weight),by=cluster][order(cluster)]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE)]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE)]
+
+#Real Prices
+T_Bundle_Value<-subset(CBNPoor, ProvinceCode==2301, select=c(Bundle_Value,Home_Per_Metr,Weight))
+Tehran_Bundle_Value1<-weighted.mean(T_Bundle_Value$Bundle_Value,T_Bundle_Value$Weight,na.rm = TRUE)
+Tehran_Bundle_Value2<-weighted.mean(T_Bundle_Value$Home_Per_Metr,T_Bundle_Value$Weight,na.rm = TRUE)
+CBNPoor[,RealPriceIndex1:=weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/Tehran_Bundle_Value1,by=ProvinceCode]
+CBNPoor[,RealPriceIndex2:=weighted.mean(Home_Per_Metr,Weight,na.rm = TRUE)/Tehran_Bundle_Value2,by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex1,Weight),by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex2,Weight),by=ProvinceCode]
+Indexes2<-CBNPoor[,.(RealPriceIndex1,RealPriceIndex2,ProvinceCode,Weight)]
+Indexes2<-Indexes2[,RealPriceIndex:=(RealPriceIndex1+RealPriceIndex2)/2]
+Indexes<-Indexes2[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+Indexes31<-Indexes[,.(ProvinceCode,RealPriceIndex1,RealPriceIndex2,RealPriceIndex)]
+Indexes<-Indexes[,.(ProvinceCode,RealPriceIndex)]
+CBN<-merge(CBN,Indexes,by=c("ProvinceCode"),all.x = TRUE)
+CBN<-CBN[,Total_Food_Month_Per2:=FoodExpenditure_Per*RealPriceIndex]
+CBN<-CBN[,Total_Exp_Month_Per2:=Total_Exp_Month_Per_nondurable*RealPriceIndex]
+#utils::View(CBN)
+
+#Sort Expenditure data
+CBN<- CBN[order(Total_Exp_Month_Per2)]
+
+#Calculate cumulative weights
+sum(CBN$Weight)
+CBN$cumweight <- cumsum(CBN$Weight)
+tx <- max(CBN$cumweight)
+
+#Calculate deciles by weights
+CBN[,Decile:=cut(cumweight,breaks = seq(0,tx,tx/10),labels = 1:10)]
+CBN[,Percentile:=cut(cumweight,breaks=seq(0,tx,tx/100),labels=1:100)]
+
+#Update Poors
+CBN[,Poor:=ifelse(Decile %in% 2:3,1,0)]
+CBNPoor<-CBN[Poor==1]
+CBNPoor<-merge(CBNPoor,dt2,by=c("ProvinceCode"),all.x = TRUE)
+CBNPoor[,sum(HIndivNo),by=.(ProvinceCode)][order(ProvinceCode)]
+
+###Iteration1-2
+#Calculate Per_calories in clusters
+CBNPoor[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(185:200)][]
+#utils::View(CBNPoor)
+
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(202:217)][]
+
+CBNPoor[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor<-CBNPoor[Per_Daily_Exp_Calories!=0]
+CBNPoor[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+#CBN[,weighted.mean(Poor,Weight),by=cluster][order(cluster)]
+
+#Real Prices
+T_Bundle_Value<-subset(CBNPoor, ProvinceCode==2301, select=c(Bundle_Value,Home_Per_Metr,Weight))
+Tehran_Bundle_Value1<-weighted.mean(T_Bundle_Value$Bundle_Value,T_Bundle_Value$Weight,na.rm = TRUE)
+Tehran_Bundle_Value2<-weighted.mean(T_Bundle_Value$Home_Per_Metr,T_Bundle_Value$Weight,na.rm = TRUE)
+CBNPoor[,RealPriceIndex1:=weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/Tehran_Bundle_Value1,by=ProvinceCode]
+CBNPoor[,RealPriceIndex2:=weighted.mean(Home_Per_Metr,Weight,na.rm = TRUE)/Tehran_Bundle_Value2,by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex1,Weight),by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex2,Weight),by=ProvinceCode]
+Indexes2<-CBNPoor[,.(RealPriceIndex1,RealPriceIndex2,ProvinceCode,Weight)]
+Indexes2<-Indexes2[,RealPriceIndex:=(RealPriceIndex1+RealPriceIndex2)/2]
+Indexes<-Indexes2[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+Indexes32<-Indexes[,.(ProvinceCode,RealPriceIndex1,RealPriceIndex2,RealPriceIndex)]
+Indexes<-Indexes[,.(ProvinceCode,RealPriceIndex)]
+CBN[,RealPriceIndex:=NULL]
+CBN<-merge(CBN,Indexes,by=c("ProvinceCode"),all.x = TRUE)
+CBN<-CBN[,Total_Food_Month_Per2:=FoodExpenditure_Per*RealPriceIndex]
+CBN<-CBN[,Total_Exp_Month_Per2:=Total_Exp_Month_Per_nondurable*RealPriceIndex]
+#utils::View(CBN)
+
+#Sort Expenditure data
+CBN<- CBN[order(Total_Exp_Month_Per2)]
+
+#Calculate cumulative weights
+sum(CBN$Weight)
+CBN$cumweight <- cumsum(CBN$Weight)
+tx <- max(CBN$cumweight)
+
+#Calculate deciles by weights
+CBN[,Decile:=cut(cumweight,breaks = seq(0,tx,tx/10),labels = 1:10)]
+CBN[,Percentile:=cut(cumweight,breaks=seq(0,tx,tx/100),labels=1:100)]
+
+#Update Poors
+CBN[,Poor:=ifelse(Decile %in% 2:3,1,0)]
+CBNPoor<-CBN[Poor==1]
+CBNPoor<-merge(CBNPoor,dt2,by=c("ProvinceCode"),all.x = TRUE)
+CBNPoor[,sum(HIndivNo),by=.(ProvinceCode)][order(ProvinceCode)]
+
+###Iteration1-3
+#Calculate Per_calories in clusters
+CBNPoor[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(185:200)][]
+#utils::View(CBNPoor)
+
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(202:217)][]
+
+CBNPoor[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor<-CBNPoor[Per_Daily_Exp_Calories!=0]
+CBNPoor[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+#CBN[,weighted.mean(Poor,Weight),by=cluster][order(cluster)]
+
+#Real Prices
+T_Bundle_Value<-subset(CBNPoor, ProvinceCode==2301, select=c(Bundle_Value,Home_Per_Metr,Weight))
+Tehran_Bundle_Value1<-weighted.mean(T_Bundle_Value$Bundle_Value,T_Bundle_Value$Weight,na.rm = TRUE)
+Tehran_Bundle_Value2<-weighted.mean(T_Bundle_Value$Home_Per_Metr,T_Bundle_Value$Weight,na.rm = TRUE)
+CBNPoor[,RealPriceIndex1:=weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/Tehran_Bundle_Value1,by=ProvinceCode]
+CBNPoor[,RealPriceIndex2:=weighted.mean(Home_Per_Metr,Weight,na.rm = TRUE)/Tehran_Bundle_Value2,by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex1,Weight),by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex2,Weight),by=ProvinceCode]
+Indexes2<-CBNPoor[,.(RealPriceIndex1,RealPriceIndex2,ProvinceCode,Weight)]
+Indexes2<-Indexes2[,RealPriceIndex:=(RealPriceIndex1+RealPriceIndex2)/2]
+Indexes<-Indexes2[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+Indexes33<-Indexes[,.(ProvinceCode,RealPriceIndex1,RealPriceIndex2,RealPriceIndex)]
+Indexes<-Indexes[,.(ProvinceCode,RealPriceIndex)]
+CBN[,RealPriceIndex:=NULL]
+CBN<-merge(CBN,Indexes,by=c("ProvinceCode"),all.x = TRUE)
+CBN<-CBN[,Total_Food_Month_Per2:=FoodExpenditure_Per*RealPriceIndex]
+CBN<-CBN[,Total_Exp_Month_Per2:=Total_Exp_Month_Per_nondurable*RealPriceIndex]
+#utils::View(CBN)
+
+#Sort Expenditure data
+CBN<- CBN[order(Total_Exp_Month_Per2)]
+
+#Calculate cumulative weights
+sum(CBN$Weight)
+CBN$cumweight <- cumsum(CBN$Weight)
+tx <- max(CBN$cumweight)
+
+#Calculate deciles by weights
+CBN[,Decile:=cut(cumweight,breaks = seq(0,tx,tx/10),labels = 1:10)]
+CBN[,Percentile:=cut(cumweight,breaks=seq(0,tx,tx/100),labels=1:100)]
+
+#Update Poors
+CBN[,Poor:=ifelse(Decile %in% 2:3,1,0)]
+CBNPoor<-CBN[Poor==1]
+CBNPoor<-merge(CBNPoor,dt2,by=c("ProvinceCode"),all.x = TRUE)
+CBNPoor[,sum(HIndivNo),by=.(ProvinceCode)][order(ProvinceCode)]
+
+
+###Iteration1-4
+#Calculate Per_calories in clusters
+CBNPoor[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(185:200)][]
+#utils::View(CBNPoor)
+
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(202:217)][]
+
+CBNPoor[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor<-CBNPoor[Per_Daily_Exp_Calories!=0]
+CBNPoor[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+#CBN[,weighted.mean(Poor,Weight),by=cluster][order(cluster)]
+
+#Real Prices
+T_Bundle_Value<-subset(CBNPoor, ProvinceCode==2301, select=c(Bundle_Value,Home_Per_Metr,Weight))
+Tehran_Bundle_Value1<-weighted.mean(T_Bundle_Value$Bundle_Value,T_Bundle_Value$Weight,na.rm = TRUE)
+Tehran_Bundle_Value2<-weighted.mean(T_Bundle_Value$Home_Per_Metr,T_Bundle_Value$Weight,na.rm = TRUE)
+CBNPoor[,RealPriceIndex1:=weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/Tehran_Bundle_Value1,by=ProvinceCode]
+CBNPoor[,RealPriceIndex2:=weighted.mean(Home_Per_Metr,Weight,na.rm = TRUE)/Tehran_Bundle_Value2,by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex1,Weight),by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex2,Weight),by=ProvinceCode]
+Indexes2<-CBNPoor[,.(RealPriceIndex1,RealPriceIndex2,ProvinceCode,Weight)]
+Indexes2<-Indexes2[,RealPriceIndex:=(RealPriceIndex1+RealPriceIndex2)/2]
+Indexes<-Indexes2[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+Indexes34<-Indexes[,.(ProvinceCode,RealPriceIndex1,RealPriceIndex2,RealPriceIndex)]
+Indexes<-Indexes[,.(ProvinceCode,RealPriceIndex)]
+CBN[,RealPriceIndex:=NULL]
+CBN<-merge(CBN,Indexes,by=c("ProvinceCode"),all.x = TRUE)
+CBN<-CBN[,Total_Food_Month_Per2:=FoodExpenditure_Per*RealPriceIndex]
+CBN<-CBN[,Total_Exp_Month_Per2:=Total_Exp_Month_Per_nondurable*RealPriceIndex]
+#utils::View(CBN)
+
+
+#Sort Expenditure data
+CBN<- CBN[order(Total_Exp_Month_Per2)]
+
+#Calculate cumulative weights
+sum(CBN$Weight)
+CBN$cumweight <- cumsum(CBN$Weight)
+tx <- max(CBN$cumweight)
+
+#Calculate deciles by weights
+CBN[,Decile:=cut(cumweight,breaks = seq(0,tx,tx/10),labels = 1:10)]
+CBN[,Percentile:=cut(cumweight,breaks=seq(0,tx,tx/100),labels=1:100)]
+
+#Update Poors
+CBN[,Poor:=ifelse(Decile %in% 2:3,1,0)]
+CBNPoor<-CBN[Poor==1]
+CBNPoor<-merge(CBNPoor,dt2,by=c("ProvinceCode"),all.x = TRUE)
+CBNPoor[,sum(HIndivNo),by=.(ProvinceCode)][order(ProvinceCode)]
+
+###Iteration1-5
+#Calculate Per_calories in clusters
+CBNPoor[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(185:200)][]
+#utils::View(CBNPoor)
+
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(202:217)][]
+
+CBNPoor[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor<-CBNPoor[Per_Daily_Exp_Calories!=0]
+CBNPoor[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+#CBN[,weighted.mean(Poor,Weight),by=cluster][order(cluster)]
+
+#Real Prices
+T_Bundle_Value<-subset(CBNPoor, ProvinceCode==2301, select=c(Bundle_Value,Home_Per_Metr,Weight))
+Tehran_Bundle_Value1<-weighted.mean(T_Bundle_Value$Bundle_Value,T_Bundle_Value$Weight,na.rm = TRUE)
+Tehran_Bundle_Value2<-weighted.mean(T_Bundle_Value$Home_Per_Metr,T_Bundle_Value$Weight,na.rm = TRUE)
+CBNPoor[,RealPriceIndex1:=weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/Tehran_Bundle_Value1,by=ProvinceCode]
+CBNPoor[,RealPriceIndex2:=weighted.mean(Home_Per_Metr,Weight,na.rm = TRUE)/Tehran_Bundle_Value2,by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex1,Weight),by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex2,Weight),by=ProvinceCode]
+Indexes2<-CBNPoor[,.(RealPriceIndex1,RealPriceIndex2,ProvinceCode,Weight)]
+Indexes2<-Indexes2[,RealPriceIndex:=(RealPriceIndex1+RealPriceIndex2)/2]
+Indexes<-Indexes2[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+Indexes35<-Indexes[,.(ProvinceCode,RealPriceIndex1,RealPriceIndex2,RealPriceIndex)]
+Indexes<-Indexes[,.(ProvinceCode,RealPriceIndex)]
+CBN[,RealPriceIndex:=NULL]
+CBN<-merge(CBN,Indexes,by=c("ProvinceCode"),all.x = TRUE)
+CBN<-CBN[,Total_Food_Month_Per2:=FoodExpenditure_Per*RealPriceIndex]
+CBN<-CBN[,Total_Exp_Month_Per2:=Total_Exp_Month_Per_nondurable*RealPriceIndex]
+#utils::View(CBN)
+
+
+#Sort Expenditure data
+CBN<- CBN[order(Total_Exp_Month_Per2)]
+
+#Calculate cumulative weights
+sum(CBN$Weight)
+CBN$cumweight <- cumsum(CBN$Weight)
+tx <- max(CBN$cumweight)
+
+#Calculate deciles by weights
+CBN[,Decile:=cut(cumweight,breaks = seq(0,tx,tx/10),labels = 1:10)]
+CBN[,Percentile:=cut(cumweight,breaks=seq(0,tx,tx/100),labels=1:100)]
+
+#Update Poors
+CBN[,Poor:=ifelse(Decile %in% 2:3,1,0)]
+CBNPoor<-CBN[Poor==1]
+CBNPoor<-merge(CBNPoor,dt2,by=c("ProvinceCode"),all.x = TRUE)
+CBNPoor[,sum(HIndivNo),by=.(ProvinceCode)][order(ProvinceCode)]
+
+###Iteration1-6
+#Calculate Per_calories in clusters
+CBNPoor[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(185:200)][]
+#utils::View(CBNPoor)
+
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(202:217)][]
+
+CBNPoor[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor<-CBNPoor[Per_Daily_Exp_Calories!=0]
+CBNPoor[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+#CBN[,weighted.mean(Poor,Weight),by=cluster][order(cluster)]
+
+#Real Prices
+T_Bundle_Value<-subset(CBNPoor, ProvinceCode==2301, select=c(Bundle_Value,Home_Per_Metr,Weight))
+Tehran_Bundle_Value1<-weighted.mean(T_Bundle_Value$Bundle_Value,T_Bundle_Value$Weight,na.rm = TRUE)
+Tehran_Bundle_Value2<-weighted.mean(T_Bundle_Value$Home_Per_Metr,T_Bundle_Value$Weight,na.rm = TRUE)
+CBNPoor[,RealPriceIndex1:=weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/Tehran_Bundle_Value1,by=ProvinceCode]
+CBNPoor[,RealPriceIndex2:=weighted.mean(Home_Per_Metr,Weight,na.rm = TRUE)/Tehran_Bundle_Value2,by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex1,Weight),by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex2,Weight),by=ProvinceCode]
+Indexes2<-CBNPoor[,.(RealPriceIndex1,RealPriceIndex2,ProvinceCode,Weight)]
+Indexes2<-Indexes2[,RealPriceIndex:=(RealPriceIndex1+RealPriceIndex2)/2]
+Indexes<-Indexes2[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+Indexes36<-Indexes[,.(ProvinceCode,RealPriceIndex1,RealPriceIndex2,RealPriceIndex)]
+Indexes<-Indexes[,.(ProvinceCode,RealPriceIndex)]
+CBN[,RealPriceIndex:=NULL]
+CBN<-merge(CBN,Indexes,by=c("ProvinceCode"),all.x = TRUE)
+CBN<-CBN[,Total_Food_Month_Per2:=FoodExpenditure_Per*RealPriceIndex]
+CBN<-CBN[,Total_Exp_Month_Per2:=Total_Exp_Month_Per_nondurable*RealPriceIndex]
+#utils::View(CBN)
+
+
+#Sort Expenditure data
+CBN<- CBN[order(Total_Exp_Month_Per2)]
+
+#Calculate cumulative weights
+sum(CBN$Weight)
+CBN$cumweight <- cumsum(CBN$Weight)
+tx <- max(CBN$cumweight)
+
+#Calculate deciles by weights
+CBN[,Decile:=cut(cumweight,breaks = seq(0,tx,tx/10),labels = 1:10)]
+CBN[,Percentile:=cut(cumweight,breaks=seq(0,tx,tx/100),labels=1:100)]
+
+#Update Poors
+CBN[,Poor:=ifelse(Decile %in% 2:3,1,0)]
+CBNPoor<-CBN[Poor==1]
+CBNPoor<-merge(CBNPoor,dt2,by=c("ProvinceCode"),all.x = TRUE)
+CBNPoor[,sum(HIndivNo),by=.(ProvinceCode)][order(ProvinceCode)]
+
+###Iteration1-7
+#Calculate Per_calories in clusters
+CBNPoor[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(185:200)][]
+#utils::View(CBNPoor)
+
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(202:217)][]
+
+CBNPoor[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor<-CBNPoor[Per_Daily_Exp_Calories!=0]
+CBNPoor[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+#CBN[,weighted.mean(Poor,Weight),by=cluster][order(cluster)]
+
+#Real Prices
+T_Bundle_Value<-subset(CBNPoor, ProvinceCode==2301, select=c(Bundle_Value,Home_Per_Metr,Weight))
+Tehran_Bundle_Value1<-weighted.mean(T_Bundle_Value$Bundle_Value,T_Bundle_Value$Weight,na.rm = TRUE)
+Tehran_Bundle_Value2<-weighted.mean(T_Bundle_Value$Home_Per_Metr,T_Bundle_Value$Weight,na.rm = TRUE)
+CBNPoor[,RealPriceIndex1:=weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/Tehran_Bundle_Value1,by=ProvinceCode]
+CBNPoor[,RealPriceIndex2:=weighted.mean(Home_Per_Metr,Weight,na.rm = TRUE)/Tehran_Bundle_Value2,by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex1,Weight),by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex2,Weight),by=ProvinceCode]
+Indexes2<-CBNPoor[,.(RealPriceIndex1,RealPriceIndex2,ProvinceCode,Weight)]
+Indexes2<-Indexes2[,RealPriceIndex:=(RealPriceIndex1+RealPriceIndex2)/2]
+Indexes<-Indexes2[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+Indexes37<-Indexes[,.(ProvinceCode,RealPriceIndex1,RealPriceIndex2,RealPriceIndex)]
+Indexes<-Indexes[,.(ProvinceCode,RealPriceIndex)]
+CBN[,RealPriceIndex:=NULL]
+CBN<-merge(CBN,Indexes,by=c("ProvinceCode"),all.x = TRUE)
+CBN<-CBN[,Total_Food_Month_Per2:=FoodExpenditure_Per*RealPriceIndex]
+CBN<-CBN[,Total_Exp_Month_Per2:=Total_Exp_Month_Per_nondurable*RealPriceIndex]
+#utils::View(CBN)
+
+
+#Sort Expenditure data
+CBN<- CBN[order(Total_Exp_Month_Per2)]
+
+#Calculate cumulative weights
+sum(CBN$Weight)
+CBN$cumweight <- cumsum(CBN$Weight)
+tx <- max(CBN$cumweight)
+
+#Calculate deciles by weights
+CBN[,Decile:=cut(cumweight,breaks = seq(0,tx,tx/10),labels = 1:10)]
+CBN[,Percentile:=cut(cumweight,breaks=seq(0,tx,tx/100),labels=1:100)]
+
+#Update Poors
+CBN[,Poor:=ifelse(Decile %in% 2:3,1,0)]
+CBNPoor<-CBN[Poor==1]
+CBNPoor<-merge(CBNPoor,dt2,by=c("ProvinceCode"),all.x = TRUE)
+CBNPoor[,sum(HIndivNo),by=.(ProvinceCode)][order(ProvinceCode)]
+
+###Iteration1-8
+#Calculate Per_calories in clusters
+CBNPoor[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(185:200)][]
+#utils::View(CBNPoor)
+
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(202:217)][]
+
+CBNPoor[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor<-CBNPoor[Per_Daily_Exp_Calories!=0]
+CBNPoor[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+#CBN[,weighted.mean(Poor,Weight),by=cluster][order(cluster)]
+
+#Real Prices
+T_Bundle_Value<-subset(CBNPoor, ProvinceCode==2301, select=c(Bundle_Value,Home_Per_Metr,Weight))
+Tehran_Bundle_Value1<-weighted.mean(T_Bundle_Value$Bundle_Value,T_Bundle_Value$Weight,na.rm = TRUE)
+Tehran_Bundle_Value2<-weighted.mean(T_Bundle_Value$Home_Per_Metr,T_Bundle_Value$Weight,na.rm = TRUE)
+CBNPoor[,RealPriceIndex1:=weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/Tehran_Bundle_Value1,by=ProvinceCode]
+CBNPoor[,RealPriceIndex2:=weighted.mean(Home_Per_Metr,Weight,na.rm = TRUE)/Tehran_Bundle_Value2,by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex1,Weight),by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex2,Weight),by=ProvinceCode]
+Indexes2<-CBNPoor[,.(RealPriceIndex1,RealPriceIndex2,ProvinceCode,Weight)]
+Indexes2<-Indexes2[,RealPriceIndex:=(RealPriceIndex1+RealPriceIndex2)/2]
+Indexes<-Indexes2[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+Indexes38<-Indexes[,.(ProvinceCode,RealPriceIndex1,RealPriceIndex2,RealPriceIndex)]
+Indexes<-Indexes[,.(ProvinceCode,RealPriceIndex)]
+CBN[,RealPriceIndex:=NULL]
+CBN<-merge(CBN,Indexes,by=c("ProvinceCode"),all.x = TRUE)
+CBN<-CBN[,Total_Food_Month_Per2:=FoodExpenditure_Per*RealPriceIndex]
+CBN<-CBN[,Total_Exp_Month_Per2:=Total_Exp_Month_Per_nondurable*RealPriceIndex]
+#utils::View(CBN)
+
+
+#Sort Expenditure data
+CBN<- CBN[order(Total_Exp_Month_Per2)]
+
+#Calculate cumulative weights
+sum(CBN$Weight)
+CBN$cumweight <- cumsum(CBN$Weight)
+tx <- max(CBN$cumweight)
+
+#Calculate deciles by weights
+CBN[,Decile:=cut(cumweight,breaks = seq(0,tx,tx/10),labels = 1:10)]
+CBN[,Percentile:=cut(cumweight,breaks=seq(0,tx,tx/100),labels=1:100)]
+
+#Update Poors
+CBN[,Poor:=ifelse(Decile %in% 2:3,1,0)]
+CBNPoor<-CBN[Poor==1]
+CBNPoor<-merge(CBNPoor,dt2,by=c("ProvinceCode"),all.x = TRUE)
+CBNPoor[,sum(HIndivNo),by=.(ProvinceCode)][order(ProvinceCode)]
+
+###Iteration1-9
+#Calculate Per_calories in clusters
+CBNPoor[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(185:200)][]
+#utils::View(CBNPoor)
+
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(202:217)][]
+
+CBNPoor[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor<-CBNPoor[Per_Daily_Exp_Calories!=0]
+CBNPoor[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+#CBN[,weighted.mean(Poor,Weight),by=cluster][order(cluster)]
+
+#Real Prices
+T_Bundle_Value<-subset(CBNPoor, ProvinceCode==2301, select=c(Bundle_Value,Home_Per_Metr,Weight))
+Tehran_Bundle_Value1<-weighted.mean(T_Bundle_Value$Bundle_Value,T_Bundle_Value$Weight,na.rm = TRUE)
+Tehran_Bundle_Value2<-weighted.mean(T_Bundle_Value$Home_Per_Metr,T_Bundle_Value$Weight,na.rm = TRUE)
+CBNPoor[,RealPriceIndex1:=weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/Tehran_Bundle_Value1,by=ProvinceCode]
+CBNPoor[,RealPriceIndex2:=weighted.mean(Home_Per_Metr,Weight,na.rm = TRUE)/Tehran_Bundle_Value2,by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex1,Weight),by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex2,Weight),by=ProvinceCode]
+Indexes2<-CBNPoor[,.(RealPriceIndex1,RealPriceIndex2,ProvinceCode,Weight)]
+Indexes2<-Indexes2[,RealPriceIndex:=(RealPriceIndex1+RealPriceIndex2)/2]
+Indexes<-Indexes2[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+Indexes39<-Indexes[,.(ProvinceCode,RealPriceIndex1,RealPriceIndex2,RealPriceIndex)]
+Indexes<-Indexes[,.(ProvinceCode,RealPriceIndex)]
+CBN[,RealPriceIndex:=NULL]
+CBN<-merge(CBN,Indexes,by=c("ProvinceCode"),all.x = TRUE)
+CBN<-CBN[,Total_Food_Month_Per2:=FoodExpenditure_Per*RealPriceIndex]
+CBN<-CBN[,Total_Exp_Month_Per2:=Total_Exp_Month_Per_nondurable*RealPriceIndex]
+#utils::View(CBN)
+
+
+#Sort Expenditure data
+CBN<- CBN[order(Total_Exp_Month_Per2)]
+
+#Calculate cumulative weights
+sum(CBN$Weight)
+CBN$cumweight <- cumsum(CBN$Weight)
+tx <- max(CBN$cumweight)
+
+#Calculate deciles by weights
+CBN[,Decile:=cut(cumweight,breaks = seq(0,tx,tx/10),labels = 1:10)]
+CBN[,Percentile:=cut(cumweight,breaks=seq(0,tx,tx/100),labels=1:100)]
+
+#Update Poors
+CBN[,Poor:=ifelse(Decile %in% 2:3,1,0)]
+CBNPoor<-CBN[Poor==1]
+CBNPoor<-merge(CBNPoor,dt2,by=c("ProvinceCode"),all.x = TRUE)
+CBNPoor[,sum(HIndivNo),by=.(ProvinceCode)][order(ProvinceCode)]
+
+###Iteration1-10
+#Calculate Per_calories in clusters
+CBNPoor[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(185:200)][]
+#utils::View(CBNPoor)
+
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(202:217)][]
+
+CBNPoor[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor<-CBNPoor[Per_Daily_Exp_Calories!=0]
+CBNPoor[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+#CBN[,weighted.mean(Poor,Weight),by=cluster][order(cluster)]
+
+#Real Prices
+T_Bundle_Value<-subset(CBNPoor, ProvinceCode==2301, select=c(Bundle_Value,Home_Per_Metr,Weight))
+Tehran_Bundle_Value1<-weighted.mean(T_Bundle_Value$Bundle_Value,T_Bundle_Value$Weight,na.rm = TRUE)
+Tehran_Bundle_Value2<-weighted.mean(T_Bundle_Value$Home_Per_Metr,T_Bundle_Value$Weight,na.rm = TRUE)
+CBNPoor[,RealPriceIndex1:=weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/Tehran_Bundle_Value1,by=ProvinceCode]
+CBNPoor[,RealPriceIndex2:=weighted.mean(Home_Per_Metr,Weight,na.rm = TRUE)/Tehran_Bundle_Value2,by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex1,Weight),by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex2,Weight),by=ProvinceCode]
+Indexes2<-CBNPoor[,.(RealPriceIndex1,RealPriceIndex2,ProvinceCode,Weight)]
+Indexes2<-Indexes2[,RealPriceIndex:=(RealPriceIndex1+RealPriceIndex2)/2]
+Indexes<-Indexes2[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+Indexes310<-Indexes[,.(ProvinceCode,RealPriceIndex1,RealPriceIndex2,RealPriceIndex)]
+Indexes<-Indexes[,.(ProvinceCode,RealPriceIndex)]
+CBN[,RealPriceIndex:=NULL]
+CBN<-merge(CBN,Indexes,by=c("ProvinceCode"),all.x = TRUE)
+CBN<-CBN[,Total_Food_Month_Per2:=FoodExpenditure_Per*RealPriceIndex]
+CBN<-CBN[,Total_Exp_Month_Per2:=Total_Exp_Month_Per_nondurable*RealPriceIndex]
+#utils::View(CBN)
+
+
+#Sort Expenditure data
+CBN<- CBN[order(Total_Exp_Month_Per2)]
+
+#Calculate cumulative weights
+sum(CBN$Weight)
+CBN$cumweight <- cumsum(CBN$Weight)
+tx <- max(CBN$cumweight)
+
+#Calculate deciles by weights
+CBN[,Decile:=cut(cumweight,breaks = seq(0,tx,tx/10),labels = 1:10)]
+CBN[,Percentile:=cut(cumweight,breaks=seq(0,tx,tx/100),labels=1:100)]
+
+#Update Poors
+CBN[,Poor:=ifelse(Decile %in% 2:3,1,0)]
+CBNPoor<-CBN[Poor==1]
+CBNPoor<-merge(CBNPoor,dt2,by=c("ProvinceCode"),all.x = TRUE)
+CBNPoor[,sum(HIndivNo),by=.(ProvinceCode)][order(ProvinceCode)]
+
+
+#Calculate Per_calories in clusters
+CBNPoor[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(189:204)][]
+#utils::View(CBNPoor)
+
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(206:221)][]
+
+CBNPoor[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor<-CBNPoor[Per_Daily_Exp_Calories!=0]
+CBNPoor[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNCalory<-CBNPoor[,.(Per_Daily_Calories,Per_Daily_Exp_Calories,Per_Calory_Resturant,Resturant_Exp,cluster,ProvinceCode)]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+
+
+#Calculations
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_day,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,sum(Size*Weight),by=cluster][order(cluster)]
+
+
+#Food Poverty Line for each cluster
+#cluster 1
+CBNPoorCluster<-CBNPoor[cluster==1]
+Food_Povertyline1_1<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 2
+CBNPoorCluster<-CBNPoor[cluster==2]
+Food_Povertyline2_1<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 3
+CBNPoorCluster<-CBNPoor[cluster==3]
+Food_Povertyline3_1<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 4
+CBNPoorCluster<-CBNPoor[cluster==4]
+Food_Povertyline4_1<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+
+#ee<-CBNPoor[,.(Total_Exp_Month_Real,Total_Exp_Month,Total_Food_Month_Per2,Total_Exp_Month_Per_nondurable,Total_Exp_Month_nondurable_Real_Per,FoodExpenditure_Per,cluster)]
+#mean(ee[,Total_Food_Month_Per2==Total_Exp_Month_nondurable_Real])
+#mean(ee[,Total_Food_Month_Per2<3500000])
+#ee<- ee[order(Total_Food_Month_Per2)]
+#utils::View(CBN)
+CBN<-merge(CBN,dt2,by=c("ProvinceCode"),all.x = TRUE)
+#for (col in c("Total_Food_Month_Per2")) CBN[is.na(get(col)), (col) := Total_Exp_Month_Per_nondurable]
+c<-CBN[,.(FoodExpenditure_Per,FoodExpenditure_Per_total,Total_Exp_Month_Per_nondurable,Total_Exp_Month,Total_Food_Month_Per2,Poor,Decile,Weight,cluster)]
+
+#########Iteration 2###############
+#Sort Expenditure data
+CBN<- CBN[order(Total_Food_Month_Per2)]
+c<- c[order(Total_Food_Month_Per2)]
+
+#Indicate new poors
+CBN[,Poor2:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_1 & cluster==1,1,0)]
+c[,Poor2:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_1 & cluster==1 ,1,0)]
+CBN[,Poor2:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_1 & cluster==2,1,Poor2)]
+c[,Poor2:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_1 & cluster==2 ,1,Poor2)]
+CBN[,Poor2:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_1 & cluster==3,1,Poor2)]
+c[,Poor2:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_1 & cluster==3 ,1,Poor2)]
+CBN[,Poor2:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_1 & cluster==4,1,Poor2)]
+c[,Poor2:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_1 & cluster==4 ,1,Poor2)]
+CBN[,weighted.mean(Poor2,Weight),by=cluster][order(cluster)]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2<-CBN[Poor2==1]
+
+
+#CalculatePer_calories in clusters
+CBNPoor2[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(190:205)][]
+#utils::View(CBNPoor2)
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor2[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(207:222)][]
+
+CBNPoor2[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor2[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor2[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor2[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2<-CBNPoor2[Per_Daily_Exp_Calories!=0]
+CBNPoor2[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor2[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor2[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor2[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor2[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor2[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+
+
+
+#Calculations
+CBNPoor2[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,weighted.mean(FoodExpenditure_Per_day,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+
+
+
+#Food Poverty Line for each cluster
+#cluster 1
+CBNPoorCluster<-CBNPoor2[cluster==1]
+Food_Povertyline1_2<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 2
+CBNPoorCluster<-CBNPoor2[cluster==2]
+Food_Povertyline2_2<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 3
+CBNPoorCluster<-CBNPoor2[cluster==3]
+Food_Povertyline3_2<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 4
+CBNPoorCluster<-CBNPoor2[cluster==4]
+Food_Povertyline4_2<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#ee<-CBNPoor[,.(Total_Exp_Month_Real,Total_Exp_Month,Total_Food_Month_Per2,Total_Exp_Month_Per_nondurable,Total_Exp_Month_nondurable_Real_Per,FoodExpenditure_Per,cluster)]
+#mean(ee[,Total_Food_Month_Per2==Total_Exp_Month_nondurable_Real])
+#mean(ee[,Total_Food_Month_Per2<3500000])
+#ee<- ee[order(Total_Food_Month_Per2)]
+#utils::View(CBN)
+#for (col in c("Total_Food_Month_Per2")) CBN[is.na(get(col)), (col) := Total_Exp_Month_Per_nondurable]
+c<-CBN[,.(FoodExpenditure_Per,FoodExpenditure_Per_total,Total_Exp_Month_Per_nondurable,Total_Exp_Month,Total_Food_Month_Per2,Poor,Decile,Weight,cluster)]
+
+
+#########Iteration 3###############
+#Sort Expenditure data
+CBN<- CBN[order(Total_Food_Month_Per2)]
+c<- c[order(Total_Food_Month_Per2)]
+
+#Indicate new poors
+CBN[,Poor3:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_2 & cluster==1,1,0)]
+c[,Poor3:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_2 & cluster==1 ,1,0)]
+CBN[,Poor3:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_2 & cluster==2,1,Poor3)]
+c[,Poor3:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_2 & cluster==2 ,1,Poor3)]
+CBN[,Poor3:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_2 & cluster==3,1,Poor3)]
+c[,Poor3:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_2 & cluster==3 ,1,Poor3)]
+CBN[,Poor3:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_2 & cluster==4,1,Poor3)]
+c[,Poor3:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_2 & cluster==4 ,1,Poor3)]
+CBN[,weighted.mean(Poor3,Weight),by=cluster][order(cluster)]
+CBNPoor2[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3<-CBN[Poor3==1]
+
+
+
+#CalculatePer_calories in clusters
+CBNPoor3[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(191:206)][]
+#utils::View(CBNPoor3)
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor3[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(208:223)][]
+
+
+CBNPoor3[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor3[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor3[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor3[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3<-CBNPoor3[Per_Daily_Exp_Calories!=0]
+CBNPoor3[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor3[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+
+#sum of total food expenditures
+CBNPoor3[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor3[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor3[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor3[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+
+
+#Calculations
+CBNPoor3[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,weighted.mean(FoodExpenditure_Per_day,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+
+
+
+#Food Poverty Line for each cluster
+#cluster 1
+CBNPoorCluster<-CBNPoor3[cluster==1]
+Food_Povertyline1_3<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 2
+CBNPoorCluster<-CBNPoor3[cluster==2]
+Food_Povertyline2_3<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 3
+CBNPoorCluster<-CBNPoor3[cluster==3]
+Food_Povertyline3_3<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 4
+CBNPoorCluster<-CBNPoor3[cluster==4]
+Food_Povertyline4_3<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#ee<-CBNPoor[,.(Total_Exp_Month_Real,Total_Exp_Month,Total_Food_Month_Per2,Total_Exp_Month_Per_nondurable,Total_Exp_Month_nondurable_Real_Per,FoodExpenditure_Per,cluster)]
+#mean(ee[,Total_Food_Month_Per2==Total_Exp_Month_nondurable_Real])
+#mean(ee[,Total_Food_Month_Per2<3500000])
+#ee<- ee[order(Total_Food_Month_Per2)]
+#utils::View(CBN)
+#for (col in c("Total_Food_Month_Per2")) CBN[is.na(get(col)), (col) := Total_Exp_Month_Per_nondurable]
+c<-CBN[,.(FoodExpenditure_Per,FoodExpenditure_Per_total,Total_Exp_Month_Per_nondurable,Total_Exp_Month,Total_Food_Month_Per2,Poor,Decile,Weight,cluster)]
+
+
+#########Iteration 4###############
+#Sort Expenditure data
+CBN<- CBN[order(Total_Food_Month_Per2)]
+c<- c[order(Total_Food_Month_Per2)]
+
+#Indicate new poors
+CBN[,Poor4:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_3 & cluster==1,1,0)]
+c[,Poor4:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_3 & cluster==1 ,1,0)]
+CBN[,Poor4:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_3 & cluster==2,1,Poor4)]
+c[,Poor4:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_3 & cluster==2 ,1,Poor4)]
+CBN[,Poor4:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_3 & cluster==3,1,Poor4)]
+c[,Poor4:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_3 & cluster==3 ,1,Poor4)]
+CBN[,Poor4:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_3 & cluster==4,1,Poor4)]
+c[,Poor4:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_3 & cluster==4 ,1,Poor4)]
+CBN[,weighted.mean(Poor4,Weight),by=cluster][order(cluster)]
+CBNPoor3[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4<-CBN[Poor4==1]
+
+#CalculatePer_calories in clusters
+CBNPoor4[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(191:206)][]
+#utils::View(CBNPoor4)
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor4[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(208:223)][]
+
+
+CBNPoor4[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor4[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor4[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor4[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4<-CBNPoor4[Per_Daily_Exp_Calories!=0]
+CBNPoor4[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor4[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+
+#sum of total food expenditures
+CBNPoor4[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor4[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor4[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor4[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+
+
+#Calculations
+CBNPoor4[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,weighted.mean(FoodExpenditure_Per_day,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+
+
+
+#Food Poverty Line for each cluster
+#cluster 1
+CBNPoorCluster<-CBNPoor4[cluster==1]
+Food_Povertyline1_4<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 2
+CBNPoorCluster<-CBNPoor4[cluster==2]
+Food_Povertyline2_4<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 3
+CBNPoorCluster<-CBNPoor4[cluster==3]
+Food_Povertyline3_4<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 4
+CBNPoorCluster<-CBNPoor4[cluster==4]
+Food_Povertyline4_4<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#ee<-CBNPoor[,.(Total_Exp_Month_Real,Total_Exp_Month,Total_Food_Month_Per2,Total_Exp_Month_Per_nondurable,Total_Exp_Month_nondurable_Real_Per,FoodExpenditure_Per,cluster)]
+#mean(ee[,Total_Food_Month_Per2==Total_Exp_Month_nondurable_Real])
+#mean(ee[,Total_Food_Month_Per2<3500000])
+#ee<- ee[order(Total_Food_Month_Per2)]
+#utils::View(CBN)
+#for (col in c("Total_Food_Month_Per2")) CBN[is.na(get(col)), (col) := Total_Exp_Month_Per_nondurable]
+c<-CBN[,.(FoodExpenditure_Per,FoodExpenditure_Per_total,Total_Exp_Month_Per_nondurable,Total_Exp_Month,Total_Food_Month_Per2,Poor,Decile,Weight,cluster)]
+
+
+#########Iteration 5###############
+#Sort Expenditure data
+CBN<- CBN[order(Total_Food_Month_Per2)]
+c<- c[order(Total_Food_Month_Per2)]
+
+#Indicate new poors
+CBN[,Poor5:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_4 & cluster==1,1,0)]
+c[,Poor5:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_4 & cluster==1 ,1,0)]
+CBN[,Poor5:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_4 & cluster==2,1,Poor5)]
+c[,Poor5:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_4 & cluster==2 ,1,Poor5)]
+CBN[,Poor5:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_4 & cluster==3,1,Poor5)]
+c[,Poor5:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_4 & cluster==3 ,1,Poor5)]
+CBN[,Poor5:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_4 & cluster==4,1,Poor5)]
+c[,Poor5:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_4 & cluster==4 ,1,Poor5)]
+CBN[,weighted.mean(Poor5,Weight),by=cluster][order(cluster)]
+CBNPoor4[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5<-CBN[Poor5==1]
+
+#CalculatePer_calories in clusters
+CBNPoor5[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(191:206)][]
+#utils::View(CBNPoor5)
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor5[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(208:223)][]
+
+
+CBNPoor5[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor5[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor5[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor5[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5<-CBNPoor5[Per_Daily_Exp_Calories!=0]
+CBNPoor5[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor5[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+
+#sum of total food expenditures
+CBNPoor5[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor5[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor5[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor5[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+
+
+#Calculations
+CBNPoor5[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,weighted.mean(FoodExpenditure_Per_day,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+
+
+
+#Food Poverty Line for each cluster
+#cluster 1
+CBNPoorCluster<-CBNPoor5[cluster==1]
+Food_Povertyline1_5<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 2
+CBNPoorCluster<-CBNPoor5[cluster==2]
+Food_Povertyline2_5<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 3
+CBNPoorCluster<-CBNPoor5[cluster==3]
+Food_Povertyline3_5<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 4
+CBNPoorCluster<-CBNPoor5[cluster==4]
+Food_Povertyline4_5<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#ee<-CBNPoor[,.(Total_Exp_Month_Real,Total_Exp_Month,Total_Food_Month_Per2,Total_Exp_Month_Per_nondurable,Total_Exp_Month_nondurable_Real_Per,FoodExpenditure_Per,cluster)]
+#mean(ee[,Total_Food_Month_Per2==Total_Exp_Month_nondurable_Real])
+#mean(ee[,Total_Food_Month_Per2<3500000])
+#ee<- ee[order(Total_Food_Month_Per2)]
+#utils::View(CBN)
+#for (col in c("Total_Food_Month_Per2")) CBN[is.na(get(col)), (col) := Total_Exp_Month_Per_nondurable]
+c<-CBN[,.(FoodExpenditure_Per,FoodExpenditure_Per_total,Total_Exp_Month_Per_nondurable,Total_Exp_Month,Total_Food_Month_Per2,Poor,Decile,Weight,cluster)]
+
+
+#########Iteration 6###############
+#Sort Expenditure data
+CBN<- CBN[order(Total_Food_Month_Per2)]
+c<- c[order(Total_Food_Month_Per2)]
+
+#Indicate new poors
+CBN[,Poor6:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_5 & cluster==1,1,0)]
+c[,Poor6:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_5 & cluster==1 ,1,0)]
+CBN[,Poor6:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_5 & cluster==2,1,Poor6)]
+c[,Poor6:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_5 & cluster==2 ,1,Poor6)]
+CBN[,Poor6:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_5 & cluster==3,1,Poor6)]
+c[,Poor6:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_5 & cluster==3 ,1,Poor6)]
+CBN[,Poor6:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_5 & cluster==4,1,Poor6)]
+c[,Poor6:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_5 & cluster==4 ,1,Poor6)]
+CBN[,weighted.mean(Poor6,Weight),by=cluster][order(cluster)]
+CBNPoor5[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6<-CBN[Poor6==1]
+
+#CalculatePer_calories in clusters
+CBNPoor6[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(191:206)][]
+#utils::View(CBNPoor6)
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor6[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(208:223)][]
+
+
+CBNPoor6[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor6[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor6[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor6[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6<-CBNPoor6[Per_Daily_Exp_Calories!=0]
+CBNPoor6[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor6[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+
+#sum of total food expenditures
+CBNPoor6[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor6[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor6[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor6[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+
+
+#Calculations
+CBNPoor6[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,weighted.mean(FoodExpenditure_Per_day,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+
+
+#Food Poverty Line for each cluster
+#cluster 1
+CBNPoorCluster<-CBNPoor6[cluster==1]
+Food_Povertyline1_6<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 2
+CBNPoorCluster<-CBNPoor6[cluster==2]
+Food_Povertyline2_6<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 3
+CBNPoorCluster<-CBNPoor6[cluster==3]
+Food_Povertyline3_6<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 4
+CBNPoorCluster<-CBNPoor6[cluster==4]
+Food_Povertyline4_6<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#ee<-CBNPoor[,.(Total_Exp_Month_Real,Total_Exp_Month,Total_Food_Month_Per2,Total_Exp_Month_Per_nondurable,Total_Exp_Month_nondurable_Real_Per,FoodExpenditure_Per,cluster)]
+#mean(ee[,Total_Food_Month_Per2==Total_Exp_Month_nondurable_Real])
+#mean(ee[,Total_Food_Month_Per2<3500000])
+#ee<- ee[order(Total_Food_Month_Per2)]
+#utils::View(CBN)
+#for (col in c("Total_Food_Month_Per2")) CBN[is.na(get(col)), (col) := Total_Exp_Month_Per_nondurable]
+c<-CBN[,.(FoodExpenditure_Per,FoodExpenditure_Per_total,Total_Exp_Month_Per_nondurable,Total_Exp_Month,Total_Food_Month_Per2,Poor,Decile,Weight,cluster)]
+
+
+#########Iteration 7###############
+#Sort Expenditure data
+CBN<- CBN[order(Total_Food_Month_Per2)]
+c<- c[order(Total_Food_Month_Per2)]
+
+#Indicate new poors
+CBN[,Poor7:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_6 & cluster==1,1,0)]
+c[,Poor7:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_6 & cluster==1 ,1,0)]
+CBN[,Poor7:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_6 & cluster==2,1,Poor7)]
+c[,Poor7:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_6 & cluster==2 ,1,Poor7)]
+CBN[,Poor7:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_6 & cluster==3,1,Poor7)]
+c[,Poor7:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_6 & cluster==3 ,1,Poor7)]
+CBN[,Poor7:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_6 & cluster==4,1,Poor7)]
+c[,Poor7:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_6 & cluster==4 ,1,Poor7)]
+CBN[,weighted.mean(Poor7,Weight),by=cluster][order(cluster)]
+CBNPoor6[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7<-CBN[Poor7==1]
+
+#CalculatePer_calories in clusters
+CBNPoor7[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(191:206)][]
+#utils::View(CBNPoor7)
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor7[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(208:223)][]
+
+
+CBNPoor7[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor7[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor7[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor7[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7<-CBNPoor7[Per_Daily_Exp_Calories!=0]
+CBNPoor7[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor7[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+
+#sum of total food expenditures
+CBNPoor7[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor7[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor7[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor7[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+
+
+#Calculations
+CBNPoor7[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,weighted.mean(FoodExpenditure_Per_day,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+
+
+
+#Food Poverty Line for each cluster
+#cluster 1
+CBNPoorCluster<-CBNPoor7[cluster==1]
+Food_Povertyline1_7<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 2
+CBNPoorCluster<-CBNPoor7[cluster==2]
+Food_Povertyline2_7<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 3
+CBNPoorCluster<-CBNPoor7[cluster==3]
+Food_Povertyline3_7<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 4
+CBNPoorCluster<-CBNPoor7[cluster==4]
+Food_Povertyline4_7<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#ee<-CBNPoor[,.(Total_Exp_Month_Real,Total_Exp_Month,Total_Food_Month_Per2,Total_Exp_Month_Per_nondurable,Total_Exp_Month_nondurable_Real_Per,FoodExpenditure_Per,cluster)]
+#mean(ee[,Total_Food_Month_Per2==Total_Exp_Month_nondurable_Real])
+#mean(ee[,Total_Food_Month_Per2<3500000])
+#ee<- ee[order(Total_Food_Month_Per2)]
+#utils::View(CBN)
+#for (col in c("Total_Food_Month_Per2")) CBN[is.na(get(col)), (col) := Total_Exp_Month_Per_nondurable]
+c<-CBN[,.(FoodExpenditure_Per,FoodExpenditure_Per_total,Total_Exp_Month_Per_nondurable,Total_Exp_Month,Total_Food_Month_Per2,Poor,Decile,Weight,cluster)]
+
+
+#########Iteration 8###############
+#Sort Expenditure data
+CBN<- CBN[order(Total_Food_Month_Per2)]
+c<- c[order(Total_Food_Month_Per2)]
+
+#Indicate new poors
+CBN[,Poor8:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_7 & cluster==1,1,0)]
+c[,Poor8:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_7 & cluster==1 ,1,0)]
+CBN[,Poor8:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_7 & cluster==2,1,Poor8)]
+c[,Poor8:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_7 & cluster==2 ,1,Poor8)]
+CBN[,Poor8:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_7 & cluster==3,1,Poor8)]
+c[,Poor8:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_7 & cluster==3 ,1,Poor8)]
+CBN[,Poor8:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_7 & cluster==4,1,Poor8)]
+c[,Poor8:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_7 & cluster==4 ,1,Poor8)]
+CBN[,weighted.mean(Poor8,Weight),by=cluster][order(cluster)]
+CBNPoor7[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8<-CBN[Poor8==1]
+
+
+#CalculatePer_calories in clusters
+CBNPoor8[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(191:206)][]
+#utils::View(CBNPoor8)
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor8[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(208:223)][]
+
+
+CBNPoor8[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor8[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor8[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor8[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8<-CBNPoor8[Per_Daily_Exp_Calories!=0]
+CBNPoor8[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor8[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+
+#sum of total food expenditures
+CBNPoor8[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor8[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor8[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor8[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+
+
+#Calculations
+CBNPoor8[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,weighted.mean(FoodExpenditure_Per_day,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+
+
+
+#Food Poverty Line for each cluster
+#cluster 1
+CBNPoorCluster<-CBNPoor8[cluster==1]
+Food_Povertyline1_8<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 2
+CBNPoorCluster<-CBNPoor8[cluster==2]
+Food_Povertyline2_8<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 3
+CBNPoorCluster<-CBNPoor8[cluster==3]
+Food_Povertyline3_8<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 4
+CBNPoorCluster<-CBNPoor8[cluster==4]
+Food_Povertyline4_8<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#ee<-CBNPoor[,.(Total_Exp_Month_Real,Total_Exp_Month,Total_Food_Month_Per2,Total_Exp_Month_Per_nondurable,Total_Exp_Month_nondurable_Real_Per,FoodExpenditure_Per,cluster)]
+#mean(ee[,Total_Food_Month_Per2==Total_Exp_Month_nondurable_Real])
+#mean(ee[,Total_Food_Month_Per2<3500000])
+#ee<- ee[order(Total_Food_Month_Per2)]
+#utils::View(CBN)
+#for (col in c("Total_Food_Month_Per2")) CBN[is.na(get(col)), (col) := Total_Exp_Month_Per_nondurable]
+c<-CBN[,.(FoodExpenditure_Per,FoodExpenditure_Per_total,Total_Exp_Month_Per_nondurable,Total_Exp_Month,Total_Food_Month_Per2,Poor,Decile,Weight,cluster)]
+
+
+#########Iteration 9###############
+#Sort Expenditure data
+CBN<- CBN[order(Total_Food_Month_Per2)]
+c<- c[order(Total_Food_Month_Per2)]
+
+#Indicate new poors
+CBN[,Poor9:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_8 & cluster==1,1,0)]
+c[,Poor9:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_8 & cluster==1 ,1,0)]
+CBN[,Poor9:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_8 & cluster==2,1,Poor9)]
+c[,Poor9:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_8 & cluster==2 ,1,Poor9)]
+CBN[,Poor9:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_8 & cluster==3,1,Poor9)]
+c[,Poor9:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_8 & cluster==3 ,1,Poor9)]
+CBN[,Poor9:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_8 & cluster==4,1,Poor9)]
+c[,Poor9:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_8 & cluster==4 ,1,Poor9)]
+CBN[,weighted.mean(Poor9,Weight),by=cluster][order(cluster)]
+CBNPoor8[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9<-CBN[Poor9==1]
+
+
+#CalculatePer_calories in clusters
+CBNPoor9[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(191:206)][]
+#utils::View(CBNPoor9)
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor9[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(208:223)][]
+
+
+CBNPoor9[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor9[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor9[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor9[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9<-CBNPoor9[Per_Daily_Exp_Calories!=0]
+CBNPoor9[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor9[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+
+#sum of total food expenditures
+CBNPoor9[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor9[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor9[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor9[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+
+
+
+#Calculations
+CBNPoor9[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,weighted.mean(FoodExpenditure_Per_day,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+
+
+
+#Food Poverty Line for each cluster
+#cluster 1
+CBNPoorCluster<-CBNPoor9[cluster==1]
+Food_Povertyline1_9<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 2
+CBNPoorCluster<-CBNPoor9[cluster==2]
+Food_Povertyline2_9<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 3
+CBNPoorCluster<-CBNPoor9[cluster==3]
+Food_Povertyline3_9<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 4
+CBNPoorCluster<-CBNPoor9[cluster==4]
+Food_Povertyline4_9<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#ee<-CBNPoor[,.(Total_Exp_Month_Real,Total_Exp_Month,Total_Food_Month_Per2,Total_Exp_Month_Per_nondurable,Total_Exp_Month_nondurable_Real_Per,FoodExpenditure_Per,cluster)]
+#mean(ee[,Total_Food_Month_Per2==Total_Exp_Month_nondurable_Real])
+#mean(ee[,Total_Food_Month_Per2<3500000])
+#ee<- ee[order(Total_Food_Month_Per2)]
+#utils::View(CBN)
+#for (col in c("Total_Food_Month_Per2")) CBN[is.na(get(col)), (col) := Total_Exp_Month_Per_nondurable]
+c<-CBN[,.(FoodExpenditure_Per,FoodExpenditure_Per_total,Total_Exp_Month_Per_nondurable,Total_Exp_Month,Total_Food_Month_Per2,Poor,Decile,Weight,cluster)]
+
+
+#########Iteration 10###############
+#Sort Expenditure data
+CBN<- CBN[order(Total_Food_Month_Per2)]
+c<- c[order(Total_Food_Month_Per2)]
+
+#Indicate new poors
+CBN[,Poor10:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_9 & cluster==1,1,0)]
+c[,Poor10:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_9 & cluster==1 ,1,0)]
+CBN[,Poor10:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_9 & cluster==2,1,Poor10)]
+c[,Poor10:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_9 & cluster==2 ,1,Poor10)]
+CBN[,Poor10:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_9 & cluster==3,1,Poor10)]
+c[,Poor10:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_9 & cluster==3 ,1,Poor10)]
+CBN[,Poor10:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_9 & cluster==4,1,Poor10)]
+c[,Poor10:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_9 & cluster==4 ,1,Poor10)]
+CBN[,weighted.mean(Poor10,Weight),by=cluster][order(cluster)]
+CBNPoor9[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor10<-CBN[Poor10==1]
+
+#Engel
+#CBNPoor9<-CBNPoor9[,ratio1:=FoodExpenditure/Total_Exp_Month]
+#CBNPoor9[,weighted.mean(ratio1,Weight),by=cluster]
+#summary(CBNPoor9$ratio1)
+CBN<-CBN[,ratio1:=FoodExpenditure/Total_Exp_Month]
+CBN[,weighted.mean(ratio1,Weight),by=ProvinceCode][order(ProvinceCode)]
+CBN<-CBN[,ratio2:=ServiceExp/Total_Exp_Month]
+CBN[,weighted.mean(ratio2,Weight),by=ProvinceCode][order(ProvinceCode)]
+
+# Poverty Line for each cluster
+#cluster 1
+CBNPoorCluster<-CBN[cluster==1 & FoodExpenditure_Per<1.1*Food_Povertyline1_9 & FoodExpenditure_Per>0.90*Food_Povertyline1_9]
+Engel1<-weighted.mean(CBNPoorCluster$ratio1,CBNPoorCluster$Weight)
+Engel_Reverse1<-1/Engel1
+Povertyline1_9<-Engel_Reverse1*Food_Povertyline1_9
+
+#cluster 2
+CBNPoorCluster<-CBN[cluster==2 & FoodExpenditure_Per<1.1*Food_Povertyline2_9 & FoodExpenditure_Per>0.90*Food_Povertyline2_9]
+Engel2<-weighted.mean(CBNPoorCluster$ratio1,CBNPoorCluster$Weight)
+Engel_Reverse2<-1/Engel2
+Povertyline2_9<-Engel_Reverse2*Food_Povertyline2_9
+
+#cluster 3
+CBNPoorCluster<-CBN[cluster==3 & FoodExpenditure_Per<1.1*Food_Povertyline3_9 & FoodExpenditure_Per>0.90*Food_Povertyline3_9]
+Engel3<-weighted.mean(CBNPoorCluster$ratio1,CBNPoorCluster$Weight)
+Engel_Reverse3<-1/Engel3
+Povertyline3_9<-Engel_Reverse3*Food_Povertyline3_9
+
+#cluster 4
+CBNPoorCluster<-CBN[cluster==4 & FoodExpenditure_Per<1.1*Food_Povertyline4_9 & FoodExpenditure_Per>0.90*Food_Povertyline4_9]
+Engel4<-weighted.mean(CBNPoorCluster$ratio1,CBNPoorCluster$Weight)
+Engel_Reverse4<-1/Engel4
+Povertyline4_9<-Engel_Reverse4*Food_Povertyline4_9
+
+#Indicate final poors
+CBN<-CBN[,Total_Exp_Month_Per2:=Total_Exp_Month_Per_nondurable*RealPriceIndex]
+
+CBN[,Poor11:=ifelse(Total_Exp_Month_Per_nondurable < Povertyline1_9 & cluster==1,1,0)]
+CBN[,Poor11:=ifelse(Total_Exp_Month_Per_nondurable < Povertyline2_9 & cluster==2,1,Poor11)]
+CBN[,Poor11:=ifelse(Total_Exp_Month_Per_nondurable < Povertyline3_9 & cluster==3,1,Poor11)]
+CBN[,Poor11:=ifelse(Total_Exp_Month_Per_nondurable < Povertyline4_9 & cluster==4,1,Poor11)]
+CBN[,weighted.mean(Poor11,Weight),by=cluster][order(cluster)]
+CBNPoor9[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor11<-CBN[Poor11==1]
+
+CBN[,sum(Size*Weight),by=cluster][order(cluster)]
+CBNPoor9[,sum(Size*Weight),by=cluster][order(cluster)]
+CBNPoor9[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBN[,weighted.mean(Poor11,Weight)]
+CBN[,weighted.mean(Poor11,Weight),by=cluster][order(cluster)]
+CBN[,weighted.mean(Poor11,Weight),by=ProvinceCode][order(ProvinceCode)]
+endtime <- proc.time()
+
+cat("\n\n============================\nIt took ")
+cat(endtime-starttime)
+
diff --git a/R/Archive/Other Codes/60-CBN92-Rural.R b/R/Archive/Other Codes/60-CBN92-Rural.R
new file mode 100644
index 00000000..59a572c0
--- /dev/null
+++ b/R/Archive/Other Codes/60-CBN92-Rural.R
@@ -0,0 +1,2938 @@
+#CBN Method-Rural.R
+#
+# Copyright © 2018:Arin Shahbazian
+# Licence: GPL-3
+#
+rm(list=ls())
+
+starttime <- proc.time()
+cat("\n\n================ Prepare Data =====================================\n")
+
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+library(readxl)
+library(stringr)
+library(data.table)
+
+#for(year in (Settings$startyear:Settings$endyear)){
+# cat(paste0("\n------------------------------\nYear:",year,"\n"))
+
+load(file=paste0(Settings$HEISProcessedPath,"Y","92","HHBase.rda"))
+HHBase[,IndivNo:=NULL]
+HHBase[,Relationship:=NULL]
+HHBase[,Sex:=NULL]
+HHBase[,Age:=NULL]
+HHBase[,Literate:=NULL]
+HHBase[,Student:=NULL]
+HHBase[,EduCode:=NULL]
+HHBase[,EduYears:=NULL]
+HHBase[,EduLevel:=NULL]
+HHBase[,EduLevel0:=NULL]
+HHBase[,ActivityState:=NULL]
+HHBase[,MarritalState:=NULL]
+load(file=paste0(Settings$HEISProcessedPath,"Y","92","Ghand_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","92","Hoboobat_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","92","Roghan_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","92","Berenj_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","92","Nan_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","92","Goosht_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","92","Morgh_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","92","Mahi_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","92","Shir_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","92","Mast_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","92","Panir_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","92","Tokhmemorgh_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","92","Mive_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","92","Sabzi_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","92","Makarooni_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","92","Sibzamini_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","92","Weights.rda"))
+
+Ghand_Data<-Ghand_Data[,.(HHID,Ghandgram,GhandPrice)]
+Hoboobat_Data<-Hoboobat_Data[,.(HHID,Hoboobatgram,HoboobatPrice)]
+Roghan_Data<-Roghan_Data[,.(HHID,Roghangram,RoghanPrice)]
+Berenj_Data<-Berenj_Data[,.(HHID,Berenjgram,BerenjPrice)]
+Nan_Data<-Nan_Data[,.(HHID,Nangram,NanPrice)]
+Goosht_Data<-Goosht_Data[,.(HHID,Gooshtgram,GooshtPrice)]
+Morgh_Data<-Morgh_Data[,.(HHID,Morghgram,MorghPrice)]
+Mahi_Data<-Mahi_Data[,.(HHID,Mahigram,MahiPrice)]
+Shir_Data<-Shir_Data[,.(HHID,Shirgram,ShirPrice)]
+Mast_Data<-Mast_Data[,.(HHID,Mastgram,MastPrice)]
+Panir_Data<-Panir_Data[,.(HHID,Panirgram,PanirPrice)]
+Tokhmemorgh_Data<-Tokhmemorgh_Data[,.(HHID,Tokhmemorghgram,TokhmemorghPrice)]
+Mive_Data<-Mive_Data[,.(HHID,Mivegram,MivePrice)]
+Sabzi_Data<-Sabzi_Data[,.(HHID,Sabzigram,SabziPrice)]
+Makarooni_Data<-Makarooni_Data[,.(HHID,Makaroonigram,MakarooniPrice)]
+Sibzamini_Data<-Sibzamini_Data[,.(HHID,Sibzaminigram,SibzaminiPrice)]
+
+Food<-merge(HHBase,Ghand_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Ghandgram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Hoboobat_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Hoboobatgram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Roghan_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Roghangram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Berenj_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Berenjgram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Nan_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Nangram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Goosht_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Gooshtgram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Morgh_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Morghgram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Mahi_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Mahigram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Shir_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Shirgram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Mast_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Mastgram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Panir_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Panirgram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Tokhmemorgh_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Tokhmemorghgram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Mive_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Mivegram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Sabzi_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Sabzigram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Makarooni_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Makaroonigram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Sibzamini_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Sibzaminigram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Weights,by =c("HHID"),all.x=TRUE)
+
+
+
+#load Expenditure groups
+load(file=paste0(Settings$HEISProcessedPath,"Y","92","HHBase.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","92","HHI.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","92","Foods.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","92","Cigars.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","92","Cloths.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","92","Amusements.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","92","Communications.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","92","Durables.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","92","Education.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","92","Energy.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","92","Furnitures.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","92","Hotels.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","92","House.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","92","Medicals.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","92","Behdashts.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","92","Transportations.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","92","Others.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","92","Investments.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","92","Resturants.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","92","Weights.rda"))
+
+#merge Expenditure groups
+CBN<-merge(Food,HHI ,by =c("HHID"),all=TRUE)
+CBN<-merge(CBN,FoodData,by =c("HHID"),all=TRUE)
+for (col in c("FoodExpenditure")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,CigarData,by =c("HHID"),all=TRUE)
+for (col in c("Cigar_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,ClothData,by =c("HHID"),all=TRUE)
+for (col in c("Cloth_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,AmusementData,by =c("HHID"),all=TRUE)
+for (col in c("Amusement_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,CommunicationData,by =c("HHID"),all=TRUE)
+for (col in c("Communication_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,EducData,by =c("HHID"),all=TRUE)
+for (col in c("EducExpenditure")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,EnergyData,by =c("HHID"),all=TRUE)
+for (col in c("Energy_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,FurnitureData,by =c("HHID"),all=TRUE)
+for (col in c("Furniture_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,HotelData,by =c("HHID"),all=TRUE)
+for (col in c("Hotel_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,BehdashtData,by =c("HHID"),all=TRUE)
+for (col in c("Behdasht_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,TransportationData,by =c("HHID"),all=TRUE)
+for (col in c("Transportation_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,OtherData,by =c("HHID"),all=TRUE)
+for (col in c("Other_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,HouseData,by =c("HHID"),all=TRUE)
+for (col in c("ServiceExp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,InvestmentData,by =c("HHID"),all=TRUE)
+for (col in c("Investment_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,MedicalData,by =c("HHID"),all=TRUE)
+for (col in c("Medical_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,DurableData,by =c("HHID"),all=TRUE)
+for (col in c("Durable_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,ResturantData,by =c("HHID"),all=TRUE)
+for (col in c("Resturant_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-CBN[Size!=0]
+CBN<-CBN[Region=="Rural"]
+CBN<-CBN[FoodExpenditure!=0]
+
+
+#Calculate Per_Total Expenditures Monthly
+CBN[, Total_Exp_Month := Reduce(`+`, .SD), .SDcols=c(65:77,82:83)][]
+CBN[, Total_Exp_Month_nondurable := Reduce(`+`, .SD), .SDcols=65:77][]
+
+CBN$Total_Exp_Month_Per<-CBN$Total_Exp_Month/CBN$EqSizeOECD
+CBN$Total_Exp_Month_Per_nondurable<-CBN$Total_Exp_Month_nondurable/CBN$EqSizeOECD
+
+#Calculate Per_Food Expenditures Monthly
+CBN[,EqSizeCalory :=(Size-NKids) + NKids*(1800/2100)]
+CBN$FoodExpenditure_Per<-CBN$FoodExpenditure/CBN$EqSizeCalory
+
+#Calculate Per_Food Expenditures Daily
+CBN$FoodExpenditure_Per_day<-CBN$FoodExpenditure_Per/30
+
+CBN$Ghandgram_Per_day<-CBN$Ghandgram/(30*CBN$EqSizeOECD)
+CBN$Hoboobatgram_Per_day<-CBN$Hoboobatgram/(30*CBN$EqSizeOECD)
+CBN$Berenjgram_Per_day<-CBN$Berenjgram/(30*CBN$EqSizeOECD)
+CBN$Nangram_Per_day<-CBN$Nangram/(30*CBN$EqSizeOECD)
+CBN$Roghangram_Per_day<-CBN$Roghangram/(30*CBN$EqSizeOECD)
+CBN$Gooshtgram_Per_day<-CBN$Gooshtgram/(30*CBN$EqSizeOECD)
+CBN$Morghgram_Per_day<-CBN$Morghgram/(30*CBN$EqSizeOECD)
+CBN$Mahigram_Per_day<-CBN$Mahigram/(30*CBN$EqSizeOECD)
+CBN$Shirgram_Per_day<-CBN$Shirgram/(30*CBN$EqSizeOECD)
+CBN$Mastgram_Per_day<-CBN$Mastgram/(30*CBN$EqSizeOECD)
+CBN$Panirgram_Per_day<-CBN$Panirgram/(30*CBN$EqSizeOECD)
+CBN$Tokhmemorghgram_Per_day<-CBN$Tokhmemorghgram/(30*CBN$EqSizeOECD)
+CBN$Mivegram_Per_day<-CBN$Mivegram/(30*CBN$EqSizeOECD)
+CBN$Sabzigram_Per_day<-CBN$Sabzigram/(30*CBN$EqSizeOECD)
+CBN$Makaroonigram_Per_day<-CBN$Makaroonigram/(30*CBN$EqSizeOECD)
+CBN$Sibzaminigram_Per_day<-CBN$Sibzaminigram/(30*CBN$EqSizeOECD)
+CBN[,EqSizeCalory:=NULL]
+
+load(file="PriceIndex95.rda")
+CBN<-merge(CBN,PriceIndex95,by=c("ProvinceCode"),all.x = TRUE)
+CBN[,ostan:=NULL]
+load(file="PriceIndex.rda")
+CBN<-merge(CBN,PriceIndex,by=c("ProvinceCode"),all.x = TRUE)
+
+#Sort Expenditure data
+CBN<- CBN[order(Total_Exp_Month_Per_nondurable)]
+
+#Calculate cumulative weights
+sum(CBN$Weight)
+CBN$cumweight <- cumsum(CBN$Weight)
+tx <- max(CBN$cumweight)
+
+#Calculate deciles by weights
+CBN[,Decile:=cut(cumweight,breaks = seq(0,tx,tx/10),labels = 1:10)]
+CBN[,Percentile:=cut(cumweight,breaks=seq(0,tx,tx/100),labels=1:100)]
+
+
+CBN$Ghand_W<-CBN$Ghandgram_Per_day*CBN$GhandPrice*0.001*30
+CBN$Hoboobat_W<-CBN$Hoboobatgram_Per_day*CBN$HoboobatPrice*0.001*30
+CBN$Roghan_W<-CBN$Roghangram_Per_day*CBN$RoghanPrice*0.001*30
+CBN$Berenj_W<-CBN$Berenjgram_Per_day*CBN$BerenjPrice*0.001*30
+CBN$Nan_W<-CBN$Nangram_Per_day*CBN$NanPrice*0.001*30
+CBN$Goosht_W<-CBN$Gooshtgram_Per_day*CBN$GooshtPrice*0.001*30
+CBN$Morgh_W<-CBN$Morghgram_Per_day*CBN$MorghPrice*0.001*30
+CBN$Mahi_W<-CBN$Mahigram_Per_day*CBN$MahiPrice*0.001*30
+CBN$Shir_W<-CBN$Shirgram_Per_day*CBN$ShirPrice*0.001*30
+CBN$Mast_W<-CBN$Mastgram_Per_day*CBN$MastPrice*0.001*30
+CBN$Panir_W<-CBN$Panirgram_Per_day*CBN$PanirPrice*0.001*30
+CBN$Tokhmemorgh_W<-CBN$Tokhmemorghgram_Per_day*CBN$TokhmemorghPrice*0.001*30
+CBN$Mive_W<-CBN$Mivegram_Per_day*CBN$MivePrice*0.001*30
+CBN$Sabzi_W<-CBN$Sabzigram_Per_day*CBN$SabziPrice*0.001*30
+CBN$Makarooni_W<-CBN$Makaroonigram_Per_day*CBN$MakarooniPrice*0.001*30
+CBN$Sibzamini_W<-CBN$Sibzaminigram_Per_day*CBN$SibzaminiPrice*0.001*30
+CBN$Home_W<-CBN$ServiceExp/CBN$EqSizeOECD
+CBN$Home_Per_Metr<-CBN$MetrPrice/CBN$EqSizeOECD
+
+#Seperate big cities
+CBN[,sum(Weight*Size),by=ProvinceCode][order(V1)]
+CBN[,HHIDs:=as.character(HHID)]
+CBN[,ShahrestanCode:=as.integer(str_sub(HHIDs,2,5))]
+CBN[,sum(Weight*Size),by=ShahrestanCode][order(V1)][330:387]
+CBNTehran<-CBN[ProvinceCode==23]
+CBNTehran[,sum(Weight*Size),by=ShahrestanCode]
+CBNTabriz<-CBN[ProvinceCode==3]
+CBNTabriz[,sum(Weight*Size),by=ShahrestanCode]
+CBNAhvaz<-CBN[ProvinceCode==6]
+CBNAhvaz[,sum(Weight*Size),by=ShahrestanCode]
+CBNShiraz<-CBN[ProvinceCode==7]
+CBNShiraz[,sum(Weight*Size),by=ShahrestanCode]
+CBNMashhad<-CBN[ProvinceCode==9]
+CBNMashhad[,sum(Weight*Size),by=ShahrestanCode]
+CBNEsfahan<-CBN[ProvinceCode==10]
+CBNEsfahan[,sum(Weight*Size),by=ShahrestanCode]
+CBNKaraj<-CBN[ProvinceCode==30]
+CBNKaraj[,sum(Weight*Size),by=ShahrestanCode]
+CBNKermanshah<-CBN[ProvinceCode==5]
+CBNKermanshah[,sum(Weight*Size),by=ShahrestanCode]
+
+
+# Food Calories
+CBN$Ghand_Calory<- CBN$Ghandgram *4
+CBN$Hoboobat_Calory<- CBN$Hoboobatgram *3
+CBN$Nan_Calory<- CBN$Nangram *2.5
+CBN$Berenj_Calory<- CBN$Berenjgram *1.2
+CBN$Roghan_Calory<- CBN$Roghangram *8
+CBN$Goosht_Calory<- CBN$Gooshtgram *2.5
+CBN$Morgh_Calory<- CBN$Morghgram *2
+CBN$Mahi_Calory<- CBN$Mahigram *1
+CBN$Shir_Calory<- CBN$Shirgram *2.5
+CBN$Mast_Calory<- CBN$Mastgram *1.5
+CBN$Panir_Calory<- CBN$Mastgram *2.5
+CBN$Tokhmemorgh_Calory<- CBN$Tokhmemorghgram *1.4
+CBN$Mive_Calory<- CBN$Mivegram *0.5
+CBN$Sabzi_Calory<- CBN$Sabzigram *0.5
+CBN$Makarooni_Calory<- CBN$Makaroonigram *3.6
+CBN$Sibzamini_Calory<- CBN$Sibzaminigram *0.9
+#utils::View(CBN)
+
+#CalculatePer_calories
+CBN[, Daily_Exp_Calories := Reduce(`+`, .SD), .SDcols=148:163][]
+CBN[,EqSizeCalory :=(Size-NKids) + NKids*(1800/2100)]
+CBN[,Per_Daily_Exp_Calories:=Daily_Exp_Calories/EqSizeCalory]
+CBN <- CBN[Per_Daily_Exp_Calories<100000] # arbitrary removal of outliers
+#CBN[,Daily_Calories_cluster:=weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+#CBN[,weighted.mean(Daily_Calories_cluster,Weight,na.rm = TRUE),by=cluster]
+#CBN[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+#CBN[,weighted.mean(Size,Weight,na.rm = TRUE),by=cluster]
+#CBN[,sum(Weight*Size),by=cluster]
+#CBN[,sum(Weight),by=cluster]
+#CBN[,sum(Poor),by=cluster]
+
+
+#Calculate_Per_calories
+CBN$Ghand_per_Calory<- CBN$Ghandgram *4/CBN$EqSizeCalory
+CBN$Hoboobat_per_Calory<- CBN$Hoboobatgram *3/CBN$EqSizeCalory
+CBN$Nan_per_Calory<- CBN$Nangram *2.5/CBN$EqSizeCalory
+CBN$Berenj_per_Calory<- CBN$Berenjgram *1.2/CBN$EqSizeCalory
+CBN$Roghan_per_Calory<- CBN$Roghangram *8/CBN$EqSizeCalory
+CBN$Goosht_per_Calory<- CBN$Gooshtgram *2.5/CBN$EqSizeCalory
+CBN$Morgh_per_Calory<- CBN$Morghgram *2/CBN$EqSizeCalory
+CBN$Mahi_per_Calory<- CBN$Mahigram *1/CBN$EqSizeCalory
+CBN$Shir_per_Calory<- CBN$Shirgram *2.5/CBN$EqSizeCalory
+CBN$Mast_per_Calory<- CBN$Mastgram *1.5/CBN$EqSizeCalory
+CBN$Panir_per_Calory<- CBN$Mastgram *2.5/CBN$EqSizeCalory
+CBN$Tokhmemorgh_per_Calory<- CBN$Tokhmemorghgram *1.4/CBN$EqSizeCalory
+CBN$Mive_per_Calory<- CBN$Mivegram *0.5/CBN$EqSizeCalory
+CBN$Sabzi_per_Calory<- CBN$Sabzigram *0.5/CBN$EqSizeCalory
+CBN$Makarooni_per_Calory<- CBN$Makaroonigram *3.6/CBN$EqSizeCalory
+CBN$Sibzamini_per_Calory<- CBN$Sibzaminigram *0.9/CBN$EqSizeCalory
+
+
+#Assume that deciles 1 and 2 are poor
+CBN[,Poor:=ifelse(Decile %in% 1:4,1,0)]
+CBNPoor<-CBN[Poor==1]
+
+#K-means weights
+PriceWeights<-CBN[,.(HHID,Ghand_W,Hoboobat_W,Roghan_W,Berenj_W,Nan_W,Goosht_W,Morgh_W,Mahi_W,Shir_W,Mast_W,Panir_W,Tokhmemorgh_W,Mive_W,Sabzi_W,Makarooni_W,Sibzamini_W,Home_W,ProvinceCode,Weight)]
+dt3 <- PriceWeights[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+dt3<- dt3[order(ProvinceCode)]
+dt3 <- dt3[,.(Ghand_W,Hoboobat_W,Roghan_W,Berenj_W,Nan_W,Goosht_W,Morgh_W,Mahi_W,Shir_W,Mast_W,Panir_W,Tokhmemorgh_W,Mive_W,Sabzi_W,Makarooni_W,Sibzamini_W,Home_W)]
+
+
+
+#K-means algorithm for clustering by prices
+test<-CBNPoor[,.(GhandPrice,HoboobatPrice,RoghanPrice,BerenjPrice,NanPrice,GooshtPrice,MorghPrice,MahiPrice,ShirPrice,MastPrice,PanirPrice,TokhmemorghPrice,MivePrice,SabziPrice,MakarooniPrice,SibzaminiPrice,MetrPrice,ProvinceCode,Weight)]
+#test<-CBNPoor[,.(GhandPrice,HoboobatPrice,RoghanPrice,BerenjPrice,NanPrice,GooshtPrice,MorghPrice,MahiPrice,ShirPrice,MastPrice,PanirPrice,TokhmemorghPrice,MivePrice,SabziPrice,MakarooniPrice,SibzaminiPrice,MetrPrice,Ghand_W,Hoboobat_W,Roghan_W,Berenj_W,Nan_W,Goosht_W,Morgh_W,Mahi_W,Shir_W,Mast_W,Panir_W,Tokhmemorgh_W,Mive_W,Sabzi_W,Makarooni_W,Sibzamini_W,Home_W,Region,ProvinceCode,Weight)]
+dt2 <- test[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+dt2<- dt2[order(ProvinceCode)]
+for (col in c("MahiPrice")) dt2[is.nan(get(col)), (col) := 200000]
+dt <- dt2 [,.(GhandPrice,HoboobatPrice,RoghanPrice,BerenjPrice,NanPrice,GooshtPrice,MorghPrice,MahiPrice,ShirPrice,MastPrice,PanirPrice,TokhmemorghPrice,MivePrice,SabziPrice,MakarooniPrice,SibzaminiPrice,MetrPrice)]
+
+
+pca <- princomp(dt, cor=T)
+PRICE <- pca$scores
+PRICE1 <- -1*PRICE[,1]
+PRICE2 <- -1*PRICE[,2]
+PRICE3 <- -1*PRICE[,3]
+PRICE4 <- -1*PRICE[,4]
+PRICE5 <- -1*PRICE[,5]
+PRICE6 <- -1*PRICE[,6]
+PRICE7 <- -1*PRICE[,7]
+PRICE8 <- -1*PRICE[,8]
+PRICE9 <- -1*PRICE[,9]
+PRICE10 <- -1*PRICE[,10]
+PRICE11 <- -1*PRICE[,11]
+PRICE12 <- -1*PRICE[,12]
+PRICE13 <- -1*PRICE[,13]
+PRICE14 <- -1*PRICE[,14]
+PRICE15 <- -1*PRICE[,15]
+PRICE16 <- -1*PRICE[,16]
+PRICE17 <- -1*PRICE[,17]
+
+# Deciding how many clusters
+wss <- (nrow(dt)-1)*sum(apply(dt,2,var))
+for (i in 2:30) wss[i] <- sum(kmeans(dt, centers=i)$withinss)
+plot(1:30, wss, type="b", xlab="Number of Clusters",
+ ylab="Within groups sum of squares")
+
+#Weighted clustering
+
+dt3.m <- dt3[,lapply(.SD, mean)] # Weights for each vector
+dtW <- dt * sqrt(dt3.m[rep(1,nrow(dt))]) # Weighted observations
+kmeans(dtW,4) # Simple K-means
+
+cl <- kmeans(dtW,4)
+cl$cluster
+dt2 <- dt2[,cluster:=data.table(cl$cluster)]
+dt2<-dt2[,.(ProvinceCode,cluster)]
+load(file="dt5Rural.rda")
+#plot(PRICE1, PRICE2,col=cl$cluster)
+#points(cl$centers, pch=20)
+CBNPoor<-merge(CBNPoor,dt2,by=c("ProvinceCode"),all.x = TRUE)
+CBNPoor[,sum(Weight*Size),by=cluster]
+CBNPoor[,sum(Weight),by=cluster]
+CBNPoor[,sum(Poor),by=cluster]
+C2<-CBNPoor[,.(HHID,ProvinceCode,Region,Decile,Poor,cluster)]
+######################################################################
+
+
+
+
+
+
+
+
+
+####Iteration 1#####
+###Iteration1-1
+#Calculate Per_calories in clusters
+CBNPoor[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(185:200)][]
+#utils::View(CBNPoor)
+
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(202:217)][]
+
+CBNPoor[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor<-CBNPoor[Per_Daily_Exp_Calories!=0]
+CBNPoor[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+#CBN[,weighted.mean(Poor,Weight),by=cluster][order(cluster)]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE)]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE)]
+
+#Real Prices
+T_Bundle_Value<-subset(CBNPoor, ProvinceCode==23, select=c(Bundle_Value,Home_Per_Metr,Weight))
+Tehran_Bundle_Value1<-weighted.mean(T_Bundle_Value$Bundle_Value,T_Bundle_Value$Weight,na.rm = TRUE)
+Tehran_Bundle_Value2<-weighted.mean(T_Bundle_Value$Home_Per_Metr,T_Bundle_Value$Weight,na.rm = TRUE)
+CBNPoor[,RealPriceIndex1:=weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/Tehran_Bundle_Value1,by=ProvinceCode]
+CBNPoor[,RealPriceIndex2:=weighted.mean(Home_Per_Metr,Weight,na.rm = TRUE)/Tehran_Bundle_Value2,by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex1,Weight),by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex2,Weight),by=ProvinceCode]
+Indexes2<-CBNPoor[,.(RealPriceIndex1,RealPriceIndex2,ProvinceCode,Weight)]
+Indexes2<-Indexes2[,RealPriceIndex:=(RealPriceIndex1+RealPriceIndex2)/2]
+Indexes<-Indexes2[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+Indexes31<-Indexes[,.(ProvinceCode,RealPriceIndex1,RealPriceIndex2,RealPriceIndex)]
+Indexes<-Indexes[,.(ProvinceCode,RealPriceIndex)]
+CBN<-merge(CBN,Indexes,by=c("ProvinceCode"),all.x = TRUE)
+CBN<-CBN[,Total_Food_Month_Per2:=FoodExpenditure_Per*RealPriceIndex]
+CBN<-CBN[,Total_Exp_Month_Per2:=Total_Exp_Month_Per_nondurable*RealPriceIndex]
+#utils::View(CBN)
+
+#Sort Expenditure data
+CBN<- CBN[order(Total_Exp_Month_Per2)]
+
+#Calculate cumulative weights
+sum(CBN$Weight)
+CBN$cumweight <- cumsum(CBN$Weight)
+tx <- max(CBN$cumweight)
+
+#Calculate deciles by weights
+CBN[,Decile:=cut(cumweight,breaks = seq(0,tx,tx/10),labels = 1:10)]
+CBN[,Percentile:=cut(cumweight,breaks=seq(0,tx,tx/100),labels=1:100)]
+
+#Update Poors
+CBN[,Poor:=ifelse(Decile %in% 1:4,1,0)]
+CBNPoor<-CBN[Poor==1]
+CBNPoor<-merge(CBNPoor,dt2,by=c("ProvinceCode"),all.x = TRUE)
+CBNPoor[,sum(HIndivNo),by=.(ProvinceCode)][order(ProvinceCode)]
+
+###Iteration1-2
+#Calculate Per_calories in clusters
+CBNPoor[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(185:200)][]
+#utils::View(CBNPoor)
+
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(202:217)][]
+
+CBNPoor[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor<-CBNPoor[Per_Daily_Exp_Calories!=0]
+CBNPoor[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+#CBN[,weighted.mean(Poor,Weight),by=cluster][order(cluster)]
+
+#Real Prices
+T_Bundle_Value<-subset(CBNPoor, ProvinceCode==23, select=c(Bundle_Value,Home_Per_Metr,Weight))
+Tehran_Bundle_Value1<-weighted.mean(T_Bundle_Value$Bundle_Value,T_Bundle_Value$Weight,na.rm = TRUE)
+Tehran_Bundle_Value2<-weighted.mean(T_Bundle_Value$Home_Per_Metr,T_Bundle_Value$Weight,na.rm = TRUE)
+CBNPoor[,RealPriceIndex1:=weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/Tehran_Bundle_Value1,by=ProvinceCode]
+CBNPoor[,RealPriceIndex2:=weighted.mean(Home_Per_Metr,Weight,na.rm = TRUE)/Tehran_Bundle_Value2,by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex1,Weight),by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex2,Weight),by=ProvinceCode]
+Indexes2<-CBNPoor[,.(RealPriceIndex1,RealPriceIndex2,ProvinceCode,Weight)]
+Indexes2<-Indexes2[,RealPriceIndex:=(RealPriceIndex1+RealPriceIndex2)/2]
+Indexes<-Indexes2[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+Indexes32<-Indexes[,.(ProvinceCode,RealPriceIndex1,RealPriceIndex2,RealPriceIndex)]
+Indexes<-Indexes[,.(ProvinceCode,RealPriceIndex)]
+CBN[,RealPriceIndex:=NULL]
+CBN<-merge(CBN,Indexes,by=c("ProvinceCode"),all.x = TRUE)
+CBN<-CBN[,Total_Food_Month_Per2:=FoodExpenditure_Per*RealPriceIndex]
+CBN<-CBN[,Total_Exp_Month_Per2:=Total_Exp_Month_Per_nondurable*RealPriceIndex]
+#utils::View(CBN)
+
+#Sort Expenditure data
+CBN<- CBN[order(Total_Exp_Month_Per2)]
+
+#Calculate cumulative weights
+sum(CBN$Weight)
+CBN$cumweight <- cumsum(CBN$Weight)
+tx <- max(CBN$cumweight)
+
+#Calculate deciles by weights
+CBN[,Decile:=cut(cumweight,breaks = seq(0,tx,tx/10),labels = 1:10)]
+CBN[,Percentile:=cut(cumweight,breaks=seq(0,tx,tx/100),labels=1:100)]
+
+#Update Poors
+CBN[,Poor:=ifelse(Decile %in% 1:4,1,0)]
+CBNPoor<-CBN[Poor==1]
+CBNPoor<-merge(CBNPoor,dt2,by=c("ProvinceCode"),all.x = TRUE)
+CBNPoor[,sum(HIndivNo),by=.(ProvinceCode)][order(ProvinceCode)]
+
+###Iteration1-3
+#Calculate Per_calories in clusters
+CBNPoor[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(185:200)][]
+#utils::View(CBNPoor)
+
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(202:217)][]
+
+CBNPoor[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor<-CBNPoor[Per_Daily_Exp_Calories!=0]
+CBNPoor[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+#CBN[,weighted.mean(Poor,Weight),by=cluster][order(cluster)]
+
+#Real Prices
+T_Bundle_Value<-subset(CBNPoor, ProvinceCode==23, select=c(Bundle_Value,Home_Per_Metr,Weight))
+Tehran_Bundle_Value1<-weighted.mean(T_Bundle_Value$Bundle_Value,T_Bundle_Value$Weight,na.rm = TRUE)
+Tehran_Bundle_Value2<-weighted.mean(T_Bundle_Value$Home_Per_Metr,T_Bundle_Value$Weight,na.rm = TRUE)
+CBNPoor[,RealPriceIndex1:=weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/Tehran_Bundle_Value1,by=ProvinceCode]
+CBNPoor[,RealPriceIndex2:=weighted.mean(Home_Per_Metr,Weight,na.rm = TRUE)/Tehran_Bundle_Value2,by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex1,Weight),by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex2,Weight),by=ProvinceCode]
+Indexes2<-CBNPoor[,.(RealPriceIndex1,RealPriceIndex2,ProvinceCode,Weight)]
+Indexes2<-Indexes2[,RealPriceIndex:=(RealPriceIndex1+RealPriceIndex2)/2]
+Indexes<-Indexes2[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+Indexes33<-Indexes[,.(ProvinceCode,RealPriceIndex1,RealPriceIndex2,RealPriceIndex)]
+Indexes<-Indexes[,.(ProvinceCode,RealPriceIndex)]
+CBN[,RealPriceIndex:=NULL]
+CBN<-merge(CBN,Indexes,by=c("ProvinceCode"),all.x = TRUE)
+CBN<-CBN[,Total_Food_Month_Per2:=FoodExpenditure_Per*RealPriceIndex]
+CBN<-CBN[,Total_Exp_Month_Per2:=Total_Exp_Month_Per_nondurable*RealPriceIndex]
+#utils::View(CBN)
+
+#Sort Expenditure data
+CBN<- CBN[order(Total_Exp_Month_Per2)]
+
+#Calculate cumulative weights
+sum(CBN$Weight)
+CBN$cumweight <- cumsum(CBN$Weight)
+tx <- max(CBN$cumweight)
+
+#Calculate deciles by weights
+CBN[,Decile:=cut(cumweight,breaks = seq(0,tx,tx/10),labels = 1:10)]
+CBN[,Percentile:=cut(cumweight,breaks=seq(0,tx,tx/100),labels=1:100)]
+
+#Update Poors
+CBN[,Poor:=ifelse(Decile %in% 1:4,1,0)]
+CBNPoor<-CBN[Poor==1]
+CBNPoor<-merge(CBNPoor,dt2,by=c("ProvinceCode"),all.x = TRUE)
+CBNPoor[,sum(HIndivNo),by=.(ProvinceCode)][order(ProvinceCode)]
+
+
+###Iteration1-4
+#Calculate Per_calories in clusters
+CBNPoor[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(185:200)][]
+#utils::View(CBNPoor)
+
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(202:217)][]
+
+CBNPoor[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor<-CBNPoor[Per_Daily_Exp_Calories!=0]
+CBNPoor[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+#CBN[,weighted.mean(Poor,Weight),by=cluster][order(cluster)]
+
+#Real Prices
+T_Bundle_Value<-subset(CBNPoor, ProvinceCode==23, select=c(Bundle_Value,Home_Per_Metr,Weight))
+Tehran_Bundle_Value1<-weighted.mean(T_Bundle_Value$Bundle_Value,T_Bundle_Value$Weight,na.rm = TRUE)
+Tehran_Bundle_Value2<-weighted.mean(T_Bundle_Value$Home_Per_Metr,T_Bundle_Value$Weight,na.rm = TRUE)
+CBNPoor[,RealPriceIndex1:=weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/Tehran_Bundle_Value1,by=ProvinceCode]
+CBNPoor[,RealPriceIndex2:=weighted.mean(Home_Per_Metr,Weight,na.rm = TRUE)/Tehran_Bundle_Value2,by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex1,Weight),by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex2,Weight),by=ProvinceCode]
+Indexes2<-CBNPoor[,.(RealPriceIndex1,RealPriceIndex2,ProvinceCode,Weight)]
+Indexes2<-Indexes2[,RealPriceIndex:=(RealPriceIndex1+RealPriceIndex2)/2]
+Indexes<-Indexes2[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+Indexes34<-Indexes[,.(ProvinceCode,RealPriceIndex1,RealPriceIndex2,RealPriceIndex)]
+Indexes<-Indexes[,.(ProvinceCode,RealPriceIndex)]
+CBN[,RealPriceIndex:=NULL]
+CBN<-merge(CBN,Indexes,by=c("ProvinceCode"),all.x = TRUE)
+CBN<-CBN[,Total_Food_Month_Per2:=FoodExpenditure_Per*RealPriceIndex]
+CBN<-CBN[,Total_Exp_Month_Per2:=Total_Exp_Month_Per_nondurable*RealPriceIndex]
+#utils::View(CBN)
+
+
+#Sort Expenditure data
+CBN<- CBN[order(Total_Exp_Month_Per2)]
+
+#Calculate cumulative weights
+sum(CBN$Weight)
+CBN$cumweight <- cumsum(CBN$Weight)
+tx <- max(CBN$cumweight)
+
+#Calculate deciles by weights
+CBN[,Decile:=cut(cumweight,breaks = seq(0,tx,tx/10),labels = 1:10)]
+CBN[,Percentile:=cut(cumweight,breaks=seq(0,tx,tx/100),labels=1:100)]
+
+#Update Poors
+CBN[,Poor:=ifelse(Decile %in% 1:4,1,0)]
+CBNPoor<-CBN[Poor==1]
+CBNPoor<-merge(CBNPoor,dt2,by=c("ProvinceCode"),all.x = TRUE)
+CBNPoor[,sum(HIndivNo),by=.(ProvinceCode)][order(ProvinceCode)]
+
+###Iteration1-5
+#Calculate Per_calories in clusters
+CBNPoor[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(185:200)][]
+#utils::View(CBNPoor)
+
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(202:217)][]
+
+CBNPoor[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor<-CBNPoor[Per_Daily_Exp_Calories!=0]
+CBNPoor[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+#CBN[,weighted.mean(Poor,Weight),by=cluster][order(cluster)]
+
+#Real Prices
+T_Bundle_Value<-subset(CBNPoor, ProvinceCode==23, select=c(Bundle_Value,Home_Per_Metr,Weight))
+Tehran_Bundle_Value1<-weighted.mean(T_Bundle_Value$Bundle_Value,T_Bundle_Value$Weight,na.rm = TRUE)
+Tehran_Bundle_Value2<-weighted.mean(T_Bundle_Value$Home_Per_Metr,T_Bundle_Value$Weight,na.rm = TRUE)
+CBNPoor[,RealPriceIndex1:=weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/Tehran_Bundle_Value1,by=ProvinceCode]
+CBNPoor[,RealPriceIndex2:=weighted.mean(Home_Per_Metr,Weight,na.rm = TRUE)/Tehran_Bundle_Value2,by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex1,Weight),by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex2,Weight),by=ProvinceCode]
+Indexes2<-CBNPoor[,.(RealPriceIndex1,RealPriceIndex2,ProvinceCode,Weight)]
+Indexes2<-Indexes2[,RealPriceIndex:=(RealPriceIndex1+RealPriceIndex2)/2]
+Indexes<-Indexes2[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+Indexes35<-Indexes[,.(ProvinceCode,RealPriceIndex1,RealPriceIndex2,RealPriceIndex)]
+Indexes<-Indexes[,.(ProvinceCode,RealPriceIndex)]
+CBN[,RealPriceIndex:=NULL]
+CBN<-merge(CBN,Indexes,by=c("ProvinceCode"),all.x = TRUE)
+CBN<-CBN[,Total_Food_Month_Per2:=FoodExpenditure_Per*RealPriceIndex]
+CBN<-CBN[,Total_Exp_Month_Per2:=Total_Exp_Month_Per_nondurable*RealPriceIndex]
+#utils::View(CBN)
+
+
+#Sort Expenditure data
+CBN<- CBN[order(Total_Exp_Month_Per2)]
+
+#Calculate cumulative weights
+sum(CBN$Weight)
+CBN$cumweight <- cumsum(CBN$Weight)
+tx <- max(CBN$cumweight)
+
+#Calculate deciles by weights
+CBN[,Decile:=cut(cumweight,breaks = seq(0,tx,tx/10),labels = 1:10)]
+CBN[,Percentile:=cut(cumweight,breaks=seq(0,tx,tx/100),labels=1:100)]
+
+#Update Poors
+CBN[,Poor:=ifelse(Decile %in% 1:4,1,0)]
+CBNPoor<-CBN[Poor==1]
+CBNPoor<-merge(CBNPoor,dt2,by=c("ProvinceCode"),all.x = TRUE)
+CBNPoor[,sum(HIndivNo),by=.(ProvinceCode)][order(ProvinceCode)]
+
+###Iteration1-6
+#Calculate Per_calories in clusters
+CBNPoor[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(185:200)][]
+#utils::View(CBNPoor)
+
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(202:217)][]
+
+CBNPoor[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor<-CBNPoor[Per_Daily_Exp_Calories!=0]
+CBNPoor[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+#CBN[,weighted.mean(Poor,Weight),by=cluster][order(cluster)]
+
+#Real Prices
+T_Bundle_Value<-subset(CBNPoor, ProvinceCode==23, select=c(Bundle_Value,Home_Per_Metr,Weight))
+Tehran_Bundle_Value1<-weighted.mean(T_Bundle_Value$Bundle_Value,T_Bundle_Value$Weight,na.rm = TRUE)
+Tehran_Bundle_Value2<-weighted.mean(T_Bundle_Value$Home_Per_Metr,T_Bundle_Value$Weight,na.rm = TRUE)
+CBNPoor[,RealPriceIndex1:=weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/Tehran_Bundle_Value1,by=ProvinceCode]
+CBNPoor[,RealPriceIndex2:=weighted.mean(Home_Per_Metr,Weight,na.rm = TRUE)/Tehran_Bundle_Value2,by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex1,Weight),by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex2,Weight),by=ProvinceCode]
+Indexes2<-CBNPoor[,.(RealPriceIndex1,RealPriceIndex2,ProvinceCode,Weight)]
+Indexes2<-Indexes2[,RealPriceIndex:=(RealPriceIndex1+RealPriceIndex2)/2]
+Indexes<-Indexes2[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+Indexes36<-Indexes[,.(ProvinceCode,RealPriceIndex1,RealPriceIndex2,RealPriceIndex)]
+Indexes<-Indexes[,.(ProvinceCode,RealPriceIndex)]
+CBN[,RealPriceIndex:=NULL]
+CBN<-merge(CBN,Indexes,by=c("ProvinceCode"),all.x = TRUE)
+CBN<-CBN[,Total_Food_Month_Per2:=FoodExpenditure_Per*RealPriceIndex]
+CBN<-CBN[,Total_Exp_Month_Per2:=Total_Exp_Month_Per_nondurable*RealPriceIndex]
+#utils::View(CBN)
+
+
+#Sort Expenditure data
+CBN<- CBN[order(Total_Exp_Month_Per2)]
+
+#Calculate cumulative weights
+sum(CBN$Weight)
+CBN$cumweight <- cumsum(CBN$Weight)
+tx <- max(CBN$cumweight)
+
+#Calculate deciles by weights
+CBN[,Decile:=cut(cumweight,breaks = seq(0,tx,tx/10),labels = 1:10)]
+CBN[,Percentile:=cut(cumweight,breaks=seq(0,tx,tx/100),labels=1:100)]
+
+#Update Poors
+CBN[,Poor:=ifelse(Decile %in% 1:4,1,0)]
+CBNPoor<-CBN[Poor==1]
+CBNPoor<-merge(CBNPoor,dt2,by=c("ProvinceCode"),all.x = TRUE)
+CBNPoor[,sum(HIndivNo),by=.(ProvinceCode)][order(ProvinceCode)]
+
+###Iteration1-7
+#Calculate Per_calories in clusters
+CBNPoor[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(185:200)][]
+#utils::View(CBNPoor)
+
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(202:217)][]
+
+CBNPoor[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor<-CBNPoor[Per_Daily_Exp_Calories!=0]
+CBNPoor[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+#CBN[,weighted.mean(Poor,Weight),by=cluster][order(cluster)]
+
+#Real Prices
+T_Bundle_Value<-subset(CBNPoor, ProvinceCode==23, select=c(Bundle_Value,Home_Per_Metr,Weight))
+Tehran_Bundle_Value1<-weighted.mean(T_Bundle_Value$Bundle_Value,T_Bundle_Value$Weight,na.rm = TRUE)
+Tehran_Bundle_Value2<-weighted.mean(T_Bundle_Value$Home_Per_Metr,T_Bundle_Value$Weight,na.rm = TRUE)
+CBNPoor[,RealPriceIndex1:=weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/Tehran_Bundle_Value1,by=ProvinceCode]
+CBNPoor[,RealPriceIndex2:=weighted.mean(Home_Per_Metr,Weight,na.rm = TRUE)/Tehran_Bundle_Value2,by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex1,Weight),by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex2,Weight),by=ProvinceCode]
+Indexes2<-CBNPoor[,.(RealPriceIndex1,RealPriceIndex2,ProvinceCode,Weight)]
+Indexes2<-Indexes2[,RealPriceIndex:=(RealPriceIndex1+RealPriceIndex2)/2]
+Indexes<-Indexes2[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+Indexes37<-Indexes[,.(ProvinceCode,RealPriceIndex1,RealPriceIndex2,RealPriceIndex)]
+Indexes<-Indexes[,.(ProvinceCode,RealPriceIndex)]
+CBN[,RealPriceIndex:=NULL]
+CBN<-merge(CBN,Indexes,by=c("ProvinceCode"),all.x = TRUE)
+CBN<-CBN[,Total_Food_Month_Per2:=FoodExpenditure_Per*RealPriceIndex]
+CBN<-CBN[,Total_Exp_Month_Per2:=Total_Exp_Month_Per_nondurable*RealPriceIndex]
+#utils::View(CBN)
+
+
+#Sort Expenditure data
+CBN<- CBN[order(Total_Exp_Month_Per2)]
+
+#Calculate cumulative weights
+sum(CBN$Weight)
+CBN$cumweight <- cumsum(CBN$Weight)
+tx <- max(CBN$cumweight)
+
+#Calculate deciles by weights
+CBN[,Decile:=cut(cumweight,breaks = seq(0,tx,tx/10),labels = 1:10)]
+CBN[,Percentile:=cut(cumweight,breaks=seq(0,tx,tx/100),labels=1:100)]
+
+#Update Poors
+CBN[,Poor:=ifelse(Decile %in% 1:4,1,0)]
+CBNPoor<-CBN[Poor==1]
+CBNPoor<-merge(CBNPoor,dt2,by=c("ProvinceCode"),all.x = TRUE)
+CBNPoor[,sum(HIndivNo),by=.(ProvinceCode)][order(ProvinceCode)]
+
+###Iteration1-8
+#Calculate Per_calories in clusters
+CBNPoor[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(185:200)][]
+#utils::View(CBNPoor)
+
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(202:217)][]
+
+CBNPoor[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor<-CBNPoor[Per_Daily_Exp_Calories!=0]
+CBNPoor[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+#CBN[,weighted.mean(Poor,Weight),by=cluster][order(cluster)]
+
+#Real Prices
+T_Bundle_Value<-subset(CBNPoor, ProvinceCode==23, select=c(Bundle_Value,Home_Per_Metr,Weight))
+Tehran_Bundle_Value1<-weighted.mean(T_Bundle_Value$Bundle_Value,T_Bundle_Value$Weight,na.rm = TRUE)
+Tehran_Bundle_Value2<-weighted.mean(T_Bundle_Value$Home_Per_Metr,T_Bundle_Value$Weight,na.rm = TRUE)
+CBNPoor[,RealPriceIndex1:=weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/Tehran_Bundle_Value1,by=ProvinceCode]
+CBNPoor[,RealPriceIndex2:=weighted.mean(Home_Per_Metr,Weight,na.rm = TRUE)/Tehran_Bundle_Value2,by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex1,Weight),by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex2,Weight),by=ProvinceCode]
+Indexes2<-CBNPoor[,.(RealPriceIndex1,RealPriceIndex2,ProvinceCode,Weight)]
+Indexes2<-Indexes2[,RealPriceIndex:=(RealPriceIndex1+RealPriceIndex2)/2]
+Indexes<-Indexes2[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+Indexes38<-Indexes[,.(ProvinceCode,RealPriceIndex1,RealPriceIndex2,RealPriceIndex)]
+Indexes<-Indexes[,.(ProvinceCode,RealPriceIndex)]
+CBN[,RealPriceIndex:=NULL]
+CBN<-merge(CBN,Indexes,by=c("ProvinceCode"),all.x = TRUE)
+CBN<-CBN[,Total_Food_Month_Per2:=FoodExpenditure_Per*RealPriceIndex]
+CBN<-CBN[,Total_Exp_Month_Per2:=Total_Exp_Month_Per_nondurable*RealPriceIndex]
+#utils::View(CBN)
+
+
+#Sort Expenditure data
+CBN<- CBN[order(Total_Exp_Month_Per2)]
+
+#Calculate cumulative weights
+sum(CBN$Weight)
+CBN$cumweight <- cumsum(CBN$Weight)
+tx <- max(CBN$cumweight)
+
+#Calculate deciles by weights
+CBN[,Decile:=cut(cumweight,breaks = seq(0,tx,tx/10),labels = 1:10)]
+CBN[,Percentile:=cut(cumweight,breaks=seq(0,tx,tx/100),labels=1:100)]
+
+#Update Poors
+CBN[,Poor:=ifelse(Decile %in% 1:4,1,0)]
+CBNPoor<-CBN[Poor==1]
+CBNPoor<-merge(CBNPoor,dt2,by=c("ProvinceCode"),all.x = TRUE)
+CBNPoor[,sum(HIndivNo),by=.(ProvinceCode)][order(ProvinceCode)]
+
+###Iteration1-9
+#Calculate Per_calories in clusters
+CBNPoor[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(185:200)][]
+#utils::View(CBNPoor)
+
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(202:217)][]
+
+CBNPoor[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor<-CBNPoor[Per_Daily_Exp_Calories!=0]
+CBNPoor[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+#CBN[,weighted.mean(Poor,Weight),by=cluster][order(cluster)]
+
+#Real Prices
+T_Bundle_Value<-subset(CBNPoor, ProvinceCode==23, select=c(Bundle_Value,Home_Per_Metr,Weight))
+Tehran_Bundle_Value1<-weighted.mean(T_Bundle_Value$Bundle_Value,T_Bundle_Value$Weight,na.rm = TRUE)
+Tehran_Bundle_Value2<-weighted.mean(T_Bundle_Value$Home_Per_Metr,T_Bundle_Value$Weight,na.rm = TRUE)
+CBNPoor[,RealPriceIndex1:=weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/Tehran_Bundle_Value1,by=ProvinceCode]
+CBNPoor[,RealPriceIndex2:=weighted.mean(Home_Per_Metr,Weight,na.rm = TRUE)/Tehran_Bundle_Value2,by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex1,Weight),by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex2,Weight),by=ProvinceCode]
+Indexes2<-CBNPoor[,.(RealPriceIndex1,RealPriceIndex2,ProvinceCode,Weight)]
+Indexes2<-Indexes2[,RealPriceIndex:=(RealPriceIndex1+RealPriceIndex2)/2]
+Indexes<-Indexes2[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+Indexes39<-Indexes[,.(ProvinceCode,RealPriceIndex1,RealPriceIndex2,RealPriceIndex)]
+Indexes<-Indexes[,.(ProvinceCode,RealPriceIndex)]
+CBN[,RealPriceIndex:=NULL]
+CBN<-merge(CBN,Indexes,by=c("ProvinceCode"),all.x = TRUE)
+CBN<-CBN[,Total_Food_Month_Per2:=FoodExpenditure_Per*RealPriceIndex]
+CBN<-CBN[,Total_Exp_Month_Per2:=Total_Exp_Month_Per_nondurable*RealPriceIndex]
+#utils::View(CBN)
+
+
+#Sort Expenditure data
+CBN<- CBN[order(Total_Exp_Month_Per2)]
+
+#Calculate cumulative weights
+sum(CBN$Weight)
+CBN$cumweight <- cumsum(CBN$Weight)
+tx <- max(CBN$cumweight)
+
+#Calculate deciles by weights
+CBN[,Decile:=cut(cumweight,breaks = seq(0,tx,tx/10),labels = 1:10)]
+CBN[,Percentile:=cut(cumweight,breaks=seq(0,tx,tx/100),labels=1:100)]
+
+#Update Poors
+CBN[,Poor:=ifelse(Decile %in% 1:4,1,0)]
+CBNPoor<-CBN[Poor==1]
+CBNPoor<-merge(CBNPoor,dt2,by=c("ProvinceCode"),all.x = TRUE)
+CBNPoor[,sum(HIndivNo),by=.(ProvinceCode)][order(ProvinceCode)]
+
+###Iteration1-10
+#Calculate Per_calories in clusters
+CBNPoor[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(185:200)][]
+#utils::View(CBNPoor)
+
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(202:217)][]
+
+CBNPoor[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor<-CBNPoor[Per_Daily_Exp_Calories!=0]
+CBNPoor[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+#CBN[,weighted.mean(Poor,Weight),by=cluster][order(cluster)]
+
+#Real Prices
+T_Bundle_Value<-subset(CBNPoor, ProvinceCode==23, select=c(Bundle_Value,Home_Per_Metr,Weight))
+Tehran_Bundle_Value1<-weighted.mean(T_Bundle_Value$Bundle_Value,T_Bundle_Value$Weight,na.rm = TRUE)
+Tehran_Bundle_Value2<-weighted.mean(T_Bundle_Value$Home_Per_Metr,T_Bundle_Value$Weight,na.rm = TRUE)
+CBNPoor[,RealPriceIndex1:=weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/Tehran_Bundle_Value1,by=ProvinceCode]
+CBNPoor[,RealPriceIndex2:=weighted.mean(Home_Per_Metr,Weight,na.rm = TRUE)/Tehran_Bundle_Value2,by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex1,Weight),by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex2,Weight),by=ProvinceCode]
+Indexes2<-CBNPoor[,.(RealPriceIndex1,RealPriceIndex2,ProvinceCode,Weight)]
+Indexes2<-Indexes2[,RealPriceIndex:=(RealPriceIndex1+RealPriceIndex2)/2]
+Indexes<-Indexes2[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+Indexes310<-Indexes[,.(ProvinceCode,RealPriceIndex1,RealPriceIndex2,RealPriceIndex)]
+Indexes<-Indexes[,.(ProvinceCode,RealPriceIndex)]
+CBN[,RealPriceIndex:=NULL]
+CBN<-merge(CBN,Indexes,by=c("ProvinceCode"),all.x = TRUE)
+CBN<-CBN[,Total_Food_Month_Per2:=FoodExpenditure_Per*RealPriceIndex]
+CBN<-CBN[,Total_Exp_Month_Per2:=Total_Exp_Month_Per_nondurable*RealPriceIndex]
+#utils::View(CBN)
+
+
+#Sort Expenditure data
+CBN<- CBN[order(Total_Exp_Month_Per2)]
+
+#Calculate cumulative weights
+sum(CBN$Weight)
+CBN$cumweight <- cumsum(CBN$Weight)
+tx <- max(CBN$cumweight)
+
+#Calculate deciles by weights
+CBN[,Decile:=cut(cumweight,breaks = seq(0,tx,tx/10),labels = 1:10)]
+CBN[,Percentile:=cut(cumweight,breaks=seq(0,tx,tx/100),labels=1:100)]
+
+#Update Poors
+CBN[,Poor:=ifelse(Decile %in% 1:4,1,0)]
+CBNPoor<-CBN[Poor==1]
+CBNPoor<-merge(CBNPoor,dt2,by=c("ProvinceCode"),all.x = TRUE)
+CBNPoor[,sum(HIndivNo),by=.(ProvinceCode)][order(ProvinceCode)]
+
+
+#Calculate Per_calories in clusters
+CBNPoor[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(189:204)][]
+#utils::View(CBNPoor)
+
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(206:221)][]
+
+CBNPoor[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor<-CBNPoor[Per_Daily_Exp_Calories!=0]
+CBNPoor[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNCalory<-CBNPoor[,.(Per_Daily_Calories,Per_Daily_Exp_Calories,Per_Calory_Resturant,Resturant_Exp,cluster,ProvinceCode)]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+
+
+#Calculations
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_day,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,sum(Size*Weight),by=cluster][order(cluster)]
+
+
+#Food Poverty Line for each cluster
+#cluster 1
+CBNPoorCluster<-CBNPoor[cluster==1]
+Food_Povertyline1_1<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 2
+CBNPoorCluster<-CBNPoor[cluster==2]
+Food_Povertyline2_1<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 3
+CBNPoorCluster<-CBNPoor[cluster==3]
+Food_Povertyline3_1<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 4
+CBNPoorCluster<-CBNPoor[cluster==4]
+Food_Povertyline4_1<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 5
+CBNPoorCluster<-CBNPoor[cluster==5]
+Food_Povertyline5_1<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#ee<-CBNPoor[,.(Total_Exp_Month_Real,Total_Exp_Month,Total_Food_Month_Per2,Total_Exp_Month_Per_nondurable,Total_Exp_Month_nondurable_Real_Per,FoodExpenditure_Per,cluster)]
+#mean(ee[,Total_Food_Month_Per2==Total_Exp_Month_nondurable_Real])
+#mean(ee[,Total_Food_Month_Per2<3500000])
+#ee<- ee[order(Total_Food_Month_Per2)]
+#utils::View(CBN)
+CBN<-merge(CBN,dt2,by=c("ProvinceCode"),all.x = TRUE)
+#for (col in c("Total_Food_Month_Per2")) CBN[is.na(get(col)), (col) := Total_Exp_Month_Per_nondurable]
+c<-CBN[,.(FoodExpenditure_Per,FoodExpenditure_Per_total,Total_Exp_Month_Per_nondurable,Total_Exp_Month,Total_Food_Month_Per2,Poor,Decile,Weight,cluster)]
+
+#########Iteration 2###############
+#Sort Expenditure data
+CBN<- CBN[order(Total_Food_Month_Per2)]
+c<- c[order(Total_Food_Month_Per2)]
+
+#Indicate new poors
+CBN[,Poor2:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_1 & cluster==1,1,0)]
+c[,Poor2:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_1 & cluster==1 ,1,0)]
+CBN[,Poor2:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_1 & cluster==2,1,Poor2)]
+c[,Poor2:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_1 & cluster==2 ,1,Poor2)]
+CBN[,Poor2:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_1 & cluster==3,1,Poor2)]
+c[,Poor2:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_1 & cluster==3 ,1,Poor2)]
+CBN[,Poor2:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_1 & cluster==4,1,Poor2)]
+c[,Poor2:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_1 & cluster==4 ,1,Poor2)]
+CBN[,Poor2:=ifelse(FoodExpenditure_Per_total < Food_Povertyline5_1 & cluster==5,1,Poor2)]
+c[,Poor2:=ifelse(FoodExpenditure_Per_total < Food_Povertyline5_1 & cluster==5 ,1,Poor2)]
+CBN[,weighted.mean(Poor2,Weight),by=cluster][order(cluster)]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2<-CBN[Poor2==1]
+
+
+#CalculatePer_calories in clusters
+CBNPoor2[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(190:205)][]
+#utils::View(CBNPoor2)
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor2[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(207:222)][]
+
+CBNPoor2[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor2[,Calory_Price:=FoodExpenditure_Per_cluster/(Daily_Calories_cluster2)]
+CBNPoor2[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor2[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2<-CBNPoor2[Per_Daily_Exp_Calories!=0]
+CBNPoor2[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor2[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor2[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor2[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor2[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor2[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+
+
+
+#Calculations
+CBNPoor2[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,weighted.mean(FoodExpenditure_Per_day,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+
+
+
+#Food Poverty Line for each cluster
+#cluster 1
+CBNPoorCluster<-CBNPoor2[cluster==1]
+Food_Povertyline1_2<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 2
+CBNPoorCluster<-CBNPoor2[cluster==2]
+Food_Povertyline2_2<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 3
+CBNPoorCluster<-CBNPoor2[cluster==3]
+Food_Povertyline3_2<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 4
+CBNPoorCluster<-CBNPoor2[cluster==4]
+Food_Povertyline4_2<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 5
+CBNPoorCluster<-CBNPoor[cluster==5]
+Food_Povertyline5_2<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#ee<-CBNPoor[,.(Total_Exp_Month_Real,Total_Exp_Month,Total_Food_Month_Per2,Total_Exp_Month_Per_nondurable,Total_Exp_Month_nondurable_Real_Per,FoodExpenditure_Per,cluster)]
+#mean(ee[,Total_Food_Month_Per2==Total_Exp_Month_nondurable_Real])
+#mean(ee[,Total_Food_Month_Per2<3500000])
+#ee<- ee[order(Total_Food_Month_Per2)]
+#utils::View(CBN)
+#for (col in c("Total_Food_Month_Per2")) CBN[is.na(get(col)), (col) := Total_Exp_Month_Per_nondurable]
+c<-CBN[,.(FoodExpenditure_Per,FoodExpenditure_Per_total,Total_Exp_Month_Per_nondurable,Total_Exp_Month,Total_Food_Month_Per2,Poor,Decile,Weight,cluster)]
+
+
+#########Iteration 3###############
+#Sort Expenditure data
+CBN<- CBN[order(Total_Food_Month_Per2)]
+c<- c[order(Total_Food_Month_Per2)]
+
+#Indicate new poors
+CBN[,Poor3:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_2 & cluster==1,1,0)]
+c[,Poor3:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_2 & cluster==1 ,1,0)]
+CBN[,Poor3:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_2 & cluster==2,1,Poor3)]
+c[,Poor3:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_2 & cluster==2 ,1,Poor3)]
+CBN[,Poor3:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_2 & cluster==3,1,Poor3)]
+c[,Poor3:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_2 & cluster==3 ,1,Poor3)]
+CBN[,Poor3:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_2 & cluster==4,1,Poor3)]
+c[,Poor3:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_2 & cluster==4 ,1,Poor3)]
+CBN[,Poor3:=ifelse(FoodExpenditure_Per_total < Food_Povertyline5_2 & cluster==5,1,Poor3)]
+c[,Poor3:=ifelse(FoodExpenditure_Per_total < Food_Povertyline5_2 & cluster==5 ,1,Poor3)]
+CBN[,weighted.mean(Poor3,Weight),by=cluster][order(cluster)]
+CBNPoor2[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3<-CBN[Poor3==1]
+
+
+
+#CalculatePer_calories in clusters
+CBNPoor3[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(191:206)][]
+#utils::View(CBNPoor3)
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor3[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(208:223)][]
+
+
+CBNPoor3[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor3[,Calory_Price:=FoodExpenditure_Per_cluster/(Daily_Calories_cluster2)]
+CBNPoor3[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor3[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3<-CBNPoor3[Per_Daily_Exp_Calories!=0]
+CBNPoor3[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor3[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+
+#sum of total food expenditures
+CBNPoor3[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor3[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor3[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor3[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+
+
+#Calculations
+CBNPoor3[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,weighted.mean(FoodExpenditure_Per_day,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+
+
+
+#Food Poverty Line for each cluster
+#cluster 1
+CBNPoorCluster<-CBNPoor3[cluster==1]
+Food_Povertyline1_3<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 2
+CBNPoorCluster<-CBNPoor3[cluster==2]
+Food_Povertyline2_3<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 3
+CBNPoorCluster<-CBNPoor3[cluster==3]
+Food_Povertyline3_3<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 4
+CBNPoorCluster<-CBNPoor3[cluster==4]
+Food_Povertyline4_3<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 5
+CBNPoorCluster<-CBNPoor[cluster==5]
+Food_Povertyline5_3<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#ee<-CBNPoor[,.(Total_Exp_Month_Real,Total_Exp_Month,Total_Food_Month_Per2,Total_Exp_Month_Per_nondurable,Total_Exp_Month_nondurable_Real_Per,FoodExpenditure_Per,cluster)]
+#mean(ee[,Total_Food_Month_Per2==Total_Exp_Month_nondurable_Real])
+#mean(ee[,Total_Food_Month_Per2<3500000])
+#ee<- ee[order(Total_Food_Month_Per2)]
+#utils::View(CBN)
+#for (col in c("Total_Food_Month_Per2")) CBN[is.na(get(col)), (col) := Total_Exp_Month_Per_nondurable]
+c<-CBN[,.(FoodExpenditure_Per,FoodExpenditure_Per_total,Total_Exp_Month_Per_nondurable,Total_Exp_Month,Total_Food_Month_Per2,Poor,Decile,Weight,cluster)]
+
+
+#########Iteration 4###############
+#Sort Expenditure data
+CBN<- CBN[order(Total_Food_Month_Per2)]
+c<- c[order(Total_Food_Month_Per2)]
+
+#Indicate new poors
+CBN[,Poor4:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_3 & cluster==1,1,0)]
+c[,Poor4:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_3 & cluster==1 ,1,0)]
+CBN[,Poor4:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_3 & cluster==2,1,Poor4)]
+c[,Poor4:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_3 & cluster==2 ,1,Poor4)]
+CBN[,Poor4:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_3 & cluster==3,1,Poor4)]
+c[,Poor4:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_3 & cluster==3 ,1,Poor4)]
+CBN[,Poor4:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_3 & cluster==4,1,Poor4)]
+c[,Poor4:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_3 & cluster==4 ,1,Poor4)]
+CBN[,Poor4:=ifelse(FoodExpenditure_Per_total < Food_Povertyline5_3 & cluster==5,1,Poor4)]
+c[,Poor4:=ifelse(FoodExpenditure_Per_total < Food_Povertyline5_3 & cluster==5 ,1,Poor4)]
+CBN[,weighted.mean(Poor4,Weight),by=cluster][order(cluster)]
+CBNPoor3[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4<-CBN[Poor4==1]
+
+#CalculatePer_calories in clusters
+CBNPoor4[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(191:206)][]
+#utils::View(CBNPoor4)
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor4[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(208:223)][]
+
+
+CBNPoor4[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor4[,Calory_Price:=FoodExpenditure_Per_cluster/(Daily_Calories_cluster2)]
+CBNPoor4[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor4[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4<-CBNPoor4[Per_Daily_Exp_Calories!=0]
+CBNPoor4[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor4[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+
+#sum of total food expenditures
+CBNPoor4[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor4[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor4[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor4[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+
+
+#Calculations
+CBNPoor4[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,weighted.mean(FoodExpenditure_Per_day,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+
+
+
+#Food Poverty Line for each cluster
+#cluster 1
+CBNPoorCluster<-CBNPoor4[cluster==1]
+Food_Povertyline1_4<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 2
+CBNPoorCluster<-CBNPoor4[cluster==2]
+Food_Povertyline2_4<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 3
+CBNPoorCluster<-CBNPoor4[cluster==3]
+Food_Povertyline3_4<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 4
+CBNPoorCluster<-CBNPoor4[cluster==4]
+Food_Povertyline4_4<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 5
+CBNPoorCluster<-CBNPoor[cluster==5]
+Food_Povertyline5_4<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#ee<-CBNPoor[,.(Total_Exp_Month_Real,Total_Exp_Month,Total_Food_Month_Per2,Total_Exp_Month_Per_nondurable,Total_Exp_Month_nondurable_Real_Per,FoodExpenditure_Per,cluster)]
+#mean(ee[,Total_Food_Month_Per2==Total_Exp_Month_nondurable_Real])
+#mean(ee[,Total_Food_Month_Per2<3500000])
+#ee<- ee[order(Total_Food_Month_Per2)]
+#utils::View(CBN)
+#for (col in c("Total_Food_Month_Per2")) CBN[is.na(get(col)), (col) := Total_Exp_Month_Per_nondurable]
+c<-CBN[,.(FoodExpenditure_Per,FoodExpenditure_Per_total,Total_Exp_Month_Per_nondurable,Total_Exp_Month,Total_Food_Month_Per2,Poor,Decile,Weight,cluster)]
+
+
+#########Iteration 5###############
+#Sort Expenditure data
+CBN<- CBN[order(Total_Food_Month_Per2)]
+c<- c[order(Total_Food_Month_Per2)]
+
+#Indicate new poors
+CBN[,Poor5:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_4 & cluster==1,1,0)]
+c[,Poor5:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_4 & cluster==1 ,1,0)]
+CBN[,Poor5:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_4 & cluster==2,1,Poor5)]
+c[,Poor5:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_4 & cluster==2 ,1,Poor5)]
+CBN[,Poor5:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_4 & cluster==3,1,Poor5)]
+c[,Poor5:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_4 & cluster==3 ,1,Poor5)]
+CBN[,Poor5:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_4 & cluster==4,1,Poor5)]
+c[,Poor5:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_4 & cluster==4 ,1,Poor5)]
+CBN[,Poor5:=ifelse(FoodExpenditure_Per_total < Food_Povertyline5_4 & cluster==5,1,Poor5)]
+c[,Poor5:=ifelse(FoodExpenditure_Per_total < Food_Povertyline5_4 & cluster==5 ,1,Poor5)]
+CBN[,weighted.mean(Poor5,Weight),by=cluster][order(cluster)]
+CBNPoor4[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5<-CBN[Poor5==1]
+
+#CalculatePer_calories in clusters
+CBNPoor5[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(191:206)][]
+#utils::View(CBNPoor5)
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor5[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(208:223)][]
+
+
+CBNPoor5[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor5[,Calory_Price:=FoodExpenditure_Per_cluster/(Daily_Calories_cluster2)]
+CBNPoor5[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor5[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5<-CBNPoor5[Per_Daily_Exp_Calories!=0]
+CBNPoor5[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor5[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+
+#sum of total food expenditures
+CBNPoor5[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor5[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor5[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor5[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+
+
+#Calculations
+CBNPoor5[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,weighted.mean(FoodExpenditure_Per_day,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+
+
+
+#Food Poverty Line for each cluster
+#cluster 1
+CBNPoorCluster<-CBNPoor5[cluster==1]
+Food_Povertyline1_5<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 2
+CBNPoorCluster<-CBNPoor5[cluster==2]
+Food_Povertyline2_5<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 3
+CBNPoorCluster<-CBNPoor5[cluster==3]
+Food_Povertyline3_5<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 4
+CBNPoorCluster<-CBNPoor5[cluster==4]
+Food_Povertyline4_5<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 5
+CBNPoorCluster<-CBNPoor[cluster==5]
+Food_Povertyline5_5<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#ee<-CBNPoor[,.(Total_Exp_Month_Real,Total_Exp_Month,Total_Food_Month_Per2,Total_Exp_Month_Per_nondurable,Total_Exp_Month_nondurable_Real_Per,FoodExpenditure_Per,cluster)]
+#mean(ee[,Total_Food_Month_Per2==Total_Exp_Month_nondurable_Real])
+#mean(ee[,Total_Food_Month_Per2<3500000])
+#ee<- ee[order(Total_Food_Month_Per2)]
+#utils::View(CBN)
+#for (col in c("Total_Food_Month_Per2")) CBN[is.na(get(col)), (col) := Total_Exp_Month_Per_nondurable]
+c<-CBN[,.(FoodExpenditure_Per,FoodExpenditure_Per_total,Total_Exp_Month_Per_nondurable,Total_Exp_Month,Total_Food_Month_Per2,Poor,Decile,Weight,cluster)]
+
+
+#########Iteration 6###############
+#Sort Expenditure data
+CBN<- CBN[order(Total_Food_Month_Per2)]
+c<- c[order(Total_Food_Month_Per2)]
+
+#Indicate new poors
+CBN[,Poor6:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_5 & cluster==1,1,0)]
+c[,Poor6:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_5 & cluster==1 ,1,0)]
+CBN[,Poor6:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_5 & cluster==2,1,Poor6)]
+c[,Poor6:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_5 & cluster==2 ,1,Poor6)]
+CBN[,Poor6:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_5 & cluster==3,1,Poor6)]
+c[,Poor6:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_5 & cluster==3 ,1,Poor6)]
+CBN[,Poor6:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_5 & cluster==4,1,Poor6)]
+c[,Poor6:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_5 & cluster==4 ,1,Poor6)]
+CBN[,Poor6:=ifelse(FoodExpenditure_Per_total < Food_Povertyline5_5 & cluster==5,1,Poor6)]
+c[,Poor6:=ifelse(FoodExpenditure_Per_total < Food_Povertyline5_5 & cluster==5 ,1,Poor6)]
+CBN[,weighted.mean(Poor6,Weight),by=cluster][order(cluster)]
+CBNPoor5[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6<-CBN[Poor6==1]
+
+#CalculatePer_calories in clusters
+CBNPoor6[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(191:206)][]
+#utils::View(CBNPoor6)
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor6[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(208:223)][]
+
+
+CBNPoor6[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor6[,Calory_Price:=FoodExpenditure_Per_cluster/(Daily_Calories_cluster2)]
+CBNPoor6[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor6[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6<-CBNPoor6[Per_Daily_Exp_Calories!=0]
+CBNPoor6[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor6[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+
+#sum of total food expenditures
+CBNPoor6[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor6[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor6[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor6[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+
+
+#Calculations
+CBNPoor6[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,weighted.mean(FoodExpenditure_Per_day,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+
+
+#Food Poverty Line for each cluster
+#cluster 1
+CBNPoorCluster<-CBNPoor6[cluster==1]
+Food_Povertyline1_6<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 2
+CBNPoorCluster<-CBNPoor6[cluster==2]
+Food_Povertyline2_6<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 3
+CBNPoorCluster<-CBNPoor6[cluster==3]
+Food_Povertyline3_6<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 4
+CBNPoorCluster<-CBNPoor6[cluster==4]
+Food_Povertyline4_6<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 5
+CBNPoorCluster<-CBNPoor[cluster==5]
+Food_Povertyline5_6<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#ee<-CBNPoor[,.(Total_Exp_Month_Real,Total_Exp_Month,Total_Food_Month_Per2,Total_Exp_Month_Per_nondurable,Total_Exp_Month_nondurable_Real_Per,FoodExpenditure_Per,cluster)]
+#mean(ee[,Total_Food_Month_Per2==Total_Exp_Month_nondurable_Real])
+#mean(ee[,Total_Food_Month_Per2<3500000])
+#ee<- ee[order(Total_Food_Month_Per2)]
+#utils::View(CBN)
+#for (col in c("Total_Food_Month_Per2")) CBN[is.na(get(col)), (col) := Total_Exp_Month_Per_nondurable]
+c<-CBN[,.(FoodExpenditure_Per,FoodExpenditure_Per_total,Total_Exp_Month_Per_nondurable,Total_Exp_Month,Total_Food_Month_Per2,Poor,Decile,Weight,cluster)]
+
+
+#########Iteration 7###############
+#Sort Expenditure data
+CBN<- CBN[order(Total_Food_Month_Per2)]
+c<- c[order(Total_Food_Month_Per2)]
+
+#Indicate new poors
+CBN[,Poor7:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_6 & cluster==1,1,0)]
+c[,Poor7:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_6 & cluster==1 ,1,0)]
+CBN[,Poor7:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_6 & cluster==2,1,Poor7)]
+c[,Poor7:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_6 & cluster==2 ,1,Poor7)]
+CBN[,Poor7:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_6 & cluster==3,1,Poor7)]
+c[,Poor7:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_6 & cluster==3 ,1,Poor7)]
+CBN[,Poor7:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_6 & cluster==4,1,Poor7)]
+c[,Poor7:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_6 & cluster==4 ,1,Poor7)]
+CBN[,Poor7:=ifelse(FoodExpenditure_Per_total < Food_Povertyline5_6 & cluster==5,1,Poor7)]
+c[,Poor7:=ifelse(FoodExpenditure_Per_total < Food_Povertyline5_6 & cluster==5 ,1,Poor7)]
+CBN[,weighted.mean(Poor7,Weight),by=cluster][order(cluster)]
+CBNPoor6[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7<-CBN[Poor7==1]
+
+#CalculatePer_calories in clusters
+CBNPoor7[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(191:206)][]
+#utils::View(CBNPoor7)
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor7[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(208:223)][]
+
+
+CBNPoor7[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor7[,Calory_Price:=FoodExpenditure_Per_cluster/(Daily_Calories_cluster2)]
+CBNPoor7[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor7[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7<-CBNPoor7[Per_Daily_Exp_Calories!=0]
+CBNPoor7[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor7[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+
+#sum of total food expenditures
+CBNPoor7[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor7[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor7[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor7[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+
+
+#Calculations
+CBNPoor7[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,weighted.mean(FoodExpenditure_Per_day,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+
+
+
+#Food Poverty Line for each cluster
+#cluster 1
+CBNPoorCluster<-CBNPoor7[cluster==1]
+Food_Povertyline1_7<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 2
+CBNPoorCluster<-CBNPoor7[cluster==2]
+Food_Povertyline2_7<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 3
+CBNPoorCluster<-CBNPoor7[cluster==3]
+Food_Povertyline3_7<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 4
+CBNPoorCluster<-CBNPoor7[cluster==4]
+Food_Povertyline4_7<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 5
+CBNPoorCluster<-CBNPoor[cluster==5]
+Food_Povertyline5_7<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#ee<-CBNPoor[,.(Total_Exp_Month_Real,Total_Exp_Month,Total_Food_Month_Per2,Total_Exp_Month_Per_nondurable,Total_Exp_Month_nondurable_Real_Per,FoodExpenditure_Per,cluster)]
+#mean(ee[,Total_Food_Month_Per2==Total_Exp_Month_nondurable_Real])
+#mean(ee[,Total_Food_Month_Per2<3500000])
+#ee<- ee[order(Total_Food_Month_Per2)]
+#utils::View(CBN)
+#for (col in c("Total_Food_Month_Per2")) CBN[is.na(get(col)), (col) := Total_Exp_Month_Per_nondurable]
+c<-CBN[,.(FoodExpenditure_Per,FoodExpenditure_Per_total,Total_Exp_Month_Per_nondurable,Total_Exp_Month,Total_Food_Month_Per2,Poor,Decile,Weight,cluster)]
+
+
+#########Iteration 8###############
+#Sort Expenditure data
+CBN<- CBN[order(Total_Food_Month_Per2)]
+c<- c[order(Total_Food_Month_Per2)]
+
+#Indicate new poors
+CBN[,Poor8:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_7 & cluster==1,1,0)]
+c[,Poor8:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_7 & cluster==1 ,1,0)]
+CBN[,Poor8:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_7 & cluster==2,1,Poor8)]
+c[,Poor8:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_7 & cluster==2 ,1,Poor8)]
+CBN[,Poor8:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_7 & cluster==3,1,Poor8)]
+c[,Poor8:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_7 & cluster==3 ,1,Poor8)]
+CBN[,Poor8:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_7 & cluster==4,1,Poor8)]
+c[,Poor8:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_7 & cluster==4 ,1,Poor8)]
+CBN[,Poor8:=ifelse(FoodExpenditure_Per_total < Food_Povertyline5_7 & cluster==5,1,Poor8)]
+c[,Poor8:=ifelse(FoodExpenditure_Per_total < Food_Povertyline5_7 & cluster==5 ,1,Poor8)]
+CBN[,weighted.mean(Poor8,Weight),by=cluster][order(cluster)]
+CBNPoor7[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8<-CBN[Poor8==1]
+
+
+#CalculatePer_calories in clusters
+CBNPoor8[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(191:206)][]
+#utils::View(CBNPoor8)
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor8[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(208:223)][]
+
+
+CBNPoor8[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor8[,Calory_Price:=FoodExpenditure_Per_cluster/(Daily_Calories_cluster2)]
+CBNPoor8[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor8[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8<-CBNPoor8[Per_Daily_Exp_Calories!=0]
+CBNPoor8[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor8[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+
+#sum of total food expenditures
+CBNPoor8[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor8[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor8[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor8[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+
+
+#Calculations
+CBNPoor8[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,weighted.mean(FoodExpenditure_Per_day,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+
+
+
+#Food Poverty Line for each cluster
+#cluster 1
+CBNPoorCluster<-CBNPoor8[cluster==1]
+Food_Povertyline1_8<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 2
+CBNPoorCluster<-CBNPoor8[cluster==2]
+Food_Povertyline2_8<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 3
+CBNPoorCluster<-CBNPoor8[cluster==3]
+Food_Povertyline3_8<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 4
+CBNPoorCluster<-CBNPoor8[cluster==4]
+Food_Povertyline4_8<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 5
+CBNPoorCluster<-CBNPoor[cluster==5]
+Food_Povertyline5_8<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#ee<-CBNPoor[,.(Total_Exp_Month_Real,Total_Exp_Month,Total_Food_Month_Per2,Total_Exp_Month_Per_nondurable,Total_Exp_Month_nondurable_Real_Per,FoodExpenditure_Per,cluster)]
+#mean(ee[,Total_Food_Month_Per2==Total_Exp_Month_nondurable_Real])
+#mean(ee[,Total_Food_Month_Per2<3500000])
+#ee<- ee[order(Total_Food_Month_Per2)]
+#utils::View(CBN)
+#for (col in c("Total_Food_Month_Per2")) CBN[is.na(get(col)), (col) := Total_Exp_Month_Per_nondurable]
+c<-CBN[,.(FoodExpenditure_Per,FoodExpenditure_Per_total,Total_Exp_Month_Per_nondurable,Total_Exp_Month,Total_Food_Month_Per2,Poor,Decile,Weight,cluster)]
+
+
+#########Iteration 9###############
+#Sort Expenditure data
+CBN<- CBN[order(Total_Food_Month_Per2)]
+c<- c[order(Total_Food_Month_Per2)]
+
+#Indicate new poors
+CBN[,Poor9:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_8 & cluster==1,1,0)]
+c[,Poor9:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_8 & cluster==1 ,1,0)]
+CBN[,Poor9:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_8 & cluster==2,1,Poor9)]
+c[,Poor9:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_8 & cluster==2 ,1,Poor9)]
+CBN[,Poor9:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_8 & cluster==3,1,Poor9)]
+c[,Poor9:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_8 & cluster==3 ,1,Poor9)]
+CBN[,Poor9:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_8 & cluster==4,1,Poor9)]
+c[,Poor9:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_8 & cluster==4 ,1,Poor9)]
+CBN[,Poor9:=ifelse(FoodExpenditure_Per_total < Food_Povertyline5_8 & cluster==5,1,Poor9)]
+c[,Poor9:=ifelse(FoodExpenditure_Per_total < Food_Povertyline5_8 & cluster==5 ,1,Poor9)]
+CBN[,weighted.mean(Poor9,Weight),by=cluster][order(cluster)]
+CBNPoor8[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9<-CBN[Poor9==1]
+
+
+#CalculatePer_calories in clusters
+CBNPoor9[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(191:206)][]
+#utils::View(CBNPoor9)
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor9[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(208:223)][]
+
+
+CBNPoor9[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor9[,Calory_Price:=FoodExpenditure_Per_cluster/(Daily_Calories_cluster2)]
+CBNPoor9[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor9[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9<-CBNPoor9[Per_Daily_Exp_Calories!=0]
+CBNPoor9[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor9[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+
+#sum of total food expenditures
+CBNPoor9[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor9[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor9[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor9[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+
+
+
+#Calculations
+CBNPoor9[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,weighted.mean(FoodExpenditure_Per_day,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+
+
+
+#Food Poverty Line for each cluster
+#cluster 1
+CBNPoorCluster<-CBNPoor9[cluster==1]
+Food_Povertyline1_9<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 2
+CBNPoorCluster<-CBNPoor9[cluster==2]
+Food_Povertyline2_9<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 3
+CBNPoorCluster<-CBNPoor9[cluster==3]
+Food_Povertyline3_9<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 4
+CBNPoorCluster<-CBNPoor9[cluster==4]
+Food_Povertyline4_9<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 5
+CBNPoorCluster<-CBNPoor[cluster==5]
+Food_Povertyline5_9<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#ee<-CBNPoor[,.(Total_Exp_Month_Real,Total_Exp_Month,Total_Food_Month_Per2,Total_Exp_Month_Per_nondurable,Total_Exp_Month_nondurable_Real_Per,FoodExpenditure_Per,cluster)]
+#mean(ee[,Total_Food_Month_Per2==Total_Exp_Month_nondurable_Real])
+#mean(ee[,Total_Food_Month_Per2<3500000])
+#ee<- ee[order(Total_Food_Month_Per2)]
+#utils::View(CBN)
+#for (col in c("Total_Food_Month_Per2")) CBN[is.na(get(col)), (col) := Total_Exp_Month_Per_nondurable]
+c<-CBN[,.(FoodExpenditure_Per,FoodExpenditure_Per_total,Total_Exp_Month_Per_nondurable,Total_Exp_Month,Total_Food_Month_Per2,Poor,Decile,Weight,cluster)]
+
+
+#########Iteration 10###############
+#Sort Expenditure data
+CBN<- CBN[order(Total_Food_Month_Per2)]
+c<- c[order(Total_Food_Month_Per2)]
+
+#Indicate new poors
+CBN[,Poor10:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_9 & cluster==1,1,0)]
+c[,Poor10:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_9 & cluster==1 ,1,0)]
+CBN[,Poor10:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_9 & cluster==2,1,Poor10)]
+c[,Poor10:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_9 & cluster==2 ,1,Poor10)]
+CBN[,Poor10:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_9 & cluster==3,1,Poor10)]
+c[,Poor10:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_9 & cluster==3 ,1,Poor10)]
+CBN[,Poor10:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_9 & cluster==4,1,Poor10)]
+c[,Poor10:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_9 & cluster==4 ,1,Poor10)]
+CBN[,Poor10:=ifelse(FoodExpenditure_Per_total < Food_Povertyline5_9 & cluster==5,1,Poor10)]
+c[,Poor10:=ifelse(FoodExpenditure_Per_total < Food_Povertyline5_9 & cluster==5 ,1,Poor10)]
+CBN[,weighted.mean(Poor10,Weight),by=cluster][order(cluster)]
+CBNPoor9[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor10<-CBN[Poor10==1]
+
+#Engel
+#CBNPoor9<-CBNPoor9[,ratio1:=FoodExpenditure/Total_Exp_Month]
+#CBNPoor9[,weighted.mean(ratio1,Weight),by=cluster]
+#summary(CBNPoor9$ratio1)
+CBN<-CBN[,ratio1:=FoodExpenditure/Total_Exp_Month]
+CBN[,weighted.mean(ratio1,Weight),by=ProvinceCode][order(ProvinceCode)]
+CBN<-CBN[,ratio2:=ServiceExp/Total_Exp_Month]
+CBN[,weighted.mean(ratio2,Weight),by=ProvinceCode][order(ProvinceCode)]
+
+# Poverty Line for each cluster
+#cluster 1
+CBNPoorCluster<-CBN[cluster==1 & FoodExpenditure_Per_total<1.1*Food_Povertyline1_9 & FoodExpenditure_Per_total>0.90*Food_Povertyline1_9]
+Engel1<-weighted.mean(CBNPoorCluster$ratio1,CBNPoorCluster$Weight)
+Engel_Reverse1<-1/Engel1
+Povertyline1_9<-Engel_Reverse1*Food_Povertyline1_9
+
+#cluster 2
+CBNPoorCluster<-CBN[cluster==2 & FoodExpenditure_Per_total<1.1*Food_Povertyline2_9 & FoodExpenditure_Per_total>0.90*Food_Povertyline2_9]
+Engel2<-weighted.mean(CBNPoorCluster$ratio1,CBNPoorCluster$Weight)
+Engel_Reverse2<-1/Engel2
+Povertyline2_9<-Engel_Reverse2*Food_Povertyline2_9
+
+#cluster 3
+CBNPoorCluster<-CBN[cluster==3 & FoodExpenditure_Per_total<1.1*Food_Povertyline3_9 & FoodExpenditure_Per_total>0.90*Food_Povertyline3_9]
+Engel3<-weighted.mean(CBNPoorCluster$ratio1,CBNPoorCluster$Weight)
+Engel_Reverse3<-1/Engel3
+Povertyline3_9<-Engel_Reverse3*Food_Povertyline3_9
+
+#cluster 4
+CBNPoorCluster<-CBN[cluster==4 & FoodExpenditure_Per_total<1.1*Food_Povertyline4_9 & FoodExpenditure_Per_total>0.90*Food_Povertyline4_9]
+Engel4<-weighted.mean(CBNPoorCluster$ratio1,CBNPoorCluster$Weight)
+Engel_Reverse4<-1/Engel4
+Povertyline4_9<-Engel_Reverse4*Food_Povertyline4_9
+
+#cluster 5
+CBNPoorCluster<-CBN[cluster==5 & FoodExpenditure_Per_total<1.1*Food_Povertyline5_9 & FoodExpenditure_Per_total>0.90*Food_Povertyline5_9]
+Engel5<-weighted.mean(CBNPoorCluster$ratio1,CBNPoorCluster$Weight)
+Engel_Reverse5<-1/Engel5
+Povertyline5_9<-Engel_Reverse5*Food_Povertyline5_9
+
+#Indicate final poors
+CBN<-CBN[,Total_Exp_Month_Per2:=Total_Exp_Month_Per_nondurable*RealPriceIndex]
+
+CBN[,Poor11:=ifelse(Total_Exp_Month_Per_nondurable < Povertyline1_9 & cluster==1,1,0)]
+CBN[,Poor11:=ifelse(Total_Exp_Month_Per_nondurable < Povertyline2_9 & cluster==2,1,Poor11)]
+CBN[,Poor11:=ifelse(Total_Exp_Month_Per_nondurable < Povertyline3_9 & cluster==3,1,Poor11)]
+CBN[,Poor11:=ifelse(Total_Exp_Month_Per_nondurable < Povertyline4_9 & cluster==4,1,Poor11)]
+CBN[,Poor11:=ifelse(Total_Exp_Month_Per_nondurable < Povertyline5_9 & cluster==5,1,Poor11)]
+CBN[,weighted.mean(Poor11,Weight),by=cluster][order(cluster)]
+CBNPoor9[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor11<-CBN[Poor11==1]
+
+CBN[,sum(Size*Weight),by=cluster][order(cluster)]
+CBNPoor9[,sum(Size*Weight),by=cluster][order(cluster)]
+CBNPoor9[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBN[,weighted.mean(Poor11,Weight)]
+CBN[,weighted.mean(Poor11,Weight),by=cluster][order(cluster)]
+CBN[,weighted.mean(Poor11,Weight),by=ProvinceCode][order(ProvinceCode)]
+endtime <- proc.time()
+
+cat("\n\n============================\nIt took ")
+cat(endtime-starttime)
+
diff --git a/R/Archive/Other Codes/60-CBN92-Urban.R b/R/Archive/Other Codes/60-CBN92-Urban.R
new file mode 100644
index 00000000..0a4d6c60
--- /dev/null
+++ b/R/Archive/Other Codes/60-CBN92-Urban.R
@@ -0,0 +1,2878 @@
+#CBN Method-Urban.R
+#
+# Copyright © 2018:Arin Shahbazian
+# Licence: GPL-3
+#
+rm(list=ls())
+
+starttime <- proc.time()
+cat("\n\n================ Prepare Data =====================================\n")
+
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+library(readxl)
+library(stringr)
+library(data.table)
+
+#for(year in (Settings$startyear:Settings$endyear)){
+# cat(paste0("\n------------------------------\nYear:",year,"\n"))
+
+load(file=paste0(Settings$HEISProcessedPath,"Y","92","HHBase.rda"))
+HHBase[,IndivNo:=NULL]
+HHBase[,Relationship:=NULL]
+HHBase[,Sex:=NULL]
+HHBase[,Age:=NULL]
+HHBase[,Literate:=NULL]
+HHBase[,Student:=NULL]
+HHBase[,EduCode:=NULL]
+HHBase[,EduYears:=NULL]
+HHBase[,EduLevel:=NULL]
+HHBase[,EduLevel0:=NULL]
+HHBase[,ActivityState:=NULL]
+HHBase[,MarritalState:=NULL]
+load(file=paste0(Settings$HEISProcessedPath,"Y","92","Ghand_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","92","Hoboobat_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","92","Roghan_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","92","Berenj_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","92","Nan_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","92","Goosht_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","92","Morgh_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","92","Mahi_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","92","Shir_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","92","Mast_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","92","Panir_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","92","Tokhmemorgh_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","92","Mive_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","92","Sabzi_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","92","Makarooni_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","92","Sibzamini_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","92","Weights.rda"))
+
+Ghand_Data<-Ghand_Data[,.(HHID,Ghandgram,GhandPrice)]
+Hoboobat_Data<-Hoboobat_Data[,.(HHID,Hoboobatgram,HoboobatPrice)]
+Roghan_Data<-Roghan_Data[,.(HHID,Roghangram,RoghanPrice)]
+Berenj_Data<-Berenj_Data[,.(HHID,Berenjgram,BerenjPrice)]
+Nan_Data<-Nan_Data[,.(HHID,Nangram,NanPrice)]
+Goosht_Data<-Goosht_Data[,.(HHID,Gooshtgram,GooshtPrice)]
+Morgh_Data<-Morgh_Data[,.(HHID,Morghgram,MorghPrice)]
+Mahi_Data<-Mahi_Data[,.(HHID,Mahigram,MahiPrice)]
+Shir_Data<-Shir_Data[,.(HHID,Shirgram,ShirPrice)]
+Mast_Data<-Mast_Data[,.(HHID,Mastgram,MastPrice)]
+Panir_Data<-Panir_Data[,.(HHID,Panirgram,PanirPrice)]
+Tokhmemorgh_Data<-Tokhmemorgh_Data[,.(HHID,Tokhmemorghgram,TokhmemorghPrice)]
+Mive_Data<-Mive_Data[,.(HHID,Mivegram,MivePrice)]
+Sabzi_Data<-Sabzi_Data[,.(HHID,Sabzigram,SabziPrice)]
+Makarooni_Data<-Makarooni_Data[,.(HHID,Makaroonigram,MakarooniPrice)]
+Sibzamini_Data<-Sibzamini_Data[,.(HHID,Sibzaminigram,SibzaminiPrice)]
+
+Food<-merge(HHBase,Ghand_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Ghandgram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Hoboobat_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Hoboobatgram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Roghan_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Roghangram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Berenj_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Berenjgram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Nan_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Nangram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Goosht_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Gooshtgram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Morgh_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Morghgram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Mahi_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Mahigram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Shir_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Shirgram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Mast_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Mastgram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Panir_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Panirgram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Tokhmemorgh_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Tokhmemorghgram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Mive_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Mivegram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Sabzi_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Sabzigram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Makarooni_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Makaroonigram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Sibzamini_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Sibzaminigram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Weights,by =c("HHID"),all.x=TRUE)
+
+
+
+#load Expenditure groups
+load(file=paste0(Settings$HEISProcessedPath,"Y","92","HHBase.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","92","HHI.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","92","Foods.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","92","Cigars.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","92","Cloths.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","92","Amusements.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","92","Communications.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","92","Durables.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","92","Education.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","92","Energy.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","92","Furnitures.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","92","Hotels.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","92","House.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","92","Medicals.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","92","Behdashts.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","92","Transportations.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","92","Others.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","92","Investments.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","92","Resturants.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","92","Weights.rda"))
+
+#merge Expenditure groups
+CBN<-merge(Food,HHI ,by =c("HHID"),all=TRUE)
+CBN<-merge(CBN,FoodData,by =c("HHID"),all=TRUE)
+for (col in c("FoodExpenditure")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,CigarData,by =c("HHID"),all=TRUE)
+for (col in c("Cigar_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,ClothData,by =c("HHID"),all=TRUE)
+for (col in c("Cloth_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,AmusementData,by =c("HHID"),all=TRUE)
+for (col in c("Amusement_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,CommunicationData,by =c("HHID"),all=TRUE)
+for (col in c("Communication_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,EducData,by =c("HHID"),all=TRUE)
+for (col in c("EducExpenditure")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,EnergyData,by =c("HHID"),all=TRUE)
+for (col in c("Energy_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,FurnitureData,by =c("HHID"),all=TRUE)
+for (col in c("Furniture_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,HotelData,by =c("HHID"),all=TRUE)
+for (col in c("Hotel_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,BehdashtData,by =c("HHID"),all=TRUE)
+for (col in c("Behdasht_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,TransportationData,by =c("HHID"),all=TRUE)
+for (col in c("Transportation_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,OtherData,by =c("HHID"),all=TRUE)
+for (col in c("Other_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,HouseData,by =c("HHID"),all=TRUE)
+for (col in c("ServiceExp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,InvestmentData,by =c("HHID"),all=TRUE)
+for (col in c("Investment_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,MedicalData,by =c("HHID"),all=TRUE)
+for (col in c("Medical_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,DurableData,by =c("HHID"),all=TRUE)
+for (col in c("Durable_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,ResturantData,by =c("HHID"),all=TRUE)
+for (col in c("Resturant_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-CBN[Size!=0]
+CBN<-CBN[Region=="Urban"]
+CBN<-CBN[FoodExpenditure!=0]
+
+
+#Calculate Per_Total Expenditures Monthly
+CBN[, Total_Exp_Month := Reduce(`+`, .SD), .SDcols=c(65:77,82:83)][]
+CBN[, Total_Exp_Month_nondurable := Reduce(`+`, .SD), .SDcols=65:77][]
+
+CBN$Total_Exp_Month_Per<-CBN$Total_Exp_Month/CBN$EqSizeOECD
+CBN$Total_Exp_Month_Per_nondurable<-CBN$Total_Exp_Month_nondurable/CBN$EqSizeOECD
+
+#Calculate Per_Food Expenditures Monthly
+CBN[,EqSizeCalory :=(Size-NKids) + NKids*(1800/2100)]
+CBN$FoodExpenditure_Per<-CBN$FoodExpenditure/CBN$EqSizeCalory
+
+#Calculate Per_Food Expenditures Daily
+CBN$FoodExpenditure_Per_day<-CBN$FoodExpenditure_Per/30
+
+CBN$Ghandgram_Per_day<-CBN$Ghandgram/(30*CBN$EqSizeOECD)
+CBN$Hoboobatgram_Per_day<-CBN$Hoboobatgram/(30*CBN$EqSizeOECD)
+CBN$Berenjgram_Per_day<-CBN$Berenjgram/(30*CBN$EqSizeOECD)
+CBN$Nangram_Per_day<-CBN$Nangram/(30*CBN$EqSizeOECD)
+CBN$Roghangram_Per_day<-CBN$Roghangram/(30*CBN$EqSizeOECD)
+CBN$Gooshtgram_Per_day<-CBN$Gooshtgram/(30*CBN$EqSizeOECD)
+CBN$Morghgram_Per_day<-CBN$Morghgram/(30*CBN$EqSizeOECD)
+CBN$Mahigram_Per_day<-CBN$Mahigram/(30*CBN$EqSizeOECD)
+CBN$Shirgram_Per_day<-CBN$Shirgram/(30*CBN$EqSizeOECD)
+CBN$Mastgram_Per_day<-CBN$Mastgram/(30*CBN$EqSizeOECD)
+CBN$Panirgram_Per_day<-CBN$Panirgram/(30*CBN$EqSizeOECD)
+CBN$Tokhmemorghgram_Per_day<-CBN$Tokhmemorghgram/(30*CBN$EqSizeOECD)
+CBN$Mivegram_Per_day<-CBN$Mivegram/(30*CBN$EqSizeOECD)
+CBN$Sabzigram_Per_day<-CBN$Sabzigram/(30*CBN$EqSizeOECD)
+CBN$Makaroonigram_Per_day<-CBN$Makaroonigram/(30*CBN$EqSizeOECD)
+CBN$Sibzaminigram_Per_day<-CBN$Sibzaminigram/(30*CBN$EqSizeOECD)
+CBN[,EqSizeCalory:=NULL]
+
+load(file="PriceIndex95.rda")
+CBN<-merge(CBN,PriceIndex95,by=c("ProvinceCode"),all.x = TRUE)
+CBN[,ostan:=NULL]
+load(file="PriceIndex.rda")
+CBN<-merge(CBN,PriceIndex,by=c("ProvinceCode"),all.x = TRUE)
+
+#Sort Expenditure data
+CBN<- CBN[order(Total_Exp_Month_Per_nondurable)]
+
+#Calculate cumulative weights
+sum(CBN$Weight)
+CBN$cumweight <- cumsum(CBN$Weight)
+tx <- max(CBN$cumweight)
+
+#Calculate deciles by weights
+CBN[,Decile:=cut(cumweight,breaks = seq(0,tx,tx/10),labels = 1:10)]
+CBN[,Percentile:=cut(cumweight,breaks=seq(0,tx,tx/100),labels=1:100)]
+
+
+CBN$Ghand_W<-CBN$Ghandgram_Per_day*CBN$GhandPrice*0.001*30
+CBN$Hoboobat_W<-CBN$Hoboobatgram_Per_day*CBN$HoboobatPrice*0.001*30
+CBN$Roghan_W<-CBN$Roghangram_Per_day*CBN$RoghanPrice*0.001*30
+CBN$Berenj_W<-CBN$Berenjgram_Per_day*CBN$BerenjPrice*0.001*30
+CBN$Nan_W<-CBN$Nangram_Per_day*CBN$NanPrice*0.001*30
+CBN$Goosht_W<-CBN$Gooshtgram_Per_day*CBN$GooshtPrice*0.001*30
+CBN$Morgh_W<-CBN$Morghgram_Per_day*CBN$MorghPrice*0.001*30
+CBN$Mahi_W<-CBN$Mahigram_Per_day*CBN$MahiPrice*0.001*30
+CBN$Shir_W<-CBN$Shirgram_Per_day*CBN$ShirPrice*0.001*30
+CBN$Mast_W<-CBN$Mastgram_Per_day*CBN$MastPrice*0.001*30
+CBN$Panir_W<-CBN$Panirgram_Per_day*CBN$PanirPrice*0.001*30
+CBN$Tokhmemorgh_W<-CBN$Tokhmemorghgram_Per_day*CBN$TokhmemorghPrice*0.001*30
+CBN$Mive_W<-CBN$Mivegram_Per_day*CBN$MivePrice*0.001*30
+CBN$Sabzi_W<-CBN$Sabzigram_Per_day*CBN$SabziPrice*0.001*30
+CBN$Makarooni_W<-CBN$Makaroonigram_Per_day*CBN$MakarooniPrice*0.001*30
+CBN$Sibzamini_W<-CBN$Sibzaminigram_Per_day*CBN$SibzaminiPrice*0.001*30
+CBN$Home_W<-CBN$ServiceExp/CBN$EqSizeOECD
+CBN$Home_Per_Metr<-CBN$MetrPrice/CBN$EqSizeOECD
+
+#Seperate big cities
+CBN[,sum(Weight*Size),by=ProvinceCode][order(V1)]
+CBN[,HHIDs:=as.character(HHID)]
+CBN[,ShahrestanCode:=as.integer(str_sub(HHIDs,2,5))]
+CBN[,sum(Weight*Size),by=ShahrestanCode][order(V1)][330:387]
+CBNTehran<-CBN[ProvinceCode==23]
+CBNTehran[,sum(Weight*Size),by=ShahrestanCode]
+CBNTabriz<-CBN[ProvinceCode==3]
+CBNTabriz[,sum(Weight*Size),by=ShahrestanCode]
+CBNAhvaz<-CBN[ProvinceCode==6]
+CBNAhvaz[,sum(Weight*Size),by=ShahrestanCode]
+CBNShiraz<-CBN[ProvinceCode==7]
+CBNShiraz[,sum(Weight*Size),by=ShahrestanCode]
+CBNMashhad<-CBN[ProvinceCode==9]
+CBNMashhad[,sum(Weight*Size),by=ShahrestanCode]
+CBNEsfahan<-CBN[ProvinceCode==10]
+CBNEsfahan[,sum(Weight*Size),by=ShahrestanCode]
+CBNKaraj<-CBN[ProvinceCode==30]
+CBNKaraj[,sum(Weight*Size),by=ShahrestanCode]
+CBNKermanshah<-CBN[ProvinceCode==5]
+CBNKermanshah[,sum(Weight*Size),by=ShahrestanCode]
+
+
+CBN<-CBN[ShahrestanCode==2301,ProvinceCode:=as.numeric(ShahrestanCode)]
+CBN<-CBN[ShahrestanCode==303,ProvinceCode:=as.numeric(ShahrestanCode)]
+CBN<-CBN[ShahrestanCode==603,ProvinceCode:=as.numeric(ShahrestanCode)]
+CBN<-CBN[ShahrestanCode==707,ProvinceCode:=as.numeric(ShahrestanCode)]
+CBN<-CBN[ShahrestanCode==916,ProvinceCode:=as.numeric(ShahrestanCode)]
+CBN<-CBN[ShahrestanCode==1002,ProvinceCode:=as.numeric(ShahrestanCode)]
+CBN<-CBN[ShahrestanCode==3001,ProvinceCode:=as.numeric(ShahrestanCode)]
+CBN<-CBN[ShahrestanCode==2301,ProvinceCode:=as.numeric(ShahrestanCode)]
+CBN<-CBN[ShahrestanCode==502,ProvinceCode:=as.numeric(ShahrestanCode)]
+
+# Food Calories
+CBN$Ghand_Calory<- CBN$Ghandgram *4
+CBN$Hoboobat_Calory<- CBN$Hoboobatgram *3
+CBN$Nan_Calory<- CBN$Nangram *2.5
+CBN$Berenj_Calory<- CBN$Berenjgram *1.2
+CBN$Roghan_Calory<- CBN$Roghangram *8
+CBN$Goosht_Calory<- CBN$Gooshtgram *2.5
+CBN$Morgh_Calory<- CBN$Morghgram *2
+CBN$Mahi_Calory<- CBN$Mahigram *1
+CBN$Shir_Calory<- CBN$Shirgram *2.5
+CBN$Mast_Calory<- CBN$Mastgram *1.5
+CBN$Panir_Calory<- CBN$Mastgram *2.5
+CBN$Tokhmemorgh_Calory<- CBN$Tokhmemorghgram *1.4
+CBN$Mive_Calory<- CBN$Mivegram *0.5
+CBN$Sabzi_Calory<- CBN$Sabzigram *0.5
+CBN$Makarooni_Calory<- CBN$Makaroonigram *3.6
+CBN$Sibzamini_Calory<- CBN$Sibzaminigram *0.9
+#utils::View(CBN)
+
+#CalculatePer_calories
+CBN[, Daily_Exp_Calories := Reduce(`+`, .SD), .SDcols=148:163][]
+CBN[,EqSizeCalory :=(Size-NKids) + NKids*(1800/2100)]
+CBN[,Per_Daily_Exp_Calories:=Daily_Exp_Calories/EqSizeCalory]
+CBN <- CBN[Per_Daily_Exp_Calories<100000] # arbitrary removal of outliers
+#CBN[,Daily_Calories_cluster:=weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+#CBN[,weighted.mean(Daily_Calories_cluster,Weight,na.rm = TRUE),by=cluster]
+#CBN[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+#CBN[,weighted.mean(Size,Weight,na.rm = TRUE),by=cluster]
+#CBN[,sum(Weight*Size),by=cluster]
+#CBN[,sum(Weight),by=cluster]
+#CBN[,sum(Poor),by=cluster]
+
+
+#Calculate_Per_calories
+CBN$Ghand_per_Calory<- CBN$Ghandgram *4/CBN$EqSizeCalory
+CBN$Hoboobat_per_Calory<- CBN$Hoboobatgram *3/CBN$EqSizeCalory
+CBN$Nan_per_Calory<- CBN$Nangram *2.5/CBN$EqSizeCalory
+CBN$Berenj_per_Calory<- CBN$Berenjgram *1.2/CBN$EqSizeCalory
+CBN$Roghan_per_Calory<- CBN$Roghangram *8/CBN$EqSizeCalory
+CBN$Goosht_per_Calory<- CBN$Gooshtgram *2.5/CBN$EqSizeCalory
+CBN$Morgh_per_Calory<- CBN$Morghgram *2/CBN$EqSizeCalory
+CBN$Mahi_per_Calory<- CBN$Mahigram *1/CBN$EqSizeCalory
+CBN$Shir_per_Calory<- CBN$Shirgram *2.5/CBN$EqSizeCalory
+CBN$Mast_per_Calory<- CBN$Mastgram *1.5/CBN$EqSizeCalory
+CBN$Panir_per_Calory<- CBN$Mastgram *2.5/CBN$EqSizeCalory
+CBN$Tokhmemorgh_per_Calory<- CBN$Tokhmemorghgram *1.4/CBN$EqSizeCalory
+CBN$Mive_per_Calory<- CBN$Mivegram *0.5/CBN$EqSizeCalory
+CBN$Sabzi_per_Calory<- CBN$Sabzigram *0.5/CBN$EqSizeCalory
+CBN$Makarooni_per_Calory<- CBN$Makaroonigram *3.6/CBN$EqSizeCalory
+CBN$Sibzamini_per_Calory<- CBN$Sibzaminigram *0.9/CBN$EqSizeCalory
+
+
+#Assume that deciles 1 and 2 are poor
+CBN[,Poor:=ifelse(Decile %in% 2:3,1,0)]
+CBNPoor<-CBN[Poor==1]
+
+#K-means weights
+PriceWeights<-CBN[,.(HHID,Ghand_W,Hoboobat_W,Roghan_W,Berenj_W,Nan_W,Goosht_W,Morgh_W,Mahi_W,Shir_W,Mast_W,Panir_W,Tokhmemorgh_W,Mive_W,Sabzi_W,Makarooni_W,Sibzamini_W,Home_W,ProvinceCode,Weight)]
+dt3 <- PriceWeights[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+dt3<- dt3[order(ProvinceCode)]
+dt3 <- dt3[,.(Ghand_W,Hoboobat_W,Roghan_W,Berenj_W,Nan_W,Goosht_W,Morgh_W,Mahi_W,Shir_W,Mast_W,Panir_W,Tokhmemorgh_W,Mive_W,Sabzi_W,Makarooni_W,Sibzamini_W,Home_W)]
+
+
+#K-means algorithm for clustering by prices
+test<-CBNPoor[,.(GhandPrice,HoboobatPrice,RoghanPrice,BerenjPrice,NanPrice,GooshtPrice,MorghPrice,MahiPrice,ShirPrice,MastPrice,PanirPrice,TokhmemorghPrice,MivePrice,SabziPrice,MakarooniPrice,SibzaminiPrice,MetrPrice,ProvinceCode,Weight)]
+#test<-CBNPoor[,.(GhandPrice,HoboobatPrice,RoghanPrice,BerenjPrice,NanPrice,GooshtPrice,MorghPrice,MahiPrice,ShirPrice,MastPrice,PanirPrice,TokhmemorghPrice,MivePrice,SabziPrice,MakarooniPrice,SibzaminiPrice,MetrPrice,Ghand_W,Hoboobat_W,Roghan_W,Berenj_W,Nan_W,Goosht_W,Morgh_W,Mahi_W,Shir_W,Mast_W,Panir_W,Tokhmemorgh_W,Mive_W,Sabzi_W,Makarooni_W,Sibzamini_W,Home_W,Region,ProvinceCode,Weight)]
+dt2 <- test[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+dt2<- dt2[order(ProvinceCode)]
+for (col in c("BerenjPrice")) dt2[is.nan(get(col)), (col) := 50000]
+dt <- dt2 [,.(GhandPrice,HoboobatPrice,RoghanPrice,BerenjPrice,NanPrice,GooshtPrice,MorghPrice,MahiPrice,ShirPrice,MastPrice,PanirPrice,TokhmemorghPrice,MivePrice,SabziPrice,MakarooniPrice,SibzaminiPrice,MetrPrice)]
+
+
+pca <- princomp(dt, cor=T)
+PRICE <- pca$scores
+PRICE1 <- -1*PRICE[,1]
+PRICE2 <- -1*PRICE[,2]
+PRICE3 <- -1*PRICE[,3]
+PRICE4 <- -1*PRICE[,4]
+PRICE5 <- -1*PRICE[,5]
+PRICE6 <- -1*PRICE[,6]
+PRICE7 <- -1*PRICE[,7]
+PRICE8 <- -1*PRICE[,8]
+PRICE9 <- -1*PRICE[,9]
+PRICE10 <- -1*PRICE[,10]
+PRICE11 <- -1*PRICE[,11]
+PRICE12 <- -1*PRICE[,12]
+PRICE13 <- -1*PRICE[,13]
+PRICE14 <- -1*PRICE[,14]
+PRICE15 <- -1*PRICE[,15]
+PRICE16 <- -1*PRICE[,16]
+PRICE17 <- -1*PRICE[,17]
+
+# Deciding how many clusters
+wss <- (nrow(dt)-1)*sum(apply(dt,2,var))
+for (i in 2:30) wss[i] <- sum(kmeans(dt, centers=i)$withinss)
+plot(1:30, wss, type="b", xlab="Number of Clusters",
+ ylab="Within groups sum of squares")
+
+#Weighted clustering
+
+dt3.m <- dt3[,lapply(.SD, mean)] # Weights for each vector
+dtW <- dt * sqrt(dt3.m[rep(1,nrow(dt))]) # Weighted observations
+kmeans(dtW,4) # Simple K-means
+
+cl <- kmeans(dtW,4)
+cl$cluster
+dt2 <- dt2[,cluster:=data.table(cl$cluster)]
+dt2<-dt2[,.(ProvinceCode,cluster)]
+load(file="dt4Urban.rda")
+#plot(PRICE1, PRICE2,col=cl$cluster)
+#points(cl$centers, pch=20)
+CBNPoor<-merge(CBNPoor,dt2,by=c("ProvinceCode"),all.x = TRUE)
+CBNPoor[,sum(Weight*Size),by=cluster]
+CBNPoor[,sum(Weight),by=cluster]
+CBNPoor[,sum(Poor),by=cluster]
+C2<-CBNPoor[,.(HHID,ProvinceCode,Region,Decile,Poor,cluster)]
+######################################################################
+####Iteration 1#####
+###Iteration1-1
+#Calculate Per_calories in clusters
+CBNPoor[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(185:200)][]
+#utils::View(CBNPoor)
+
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(202:217)][]
+
+CBNPoor[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor<-CBNPoor[Per_Daily_Exp_Calories!=0]
+CBNPoor[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+#CBN[,weighted.mean(Poor,Weight),by=cluster][order(cluster)]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE)]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE)]
+
+#Real Prices
+T_Bundle_Value<-subset(CBNPoor, ProvinceCode==2301, select=c(Bundle_Value,Home_Per_Metr,Weight))
+Tehran_Bundle_Value1<-weighted.mean(T_Bundle_Value$Bundle_Value,T_Bundle_Value$Weight,na.rm = TRUE)
+Tehran_Bundle_Value2<-weighted.mean(T_Bundle_Value$Home_Per_Metr,T_Bundle_Value$Weight,na.rm = TRUE)
+CBNPoor[,RealPriceIndex1:=weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/Tehran_Bundle_Value1,by=ProvinceCode]
+CBNPoor[,RealPriceIndex2:=weighted.mean(Home_Per_Metr,Weight,na.rm = TRUE)/Tehran_Bundle_Value2,by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex1,Weight),by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex2,Weight),by=ProvinceCode]
+Indexes2<-CBNPoor[,.(RealPriceIndex1,RealPriceIndex2,ProvinceCode,Weight)]
+Indexes2<-Indexes2[,RealPriceIndex:=(RealPriceIndex1+RealPriceIndex2)/2]
+Indexes<-Indexes2[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+Indexes31<-Indexes[,.(ProvinceCode,RealPriceIndex1,RealPriceIndex2,RealPriceIndex)]
+Indexes<-Indexes[,.(ProvinceCode,RealPriceIndex)]
+CBN<-merge(CBN,Indexes,by=c("ProvinceCode"),all.x = TRUE)
+CBN<-CBN[,Total_Food_Month_Per2:=FoodExpenditure_Per*RealPriceIndex]
+CBN<-CBN[,Total_Exp_Month_Per2:=Total_Exp_Month_Per_nondurable*RealPriceIndex]
+#utils::View(CBN)
+
+#Sort Expenditure data
+CBN<- CBN[order(Total_Exp_Month_Per2)]
+
+#Calculate cumulative weights
+sum(CBN$Weight)
+CBN$cumweight <- cumsum(CBN$Weight)
+tx <- max(CBN$cumweight)
+
+#Calculate deciles by weights
+CBN[,Decile:=cut(cumweight,breaks = seq(0,tx,tx/10),labels = 1:10)]
+CBN[,Percentile:=cut(cumweight,breaks=seq(0,tx,tx/100),labels=1:100)]
+
+#Update Poors
+CBN[,Poor:=ifelse(Decile %in% 2:3,1,0)]
+CBNPoor<-CBN[Poor==1]
+CBNPoor<-merge(CBNPoor,dt2,by=c("ProvinceCode"),all.x = TRUE)
+CBNPoor[,sum(HIndivNo),by=.(ProvinceCode)][order(ProvinceCode)]
+
+###Iteration1-2
+#Calculate Per_calories in clusters
+CBNPoor[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(185:200)][]
+#utils::View(CBNPoor)
+
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(202:217)][]
+
+CBNPoor[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor<-CBNPoor[Per_Daily_Exp_Calories!=0]
+CBNPoor[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+#CBN[,weighted.mean(Poor,Weight),by=cluster][order(cluster)]
+
+#Real Prices
+T_Bundle_Value<-subset(CBNPoor, ProvinceCode==2301, select=c(Bundle_Value,Home_Per_Metr,Weight))
+Tehran_Bundle_Value1<-weighted.mean(T_Bundle_Value$Bundle_Value,T_Bundle_Value$Weight,na.rm = TRUE)
+Tehran_Bundle_Value2<-weighted.mean(T_Bundle_Value$Home_Per_Metr,T_Bundle_Value$Weight,na.rm = TRUE)
+CBNPoor[,RealPriceIndex1:=weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/Tehran_Bundle_Value1,by=ProvinceCode]
+CBNPoor[,RealPriceIndex2:=weighted.mean(Home_Per_Metr,Weight,na.rm = TRUE)/Tehran_Bundle_Value2,by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex1,Weight),by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex2,Weight),by=ProvinceCode]
+Indexes2<-CBNPoor[,.(RealPriceIndex1,RealPriceIndex2,ProvinceCode,Weight)]
+Indexes2<-Indexes2[,RealPriceIndex:=(RealPriceIndex1+RealPriceIndex2)/2]
+Indexes<-Indexes2[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+Indexes32<-Indexes[,.(ProvinceCode,RealPriceIndex1,RealPriceIndex2,RealPriceIndex)]
+Indexes<-Indexes[,.(ProvinceCode,RealPriceIndex)]
+CBN[,RealPriceIndex:=NULL]
+CBN<-merge(CBN,Indexes,by=c("ProvinceCode"),all.x = TRUE)
+CBN<-CBN[,Total_Food_Month_Per2:=FoodExpenditure_Per*RealPriceIndex]
+CBN<-CBN[,Total_Exp_Month_Per2:=Total_Exp_Month_Per_nondurable*RealPriceIndex]
+#utils::View(CBN)
+
+#Sort Expenditure data
+CBN<- CBN[order(Total_Exp_Month_Per2)]
+
+#Calculate cumulative weights
+sum(CBN$Weight)
+CBN$cumweight <- cumsum(CBN$Weight)
+tx <- max(CBN$cumweight)
+
+#Calculate deciles by weights
+CBN[,Decile:=cut(cumweight,breaks = seq(0,tx,tx/10),labels = 1:10)]
+CBN[,Percentile:=cut(cumweight,breaks=seq(0,tx,tx/100),labels=1:100)]
+
+#Update Poors
+CBN[,Poor:=ifelse(Decile %in% 2:3,1,0)]
+CBNPoor<-CBN[Poor==1]
+CBNPoor<-merge(CBNPoor,dt2,by=c("ProvinceCode"),all.x = TRUE)
+CBNPoor[,sum(HIndivNo),by=.(ProvinceCode)][order(ProvinceCode)]
+
+###Iteration1-3
+#Calculate Per_calories in clusters
+CBNPoor[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(185:200)][]
+#utils::View(CBNPoor)
+
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(202:217)][]
+
+CBNPoor[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor<-CBNPoor[Per_Daily_Exp_Calories!=0]
+CBNPoor[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+#CBN[,weighted.mean(Poor,Weight),by=cluster][order(cluster)]
+
+#Real Prices
+T_Bundle_Value<-subset(CBNPoor, ProvinceCode==2301, select=c(Bundle_Value,Home_Per_Metr,Weight))
+Tehran_Bundle_Value1<-weighted.mean(T_Bundle_Value$Bundle_Value,T_Bundle_Value$Weight,na.rm = TRUE)
+Tehran_Bundle_Value2<-weighted.mean(T_Bundle_Value$Home_Per_Metr,T_Bundle_Value$Weight,na.rm = TRUE)
+CBNPoor[,RealPriceIndex1:=weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/Tehran_Bundle_Value1,by=ProvinceCode]
+CBNPoor[,RealPriceIndex2:=weighted.mean(Home_Per_Metr,Weight,na.rm = TRUE)/Tehran_Bundle_Value2,by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex1,Weight),by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex2,Weight),by=ProvinceCode]
+Indexes2<-CBNPoor[,.(RealPriceIndex1,RealPriceIndex2,ProvinceCode,Weight)]
+Indexes2<-Indexes2[,RealPriceIndex:=(RealPriceIndex1+RealPriceIndex2)/2]
+Indexes<-Indexes2[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+Indexes33<-Indexes[,.(ProvinceCode,RealPriceIndex1,RealPriceIndex2,RealPriceIndex)]
+Indexes<-Indexes[,.(ProvinceCode,RealPriceIndex)]
+CBN[,RealPriceIndex:=NULL]
+CBN<-merge(CBN,Indexes,by=c("ProvinceCode"),all.x = TRUE)
+CBN<-CBN[,Total_Food_Month_Per2:=FoodExpenditure_Per*RealPriceIndex]
+CBN<-CBN[,Total_Exp_Month_Per2:=Total_Exp_Month_Per_nondurable*RealPriceIndex]
+#utils::View(CBN)
+
+#Sort Expenditure data
+CBN<- CBN[order(Total_Exp_Month_Per2)]
+
+#Calculate cumulative weights
+sum(CBN$Weight)
+CBN$cumweight <- cumsum(CBN$Weight)
+tx <- max(CBN$cumweight)
+
+#Calculate deciles by weights
+CBN[,Decile:=cut(cumweight,breaks = seq(0,tx,tx/10),labels = 1:10)]
+CBN[,Percentile:=cut(cumweight,breaks=seq(0,tx,tx/100),labels=1:100)]
+
+#Update Poors
+CBN[,Poor:=ifelse(Decile %in% 2:3,1,0)]
+CBNPoor<-CBN[Poor==1]
+CBNPoor<-merge(CBNPoor,dt2,by=c("ProvinceCode"),all.x = TRUE)
+CBNPoor[,sum(HIndivNo),by=.(ProvinceCode)][order(ProvinceCode)]
+
+
+###Iteration1-4
+#Calculate Per_calories in clusters
+CBNPoor[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(185:200)][]
+#utils::View(CBNPoor)
+
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(202:217)][]
+
+CBNPoor[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor<-CBNPoor[Per_Daily_Exp_Calories!=0]
+CBNPoor[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+#CBN[,weighted.mean(Poor,Weight),by=cluster][order(cluster)]
+
+#Real Prices
+T_Bundle_Value<-subset(CBNPoor, ProvinceCode==2301, select=c(Bundle_Value,Home_Per_Metr,Weight))
+Tehran_Bundle_Value1<-weighted.mean(T_Bundle_Value$Bundle_Value,T_Bundle_Value$Weight,na.rm = TRUE)
+Tehran_Bundle_Value2<-weighted.mean(T_Bundle_Value$Home_Per_Metr,T_Bundle_Value$Weight,na.rm = TRUE)
+CBNPoor[,RealPriceIndex1:=weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/Tehran_Bundle_Value1,by=ProvinceCode]
+CBNPoor[,RealPriceIndex2:=weighted.mean(Home_Per_Metr,Weight,na.rm = TRUE)/Tehran_Bundle_Value2,by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex1,Weight),by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex2,Weight),by=ProvinceCode]
+Indexes2<-CBNPoor[,.(RealPriceIndex1,RealPriceIndex2,ProvinceCode,Weight)]
+Indexes2<-Indexes2[,RealPriceIndex:=(RealPriceIndex1+RealPriceIndex2)/2]
+Indexes<-Indexes2[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+Indexes34<-Indexes[,.(ProvinceCode,RealPriceIndex1,RealPriceIndex2,RealPriceIndex)]
+Indexes<-Indexes[,.(ProvinceCode,RealPriceIndex)]
+CBN[,RealPriceIndex:=NULL]
+CBN<-merge(CBN,Indexes,by=c("ProvinceCode"),all.x = TRUE)
+CBN<-CBN[,Total_Food_Month_Per2:=FoodExpenditure_Per*RealPriceIndex]
+CBN<-CBN[,Total_Exp_Month_Per2:=Total_Exp_Month_Per_nondurable*RealPriceIndex]
+#utils::View(CBN)
+
+
+#Sort Expenditure data
+CBN<- CBN[order(Total_Exp_Month_Per2)]
+
+#Calculate cumulative weights
+sum(CBN$Weight)
+CBN$cumweight <- cumsum(CBN$Weight)
+tx <- max(CBN$cumweight)
+
+#Calculate deciles by weights
+CBN[,Decile:=cut(cumweight,breaks = seq(0,tx,tx/10),labels = 1:10)]
+CBN[,Percentile:=cut(cumweight,breaks=seq(0,tx,tx/100),labels=1:100)]
+
+#Update Poors
+CBN[,Poor:=ifelse(Decile %in% 2:3,1,0)]
+CBNPoor<-CBN[Poor==1]
+CBNPoor<-merge(CBNPoor,dt2,by=c("ProvinceCode"),all.x = TRUE)
+CBNPoor[,sum(HIndivNo),by=.(ProvinceCode)][order(ProvinceCode)]
+
+###Iteration1-5
+#Calculate Per_calories in clusters
+CBNPoor[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(185:200)][]
+#utils::View(CBNPoor)
+
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(202:217)][]
+
+CBNPoor[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor<-CBNPoor[Per_Daily_Exp_Calories!=0]
+CBNPoor[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+#CBN[,weighted.mean(Poor,Weight),by=cluster][order(cluster)]
+
+#Real Prices
+T_Bundle_Value<-subset(CBNPoor, ProvinceCode==2301, select=c(Bundle_Value,Home_Per_Metr,Weight))
+Tehran_Bundle_Value1<-weighted.mean(T_Bundle_Value$Bundle_Value,T_Bundle_Value$Weight,na.rm = TRUE)
+Tehran_Bundle_Value2<-weighted.mean(T_Bundle_Value$Home_Per_Metr,T_Bundle_Value$Weight,na.rm = TRUE)
+CBNPoor[,RealPriceIndex1:=weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/Tehran_Bundle_Value1,by=ProvinceCode]
+CBNPoor[,RealPriceIndex2:=weighted.mean(Home_Per_Metr,Weight,na.rm = TRUE)/Tehran_Bundle_Value2,by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex1,Weight),by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex2,Weight),by=ProvinceCode]
+Indexes2<-CBNPoor[,.(RealPriceIndex1,RealPriceIndex2,ProvinceCode,Weight)]
+Indexes2<-Indexes2[,RealPriceIndex:=(RealPriceIndex1+RealPriceIndex2)/2]
+Indexes<-Indexes2[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+Indexes35<-Indexes[,.(ProvinceCode,RealPriceIndex1,RealPriceIndex2,RealPriceIndex)]
+Indexes<-Indexes[,.(ProvinceCode,RealPriceIndex)]
+CBN[,RealPriceIndex:=NULL]
+CBN<-merge(CBN,Indexes,by=c("ProvinceCode"),all.x = TRUE)
+CBN<-CBN[,Total_Food_Month_Per2:=FoodExpenditure_Per*RealPriceIndex]
+CBN<-CBN[,Total_Exp_Month_Per2:=Total_Exp_Month_Per_nondurable*RealPriceIndex]
+#utils::View(CBN)
+
+
+#Sort Expenditure data
+CBN<- CBN[order(Total_Exp_Month_Per2)]
+
+#Calculate cumulative weights
+sum(CBN$Weight)
+CBN$cumweight <- cumsum(CBN$Weight)
+tx <- max(CBN$cumweight)
+
+#Calculate deciles by weights
+CBN[,Decile:=cut(cumweight,breaks = seq(0,tx,tx/10),labels = 1:10)]
+CBN[,Percentile:=cut(cumweight,breaks=seq(0,tx,tx/100),labels=1:100)]
+
+#Update Poors
+CBN[,Poor:=ifelse(Decile %in% 2:3,1,0)]
+CBNPoor<-CBN[Poor==1]
+CBNPoor<-merge(CBNPoor,dt2,by=c("ProvinceCode"),all.x = TRUE)
+CBNPoor[,sum(HIndivNo),by=.(ProvinceCode)][order(ProvinceCode)]
+
+###Iteration1-6
+#Calculate Per_calories in clusters
+CBNPoor[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(185:200)][]
+#utils::View(CBNPoor)
+
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(202:217)][]
+
+CBNPoor[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor<-CBNPoor[Per_Daily_Exp_Calories!=0]
+CBNPoor[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+#CBN[,weighted.mean(Poor,Weight),by=cluster][order(cluster)]
+
+#Real Prices
+T_Bundle_Value<-subset(CBNPoor, ProvinceCode==2301, select=c(Bundle_Value,Home_Per_Metr,Weight))
+Tehran_Bundle_Value1<-weighted.mean(T_Bundle_Value$Bundle_Value,T_Bundle_Value$Weight,na.rm = TRUE)
+Tehran_Bundle_Value2<-weighted.mean(T_Bundle_Value$Home_Per_Metr,T_Bundle_Value$Weight,na.rm = TRUE)
+CBNPoor[,RealPriceIndex1:=weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/Tehran_Bundle_Value1,by=ProvinceCode]
+CBNPoor[,RealPriceIndex2:=weighted.mean(Home_Per_Metr,Weight,na.rm = TRUE)/Tehran_Bundle_Value2,by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex1,Weight),by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex2,Weight),by=ProvinceCode]
+Indexes2<-CBNPoor[,.(RealPriceIndex1,RealPriceIndex2,ProvinceCode,Weight)]
+Indexes2<-Indexes2[,RealPriceIndex:=(RealPriceIndex1+RealPriceIndex2)/2]
+Indexes<-Indexes2[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+Indexes36<-Indexes[,.(ProvinceCode,RealPriceIndex1,RealPriceIndex2,RealPriceIndex)]
+Indexes<-Indexes[,.(ProvinceCode,RealPriceIndex)]
+CBN[,RealPriceIndex:=NULL]
+CBN<-merge(CBN,Indexes,by=c("ProvinceCode"),all.x = TRUE)
+CBN<-CBN[,Total_Food_Month_Per2:=FoodExpenditure_Per*RealPriceIndex]
+CBN<-CBN[,Total_Exp_Month_Per2:=Total_Exp_Month_Per_nondurable*RealPriceIndex]
+#utils::View(CBN)
+
+
+#Sort Expenditure data
+CBN<- CBN[order(Total_Exp_Month_Per2)]
+
+#Calculate cumulative weights
+sum(CBN$Weight)
+CBN$cumweight <- cumsum(CBN$Weight)
+tx <- max(CBN$cumweight)
+
+#Calculate deciles by weights
+CBN[,Decile:=cut(cumweight,breaks = seq(0,tx,tx/10),labels = 1:10)]
+CBN[,Percentile:=cut(cumweight,breaks=seq(0,tx,tx/100),labels=1:100)]
+
+#Update Poors
+CBN[,Poor:=ifelse(Decile %in% 2:3,1,0)]
+CBNPoor<-CBN[Poor==1]
+CBNPoor<-merge(CBNPoor,dt2,by=c("ProvinceCode"),all.x = TRUE)
+CBNPoor[,sum(HIndivNo),by=.(ProvinceCode)][order(ProvinceCode)]
+
+###Iteration1-7
+#Calculate Per_calories in clusters
+CBNPoor[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(185:200)][]
+#utils::View(CBNPoor)
+
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(202:217)][]
+
+CBNPoor[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor<-CBNPoor[Per_Daily_Exp_Calories!=0]
+CBNPoor[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+#CBN[,weighted.mean(Poor,Weight),by=cluster][order(cluster)]
+
+#Real Prices
+T_Bundle_Value<-subset(CBNPoor, ProvinceCode==2301, select=c(Bundle_Value,Home_Per_Metr,Weight))
+Tehran_Bundle_Value1<-weighted.mean(T_Bundle_Value$Bundle_Value,T_Bundle_Value$Weight,na.rm = TRUE)
+Tehran_Bundle_Value2<-weighted.mean(T_Bundle_Value$Home_Per_Metr,T_Bundle_Value$Weight,na.rm = TRUE)
+CBNPoor[,RealPriceIndex1:=weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/Tehran_Bundle_Value1,by=ProvinceCode]
+CBNPoor[,RealPriceIndex2:=weighted.mean(Home_Per_Metr,Weight,na.rm = TRUE)/Tehran_Bundle_Value2,by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex1,Weight),by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex2,Weight),by=ProvinceCode]
+Indexes2<-CBNPoor[,.(RealPriceIndex1,RealPriceIndex2,ProvinceCode,Weight)]
+Indexes2<-Indexes2[,RealPriceIndex:=(RealPriceIndex1+RealPriceIndex2)/2]
+Indexes<-Indexes2[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+Indexes37<-Indexes[,.(ProvinceCode,RealPriceIndex1,RealPriceIndex2,RealPriceIndex)]
+Indexes<-Indexes[,.(ProvinceCode,RealPriceIndex)]
+CBN[,RealPriceIndex:=NULL]
+CBN<-merge(CBN,Indexes,by=c("ProvinceCode"),all.x = TRUE)
+CBN<-CBN[,Total_Food_Month_Per2:=FoodExpenditure_Per*RealPriceIndex]
+CBN<-CBN[,Total_Exp_Month_Per2:=Total_Exp_Month_Per_nondurable*RealPriceIndex]
+#utils::View(CBN)
+
+
+#Sort Expenditure data
+CBN<- CBN[order(Total_Exp_Month_Per2)]
+
+#Calculate cumulative weights
+sum(CBN$Weight)
+CBN$cumweight <- cumsum(CBN$Weight)
+tx <- max(CBN$cumweight)
+
+#Calculate deciles by weights
+CBN[,Decile:=cut(cumweight,breaks = seq(0,tx,tx/10),labels = 1:10)]
+CBN[,Percentile:=cut(cumweight,breaks=seq(0,tx,tx/100),labels=1:100)]
+
+#Update Poors
+CBN[,Poor:=ifelse(Decile %in% 2:3,1,0)]
+CBNPoor<-CBN[Poor==1]
+CBNPoor<-merge(CBNPoor,dt2,by=c("ProvinceCode"),all.x = TRUE)
+CBNPoor[,sum(HIndivNo),by=.(ProvinceCode)][order(ProvinceCode)]
+
+###Iteration1-8
+#Calculate Per_calories in clusters
+CBNPoor[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(185:200)][]
+#utils::View(CBNPoor)
+
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(202:217)][]
+
+CBNPoor[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor<-CBNPoor[Per_Daily_Exp_Calories!=0]
+CBNPoor[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+#CBN[,weighted.mean(Poor,Weight),by=cluster][order(cluster)]
+
+#Real Prices
+T_Bundle_Value<-subset(CBNPoor, ProvinceCode==2301, select=c(Bundle_Value,Home_Per_Metr,Weight))
+Tehran_Bundle_Value1<-weighted.mean(T_Bundle_Value$Bundle_Value,T_Bundle_Value$Weight,na.rm = TRUE)
+Tehran_Bundle_Value2<-weighted.mean(T_Bundle_Value$Home_Per_Metr,T_Bundle_Value$Weight,na.rm = TRUE)
+CBNPoor[,RealPriceIndex1:=weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/Tehran_Bundle_Value1,by=ProvinceCode]
+CBNPoor[,RealPriceIndex2:=weighted.mean(Home_Per_Metr,Weight,na.rm = TRUE)/Tehran_Bundle_Value2,by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex1,Weight),by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex2,Weight),by=ProvinceCode]
+Indexes2<-CBNPoor[,.(RealPriceIndex1,RealPriceIndex2,ProvinceCode,Weight)]
+Indexes2<-Indexes2[,RealPriceIndex:=(RealPriceIndex1+RealPriceIndex2)/2]
+Indexes<-Indexes2[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+Indexes38<-Indexes[,.(ProvinceCode,RealPriceIndex1,RealPriceIndex2,RealPriceIndex)]
+Indexes<-Indexes[,.(ProvinceCode,RealPriceIndex)]
+CBN[,RealPriceIndex:=NULL]
+CBN<-merge(CBN,Indexes,by=c("ProvinceCode"),all.x = TRUE)
+CBN<-CBN[,Total_Food_Month_Per2:=FoodExpenditure_Per*RealPriceIndex]
+CBN<-CBN[,Total_Exp_Month_Per2:=Total_Exp_Month_Per_nondurable*RealPriceIndex]
+#utils::View(CBN)
+
+
+#Sort Expenditure data
+CBN<- CBN[order(Total_Exp_Month_Per2)]
+
+#Calculate cumulative weights
+sum(CBN$Weight)
+CBN$cumweight <- cumsum(CBN$Weight)
+tx <- max(CBN$cumweight)
+
+#Calculate deciles by weights
+CBN[,Decile:=cut(cumweight,breaks = seq(0,tx,tx/10),labels = 1:10)]
+CBN[,Percentile:=cut(cumweight,breaks=seq(0,tx,tx/100),labels=1:100)]
+
+#Update Poors
+CBN[,Poor:=ifelse(Decile %in% 2:3,1,0)]
+CBNPoor<-CBN[Poor==1]
+CBNPoor<-merge(CBNPoor,dt2,by=c("ProvinceCode"),all.x = TRUE)
+CBNPoor[,sum(HIndivNo),by=.(ProvinceCode)][order(ProvinceCode)]
+
+###Iteration1-9
+#Calculate Per_calories in clusters
+CBNPoor[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(185:200)][]
+#utils::View(CBNPoor)
+
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(202:217)][]
+
+CBNPoor[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor<-CBNPoor[Per_Daily_Exp_Calories!=0]
+CBNPoor[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+#CBN[,weighted.mean(Poor,Weight),by=cluster][order(cluster)]
+
+#Real Prices
+T_Bundle_Value<-subset(CBNPoor, ProvinceCode==2301, select=c(Bundle_Value,Home_Per_Metr,Weight))
+Tehran_Bundle_Value1<-weighted.mean(T_Bundle_Value$Bundle_Value,T_Bundle_Value$Weight,na.rm = TRUE)
+Tehran_Bundle_Value2<-weighted.mean(T_Bundle_Value$Home_Per_Metr,T_Bundle_Value$Weight,na.rm = TRUE)
+CBNPoor[,RealPriceIndex1:=weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/Tehran_Bundle_Value1,by=ProvinceCode]
+CBNPoor[,RealPriceIndex2:=weighted.mean(Home_Per_Metr,Weight,na.rm = TRUE)/Tehran_Bundle_Value2,by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex1,Weight),by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex2,Weight),by=ProvinceCode]
+Indexes2<-CBNPoor[,.(RealPriceIndex1,RealPriceIndex2,ProvinceCode,Weight)]
+Indexes2<-Indexes2[,RealPriceIndex:=(RealPriceIndex1+RealPriceIndex2)/2]
+Indexes<-Indexes2[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+Indexes39<-Indexes[,.(ProvinceCode,RealPriceIndex1,RealPriceIndex2,RealPriceIndex)]
+Indexes<-Indexes[,.(ProvinceCode,RealPriceIndex)]
+CBN[,RealPriceIndex:=NULL]
+CBN<-merge(CBN,Indexes,by=c("ProvinceCode"),all.x = TRUE)
+CBN<-CBN[,Total_Food_Month_Per2:=FoodExpenditure_Per*RealPriceIndex]
+CBN<-CBN[,Total_Exp_Month_Per2:=Total_Exp_Month_Per_nondurable*RealPriceIndex]
+#utils::View(CBN)
+
+
+#Sort Expenditure data
+CBN<- CBN[order(Total_Exp_Month_Per2)]
+
+#Calculate cumulative weights
+sum(CBN$Weight)
+CBN$cumweight <- cumsum(CBN$Weight)
+tx <- max(CBN$cumweight)
+
+#Calculate deciles by weights
+CBN[,Decile:=cut(cumweight,breaks = seq(0,tx,tx/10),labels = 1:10)]
+CBN[,Percentile:=cut(cumweight,breaks=seq(0,tx,tx/100),labels=1:100)]
+
+#Update Poors
+CBN[,Poor:=ifelse(Decile %in% 2:3,1,0)]
+CBNPoor<-CBN[Poor==1]
+CBNPoor<-merge(CBNPoor,dt2,by=c("ProvinceCode"),all.x = TRUE)
+CBNPoor[,sum(HIndivNo),by=.(ProvinceCode)][order(ProvinceCode)]
+
+###Iteration1-10
+#Calculate Per_calories in clusters
+CBNPoor[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(185:200)][]
+#utils::View(CBNPoor)
+
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(202:217)][]
+
+CBNPoor[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor<-CBNPoor[Per_Daily_Exp_Calories!=0]
+CBNPoor[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+#CBN[,weighted.mean(Poor,Weight),by=cluster][order(cluster)]
+
+#Real Prices
+T_Bundle_Value<-subset(CBNPoor, ProvinceCode==2301, select=c(Bundle_Value,Home_Per_Metr,Weight))
+Tehran_Bundle_Value1<-weighted.mean(T_Bundle_Value$Bundle_Value,T_Bundle_Value$Weight,na.rm = TRUE)
+Tehran_Bundle_Value2<-weighted.mean(T_Bundle_Value$Home_Per_Metr,T_Bundle_Value$Weight,na.rm = TRUE)
+CBNPoor[,RealPriceIndex1:=weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/Tehran_Bundle_Value1,by=ProvinceCode]
+CBNPoor[,RealPriceIndex2:=weighted.mean(Home_Per_Metr,Weight,na.rm = TRUE)/Tehran_Bundle_Value2,by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex1,Weight),by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex2,Weight),by=ProvinceCode]
+Indexes2<-CBNPoor[,.(RealPriceIndex1,RealPriceIndex2,ProvinceCode,Weight)]
+Indexes2<-Indexes2[,RealPriceIndex:=(RealPriceIndex1+RealPriceIndex2)/2]
+Indexes<-Indexes2[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+Indexes310<-Indexes[,.(ProvinceCode,RealPriceIndex1,RealPriceIndex2,RealPriceIndex)]
+Indexes<-Indexes[,.(ProvinceCode,RealPriceIndex)]
+CBN[,RealPriceIndex:=NULL]
+CBN<-merge(CBN,Indexes,by=c("ProvinceCode"),all.x = TRUE)
+CBN<-CBN[,Total_Food_Month_Per2:=FoodExpenditure_Per*RealPriceIndex]
+CBN<-CBN[,Total_Exp_Month_Per2:=Total_Exp_Month_Per_nondurable*RealPriceIndex]
+#utils::View(CBN)
+
+
+#Sort Expenditure data
+CBN<- CBN[order(Total_Exp_Month_Per2)]
+
+#Calculate cumulative weights
+sum(CBN$Weight)
+CBN$cumweight <- cumsum(CBN$Weight)
+tx <- max(CBN$cumweight)
+
+#Calculate deciles by weights
+CBN[,Decile:=cut(cumweight,breaks = seq(0,tx,tx/10),labels = 1:10)]
+CBN[,Percentile:=cut(cumweight,breaks=seq(0,tx,tx/100),labels=1:100)]
+
+#Update Poors
+CBN[,Poor:=ifelse(Decile %in% 2:3,1,0)]
+CBNPoor<-CBN[Poor==1]
+CBNPoor<-merge(CBNPoor,dt2,by=c("ProvinceCode"),all.x = TRUE)
+CBNPoor[,sum(HIndivNo),by=.(ProvinceCode)][order(ProvinceCode)]
+
+
+#Calculate Per_calories in clusters
+CBNPoor[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(189:204)][]
+#utils::View(CBNPoor)
+
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(206:221)][]
+
+CBNPoor[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor<-CBNPoor[Per_Daily_Exp_Calories!=0]
+CBNPoor[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNCalory<-CBNPoor[,.(Per_Daily_Calories,Per_Daily_Exp_Calories,Per_Calory_Resturant,Resturant_Exp,cluster,ProvinceCode)]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+
+
+#Calculations
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_day,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,sum(Size*Weight),by=cluster][order(cluster)]
+
+
+#Food Poverty Line for each cluster
+#cluster 1
+CBNPoorCluster<-CBNPoor[cluster==1]
+Food_Povertyline1_1<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 2
+CBNPoorCluster<-CBNPoor[cluster==2]
+Food_Povertyline2_1<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 3
+CBNPoorCluster<-CBNPoor[cluster==3]
+Food_Povertyline3_1<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 4
+CBNPoorCluster<-CBNPoor[cluster==4]
+Food_Povertyline4_1<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+
+#ee<-CBNPoor[,.(Total_Exp_Month_Real,Total_Exp_Month,Total_Food_Month_Per2,Total_Exp_Month_Per_nondurable,Total_Exp_Month_nondurable_Real_Per,FoodExpenditure_Per,cluster)]
+#mean(ee[,Total_Food_Month_Per2==Total_Exp_Month_nondurable_Real])
+#mean(ee[,Total_Food_Month_Per2<3500000])
+#ee<- ee[order(Total_Food_Month_Per2)]
+#utils::View(CBN)
+CBN<-merge(CBN,dt2,by=c("ProvinceCode"),all.x = TRUE)
+#for (col in c("Total_Food_Month_Per2")) CBN[is.na(get(col)), (col) := Total_Exp_Month_Per_nondurable]
+c<-CBN[,.(FoodExpenditure_Per,FoodExpenditure_Per_total,Total_Exp_Month_Per_nondurable,Total_Exp_Month,Total_Food_Month_Per2,Poor,Decile,Weight,cluster)]
+
+#########Iteration 2###############
+#Sort Expenditure data
+CBN<- CBN[order(Total_Food_Month_Per2)]
+c<- c[order(Total_Food_Month_Per2)]
+
+#Indicate new poors
+CBN[,Poor2:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_1 & cluster==1,1,0)]
+c[,Poor2:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_1 & cluster==1 ,1,0)]
+CBN[,Poor2:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_1 & cluster==2,1,Poor2)]
+c[,Poor2:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_1 & cluster==2 ,1,Poor2)]
+CBN[,Poor2:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_1 & cluster==3,1,Poor2)]
+c[,Poor2:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_1 & cluster==3 ,1,Poor2)]
+CBN[,Poor2:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_1 & cluster==4,1,Poor2)]
+c[,Poor2:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_1 & cluster==4 ,1,Poor2)]
+CBN[,weighted.mean(Poor2,Weight),by=cluster][order(cluster)]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2<-CBN[Poor2==1]
+
+
+#CalculatePer_calories in clusters
+CBNPoor2[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(190:205)][]
+#utils::View(CBNPoor2)
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor2[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(207:222)][]
+
+CBNPoor2[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor2[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor2[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor2[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2<-CBNPoor2[Per_Daily_Exp_Calories!=0]
+CBNPoor2[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor2[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor2[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor2[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor2[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor2[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+
+
+
+#Calculations
+CBNPoor2[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,weighted.mean(FoodExpenditure_Per_day,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+
+
+
+#Food Poverty Line for each cluster
+#cluster 1
+CBNPoorCluster<-CBNPoor2[cluster==1]
+Food_Povertyline1_2<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 2
+CBNPoorCluster<-CBNPoor2[cluster==2]
+Food_Povertyline2_2<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 3
+CBNPoorCluster<-CBNPoor2[cluster==3]
+Food_Povertyline3_2<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 4
+CBNPoorCluster<-CBNPoor2[cluster==4]
+Food_Povertyline4_2<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#ee<-CBNPoor[,.(Total_Exp_Month_Real,Total_Exp_Month,Total_Food_Month_Per2,Total_Exp_Month_Per_nondurable,Total_Exp_Month_nondurable_Real_Per,FoodExpenditure_Per,cluster)]
+#mean(ee[,Total_Food_Month_Per2==Total_Exp_Month_nondurable_Real])
+#mean(ee[,Total_Food_Month_Per2<3500000])
+#ee<- ee[order(Total_Food_Month_Per2)]
+#utils::View(CBN)
+#for (col in c("Total_Food_Month_Per2")) CBN[is.na(get(col)), (col) := Total_Exp_Month_Per_nondurable]
+c<-CBN[,.(FoodExpenditure_Per,FoodExpenditure_Per_total,Total_Exp_Month_Per_nondurable,Total_Exp_Month,Total_Food_Month_Per2,Poor,Decile,Weight,cluster)]
+
+
+#########Iteration 3###############
+#Sort Expenditure data
+CBN<- CBN[order(Total_Food_Month_Per2)]
+c<- c[order(Total_Food_Month_Per2)]
+
+#Indicate new poors
+CBN[,Poor3:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_2 & cluster==1,1,0)]
+c[,Poor3:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_2 & cluster==1 ,1,0)]
+CBN[,Poor3:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_2 & cluster==2,1,Poor3)]
+c[,Poor3:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_2 & cluster==2 ,1,Poor3)]
+CBN[,Poor3:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_2 & cluster==3,1,Poor3)]
+c[,Poor3:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_2 & cluster==3 ,1,Poor3)]
+CBN[,Poor3:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_2 & cluster==4,1,Poor3)]
+c[,Poor3:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_2 & cluster==4 ,1,Poor3)]
+CBN[,weighted.mean(Poor3,Weight),by=cluster][order(cluster)]
+CBNPoor2[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3<-CBN[Poor3==1]
+
+
+
+#CalculatePer_calories in clusters
+CBNPoor3[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(192:206)][]
+#utils::View(CBNPoor3)
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor3[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(208:223)][]
+
+
+CBNPoor3[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor3[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor3[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor3[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3<-CBNPoor3[Per_Daily_Exp_Calories!=0]
+CBNPoor3[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor3[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+
+#sum of total food expenditures
+CBNPoor3[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor3[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor3[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor3[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+
+
+#Calculations
+CBNPoor3[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,weighted.mean(FoodExpenditure_Per_day,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+
+
+
+#Food Poverty Line for each cluster
+#cluster 1
+CBNPoorCluster<-CBNPoor3[cluster==1]
+Food_Povertyline1_3<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 2
+CBNPoorCluster<-CBNPoor3[cluster==2]
+Food_Povertyline2_3<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 3
+CBNPoorCluster<-CBNPoor3[cluster==3]
+Food_Povertyline3_3<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 4
+CBNPoorCluster<-CBNPoor3[cluster==4]
+Food_Povertyline4_3<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#ee<-CBNPoor[,.(Total_Exp_Month_Real,Total_Exp_Month,Total_Food_Month_Per2,Total_Exp_Month_Per_nondurable,Total_Exp_Month_nondurable_Real_Per,FoodExpenditure_Per,cluster)]
+#mean(ee[,Total_Food_Month_Per2==Total_Exp_Month_nondurable_Real])
+#mean(ee[,Total_Food_Month_Per2<3500000])
+#ee<- ee[order(Total_Food_Month_Per2)]
+#utils::View(CBN)
+#for (col in c("Total_Food_Month_Per2")) CBN[is.na(get(col)), (col) := Total_Exp_Month_Per_nondurable]
+c<-CBN[,.(FoodExpenditure_Per,FoodExpenditure_Per_total,Total_Exp_Month_Per_nondurable,Total_Exp_Month,Total_Food_Month_Per2,Poor,Decile,Weight,cluster)]
+
+
+#########Iteration 4###############
+#Sort Expenditure data
+CBN<- CBN[order(Total_Food_Month_Per2)]
+c<- c[order(Total_Food_Month_Per2)]
+
+#Indicate new poors
+CBN[,Poor4:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_3 & cluster==1,1,0)]
+c[,Poor4:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_3 & cluster==1 ,1,0)]
+CBN[,Poor4:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_3 & cluster==2,1,Poor4)]
+c[,Poor4:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_3 & cluster==2 ,1,Poor4)]
+CBN[,Poor4:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_3 & cluster==3,1,Poor4)]
+c[,Poor4:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_3 & cluster==3 ,1,Poor4)]
+CBN[,Poor4:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_3 & cluster==4,1,Poor4)]
+c[,Poor4:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_3 & cluster==4 ,1,Poor4)]
+CBN[,weighted.mean(Poor4,Weight),by=cluster][order(cluster)]
+CBNPoor3[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4<-CBN[Poor4==1]
+
+#CalculatePer_calories in clusters
+CBNPoor4[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(191:206)][]
+#utils::View(CBNPoor4)
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor4[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(208:223)][]
+
+
+CBNPoor4[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor4[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor4[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor4[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4<-CBNPoor4[Per_Daily_Exp_Calories!=0]
+CBNPoor4[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor4[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+
+#sum of total food expenditures
+CBNPoor4[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor4[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor4[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor4[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+
+
+#Calculations
+CBNPoor4[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,weighted.mean(FoodExpenditure_Per_day,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+
+
+
+#Food Poverty Line for each cluster
+#cluster 1
+CBNPoorCluster<-CBNPoor4[cluster==1]
+Food_Povertyline1_4<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 2
+CBNPoorCluster<-CBNPoor4[cluster==2]
+Food_Povertyline2_4<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 3
+CBNPoorCluster<-CBNPoor4[cluster==3]
+Food_Povertyline3_4<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 4
+CBNPoorCluster<-CBNPoor4[cluster==4]
+Food_Povertyline4_4<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#ee<-CBNPoor[,.(Total_Exp_Month_Real,Total_Exp_Month,Total_Food_Month_Per2,Total_Exp_Month_Per_nondurable,Total_Exp_Month_nondurable_Real_Per,FoodExpenditure_Per,cluster)]
+#mean(ee[,Total_Food_Month_Per2==Total_Exp_Month_nondurable_Real])
+#mean(ee[,Total_Food_Month_Per2<3500000])
+#ee<- ee[order(Total_Food_Month_Per2)]
+#utils::View(CBN)
+#for (col in c("Total_Food_Month_Per2")) CBN[is.na(get(col)), (col) := Total_Exp_Month_Per_nondurable]
+c<-CBN[,.(FoodExpenditure_Per,FoodExpenditure_Per_total,Total_Exp_Month_Per_nondurable,Total_Exp_Month,Total_Food_Month_Per2,Poor,Decile,Weight,cluster)]
+
+
+#########Iteration 5###############
+#Sort Expenditure data
+CBN<- CBN[order(Total_Food_Month_Per2)]
+c<- c[order(Total_Food_Month_Per2)]
+
+#Indicate new poors
+CBN[,Poor5:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_4 & cluster==1,1,0)]
+c[,Poor5:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_4 & cluster==1 ,1,0)]
+CBN[,Poor5:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_4 & cluster==2,1,Poor5)]
+c[,Poor5:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_4 & cluster==2 ,1,Poor5)]
+CBN[,Poor5:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_4 & cluster==3,1,Poor5)]
+c[,Poor5:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_4 & cluster==3 ,1,Poor5)]
+CBN[,Poor5:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_4 & cluster==4,1,Poor5)]
+c[,Poor5:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_4 & cluster==4 ,1,Poor5)]
+CBN[,weighted.mean(Poor5,Weight),by=cluster][order(cluster)]
+CBNPoor4[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5<-CBN[Poor5==1]
+
+#CalculatePer_calories in clusters
+CBNPoor5[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(191:206)][]
+#utils::View(CBNPoor5)
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor5[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(208:223)][]
+
+
+CBNPoor5[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor5[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor5[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor5[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5<-CBNPoor5[Per_Daily_Exp_Calories!=0]
+CBNPoor5[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor5[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+
+#sum of total food expenditures
+CBNPoor5[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor5[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor5[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor5[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+
+
+#Calculations
+CBNPoor5[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,weighted.mean(FoodExpenditure_Per_day,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+
+
+
+#Food Poverty Line for each cluster
+#cluster 1
+CBNPoorCluster<-CBNPoor5[cluster==1]
+Food_Povertyline1_5<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 2
+CBNPoorCluster<-CBNPoor5[cluster==2]
+Food_Povertyline2_5<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 3
+CBNPoorCluster<-CBNPoor5[cluster==3]
+Food_Povertyline3_5<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 4
+CBNPoorCluster<-CBNPoor5[cluster==4]
+Food_Povertyline4_5<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#ee<-CBNPoor[,.(Total_Exp_Month_Real,Total_Exp_Month,Total_Food_Month_Per2,Total_Exp_Month_Per_nondurable,Total_Exp_Month_nondurable_Real_Per,FoodExpenditure_Per,cluster)]
+#mean(ee[,Total_Food_Month_Per2==Total_Exp_Month_nondurable_Real])
+#mean(ee[,Total_Food_Month_Per2<3500000])
+#ee<- ee[order(Total_Food_Month_Per2)]
+#utils::View(CBN)
+#for (col in c("Total_Food_Month_Per2")) CBN[is.na(get(col)), (col) := Total_Exp_Month_Per_nondurable]
+c<-CBN[,.(FoodExpenditure_Per,FoodExpenditure_Per_total,Total_Exp_Month_Per_nondurable,Total_Exp_Month,Total_Food_Month_Per2,Poor,Decile,Weight,cluster)]
+
+
+#########Iteration 6###############
+#Sort Expenditure data
+CBN<- CBN[order(Total_Food_Month_Per2)]
+c<- c[order(Total_Food_Month_Per2)]
+
+#Indicate new poors
+CBN[,Poor6:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_5 & cluster==1,1,0)]
+c[,Poor6:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_5 & cluster==1 ,1,0)]
+CBN[,Poor6:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_5 & cluster==2,1,Poor6)]
+c[,Poor6:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_5 & cluster==2 ,1,Poor6)]
+CBN[,Poor6:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_5 & cluster==3,1,Poor6)]
+c[,Poor6:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_5 & cluster==3 ,1,Poor6)]
+CBN[,Poor6:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_5 & cluster==4,1,Poor6)]
+c[,Poor6:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_5 & cluster==4 ,1,Poor6)]
+CBN[,weighted.mean(Poor6,Weight),by=cluster][order(cluster)]
+CBNPoor5[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6<-CBN[Poor6==1]
+
+#CalculatePer_calories in clusters
+CBNPoor6[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(191:206)][]
+#utils::View(CBNPoor6)
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor6[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(208:223)][]
+
+
+CBNPoor6[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor6[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor6[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor6[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6<-CBNPoor6[Per_Daily_Exp_Calories!=0]
+CBNPoor6[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor6[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+
+#sum of total food expenditures
+CBNPoor6[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor6[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor6[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor6[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+
+
+#Calculations
+CBNPoor6[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,weighted.mean(FoodExpenditure_Per_day,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+
+
+#Food Poverty Line for each cluster
+#cluster 1
+CBNPoorCluster<-CBNPoor6[cluster==1]
+Food_Povertyline1_6<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 2
+CBNPoorCluster<-CBNPoor6[cluster==2]
+Food_Povertyline2_6<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 3
+CBNPoorCluster<-CBNPoor6[cluster==3]
+Food_Povertyline3_6<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 4
+CBNPoorCluster<-CBNPoor6[cluster==4]
+Food_Povertyline4_6<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#ee<-CBNPoor[,.(Total_Exp_Month_Real,Total_Exp_Month,Total_Food_Month_Per2,Total_Exp_Month_Per_nondurable,Total_Exp_Month_nondurable_Real_Per,FoodExpenditure_Per,cluster)]
+#mean(ee[,Total_Food_Month_Per2==Total_Exp_Month_nondurable_Real])
+#mean(ee[,Total_Food_Month_Per2<3500000])
+#ee<- ee[order(Total_Food_Month_Per2)]
+#utils::View(CBN)
+#for (col in c("Total_Food_Month_Per2")) CBN[is.na(get(col)), (col) := Total_Exp_Month_Per_nondurable]
+c<-CBN[,.(FoodExpenditure_Per,FoodExpenditure_Per_total,Total_Exp_Month_Per_nondurable,Total_Exp_Month,Total_Food_Month_Per2,Poor,Decile,Weight,cluster)]
+
+
+#########Iteration 7###############
+#Sort Expenditure data
+CBN<- CBN[order(Total_Food_Month_Per2)]
+c<- c[order(Total_Food_Month_Per2)]
+
+#Indicate new poors
+CBN[,Poor7:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_6 & cluster==1,1,0)]
+c[,Poor7:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_6 & cluster==1 ,1,0)]
+CBN[,Poor7:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_6 & cluster==2,1,Poor7)]
+c[,Poor7:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_6 & cluster==2 ,1,Poor7)]
+CBN[,Poor7:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_6 & cluster==3,1,Poor7)]
+c[,Poor7:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_6 & cluster==3 ,1,Poor7)]
+CBN[,Poor7:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_6 & cluster==4,1,Poor7)]
+c[,Poor7:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_6 & cluster==4 ,1,Poor7)]
+CBN[,weighted.mean(Poor7,Weight),by=cluster][order(cluster)]
+CBNPoor6[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7<-CBN[Poor7==1]
+
+#CalculatePer_calories in clusters
+CBNPoor7[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(191:206)][]
+#utils::View(CBNPoor7)
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor7[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(208:223)][]
+
+
+CBNPoor7[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor7[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor7[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor7[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7<-CBNPoor7[Per_Daily_Exp_Calories!=0]
+CBNPoor7[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor7[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+
+#sum of total food expenditures
+CBNPoor7[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor7[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor7[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor7[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+
+
+#Calculations
+CBNPoor7[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,weighted.mean(FoodExpenditure_Per_day,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+
+
+
+#Food Poverty Line for each cluster
+#cluster 1
+CBNPoorCluster<-CBNPoor7[cluster==1]
+Food_Povertyline1_7<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 2
+CBNPoorCluster<-CBNPoor7[cluster==2]
+Food_Povertyline2_7<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 3
+CBNPoorCluster<-CBNPoor7[cluster==3]
+Food_Povertyline3_7<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 4
+CBNPoorCluster<-CBNPoor7[cluster==4]
+Food_Povertyline4_7<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#ee<-CBNPoor[,.(Total_Exp_Month_Real,Total_Exp_Month,Total_Food_Month_Per2,Total_Exp_Month_Per_nondurable,Total_Exp_Month_nondurable_Real_Per,FoodExpenditure_Per,cluster)]
+#mean(ee[,Total_Food_Month_Per2==Total_Exp_Month_nondurable_Real])
+#mean(ee[,Total_Food_Month_Per2<3500000])
+#ee<- ee[order(Total_Food_Month_Per2)]
+#utils::View(CBN)
+#for (col in c("Total_Food_Month_Per2")) CBN[is.na(get(col)), (col) := Total_Exp_Month_Per_nondurable]
+c<-CBN[,.(FoodExpenditure_Per,FoodExpenditure_Per_total,Total_Exp_Month_Per_nondurable,Total_Exp_Month,Total_Food_Month_Per2,Poor,Decile,Weight,cluster)]
+
+
+#########Iteration 8###############
+#Sort Expenditure data
+CBN<- CBN[order(Total_Food_Month_Per2)]
+c<- c[order(Total_Food_Month_Per2)]
+
+#Indicate new poors
+CBN[,Poor8:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_7 & cluster==1,1,0)]
+c[,Poor8:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_7 & cluster==1 ,1,0)]
+CBN[,Poor8:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_7 & cluster==2,1,Poor8)]
+c[,Poor8:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_7 & cluster==2 ,1,Poor8)]
+CBN[,Poor8:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_7 & cluster==3,1,Poor8)]
+c[,Poor8:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_7 & cluster==3 ,1,Poor8)]
+CBN[,Poor8:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_7 & cluster==4,1,Poor8)]
+c[,Poor8:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_7 & cluster==4 ,1,Poor8)]
+CBN[,weighted.mean(Poor8,Weight),by=cluster][order(cluster)]
+CBNPoor7[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8<-CBN[Poor8==1]
+
+
+#CalculatePer_calories in clusters
+CBNPoor8[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(191:206)][]
+#utils::View(CBNPoor8)
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor8[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(208:223)][]
+
+
+CBNPoor8[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor8[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor8[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor8[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8<-CBNPoor8[Per_Daily_Exp_Calories!=0]
+CBNPoor8[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor8[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+
+#sum of total food expenditures
+CBNPoor8[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor8[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor8[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor8[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+
+
+#Calculations
+CBNPoor8[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,weighted.mean(FoodExpenditure_Per_day,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+
+
+
+#Food Poverty Line for each cluster
+#cluster 1
+CBNPoorCluster<-CBNPoor8[cluster==1]
+Food_Povertyline1_8<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 2
+CBNPoorCluster<-CBNPoor8[cluster==2]
+Food_Povertyline2_8<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 3
+CBNPoorCluster<-CBNPoor8[cluster==3]
+Food_Povertyline3_8<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 4
+CBNPoorCluster<-CBNPoor8[cluster==4]
+Food_Povertyline4_8<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#ee<-CBNPoor[,.(Total_Exp_Month_Real,Total_Exp_Month,Total_Food_Month_Per2,Total_Exp_Month_Per_nondurable,Total_Exp_Month_nondurable_Real_Per,FoodExpenditure_Per,cluster)]
+#mean(ee[,Total_Food_Month_Per2==Total_Exp_Month_nondurable_Real])
+#mean(ee[,Total_Food_Month_Per2<3500000])
+#ee<- ee[order(Total_Food_Month_Per2)]
+#utils::View(CBN)
+#for (col in c("Total_Food_Month_Per2")) CBN[is.na(get(col)), (col) := Total_Exp_Month_Per_nondurable]
+c<-CBN[,.(FoodExpenditure_Per,FoodExpenditure_Per_total,Total_Exp_Month_Per_nondurable,Total_Exp_Month,Total_Food_Month_Per2,Poor,Decile,Weight,cluster)]
+
+
+#########Iteration 9###############
+#Sort Expenditure data
+CBN<- CBN[order(Total_Food_Month_Per2)]
+c<- c[order(Total_Food_Month_Per2)]
+
+#Indicate new poors
+CBN[,Poor9:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_8 & cluster==1,1,0)]
+c[,Poor9:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_8 & cluster==1 ,1,0)]
+CBN[,Poor9:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_8 & cluster==2,1,Poor9)]
+c[,Poor9:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_8 & cluster==2 ,1,Poor9)]
+CBN[,Poor9:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_8 & cluster==3,1,Poor9)]
+c[,Poor9:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_8 & cluster==3 ,1,Poor9)]
+CBN[,Poor9:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_8 & cluster==4,1,Poor9)]
+c[,Poor9:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_8 & cluster==4 ,1,Poor9)]
+CBN[,weighted.mean(Poor9,Weight),by=cluster][order(cluster)]
+CBNPoor8[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9<-CBN[Poor9==1]
+
+
+#CalculatePer_calories in clusters
+CBNPoor9[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(191:206)][]
+#utils::View(CBNPoor9)
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor9[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(208:223)][]
+
+
+CBNPoor9[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor9[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor9[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor9[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9<-CBNPoor9[Per_Daily_Exp_Calories!=0]
+CBNPoor9[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor9[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+
+#sum of total food expenditures
+CBNPoor9[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor9[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor9[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor9[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+
+
+
+#Calculations
+CBNPoor9[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,weighted.mean(FoodExpenditure_Per_day,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+
+
+
+#Food Poverty Line for each cluster
+#cluster 1
+CBNPoorCluster<-CBNPoor9[cluster==1]
+Food_Povertyline1_9<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 2
+CBNPoorCluster<-CBNPoor9[cluster==2]
+Food_Povertyline2_9<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 3
+CBNPoorCluster<-CBNPoor9[cluster==3]
+Food_Povertyline3_9<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 4
+CBNPoorCluster<-CBNPoor9[cluster==4]
+Food_Povertyline4_9<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#ee<-CBNPoor[,.(Total_Exp_Month_Real,Total_Exp_Month,Total_Food_Month_Per2,Total_Exp_Month_Per_nondurable,Total_Exp_Month_nondurable_Real_Per,FoodExpenditure_Per,cluster)]
+#mean(ee[,Total_Food_Month_Per2==Total_Exp_Month_nondurable_Real])
+#mean(ee[,Total_Food_Month_Per2<3500000])
+#ee<- ee[order(Total_Food_Month_Per2)]
+#utils::View(CBN)
+#for (col in c("Total_Food_Month_Per2")) CBN[is.na(get(col)), (col) := Total_Exp_Month_Per_nondurable]
+c<-CBN[,.(FoodExpenditure_Per,FoodExpenditure_Per_total,Total_Exp_Month_Per_nondurable,Total_Exp_Month,Total_Food_Month_Per2,Poor,Decile,Weight,cluster)]
+
+
+#########Iteration 10###############
+#Sort Expenditure data
+CBN<- CBN[order(Total_Food_Month_Per2)]
+c<- c[order(Total_Food_Month_Per2)]
+
+#Indicate new poors
+CBN[,Poor10:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_9 & cluster==1,1,0)]
+c[,Poor10:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_9 & cluster==1 ,1,0)]
+CBN[,Poor10:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_9 & cluster==2,1,Poor10)]
+c[,Poor10:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_9 & cluster==2 ,1,Poor10)]
+CBN[,Poor10:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_9 & cluster==3,1,Poor10)]
+c[,Poor10:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_9 & cluster==3 ,1,Poor10)]
+CBN[,Poor10:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_9 & cluster==4,1,Poor10)]
+c[,Poor10:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_9 & cluster==4 ,1,Poor10)]
+CBN[,weighted.mean(Poor10,Weight),by=cluster][order(cluster)]
+CBNPoor9[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor10<-CBN[Poor10==1]
+
+#Engel
+#CBNPoor9<-CBNPoor9[,ratio1:=FoodExpenditure/Total_Exp_Month]
+#CBNPoor9[,weighted.mean(ratio1,Weight),by=cluster]
+#summary(CBNPoor9$ratio1)
+CBN<-CBN[,ratio1:=FoodExpenditure/Total_Exp_Month]
+CBN[,weighted.mean(ratio1,Weight),by=ProvinceCode][order(ProvinceCode)]
+CBN<-CBN[,ratio2:=ServiceExp/Total_Exp_Month]
+CBN[,weighted.mean(ratio2,Weight),by=ProvinceCode][order(ProvinceCode)]
+
+# Poverty Line for each cluster
+#cluster 1
+CBNPoorCluster<-CBN[cluster==1 & FoodExpenditure_Per_total<1.1*Food_Povertyline1_9 & FoodExpenditure_Per_total>0.90*Food_Povertyline1_9]
+Engel1<-weighted.mean(CBNPoorCluster$ratio1,CBNPoorCluster$Weight)
+Engel_Reverse1<-1/Engel1
+Povertyline1_9<-Engel_Reverse1*Food_Povertyline1_9
+
+#cluster 2
+CBNPoorCluster<-CBN[cluster==2 & FoodExpenditure_Per_total<1.1*Food_Povertyline2_9 & FoodExpenditure_Per_total>0.90*Food_Povertyline2_9]
+Engel2<-weighted.mean(CBNPoorCluster$ratio1,CBNPoorCluster$Weight)
+Engel_Reverse2<-1/Engel2
+Povertyline2_9<-Engel_Reverse2*Food_Povertyline2_9
+
+#cluster 3
+CBNPoorCluster<-CBN[cluster==3 & FoodExpenditure_Per_total<1.1*Food_Povertyline3_9 & FoodExpenditure_Per_total>0.90*Food_Povertyline3_9]
+Engel3<-weighted.mean(CBNPoorCluster$ratio1,CBNPoorCluster$Weight)
+Engel_Reverse3<-1/Engel3
+Povertyline3_9<-Engel_Reverse3*Food_Povertyline3_9
+
+#cluster 4
+CBNPoorCluster<-CBN[cluster==4 & FoodExpenditure_Per_total<1.1*Food_Povertyline4_9 & FoodExpenditure_Per_total>0.90*Food_Povertyline4_9]
+Engel4<-weighted.mean(CBNPoorCluster$ratio1,CBNPoorCluster$Weight)
+Engel_Reverse4<-1/Engel4
+Povertyline4_9<-Engel_Reverse4*Food_Povertyline4_9
+
+#Indicate final poors
+CBN<-CBN[,Total_Exp_Month_Per2:=Total_Exp_Month_Per_nondurable*RealPriceIndex]
+
+CBN[,Poor11:=ifelse(Total_Exp_Month_Per_nondurable < Povertyline1_9 & cluster==1,1,0)]
+CBN[,Poor11:=ifelse(Total_Exp_Month_Per_nondurable < Povertyline2_9 & cluster==2,1,Poor11)]
+CBN[,Poor11:=ifelse(Total_Exp_Month_Per_nondurable < Povertyline3_9 & cluster==3,1,Poor11)]
+CBN[,Poor11:=ifelse(Total_Exp_Month_Per_nondurable < Povertyline4_9 & cluster==4,1,Poor11)]
+CBN[,weighted.mean(Poor11,Weight),by=cluster][order(cluster)]
+CBNPoor9[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor11<-CBN[Poor11==1]
+
+CBN[,sum(Size*Weight),by=cluster][order(cluster)]
+CBNPoor9[,sum(Size*Weight),by=cluster][order(cluster)]
+CBNPoor9[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBN[,weighted.mean(Poor11,Weight)]
+CBN[,weighted.mean(Poor11,Weight),by=cluster][order(cluster)]
+CBN[,weighted.mean(Poor11,Weight),by=ProvinceCode][order(ProvinceCode)]
+endtime <- proc.time()
+
+cat("\n\n============================\nIt took ")
+cat(endtime-starttime)
+
diff --git a/R/Archive/Other Codes/60-CBN93-Rural.R b/R/Archive/Other Codes/60-CBN93-Rural.R
new file mode 100644
index 00000000..726a1059
--- /dev/null
+++ b/R/Archive/Other Codes/60-CBN93-Rural.R
@@ -0,0 +1,2938 @@
+#CBN Method-Rural.R
+#
+# Copyright © 2018:Arin Shahbazian
+# Licence: GPL-3
+#
+rm(list=ls())
+
+starttime <- proc.time()
+cat("\n\n================ Prepare Data =====================================\n")
+
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+library(readxl)
+library(stringr)
+library(data.table)
+
+#for(year in (Settings$startyear:Settings$endyear)){
+# cat(paste0("\n------------------------------\nYear:",year,"\n"))
+
+load(file=paste0(Settings$HEISProcessedPath,"Y","93","HHBase.rda"))
+HHBase[,IndivNo:=NULL]
+HHBase[,Relationship:=NULL]
+HHBase[,Sex:=NULL]
+HHBase[,Age:=NULL]
+HHBase[,Literate:=NULL]
+HHBase[,Student:=NULL]
+HHBase[,EduCode:=NULL]
+HHBase[,EduYears:=NULL]
+HHBase[,EduLevel:=NULL]
+HHBase[,EduLevel0:=NULL]
+HHBase[,ActivityState:=NULL]
+HHBase[,MarritalState:=NULL]
+load(file=paste0(Settings$HEISProcessedPath,"Y","93","Ghand_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","93","Hoboobat_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","93","Roghan_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","93","Berenj_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","93","Nan_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","93","Goosht_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","93","Morgh_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","93","Mahi_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","93","Shir_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","93","Mast_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","93","Panir_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","93","Tokhmemorgh_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","93","Mive_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","93","Sabzi_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","93","Makarooni_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","93","Sibzamini_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","93","Weights.rda"))
+
+Ghand_Data<-Ghand_Data[,.(HHID,Ghandgram,GhandPrice)]
+Hoboobat_Data<-Hoboobat_Data[,.(HHID,Hoboobatgram,HoboobatPrice)]
+Roghan_Data<-Roghan_Data[,.(HHID,Roghangram,RoghanPrice)]
+Berenj_Data<-Berenj_Data[,.(HHID,Berenjgram,BerenjPrice)]
+Nan_Data<-Nan_Data[,.(HHID,Nangram,NanPrice)]
+Goosht_Data<-Goosht_Data[,.(HHID,Gooshtgram,GooshtPrice)]
+Morgh_Data<-Morgh_Data[,.(HHID,Morghgram,MorghPrice)]
+Mahi_Data<-Mahi_Data[,.(HHID,Mahigram,MahiPrice)]
+Shir_Data<-Shir_Data[,.(HHID,Shirgram,ShirPrice)]
+Mast_Data<-Mast_Data[,.(HHID,Mastgram,MastPrice)]
+Panir_Data<-Panir_Data[,.(HHID,Panirgram,PanirPrice)]
+Tokhmemorgh_Data<-Tokhmemorgh_Data[,.(HHID,Tokhmemorghgram,TokhmemorghPrice)]
+Mive_Data<-Mive_Data[,.(HHID,Mivegram,MivePrice)]
+Sabzi_Data<-Sabzi_Data[,.(HHID,Sabzigram,SabziPrice)]
+Makarooni_Data<-Makarooni_Data[,.(HHID,Makaroonigram,MakarooniPrice)]
+Sibzamini_Data<-Sibzamini_Data[,.(HHID,Sibzaminigram,SibzaminiPrice)]
+
+Food<-merge(HHBase,Ghand_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Ghandgram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Hoboobat_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Hoboobatgram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Roghan_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Roghangram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Berenj_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Berenjgram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Nan_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Nangram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Goosht_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Gooshtgram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Morgh_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Morghgram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Mahi_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Mahigram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Shir_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Shirgram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Mast_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Mastgram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Panir_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Panirgram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Tokhmemorgh_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Tokhmemorghgram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Mive_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Mivegram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Sabzi_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Sabzigram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Makarooni_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Makaroonigram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Sibzamini_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Sibzaminigram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Weights,by =c("HHID"),all.x=TRUE)
+
+
+
+#load Expenditure groups
+load(file=paste0(Settings$HEISProcessedPath,"Y","93","HHBase.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","93","HHI.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","93","Foods.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","93","Cigars.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","93","Cloths.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","93","Amusements.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","93","Communications.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","93","Durables.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","93","Education.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","93","Energy.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","93","Furnitures.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","93","Hotels.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","93","House.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","93","Medicals.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","93","Behdashts.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","93","Transportations.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","93","Others.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","93","Investments.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","93","Resturants.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","93","Weights.rda"))
+
+#merge Expenditure groups
+CBN<-merge(Food,HHI ,by =c("HHID"),all=TRUE)
+CBN<-merge(CBN,FoodData,by =c("HHID"),all=TRUE)
+for (col in c("FoodExpenditure")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,CigarData,by =c("HHID"),all=TRUE)
+for (col in c("Cigar_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,ClothData,by =c("HHID"),all=TRUE)
+for (col in c("Cloth_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,AmusementData,by =c("HHID"),all=TRUE)
+for (col in c("Amusement_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,CommunicationData,by =c("HHID"),all=TRUE)
+for (col in c("Communication_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,EducData,by =c("HHID"),all=TRUE)
+for (col in c("EducExpenditure")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,EnergyData,by =c("HHID"),all=TRUE)
+for (col in c("Energy_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,FurnitureData,by =c("HHID"),all=TRUE)
+for (col in c("Furniture_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,HotelData,by =c("HHID"),all=TRUE)
+for (col in c("Hotel_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,BehdashtData,by =c("HHID"),all=TRUE)
+for (col in c("Behdasht_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,TransportationData,by =c("HHID"),all=TRUE)
+for (col in c("Transportation_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,OtherData,by =c("HHID"),all=TRUE)
+for (col in c("Other_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,HouseData,by =c("HHID"),all=TRUE)
+for (col in c("ServiceExp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,InvestmentData,by =c("HHID"),all=TRUE)
+for (col in c("Investment_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,MedicalData,by =c("HHID"),all=TRUE)
+for (col in c("Medical_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,DurableData,by =c("HHID"),all=TRUE)
+for (col in c("Durable_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,ResturantData,by =c("HHID"),all=TRUE)
+for (col in c("Resturant_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-CBN[Size!=0]
+CBN<-CBN[Region=="Rural"]
+CBN<-CBN[FoodExpenditure!=0]
+
+
+#Calculate Per_Total Expenditures Monthly
+CBN[, Total_Exp_Month := Reduce(`+`, .SD), .SDcols=c(65:77,82:83)][]
+CBN[, Total_Exp_Month_nondurable := Reduce(`+`, .SD), .SDcols=65:77][]
+
+CBN$Total_Exp_Month_Per<-CBN$Total_Exp_Month/CBN$EqSizeOECD
+CBN$Total_Exp_Month_Per_nondurable<-CBN$Total_Exp_Month_nondurable/CBN$EqSizeOECD
+
+#Calculate Per_Food Expenditures Monthly
+CBN[,EqSizeCalory :=(Size-NKids) + NKids*(1800/2100)]
+CBN$FoodExpenditure_Per<-CBN$FoodExpenditure/CBN$EqSizeCalory
+
+#Calculate Per_Food Expenditures Daily
+CBN$FoodExpenditure_Per_day<-CBN$FoodExpenditure_Per/30
+
+CBN$Ghandgram_Per_day<-CBN$Ghandgram/(30*CBN$EqSizeOECD)
+CBN$Hoboobatgram_Per_day<-CBN$Hoboobatgram/(30*CBN$EqSizeOECD)
+CBN$Berenjgram_Per_day<-CBN$Berenjgram/(30*CBN$EqSizeOECD)
+CBN$Nangram_Per_day<-CBN$Nangram/(30*CBN$EqSizeOECD)
+CBN$Roghangram_Per_day<-CBN$Roghangram/(30*CBN$EqSizeOECD)
+CBN$Gooshtgram_Per_day<-CBN$Gooshtgram/(30*CBN$EqSizeOECD)
+CBN$Morghgram_Per_day<-CBN$Morghgram/(30*CBN$EqSizeOECD)
+CBN$Mahigram_Per_day<-CBN$Mahigram/(30*CBN$EqSizeOECD)
+CBN$Shirgram_Per_day<-CBN$Shirgram/(30*CBN$EqSizeOECD)
+CBN$Mastgram_Per_day<-CBN$Mastgram/(30*CBN$EqSizeOECD)
+CBN$Panirgram_Per_day<-CBN$Panirgram/(30*CBN$EqSizeOECD)
+CBN$Tokhmemorghgram_Per_day<-CBN$Tokhmemorghgram/(30*CBN$EqSizeOECD)
+CBN$Mivegram_Per_day<-CBN$Mivegram/(30*CBN$EqSizeOECD)
+CBN$Sabzigram_Per_day<-CBN$Sabzigram/(30*CBN$EqSizeOECD)
+CBN$Makaroonigram_Per_day<-CBN$Makaroonigram/(30*CBN$EqSizeOECD)
+CBN$Sibzaminigram_Per_day<-CBN$Sibzaminigram/(30*CBN$EqSizeOECD)
+CBN[,EqSizeCalory:=NULL]
+
+load(file="PriceIndex95.rda")
+CBN<-merge(CBN,PriceIndex95,by=c("ProvinceCode"),all.x = TRUE)
+CBN[,ostan:=NULL]
+load(file="PriceIndex.rda")
+CBN<-merge(CBN,PriceIndex,by=c("ProvinceCode"),all.x = TRUE)
+
+#Sort Expenditure data
+CBN<- CBN[order(Total_Exp_Month_Per_nondurable)]
+
+#Calculate cumulative weights
+sum(CBN$Weight)
+CBN$cumweight <- cumsum(CBN$Weight)
+tx <- max(CBN$cumweight)
+
+#Calculate deciles by weights
+CBN[,Decile:=cut(cumweight,breaks = seq(0,tx,tx/10),labels = 1:10)]
+CBN[,Percentile:=cut(cumweight,breaks=seq(0,tx,tx/100),labels=1:100)]
+
+
+CBN$Ghand_W<-CBN$Ghandgram_Per_day*CBN$GhandPrice*0.001*30
+CBN$Hoboobat_W<-CBN$Hoboobatgram_Per_day*CBN$HoboobatPrice*0.001*30
+CBN$Roghan_W<-CBN$Roghangram_Per_day*CBN$RoghanPrice*0.001*30
+CBN$Berenj_W<-CBN$Berenjgram_Per_day*CBN$BerenjPrice*0.001*30
+CBN$Nan_W<-CBN$Nangram_Per_day*CBN$NanPrice*0.001*30
+CBN$Goosht_W<-CBN$Gooshtgram_Per_day*CBN$GooshtPrice*0.001*30
+CBN$Morgh_W<-CBN$Morghgram_Per_day*CBN$MorghPrice*0.001*30
+CBN$Mahi_W<-CBN$Mahigram_Per_day*CBN$MahiPrice*0.001*30
+CBN$Shir_W<-CBN$Shirgram_Per_day*CBN$ShirPrice*0.001*30
+CBN$Mast_W<-CBN$Mastgram_Per_day*CBN$MastPrice*0.001*30
+CBN$Panir_W<-CBN$Panirgram_Per_day*CBN$PanirPrice*0.001*30
+CBN$Tokhmemorgh_W<-CBN$Tokhmemorghgram_Per_day*CBN$TokhmemorghPrice*0.001*30
+CBN$Mive_W<-CBN$Mivegram_Per_day*CBN$MivePrice*0.001*30
+CBN$Sabzi_W<-CBN$Sabzigram_Per_day*CBN$SabziPrice*0.001*30
+CBN$Makarooni_W<-CBN$Makaroonigram_Per_day*CBN$MakarooniPrice*0.001*30
+CBN$Sibzamini_W<-CBN$Sibzaminigram_Per_day*CBN$SibzaminiPrice*0.001*30
+CBN$Home_W<-CBN$ServiceExp/CBN$EqSizeOECD
+CBN$Home_Per_Metr<-CBN$MetrPrice/CBN$EqSizeOECD
+
+#Seperate big cities
+CBN[,sum(Weight*Size),by=ProvinceCode][order(V1)]
+CBN[,HHIDs:=as.character(HHID)]
+CBN[,ShahrestanCode:=as.integer(str_sub(HHIDs,2,5))]
+CBN[,sum(Weight*Size),by=ShahrestanCode][order(V1)][330:387]
+CBNTehran<-CBN[ProvinceCode==23]
+CBNTehran[,sum(Weight*Size),by=ShahrestanCode]
+CBNTabriz<-CBN[ProvinceCode==3]
+CBNTabriz[,sum(Weight*Size),by=ShahrestanCode]
+CBNAhvaz<-CBN[ProvinceCode==6]
+CBNAhvaz[,sum(Weight*Size),by=ShahrestanCode]
+CBNShiraz<-CBN[ProvinceCode==7]
+CBNShiraz[,sum(Weight*Size),by=ShahrestanCode]
+CBNMashhad<-CBN[ProvinceCode==9]
+CBNMashhad[,sum(Weight*Size),by=ShahrestanCode]
+CBNEsfahan<-CBN[ProvinceCode==10]
+CBNEsfahan[,sum(Weight*Size),by=ShahrestanCode]
+CBNKaraj<-CBN[ProvinceCode==30]
+CBNKaraj[,sum(Weight*Size),by=ShahrestanCode]
+CBNKermanshah<-CBN[ProvinceCode==5]
+CBNKermanshah[,sum(Weight*Size),by=ShahrestanCode]
+
+
+# Food Calories
+CBN$Ghand_Calory<- CBN$Ghandgram *4
+CBN$Hoboobat_Calory<- CBN$Hoboobatgram *3
+CBN$Nan_Calory<- CBN$Nangram *2.5
+CBN$Berenj_Calory<- CBN$Berenjgram *1.2
+CBN$Roghan_Calory<- CBN$Roghangram *8
+CBN$Goosht_Calory<- CBN$Gooshtgram *2.5
+CBN$Morgh_Calory<- CBN$Morghgram *2
+CBN$Mahi_Calory<- CBN$Mahigram *1
+CBN$Shir_Calory<- CBN$Shirgram *2.5
+CBN$Mast_Calory<- CBN$Mastgram *1.5
+CBN$Panir_Calory<- CBN$Mastgram *2.5
+CBN$Tokhmemorgh_Calory<- CBN$Tokhmemorghgram *1.4
+CBN$Mive_Calory<- CBN$Mivegram *0.5
+CBN$Sabzi_Calory<- CBN$Sabzigram *0.5
+CBN$Makarooni_Calory<- CBN$Makaroonigram *3.6
+CBN$Sibzamini_Calory<- CBN$Sibzaminigram *0.9
+#utils::View(CBN)
+
+#CalculatePer_calories
+CBN[, Daily_Exp_Calories := Reduce(`+`, .SD), .SDcols=148:163][]
+CBN[,EqSizeCalory :=(Size-NKids) + NKids*(1800/2100)]
+CBN[,Per_Daily_Exp_Calories:=Daily_Exp_Calories/EqSizeCalory]
+CBN <- CBN[Per_Daily_Exp_Calories<100000] # arbitrary removal of outliers
+#CBN[,Daily_Calories_cluster:=weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+#CBN[,weighted.mean(Daily_Calories_cluster,Weight,na.rm = TRUE),by=cluster]
+#CBN[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+#CBN[,weighted.mean(Size,Weight,na.rm = TRUE),by=cluster]
+#CBN[,sum(Weight*Size),by=cluster]
+#CBN[,sum(Weight),by=cluster]
+#CBN[,sum(Poor),by=cluster]
+
+
+#Calculate_Per_calories
+CBN$Ghand_per_Calory<- CBN$Ghandgram *4/CBN$EqSizeCalory
+CBN$Hoboobat_per_Calory<- CBN$Hoboobatgram *3/CBN$EqSizeCalory
+CBN$Nan_per_Calory<- CBN$Nangram *2.5/CBN$EqSizeCalory
+CBN$Berenj_per_Calory<- CBN$Berenjgram *1.2/CBN$EqSizeCalory
+CBN$Roghan_per_Calory<- CBN$Roghangram *8/CBN$EqSizeCalory
+CBN$Goosht_per_Calory<- CBN$Gooshtgram *2.5/CBN$EqSizeCalory
+CBN$Morgh_per_Calory<- CBN$Morghgram *2/CBN$EqSizeCalory
+CBN$Mahi_per_Calory<- CBN$Mahigram *1/CBN$EqSizeCalory
+CBN$Shir_per_Calory<- CBN$Shirgram *2.5/CBN$EqSizeCalory
+CBN$Mast_per_Calory<- CBN$Mastgram *1.5/CBN$EqSizeCalory
+CBN$Panir_per_Calory<- CBN$Mastgram *2.5/CBN$EqSizeCalory
+CBN$Tokhmemorgh_per_Calory<- CBN$Tokhmemorghgram *1.4/CBN$EqSizeCalory
+CBN$Mive_per_Calory<- CBN$Mivegram *0.5/CBN$EqSizeCalory
+CBN$Sabzi_per_Calory<- CBN$Sabzigram *0.5/CBN$EqSizeCalory
+CBN$Makarooni_per_Calory<- CBN$Makaroonigram *3.6/CBN$EqSizeCalory
+CBN$Sibzamini_per_Calory<- CBN$Sibzaminigram *0.9/CBN$EqSizeCalory
+
+
+#Assume that deciles 1 and 2 are poor
+CBN[,Poor:=ifelse(Decile %in% 1:5,1,0)]
+CBNPoor<-CBN[Poor==1]
+
+#K-means weights
+PriceWeights<-CBN[,.(HHID,Ghand_W,Hoboobat_W,Roghan_W,Berenj_W,Nan_W,Goosht_W,Morgh_W,Mahi_W,Shir_W,Mast_W,Panir_W,Tokhmemorgh_W,Mive_W,Sabzi_W,Makarooni_W,Sibzamini_W,Home_W,ProvinceCode,Weight)]
+dt3 <- PriceWeights[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+dt3<- dt3[order(ProvinceCode)]
+dt3 <- dt3[,.(Ghand_W,Hoboobat_W,Roghan_W,Berenj_W,Nan_W,Goosht_W,Morgh_W,Mahi_W,Shir_W,Mast_W,Panir_W,Tokhmemorgh_W,Mive_W,Sabzi_W,Makarooni_W,Sibzamini_W,Home_W)]
+
+
+
+#K-means algorithm for clustering by prices
+test<-CBNPoor[,.(GhandPrice,HoboobatPrice,RoghanPrice,BerenjPrice,NanPrice,GooshtPrice,MorghPrice,MahiPrice,ShirPrice,MastPrice,PanirPrice,TokhmemorghPrice,MivePrice,SabziPrice,MakarooniPrice,SibzaminiPrice,MetrPrice,ProvinceCode,Weight)]
+#test<-CBNPoor[,.(GhandPrice,HoboobatPrice,RoghanPrice,BerenjPrice,NanPrice,GooshtPrice,MorghPrice,MahiPrice,ShirPrice,MastPrice,PanirPrice,TokhmemorghPrice,MivePrice,SabziPrice,MakarooniPrice,SibzaminiPrice,MetrPrice,Ghand_W,Hoboobat_W,Roghan_W,Berenj_W,Nan_W,Goosht_W,Morgh_W,Mahi_W,Shir_W,Mast_W,Panir_W,Tokhmemorgh_W,Mive_W,Sabzi_W,Makarooni_W,Sibzamini_W,Home_W,Region,ProvinceCode,Weight)]
+dt2 <- test[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+dt2<- dt2[order(ProvinceCode)]
+for (col in c("MahiPrice")) dt2[is.nan(get(col)), (col) := 200000]
+dt <- dt2 [,.(GhandPrice,HoboobatPrice,RoghanPrice,BerenjPrice,NanPrice,GooshtPrice,MorghPrice,MahiPrice,ShirPrice,MastPrice,PanirPrice,TokhmemorghPrice,MivePrice,SabziPrice,MakarooniPrice,SibzaminiPrice,MetrPrice)]
+
+
+pca <- princomp(dt, cor=T)
+PRICE <- pca$scores
+PRICE1 <- -1*PRICE[,1]
+PRICE2 <- -1*PRICE[,2]
+PRICE3 <- -1*PRICE[,3]
+PRICE4 <- -1*PRICE[,4]
+PRICE5 <- -1*PRICE[,5]
+PRICE6 <- -1*PRICE[,6]
+PRICE7 <- -1*PRICE[,7]
+PRICE8 <- -1*PRICE[,8]
+PRICE9 <- -1*PRICE[,9]
+PRICE10 <- -1*PRICE[,10]
+PRICE11 <- -1*PRICE[,11]
+PRICE12 <- -1*PRICE[,12]
+PRICE13 <- -1*PRICE[,13]
+PRICE14 <- -1*PRICE[,14]
+PRICE15 <- -1*PRICE[,15]
+PRICE16 <- -1*PRICE[,16]
+PRICE17 <- -1*PRICE[,17]
+
+# Deciding how many clusters
+wss <- (nrow(dt)-1)*sum(apply(dt,2,var))
+for (i in 2:30) wss[i] <- sum(kmeans(dt, centers=i)$withinss)
+plot(1:30, wss, type="b", xlab="Number of Clusters",
+ ylab="Within groups sum of squares")
+
+#Weighted clustering
+
+dt3.m <- dt3[,lapply(.SD, mean)] # Weights for each vector
+dtW <- dt * sqrt(dt3.m[rep(1,nrow(dt))]) # Weighted observations
+kmeans(dtW,4) # Simple K-means
+
+cl <- kmeans(dtW,4)
+cl$cluster
+dt2 <- dt2[,cluster:=data.table(cl$cluster)]
+dt2<-dt2[,.(ProvinceCode,cluster)]
+load(file="dt5Rural.rda")
+#plot(PRICE1, PRICE2,col=cl$cluster)
+#points(cl$centers, pch=20)
+CBNPoor<-merge(CBNPoor,dt2,by=c("ProvinceCode"),all.x = TRUE)
+CBNPoor[,sum(Weight*Size),by=cluster]
+CBNPoor[,sum(Weight),by=cluster]
+CBNPoor[,sum(Poor),by=cluster]
+C2<-CBNPoor[,.(HHID,ProvinceCode,Region,Decile,Poor,cluster)]
+######################################################################
+
+
+
+
+
+
+
+
+
+####Iteration 1#####
+###Iteration1-1
+#Calculate Per_calories in clusters
+CBNPoor[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(185:200)][]
+#utils::View(CBNPoor)
+
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(202:217)][]
+
+CBNPoor[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor<-CBNPoor[Per_Daily_Exp_Calories!=0]
+CBNPoor[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+#CBN[,weighted.mean(Poor,Weight),by=cluster][order(cluster)]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE)]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE)]
+
+#Real Prices
+T_Bundle_Value<-subset(CBNPoor, ProvinceCode==23, select=c(Bundle_Value,Home_Per_Metr,Weight))
+Tehran_Bundle_Value1<-weighted.mean(T_Bundle_Value$Bundle_Value,T_Bundle_Value$Weight,na.rm = TRUE)
+Tehran_Bundle_Value2<-weighted.mean(T_Bundle_Value$Home_Per_Metr,T_Bundle_Value$Weight,na.rm = TRUE)
+CBNPoor[,RealPriceIndex1:=weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/Tehran_Bundle_Value1,by=ProvinceCode]
+CBNPoor[,RealPriceIndex2:=weighted.mean(Home_Per_Metr,Weight,na.rm = TRUE)/Tehran_Bundle_Value2,by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex1,Weight),by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex2,Weight),by=ProvinceCode]
+Indexes2<-CBNPoor[,.(RealPriceIndex1,RealPriceIndex2,ProvinceCode,Weight)]
+Indexes2<-Indexes2[,RealPriceIndex:=(RealPriceIndex1+RealPriceIndex2)/2]
+Indexes<-Indexes2[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+Indexes31<-Indexes[,.(ProvinceCode,RealPriceIndex1,RealPriceIndex2,RealPriceIndex)]
+Indexes<-Indexes[,.(ProvinceCode,RealPriceIndex)]
+CBN<-merge(CBN,Indexes,by=c("ProvinceCode"),all.x = TRUE)
+CBN<-CBN[,Total_Food_Month_Per2:=FoodExpenditure_Per*RealPriceIndex]
+CBN<-CBN[,Total_Exp_Month_Per2:=Total_Exp_Month_Per_nondurable*RealPriceIndex]
+#utils::View(CBN)
+
+#Sort Expenditure data
+CBN<- CBN[order(Total_Exp_Month_Per2)]
+
+#Calculate cumulative weights
+sum(CBN$Weight)
+CBN$cumweight <- cumsum(CBN$Weight)
+tx <- max(CBN$cumweight)
+
+#Calculate deciles by weights
+CBN[,Decile:=cut(cumweight,breaks = seq(0,tx,tx/10),labels = 1:10)]
+CBN[,Percentile:=cut(cumweight,breaks=seq(0,tx,tx/100),labels=1:100)]
+
+#Update Poors
+CBN[,Poor:=ifelse(Decile %in% 1:5,1,0)]
+CBNPoor<-CBN[Poor==1]
+CBNPoor<-merge(CBNPoor,dt2,by=c("ProvinceCode"),all.x = TRUE)
+CBNPoor[,sum(HIndivNo),by=.(ProvinceCode)][order(ProvinceCode)]
+
+###Iteration1-2
+#Calculate Per_calories in clusters
+CBNPoor[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(185:200)][]
+#utils::View(CBNPoor)
+
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(202:217)][]
+
+CBNPoor[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor<-CBNPoor[Per_Daily_Exp_Calories!=0]
+CBNPoor[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+#CBN[,weighted.mean(Poor,Weight),by=cluster][order(cluster)]
+
+#Real Prices
+T_Bundle_Value<-subset(CBNPoor, ProvinceCode==23, select=c(Bundle_Value,Home_Per_Metr,Weight))
+Tehran_Bundle_Value1<-weighted.mean(T_Bundle_Value$Bundle_Value,T_Bundle_Value$Weight,na.rm = TRUE)
+Tehran_Bundle_Value2<-weighted.mean(T_Bundle_Value$Home_Per_Metr,T_Bundle_Value$Weight,na.rm = TRUE)
+CBNPoor[,RealPriceIndex1:=weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/Tehran_Bundle_Value1,by=ProvinceCode]
+CBNPoor[,RealPriceIndex2:=weighted.mean(Home_Per_Metr,Weight,na.rm = TRUE)/Tehran_Bundle_Value2,by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex1,Weight),by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex2,Weight),by=ProvinceCode]
+Indexes2<-CBNPoor[,.(RealPriceIndex1,RealPriceIndex2,ProvinceCode,Weight)]
+Indexes2<-Indexes2[,RealPriceIndex:=(RealPriceIndex1+RealPriceIndex2)/2]
+Indexes<-Indexes2[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+Indexes32<-Indexes[,.(ProvinceCode,RealPriceIndex1,RealPriceIndex2,RealPriceIndex)]
+Indexes<-Indexes[,.(ProvinceCode,RealPriceIndex)]
+CBN[,RealPriceIndex:=NULL]
+CBN<-merge(CBN,Indexes,by=c("ProvinceCode"),all.x = TRUE)
+CBN<-CBN[,Total_Food_Month_Per2:=FoodExpenditure_Per*RealPriceIndex]
+CBN<-CBN[,Total_Exp_Month_Per2:=Total_Exp_Month_Per_nondurable*RealPriceIndex]
+#utils::View(CBN)
+
+#Sort Expenditure data
+CBN<- CBN[order(Total_Exp_Month_Per2)]
+
+#Calculate cumulative weights
+sum(CBN$Weight)
+CBN$cumweight <- cumsum(CBN$Weight)
+tx <- max(CBN$cumweight)
+
+#Calculate deciles by weights
+CBN[,Decile:=cut(cumweight,breaks = seq(0,tx,tx/10),labels = 1:10)]
+CBN[,Percentile:=cut(cumweight,breaks=seq(0,tx,tx/100),labels=1:100)]
+
+#Update Poors
+CBN[,Poor:=ifelse(Decile %in% 1:5,1,0)]
+CBNPoor<-CBN[Poor==1]
+CBNPoor<-merge(CBNPoor,dt2,by=c("ProvinceCode"),all.x = TRUE)
+CBNPoor[,sum(HIndivNo),by=.(ProvinceCode)][order(ProvinceCode)]
+
+###Iteration1-3
+#Calculate Per_calories in clusters
+CBNPoor[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(185:200)][]
+#utils::View(CBNPoor)
+
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(202:217)][]
+
+CBNPoor[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor<-CBNPoor[Per_Daily_Exp_Calories!=0]
+CBNPoor[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+#CBN[,weighted.mean(Poor,Weight),by=cluster][order(cluster)]
+
+#Real Prices
+T_Bundle_Value<-subset(CBNPoor, ProvinceCode==23, select=c(Bundle_Value,Home_Per_Metr,Weight))
+Tehran_Bundle_Value1<-weighted.mean(T_Bundle_Value$Bundle_Value,T_Bundle_Value$Weight,na.rm = TRUE)
+Tehran_Bundle_Value2<-weighted.mean(T_Bundle_Value$Home_Per_Metr,T_Bundle_Value$Weight,na.rm = TRUE)
+CBNPoor[,RealPriceIndex1:=weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/Tehran_Bundle_Value1,by=ProvinceCode]
+CBNPoor[,RealPriceIndex2:=weighted.mean(Home_Per_Metr,Weight,na.rm = TRUE)/Tehran_Bundle_Value2,by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex1,Weight),by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex2,Weight),by=ProvinceCode]
+Indexes2<-CBNPoor[,.(RealPriceIndex1,RealPriceIndex2,ProvinceCode,Weight)]
+Indexes2<-Indexes2[,RealPriceIndex:=(RealPriceIndex1+RealPriceIndex2)/2]
+Indexes<-Indexes2[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+Indexes33<-Indexes[,.(ProvinceCode,RealPriceIndex1,RealPriceIndex2,RealPriceIndex)]
+Indexes<-Indexes[,.(ProvinceCode,RealPriceIndex)]
+CBN[,RealPriceIndex:=NULL]
+CBN<-merge(CBN,Indexes,by=c("ProvinceCode"),all.x = TRUE)
+CBN<-CBN[,Total_Food_Month_Per2:=FoodExpenditure_Per*RealPriceIndex]
+CBN<-CBN[,Total_Exp_Month_Per2:=Total_Exp_Month_Per_nondurable*RealPriceIndex]
+#utils::View(CBN)
+
+#Sort Expenditure data
+CBN<- CBN[order(Total_Exp_Month_Per2)]
+
+#Calculate cumulative weights
+sum(CBN$Weight)
+CBN$cumweight <- cumsum(CBN$Weight)
+tx <- max(CBN$cumweight)
+
+#Calculate deciles by weights
+CBN[,Decile:=cut(cumweight,breaks = seq(0,tx,tx/10),labels = 1:10)]
+CBN[,Percentile:=cut(cumweight,breaks=seq(0,tx,tx/100),labels=1:100)]
+
+#Update Poors
+CBN[,Poor:=ifelse(Decile %in% 1:5,1,0)]
+CBNPoor<-CBN[Poor==1]
+CBNPoor<-merge(CBNPoor,dt2,by=c("ProvinceCode"),all.x = TRUE)
+CBNPoor[,sum(HIndivNo),by=.(ProvinceCode)][order(ProvinceCode)]
+
+
+###Iteration1-4
+#Calculate Per_calories in clusters
+CBNPoor[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(185:200)][]
+#utils::View(CBNPoor)
+
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(202:217)][]
+
+CBNPoor[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor<-CBNPoor[Per_Daily_Exp_Calories!=0]
+CBNPoor[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+#CBN[,weighted.mean(Poor,Weight),by=cluster][order(cluster)]
+
+#Real Prices
+T_Bundle_Value<-subset(CBNPoor, ProvinceCode==23, select=c(Bundle_Value,Home_Per_Metr,Weight))
+Tehran_Bundle_Value1<-weighted.mean(T_Bundle_Value$Bundle_Value,T_Bundle_Value$Weight,na.rm = TRUE)
+Tehran_Bundle_Value2<-weighted.mean(T_Bundle_Value$Home_Per_Metr,T_Bundle_Value$Weight,na.rm = TRUE)
+CBNPoor[,RealPriceIndex1:=weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/Tehran_Bundle_Value1,by=ProvinceCode]
+CBNPoor[,RealPriceIndex2:=weighted.mean(Home_Per_Metr,Weight,na.rm = TRUE)/Tehran_Bundle_Value2,by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex1,Weight),by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex2,Weight),by=ProvinceCode]
+Indexes2<-CBNPoor[,.(RealPriceIndex1,RealPriceIndex2,ProvinceCode,Weight)]
+Indexes2<-Indexes2[,RealPriceIndex:=(RealPriceIndex1+RealPriceIndex2)/2]
+Indexes<-Indexes2[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+Indexes34<-Indexes[,.(ProvinceCode,RealPriceIndex1,RealPriceIndex2,RealPriceIndex)]
+Indexes<-Indexes[,.(ProvinceCode,RealPriceIndex)]
+CBN[,RealPriceIndex:=NULL]
+CBN<-merge(CBN,Indexes,by=c("ProvinceCode"),all.x = TRUE)
+CBN<-CBN[,Total_Food_Month_Per2:=FoodExpenditure_Per*RealPriceIndex]
+CBN<-CBN[,Total_Exp_Month_Per2:=Total_Exp_Month_Per_nondurable*RealPriceIndex]
+#utils::View(CBN)
+
+
+#Sort Expenditure data
+CBN<- CBN[order(Total_Exp_Month_Per2)]
+
+#Calculate cumulative weights
+sum(CBN$Weight)
+CBN$cumweight <- cumsum(CBN$Weight)
+tx <- max(CBN$cumweight)
+
+#Calculate deciles by weights
+CBN[,Decile:=cut(cumweight,breaks = seq(0,tx,tx/10),labels = 1:10)]
+CBN[,Percentile:=cut(cumweight,breaks=seq(0,tx,tx/100),labels=1:100)]
+
+#Update Poors
+CBN[,Poor:=ifelse(Decile %in% 1:5,1,0)]
+CBNPoor<-CBN[Poor==1]
+CBNPoor<-merge(CBNPoor,dt2,by=c("ProvinceCode"),all.x = TRUE)
+CBNPoor[,sum(HIndivNo),by=.(ProvinceCode)][order(ProvinceCode)]
+
+###Iteration1-5
+#Calculate Per_calories in clusters
+CBNPoor[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(185:200)][]
+#utils::View(CBNPoor)
+
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(202:217)][]
+
+CBNPoor[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor<-CBNPoor[Per_Daily_Exp_Calories!=0]
+CBNPoor[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+#CBN[,weighted.mean(Poor,Weight),by=cluster][order(cluster)]
+
+#Real Prices
+T_Bundle_Value<-subset(CBNPoor, ProvinceCode==23, select=c(Bundle_Value,Home_Per_Metr,Weight))
+Tehran_Bundle_Value1<-weighted.mean(T_Bundle_Value$Bundle_Value,T_Bundle_Value$Weight,na.rm = TRUE)
+Tehran_Bundle_Value2<-weighted.mean(T_Bundle_Value$Home_Per_Metr,T_Bundle_Value$Weight,na.rm = TRUE)
+CBNPoor[,RealPriceIndex1:=weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/Tehran_Bundle_Value1,by=ProvinceCode]
+CBNPoor[,RealPriceIndex2:=weighted.mean(Home_Per_Metr,Weight,na.rm = TRUE)/Tehran_Bundle_Value2,by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex1,Weight),by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex2,Weight),by=ProvinceCode]
+Indexes2<-CBNPoor[,.(RealPriceIndex1,RealPriceIndex2,ProvinceCode,Weight)]
+Indexes2<-Indexes2[,RealPriceIndex:=(RealPriceIndex1+RealPriceIndex2)/2]
+Indexes<-Indexes2[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+Indexes35<-Indexes[,.(ProvinceCode,RealPriceIndex1,RealPriceIndex2,RealPriceIndex)]
+Indexes<-Indexes[,.(ProvinceCode,RealPriceIndex)]
+CBN[,RealPriceIndex:=NULL]
+CBN<-merge(CBN,Indexes,by=c("ProvinceCode"),all.x = TRUE)
+CBN<-CBN[,Total_Food_Month_Per2:=FoodExpenditure_Per*RealPriceIndex]
+CBN<-CBN[,Total_Exp_Month_Per2:=Total_Exp_Month_Per_nondurable*RealPriceIndex]
+#utils::View(CBN)
+
+
+#Sort Expenditure data
+CBN<- CBN[order(Total_Exp_Month_Per2)]
+
+#Calculate cumulative weights
+sum(CBN$Weight)
+CBN$cumweight <- cumsum(CBN$Weight)
+tx <- max(CBN$cumweight)
+
+#Calculate deciles by weights
+CBN[,Decile:=cut(cumweight,breaks = seq(0,tx,tx/10),labels = 1:10)]
+CBN[,Percentile:=cut(cumweight,breaks=seq(0,tx,tx/100),labels=1:100)]
+
+#Update Poors
+CBN[,Poor:=ifelse(Decile %in% 1:5,1,0)]
+CBNPoor<-CBN[Poor==1]
+CBNPoor<-merge(CBNPoor,dt2,by=c("ProvinceCode"),all.x = TRUE)
+CBNPoor[,sum(HIndivNo),by=.(ProvinceCode)][order(ProvinceCode)]
+
+###Iteration1-6
+#Calculate Per_calories in clusters
+CBNPoor[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(185:200)][]
+#utils::View(CBNPoor)
+
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(202:217)][]
+
+CBNPoor[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor<-CBNPoor[Per_Daily_Exp_Calories!=0]
+CBNPoor[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+#CBN[,weighted.mean(Poor,Weight),by=cluster][order(cluster)]
+
+#Real Prices
+T_Bundle_Value<-subset(CBNPoor, ProvinceCode==23, select=c(Bundle_Value,Home_Per_Metr,Weight))
+Tehran_Bundle_Value1<-weighted.mean(T_Bundle_Value$Bundle_Value,T_Bundle_Value$Weight,na.rm = TRUE)
+Tehran_Bundle_Value2<-weighted.mean(T_Bundle_Value$Home_Per_Metr,T_Bundle_Value$Weight,na.rm = TRUE)
+CBNPoor[,RealPriceIndex1:=weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/Tehran_Bundle_Value1,by=ProvinceCode]
+CBNPoor[,RealPriceIndex2:=weighted.mean(Home_Per_Metr,Weight,na.rm = TRUE)/Tehran_Bundle_Value2,by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex1,Weight),by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex2,Weight),by=ProvinceCode]
+Indexes2<-CBNPoor[,.(RealPriceIndex1,RealPriceIndex2,ProvinceCode,Weight)]
+Indexes2<-Indexes2[,RealPriceIndex:=(RealPriceIndex1+RealPriceIndex2)/2]
+Indexes<-Indexes2[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+Indexes36<-Indexes[,.(ProvinceCode,RealPriceIndex1,RealPriceIndex2,RealPriceIndex)]
+Indexes<-Indexes[,.(ProvinceCode,RealPriceIndex)]
+CBN[,RealPriceIndex:=NULL]
+CBN<-merge(CBN,Indexes,by=c("ProvinceCode"),all.x = TRUE)
+CBN<-CBN[,Total_Food_Month_Per2:=FoodExpenditure_Per*RealPriceIndex]
+CBN<-CBN[,Total_Exp_Month_Per2:=Total_Exp_Month_Per_nondurable*RealPriceIndex]
+#utils::View(CBN)
+
+
+#Sort Expenditure data
+CBN<- CBN[order(Total_Exp_Month_Per2)]
+
+#Calculate cumulative weights
+sum(CBN$Weight)
+CBN$cumweight <- cumsum(CBN$Weight)
+tx <- max(CBN$cumweight)
+
+#Calculate deciles by weights
+CBN[,Decile:=cut(cumweight,breaks = seq(0,tx,tx/10),labels = 1:10)]
+CBN[,Percentile:=cut(cumweight,breaks=seq(0,tx,tx/100),labels=1:100)]
+
+#Update Poors
+CBN[,Poor:=ifelse(Decile %in% 1:5,1,0)]
+CBNPoor<-CBN[Poor==1]
+CBNPoor<-merge(CBNPoor,dt2,by=c("ProvinceCode"),all.x = TRUE)
+CBNPoor[,sum(HIndivNo),by=.(ProvinceCode)][order(ProvinceCode)]
+
+###Iteration1-7
+#Calculate Per_calories in clusters
+CBNPoor[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(185:200)][]
+#utils::View(CBNPoor)
+
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(202:217)][]
+
+CBNPoor[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor<-CBNPoor[Per_Daily_Exp_Calories!=0]
+CBNPoor[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+#CBN[,weighted.mean(Poor,Weight),by=cluster][order(cluster)]
+
+#Real Prices
+T_Bundle_Value<-subset(CBNPoor, ProvinceCode==23, select=c(Bundle_Value,Home_Per_Metr,Weight))
+Tehran_Bundle_Value1<-weighted.mean(T_Bundle_Value$Bundle_Value,T_Bundle_Value$Weight,na.rm = TRUE)
+Tehran_Bundle_Value2<-weighted.mean(T_Bundle_Value$Home_Per_Metr,T_Bundle_Value$Weight,na.rm = TRUE)
+CBNPoor[,RealPriceIndex1:=weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/Tehran_Bundle_Value1,by=ProvinceCode]
+CBNPoor[,RealPriceIndex2:=weighted.mean(Home_Per_Metr,Weight,na.rm = TRUE)/Tehran_Bundle_Value2,by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex1,Weight),by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex2,Weight),by=ProvinceCode]
+Indexes2<-CBNPoor[,.(RealPriceIndex1,RealPriceIndex2,ProvinceCode,Weight)]
+Indexes2<-Indexes2[,RealPriceIndex:=(RealPriceIndex1+RealPriceIndex2)/2]
+Indexes<-Indexes2[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+Indexes37<-Indexes[,.(ProvinceCode,RealPriceIndex1,RealPriceIndex2,RealPriceIndex)]
+Indexes<-Indexes[,.(ProvinceCode,RealPriceIndex)]
+CBN[,RealPriceIndex:=NULL]
+CBN<-merge(CBN,Indexes,by=c("ProvinceCode"),all.x = TRUE)
+CBN<-CBN[,Total_Food_Month_Per2:=FoodExpenditure_Per*RealPriceIndex]
+CBN<-CBN[,Total_Exp_Month_Per2:=Total_Exp_Month_Per_nondurable*RealPriceIndex]
+#utils::View(CBN)
+
+
+#Sort Expenditure data
+CBN<- CBN[order(Total_Exp_Month_Per2)]
+
+#Calculate cumulative weights
+sum(CBN$Weight)
+CBN$cumweight <- cumsum(CBN$Weight)
+tx <- max(CBN$cumweight)
+
+#Calculate deciles by weights
+CBN[,Decile:=cut(cumweight,breaks = seq(0,tx,tx/10),labels = 1:10)]
+CBN[,Percentile:=cut(cumweight,breaks=seq(0,tx,tx/100),labels=1:100)]
+
+#Update Poors
+CBN[,Poor:=ifelse(Decile %in% 1:5,1,0)]
+CBNPoor<-CBN[Poor==1]
+CBNPoor<-merge(CBNPoor,dt2,by=c("ProvinceCode"),all.x = TRUE)
+CBNPoor[,sum(HIndivNo),by=.(ProvinceCode)][order(ProvinceCode)]
+
+###Iteration1-8
+#Calculate Per_calories in clusters
+CBNPoor[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(185:200)][]
+#utils::View(CBNPoor)
+
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(202:217)][]
+
+CBNPoor[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor<-CBNPoor[Per_Daily_Exp_Calories!=0]
+CBNPoor[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+#CBN[,weighted.mean(Poor,Weight),by=cluster][order(cluster)]
+
+#Real Prices
+T_Bundle_Value<-subset(CBNPoor, ProvinceCode==23, select=c(Bundle_Value,Home_Per_Metr,Weight))
+Tehran_Bundle_Value1<-weighted.mean(T_Bundle_Value$Bundle_Value,T_Bundle_Value$Weight,na.rm = TRUE)
+Tehran_Bundle_Value2<-weighted.mean(T_Bundle_Value$Home_Per_Metr,T_Bundle_Value$Weight,na.rm = TRUE)
+CBNPoor[,RealPriceIndex1:=weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/Tehran_Bundle_Value1,by=ProvinceCode]
+CBNPoor[,RealPriceIndex2:=weighted.mean(Home_Per_Metr,Weight,na.rm = TRUE)/Tehran_Bundle_Value2,by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex1,Weight),by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex2,Weight),by=ProvinceCode]
+Indexes2<-CBNPoor[,.(RealPriceIndex1,RealPriceIndex2,ProvinceCode,Weight)]
+Indexes2<-Indexes2[,RealPriceIndex:=(RealPriceIndex1+RealPriceIndex2)/2]
+Indexes<-Indexes2[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+Indexes38<-Indexes[,.(ProvinceCode,RealPriceIndex1,RealPriceIndex2,RealPriceIndex)]
+Indexes<-Indexes[,.(ProvinceCode,RealPriceIndex)]
+CBN[,RealPriceIndex:=NULL]
+CBN<-merge(CBN,Indexes,by=c("ProvinceCode"),all.x = TRUE)
+CBN<-CBN[,Total_Food_Month_Per2:=FoodExpenditure_Per*RealPriceIndex]
+CBN<-CBN[,Total_Exp_Month_Per2:=Total_Exp_Month_Per_nondurable*RealPriceIndex]
+#utils::View(CBN)
+
+
+#Sort Expenditure data
+CBN<- CBN[order(Total_Exp_Month_Per2)]
+
+#Calculate cumulative weights
+sum(CBN$Weight)
+CBN$cumweight <- cumsum(CBN$Weight)
+tx <- max(CBN$cumweight)
+
+#Calculate deciles by weights
+CBN[,Decile:=cut(cumweight,breaks = seq(0,tx,tx/10),labels = 1:10)]
+CBN[,Percentile:=cut(cumweight,breaks=seq(0,tx,tx/100),labels=1:100)]
+
+#Update Poors
+CBN[,Poor:=ifelse(Decile %in% 1:5,1,0)]
+CBNPoor<-CBN[Poor==1]
+CBNPoor<-merge(CBNPoor,dt2,by=c("ProvinceCode"),all.x = TRUE)
+CBNPoor[,sum(HIndivNo),by=.(ProvinceCode)][order(ProvinceCode)]
+
+###Iteration1-9
+#Calculate Per_calories in clusters
+CBNPoor[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(185:200)][]
+#utils::View(CBNPoor)
+
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(202:217)][]
+
+CBNPoor[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor<-CBNPoor[Per_Daily_Exp_Calories!=0]
+CBNPoor[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+#CBN[,weighted.mean(Poor,Weight),by=cluster][order(cluster)]
+
+#Real Prices
+T_Bundle_Value<-subset(CBNPoor, ProvinceCode==23, select=c(Bundle_Value,Home_Per_Metr,Weight))
+Tehran_Bundle_Value1<-weighted.mean(T_Bundle_Value$Bundle_Value,T_Bundle_Value$Weight,na.rm = TRUE)
+Tehran_Bundle_Value2<-weighted.mean(T_Bundle_Value$Home_Per_Metr,T_Bundle_Value$Weight,na.rm = TRUE)
+CBNPoor[,RealPriceIndex1:=weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/Tehran_Bundle_Value1,by=ProvinceCode]
+CBNPoor[,RealPriceIndex2:=weighted.mean(Home_Per_Metr,Weight,na.rm = TRUE)/Tehran_Bundle_Value2,by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex1,Weight),by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex2,Weight),by=ProvinceCode]
+Indexes2<-CBNPoor[,.(RealPriceIndex1,RealPriceIndex2,ProvinceCode,Weight)]
+Indexes2<-Indexes2[,RealPriceIndex:=(RealPriceIndex1+RealPriceIndex2)/2]
+Indexes<-Indexes2[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+Indexes39<-Indexes[,.(ProvinceCode,RealPriceIndex1,RealPriceIndex2,RealPriceIndex)]
+Indexes<-Indexes[,.(ProvinceCode,RealPriceIndex)]
+CBN[,RealPriceIndex:=NULL]
+CBN<-merge(CBN,Indexes,by=c("ProvinceCode"),all.x = TRUE)
+CBN<-CBN[,Total_Food_Month_Per2:=FoodExpenditure_Per*RealPriceIndex]
+CBN<-CBN[,Total_Exp_Month_Per2:=Total_Exp_Month_Per_nondurable*RealPriceIndex]
+#utils::View(CBN)
+
+
+#Sort Expenditure data
+CBN<- CBN[order(Total_Exp_Month_Per2)]
+
+#Calculate cumulative weights
+sum(CBN$Weight)
+CBN$cumweight <- cumsum(CBN$Weight)
+tx <- max(CBN$cumweight)
+
+#Calculate deciles by weights
+CBN[,Decile:=cut(cumweight,breaks = seq(0,tx,tx/10),labels = 1:10)]
+CBN[,Percentile:=cut(cumweight,breaks=seq(0,tx,tx/100),labels=1:100)]
+
+#Update Poors
+CBN[,Poor:=ifelse(Decile %in% 1:5,1,0)]
+CBNPoor<-CBN[Poor==1]
+CBNPoor<-merge(CBNPoor,dt2,by=c("ProvinceCode"),all.x = TRUE)
+CBNPoor[,sum(HIndivNo),by=.(ProvinceCode)][order(ProvinceCode)]
+
+###Iteration1-10
+#Calculate Per_calories in clusters
+CBNPoor[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(185:200)][]
+#utils::View(CBNPoor)
+
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(202:217)][]
+
+CBNPoor[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor<-CBNPoor[Per_Daily_Exp_Calories!=0]
+CBNPoor[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+#CBN[,weighted.mean(Poor,Weight),by=cluster][order(cluster)]
+
+#Real Prices
+T_Bundle_Value<-subset(CBNPoor, ProvinceCode==23, select=c(Bundle_Value,Home_Per_Metr,Weight))
+Tehran_Bundle_Value1<-weighted.mean(T_Bundle_Value$Bundle_Value,T_Bundle_Value$Weight,na.rm = TRUE)
+Tehran_Bundle_Value2<-weighted.mean(T_Bundle_Value$Home_Per_Metr,T_Bundle_Value$Weight,na.rm = TRUE)
+CBNPoor[,RealPriceIndex1:=weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/Tehran_Bundle_Value1,by=ProvinceCode]
+CBNPoor[,RealPriceIndex2:=weighted.mean(Home_Per_Metr,Weight,na.rm = TRUE)/Tehran_Bundle_Value2,by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex1,Weight),by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex2,Weight),by=ProvinceCode]
+Indexes2<-CBNPoor[,.(RealPriceIndex1,RealPriceIndex2,ProvinceCode,Weight)]
+Indexes2<-Indexes2[,RealPriceIndex:=(RealPriceIndex1+RealPriceIndex2)/2]
+Indexes<-Indexes2[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+Indexes310<-Indexes[,.(ProvinceCode,RealPriceIndex1,RealPriceIndex2,RealPriceIndex)]
+Indexes<-Indexes[,.(ProvinceCode,RealPriceIndex)]
+CBN[,RealPriceIndex:=NULL]
+CBN<-merge(CBN,Indexes,by=c("ProvinceCode"),all.x = TRUE)
+CBN<-CBN[,Total_Food_Month_Per2:=FoodExpenditure_Per*RealPriceIndex]
+CBN<-CBN[,Total_Exp_Month_Per2:=Total_Exp_Month_Per_nondurable*RealPriceIndex]
+#utils::View(CBN)
+
+
+#Sort Expenditure data
+CBN<- CBN[order(Total_Exp_Month_Per2)]
+
+#Calculate cumulative weights
+sum(CBN$Weight)
+CBN$cumweight <- cumsum(CBN$Weight)
+tx <- max(CBN$cumweight)
+
+#Calculate deciles by weights
+CBN[,Decile:=cut(cumweight,breaks = seq(0,tx,tx/10),labels = 1:10)]
+CBN[,Percentile:=cut(cumweight,breaks=seq(0,tx,tx/100),labels=1:100)]
+
+#Update Poors
+CBN[,Poor:=ifelse(Decile %in% 1:5,1,0)]
+CBNPoor<-CBN[Poor==1]
+CBNPoor<-merge(CBNPoor,dt2,by=c("ProvinceCode"),all.x = TRUE)
+CBNPoor[,sum(HIndivNo),by=.(ProvinceCode)][order(ProvinceCode)]
+
+
+#Calculate Per_calories in clusters
+CBNPoor[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(189:204)][]
+#utils::View(CBNPoor)
+
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(206:221)][]
+
+CBNPoor[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor<-CBNPoor[Per_Daily_Exp_Calories!=0]
+CBNPoor[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNCalory<-CBNPoor[,.(Per_Daily_Calories,Per_Daily_Exp_Calories,Per_Calory_Resturant,Resturant_Exp,cluster,ProvinceCode)]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+
+
+#Calculations
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_day,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,sum(Size*Weight),by=cluster][order(cluster)]
+
+
+#Food Poverty Line for each cluster
+#cluster 1
+CBNPoorCluster<-CBNPoor[cluster==1]
+Food_Povertyline1_1<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 2
+CBNPoorCluster<-CBNPoor[cluster==2]
+Food_Povertyline2_1<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 3
+CBNPoorCluster<-CBNPoor[cluster==3]
+Food_Povertyline3_1<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 4
+CBNPoorCluster<-CBNPoor[cluster==4]
+Food_Povertyline4_1<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 5
+CBNPoorCluster<-CBNPoor[cluster==5]
+Food_Povertyline5_1<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#ee<-CBNPoor[,.(Total_Exp_Month_Real,Total_Exp_Month,Total_Food_Month_Per2,Total_Exp_Month_Per_nondurable,Total_Exp_Month_nondurable_Real_Per,FoodExpenditure_Per,cluster)]
+#mean(ee[,Total_Food_Month_Per2==Total_Exp_Month_nondurable_Real])
+#mean(ee[,Total_Food_Month_Per2<3500000])
+#ee<- ee[order(Total_Food_Month_Per2)]
+#utils::View(CBN)
+CBN<-merge(CBN,dt2,by=c("ProvinceCode"),all.x = TRUE)
+#for (col in c("Total_Food_Month_Per2")) CBN[is.na(get(col)), (col) := Total_Exp_Month_Per_nondurable]
+c<-CBN[,.(FoodExpenditure_Per,FoodExpenditure_Per_total,Total_Exp_Month_Per_nondurable,Total_Exp_Month,Total_Food_Month_Per2,Poor,Decile,Weight,cluster)]
+
+#########Iteration 2###############
+#Sort Expenditure data
+CBN<- CBN[order(Total_Food_Month_Per2)]
+c<- c[order(Total_Food_Month_Per2)]
+
+#Indicate new poors
+CBN[,Poor2:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_1 & cluster==1,1,0)]
+c[,Poor2:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_1 & cluster==1 ,1,0)]
+CBN[,Poor2:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_1 & cluster==2,1,Poor2)]
+c[,Poor2:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_1 & cluster==2 ,1,Poor2)]
+CBN[,Poor2:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_1 & cluster==3,1,Poor2)]
+c[,Poor2:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_1 & cluster==3 ,1,Poor2)]
+CBN[,Poor2:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_1 & cluster==4,1,Poor2)]
+c[,Poor2:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_1 & cluster==4 ,1,Poor2)]
+CBN[,Poor2:=ifelse(FoodExpenditure_Per_total < Food_Povertyline5_1 & cluster==5,1,Poor2)]
+c[,Poor2:=ifelse(FoodExpenditure_Per_total < Food_Povertyline5_1 & cluster==5 ,1,Poor2)]
+CBN[,weighted.mean(Poor2,Weight),by=cluster][order(cluster)]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2<-CBN[Poor2==1]
+
+
+#CalculatePer_calories in clusters
+CBNPoor2[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(190:205)][]
+#utils::View(CBNPoor2)
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor2[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(207:222)][]
+
+CBNPoor2[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor2[,Calory_Price:=FoodExpenditure_Per_cluster/(Daily_Calories_cluster2)]
+CBNPoor2[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor2[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2<-CBNPoor2[Per_Daily_Exp_Calories!=0]
+CBNPoor2[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor2[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor2[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor2[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor2[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor2[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+
+
+
+#Calculations
+CBNPoor2[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,weighted.mean(FoodExpenditure_Per_day,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+
+
+
+#Food Poverty Line for each cluster
+#cluster 1
+CBNPoorCluster<-CBNPoor2[cluster==1]
+Food_Povertyline1_2<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 2
+CBNPoorCluster<-CBNPoor2[cluster==2]
+Food_Povertyline2_2<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 3
+CBNPoorCluster<-CBNPoor2[cluster==3]
+Food_Povertyline3_2<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 4
+CBNPoorCluster<-CBNPoor2[cluster==4]
+Food_Povertyline4_2<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 5
+CBNPoorCluster<-CBNPoor[cluster==5]
+Food_Povertyline5_2<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#ee<-CBNPoor[,.(Total_Exp_Month_Real,Total_Exp_Month,Total_Food_Month_Per2,Total_Exp_Month_Per_nondurable,Total_Exp_Month_nondurable_Real_Per,FoodExpenditure_Per,cluster)]
+#mean(ee[,Total_Food_Month_Per2==Total_Exp_Month_nondurable_Real])
+#mean(ee[,Total_Food_Month_Per2<3500000])
+#ee<- ee[order(Total_Food_Month_Per2)]
+#utils::View(CBN)
+#for (col in c("Total_Food_Month_Per2")) CBN[is.na(get(col)), (col) := Total_Exp_Month_Per_nondurable]
+c<-CBN[,.(FoodExpenditure_Per,FoodExpenditure_Per_total,Total_Exp_Month_Per_nondurable,Total_Exp_Month,Total_Food_Month_Per2,Poor,Decile,Weight,cluster)]
+
+
+#########Iteration 3###############
+#Sort Expenditure data
+CBN<- CBN[order(Total_Food_Month_Per2)]
+c<- c[order(Total_Food_Month_Per2)]
+
+#Indicate new poors
+CBN[,Poor3:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_2 & cluster==1,1,0)]
+c[,Poor3:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_2 & cluster==1 ,1,0)]
+CBN[,Poor3:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_2 & cluster==2,1,Poor3)]
+c[,Poor3:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_2 & cluster==2 ,1,Poor3)]
+CBN[,Poor3:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_2 & cluster==3,1,Poor3)]
+c[,Poor3:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_2 & cluster==3 ,1,Poor3)]
+CBN[,Poor3:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_2 & cluster==4,1,Poor3)]
+c[,Poor3:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_2 & cluster==4 ,1,Poor3)]
+CBN[,Poor3:=ifelse(FoodExpenditure_Per_total < Food_Povertyline5_2 & cluster==5,1,Poor3)]
+c[,Poor3:=ifelse(FoodExpenditure_Per_total < Food_Povertyline5_2 & cluster==5 ,1,Poor3)]
+CBN[,weighted.mean(Poor3,Weight),by=cluster][order(cluster)]
+CBNPoor2[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3<-CBN[Poor3==1]
+
+
+
+#CalculatePer_calories in clusters
+CBNPoor3[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(191:206)][]
+#utils::View(CBNPoor3)
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor3[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(208:223)][]
+
+
+CBNPoor3[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor3[,Calory_Price:=FoodExpenditure_Per_cluster/(Daily_Calories_cluster2)]
+CBNPoor3[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor3[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3<-CBNPoor3[Per_Daily_Exp_Calories!=0]
+CBNPoor3[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor3[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+
+#sum of total food expenditures
+CBNPoor3[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor3[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor3[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor3[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+
+
+#Calculations
+CBNPoor3[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,weighted.mean(FoodExpenditure_Per_day,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+
+
+
+#Food Poverty Line for each cluster
+#cluster 1
+CBNPoorCluster<-CBNPoor3[cluster==1]
+Food_Povertyline1_3<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 2
+CBNPoorCluster<-CBNPoor3[cluster==2]
+Food_Povertyline2_3<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 3
+CBNPoorCluster<-CBNPoor3[cluster==3]
+Food_Povertyline3_3<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 4
+CBNPoorCluster<-CBNPoor3[cluster==4]
+Food_Povertyline4_3<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 5
+CBNPoorCluster<-CBNPoor[cluster==5]
+Food_Povertyline5_3<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#ee<-CBNPoor[,.(Total_Exp_Month_Real,Total_Exp_Month,Total_Food_Month_Per2,Total_Exp_Month_Per_nondurable,Total_Exp_Month_nondurable_Real_Per,FoodExpenditure_Per,cluster)]
+#mean(ee[,Total_Food_Month_Per2==Total_Exp_Month_nondurable_Real])
+#mean(ee[,Total_Food_Month_Per2<3500000])
+#ee<- ee[order(Total_Food_Month_Per2)]
+#utils::View(CBN)
+#for (col in c("Total_Food_Month_Per2")) CBN[is.na(get(col)), (col) := Total_Exp_Month_Per_nondurable]
+c<-CBN[,.(FoodExpenditure_Per,FoodExpenditure_Per_total,Total_Exp_Month_Per_nondurable,Total_Exp_Month,Total_Food_Month_Per2,Poor,Decile,Weight,cluster)]
+
+
+#########Iteration 4###############
+#Sort Expenditure data
+CBN<- CBN[order(Total_Food_Month_Per2)]
+c<- c[order(Total_Food_Month_Per2)]
+
+#Indicate new poors
+CBN[,Poor4:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_3 & cluster==1,1,0)]
+c[,Poor4:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_3 & cluster==1 ,1,0)]
+CBN[,Poor4:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_3 & cluster==2,1,Poor4)]
+c[,Poor4:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_3 & cluster==2 ,1,Poor4)]
+CBN[,Poor4:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_3 & cluster==3,1,Poor4)]
+c[,Poor4:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_3 & cluster==3 ,1,Poor4)]
+CBN[,Poor4:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_3 & cluster==4,1,Poor4)]
+c[,Poor4:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_3 & cluster==4 ,1,Poor4)]
+CBN[,Poor4:=ifelse(FoodExpenditure_Per_total < Food_Povertyline5_3 & cluster==5,1,Poor4)]
+c[,Poor4:=ifelse(FoodExpenditure_Per_total < Food_Povertyline5_3 & cluster==5 ,1,Poor4)]
+CBN[,weighted.mean(Poor4,Weight),by=cluster][order(cluster)]
+CBNPoor3[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4<-CBN[Poor4==1]
+
+#CalculatePer_calories in clusters
+CBNPoor4[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(191:206)][]
+#utils::View(CBNPoor4)
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor4[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(208:223)][]
+
+
+CBNPoor4[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor4[,Calory_Price:=FoodExpenditure_Per_cluster/(Daily_Calories_cluster2)]
+CBNPoor4[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor4[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4<-CBNPoor4[Per_Daily_Exp_Calories!=0]
+CBNPoor4[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor4[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+
+#sum of total food expenditures
+CBNPoor4[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor4[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor4[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor4[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+
+
+#Calculations
+CBNPoor4[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,weighted.mean(FoodExpenditure_Per_day,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+
+
+
+#Food Poverty Line for each cluster
+#cluster 1
+CBNPoorCluster<-CBNPoor4[cluster==1]
+Food_Povertyline1_4<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 2
+CBNPoorCluster<-CBNPoor4[cluster==2]
+Food_Povertyline2_4<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 3
+CBNPoorCluster<-CBNPoor4[cluster==3]
+Food_Povertyline3_4<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 4
+CBNPoorCluster<-CBNPoor4[cluster==4]
+Food_Povertyline4_4<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 5
+CBNPoorCluster<-CBNPoor[cluster==5]
+Food_Povertyline5_4<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#ee<-CBNPoor[,.(Total_Exp_Month_Real,Total_Exp_Month,Total_Food_Month_Per2,Total_Exp_Month_Per_nondurable,Total_Exp_Month_nondurable_Real_Per,FoodExpenditure_Per,cluster)]
+#mean(ee[,Total_Food_Month_Per2==Total_Exp_Month_nondurable_Real])
+#mean(ee[,Total_Food_Month_Per2<3500000])
+#ee<- ee[order(Total_Food_Month_Per2)]
+#utils::View(CBN)
+#for (col in c("Total_Food_Month_Per2")) CBN[is.na(get(col)), (col) := Total_Exp_Month_Per_nondurable]
+c<-CBN[,.(FoodExpenditure_Per,FoodExpenditure_Per_total,Total_Exp_Month_Per_nondurable,Total_Exp_Month,Total_Food_Month_Per2,Poor,Decile,Weight,cluster)]
+
+
+#########Iteration 5###############
+#Sort Expenditure data
+CBN<- CBN[order(Total_Food_Month_Per2)]
+c<- c[order(Total_Food_Month_Per2)]
+
+#Indicate new poors
+CBN[,Poor5:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_4 & cluster==1,1,0)]
+c[,Poor5:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_4 & cluster==1 ,1,0)]
+CBN[,Poor5:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_4 & cluster==2,1,Poor5)]
+c[,Poor5:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_4 & cluster==2 ,1,Poor5)]
+CBN[,Poor5:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_4 & cluster==3,1,Poor5)]
+c[,Poor5:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_4 & cluster==3 ,1,Poor5)]
+CBN[,Poor5:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_4 & cluster==4,1,Poor5)]
+c[,Poor5:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_4 & cluster==4 ,1,Poor5)]
+CBN[,Poor5:=ifelse(FoodExpenditure_Per_total < Food_Povertyline5_4 & cluster==5,1,Poor5)]
+c[,Poor5:=ifelse(FoodExpenditure_Per_total < Food_Povertyline5_4 & cluster==5 ,1,Poor5)]
+CBN[,weighted.mean(Poor5,Weight),by=cluster][order(cluster)]
+CBNPoor4[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5<-CBN[Poor5==1]
+
+#CalculatePer_calories in clusters
+CBNPoor5[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(191:206)][]
+#utils::View(CBNPoor5)
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor5[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(208:223)][]
+
+
+CBNPoor5[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor5[,Calory_Price:=FoodExpenditure_Per_cluster/(Daily_Calories_cluster2)]
+CBNPoor5[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor5[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5<-CBNPoor5[Per_Daily_Exp_Calories!=0]
+CBNPoor5[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor5[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+
+#sum of total food expenditures
+CBNPoor5[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor5[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor5[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor5[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+
+
+#Calculations
+CBNPoor5[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,weighted.mean(FoodExpenditure_Per_day,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+
+
+
+#Food Poverty Line for each cluster
+#cluster 1
+CBNPoorCluster<-CBNPoor5[cluster==1]
+Food_Povertyline1_5<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 2
+CBNPoorCluster<-CBNPoor5[cluster==2]
+Food_Povertyline2_5<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 3
+CBNPoorCluster<-CBNPoor5[cluster==3]
+Food_Povertyline3_5<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 4
+CBNPoorCluster<-CBNPoor5[cluster==4]
+Food_Povertyline4_5<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 5
+CBNPoorCluster<-CBNPoor[cluster==5]
+Food_Povertyline5_5<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#ee<-CBNPoor[,.(Total_Exp_Month_Real,Total_Exp_Month,Total_Food_Month_Per2,Total_Exp_Month_Per_nondurable,Total_Exp_Month_nondurable_Real_Per,FoodExpenditure_Per,cluster)]
+#mean(ee[,Total_Food_Month_Per2==Total_Exp_Month_nondurable_Real])
+#mean(ee[,Total_Food_Month_Per2<3500000])
+#ee<- ee[order(Total_Food_Month_Per2)]
+#utils::View(CBN)
+#for (col in c("Total_Food_Month_Per2")) CBN[is.na(get(col)), (col) := Total_Exp_Month_Per_nondurable]
+c<-CBN[,.(FoodExpenditure_Per,FoodExpenditure_Per_total,Total_Exp_Month_Per_nondurable,Total_Exp_Month,Total_Food_Month_Per2,Poor,Decile,Weight,cluster)]
+
+
+#########Iteration 6###############
+#Sort Expenditure data
+CBN<- CBN[order(Total_Food_Month_Per2)]
+c<- c[order(Total_Food_Month_Per2)]
+
+#Indicate new poors
+CBN[,Poor6:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_5 & cluster==1,1,0)]
+c[,Poor6:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_5 & cluster==1 ,1,0)]
+CBN[,Poor6:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_5 & cluster==2,1,Poor6)]
+c[,Poor6:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_5 & cluster==2 ,1,Poor6)]
+CBN[,Poor6:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_5 & cluster==3,1,Poor6)]
+c[,Poor6:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_5 & cluster==3 ,1,Poor6)]
+CBN[,Poor6:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_5 & cluster==4,1,Poor6)]
+c[,Poor6:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_5 & cluster==4 ,1,Poor6)]
+CBN[,Poor6:=ifelse(FoodExpenditure_Per_total < Food_Povertyline5_5 & cluster==5,1,Poor6)]
+c[,Poor6:=ifelse(FoodExpenditure_Per_total < Food_Povertyline5_5 & cluster==5 ,1,Poor6)]
+CBN[,weighted.mean(Poor6,Weight),by=cluster][order(cluster)]
+CBNPoor5[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6<-CBN[Poor6==1]
+
+#CalculatePer_calories in clusters
+CBNPoor6[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(191:206)][]
+#utils::View(CBNPoor6)
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor6[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(208:223)][]
+
+
+CBNPoor6[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor6[,Calory_Price:=FoodExpenditure_Per_cluster/(Daily_Calories_cluster2)]
+CBNPoor6[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor6[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6<-CBNPoor6[Per_Daily_Exp_Calories!=0]
+CBNPoor6[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor6[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+
+#sum of total food expenditures
+CBNPoor6[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor6[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor6[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor6[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+
+
+#Calculations
+CBNPoor6[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,weighted.mean(FoodExpenditure_Per_day,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+
+
+#Food Poverty Line for each cluster
+#cluster 1
+CBNPoorCluster<-CBNPoor6[cluster==1]
+Food_Povertyline1_6<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 2
+CBNPoorCluster<-CBNPoor6[cluster==2]
+Food_Povertyline2_6<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 3
+CBNPoorCluster<-CBNPoor6[cluster==3]
+Food_Povertyline3_6<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 4
+CBNPoorCluster<-CBNPoor6[cluster==4]
+Food_Povertyline4_6<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 5
+CBNPoorCluster<-CBNPoor[cluster==5]
+Food_Povertyline5_6<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#ee<-CBNPoor[,.(Total_Exp_Month_Real,Total_Exp_Month,Total_Food_Month_Per2,Total_Exp_Month_Per_nondurable,Total_Exp_Month_nondurable_Real_Per,FoodExpenditure_Per,cluster)]
+#mean(ee[,Total_Food_Month_Per2==Total_Exp_Month_nondurable_Real])
+#mean(ee[,Total_Food_Month_Per2<3500000])
+#ee<- ee[order(Total_Food_Month_Per2)]
+#utils::View(CBN)
+#for (col in c("Total_Food_Month_Per2")) CBN[is.na(get(col)), (col) := Total_Exp_Month_Per_nondurable]
+c<-CBN[,.(FoodExpenditure_Per,FoodExpenditure_Per_total,Total_Exp_Month_Per_nondurable,Total_Exp_Month,Total_Food_Month_Per2,Poor,Decile,Weight,cluster)]
+
+
+#########Iteration 7###############
+#Sort Expenditure data
+CBN<- CBN[order(Total_Food_Month_Per2)]
+c<- c[order(Total_Food_Month_Per2)]
+
+#Indicate new poors
+CBN[,Poor7:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_6 & cluster==1,1,0)]
+c[,Poor7:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_6 & cluster==1 ,1,0)]
+CBN[,Poor7:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_6 & cluster==2,1,Poor7)]
+c[,Poor7:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_6 & cluster==2 ,1,Poor7)]
+CBN[,Poor7:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_6 & cluster==3,1,Poor7)]
+c[,Poor7:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_6 & cluster==3 ,1,Poor7)]
+CBN[,Poor7:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_6 & cluster==4,1,Poor7)]
+c[,Poor7:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_6 & cluster==4 ,1,Poor7)]
+CBN[,Poor7:=ifelse(FoodExpenditure_Per_total < Food_Povertyline5_6 & cluster==5,1,Poor7)]
+c[,Poor7:=ifelse(FoodExpenditure_Per_total < Food_Povertyline5_6 & cluster==5 ,1,Poor7)]
+CBN[,weighted.mean(Poor7,Weight),by=cluster][order(cluster)]
+CBNPoor6[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7<-CBN[Poor7==1]
+
+#CalculatePer_calories in clusters
+CBNPoor7[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(191:206)][]
+#utils::View(CBNPoor7)
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor7[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(208:223)][]
+
+
+CBNPoor7[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor7[,Calory_Price:=FoodExpenditure_Per_cluster/(Daily_Calories_cluster2)]
+CBNPoor7[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor7[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7<-CBNPoor7[Per_Daily_Exp_Calories!=0]
+CBNPoor7[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor7[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+
+#sum of total food expenditures
+CBNPoor7[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor7[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor7[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor7[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+
+
+#Calculations
+CBNPoor7[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,weighted.mean(FoodExpenditure_Per_day,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+
+
+
+#Food Poverty Line for each cluster
+#cluster 1
+CBNPoorCluster<-CBNPoor7[cluster==1]
+Food_Povertyline1_7<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 2
+CBNPoorCluster<-CBNPoor7[cluster==2]
+Food_Povertyline2_7<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 3
+CBNPoorCluster<-CBNPoor7[cluster==3]
+Food_Povertyline3_7<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 4
+CBNPoorCluster<-CBNPoor7[cluster==4]
+Food_Povertyline4_7<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 5
+CBNPoorCluster<-CBNPoor[cluster==5]
+Food_Povertyline5_7<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#ee<-CBNPoor[,.(Total_Exp_Month_Real,Total_Exp_Month,Total_Food_Month_Per2,Total_Exp_Month_Per_nondurable,Total_Exp_Month_nondurable_Real_Per,FoodExpenditure_Per,cluster)]
+#mean(ee[,Total_Food_Month_Per2==Total_Exp_Month_nondurable_Real])
+#mean(ee[,Total_Food_Month_Per2<3500000])
+#ee<- ee[order(Total_Food_Month_Per2)]
+#utils::View(CBN)
+#for (col in c("Total_Food_Month_Per2")) CBN[is.na(get(col)), (col) := Total_Exp_Month_Per_nondurable]
+c<-CBN[,.(FoodExpenditure_Per,FoodExpenditure_Per_total,Total_Exp_Month_Per_nondurable,Total_Exp_Month,Total_Food_Month_Per2,Poor,Decile,Weight,cluster)]
+
+
+#########Iteration 8###############
+#Sort Expenditure data
+CBN<- CBN[order(Total_Food_Month_Per2)]
+c<- c[order(Total_Food_Month_Per2)]
+
+#Indicate new poors
+CBN[,Poor8:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_7 & cluster==1,1,0)]
+c[,Poor8:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_7 & cluster==1 ,1,0)]
+CBN[,Poor8:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_7 & cluster==2,1,Poor8)]
+c[,Poor8:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_7 & cluster==2 ,1,Poor8)]
+CBN[,Poor8:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_7 & cluster==3,1,Poor8)]
+c[,Poor8:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_7 & cluster==3 ,1,Poor8)]
+CBN[,Poor8:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_7 & cluster==4,1,Poor8)]
+c[,Poor8:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_7 & cluster==4 ,1,Poor8)]
+CBN[,Poor8:=ifelse(FoodExpenditure_Per_total < Food_Povertyline5_7 & cluster==5,1,Poor8)]
+c[,Poor8:=ifelse(FoodExpenditure_Per_total < Food_Povertyline5_7 & cluster==5 ,1,Poor8)]
+CBN[,weighted.mean(Poor8,Weight),by=cluster][order(cluster)]
+CBNPoor7[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8<-CBN[Poor8==1]
+
+
+#CalculatePer_calories in clusters
+CBNPoor8[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(191:206)][]
+#utils::View(CBNPoor8)
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor8[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(208:223)][]
+
+
+CBNPoor8[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor8[,Calory_Price:=FoodExpenditure_Per_cluster/(Daily_Calories_cluster2)]
+CBNPoor8[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor8[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8<-CBNPoor8[Per_Daily_Exp_Calories!=0]
+CBNPoor8[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor8[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+
+#sum of total food expenditures
+CBNPoor8[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor8[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor8[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor8[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+
+
+#Calculations
+CBNPoor8[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,weighted.mean(FoodExpenditure_Per_day,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+
+
+
+#Food Poverty Line for each cluster
+#cluster 1
+CBNPoorCluster<-CBNPoor8[cluster==1]
+Food_Povertyline1_8<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 2
+CBNPoorCluster<-CBNPoor8[cluster==2]
+Food_Povertyline2_8<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 3
+CBNPoorCluster<-CBNPoor8[cluster==3]
+Food_Povertyline3_8<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 4
+CBNPoorCluster<-CBNPoor8[cluster==4]
+Food_Povertyline4_8<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 5
+CBNPoorCluster<-CBNPoor[cluster==5]
+Food_Povertyline5_8<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#ee<-CBNPoor[,.(Total_Exp_Month_Real,Total_Exp_Month,Total_Food_Month_Per2,Total_Exp_Month_Per_nondurable,Total_Exp_Month_nondurable_Real_Per,FoodExpenditure_Per,cluster)]
+#mean(ee[,Total_Food_Month_Per2==Total_Exp_Month_nondurable_Real])
+#mean(ee[,Total_Food_Month_Per2<3500000])
+#ee<- ee[order(Total_Food_Month_Per2)]
+#utils::View(CBN)
+#for (col in c("Total_Food_Month_Per2")) CBN[is.na(get(col)), (col) := Total_Exp_Month_Per_nondurable]
+c<-CBN[,.(FoodExpenditure_Per,FoodExpenditure_Per_total,Total_Exp_Month_Per_nondurable,Total_Exp_Month,Total_Food_Month_Per2,Poor,Decile,Weight,cluster)]
+
+
+#########Iteration 9###############
+#Sort Expenditure data
+CBN<- CBN[order(Total_Food_Month_Per2)]
+c<- c[order(Total_Food_Month_Per2)]
+
+#Indicate new poors
+CBN[,Poor9:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_8 & cluster==1,1,0)]
+c[,Poor9:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_8 & cluster==1 ,1,0)]
+CBN[,Poor9:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_8 & cluster==2,1,Poor9)]
+c[,Poor9:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_8 & cluster==2 ,1,Poor9)]
+CBN[,Poor9:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_8 & cluster==3,1,Poor9)]
+c[,Poor9:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_8 & cluster==3 ,1,Poor9)]
+CBN[,Poor9:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_8 & cluster==4,1,Poor9)]
+c[,Poor9:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_8 & cluster==4 ,1,Poor9)]
+CBN[,Poor9:=ifelse(FoodExpenditure_Per_total < Food_Povertyline5_8 & cluster==5,1,Poor9)]
+c[,Poor9:=ifelse(FoodExpenditure_Per_total < Food_Povertyline5_8 & cluster==5 ,1,Poor9)]
+CBN[,weighted.mean(Poor9,Weight),by=cluster][order(cluster)]
+CBNPoor8[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9<-CBN[Poor9==1]
+
+
+#CalculatePer_calories in clusters
+CBNPoor9[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(191:206)][]
+#utils::View(CBNPoor9)
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor9[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(208:223)][]
+
+
+CBNPoor9[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor9[,Calory_Price:=FoodExpenditure_Per_cluster/(Daily_Calories_cluster2)]
+CBNPoor9[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor9[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9<-CBNPoor9[Per_Daily_Exp_Calories!=0]
+CBNPoor9[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor9[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+
+#sum of total food expenditures
+CBNPoor9[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor9[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor9[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor9[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+
+
+
+#Calculations
+CBNPoor9[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,weighted.mean(FoodExpenditure_Per_day,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+
+
+
+#Food Poverty Line for each cluster
+#cluster 1
+CBNPoorCluster<-CBNPoor9[cluster==1]
+Food_Povertyline1_9<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 2
+CBNPoorCluster<-CBNPoor9[cluster==2]
+Food_Povertyline2_9<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 3
+CBNPoorCluster<-CBNPoor9[cluster==3]
+Food_Povertyline3_9<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 4
+CBNPoorCluster<-CBNPoor9[cluster==4]
+Food_Povertyline4_9<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 5
+CBNPoorCluster<-CBNPoor[cluster==5]
+Food_Povertyline5_9<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#ee<-CBNPoor[,.(Total_Exp_Month_Real,Total_Exp_Month,Total_Food_Month_Per2,Total_Exp_Month_Per_nondurable,Total_Exp_Month_nondurable_Real_Per,FoodExpenditure_Per,cluster)]
+#mean(ee[,Total_Food_Month_Per2==Total_Exp_Month_nondurable_Real])
+#mean(ee[,Total_Food_Month_Per2<3500000])
+#ee<- ee[order(Total_Food_Month_Per2)]
+#utils::View(CBN)
+#for (col in c("Total_Food_Month_Per2")) CBN[is.na(get(col)), (col) := Total_Exp_Month_Per_nondurable]
+c<-CBN[,.(FoodExpenditure_Per,FoodExpenditure_Per_total,Total_Exp_Month_Per_nondurable,Total_Exp_Month,Total_Food_Month_Per2,Poor,Decile,Weight,cluster)]
+
+
+#########Iteration 10###############
+#Sort Expenditure data
+CBN<- CBN[order(Total_Food_Month_Per2)]
+c<- c[order(Total_Food_Month_Per2)]
+
+#Indicate new poors
+CBN[,Poor10:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_9 & cluster==1,1,0)]
+c[,Poor10:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_9 & cluster==1 ,1,0)]
+CBN[,Poor10:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_9 & cluster==2,1,Poor10)]
+c[,Poor10:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_9 & cluster==2 ,1,Poor10)]
+CBN[,Poor10:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_9 & cluster==3,1,Poor10)]
+c[,Poor10:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_9 & cluster==3 ,1,Poor10)]
+CBN[,Poor10:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_9 & cluster==4,1,Poor10)]
+c[,Poor10:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_9 & cluster==4 ,1,Poor10)]
+CBN[,Poor10:=ifelse(FoodExpenditure_Per_total < Food_Povertyline5_9 & cluster==5,1,Poor10)]
+c[,Poor10:=ifelse(FoodExpenditure_Per_total < Food_Povertyline5_9 & cluster==5 ,1,Poor10)]
+CBN[,weighted.mean(Poor10,Weight),by=cluster][order(cluster)]
+CBNPoor9[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor10<-CBN[Poor10==1]
+
+#Engel
+#CBNPoor9<-CBNPoor9[,ratio1:=FoodExpenditure/Total_Exp_Month]
+#CBNPoor9[,weighted.mean(ratio1,Weight),by=cluster]
+#summary(CBNPoor9$ratio1)
+CBN<-CBN[,ratio1:=FoodExpenditure/Total_Exp_Month]
+CBN[,weighted.mean(ratio1,Weight),by=ProvinceCode][order(ProvinceCode)]
+CBN<-CBN[,ratio2:=ServiceExp/Total_Exp_Month]
+CBN[,weighted.mean(ratio2,Weight),by=ProvinceCode][order(ProvinceCode)]
+
+# Poverty Line for each cluster
+#cluster 1
+CBNPoorCluster<-CBN[cluster==1 & FoodExpenditure_Per_total<1.1*Food_Povertyline1_9 & FoodExpenditure_Per_total>0.90*Food_Povertyline1_9]
+Engel1<-weighted.mean(CBNPoorCluster$ratio1,CBNPoorCluster$Weight)
+Engel_Reverse1<-1/Engel1
+Povertyline1_9<-Engel_Reverse1*Food_Povertyline1_9
+
+#cluster 2
+CBNPoorCluster<-CBN[cluster==2 & FoodExpenditure_Per_total<1.1*Food_Povertyline2_9 & FoodExpenditure_Per_total>0.90*Food_Povertyline2_9]
+Engel2<-weighted.mean(CBNPoorCluster$ratio1,CBNPoorCluster$Weight)
+Engel_Reverse2<-1/Engel2
+Povertyline2_9<-Engel_Reverse2*Food_Povertyline2_9
+
+#cluster 3
+CBNPoorCluster<-CBN[cluster==3 & FoodExpenditure_Per_total<1.1*Food_Povertyline3_9 & FoodExpenditure_Per_total>0.90*Food_Povertyline3_9]
+Engel3<-weighted.mean(CBNPoorCluster$ratio1,CBNPoorCluster$Weight)
+Engel_Reverse3<-1/Engel3
+Povertyline3_9<-Engel_Reverse3*Food_Povertyline3_9
+
+#cluster 4
+CBNPoorCluster<-CBN[cluster==4 & FoodExpenditure_Per_total<1.1*Food_Povertyline4_9 & FoodExpenditure_Per_total>0.90*Food_Povertyline4_9]
+Engel4<-weighted.mean(CBNPoorCluster$ratio1,CBNPoorCluster$Weight)
+Engel_Reverse4<-1/Engel4
+Povertyline4_9<-Engel_Reverse4*Food_Povertyline4_9
+
+#cluster 5
+CBNPoorCluster<-CBN[cluster==5 & FoodExpenditure_Per_total<1.1*Food_Povertyline5_9 & FoodExpenditure_Per_total>0.90*Food_Povertyline5_9]
+Engel5<-weighted.mean(CBNPoorCluster$ratio1,CBNPoorCluster$Weight)
+Engel_Reverse5<-1/Engel5
+Povertyline5_9<-Engel_Reverse5*Food_Povertyline5_9
+
+#Indicate final poors
+CBN<-CBN[,Total_Exp_Month_Per2:=Total_Exp_Month_Per_nondurable*RealPriceIndex]
+
+CBN[,Poor11:=ifelse(Total_Exp_Month_Per_nondurable < Povertyline1_9 & cluster==1,1,0)]
+CBN[,Poor11:=ifelse(Total_Exp_Month_Per_nondurable < Povertyline2_9 & cluster==2,1,Poor11)]
+CBN[,Poor11:=ifelse(Total_Exp_Month_Per_nondurable < Povertyline3_9 & cluster==3,1,Poor11)]
+CBN[,Poor11:=ifelse(Total_Exp_Month_Per_nondurable < Povertyline4_9 & cluster==4,1,Poor11)]
+CBN[,Poor11:=ifelse(Total_Exp_Month_Per_nondurable < Povertyline5_9 & cluster==5,1,Poor11)]
+CBN[,weighted.mean(Poor11,Weight),by=cluster][order(cluster)]
+CBNPoor9[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor11<-CBN[Poor11==1]
+
+CBN[,sum(Size*Weight),by=cluster][order(cluster)]
+CBNPoor9[,sum(Size*Weight),by=cluster][order(cluster)]
+CBNPoor9[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBN[,weighted.mean(Poor11,Weight)]
+CBN[,weighted.mean(Poor11,Weight),by=cluster][order(cluster)]
+CBN[,weighted.mean(Poor11,Weight),by=ProvinceCode][order(ProvinceCode)]
+endtime <- proc.time()
+
+cat("\n\n============================\nIt took ")
+cat(endtime-starttime)
+
diff --git a/R/Archive/Other Codes/60-CBN93-Urban.R b/R/Archive/Other Codes/60-CBN93-Urban.R
new file mode 100644
index 00000000..3d99b30c
--- /dev/null
+++ b/R/Archive/Other Codes/60-CBN93-Urban.R
@@ -0,0 +1,2878 @@
+#CBN Method-Urban.R
+#
+# Copyright © 2018:Arin Shahbazian
+# Licence: GPL-3
+#
+rm(list=ls())
+
+starttime <- proc.time()
+cat("\n\n================ Prepare Data =====================================\n")
+
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+library(readxl)
+library(stringr)
+library(data.table)
+
+#for(year in (Settings$startyear:Settings$endyear)){
+# cat(paste0("\n------------------------------\nYear:",year,"\n"))
+
+load(file=paste0(Settings$HEISProcessedPath,"Y","93","HHBase.rda"))
+HHBase[,IndivNo:=NULL]
+HHBase[,Relationship:=NULL]
+HHBase[,Sex:=NULL]
+HHBase[,Age:=NULL]
+HHBase[,Literate:=NULL]
+HHBase[,Student:=NULL]
+HHBase[,EduCode:=NULL]
+HHBase[,EduYears:=NULL]
+HHBase[,EduLevel:=NULL]
+HHBase[,EduLevel0:=NULL]
+HHBase[,ActivityState:=NULL]
+HHBase[,MarritalState:=NULL]
+load(file=paste0(Settings$HEISProcessedPath,"Y","93","Ghand_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","93","Hoboobat_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","93","Roghan_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","93","Berenj_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","93","Nan_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","93","Goosht_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","93","Morgh_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","93","Mahi_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","93","Shir_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","93","Mast_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","93","Panir_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","93","Tokhmemorgh_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","93","Mive_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","93","Sabzi_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","93","Makarooni_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","93","Sibzamini_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","93","Weights.rda"))
+
+Ghand_Data<-Ghand_Data[,.(HHID,Ghandgram,GhandPrice)]
+Hoboobat_Data<-Hoboobat_Data[,.(HHID,Hoboobatgram,HoboobatPrice)]
+Roghan_Data<-Roghan_Data[,.(HHID,Roghangram,RoghanPrice)]
+Berenj_Data<-Berenj_Data[,.(HHID,Berenjgram,BerenjPrice)]
+Nan_Data<-Nan_Data[,.(HHID,Nangram,NanPrice)]
+Goosht_Data<-Goosht_Data[,.(HHID,Gooshtgram,GooshtPrice)]
+Morgh_Data<-Morgh_Data[,.(HHID,Morghgram,MorghPrice)]
+Mahi_Data<-Mahi_Data[,.(HHID,Mahigram,MahiPrice)]
+Shir_Data<-Shir_Data[,.(HHID,Shirgram,ShirPrice)]
+Mast_Data<-Mast_Data[,.(HHID,Mastgram,MastPrice)]
+Panir_Data<-Panir_Data[,.(HHID,Panirgram,PanirPrice)]
+Tokhmemorgh_Data<-Tokhmemorgh_Data[,.(HHID,Tokhmemorghgram,TokhmemorghPrice)]
+Mive_Data<-Mive_Data[,.(HHID,Mivegram,MivePrice)]
+Sabzi_Data<-Sabzi_Data[,.(HHID,Sabzigram,SabziPrice)]
+Makarooni_Data<-Makarooni_Data[,.(HHID,Makaroonigram,MakarooniPrice)]
+Sibzamini_Data<-Sibzamini_Data[,.(HHID,Sibzaminigram,SibzaminiPrice)]
+
+Food<-merge(HHBase,Ghand_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Ghandgram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Hoboobat_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Hoboobatgram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Roghan_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Roghangram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Berenj_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Berenjgram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Nan_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Nangram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Goosht_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Gooshtgram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Morgh_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Morghgram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Mahi_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Mahigram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Shir_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Shirgram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Mast_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Mastgram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Panir_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Panirgram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Tokhmemorgh_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Tokhmemorghgram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Mive_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Mivegram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Sabzi_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Sabzigram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Makarooni_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Makaroonigram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Sibzamini_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Sibzaminigram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Weights,by =c("HHID"),all.x=TRUE)
+
+
+
+#load Expenditure groups
+load(file=paste0(Settings$HEISProcessedPath,"Y","93","HHBase.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","93","HHI.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","93","Foods.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","93","Cigars.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","93","Cloths.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","93","Amusements.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","93","Communications.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","93","Durables.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","93","Education.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","93","Energy.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","93","Furnitures.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","93","Hotels.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","93","House.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","93","Medicals.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","93","Behdashts.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","93","Transportations.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","93","Others.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","93","Investments.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","93","Resturants.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","93","Weights.rda"))
+
+#merge Expenditure groups
+CBN<-merge(Food,HHI ,by =c("HHID"),all=TRUE)
+CBN<-merge(CBN,FoodData,by =c("HHID"),all=TRUE)
+for (col in c("FoodExpenditure")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,CigarData,by =c("HHID"),all=TRUE)
+for (col in c("Cigar_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,ClothData,by =c("HHID"),all=TRUE)
+for (col in c("Cloth_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,AmusementData,by =c("HHID"),all=TRUE)
+for (col in c("Amusement_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,CommunicationData,by =c("HHID"),all=TRUE)
+for (col in c("Communication_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,EducData,by =c("HHID"),all=TRUE)
+for (col in c("EducExpenditure")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,EnergyData,by =c("HHID"),all=TRUE)
+for (col in c("Energy_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,FurnitureData,by =c("HHID"),all=TRUE)
+for (col in c("Furniture_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,HotelData,by =c("HHID"),all=TRUE)
+for (col in c("Hotel_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,BehdashtData,by =c("HHID"),all=TRUE)
+for (col in c("Behdasht_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,TransportationData,by =c("HHID"),all=TRUE)
+for (col in c("Transportation_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,OtherData,by =c("HHID"),all=TRUE)
+for (col in c("Other_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,HouseData,by =c("HHID"),all=TRUE)
+for (col in c("ServiceExp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,InvestmentData,by =c("HHID"),all=TRUE)
+for (col in c("Investment_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,MedicalData,by =c("HHID"),all=TRUE)
+for (col in c("Medical_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,DurableData,by =c("HHID"),all=TRUE)
+for (col in c("Durable_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,ResturantData,by =c("HHID"),all=TRUE)
+for (col in c("Resturant_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-CBN[Size!=0]
+CBN<-CBN[Region=="Urban"]
+CBN<-CBN[FoodExpenditure!=0]
+
+
+#Calculate Per_Total Expenditures Monthly
+CBN[, Total_Exp_Month := Reduce(`+`, .SD), .SDcols=c(65:77,82:83)][]
+CBN[, Total_Exp_Month_nondurable := Reduce(`+`, .SD), .SDcols=65:77][]
+
+CBN$Total_Exp_Month_Per<-CBN$Total_Exp_Month/CBN$EqSizeOECD
+CBN$Total_Exp_Month_Per_nondurable<-CBN$Total_Exp_Month_nondurable/CBN$EqSizeOECD
+
+#Calculate Per_Food Expenditures Monthly
+CBN[,EqSizeCalory :=(Size-NKids) + NKids*(1800/2100)]
+CBN$FoodExpenditure_Per<-CBN$FoodExpenditure/CBN$EqSizeCalory
+
+#Calculate Per_Food Expenditures Daily
+CBN$FoodExpenditure_Per_day<-CBN$FoodExpenditure_Per/30
+
+CBN$Ghandgram_Per_day<-CBN$Ghandgram/(30*CBN$EqSizeOECD)
+CBN$Hoboobatgram_Per_day<-CBN$Hoboobatgram/(30*CBN$EqSizeOECD)
+CBN$Berenjgram_Per_day<-CBN$Berenjgram/(30*CBN$EqSizeOECD)
+CBN$Nangram_Per_day<-CBN$Nangram/(30*CBN$EqSizeOECD)
+CBN$Roghangram_Per_day<-CBN$Roghangram/(30*CBN$EqSizeOECD)
+CBN$Gooshtgram_Per_day<-CBN$Gooshtgram/(30*CBN$EqSizeOECD)
+CBN$Morghgram_Per_day<-CBN$Morghgram/(30*CBN$EqSizeOECD)
+CBN$Mahigram_Per_day<-CBN$Mahigram/(30*CBN$EqSizeOECD)
+CBN$Shirgram_Per_day<-CBN$Shirgram/(30*CBN$EqSizeOECD)
+CBN$Mastgram_Per_day<-CBN$Mastgram/(30*CBN$EqSizeOECD)
+CBN$Panirgram_Per_day<-CBN$Panirgram/(30*CBN$EqSizeOECD)
+CBN$Tokhmemorghgram_Per_day<-CBN$Tokhmemorghgram/(30*CBN$EqSizeOECD)
+CBN$Mivegram_Per_day<-CBN$Mivegram/(30*CBN$EqSizeOECD)
+CBN$Sabzigram_Per_day<-CBN$Sabzigram/(30*CBN$EqSizeOECD)
+CBN$Makaroonigram_Per_day<-CBN$Makaroonigram/(30*CBN$EqSizeOECD)
+CBN$Sibzaminigram_Per_day<-CBN$Sibzaminigram/(30*CBN$EqSizeOECD)
+CBN[,EqSizeCalory:=NULL]
+
+load(file="PriceIndex95.rda")
+CBN<-merge(CBN,PriceIndex95,by=c("ProvinceCode"),all.x = TRUE)
+CBN[,ostan:=NULL]
+load(file="PriceIndex.rda")
+CBN<-merge(CBN,PriceIndex,by=c("ProvinceCode"),all.x = TRUE)
+
+#Sort Expenditure data
+CBN<- CBN[order(Total_Exp_Month_Per_nondurable)]
+
+#Calculate cumulative weights
+sum(CBN$Weight)
+CBN$cumweight <- cumsum(CBN$Weight)
+tx <- max(CBN$cumweight)
+
+#Calculate deciles by weights
+CBN[,Decile:=cut(cumweight,breaks = seq(0,tx,tx/10),labels = 1:10)]
+CBN[,Percentile:=cut(cumweight,breaks=seq(0,tx,tx/100),labels=1:100)]
+
+
+CBN$Ghand_W<-CBN$Ghandgram_Per_day*CBN$GhandPrice*0.001*30
+CBN$Hoboobat_W<-CBN$Hoboobatgram_Per_day*CBN$HoboobatPrice*0.001*30
+CBN$Roghan_W<-CBN$Roghangram_Per_day*CBN$RoghanPrice*0.001*30
+CBN$Berenj_W<-CBN$Berenjgram_Per_day*CBN$BerenjPrice*0.001*30
+CBN$Nan_W<-CBN$Nangram_Per_day*CBN$NanPrice*0.001*30
+CBN$Goosht_W<-CBN$Gooshtgram_Per_day*CBN$GooshtPrice*0.001*30
+CBN$Morgh_W<-CBN$Morghgram_Per_day*CBN$MorghPrice*0.001*30
+CBN$Mahi_W<-CBN$Mahigram_Per_day*CBN$MahiPrice*0.001*30
+CBN$Shir_W<-CBN$Shirgram_Per_day*CBN$ShirPrice*0.001*30
+CBN$Mast_W<-CBN$Mastgram_Per_day*CBN$MastPrice*0.001*30
+CBN$Panir_W<-CBN$Panirgram_Per_day*CBN$PanirPrice*0.001*30
+CBN$Tokhmemorgh_W<-CBN$Tokhmemorghgram_Per_day*CBN$TokhmemorghPrice*0.001*30
+CBN$Mive_W<-CBN$Mivegram_Per_day*CBN$MivePrice*0.001*30
+CBN$Sabzi_W<-CBN$Sabzigram_Per_day*CBN$SabziPrice*0.001*30
+CBN$Makarooni_W<-CBN$Makaroonigram_Per_day*CBN$MakarooniPrice*0.001*30
+CBN$Sibzamini_W<-CBN$Sibzaminigram_Per_day*CBN$SibzaminiPrice*0.001*30
+CBN$Home_W<-CBN$ServiceExp/CBN$EqSizeOECD
+CBN$Home_Per_Metr<-CBN$MetrPrice/CBN$EqSizeOECD
+
+#Seperate big cities
+CBN[,sum(Weight*Size),by=ProvinceCode][order(V1)]
+CBN[,HHIDs:=as.character(HHID)]
+CBN[,ShahrestanCode:=as.integer(str_sub(HHIDs,2,5))]
+CBN[,sum(Weight*Size),by=ShahrestanCode][order(V1)][330:387]
+CBNTehran<-CBN[ProvinceCode==23]
+CBNTehran[,sum(Weight*Size),by=ShahrestanCode]
+CBNTabriz<-CBN[ProvinceCode==3]
+CBNTabriz[,sum(Weight*Size),by=ShahrestanCode]
+CBNAhvaz<-CBN[ProvinceCode==6]
+CBNAhvaz[,sum(Weight*Size),by=ShahrestanCode]
+CBNShiraz<-CBN[ProvinceCode==7]
+CBNShiraz[,sum(Weight*Size),by=ShahrestanCode]
+CBNMashhad<-CBN[ProvinceCode==9]
+CBNMashhad[,sum(Weight*Size),by=ShahrestanCode]
+CBNEsfahan<-CBN[ProvinceCode==10]
+CBNEsfahan[,sum(Weight*Size),by=ShahrestanCode]
+CBNKaraj<-CBN[ProvinceCode==30]
+CBNKaraj[,sum(Weight*Size),by=ShahrestanCode]
+CBNKermanshah<-CBN[ProvinceCode==5]
+CBNKermanshah[,sum(Weight*Size),by=ShahrestanCode]
+
+
+CBN<-CBN[ShahrestanCode==2301,ProvinceCode:=as.numeric(ShahrestanCode)]
+CBN<-CBN[ShahrestanCode==303,ProvinceCode:=as.numeric(ShahrestanCode)]
+CBN<-CBN[ShahrestanCode==603,ProvinceCode:=as.numeric(ShahrestanCode)]
+CBN<-CBN[ShahrestanCode==707,ProvinceCode:=as.numeric(ShahrestanCode)]
+CBN<-CBN[ShahrestanCode==916,ProvinceCode:=as.numeric(ShahrestanCode)]
+CBN<-CBN[ShahrestanCode==1002,ProvinceCode:=as.numeric(ShahrestanCode)]
+CBN<-CBN[ShahrestanCode==3001,ProvinceCode:=as.numeric(ShahrestanCode)]
+CBN<-CBN[ShahrestanCode==2301,ProvinceCode:=as.numeric(ShahrestanCode)]
+CBN<-CBN[ShahrestanCode==502,ProvinceCode:=as.numeric(ShahrestanCode)]
+
+# Food Calories
+CBN$Ghand_Calory<- CBN$Ghandgram *4
+CBN$Hoboobat_Calory<- CBN$Hoboobatgram *3
+CBN$Nan_Calory<- CBN$Nangram *2.5
+CBN$Berenj_Calory<- CBN$Berenjgram *1.2
+CBN$Roghan_Calory<- CBN$Roghangram *8
+CBN$Goosht_Calory<- CBN$Gooshtgram *2.5
+CBN$Morgh_Calory<- CBN$Morghgram *2
+CBN$Mahi_Calory<- CBN$Mahigram *1
+CBN$Shir_Calory<- CBN$Shirgram *2.5
+CBN$Mast_Calory<- CBN$Mastgram *1.5
+CBN$Panir_Calory<- CBN$Mastgram *2.5
+CBN$Tokhmemorgh_Calory<- CBN$Tokhmemorghgram *1.4
+CBN$Mive_Calory<- CBN$Mivegram *0.5
+CBN$Sabzi_Calory<- CBN$Sabzigram *0.5
+CBN$Makarooni_Calory<- CBN$Makaroonigram *3.6
+CBN$Sibzamini_Calory<- CBN$Sibzaminigram *0.9
+#utils::View(CBN)
+
+#CalculatePer_calories
+CBN[, Daily_Exp_Calories := Reduce(`+`, .SD), .SDcols=148:163][]
+CBN[,EqSizeCalory :=(Size-NKids) + NKids*(1800/2100)]
+CBN[,Per_Daily_Exp_Calories:=Daily_Exp_Calories/EqSizeCalory]
+CBN <- CBN[Per_Daily_Exp_Calories<100000] # arbitrary removal of outliers
+#CBN[,Daily_Calories_cluster:=weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+#CBN[,weighted.mean(Daily_Calories_cluster,Weight,na.rm = TRUE),by=cluster]
+#CBN[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+#CBN[,weighted.mean(Size,Weight,na.rm = TRUE),by=cluster]
+#CBN[,sum(Weight*Size),by=cluster]
+#CBN[,sum(Weight),by=cluster]
+#CBN[,sum(Poor),by=cluster]
+
+
+#Calculate_Per_calories
+CBN$Ghand_per_Calory<- CBN$Ghandgram *4/CBN$EqSizeCalory
+CBN$Hoboobat_per_Calory<- CBN$Hoboobatgram *3/CBN$EqSizeCalory
+CBN$Nan_per_Calory<- CBN$Nangram *2.5/CBN$EqSizeCalory
+CBN$Berenj_per_Calory<- CBN$Berenjgram *1.2/CBN$EqSizeCalory
+CBN$Roghan_per_Calory<- CBN$Roghangram *8/CBN$EqSizeCalory
+CBN$Goosht_per_Calory<- CBN$Gooshtgram *2.5/CBN$EqSizeCalory
+CBN$Morgh_per_Calory<- CBN$Morghgram *2/CBN$EqSizeCalory
+CBN$Mahi_per_Calory<- CBN$Mahigram *1/CBN$EqSizeCalory
+CBN$Shir_per_Calory<- CBN$Shirgram *2.5/CBN$EqSizeCalory
+CBN$Mast_per_Calory<- CBN$Mastgram *1.5/CBN$EqSizeCalory
+CBN$Panir_per_Calory<- CBN$Mastgram *2.5/CBN$EqSizeCalory
+CBN$Tokhmemorgh_per_Calory<- CBN$Tokhmemorghgram *1.4/CBN$EqSizeCalory
+CBN$Mive_per_Calory<- CBN$Mivegram *0.5/CBN$EqSizeCalory
+CBN$Sabzi_per_Calory<- CBN$Sabzigram *0.5/CBN$EqSizeCalory
+CBN$Makarooni_per_Calory<- CBN$Makaroonigram *3.6/CBN$EqSizeCalory
+CBN$Sibzamini_per_Calory<- CBN$Sibzaminigram *0.9/CBN$EqSizeCalory
+
+
+#Assume that deciles 1 and 2 are poor
+CBN[,Poor:=ifelse(Decile %in% 2:3,1,0)]
+CBNPoor<-CBN[Poor==1]
+
+#K-means weights
+PriceWeights<-CBN[,.(HHID,Ghand_W,Hoboobat_W,Roghan_W,Berenj_W,Nan_W,Goosht_W,Morgh_W,Mahi_W,Shir_W,Mast_W,Panir_W,Tokhmemorgh_W,Mive_W,Sabzi_W,Makarooni_W,Sibzamini_W,Home_W,ProvinceCode,Weight)]
+dt3 <- PriceWeights[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+dt3<- dt3[order(ProvinceCode)]
+dt3 <- dt3[,.(Ghand_W,Hoboobat_W,Roghan_W,Berenj_W,Nan_W,Goosht_W,Morgh_W,Mahi_W,Shir_W,Mast_W,Panir_W,Tokhmemorgh_W,Mive_W,Sabzi_W,Makarooni_W,Sibzamini_W,Home_W)]
+
+
+#K-means algorithm for clustering by prices
+test<-CBNPoor[,.(GhandPrice,HoboobatPrice,RoghanPrice,BerenjPrice,NanPrice,GooshtPrice,MorghPrice,MahiPrice,ShirPrice,MastPrice,PanirPrice,TokhmemorghPrice,MivePrice,SabziPrice,MakarooniPrice,SibzaminiPrice,MetrPrice,ProvinceCode,Weight)]
+#test<-CBNPoor[,.(GhandPrice,HoboobatPrice,RoghanPrice,BerenjPrice,NanPrice,GooshtPrice,MorghPrice,MahiPrice,ShirPrice,MastPrice,PanirPrice,TokhmemorghPrice,MivePrice,SabziPrice,MakarooniPrice,SibzaminiPrice,MetrPrice,Ghand_W,Hoboobat_W,Roghan_W,Berenj_W,Nan_W,Goosht_W,Morgh_W,Mahi_W,Shir_W,Mast_W,Panir_W,Tokhmemorgh_W,Mive_W,Sabzi_W,Makarooni_W,Sibzamini_W,Home_W,Region,ProvinceCode,Weight)]
+dt2 <- test[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+dt2<- dt2[order(ProvinceCode)]
+for (col in c("BerenjPrice")) dt2[is.nan(get(col)), (col) := 50000]
+dt <- dt2 [,.(GhandPrice,HoboobatPrice,RoghanPrice,BerenjPrice,NanPrice,GooshtPrice,MorghPrice,MahiPrice,ShirPrice,MastPrice,PanirPrice,TokhmemorghPrice,MivePrice,SabziPrice,MakarooniPrice,SibzaminiPrice,MetrPrice)]
+
+
+pca <- princomp(dt, cor=T)
+PRICE <- pca$scores
+PRICE1 <- -1*PRICE[,1]
+PRICE2 <- -1*PRICE[,2]
+PRICE3 <- -1*PRICE[,3]
+PRICE4 <- -1*PRICE[,4]
+PRICE5 <- -1*PRICE[,5]
+PRICE6 <- -1*PRICE[,6]
+PRICE7 <- -1*PRICE[,7]
+PRICE8 <- -1*PRICE[,8]
+PRICE9 <- -1*PRICE[,9]
+PRICE10 <- -1*PRICE[,10]
+PRICE11 <- -1*PRICE[,11]
+PRICE12 <- -1*PRICE[,12]
+PRICE13 <- -1*PRICE[,13]
+PRICE14 <- -1*PRICE[,14]
+PRICE15 <- -1*PRICE[,15]
+PRICE16 <- -1*PRICE[,16]
+PRICE17 <- -1*PRICE[,17]
+
+# Deciding how many clusters
+wss <- (nrow(dt)-1)*sum(apply(dt,2,var))
+for (i in 2:30) wss[i] <- sum(kmeans(dt, centers=i)$withinss)
+plot(1:30, wss, type="b", xlab="Number of Clusters",
+ ylab="Within groups sum of squares")
+
+#Weighted clustering
+
+dt3.m <- dt3[,lapply(.SD, mean)] # Weights for each vector
+dtW <- dt * sqrt(dt3.m[rep(1,nrow(dt))]) # Weighted observations
+kmeans(dtW,4) # Simple K-means
+
+cl <- kmeans(dtW,4)
+cl$cluster
+dt2 <- dt2[,cluster:=data.table(cl$cluster)]
+dt2<-dt2[,.(ProvinceCode,cluster)]
+load(file="dt4Urban.rda")
+#plot(PRICE1, PRICE2,col=cl$cluster)
+#points(cl$centers, pch=20)
+CBNPoor<-merge(CBNPoor,dt2,by=c("ProvinceCode"),all.x = TRUE)
+CBNPoor[,sum(Weight*Size),by=cluster]
+CBNPoor[,sum(Weight),by=cluster]
+CBNPoor[,sum(Poor),by=cluster]
+C2<-CBNPoor[,.(HHID,ProvinceCode,Region,Decile,Poor,cluster)]
+######################################################################
+####Iteration 1#####
+###Iteration1-1
+#Calculate Per_calories in clusters
+CBNPoor[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(185:200)][]
+#utils::View(CBNPoor)
+
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(202:217)][]
+
+CBNPoor[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor<-CBNPoor[Per_Daily_Exp_Calories!=0]
+CBNPoor[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+#CBN[,weighted.mean(Poor,Weight),by=cluster][order(cluster)]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE)]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE)]
+
+#Real Prices
+T_Bundle_Value<-subset(CBNPoor, ProvinceCode==2301, select=c(Bundle_Value,Home_Per_Metr,Weight))
+Tehran_Bundle_Value1<-weighted.mean(T_Bundle_Value$Bundle_Value,T_Bundle_Value$Weight,na.rm = TRUE)
+Tehran_Bundle_Value2<-weighted.mean(T_Bundle_Value$Home_Per_Metr,T_Bundle_Value$Weight,na.rm = TRUE)
+CBNPoor[,RealPriceIndex1:=weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/Tehran_Bundle_Value1,by=ProvinceCode]
+CBNPoor[,RealPriceIndex2:=weighted.mean(Home_Per_Metr,Weight,na.rm = TRUE)/Tehran_Bundle_Value2,by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex1,Weight),by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex2,Weight),by=ProvinceCode]
+Indexes2<-CBNPoor[,.(RealPriceIndex1,RealPriceIndex2,ProvinceCode,Weight)]
+Indexes2<-Indexes2[,RealPriceIndex:=(RealPriceIndex1+RealPriceIndex2)/2]
+Indexes<-Indexes2[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+Indexes31<-Indexes[,.(ProvinceCode,RealPriceIndex1,RealPriceIndex2,RealPriceIndex)]
+Indexes<-Indexes[,.(ProvinceCode,RealPriceIndex)]
+CBN<-merge(CBN,Indexes,by=c("ProvinceCode"),all.x = TRUE)
+CBN<-CBN[,Total_Food_Month_Per2:=FoodExpenditure_Per*RealPriceIndex]
+CBN<-CBN[,Total_Exp_Month_Per2:=Total_Exp_Month_Per_nondurable*RealPriceIndex]
+#utils::View(CBN)
+
+#Sort Expenditure data
+CBN<- CBN[order(Total_Exp_Month_Per2)]
+
+#Calculate cumulative weights
+sum(CBN$Weight)
+CBN$cumweight <- cumsum(CBN$Weight)
+tx <- max(CBN$cumweight)
+
+#Calculate deciles by weights
+CBN[,Decile:=cut(cumweight,breaks = seq(0,tx,tx/10),labels = 1:10)]
+CBN[,Percentile:=cut(cumweight,breaks=seq(0,tx,tx/100),labels=1:100)]
+
+#Update Poors
+CBN[,Poor:=ifelse(Decile %in% 2:3,1,0)]
+CBNPoor<-CBN[Poor==1]
+CBNPoor<-merge(CBNPoor,dt2,by=c("ProvinceCode"),all.x = TRUE)
+CBNPoor[,sum(HIndivNo),by=.(ProvinceCode)][order(ProvinceCode)]
+
+###Iteration1-2
+#Calculate Per_calories in clusters
+CBNPoor[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(185:200)][]
+#utils::View(CBNPoor)
+
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(202:217)][]
+
+CBNPoor[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor<-CBNPoor[Per_Daily_Exp_Calories!=0]
+CBNPoor[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+#CBN[,weighted.mean(Poor,Weight),by=cluster][order(cluster)]
+
+#Real Prices
+T_Bundle_Value<-subset(CBNPoor, ProvinceCode==2301, select=c(Bundle_Value,Home_Per_Metr,Weight))
+Tehran_Bundle_Value1<-weighted.mean(T_Bundle_Value$Bundle_Value,T_Bundle_Value$Weight,na.rm = TRUE)
+Tehran_Bundle_Value2<-weighted.mean(T_Bundle_Value$Home_Per_Metr,T_Bundle_Value$Weight,na.rm = TRUE)
+CBNPoor[,RealPriceIndex1:=weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/Tehran_Bundle_Value1,by=ProvinceCode]
+CBNPoor[,RealPriceIndex2:=weighted.mean(Home_Per_Metr,Weight,na.rm = TRUE)/Tehran_Bundle_Value2,by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex1,Weight),by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex2,Weight),by=ProvinceCode]
+Indexes2<-CBNPoor[,.(RealPriceIndex1,RealPriceIndex2,ProvinceCode,Weight)]
+Indexes2<-Indexes2[,RealPriceIndex:=(RealPriceIndex1+RealPriceIndex2)/2]
+Indexes<-Indexes2[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+Indexes32<-Indexes[,.(ProvinceCode,RealPriceIndex1,RealPriceIndex2,RealPriceIndex)]
+Indexes<-Indexes[,.(ProvinceCode,RealPriceIndex)]
+CBN[,RealPriceIndex:=NULL]
+CBN<-merge(CBN,Indexes,by=c("ProvinceCode"),all.x = TRUE)
+CBN<-CBN[,Total_Food_Month_Per2:=FoodExpenditure_Per*RealPriceIndex]
+CBN<-CBN[,Total_Exp_Month_Per2:=Total_Exp_Month_Per_nondurable*RealPriceIndex]
+#utils::View(CBN)
+
+#Sort Expenditure data
+CBN<- CBN[order(Total_Exp_Month_Per2)]
+
+#Calculate cumulative weights
+sum(CBN$Weight)
+CBN$cumweight <- cumsum(CBN$Weight)
+tx <- max(CBN$cumweight)
+
+#Calculate deciles by weights
+CBN[,Decile:=cut(cumweight,breaks = seq(0,tx,tx/10),labels = 1:10)]
+CBN[,Percentile:=cut(cumweight,breaks=seq(0,tx,tx/100),labels=1:100)]
+
+#Update Poors
+CBN[,Poor:=ifelse(Decile %in% 2:3,1,0)]
+CBNPoor<-CBN[Poor==1]
+CBNPoor<-merge(CBNPoor,dt2,by=c("ProvinceCode"),all.x = TRUE)
+CBNPoor[,sum(HIndivNo),by=.(ProvinceCode)][order(ProvinceCode)]
+
+###Iteration1-3
+#Calculate Per_calories in clusters
+CBNPoor[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(185:200)][]
+#utils::View(CBNPoor)
+
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(202:217)][]
+
+CBNPoor[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor<-CBNPoor[Per_Daily_Exp_Calories!=0]
+CBNPoor[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+#CBN[,weighted.mean(Poor,Weight),by=cluster][order(cluster)]
+
+#Real Prices
+T_Bundle_Value<-subset(CBNPoor, ProvinceCode==2301, select=c(Bundle_Value,Home_Per_Metr,Weight))
+Tehran_Bundle_Value1<-weighted.mean(T_Bundle_Value$Bundle_Value,T_Bundle_Value$Weight,na.rm = TRUE)
+Tehran_Bundle_Value2<-weighted.mean(T_Bundle_Value$Home_Per_Metr,T_Bundle_Value$Weight,na.rm = TRUE)
+CBNPoor[,RealPriceIndex1:=weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/Tehran_Bundle_Value1,by=ProvinceCode]
+CBNPoor[,RealPriceIndex2:=weighted.mean(Home_Per_Metr,Weight,na.rm = TRUE)/Tehran_Bundle_Value2,by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex1,Weight),by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex2,Weight),by=ProvinceCode]
+Indexes2<-CBNPoor[,.(RealPriceIndex1,RealPriceIndex2,ProvinceCode,Weight)]
+Indexes2<-Indexes2[,RealPriceIndex:=(RealPriceIndex1+RealPriceIndex2)/2]
+Indexes<-Indexes2[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+Indexes33<-Indexes[,.(ProvinceCode,RealPriceIndex1,RealPriceIndex2,RealPriceIndex)]
+Indexes<-Indexes[,.(ProvinceCode,RealPriceIndex)]
+CBN[,RealPriceIndex:=NULL]
+CBN<-merge(CBN,Indexes,by=c("ProvinceCode"),all.x = TRUE)
+CBN<-CBN[,Total_Food_Month_Per2:=FoodExpenditure_Per*RealPriceIndex]
+CBN<-CBN[,Total_Exp_Month_Per2:=Total_Exp_Month_Per_nondurable*RealPriceIndex]
+#utils::View(CBN)
+
+#Sort Expenditure data
+CBN<- CBN[order(Total_Exp_Month_Per2)]
+
+#Calculate cumulative weights
+sum(CBN$Weight)
+CBN$cumweight <- cumsum(CBN$Weight)
+tx <- max(CBN$cumweight)
+
+#Calculate deciles by weights
+CBN[,Decile:=cut(cumweight,breaks = seq(0,tx,tx/10),labels = 1:10)]
+CBN[,Percentile:=cut(cumweight,breaks=seq(0,tx,tx/100),labels=1:100)]
+
+#Update Poors
+CBN[,Poor:=ifelse(Decile %in% 2:3,1,0)]
+CBNPoor<-CBN[Poor==1]
+CBNPoor<-merge(CBNPoor,dt2,by=c("ProvinceCode"),all.x = TRUE)
+CBNPoor[,sum(HIndivNo),by=.(ProvinceCode)][order(ProvinceCode)]
+
+
+###Iteration1-4
+#Calculate Per_calories in clusters
+CBNPoor[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(185:200)][]
+#utils::View(CBNPoor)
+
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(202:217)][]
+
+CBNPoor[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor<-CBNPoor[Per_Daily_Exp_Calories!=0]
+CBNPoor[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+#CBN[,weighted.mean(Poor,Weight),by=cluster][order(cluster)]
+
+#Real Prices
+T_Bundle_Value<-subset(CBNPoor, ProvinceCode==2301, select=c(Bundle_Value,Home_Per_Metr,Weight))
+Tehran_Bundle_Value1<-weighted.mean(T_Bundle_Value$Bundle_Value,T_Bundle_Value$Weight,na.rm = TRUE)
+Tehran_Bundle_Value2<-weighted.mean(T_Bundle_Value$Home_Per_Metr,T_Bundle_Value$Weight,na.rm = TRUE)
+CBNPoor[,RealPriceIndex1:=weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/Tehran_Bundle_Value1,by=ProvinceCode]
+CBNPoor[,RealPriceIndex2:=weighted.mean(Home_Per_Metr,Weight,na.rm = TRUE)/Tehran_Bundle_Value2,by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex1,Weight),by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex2,Weight),by=ProvinceCode]
+Indexes2<-CBNPoor[,.(RealPriceIndex1,RealPriceIndex2,ProvinceCode,Weight)]
+Indexes2<-Indexes2[,RealPriceIndex:=(RealPriceIndex1+RealPriceIndex2)/2]
+Indexes<-Indexes2[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+Indexes34<-Indexes[,.(ProvinceCode,RealPriceIndex1,RealPriceIndex2,RealPriceIndex)]
+Indexes<-Indexes[,.(ProvinceCode,RealPriceIndex)]
+CBN[,RealPriceIndex:=NULL]
+CBN<-merge(CBN,Indexes,by=c("ProvinceCode"),all.x = TRUE)
+CBN<-CBN[,Total_Food_Month_Per2:=FoodExpenditure_Per*RealPriceIndex]
+CBN<-CBN[,Total_Exp_Month_Per2:=Total_Exp_Month_Per_nondurable*RealPriceIndex]
+#utils::View(CBN)
+
+
+#Sort Expenditure data
+CBN<- CBN[order(Total_Exp_Month_Per2)]
+
+#Calculate cumulative weights
+sum(CBN$Weight)
+CBN$cumweight <- cumsum(CBN$Weight)
+tx <- max(CBN$cumweight)
+
+#Calculate deciles by weights
+CBN[,Decile:=cut(cumweight,breaks = seq(0,tx,tx/10),labels = 1:10)]
+CBN[,Percentile:=cut(cumweight,breaks=seq(0,tx,tx/100),labels=1:100)]
+
+#Update Poors
+CBN[,Poor:=ifelse(Decile %in% 2:3,1,0)]
+CBNPoor<-CBN[Poor==1]
+CBNPoor<-merge(CBNPoor,dt2,by=c("ProvinceCode"),all.x = TRUE)
+CBNPoor[,sum(HIndivNo),by=.(ProvinceCode)][order(ProvinceCode)]
+
+###Iteration1-5
+#Calculate Per_calories in clusters
+CBNPoor[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(185:200)][]
+#utils::View(CBNPoor)
+
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(202:217)][]
+
+CBNPoor[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor<-CBNPoor[Per_Daily_Exp_Calories!=0]
+CBNPoor[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+#CBN[,weighted.mean(Poor,Weight),by=cluster][order(cluster)]
+
+#Real Prices
+T_Bundle_Value<-subset(CBNPoor, ProvinceCode==2301, select=c(Bundle_Value,Home_Per_Metr,Weight))
+Tehran_Bundle_Value1<-weighted.mean(T_Bundle_Value$Bundle_Value,T_Bundle_Value$Weight,na.rm = TRUE)
+Tehran_Bundle_Value2<-weighted.mean(T_Bundle_Value$Home_Per_Metr,T_Bundle_Value$Weight,na.rm = TRUE)
+CBNPoor[,RealPriceIndex1:=weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/Tehran_Bundle_Value1,by=ProvinceCode]
+CBNPoor[,RealPriceIndex2:=weighted.mean(Home_Per_Metr,Weight,na.rm = TRUE)/Tehran_Bundle_Value2,by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex1,Weight),by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex2,Weight),by=ProvinceCode]
+Indexes2<-CBNPoor[,.(RealPriceIndex1,RealPriceIndex2,ProvinceCode,Weight)]
+Indexes2<-Indexes2[,RealPriceIndex:=(RealPriceIndex1+RealPriceIndex2)/2]
+Indexes<-Indexes2[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+Indexes35<-Indexes[,.(ProvinceCode,RealPriceIndex1,RealPriceIndex2,RealPriceIndex)]
+Indexes<-Indexes[,.(ProvinceCode,RealPriceIndex)]
+CBN[,RealPriceIndex:=NULL]
+CBN<-merge(CBN,Indexes,by=c("ProvinceCode"),all.x = TRUE)
+CBN<-CBN[,Total_Food_Month_Per2:=FoodExpenditure_Per*RealPriceIndex]
+CBN<-CBN[,Total_Exp_Month_Per2:=Total_Exp_Month_Per_nondurable*RealPriceIndex]
+#utils::View(CBN)
+
+
+#Sort Expenditure data
+CBN<- CBN[order(Total_Exp_Month_Per2)]
+
+#Calculate cumulative weights
+sum(CBN$Weight)
+CBN$cumweight <- cumsum(CBN$Weight)
+tx <- max(CBN$cumweight)
+
+#Calculate deciles by weights
+CBN[,Decile:=cut(cumweight,breaks = seq(0,tx,tx/10),labels = 1:10)]
+CBN[,Percentile:=cut(cumweight,breaks=seq(0,tx,tx/100),labels=1:100)]
+
+#Update Poors
+CBN[,Poor:=ifelse(Decile %in% 2:3,1,0)]
+CBNPoor<-CBN[Poor==1]
+CBNPoor<-merge(CBNPoor,dt2,by=c("ProvinceCode"),all.x = TRUE)
+CBNPoor[,sum(HIndivNo),by=.(ProvinceCode)][order(ProvinceCode)]
+
+###Iteration1-6
+#Calculate Per_calories in clusters
+CBNPoor[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(185:200)][]
+#utils::View(CBNPoor)
+
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(202:217)][]
+
+CBNPoor[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor<-CBNPoor[Per_Daily_Exp_Calories!=0]
+CBNPoor[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+#CBN[,weighted.mean(Poor,Weight),by=cluster][order(cluster)]
+
+#Real Prices
+T_Bundle_Value<-subset(CBNPoor, ProvinceCode==2301, select=c(Bundle_Value,Home_Per_Metr,Weight))
+Tehran_Bundle_Value1<-weighted.mean(T_Bundle_Value$Bundle_Value,T_Bundle_Value$Weight,na.rm = TRUE)
+Tehran_Bundle_Value2<-weighted.mean(T_Bundle_Value$Home_Per_Metr,T_Bundle_Value$Weight,na.rm = TRUE)
+CBNPoor[,RealPriceIndex1:=weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/Tehran_Bundle_Value1,by=ProvinceCode]
+CBNPoor[,RealPriceIndex2:=weighted.mean(Home_Per_Metr,Weight,na.rm = TRUE)/Tehran_Bundle_Value2,by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex1,Weight),by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex2,Weight),by=ProvinceCode]
+Indexes2<-CBNPoor[,.(RealPriceIndex1,RealPriceIndex2,ProvinceCode,Weight)]
+Indexes2<-Indexes2[,RealPriceIndex:=(RealPriceIndex1+RealPriceIndex2)/2]
+Indexes<-Indexes2[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+Indexes36<-Indexes[,.(ProvinceCode,RealPriceIndex1,RealPriceIndex2,RealPriceIndex)]
+Indexes<-Indexes[,.(ProvinceCode,RealPriceIndex)]
+CBN[,RealPriceIndex:=NULL]
+CBN<-merge(CBN,Indexes,by=c("ProvinceCode"),all.x = TRUE)
+CBN<-CBN[,Total_Food_Month_Per2:=FoodExpenditure_Per*RealPriceIndex]
+CBN<-CBN[,Total_Exp_Month_Per2:=Total_Exp_Month_Per_nondurable*RealPriceIndex]
+#utils::View(CBN)
+
+
+#Sort Expenditure data
+CBN<- CBN[order(Total_Exp_Month_Per2)]
+
+#Calculate cumulative weights
+sum(CBN$Weight)
+CBN$cumweight <- cumsum(CBN$Weight)
+tx <- max(CBN$cumweight)
+
+#Calculate deciles by weights
+CBN[,Decile:=cut(cumweight,breaks = seq(0,tx,tx/10),labels = 1:10)]
+CBN[,Percentile:=cut(cumweight,breaks=seq(0,tx,tx/100),labels=1:100)]
+
+#Update Poors
+CBN[,Poor:=ifelse(Decile %in% 2:3,1,0)]
+CBNPoor<-CBN[Poor==1]
+CBNPoor<-merge(CBNPoor,dt2,by=c("ProvinceCode"),all.x = TRUE)
+CBNPoor[,sum(HIndivNo),by=.(ProvinceCode)][order(ProvinceCode)]
+
+###Iteration1-7
+#Calculate Per_calories in clusters
+CBNPoor[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(185:200)][]
+#utils::View(CBNPoor)
+
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(202:217)][]
+
+CBNPoor[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor<-CBNPoor[Per_Daily_Exp_Calories!=0]
+CBNPoor[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+#CBN[,weighted.mean(Poor,Weight),by=cluster][order(cluster)]
+
+#Real Prices
+T_Bundle_Value<-subset(CBNPoor, ProvinceCode==2301, select=c(Bundle_Value,Home_Per_Metr,Weight))
+Tehran_Bundle_Value1<-weighted.mean(T_Bundle_Value$Bundle_Value,T_Bundle_Value$Weight,na.rm = TRUE)
+Tehran_Bundle_Value2<-weighted.mean(T_Bundle_Value$Home_Per_Metr,T_Bundle_Value$Weight,na.rm = TRUE)
+CBNPoor[,RealPriceIndex1:=weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/Tehran_Bundle_Value1,by=ProvinceCode]
+CBNPoor[,RealPriceIndex2:=weighted.mean(Home_Per_Metr,Weight,na.rm = TRUE)/Tehran_Bundle_Value2,by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex1,Weight),by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex2,Weight),by=ProvinceCode]
+Indexes2<-CBNPoor[,.(RealPriceIndex1,RealPriceIndex2,ProvinceCode,Weight)]
+Indexes2<-Indexes2[,RealPriceIndex:=(RealPriceIndex1+RealPriceIndex2)/2]
+Indexes<-Indexes2[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+Indexes37<-Indexes[,.(ProvinceCode,RealPriceIndex1,RealPriceIndex2,RealPriceIndex)]
+Indexes<-Indexes[,.(ProvinceCode,RealPriceIndex)]
+CBN[,RealPriceIndex:=NULL]
+CBN<-merge(CBN,Indexes,by=c("ProvinceCode"),all.x = TRUE)
+CBN<-CBN[,Total_Food_Month_Per2:=FoodExpenditure_Per*RealPriceIndex]
+CBN<-CBN[,Total_Exp_Month_Per2:=Total_Exp_Month_Per_nondurable*RealPriceIndex]
+#utils::View(CBN)
+
+
+#Sort Expenditure data
+CBN<- CBN[order(Total_Exp_Month_Per2)]
+
+#Calculate cumulative weights
+sum(CBN$Weight)
+CBN$cumweight <- cumsum(CBN$Weight)
+tx <- max(CBN$cumweight)
+
+#Calculate deciles by weights
+CBN[,Decile:=cut(cumweight,breaks = seq(0,tx,tx/10),labels = 1:10)]
+CBN[,Percentile:=cut(cumweight,breaks=seq(0,tx,tx/100),labels=1:100)]
+
+#Update Poors
+CBN[,Poor:=ifelse(Decile %in% 2:3,1,0)]
+CBNPoor<-CBN[Poor==1]
+CBNPoor<-merge(CBNPoor,dt2,by=c("ProvinceCode"),all.x = TRUE)
+CBNPoor[,sum(HIndivNo),by=.(ProvinceCode)][order(ProvinceCode)]
+
+###Iteration1-8
+#Calculate Per_calories in clusters
+CBNPoor[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(185:200)][]
+#utils::View(CBNPoor)
+
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(202:217)][]
+
+CBNPoor[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor<-CBNPoor[Per_Daily_Exp_Calories!=0]
+CBNPoor[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+#CBN[,weighted.mean(Poor,Weight),by=cluster][order(cluster)]
+
+#Real Prices
+T_Bundle_Value<-subset(CBNPoor, ProvinceCode==2301, select=c(Bundle_Value,Home_Per_Metr,Weight))
+Tehran_Bundle_Value1<-weighted.mean(T_Bundle_Value$Bundle_Value,T_Bundle_Value$Weight,na.rm = TRUE)
+Tehran_Bundle_Value2<-weighted.mean(T_Bundle_Value$Home_Per_Metr,T_Bundle_Value$Weight,na.rm = TRUE)
+CBNPoor[,RealPriceIndex1:=weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/Tehran_Bundle_Value1,by=ProvinceCode]
+CBNPoor[,RealPriceIndex2:=weighted.mean(Home_Per_Metr,Weight,na.rm = TRUE)/Tehran_Bundle_Value2,by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex1,Weight),by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex2,Weight),by=ProvinceCode]
+Indexes2<-CBNPoor[,.(RealPriceIndex1,RealPriceIndex2,ProvinceCode,Weight)]
+Indexes2<-Indexes2[,RealPriceIndex:=(RealPriceIndex1+RealPriceIndex2)/2]
+Indexes<-Indexes2[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+Indexes38<-Indexes[,.(ProvinceCode,RealPriceIndex1,RealPriceIndex2,RealPriceIndex)]
+Indexes<-Indexes[,.(ProvinceCode,RealPriceIndex)]
+CBN[,RealPriceIndex:=NULL]
+CBN<-merge(CBN,Indexes,by=c("ProvinceCode"),all.x = TRUE)
+CBN<-CBN[,Total_Food_Month_Per2:=FoodExpenditure_Per*RealPriceIndex]
+CBN<-CBN[,Total_Exp_Month_Per2:=Total_Exp_Month_Per_nondurable*RealPriceIndex]
+#utils::View(CBN)
+
+
+#Sort Expenditure data
+CBN<- CBN[order(Total_Exp_Month_Per2)]
+
+#Calculate cumulative weights
+sum(CBN$Weight)
+CBN$cumweight <- cumsum(CBN$Weight)
+tx <- max(CBN$cumweight)
+
+#Calculate deciles by weights
+CBN[,Decile:=cut(cumweight,breaks = seq(0,tx,tx/10),labels = 1:10)]
+CBN[,Percentile:=cut(cumweight,breaks=seq(0,tx,tx/100),labels=1:100)]
+
+#Update Poors
+CBN[,Poor:=ifelse(Decile %in% 2:3,1,0)]
+CBNPoor<-CBN[Poor==1]
+CBNPoor<-merge(CBNPoor,dt2,by=c("ProvinceCode"),all.x = TRUE)
+CBNPoor[,sum(HIndivNo),by=.(ProvinceCode)][order(ProvinceCode)]
+
+###Iteration1-9
+#Calculate Per_calories in clusters
+CBNPoor[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(185:200)][]
+#utils::View(CBNPoor)
+
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(202:217)][]
+
+CBNPoor[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor<-CBNPoor[Per_Daily_Exp_Calories!=0]
+CBNPoor[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+#CBN[,weighted.mean(Poor,Weight),by=cluster][order(cluster)]
+
+#Real Prices
+T_Bundle_Value<-subset(CBNPoor, ProvinceCode==2301, select=c(Bundle_Value,Home_Per_Metr,Weight))
+Tehran_Bundle_Value1<-weighted.mean(T_Bundle_Value$Bundle_Value,T_Bundle_Value$Weight,na.rm = TRUE)
+Tehran_Bundle_Value2<-weighted.mean(T_Bundle_Value$Home_Per_Metr,T_Bundle_Value$Weight,na.rm = TRUE)
+CBNPoor[,RealPriceIndex1:=weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/Tehran_Bundle_Value1,by=ProvinceCode]
+CBNPoor[,RealPriceIndex2:=weighted.mean(Home_Per_Metr,Weight,na.rm = TRUE)/Tehran_Bundle_Value2,by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex1,Weight),by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex2,Weight),by=ProvinceCode]
+Indexes2<-CBNPoor[,.(RealPriceIndex1,RealPriceIndex2,ProvinceCode,Weight)]
+Indexes2<-Indexes2[,RealPriceIndex:=(RealPriceIndex1+RealPriceIndex2)/2]
+Indexes<-Indexes2[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+Indexes39<-Indexes[,.(ProvinceCode,RealPriceIndex1,RealPriceIndex2,RealPriceIndex)]
+Indexes<-Indexes[,.(ProvinceCode,RealPriceIndex)]
+CBN[,RealPriceIndex:=NULL]
+CBN<-merge(CBN,Indexes,by=c("ProvinceCode"),all.x = TRUE)
+CBN<-CBN[,Total_Food_Month_Per2:=FoodExpenditure_Per*RealPriceIndex]
+CBN<-CBN[,Total_Exp_Month_Per2:=Total_Exp_Month_Per_nondurable*RealPriceIndex]
+#utils::View(CBN)
+
+
+#Sort Expenditure data
+CBN<- CBN[order(Total_Exp_Month_Per2)]
+
+#Calculate cumulative weights
+sum(CBN$Weight)
+CBN$cumweight <- cumsum(CBN$Weight)
+tx <- max(CBN$cumweight)
+
+#Calculate deciles by weights
+CBN[,Decile:=cut(cumweight,breaks = seq(0,tx,tx/10),labels = 1:10)]
+CBN[,Percentile:=cut(cumweight,breaks=seq(0,tx,tx/100),labels=1:100)]
+
+#Update Poors
+CBN[,Poor:=ifelse(Decile %in% 2:3,1,0)]
+CBNPoor<-CBN[Poor==1]
+CBNPoor<-merge(CBNPoor,dt2,by=c("ProvinceCode"),all.x = TRUE)
+CBNPoor[,sum(HIndivNo),by=.(ProvinceCode)][order(ProvinceCode)]
+
+###Iteration1-10
+#Calculate Per_calories in clusters
+CBNPoor[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(185:200)][]
+#utils::View(CBNPoor)
+
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(202:217)][]
+
+CBNPoor[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor<-CBNPoor[Per_Daily_Exp_Calories!=0]
+CBNPoor[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+#CBN[,weighted.mean(Poor,Weight),by=cluster][order(cluster)]
+
+#Real Prices
+T_Bundle_Value<-subset(CBNPoor, ProvinceCode==2301, select=c(Bundle_Value,Home_Per_Metr,Weight))
+Tehran_Bundle_Value1<-weighted.mean(T_Bundle_Value$Bundle_Value,T_Bundle_Value$Weight,na.rm = TRUE)
+Tehran_Bundle_Value2<-weighted.mean(T_Bundle_Value$Home_Per_Metr,T_Bundle_Value$Weight,na.rm = TRUE)
+CBNPoor[,RealPriceIndex1:=weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/Tehran_Bundle_Value1,by=ProvinceCode]
+CBNPoor[,RealPriceIndex2:=weighted.mean(Home_Per_Metr,Weight,na.rm = TRUE)/Tehran_Bundle_Value2,by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex1,Weight),by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex2,Weight),by=ProvinceCode]
+Indexes2<-CBNPoor[,.(RealPriceIndex1,RealPriceIndex2,ProvinceCode,Weight)]
+Indexes2<-Indexes2[,RealPriceIndex:=(RealPriceIndex1+RealPriceIndex2)/2]
+Indexes<-Indexes2[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+Indexes310<-Indexes[,.(ProvinceCode,RealPriceIndex1,RealPriceIndex2,RealPriceIndex)]
+Indexes<-Indexes[,.(ProvinceCode,RealPriceIndex)]
+CBN[,RealPriceIndex:=NULL]
+CBN<-merge(CBN,Indexes,by=c("ProvinceCode"),all.x = TRUE)
+CBN<-CBN[,Total_Food_Month_Per2:=FoodExpenditure_Per*RealPriceIndex]
+CBN<-CBN[,Total_Exp_Month_Per2:=Total_Exp_Month_Per_nondurable*RealPriceIndex]
+#utils::View(CBN)
+
+
+#Sort Expenditure data
+CBN<- CBN[order(Total_Exp_Month_Per2)]
+
+#Calculate cumulative weights
+sum(CBN$Weight)
+CBN$cumweight <- cumsum(CBN$Weight)
+tx <- max(CBN$cumweight)
+
+#Calculate deciles by weights
+CBN[,Decile:=cut(cumweight,breaks = seq(0,tx,tx/10),labels = 1:10)]
+CBN[,Percentile:=cut(cumweight,breaks=seq(0,tx,tx/100),labels=1:100)]
+
+#Update Poors
+CBN[,Poor:=ifelse(Decile %in% 2:3,1,0)]
+CBNPoor<-CBN[Poor==1]
+CBNPoor<-merge(CBNPoor,dt2,by=c("ProvinceCode"),all.x = TRUE)
+CBNPoor[,sum(HIndivNo),by=.(ProvinceCode)][order(ProvinceCode)]
+
+
+#Calculate Per_calories in clusters
+CBNPoor[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(189:204)][]
+#utils::View(CBNPoor)
+
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(206:221)][]
+
+CBNPoor[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor<-CBNPoor[Per_Daily_Exp_Calories!=0]
+CBNPoor[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNCalory<-CBNPoor[,.(Per_Daily_Calories,Per_Daily_Exp_Calories,Per_Calory_Resturant,Resturant_Exp,cluster,ProvinceCode)]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+
+
+#Calculations
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_day,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,sum(Size*Weight),by=cluster][order(cluster)]
+
+
+#Food Poverty Line for each cluster
+#cluster 1
+CBNPoorCluster<-CBNPoor[cluster==1]
+Food_Povertyline1_1<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 2
+CBNPoorCluster<-CBNPoor[cluster==2]
+Food_Povertyline2_1<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 3
+CBNPoorCluster<-CBNPoor[cluster==3]
+Food_Povertyline3_1<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 4
+CBNPoorCluster<-CBNPoor[cluster==4]
+Food_Povertyline4_1<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+
+#ee<-CBNPoor[,.(Total_Exp_Month_Real,Total_Exp_Month,Total_Food_Month_Per2,Total_Exp_Month_Per_nondurable,Total_Exp_Month_nondurable_Real_Per,FoodExpenditure_Per,cluster)]
+#mean(ee[,Total_Food_Month_Per2==Total_Exp_Month_nondurable_Real])
+#mean(ee[,Total_Food_Month_Per2<3500000])
+#ee<- ee[order(Total_Food_Month_Per2)]
+#utils::View(CBN)
+CBN<-merge(CBN,dt2,by=c("ProvinceCode"),all.x = TRUE)
+#for (col in c("Total_Food_Month_Per2")) CBN[is.na(get(col)), (col) := Total_Exp_Month_Per_nondurable]
+c<-CBN[,.(FoodExpenditure_Per,FoodExpenditure_Per_total,Total_Exp_Month_Per_nondurable,Total_Exp_Month,Total_Food_Month_Per2,Poor,Decile,Weight,cluster)]
+
+#########Iteration 2###############
+#Sort Expenditure data
+CBN<- CBN[order(Total_Food_Month_Per2)]
+c<- c[order(Total_Food_Month_Per2)]
+
+#Indicate new poors
+CBN[,Poor2:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_1 & cluster==1,1,0)]
+c[,Poor2:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_1 & cluster==1 ,1,0)]
+CBN[,Poor2:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_1 & cluster==2,1,Poor2)]
+c[,Poor2:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_1 & cluster==2 ,1,Poor2)]
+CBN[,Poor2:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_1 & cluster==3,1,Poor2)]
+c[,Poor2:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_1 & cluster==3 ,1,Poor2)]
+CBN[,Poor2:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_1 & cluster==4,1,Poor2)]
+c[,Poor2:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_1 & cluster==4 ,1,Poor2)]
+CBN[,weighted.mean(Poor2,Weight),by=cluster][order(cluster)]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2<-CBN[Poor2==1]
+
+
+#CalculatePer_calories in clusters
+CBNPoor2[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(190:205)][]
+#utils::View(CBNPoor2)
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor2[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(207:222)][]
+
+CBNPoor2[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor2[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor2[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor2[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2<-CBNPoor2[Per_Daily_Exp_Calories!=0]
+CBNPoor2[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor2[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor2[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor2[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor2[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor2[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+
+
+
+#Calculations
+CBNPoor2[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,weighted.mean(FoodExpenditure_Per_day,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+
+
+
+#Food Poverty Line for each cluster
+#cluster 1
+CBNPoorCluster<-CBNPoor2[cluster==1]
+Food_Povertyline1_2<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 2
+CBNPoorCluster<-CBNPoor2[cluster==2]
+Food_Povertyline2_2<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 3
+CBNPoorCluster<-CBNPoor2[cluster==3]
+Food_Povertyline3_2<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 4
+CBNPoorCluster<-CBNPoor2[cluster==4]
+Food_Povertyline4_2<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#ee<-CBNPoor[,.(Total_Exp_Month_Real,Total_Exp_Month,Total_Food_Month_Per2,Total_Exp_Month_Per_nondurable,Total_Exp_Month_nondurable_Real_Per,FoodExpenditure_Per,cluster)]
+#mean(ee[,Total_Food_Month_Per2==Total_Exp_Month_nondurable_Real])
+#mean(ee[,Total_Food_Month_Per2<3500000])
+#ee<- ee[order(Total_Food_Month_Per2)]
+#utils::View(CBN)
+#for (col in c("Total_Food_Month_Per2")) CBN[is.na(get(col)), (col) := Total_Exp_Month_Per_nondurable]
+c<-CBN[,.(FoodExpenditure_Per,FoodExpenditure_Per_total,Total_Exp_Month_Per_nondurable,Total_Exp_Month,Total_Food_Month_Per2,Poor,Decile,Weight,cluster)]
+
+
+#########Iteration 3###############
+#Sort Expenditure data
+CBN<- CBN[order(Total_Food_Month_Per2)]
+c<- c[order(Total_Food_Month_Per2)]
+
+#Indicate new poors
+CBN[,Poor3:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_2 & cluster==1,1,0)]
+c[,Poor3:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_2 & cluster==1 ,1,0)]
+CBN[,Poor3:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_2 & cluster==2,1,Poor3)]
+c[,Poor3:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_2 & cluster==2 ,1,Poor3)]
+CBN[,Poor3:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_2 & cluster==3,1,Poor3)]
+c[,Poor3:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_2 & cluster==3 ,1,Poor3)]
+CBN[,Poor3:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_2 & cluster==4,1,Poor3)]
+c[,Poor3:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_2 & cluster==4 ,1,Poor3)]
+CBN[,weighted.mean(Poor3,Weight),by=cluster][order(cluster)]
+CBNPoor2[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3<-CBN[Poor3==1]
+
+
+
+#CalculatePer_calories in clusters
+CBNPoor3[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(192:206)][]
+#utils::View(CBNPoor3)
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor3[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(208:223)][]
+
+
+CBNPoor3[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor3[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor3[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor3[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3<-CBNPoor3[Per_Daily_Exp_Calories!=0]
+CBNPoor3[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor3[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+
+#sum of total food expenditures
+CBNPoor3[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor3[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor3[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor3[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+
+
+#Calculations
+CBNPoor3[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,weighted.mean(FoodExpenditure_Per_day,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+
+
+
+#Food Poverty Line for each cluster
+#cluster 1
+CBNPoorCluster<-CBNPoor3[cluster==1]
+Food_Povertyline1_3<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 2
+CBNPoorCluster<-CBNPoor3[cluster==2]
+Food_Povertyline2_3<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 3
+CBNPoorCluster<-CBNPoor3[cluster==3]
+Food_Povertyline3_3<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 4
+CBNPoorCluster<-CBNPoor3[cluster==4]
+Food_Povertyline4_3<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#ee<-CBNPoor[,.(Total_Exp_Month_Real,Total_Exp_Month,Total_Food_Month_Per2,Total_Exp_Month_Per_nondurable,Total_Exp_Month_nondurable_Real_Per,FoodExpenditure_Per,cluster)]
+#mean(ee[,Total_Food_Month_Per2==Total_Exp_Month_nondurable_Real])
+#mean(ee[,Total_Food_Month_Per2<3500000])
+#ee<- ee[order(Total_Food_Month_Per2)]
+#utils::View(CBN)
+#for (col in c("Total_Food_Month_Per2")) CBN[is.na(get(col)), (col) := Total_Exp_Month_Per_nondurable]
+c<-CBN[,.(FoodExpenditure_Per,FoodExpenditure_Per_total,Total_Exp_Month_Per_nondurable,Total_Exp_Month,Total_Food_Month_Per2,Poor,Decile,Weight,cluster)]
+
+
+#########Iteration 4###############
+#Sort Expenditure data
+CBN<- CBN[order(Total_Food_Month_Per2)]
+c<- c[order(Total_Food_Month_Per2)]
+
+#Indicate new poors
+CBN[,Poor4:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_3 & cluster==1,1,0)]
+c[,Poor4:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_3 & cluster==1 ,1,0)]
+CBN[,Poor4:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_3 & cluster==2,1,Poor4)]
+c[,Poor4:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_3 & cluster==2 ,1,Poor4)]
+CBN[,Poor4:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_3 & cluster==3,1,Poor4)]
+c[,Poor4:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_3 & cluster==3 ,1,Poor4)]
+CBN[,Poor4:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_3 & cluster==4,1,Poor4)]
+c[,Poor4:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_3 & cluster==4 ,1,Poor4)]
+CBN[,weighted.mean(Poor4,Weight),by=cluster][order(cluster)]
+CBNPoor3[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4<-CBN[Poor4==1]
+
+#CalculatePer_calories in clusters
+CBNPoor4[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(191:206)][]
+#utils::View(CBNPoor4)
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor4[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(208:223)][]
+
+
+CBNPoor4[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor4[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor4[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor4[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4<-CBNPoor4[Per_Daily_Exp_Calories!=0]
+CBNPoor4[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor4[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+
+#sum of total food expenditures
+CBNPoor4[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor4[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor4[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor4[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+
+
+#Calculations
+CBNPoor4[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,weighted.mean(FoodExpenditure_Per_day,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+
+
+
+#Food Poverty Line for each cluster
+#cluster 1
+CBNPoorCluster<-CBNPoor4[cluster==1]
+Food_Povertyline1_4<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 2
+CBNPoorCluster<-CBNPoor4[cluster==2]
+Food_Povertyline2_4<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 3
+CBNPoorCluster<-CBNPoor4[cluster==3]
+Food_Povertyline3_4<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 4
+CBNPoorCluster<-CBNPoor4[cluster==4]
+Food_Povertyline4_4<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#ee<-CBNPoor[,.(Total_Exp_Month_Real,Total_Exp_Month,Total_Food_Month_Per2,Total_Exp_Month_Per_nondurable,Total_Exp_Month_nondurable_Real_Per,FoodExpenditure_Per,cluster)]
+#mean(ee[,Total_Food_Month_Per2==Total_Exp_Month_nondurable_Real])
+#mean(ee[,Total_Food_Month_Per2<3500000])
+#ee<- ee[order(Total_Food_Month_Per2)]
+#utils::View(CBN)
+#for (col in c("Total_Food_Month_Per2")) CBN[is.na(get(col)), (col) := Total_Exp_Month_Per_nondurable]
+c<-CBN[,.(FoodExpenditure_Per,FoodExpenditure_Per_total,Total_Exp_Month_Per_nondurable,Total_Exp_Month,Total_Food_Month_Per2,Poor,Decile,Weight,cluster)]
+
+
+#########Iteration 5###############
+#Sort Expenditure data
+CBN<- CBN[order(Total_Food_Month_Per2)]
+c<- c[order(Total_Food_Month_Per2)]
+
+#Indicate new poors
+CBN[,Poor5:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_4 & cluster==1,1,0)]
+c[,Poor5:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_4 & cluster==1 ,1,0)]
+CBN[,Poor5:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_4 & cluster==2,1,Poor5)]
+c[,Poor5:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_4 & cluster==2 ,1,Poor5)]
+CBN[,Poor5:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_4 & cluster==3,1,Poor5)]
+c[,Poor5:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_4 & cluster==3 ,1,Poor5)]
+CBN[,Poor5:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_4 & cluster==4,1,Poor5)]
+c[,Poor5:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_4 & cluster==4 ,1,Poor5)]
+CBN[,weighted.mean(Poor5,Weight),by=cluster][order(cluster)]
+CBNPoor4[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5<-CBN[Poor5==1]
+
+#CalculatePer_calories in clusters
+CBNPoor5[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(191:206)][]
+#utils::View(CBNPoor5)
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor5[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(208:223)][]
+
+
+CBNPoor5[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor5[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor5[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor5[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5<-CBNPoor5[Per_Daily_Exp_Calories!=0]
+CBNPoor5[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor5[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+
+#sum of total food expenditures
+CBNPoor5[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor5[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor5[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor5[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+
+
+#Calculations
+CBNPoor5[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,weighted.mean(FoodExpenditure_Per_day,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+
+
+
+#Food Poverty Line for each cluster
+#cluster 1
+CBNPoorCluster<-CBNPoor5[cluster==1]
+Food_Povertyline1_5<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 2
+CBNPoorCluster<-CBNPoor5[cluster==2]
+Food_Povertyline2_5<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 3
+CBNPoorCluster<-CBNPoor5[cluster==3]
+Food_Povertyline3_5<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 4
+CBNPoorCluster<-CBNPoor5[cluster==4]
+Food_Povertyline4_5<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#ee<-CBNPoor[,.(Total_Exp_Month_Real,Total_Exp_Month,Total_Food_Month_Per2,Total_Exp_Month_Per_nondurable,Total_Exp_Month_nondurable_Real_Per,FoodExpenditure_Per,cluster)]
+#mean(ee[,Total_Food_Month_Per2==Total_Exp_Month_nondurable_Real])
+#mean(ee[,Total_Food_Month_Per2<3500000])
+#ee<- ee[order(Total_Food_Month_Per2)]
+#utils::View(CBN)
+#for (col in c("Total_Food_Month_Per2")) CBN[is.na(get(col)), (col) := Total_Exp_Month_Per_nondurable]
+c<-CBN[,.(FoodExpenditure_Per,FoodExpenditure_Per_total,Total_Exp_Month_Per_nondurable,Total_Exp_Month,Total_Food_Month_Per2,Poor,Decile,Weight,cluster)]
+
+
+#########Iteration 6###############
+#Sort Expenditure data
+CBN<- CBN[order(Total_Food_Month_Per2)]
+c<- c[order(Total_Food_Month_Per2)]
+
+#Indicate new poors
+CBN[,Poor6:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_5 & cluster==1,1,0)]
+c[,Poor6:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_5 & cluster==1 ,1,0)]
+CBN[,Poor6:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_5 & cluster==2,1,Poor6)]
+c[,Poor6:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_5 & cluster==2 ,1,Poor6)]
+CBN[,Poor6:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_5 & cluster==3,1,Poor6)]
+c[,Poor6:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_5 & cluster==3 ,1,Poor6)]
+CBN[,Poor6:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_5 & cluster==4,1,Poor6)]
+c[,Poor6:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_5 & cluster==4 ,1,Poor6)]
+CBN[,weighted.mean(Poor6,Weight),by=cluster][order(cluster)]
+CBNPoor5[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6<-CBN[Poor6==1]
+
+#CalculatePer_calories in clusters
+CBNPoor6[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(191:206)][]
+#utils::View(CBNPoor6)
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor6[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(208:223)][]
+
+
+CBNPoor6[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor6[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor6[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor6[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6<-CBNPoor6[Per_Daily_Exp_Calories!=0]
+CBNPoor6[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor6[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+
+#sum of total food expenditures
+CBNPoor6[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor6[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor6[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor6[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+
+
+#Calculations
+CBNPoor6[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,weighted.mean(FoodExpenditure_Per_day,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+
+
+#Food Poverty Line for each cluster
+#cluster 1
+CBNPoorCluster<-CBNPoor6[cluster==1]
+Food_Povertyline1_6<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 2
+CBNPoorCluster<-CBNPoor6[cluster==2]
+Food_Povertyline2_6<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 3
+CBNPoorCluster<-CBNPoor6[cluster==3]
+Food_Povertyline3_6<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 4
+CBNPoorCluster<-CBNPoor6[cluster==4]
+Food_Povertyline4_6<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#ee<-CBNPoor[,.(Total_Exp_Month_Real,Total_Exp_Month,Total_Food_Month_Per2,Total_Exp_Month_Per_nondurable,Total_Exp_Month_nondurable_Real_Per,FoodExpenditure_Per,cluster)]
+#mean(ee[,Total_Food_Month_Per2==Total_Exp_Month_nondurable_Real])
+#mean(ee[,Total_Food_Month_Per2<3500000])
+#ee<- ee[order(Total_Food_Month_Per2)]
+#utils::View(CBN)
+#for (col in c("Total_Food_Month_Per2")) CBN[is.na(get(col)), (col) := Total_Exp_Month_Per_nondurable]
+c<-CBN[,.(FoodExpenditure_Per,FoodExpenditure_Per_total,Total_Exp_Month_Per_nondurable,Total_Exp_Month,Total_Food_Month_Per2,Poor,Decile,Weight,cluster)]
+
+
+#########Iteration 7###############
+#Sort Expenditure data
+CBN<- CBN[order(Total_Food_Month_Per2)]
+c<- c[order(Total_Food_Month_Per2)]
+
+#Indicate new poors
+CBN[,Poor7:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_6 & cluster==1,1,0)]
+c[,Poor7:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_6 & cluster==1 ,1,0)]
+CBN[,Poor7:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_6 & cluster==2,1,Poor7)]
+c[,Poor7:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_6 & cluster==2 ,1,Poor7)]
+CBN[,Poor7:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_6 & cluster==3,1,Poor7)]
+c[,Poor7:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_6 & cluster==3 ,1,Poor7)]
+CBN[,Poor7:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_6 & cluster==4,1,Poor7)]
+c[,Poor7:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_6 & cluster==4 ,1,Poor7)]
+CBN[,weighted.mean(Poor7,Weight),by=cluster][order(cluster)]
+CBNPoor6[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7<-CBN[Poor7==1]
+
+#CalculatePer_calories in clusters
+CBNPoor7[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(191:206)][]
+#utils::View(CBNPoor7)
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor7[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(208:223)][]
+
+
+CBNPoor7[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor7[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor7[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor7[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7<-CBNPoor7[Per_Daily_Exp_Calories!=0]
+CBNPoor7[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor7[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+
+#sum of total food expenditures
+CBNPoor7[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor7[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor7[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor7[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+
+
+#Calculations
+CBNPoor7[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,weighted.mean(FoodExpenditure_Per_day,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+
+
+
+#Food Poverty Line for each cluster
+#cluster 1
+CBNPoorCluster<-CBNPoor7[cluster==1]
+Food_Povertyline1_7<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 2
+CBNPoorCluster<-CBNPoor7[cluster==2]
+Food_Povertyline2_7<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 3
+CBNPoorCluster<-CBNPoor7[cluster==3]
+Food_Povertyline3_7<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 4
+CBNPoorCluster<-CBNPoor7[cluster==4]
+Food_Povertyline4_7<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#ee<-CBNPoor[,.(Total_Exp_Month_Real,Total_Exp_Month,Total_Food_Month_Per2,Total_Exp_Month_Per_nondurable,Total_Exp_Month_nondurable_Real_Per,FoodExpenditure_Per,cluster)]
+#mean(ee[,Total_Food_Month_Per2==Total_Exp_Month_nondurable_Real])
+#mean(ee[,Total_Food_Month_Per2<3500000])
+#ee<- ee[order(Total_Food_Month_Per2)]
+#utils::View(CBN)
+#for (col in c("Total_Food_Month_Per2")) CBN[is.na(get(col)), (col) := Total_Exp_Month_Per_nondurable]
+c<-CBN[,.(FoodExpenditure_Per,FoodExpenditure_Per_total,Total_Exp_Month_Per_nondurable,Total_Exp_Month,Total_Food_Month_Per2,Poor,Decile,Weight,cluster)]
+
+
+#########Iteration 8###############
+#Sort Expenditure data
+CBN<- CBN[order(Total_Food_Month_Per2)]
+c<- c[order(Total_Food_Month_Per2)]
+
+#Indicate new poors
+CBN[,Poor8:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_7 & cluster==1,1,0)]
+c[,Poor8:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_7 & cluster==1 ,1,0)]
+CBN[,Poor8:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_7 & cluster==2,1,Poor8)]
+c[,Poor8:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_7 & cluster==2 ,1,Poor8)]
+CBN[,Poor8:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_7 & cluster==3,1,Poor8)]
+c[,Poor8:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_7 & cluster==3 ,1,Poor8)]
+CBN[,Poor8:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_7 & cluster==4,1,Poor8)]
+c[,Poor8:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_7 & cluster==4 ,1,Poor8)]
+CBN[,weighted.mean(Poor8,Weight),by=cluster][order(cluster)]
+CBNPoor7[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8<-CBN[Poor8==1]
+
+
+#CalculatePer_calories in clusters
+CBNPoor8[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(191:206)][]
+#utils::View(CBNPoor8)
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor8[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(208:223)][]
+
+
+CBNPoor8[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor8[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor8[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor8[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8<-CBNPoor8[Per_Daily_Exp_Calories!=0]
+CBNPoor8[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor8[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+
+#sum of total food expenditures
+CBNPoor8[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor8[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor8[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor8[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+
+
+#Calculations
+CBNPoor8[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,weighted.mean(FoodExpenditure_Per_day,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+
+
+
+#Food Poverty Line for each cluster
+#cluster 1
+CBNPoorCluster<-CBNPoor8[cluster==1]
+Food_Povertyline1_8<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 2
+CBNPoorCluster<-CBNPoor8[cluster==2]
+Food_Povertyline2_8<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 3
+CBNPoorCluster<-CBNPoor8[cluster==3]
+Food_Povertyline3_8<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 4
+CBNPoorCluster<-CBNPoor8[cluster==4]
+Food_Povertyline4_8<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#ee<-CBNPoor[,.(Total_Exp_Month_Real,Total_Exp_Month,Total_Food_Month_Per2,Total_Exp_Month_Per_nondurable,Total_Exp_Month_nondurable_Real_Per,FoodExpenditure_Per,cluster)]
+#mean(ee[,Total_Food_Month_Per2==Total_Exp_Month_nondurable_Real])
+#mean(ee[,Total_Food_Month_Per2<3500000])
+#ee<- ee[order(Total_Food_Month_Per2)]
+#utils::View(CBN)
+#for (col in c("Total_Food_Month_Per2")) CBN[is.na(get(col)), (col) := Total_Exp_Month_Per_nondurable]
+c<-CBN[,.(FoodExpenditure_Per,FoodExpenditure_Per_total,Total_Exp_Month_Per_nondurable,Total_Exp_Month,Total_Food_Month_Per2,Poor,Decile,Weight,cluster)]
+
+
+#########Iteration 9###############
+#Sort Expenditure data
+CBN<- CBN[order(Total_Food_Month_Per2)]
+c<- c[order(Total_Food_Month_Per2)]
+
+#Indicate new poors
+CBN[,Poor9:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_8 & cluster==1,1,0)]
+c[,Poor9:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_8 & cluster==1 ,1,0)]
+CBN[,Poor9:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_8 & cluster==2,1,Poor9)]
+c[,Poor9:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_8 & cluster==2 ,1,Poor9)]
+CBN[,Poor9:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_8 & cluster==3,1,Poor9)]
+c[,Poor9:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_8 & cluster==3 ,1,Poor9)]
+CBN[,Poor9:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_8 & cluster==4,1,Poor9)]
+c[,Poor9:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_8 & cluster==4 ,1,Poor9)]
+CBN[,weighted.mean(Poor9,Weight),by=cluster][order(cluster)]
+CBNPoor8[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9<-CBN[Poor9==1]
+
+
+#CalculatePer_calories in clusters
+CBNPoor9[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(191:206)][]
+#utils::View(CBNPoor9)
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor9[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(208:223)][]
+
+
+CBNPoor9[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor9[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor9[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor9[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9<-CBNPoor9[Per_Daily_Exp_Calories!=0]
+CBNPoor9[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor9[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+
+#sum of total food expenditures
+CBNPoor9[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor9[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor9[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor9[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+
+
+
+#Calculations
+CBNPoor9[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,weighted.mean(FoodExpenditure_Per_day,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+
+
+
+#Food Poverty Line for each cluster
+#cluster 1
+CBNPoorCluster<-CBNPoor9[cluster==1]
+Food_Povertyline1_9<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 2
+CBNPoorCluster<-CBNPoor9[cluster==2]
+Food_Povertyline2_9<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 3
+CBNPoorCluster<-CBNPoor9[cluster==3]
+Food_Povertyline3_9<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 4
+CBNPoorCluster<-CBNPoor9[cluster==4]
+Food_Povertyline4_9<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#ee<-CBNPoor[,.(Total_Exp_Month_Real,Total_Exp_Month,Total_Food_Month_Per2,Total_Exp_Month_Per_nondurable,Total_Exp_Month_nondurable_Real_Per,FoodExpenditure_Per,cluster)]
+#mean(ee[,Total_Food_Month_Per2==Total_Exp_Month_nondurable_Real])
+#mean(ee[,Total_Food_Month_Per2<3500000])
+#ee<- ee[order(Total_Food_Month_Per2)]
+#utils::View(CBN)
+#for (col in c("Total_Food_Month_Per2")) CBN[is.na(get(col)), (col) := Total_Exp_Month_Per_nondurable]
+c<-CBN[,.(FoodExpenditure_Per,FoodExpenditure_Per_total,Total_Exp_Month_Per_nondurable,Total_Exp_Month,Total_Food_Month_Per2,Poor,Decile,Weight,cluster)]
+
+
+#########Iteration 10###############
+#Sort Expenditure data
+CBN<- CBN[order(Total_Food_Month_Per2)]
+c<- c[order(Total_Food_Month_Per2)]
+
+#Indicate new poors
+CBN[,Poor10:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_9 & cluster==1,1,0)]
+c[,Poor10:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_9 & cluster==1 ,1,0)]
+CBN[,Poor10:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_9 & cluster==2,1,Poor10)]
+c[,Poor10:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_9 & cluster==2 ,1,Poor10)]
+CBN[,Poor10:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_9 & cluster==3,1,Poor10)]
+c[,Poor10:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_9 & cluster==3 ,1,Poor10)]
+CBN[,Poor10:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_9 & cluster==4,1,Poor10)]
+c[,Poor10:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_9 & cluster==4 ,1,Poor10)]
+CBN[,weighted.mean(Poor10,Weight),by=cluster][order(cluster)]
+CBNPoor9[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor10<-CBN[Poor10==1]
+
+#Engel
+#CBNPoor9<-CBNPoor9[,ratio1:=FoodExpenditure/Total_Exp_Month]
+#CBNPoor9[,weighted.mean(ratio1,Weight),by=cluster]
+#summary(CBNPoor9$ratio1)
+CBN<-CBN[,ratio1:=FoodExpenditure/Total_Exp_Month]
+CBN[,weighted.mean(ratio1,Weight),by=ProvinceCode][order(ProvinceCode)]
+CBN<-CBN[,ratio2:=ServiceExp/Total_Exp_Month]
+CBN[,weighted.mean(ratio2,Weight),by=ProvinceCode][order(ProvinceCode)]
+
+# Poverty Line for each cluster
+#cluster 1
+CBNPoorCluster<-CBN[cluster==1 & FoodExpenditure_Per_total<1.1*Food_Povertyline1_9 & FoodExpenditure_Per_total>0.90*Food_Povertyline1_9]
+Engel1<-weighted.mean(CBNPoorCluster$ratio1,CBNPoorCluster$Weight)
+Engel_Reverse1<-1/Engel1
+Povertyline1_9<-Engel_Reverse1*Food_Povertyline1_9
+
+#cluster 2
+CBNPoorCluster<-CBN[cluster==2 & FoodExpenditure_Per_total<1.1*Food_Povertyline2_9 & FoodExpenditure_Per_total>0.90*Food_Povertyline2_9]
+Engel2<-weighted.mean(CBNPoorCluster$ratio1,CBNPoorCluster$Weight)
+Engel_Reverse2<-1/Engel2
+Povertyline2_9<-Engel_Reverse2*Food_Povertyline2_9
+
+#cluster 3
+CBNPoorCluster<-CBN[cluster==3 & FoodExpenditure_Per_total<1.1*Food_Povertyline3_9 & FoodExpenditure_Per_total>0.90*Food_Povertyline3_9]
+Engel3<-weighted.mean(CBNPoorCluster$ratio1,CBNPoorCluster$Weight)
+Engel_Reverse3<-1/Engel3
+Povertyline3_9<-Engel_Reverse3*Food_Povertyline3_9
+
+#cluster 4
+CBNPoorCluster<-CBN[cluster==4 & FoodExpenditure_Per_total<1.1*Food_Povertyline4_9 & FoodExpenditure_Per_total>0.90*Food_Povertyline4_9]
+Engel4<-weighted.mean(CBNPoorCluster$ratio1,CBNPoorCluster$Weight)
+Engel_Reverse4<-1/Engel4
+Povertyline4_9<-Engel_Reverse4*Food_Povertyline4_9
+
+#Indicate final poors
+CBN<-CBN[,Total_Exp_Month_Per2:=Total_Exp_Month_Per_nondurable*RealPriceIndex]
+
+CBN[,Poor11:=ifelse(Total_Exp_Month_Per_nondurable < Povertyline1_9 & cluster==1,1,0)]
+CBN[,Poor11:=ifelse(Total_Exp_Month_Per_nondurable < Povertyline2_9 & cluster==2,1,Poor11)]
+CBN[,Poor11:=ifelse(Total_Exp_Month_Per_nondurable < Povertyline3_9 & cluster==3,1,Poor11)]
+CBN[,Poor11:=ifelse(Total_Exp_Month_Per_nondurable < Povertyline4_9 & cluster==4,1,Poor11)]
+CBN[,weighted.mean(Poor11,Weight),by=cluster][order(cluster)]
+CBNPoor9[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor11<-CBN[Poor11==1]
+
+CBN[,sum(Size*Weight),by=cluster][order(cluster)]
+CBNPoor9[,sum(Size*Weight),by=cluster][order(cluster)]
+CBNPoor9[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBN[,weighted.mean(Poor11,Weight)]
+CBN[,weighted.mean(Poor11,Weight),by=cluster][order(cluster)]
+CBN[,weighted.mean(Poor11,Weight),by=ProvinceCode][order(ProvinceCode)]
+endtime <- proc.time()
+
+cat("\n\n============================\nIt took ")
+cat(endtime-starttime)
+
diff --git a/R/Archive/Other Codes/60-CBN94-Rural.R b/R/Archive/Other Codes/60-CBN94-Rural.R
new file mode 100644
index 00000000..41e2e41d
--- /dev/null
+++ b/R/Archive/Other Codes/60-CBN94-Rural.R
@@ -0,0 +1,2938 @@
+#CBN Method-Rural.R
+#
+# Copyright © 2018:Arin Shahbazian
+# Licence: GPL-3
+#
+rm(list=ls())
+
+starttime <- proc.time()
+cat("\n\n================ Prepare Data =====================================\n")
+
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+library(readxl)
+library(stringr)
+library(data.table)
+
+#for(year in (Settings$startyear:Settings$endyear)){
+# cat(paste0("\n------------------------------\nYear:",year,"\n"))
+
+load(file=paste0(Settings$HEISProcessedPath,"Y","94","HHBase.rda"))
+HHBase[,IndivNo:=NULL]
+HHBase[,Relationship:=NULL]
+HHBase[,Sex:=NULL]
+HHBase[,Age:=NULL]
+HHBase[,Literate:=NULL]
+HHBase[,Student:=NULL]
+HHBase[,EduCode:=NULL]
+HHBase[,EduYears:=NULL]
+HHBase[,EduLevel:=NULL]
+HHBase[,EduLevel0:=NULL]
+HHBase[,ActivityState:=NULL]
+HHBase[,MarritalState:=NULL]
+load(file=paste0(Settings$HEISProcessedPath,"Y","94","Ghand_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","94","Hoboobat_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","94","Roghan_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","94","Berenj_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","94","Nan_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","94","Goosht_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","94","Morgh_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","94","Mahi_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","94","Shir_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","94","Mast_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","94","Panir_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","94","Tokhmemorgh_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","94","Mive_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","94","Sabzi_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","94","Makarooni_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","94","Sibzamini_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","94","Weights.rda"))
+
+Ghand_Data<-Ghand_Data[,.(HHID,Ghandgram,GhandPrice)]
+Hoboobat_Data<-Hoboobat_Data[,.(HHID,Hoboobatgram,HoboobatPrice)]
+Roghan_Data<-Roghan_Data[,.(HHID,Roghangram,RoghanPrice)]
+Berenj_Data<-Berenj_Data[,.(HHID,Berenjgram,BerenjPrice)]
+Nan_Data<-Nan_Data[,.(HHID,Nangram,NanPrice)]
+Goosht_Data<-Goosht_Data[,.(HHID,Gooshtgram,GooshtPrice)]
+Morgh_Data<-Morgh_Data[,.(HHID,Morghgram,MorghPrice)]
+Mahi_Data<-Mahi_Data[,.(HHID,Mahigram,MahiPrice)]
+Shir_Data<-Shir_Data[,.(HHID,Shirgram,ShirPrice)]
+Mast_Data<-Mast_Data[,.(HHID,Mastgram,MastPrice)]
+Panir_Data<-Panir_Data[,.(HHID,Panirgram,PanirPrice)]
+Tokhmemorgh_Data<-Tokhmemorgh_Data[,.(HHID,Tokhmemorghgram,TokhmemorghPrice)]
+Mive_Data<-Mive_Data[,.(HHID,Mivegram,MivePrice)]
+Sabzi_Data<-Sabzi_Data[,.(HHID,Sabzigram,SabziPrice)]
+Makarooni_Data<-Makarooni_Data[,.(HHID,Makaroonigram,MakarooniPrice)]
+Sibzamini_Data<-Sibzamini_Data[,.(HHID,Sibzaminigram,SibzaminiPrice)]
+
+Food<-merge(HHBase,Ghand_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Ghandgram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Hoboobat_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Hoboobatgram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Roghan_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Roghangram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Berenj_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Berenjgram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Nan_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Nangram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Goosht_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Gooshtgram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Morgh_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Morghgram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Mahi_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Mahigram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Shir_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Shirgram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Mast_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Mastgram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Panir_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Panirgram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Tokhmemorgh_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Tokhmemorghgram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Mive_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Mivegram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Sabzi_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Sabzigram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Makarooni_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Makaroonigram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Sibzamini_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Sibzaminigram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Weights,by =c("HHID"),all.x=TRUE)
+
+
+
+#load Expenditure groups
+load(file=paste0(Settings$HEISProcessedPath,"Y","94","HHBase.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","94","HHI.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","94","Foods.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","94","Cigars.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","94","Cloths.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","94","Amusements.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","94","Communications.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","94","Durables.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","94","Education.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","94","Energy.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","94","Furnitures.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","94","Hotels.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","94","House.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","94","Medicals.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","94","Behdashts.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","94","Transportations.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","94","Others.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","94","Investments.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","94","Resturants.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","94","Weights.rda"))
+
+#merge Expenditure groups
+CBN<-merge(Food,HHI ,by =c("HHID"),all=TRUE)
+CBN<-merge(CBN,FoodData,by =c("HHID"),all=TRUE)
+for (col in c("FoodExpenditure")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,CigarData,by =c("HHID"),all=TRUE)
+for (col in c("Cigar_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,ClothData,by =c("HHID"),all=TRUE)
+for (col in c("Cloth_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,AmusementData,by =c("HHID"),all=TRUE)
+for (col in c("Amusement_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,CommunicationData,by =c("HHID"),all=TRUE)
+for (col in c("Communication_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,EducData,by =c("HHID"),all=TRUE)
+for (col in c("EducExpenditure")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,EnergyData,by =c("HHID"),all=TRUE)
+for (col in c("Energy_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,FurnitureData,by =c("HHID"),all=TRUE)
+for (col in c("Furniture_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,HotelData,by =c("HHID"),all=TRUE)
+for (col in c("Hotel_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,BehdashtData,by =c("HHID"),all=TRUE)
+for (col in c("Behdasht_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,TransportationData,by =c("HHID"),all=TRUE)
+for (col in c("Transportation_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,OtherData,by =c("HHID"),all=TRUE)
+for (col in c("Other_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,HouseData,by =c("HHID"),all=TRUE)
+for (col in c("ServiceExp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,InvestmentData,by =c("HHID"),all=TRUE)
+for (col in c("Investment_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,MedicalData,by =c("HHID"),all=TRUE)
+for (col in c("Medical_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,DurableData,by =c("HHID"),all=TRUE)
+for (col in c("Durable_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,ResturantData,by =c("HHID"),all=TRUE)
+for (col in c("Resturant_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-CBN[Size!=0]
+CBN<-CBN[Region=="Rural"]
+CBN<-CBN[FoodExpenditure!=0]
+
+
+#Calculate Per_Total Expenditures Monthly
+CBN[, Total_Exp_Month := Reduce(`+`, .SD), .SDcols=c(65:77,82:83)][]
+CBN[, Total_Exp_Month_nondurable := Reduce(`+`, .SD), .SDcols=65:77][]
+
+CBN$Total_Exp_Month_Per<-CBN$Total_Exp_Month/CBN$EqSizeOECD
+CBN$Total_Exp_Month_Per_nondurable<-CBN$Total_Exp_Month_nondurable/CBN$EqSizeOECD
+
+#Calculate Per_Food Expenditures Monthly
+CBN[,EqSizeCalory :=(Size-NKids) + NKids*(1800/2100)]
+CBN$FoodExpenditure_Per<-CBN$FoodExpenditure/CBN$EqSizeCalory
+
+#Calculate Per_Food Expenditures Daily
+CBN$FoodExpenditure_Per_day<-CBN$FoodExpenditure_Per/30
+
+CBN$Ghandgram_Per_day<-CBN$Ghandgram/(30*CBN$EqSizeOECD)
+CBN$Hoboobatgram_Per_day<-CBN$Hoboobatgram/(30*CBN$EqSizeOECD)
+CBN$Berenjgram_Per_day<-CBN$Berenjgram/(30*CBN$EqSizeOECD)
+CBN$Nangram_Per_day<-CBN$Nangram/(30*CBN$EqSizeOECD)
+CBN$Roghangram_Per_day<-CBN$Roghangram/(30*CBN$EqSizeOECD)
+CBN$Gooshtgram_Per_day<-CBN$Gooshtgram/(30*CBN$EqSizeOECD)
+CBN$Morghgram_Per_day<-CBN$Morghgram/(30*CBN$EqSizeOECD)
+CBN$Mahigram_Per_day<-CBN$Mahigram/(30*CBN$EqSizeOECD)
+CBN$Shirgram_Per_day<-CBN$Shirgram/(30*CBN$EqSizeOECD)
+CBN$Mastgram_Per_day<-CBN$Mastgram/(30*CBN$EqSizeOECD)
+CBN$Panirgram_Per_day<-CBN$Panirgram/(30*CBN$EqSizeOECD)
+CBN$Tokhmemorghgram_Per_day<-CBN$Tokhmemorghgram/(30*CBN$EqSizeOECD)
+CBN$Mivegram_Per_day<-CBN$Mivegram/(30*CBN$EqSizeOECD)
+CBN$Sabzigram_Per_day<-CBN$Sabzigram/(30*CBN$EqSizeOECD)
+CBN$Makaroonigram_Per_day<-CBN$Makaroonigram/(30*CBN$EqSizeOECD)
+CBN$Sibzaminigram_Per_day<-CBN$Sibzaminigram/(30*CBN$EqSizeOECD)
+CBN[,EqSizeCalory:=NULL]
+
+load(file="PriceIndex95.rda")
+CBN<-merge(CBN,PriceIndex95,by=c("ProvinceCode"),all.x = TRUE)
+CBN[,ostan:=NULL]
+load(file="PriceIndex.rda")
+CBN<-merge(CBN,PriceIndex,by=c("ProvinceCode"),all.x = TRUE)
+
+#Sort Expenditure data
+CBN<- CBN[order(Total_Exp_Month_Per_nondurable)]
+
+#Calculate cumulative weights
+sum(CBN$Weight)
+CBN$cumweight <- cumsum(CBN$Weight)
+tx <- max(CBN$cumweight)
+
+#Calculate deciles by weights
+CBN[,Decile:=cut(cumweight,breaks = seq(0,tx,tx/10),labels = 1:10)]
+CBN[,Percentile:=cut(cumweight,breaks=seq(0,tx,tx/100),labels=1:100)]
+
+
+CBN$Ghand_W<-CBN$Ghandgram_Per_day*CBN$GhandPrice*0.001*30
+CBN$Hoboobat_W<-CBN$Hoboobatgram_Per_day*CBN$HoboobatPrice*0.001*30
+CBN$Roghan_W<-CBN$Roghangram_Per_day*CBN$RoghanPrice*0.001*30
+CBN$Berenj_W<-CBN$Berenjgram_Per_day*CBN$BerenjPrice*0.001*30
+CBN$Nan_W<-CBN$Nangram_Per_day*CBN$NanPrice*0.001*30
+CBN$Goosht_W<-CBN$Gooshtgram_Per_day*CBN$GooshtPrice*0.001*30
+CBN$Morgh_W<-CBN$Morghgram_Per_day*CBN$MorghPrice*0.001*30
+CBN$Mahi_W<-CBN$Mahigram_Per_day*CBN$MahiPrice*0.001*30
+CBN$Shir_W<-CBN$Shirgram_Per_day*CBN$ShirPrice*0.001*30
+CBN$Mast_W<-CBN$Mastgram_Per_day*CBN$MastPrice*0.001*30
+CBN$Panir_W<-CBN$Panirgram_Per_day*CBN$PanirPrice*0.001*30
+CBN$Tokhmemorgh_W<-CBN$Tokhmemorghgram_Per_day*CBN$TokhmemorghPrice*0.001*30
+CBN$Mive_W<-CBN$Mivegram_Per_day*CBN$MivePrice*0.001*30
+CBN$Sabzi_W<-CBN$Sabzigram_Per_day*CBN$SabziPrice*0.001*30
+CBN$Makarooni_W<-CBN$Makaroonigram_Per_day*CBN$MakarooniPrice*0.001*30
+CBN$Sibzamini_W<-CBN$Sibzaminigram_Per_day*CBN$SibzaminiPrice*0.001*30
+CBN$Home_W<-CBN$ServiceExp/CBN$EqSizeOECD
+CBN$Home_Per_Metr<-CBN$MetrPrice/CBN$EqSizeOECD
+
+#Seperate big cities
+CBN[,sum(Weight*Size),by=ProvinceCode][order(V1)]
+CBN[,HHIDs:=as.character(HHID)]
+CBN[,ShahrestanCode:=as.integer(str_sub(HHIDs,2,5))]
+CBN[,sum(Weight*Size),by=ShahrestanCode][order(V1)][330:387]
+CBNTehran<-CBN[ProvinceCode==23]
+CBNTehran[,sum(Weight*Size),by=ShahrestanCode]
+CBNTabriz<-CBN[ProvinceCode==3]
+CBNTabriz[,sum(Weight*Size),by=ShahrestanCode]
+CBNAhvaz<-CBN[ProvinceCode==6]
+CBNAhvaz[,sum(Weight*Size),by=ShahrestanCode]
+CBNShiraz<-CBN[ProvinceCode==7]
+CBNShiraz[,sum(Weight*Size),by=ShahrestanCode]
+CBNMashhad<-CBN[ProvinceCode==9]
+CBNMashhad[,sum(Weight*Size),by=ShahrestanCode]
+CBNEsfahan<-CBN[ProvinceCode==10]
+CBNEsfahan[,sum(Weight*Size),by=ShahrestanCode]
+CBNKaraj<-CBN[ProvinceCode==30]
+CBNKaraj[,sum(Weight*Size),by=ShahrestanCode]
+CBNKermanshah<-CBN[ProvinceCode==5]
+CBNKermanshah[,sum(Weight*Size),by=ShahrestanCode]
+
+
+# Food Calories
+CBN$Ghand_Calory<- CBN$Ghandgram *4
+CBN$Hoboobat_Calory<- CBN$Hoboobatgram *3
+CBN$Nan_Calory<- CBN$Nangram *2.5
+CBN$Berenj_Calory<- CBN$Berenjgram *1.2
+CBN$Roghan_Calory<- CBN$Roghangram *8
+CBN$Goosht_Calory<- CBN$Gooshtgram *2.5
+CBN$Morgh_Calory<- CBN$Morghgram *2
+CBN$Mahi_Calory<- CBN$Mahigram *1
+CBN$Shir_Calory<- CBN$Shirgram *2.5
+CBN$Mast_Calory<- CBN$Mastgram *1.5
+CBN$Panir_Calory<- CBN$Mastgram *2.5
+CBN$Tokhmemorgh_Calory<- CBN$Tokhmemorghgram *1.4
+CBN$Mive_Calory<- CBN$Mivegram *0.5
+CBN$Sabzi_Calory<- CBN$Sabzigram *0.5
+CBN$Makarooni_Calory<- CBN$Makaroonigram *3.6
+CBN$Sibzamini_Calory<- CBN$Sibzaminigram *0.9
+#utils::View(CBN)
+
+#CalculatePer_calories
+CBN[, Daily_Exp_Calories := Reduce(`+`, .SD), .SDcols=148:163][]
+CBN[,EqSizeCalory :=(Size-NKids) + NKids*(1800/2100)]
+CBN[,Per_Daily_Exp_Calories:=Daily_Exp_Calories/EqSizeCalory]
+CBN <- CBN[Per_Daily_Exp_Calories<100000] # arbitrary removal of outliers
+#CBN[,Daily_Calories_cluster:=weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+#CBN[,weighted.mean(Daily_Calories_cluster,Weight,na.rm = TRUE),by=cluster]
+#CBN[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+#CBN[,weighted.mean(Size,Weight,na.rm = TRUE),by=cluster]
+#CBN[,sum(Weight*Size),by=cluster]
+#CBN[,sum(Weight),by=cluster]
+#CBN[,sum(Poor),by=cluster]
+
+
+#Calculate_Per_calories
+CBN$Ghand_per_Calory<- CBN$Ghandgram *4/CBN$EqSizeCalory
+CBN$Hoboobat_per_Calory<- CBN$Hoboobatgram *3/CBN$EqSizeCalory
+CBN$Nan_per_Calory<- CBN$Nangram *2.5/CBN$EqSizeCalory
+CBN$Berenj_per_Calory<- CBN$Berenjgram *1.2/CBN$EqSizeCalory
+CBN$Roghan_per_Calory<- CBN$Roghangram *8/CBN$EqSizeCalory
+CBN$Goosht_per_Calory<- CBN$Gooshtgram *2.5/CBN$EqSizeCalory
+CBN$Morgh_per_Calory<- CBN$Morghgram *2/CBN$EqSizeCalory
+CBN$Mahi_per_Calory<- CBN$Mahigram *1/CBN$EqSizeCalory
+CBN$Shir_per_Calory<- CBN$Shirgram *2.5/CBN$EqSizeCalory
+CBN$Mast_per_Calory<- CBN$Mastgram *1.5/CBN$EqSizeCalory
+CBN$Panir_per_Calory<- CBN$Mastgram *2.5/CBN$EqSizeCalory
+CBN$Tokhmemorgh_per_Calory<- CBN$Tokhmemorghgram *1.4/CBN$EqSizeCalory
+CBN$Mive_per_Calory<- CBN$Mivegram *0.5/CBN$EqSizeCalory
+CBN$Sabzi_per_Calory<- CBN$Sabzigram *0.5/CBN$EqSizeCalory
+CBN$Makarooni_per_Calory<- CBN$Makaroonigram *3.6/CBN$EqSizeCalory
+CBN$Sibzamini_per_Calory<- CBN$Sibzaminigram *0.9/CBN$EqSizeCalory
+
+
+#Assume that deciles 1 and 2 are poor
+CBN[,Poor:=ifelse(Decile %in% 1:4,1,0)]
+CBNPoor<-CBN[Poor==1]
+
+#K-means weights
+PriceWeights<-CBN[,.(HHID,Ghand_W,Hoboobat_W,Roghan_W,Berenj_W,Nan_W,Goosht_W,Morgh_W,Mahi_W,Shir_W,Mast_W,Panir_W,Tokhmemorgh_W,Mive_W,Sabzi_W,Makarooni_W,Sibzamini_W,Home_W,ProvinceCode,Weight)]
+dt3 <- PriceWeights[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+dt3<- dt3[order(ProvinceCode)]
+dt3 <- dt3[,.(Ghand_W,Hoboobat_W,Roghan_W,Berenj_W,Nan_W,Goosht_W,Morgh_W,Mahi_W,Shir_W,Mast_W,Panir_W,Tokhmemorgh_W,Mive_W,Sabzi_W,Makarooni_W,Sibzamini_W,Home_W)]
+
+
+
+#K-means algorithm for clustering by prices
+test<-CBNPoor[,.(GhandPrice,HoboobatPrice,RoghanPrice,BerenjPrice,NanPrice,GooshtPrice,MorghPrice,MahiPrice,ShirPrice,MastPrice,PanirPrice,TokhmemorghPrice,MivePrice,SabziPrice,MakarooniPrice,SibzaminiPrice,MetrPrice,ProvinceCode,Weight)]
+#test<-CBNPoor[,.(GhandPrice,HoboobatPrice,RoghanPrice,BerenjPrice,NanPrice,GooshtPrice,MorghPrice,MahiPrice,ShirPrice,MastPrice,PanirPrice,TokhmemorghPrice,MivePrice,SabziPrice,MakarooniPrice,SibzaminiPrice,MetrPrice,Ghand_W,Hoboobat_W,Roghan_W,Berenj_W,Nan_W,Goosht_W,Morgh_W,Mahi_W,Shir_W,Mast_W,Panir_W,Tokhmemorgh_W,Mive_W,Sabzi_W,Makarooni_W,Sibzamini_W,Home_W,Region,ProvinceCode,Weight)]
+dt2 <- test[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+dt2<- dt2[order(ProvinceCode)]
+for (col in c("MahiPrice")) dt2[is.nan(get(col)), (col) := 200000]
+dt <- dt2 [,.(GhandPrice,HoboobatPrice,RoghanPrice,BerenjPrice,NanPrice,GooshtPrice,MorghPrice,MahiPrice,ShirPrice,MastPrice,PanirPrice,TokhmemorghPrice,MivePrice,SabziPrice,MakarooniPrice,SibzaminiPrice,MetrPrice)]
+
+
+pca <- princomp(dt, cor=T)
+PRICE <- pca$scores
+PRICE1 <- -1*PRICE[,1]
+PRICE2 <- -1*PRICE[,2]
+PRICE3 <- -1*PRICE[,3]
+PRICE4 <- -1*PRICE[,4]
+PRICE5 <- -1*PRICE[,5]
+PRICE6 <- -1*PRICE[,6]
+PRICE7 <- -1*PRICE[,7]
+PRICE8 <- -1*PRICE[,8]
+PRICE9 <- -1*PRICE[,9]
+PRICE10 <- -1*PRICE[,10]
+PRICE11 <- -1*PRICE[,11]
+PRICE12 <- -1*PRICE[,12]
+PRICE13 <- -1*PRICE[,13]
+PRICE14 <- -1*PRICE[,14]
+PRICE15 <- -1*PRICE[,15]
+PRICE16 <- -1*PRICE[,16]
+PRICE17 <- -1*PRICE[,17]
+
+# Deciding how many clusters
+wss <- (nrow(dt)-1)*sum(apply(dt,2,var))
+for (i in 2:30) wss[i] <- sum(kmeans(dt, centers=i)$withinss)
+plot(1:30, wss, type="b", xlab="Number of Clusters",
+ ylab="Within groups sum of squares")
+
+#Weighted clustering
+
+dt3.m <- dt3[,lapply(.SD, mean)] # Weights for each vector
+dtW <- dt * sqrt(dt3.m[rep(1,nrow(dt))]) # Weighted observations
+kmeans(dtW,4) # Simple K-means
+
+cl <- kmeans(dtW,4)
+cl$cluster
+dt2 <- dt2[,cluster:=data.table(cl$cluster)]
+dt2<-dt2[,.(ProvinceCode,cluster)]
+load(file="dt5Rural.rda")
+#plot(PRICE1, PRICE2,col=cl$cluster)
+#points(cl$centers, pch=20)
+CBNPoor<-merge(CBNPoor,dt2,by=c("ProvinceCode"),all.x = TRUE)
+CBNPoor[,sum(Weight*Size),by=cluster]
+CBNPoor[,sum(Weight),by=cluster]
+CBNPoor[,sum(Poor),by=cluster]
+C2<-CBNPoor[,.(HHID,ProvinceCode,Region,Decile,Poor,cluster)]
+######################################################################
+
+
+
+
+
+
+
+
+
+####Iteration 1#####
+###Iteration1-1
+#Calculate Per_calories in clusters
+CBNPoor[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(185:200)][]
+#utils::View(CBNPoor)
+
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(202:217)][]
+
+CBNPoor[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor<-CBNPoor[Per_Daily_Exp_Calories!=0]
+CBNPoor[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+#CBN[,weighted.mean(Poor,Weight),by=cluster][order(cluster)]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE)]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE)]
+
+#Real Prices
+T_Bundle_Value<-subset(CBNPoor, ProvinceCode==23, select=c(Bundle_Value,Home_Per_Metr,Weight))
+Tehran_Bundle_Value1<-weighted.mean(T_Bundle_Value$Bundle_Value,T_Bundle_Value$Weight,na.rm = TRUE)
+Tehran_Bundle_Value2<-weighted.mean(T_Bundle_Value$Home_Per_Metr,T_Bundle_Value$Weight,na.rm = TRUE)
+CBNPoor[,RealPriceIndex1:=weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/Tehran_Bundle_Value1,by=ProvinceCode]
+CBNPoor[,RealPriceIndex2:=weighted.mean(Home_Per_Metr,Weight,na.rm = TRUE)/Tehran_Bundle_Value2,by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex1,Weight),by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex2,Weight),by=ProvinceCode]
+Indexes2<-CBNPoor[,.(RealPriceIndex1,RealPriceIndex2,ProvinceCode,Weight)]
+Indexes2<-Indexes2[,RealPriceIndex:=(RealPriceIndex1+RealPriceIndex2)/2]
+Indexes<-Indexes2[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+Indexes31<-Indexes[,.(ProvinceCode,RealPriceIndex1,RealPriceIndex2,RealPriceIndex)]
+Indexes<-Indexes[,.(ProvinceCode,RealPriceIndex)]
+CBN<-merge(CBN,Indexes,by=c("ProvinceCode"),all.x = TRUE)
+CBN<-CBN[,Total_Food_Month_Per2:=FoodExpenditure_Per*RealPriceIndex]
+CBN<-CBN[,Total_Exp_Month_Per2:=Total_Exp_Month_Per_nondurable*RealPriceIndex]
+#utils::View(CBN)
+
+#Sort Expenditure data
+CBN<- CBN[order(Total_Exp_Month_Per2)]
+
+#Calculate cumulative weights
+sum(CBN$Weight)
+CBN$cumweight <- cumsum(CBN$Weight)
+tx <- max(CBN$cumweight)
+
+#Calculate deciles by weights
+CBN[,Decile:=cut(cumweight,breaks = seq(0,tx,tx/10),labels = 1:10)]
+CBN[,Percentile:=cut(cumweight,breaks=seq(0,tx,tx/100),labels=1:100)]
+
+#Update Poors
+CBN[,Poor:=ifelse(Decile %in% 1:4,1,0)]
+CBNPoor<-CBN[Poor==1]
+CBNPoor<-merge(CBNPoor,dt2,by=c("ProvinceCode"),all.x = TRUE)
+CBNPoor[,sum(HIndivNo),by=.(ProvinceCode)][order(ProvinceCode)]
+
+###Iteration1-2
+#Calculate Per_calories in clusters
+CBNPoor[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(185:200)][]
+#utils::View(CBNPoor)
+
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(202:217)][]
+
+CBNPoor[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor<-CBNPoor[Per_Daily_Exp_Calories!=0]
+CBNPoor[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+#CBN[,weighted.mean(Poor,Weight),by=cluster][order(cluster)]
+
+#Real Prices
+T_Bundle_Value<-subset(CBNPoor, ProvinceCode==23, select=c(Bundle_Value,Home_Per_Metr,Weight))
+Tehran_Bundle_Value1<-weighted.mean(T_Bundle_Value$Bundle_Value,T_Bundle_Value$Weight,na.rm = TRUE)
+Tehran_Bundle_Value2<-weighted.mean(T_Bundle_Value$Home_Per_Metr,T_Bundle_Value$Weight,na.rm = TRUE)
+CBNPoor[,RealPriceIndex1:=weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/Tehran_Bundle_Value1,by=ProvinceCode]
+CBNPoor[,RealPriceIndex2:=weighted.mean(Home_Per_Metr,Weight,na.rm = TRUE)/Tehran_Bundle_Value2,by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex1,Weight),by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex2,Weight),by=ProvinceCode]
+Indexes2<-CBNPoor[,.(RealPriceIndex1,RealPriceIndex2,ProvinceCode,Weight)]
+Indexes2<-Indexes2[,RealPriceIndex:=(RealPriceIndex1+RealPriceIndex2)/2]
+Indexes<-Indexes2[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+Indexes32<-Indexes[,.(ProvinceCode,RealPriceIndex1,RealPriceIndex2,RealPriceIndex)]
+Indexes<-Indexes[,.(ProvinceCode,RealPriceIndex)]
+CBN[,RealPriceIndex:=NULL]
+CBN<-merge(CBN,Indexes,by=c("ProvinceCode"),all.x = TRUE)
+CBN<-CBN[,Total_Food_Month_Per2:=FoodExpenditure_Per*RealPriceIndex]
+CBN<-CBN[,Total_Exp_Month_Per2:=Total_Exp_Month_Per_nondurable*RealPriceIndex]
+#utils::View(CBN)
+
+#Sort Expenditure data
+CBN<- CBN[order(Total_Exp_Month_Per2)]
+
+#Calculate cumulative weights
+sum(CBN$Weight)
+CBN$cumweight <- cumsum(CBN$Weight)
+tx <- max(CBN$cumweight)
+
+#Calculate deciles by weights
+CBN[,Decile:=cut(cumweight,breaks = seq(0,tx,tx/10),labels = 1:10)]
+CBN[,Percentile:=cut(cumweight,breaks=seq(0,tx,tx/100),labels=1:100)]
+
+#Update Poors
+CBN[,Poor:=ifelse(Decile %in% 1:4,1,0)]
+CBNPoor<-CBN[Poor==1]
+CBNPoor<-merge(CBNPoor,dt2,by=c("ProvinceCode"),all.x = TRUE)
+CBNPoor[,sum(HIndivNo),by=.(ProvinceCode)][order(ProvinceCode)]
+
+###Iteration1-3
+#Calculate Per_calories in clusters
+CBNPoor[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(185:200)][]
+#utils::View(CBNPoor)
+
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(202:217)][]
+
+CBNPoor[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor<-CBNPoor[Per_Daily_Exp_Calories!=0]
+CBNPoor[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+#CBN[,weighted.mean(Poor,Weight),by=cluster][order(cluster)]
+
+#Real Prices
+T_Bundle_Value<-subset(CBNPoor, ProvinceCode==23, select=c(Bundle_Value,Home_Per_Metr,Weight))
+Tehran_Bundle_Value1<-weighted.mean(T_Bundle_Value$Bundle_Value,T_Bundle_Value$Weight,na.rm = TRUE)
+Tehran_Bundle_Value2<-weighted.mean(T_Bundle_Value$Home_Per_Metr,T_Bundle_Value$Weight,na.rm = TRUE)
+CBNPoor[,RealPriceIndex1:=weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/Tehran_Bundle_Value1,by=ProvinceCode]
+CBNPoor[,RealPriceIndex2:=weighted.mean(Home_Per_Metr,Weight,na.rm = TRUE)/Tehran_Bundle_Value2,by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex1,Weight),by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex2,Weight),by=ProvinceCode]
+Indexes2<-CBNPoor[,.(RealPriceIndex1,RealPriceIndex2,ProvinceCode,Weight)]
+Indexes2<-Indexes2[,RealPriceIndex:=(RealPriceIndex1+RealPriceIndex2)/2]
+Indexes<-Indexes2[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+Indexes33<-Indexes[,.(ProvinceCode,RealPriceIndex1,RealPriceIndex2,RealPriceIndex)]
+Indexes<-Indexes[,.(ProvinceCode,RealPriceIndex)]
+CBN[,RealPriceIndex:=NULL]
+CBN<-merge(CBN,Indexes,by=c("ProvinceCode"),all.x = TRUE)
+CBN<-CBN[,Total_Food_Month_Per2:=FoodExpenditure_Per*RealPriceIndex]
+CBN<-CBN[,Total_Exp_Month_Per2:=Total_Exp_Month_Per_nondurable*RealPriceIndex]
+#utils::View(CBN)
+
+#Sort Expenditure data
+CBN<- CBN[order(Total_Exp_Month_Per2)]
+
+#Calculate cumulative weights
+sum(CBN$Weight)
+CBN$cumweight <- cumsum(CBN$Weight)
+tx <- max(CBN$cumweight)
+
+#Calculate deciles by weights
+CBN[,Decile:=cut(cumweight,breaks = seq(0,tx,tx/10),labels = 1:10)]
+CBN[,Percentile:=cut(cumweight,breaks=seq(0,tx,tx/100),labels=1:100)]
+
+#Update Poors
+CBN[,Poor:=ifelse(Decile %in% 1:4,1,0)]
+CBNPoor<-CBN[Poor==1]
+CBNPoor<-merge(CBNPoor,dt2,by=c("ProvinceCode"),all.x = TRUE)
+CBNPoor[,sum(HIndivNo),by=.(ProvinceCode)][order(ProvinceCode)]
+
+
+###Iteration1-4
+#Calculate Per_calories in clusters
+CBNPoor[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(185:200)][]
+#utils::View(CBNPoor)
+
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(202:217)][]
+
+CBNPoor[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor<-CBNPoor[Per_Daily_Exp_Calories!=0]
+CBNPoor[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+#CBN[,weighted.mean(Poor,Weight),by=cluster][order(cluster)]
+
+#Real Prices
+T_Bundle_Value<-subset(CBNPoor, ProvinceCode==23, select=c(Bundle_Value,Home_Per_Metr,Weight))
+Tehran_Bundle_Value1<-weighted.mean(T_Bundle_Value$Bundle_Value,T_Bundle_Value$Weight,na.rm = TRUE)
+Tehran_Bundle_Value2<-weighted.mean(T_Bundle_Value$Home_Per_Metr,T_Bundle_Value$Weight,na.rm = TRUE)
+CBNPoor[,RealPriceIndex1:=weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/Tehran_Bundle_Value1,by=ProvinceCode]
+CBNPoor[,RealPriceIndex2:=weighted.mean(Home_Per_Metr,Weight,na.rm = TRUE)/Tehran_Bundle_Value2,by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex1,Weight),by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex2,Weight),by=ProvinceCode]
+Indexes2<-CBNPoor[,.(RealPriceIndex1,RealPriceIndex2,ProvinceCode,Weight)]
+Indexes2<-Indexes2[,RealPriceIndex:=(RealPriceIndex1+RealPriceIndex2)/2]
+Indexes<-Indexes2[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+Indexes34<-Indexes[,.(ProvinceCode,RealPriceIndex1,RealPriceIndex2,RealPriceIndex)]
+Indexes<-Indexes[,.(ProvinceCode,RealPriceIndex)]
+CBN[,RealPriceIndex:=NULL]
+CBN<-merge(CBN,Indexes,by=c("ProvinceCode"),all.x = TRUE)
+CBN<-CBN[,Total_Food_Month_Per2:=FoodExpenditure_Per*RealPriceIndex]
+CBN<-CBN[,Total_Exp_Month_Per2:=Total_Exp_Month_Per_nondurable*RealPriceIndex]
+#utils::View(CBN)
+
+
+#Sort Expenditure data
+CBN<- CBN[order(Total_Exp_Month_Per2)]
+
+#Calculate cumulative weights
+sum(CBN$Weight)
+CBN$cumweight <- cumsum(CBN$Weight)
+tx <- max(CBN$cumweight)
+
+#Calculate deciles by weights
+CBN[,Decile:=cut(cumweight,breaks = seq(0,tx,tx/10),labels = 1:10)]
+CBN[,Percentile:=cut(cumweight,breaks=seq(0,tx,tx/100),labels=1:100)]
+
+#Update Poors
+CBN[,Poor:=ifelse(Decile %in% 1:4,1,0)]
+CBNPoor<-CBN[Poor==1]
+CBNPoor<-merge(CBNPoor,dt2,by=c("ProvinceCode"),all.x = TRUE)
+CBNPoor[,sum(HIndivNo),by=.(ProvinceCode)][order(ProvinceCode)]
+
+###Iteration1-5
+#Calculate Per_calories in clusters
+CBNPoor[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(185:200)][]
+#utils::View(CBNPoor)
+
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(202:217)][]
+
+CBNPoor[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor<-CBNPoor[Per_Daily_Exp_Calories!=0]
+CBNPoor[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+#CBN[,weighted.mean(Poor,Weight),by=cluster][order(cluster)]
+
+#Real Prices
+T_Bundle_Value<-subset(CBNPoor, ProvinceCode==23, select=c(Bundle_Value,Home_Per_Metr,Weight))
+Tehran_Bundle_Value1<-weighted.mean(T_Bundle_Value$Bundle_Value,T_Bundle_Value$Weight,na.rm = TRUE)
+Tehran_Bundle_Value2<-weighted.mean(T_Bundle_Value$Home_Per_Metr,T_Bundle_Value$Weight,na.rm = TRUE)
+CBNPoor[,RealPriceIndex1:=weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/Tehran_Bundle_Value1,by=ProvinceCode]
+CBNPoor[,RealPriceIndex2:=weighted.mean(Home_Per_Metr,Weight,na.rm = TRUE)/Tehran_Bundle_Value2,by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex1,Weight),by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex2,Weight),by=ProvinceCode]
+Indexes2<-CBNPoor[,.(RealPriceIndex1,RealPriceIndex2,ProvinceCode,Weight)]
+Indexes2<-Indexes2[,RealPriceIndex:=(RealPriceIndex1+RealPriceIndex2)/2]
+Indexes<-Indexes2[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+Indexes35<-Indexes[,.(ProvinceCode,RealPriceIndex1,RealPriceIndex2,RealPriceIndex)]
+Indexes<-Indexes[,.(ProvinceCode,RealPriceIndex)]
+CBN[,RealPriceIndex:=NULL]
+CBN<-merge(CBN,Indexes,by=c("ProvinceCode"),all.x = TRUE)
+CBN<-CBN[,Total_Food_Month_Per2:=FoodExpenditure_Per*RealPriceIndex]
+CBN<-CBN[,Total_Exp_Month_Per2:=Total_Exp_Month_Per_nondurable*RealPriceIndex]
+#utils::View(CBN)
+
+
+#Sort Expenditure data
+CBN<- CBN[order(Total_Exp_Month_Per2)]
+
+#Calculate cumulative weights
+sum(CBN$Weight)
+CBN$cumweight <- cumsum(CBN$Weight)
+tx <- max(CBN$cumweight)
+
+#Calculate deciles by weights
+CBN[,Decile:=cut(cumweight,breaks = seq(0,tx,tx/10),labels = 1:10)]
+CBN[,Percentile:=cut(cumweight,breaks=seq(0,tx,tx/100),labels=1:100)]
+
+#Update Poors
+CBN[,Poor:=ifelse(Decile %in% 1:4,1,0)]
+CBNPoor<-CBN[Poor==1]
+CBNPoor<-merge(CBNPoor,dt2,by=c("ProvinceCode"),all.x = TRUE)
+CBNPoor[,sum(HIndivNo),by=.(ProvinceCode)][order(ProvinceCode)]
+
+###Iteration1-6
+#Calculate Per_calories in clusters
+CBNPoor[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(185:200)][]
+#utils::View(CBNPoor)
+
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(202:217)][]
+
+CBNPoor[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor<-CBNPoor[Per_Daily_Exp_Calories!=0]
+CBNPoor[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+#CBN[,weighted.mean(Poor,Weight),by=cluster][order(cluster)]
+
+#Real Prices
+T_Bundle_Value<-subset(CBNPoor, ProvinceCode==23, select=c(Bundle_Value,Home_Per_Metr,Weight))
+Tehran_Bundle_Value1<-weighted.mean(T_Bundle_Value$Bundle_Value,T_Bundle_Value$Weight,na.rm = TRUE)
+Tehran_Bundle_Value2<-weighted.mean(T_Bundle_Value$Home_Per_Metr,T_Bundle_Value$Weight,na.rm = TRUE)
+CBNPoor[,RealPriceIndex1:=weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/Tehran_Bundle_Value1,by=ProvinceCode]
+CBNPoor[,RealPriceIndex2:=weighted.mean(Home_Per_Metr,Weight,na.rm = TRUE)/Tehran_Bundle_Value2,by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex1,Weight),by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex2,Weight),by=ProvinceCode]
+Indexes2<-CBNPoor[,.(RealPriceIndex1,RealPriceIndex2,ProvinceCode,Weight)]
+Indexes2<-Indexes2[,RealPriceIndex:=(RealPriceIndex1+RealPriceIndex2)/2]
+Indexes<-Indexes2[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+Indexes36<-Indexes[,.(ProvinceCode,RealPriceIndex1,RealPriceIndex2,RealPriceIndex)]
+Indexes<-Indexes[,.(ProvinceCode,RealPriceIndex)]
+CBN[,RealPriceIndex:=NULL]
+CBN<-merge(CBN,Indexes,by=c("ProvinceCode"),all.x = TRUE)
+CBN<-CBN[,Total_Food_Month_Per2:=FoodExpenditure_Per*RealPriceIndex]
+CBN<-CBN[,Total_Exp_Month_Per2:=Total_Exp_Month_Per_nondurable*RealPriceIndex]
+#utils::View(CBN)
+
+
+#Sort Expenditure data
+CBN<- CBN[order(Total_Exp_Month_Per2)]
+
+#Calculate cumulative weights
+sum(CBN$Weight)
+CBN$cumweight <- cumsum(CBN$Weight)
+tx <- max(CBN$cumweight)
+
+#Calculate deciles by weights
+CBN[,Decile:=cut(cumweight,breaks = seq(0,tx,tx/10),labels = 1:10)]
+CBN[,Percentile:=cut(cumweight,breaks=seq(0,tx,tx/100),labels=1:100)]
+
+#Update Poors
+CBN[,Poor:=ifelse(Decile %in% 1:4,1,0)]
+CBNPoor<-CBN[Poor==1]
+CBNPoor<-merge(CBNPoor,dt2,by=c("ProvinceCode"),all.x = TRUE)
+CBNPoor[,sum(HIndivNo),by=.(ProvinceCode)][order(ProvinceCode)]
+
+###Iteration1-7
+#Calculate Per_calories in clusters
+CBNPoor[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(185:200)][]
+#utils::View(CBNPoor)
+
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(202:217)][]
+
+CBNPoor[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor<-CBNPoor[Per_Daily_Exp_Calories!=0]
+CBNPoor[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+#CBN[,weighted.mean(Poor,Weight),by=cluster][order(cluster)]
+
+#Real Prices
+T_Bundle_Value<-subset(CBNPoor, ProvinceCode==23, select=c(Bundle_Value,Home_Per_Metr,Weight))
+Tehran_Bundle_Value1<-weighted.mean(T_Bundle_Value$Bundle_Value,T_Bundle_Value$Weight,na.rm = TRUE)
+Tehran_Bundle_Value2<-weighted.mean(T_Bundle_Value$Home_Per_Metr,T_Bundle_Value$Weight,na.rm = TRUE)
+CBNPoor[,RealPriceIndex1:=weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/Tehran_Bundle_Value1,by=ProvinceCode]
+CBNPoor[,RealPriceIndex2:=weighted.mean(Home_Per_Metr,Weight,na.rm = TRUE)/Tehran_Bundle_Value2,by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex1,Weight),by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex2,Weight),by=ProvinceCode]
+Indexes2<-CBNPoor[,.(RealPriceIndex1,RealPriceIndex2,ProvinceCode,Weight)]
+Indexes2<-Indexes2[,RealPriceIndex:=(RealPriceIndex1+RealPriceIndex2)/2]
+Indexes<-Indexes2[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+Indexes37<-Indexes[,.(ProvinceCode,RealPriceIndex1,RealPriceIndex2,RealPriceIndex)]
+Indexes<-Indexes[,.(ProvinceCode,RealPriceIndex)]
+CBN[,RealPriceIndex:=NULL]
+CBN<-merge(CBN,Indexes,by=c("ProvinceCode"),all.x = TRUE)
+CBN<-CBN[,Total_Food_Month_Per2:=FoodExpenditure_Per*RealPriceIndex]
+CBN<-CBN[,Total_Exp_Month_Per2:=Total_Exp_Month_Per_nondurable*RealPriceIndex]
+#utils::View(CBN)
+
+
+#Sort Expenditure data
+CBN<- CBN[order(Total_Exp_Month_Per2)]
+
+#Calculate cumulative weights
+sum(CBN$Weight)
+CBN$cumweight <- cumsum(CBN$Weight)
+tx <- max(CBN$cumweight)
+
+#Calculate deciles by weights
+CBN[,Decile:=cut(cumweight,breaks = seq(0,tx,tx/10),labels = 1:10)]
+CBN[,Percentile:=cut(cumweight,breaks=seq(0,tx,tx/100),labels=1:100)]
+
+#Update Poors
+CBN[,Poor:=ifelse(Decile %in% 1:4,1,0)]
+CBNPoor<-CBN[Poor==1]
+CBNPoor<-merge(CBNPoor,dt2,by=c("ProvinceCode"),all.x = TRUE)
+CBNPoor[,sum(HIndivNo),by=.(ProvinceCode)][order(ProvinceCode)]
+
+###Iteration1-8
+#Calculate Per_calories in clusters
+CBNPoor[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(185:200)][]
+#utils::View(CBNPoor)
+
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(202:217)][]
+
+CBNPoor[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor<-CBNPoor[Per_Daily_Exp_Calories!=0]
+CBNPoor[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+#CBN[,weighted.mean(Poor,Weight),by=cluster][order(cluster)]
+
+#Real Prices
+T_Bundle_Value<-subset(CBNPoor, ProvinceCode==23, select=c(Bundle_Value,Home_Per_Metr,Weight))
+Tehran_Bundle_Value1<-weighted.mean(T_Bundle_Value$Bundle_Value,T_Bundle_Value$Weight,na.rm = TRUE)
+Tehran_Bundle_Value2<-weighted.mean(T_Bundle_Value$Home_Per_Metr,T_Bundle_Value$Weight,na.rm = TRUE)
+CBNPoor[,RealPriceIndex1:=weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/Tehran_Bundle_Value1,by=ProvinceCode]
+CBNPoor[,RealPriceIndex2:=weighted.mean(Home_Per_Metr,Weight,na.rm = TRUE)/Tehran_Bundle_Value2,by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex1,Weight),by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex2,Weight),by=ProvinceCode]
+Indexes2<-CBNPoor[,.(RealPriceIndex1,RealPriceIndex2,ProvinceCode,Weight)]
+Indexes2<-Indexes2[,RealPriceIndex:=(RealPriceIndex1+RealPriceIndex2)/2]
+Indexes<-Indexes2[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+Indexes38<-Indexes[,.(ProvinceCode,RealPriceIndex1,RealPriceIndex2,RealPriceIndex)]
+Indexes<-Indexes[,.(ProvinceCode,RealPriceIndex)]
+CBN[,RealPriceIndex:=NULL]
+CBN<-merge(CBN,Indexes,by=c("ProvinceCode"),all.x = TRUE)
+CBN<-CBN[,Total_Food_Month_Per2:=FoodExpenditure_Per*RealPriceIndex]
+CBN<-CBN[,Total_Exp_Month_Per2:=Total_Exp_Month_Per_nondurable*RealPriceIndex]
+#utils::View(CBN)
+
+
+#Sort Expenditure data
+CBN<- CBN[order(Total_Exp_Month_Per2)]
+
+#Calculate cumulative weights
+sum(CBN$Weight)
+CBN$cumweight <- cumsum(CBN$Weight)
+tx <- max(CBN$cumweight)
+
+#Calculate deciles by weights
+CBN[,Decile:=cut(cumweight,breaks = seq(0,tx,tx/10),labels = 1:10)]
+CBN[,Percentile:=cut(cumweight,breaks=seq(0,tx,tx/100),labels=1:100)]
+
+#Update Poors
+CBN[,Poor:=ifelse(Decile %in% 1:4,1,0)]
+CBNPoor<-CBN[Poor==1]
+CBNPoor<-merge(CBNPoor,dt2,by=c("ProvinceCode"),all.x = TRUE)
+CBNPoor[,sum(HIndivNo),by=.(ProvinceCode)][order(ProvinceCode)]
+
+###Iteration1-9
+#Calculate Per_calories in clusters
+CBNPoor[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(185:200)][]
+#utils::View(CBNPoor)
+
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(202:217)][]
+
+CBNPoor[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor<-CBNPoor[Per_Daily_Exp_Calories!=0]
+CBNPoor[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+#CBN[,weighted.mean(Poor,Weight),by=cluster][order(cluster)]
+
+#Real Prices
+T_Bundle_Value<-subset(CBNPoor, ProvinceCode==23, select=c(Bundle_Value,Home_Per_Metr,Weight))
+Tehran_Bundle_Value1<-weighted.mean(T_Bundle_Value$Bundle_Value,T_Bundle_Value$Weight,na.rm = TRUE)
+Tehran_Bundle_Value2<-weighted.mean(T_Bundle_Value$Home_Per_Metr,T_Bundle_Value$Weight,na.rm = TRUE)
+CBNPoor[,RealPriceIndex1:=weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/Tehran_Bundle_Value1,by=ProvinceCode]
+CBNPoor[,RealPriceIndex2:=weighted.mean(Home_Per_Metr,Weight,na.rm = TRUE)/Tehran_Bundle_Value2,by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex1,Weight),by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex2,Weight),by=ProvinceCode]
+Indexes2<-CBNPoor[,.(RealPriceIndex1,RealPriceIndex2,ProvinceCode,Weight)]
+Indexes2<-Indexes2[,RealPriceIndex:=(RealPriceIndex1+RealPriceIndex2)/2]
+Indexes<-Indexes2[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+Indexes39<-Indexes[,.(ProvinceCode,RealPriceIndex1,RealPriceIndex2,RealPriceIndex)]
+Indexes<-Indexes[,.(ProvinceCode,RealPriceIndex)]
+CBN[,RealPriceIndex:=NULL]
+CBN<-merge(CBN,Indexes,by=c("ProvinceCode"),all.x = TRUE)
+CBN<-CBN[,Total_Food_Month_Per2:=FoodExpenditure_Per*RealPriceIndex]
+CBN<-CBN[,Total_Exp_Month_Per2:=Total_Exp_Month_Per_nondurable*RealPriceIndex]
+#utils::View(CBN)
+
+
+#Sort Expenditure data
+CBN<- CBN[order(Total_Exp_Month_Per2)]
+
+#Calculate cumulative weights
+sum(CBN$Weight)
+CBN$cumweight <- cumsum(CBN$Weight)
+tx <- max(CBN$cumweight)
+
+#Calculate deciles by weights
+CBN[,Decile:=cut(cumweight,breaks = seq(0,tx,tx/10),labels = 1:10)]
+CBN[,Percentile:=cut(cumweight,breaks=seq(0,tx,tx/100),labels=1:100)]
+
+#Update Poors
+CBN[,Poor:=ifelse(Decile %in% 1:4,1,0)]
+CBNPoor<-CBN[Poor==1]
+CBNPoor<-merge(CBNPoor,dt2,by=c("ProvinceCode"),all.x = TRUE)
+CBNPoor[,sum(HIndivNo),by=.(ProvinceCode)][order(ProvinceCode)]
+
+###Iteration1-10
+#Calculate Per_calories in clusters
+CBNPoor[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(185:200)][]
+#utils::View(CBNPoor)
+
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(202:217)][]
+
+CBNPoor[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor<-CBNPoor[Per_Daily_Exp_Calories!=0]
+CBNPoor[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+#CBN[,weighted.mean(Poor,Weight),by=cluster][order(cluster)]
+
+#Real Prices
+T_Bundle_Value<-subset(CBNPoor, ProvinceCode==23, select=c(Bundle_Value,Home_Per_Metr,Weight))
+Tehran_Bundle_Value1<-weighted.mean(T_Bundle_Value$Bundle_Value,T_Bundle_Value$Weight,na.rm = TRUE)
+Tehran_Bundle_Value2<-weighted.mean(T_Bundle_Value$Home_Per_Metr,T_Bundle_Value$Weight,na.rm = TRUE)
+CBNPoor[,RealPriceIndex1:=weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/Tehran_Bundle_Value1,by=ProvinceCode]
+CBNPoor[,RealPriceIndex2:=weighted.mean(Home_Per_Metr,Weight,na.rm = TRUE)/Tehran_Bundle_Value2,by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex1,Weight),by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex2,Weight),by=ProvinceCode]
+Indexes2<-CBNPoor[,.(RealPriceIndex1,RealPriceIndex2,ProvinceCode,Weight)]
+Indexes2<-Indexes2[,RealPriceIndex:=(RealPriceIndex1+RealPriceIndex2)/2]
+Indexes<-Indexes2[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+Indexes310<-Indexes[,.(ProvinceCode,RealPriceIndex1,RealPriceIndex2,RealPriceIndex)]
+Indexes<-Indexes[,.(ProvinceCode,RealPriceIndex)]
+CBN[,RealPriceIndex:=NULL]
+CBN<-merge(CBN,Indexes,by=c("ProvinceCode"),all.x = TRUE)
+CBN<-CBN[,Total_Food_Month_Per2:=FoodExpenditure_Per*RealPriceIndex]
+CBN<-CBN[,Total_Exp_Month_Per2:=Total_Exp_Month_Per_nondurable*RealPriceIndex]
+#utils::View(CBN)
+
+
+#Sort Expenditure data
+CBN<- CBN[order(Total_Exp_Month_Per2)]
+
+#Calculate cumulative weights
+sum(CBN$Weight)
+CBN$cumweight <- cumsum(CBN$Weight)
+tx <- max(CBN$cumweight)
+
+#Calculate deciles by weights
+CBN[,Decile:=cut(cumweight,breaks = seq(0,tx,tx/10),labels = 1:10)]
+CBN[,Percentile:=cut(cumweight,breaks=seq(0,tx,tx/100),labels=1:100)]
+
+#Update Poors
+CBN[,Poor:=ifelse(Decile %in% 1:4,1,0)]
+CBNPoor<-CBN[Poor==1]
+CBNPoor<-merge(CBNPoor,dt2,by=c("ProvinceCode"),all.x = TRUE)
+CBNPoor[,sum(HIndivNo),by=.(ProvinceCode)][order(ProvinceCode)]
+
+
+#Calculate Per_calories in clusters
+CBNPoor[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(189:204)][]
+#utils::View(CBNPoor)
+
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(206:221)][]
+
+CBNPoor[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor<-CBNPoor[Per_Daily_Exp_Calories!=0]
+CBNPoor[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNCalory<-CBNPoor[,.(Per_Daily_Calories,Per_Daily_Exp_Calories,Per_Calory_Resturant,Resturant_Exp,cluster,ProvinceCode)]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+
+
+#Calculations
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_day,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,sum(Size*Weight),by=cluster][order(cluster)]
+
+
+#Food Poverty Line for each cluster
+#cluster 1
+CBNPoorCluster<-CBNPoor[cluster==1]
+Food_Povertyline1_1<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 2
+CBNPoorCluster<-CBNPoor[cluster==2]
+Food_Povertyline2_1<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 3
+CBNPoorCluster<-CBNPoor[cluster==3]
+Food_Povertyline3_1<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 4
+CBNPoorCluster<-CBNPoor[cluster==4]
+Food_Povertyline4_1<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 5
+CBNPoorCluster<-CBNPoor[cluster==5]
+Food_Povertyline5_1<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#ee<-CBNPoor[,.(Total_Exp_Month_Real,Total_Exp_Month,Total_Food_Month_Per2,Total_Exp_Month_Per_nondurable,Total_Exp_Month_nondurable_Real_Per,FoodExpenditure_Per,cluster)]
+#mean(ee[,Total_Food_Month_Per2==Total_Exp_Month_nondurable_Real])
+#mean(ee[,Total_Food_Month_Per2<3500000])
+#ee<- ee[order(Total_Food_Month_Per2)]
+#utils::View(CBN)
+CBN<-merge(CBN,dt2,by=c("ProvinceCode"),all.x = TRUE)
+#for (col in c("Total_Food_Month_Per2")) CBN[is.na(get(col)), (col) := Total_Exp_Month_Per_nondurable]
+c<-CBN[,.(FoodExpenditure_Per,FoodExpenditure_Per_total,Total_Exp_Month_Per_nondurable,Total_Exp_Month,Total_Food_Month_Per2,Poor,Decile,Weight,cluster)]
+
+#########Iteration 2###############
+#Sort Expenditure data
+CBN<- CBN[order(Total_Food_Month_Per2)]
+c<- c[order(Total_Food_Month_Per2)]
+
+#Indicate new poors
+CBN[,Poor2:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_1 & cluster==1,1,0)]
+c[,Poor2:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_1 & cluster==1 ,1,0)]
+CBN[,Poor2:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_1 & cluster==2,1,Poor2)]
+c[,Poor2:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_1 & cluster==2 ,1,Poor2)]
+CBN[,Poor2:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_1 & cluster==3,1,Poor2)]
+c[,Poor2:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_1 & cluster==3 ,1,Poor2)]
+CBN[,Poor2:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_1 & cluster==4,1,Poor2)]
+c[,Poor2:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_1 & cluster==4 ,1,Poor2)]
+CBN[,Poor2:=ifelse(FoodExpenditure_Per_total < Food_Povertyline5_1 & cluster==5,1,Poor2)]
+c[,Poor2:=ifelse(FoodExpenditure_Per_total < Food_Povertyline5_1 & cluster==5 ,1,Poor2)]
+CBN[,weighted.mean(Poor2,Weight),by=cluster][order(cluster)]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2<-CBN[Poor2==1]
+
+
+#CalculatePer_calories in clusters
+CBNPoor2[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(190:205)][]
+#utils::View(CBNPoor2)
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor2[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(207:222)][]
+
+CBNPoor2[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor2[,Calory_Price:=FoodExpenditure_Per_cluster/(Daily_Calories_cluster2)]
+CBNPoor2[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor2[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2<-CBNPoor2[Per_Daily_Exp_Calories!=0]
+CBNPoor2[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor2[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor2[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor2[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor2[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor2[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+
+
+
+#Calculations
+CBNPoor2[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,weighted.mean(FoodExpenditure_Per_day,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+
+
+
+#Food Poverty Line for each cluster
+#cluster 1
+CBNPoorCluster<-CBNPoor2[cluster==1]
+Food_Povertyline1_2<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 2
+CBNPoorCluster<-CBNPoor2[cluster==2]
+Food_Povertyline2_2<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 3
+CBNPoorCluster<-CBNPoor2[cluster==3]
+Food_Povertyline3_2<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 4
+CBNPoorCluster<-CBNPoor2[cluster==4]
+Food_Povertyline4_2<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 5
+CBNPoorCluster<-CBNPoor[cluster==5]
+Food_Povertyline5_2<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#ee<-CBNPoor[,.(Total_Exp_Month_Real,Total_Exp_Month,Total_Food_Month_Per2,Total_Exp_Month_Per_nondurable,Total_Exp_Month_nondurable_Real_Per,FoodExpenditure_Per,cluster)]
+#mean(ee[,Total_Food_Month_Per2==Total_Exp_Month_nondurable_Real])
+#mean(ee[,Total_Food_Month_Per2<3500000])
+#ee<- ee[order(Total_Food_Month_Per2)]
+#utils::View(CBN)
+#for (col in c("Total_Food_Month_Per2")) CBN[is.na(get(col)), (col) := Total_Exp_Month_Per_nondurable]
+c<-CBN[,.(FoodExpenditure_Per,FoodExpenditure_Per_total,Total_Exp_Month_Per_nondurable,Total_Exp_Month,Total_Food_Month_Per2,Poor,Decile,Weight,cluster)]
+
+
+#########Iteration 3###############
+#Sort Expenditure data
+CBN<- CBN[order(Total_Food_Month_Per2)]
+c<- c[order(Total_Food_Month_Per2)]
+
+#Indicate new poors
+CBN[,Poor3:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_2 & cluster==1,1,0)]
+c[,Poor3:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_2 & cluster==1 ,1,0)]
+CBN[,Poor3:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_2 & cluster==2,1,Poor3)]
+c[,Poor3:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_2 & cluster==2 ,1,Poor3)]
+CBN[,Poor3:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_2 & cluster==3,1,Poor3)]
+c[,Poor3:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_2 & cluster==3 ,1,Poor3)]
+CBN[,Poor3:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_2 & cluster==4,1,Poor3)]
+c[,Poor3:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_2 & cluster==4 ,1,Poor3)]
+CBN[,Poor3:=ifelse(FoodExpenditure_Per_total < Food_Povertyline5_2 & cluster==5,1,Poor3)]
+c[,Poor3:=ifelse(FoodExpenditure_Per_total < Food_Povertyline5_2 & cluster==5 ,1,Poor3)]
+CBN[,weighted.mean(Poor3,Weight),by=cluster][order(cluster)]
+CBNPoor2[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3<-CBN[Poor3==1]
+
+
+
+#CalculatePer_calories in clusters
+CBNPoor3[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(191:206)][]
+#utils::View(CBNPoor3)
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor3[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(208:223)][]
+
+
+CBNPoor3[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor3[,Calory_Price:=FoodExpenditure_Per_cluster/(Daily_Calories_cluster2)]
+CBNPoor3[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor3[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3<-CBNPoor3[Per_Daily_Exp_Calories!=0]
+CBNPoor3[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor3[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+
+#sum of total food expenditures
+CBNPoor3[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor3[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor3[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor3[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+
+
+#Calculations
+CBNPoor3[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,weighted.mean(FoodExpenditure_Per_day,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+
+
+
+#Food Poverty Line for each cluster
+#cluster 1
+CBNPoorCluster<-CBNPoor3[cluster==1]
+Food_Povertyline1_3<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 2
+CBNPoorCluster<-CBNPoor3[cluster==2]
+Food_Povertyline2_3<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 3
+CBNPoorCluster<-CBNPoor3[cluster==3]
+Food_Povertyline3_3<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 4
+CBNPoorCluster<-CBNPoor3[cluster==4]
+Food_Povertyline4_3<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 5
+CBNPoorCluster<-CBNPoor[cluster==5]
+Food_Povertyline5_3<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#ee<-CBNPoor[,.(Total_Exp_Month_Real,Total_Exp_Month,Total_Food_Month_Per2,Total_Exp_Month_Per_nondurable,Total_Exp_Month_nondurable_Real_Per,FoodExpenditure_Per,cluster)]
+#mean(ee[,Total_Food_Month_Per2==Total_Exp_Month_nondurable_Real])
+#mean(ee[,Total_Food_Month_Per2<3500000])
+#ee<- ee[order(Total_Food_Month_Per2)]
+#utils::View(CBN)
+#for (col in c("Total_Food_Month_Per2")) CBN[is.na(get(col)), (col) := Total_Exp_Month_Per_nondurable]
+c<-CBN[,.(FoodExpenditure_Per,FoodExpenditure_Per_total,Total_Exp_Month_Per_nondurable,Total_Exp_Month,Total_Food_Month_Per2,Poor,Decile,Weight,cluster)]
+
+
+#########Iteration 4###############
+#Sort Expenditure data
+CBN<- CBN[order(Total_Food_Month_Per2)]
+c<- c[order(Total_Food_Month_Per2)]
+
+#Indicate new poors
+CBN[,Poor4:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_3 & cluster==1,1,0)]
+c[,Poor4:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_3 & cluster==1 ,1,0)]
+CBN[,Poor4:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_3 & cluster==2,1,Poor4)]
+c[,Poor4:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_3 & cluster==2 ,1,Poor4)]
+CBN[,Poor4:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_3 & cluster==3,1,Poor4)]
+c[,Poor4:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_3 & cluster==3 ,1,Poor4)]
+CBN[,Poor4:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_3 & cluster==4,1,Poor4)]
+c[,Poor4:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_3 & cluster==4 ,1,Poor4)]
+CBN[,Poor4:=ifelse(FoodExpenditure_Per_total < Food_Povertyline5_3 & cluster==5,1,Poor4)]
+c[,Poor4:=ifelse(FoodExpenditure_Per_total < Food_Povertyline5_3 & cluster==5 ,1,Poor4)]
+CBN[,weighted.mean(Poor4,Weight),by=cluster][order(cluster)]
+CBNPoor3[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4<-CBN[Poor4==1]
+
+#CalculatePer_calories in clusters
+CBNPoor4[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(191:206)][]
+#utils::View(CBNPoor4)
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor4[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(208:223)][]
+
+
+CBNPoor4[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor4[,Calory_Price:=FoodExpenditure_Per_cluster/(Daily_Calories_cluster2)]
+CBNPoor4[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor4[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4<-CBNPoor4[Per_Daily_Exp_Calories!=0]
+CBNPoor4[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor4[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+
+#sum of total food expenditures
+CBNPoor4[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor4[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor4[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor4[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+
+
+#Calculations
+CBNPoor4[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,weighted.mean(FoodExpenditure_Per_day,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+
+
+
+#Food Poverty Line for each cluster
+#cluster 1
+CBNPoorCluster<-CBNPoor4[cluster==1]
+Food_Povertyline1_4<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 2
+CBNPoorCluster<-CBNPoor4[cluster==2]
+Food_Povertyline2_4<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 3
+CBNPoorCluster<-CBNPoor4[cluster==3]
+Food_Povertyline3_4<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 4
+CBNPoorCluster<-CBNPoor4[cluster==4]
+Food_Povertyline4_4<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 5
+CBNPoorCluster<-CBNPoor[cluster==5]
+Food_Povertyline5_4<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#ee<-CBNPoor[,.(Total_Exp_Month_Real,Total_Exp_Month,Total_Food_Month_Per2,Total_Exp_Month_Per_nondurable,Total_Exp_Month_nondurable_Real_Per,FoodExpenditure_Per,cluster)]
+#mean(ee[,Total_Food_Month_Per2==Total_Exp_Month_nondurable_Real])
+#mean(ee[,Total_Food_Month_Per2<3500000])
+#ee<- ee[order(Total_Food_Month_Per2)]
+#utils::View(CBN)
+#for (col in c("Total_Food_Month_Per2")) CBN[is.na(get(col)), (col) := Total_Exp_Month_Per_nondurable]
+c<-CBN[,.(FoodExpenditure_Per,FoodExpenditure_Per_total,Total_Exp_Month_Per_nondurable,Total_Exp_Month,Total_Food_Month_Per2,Poor,Decile,Weight,cluster)]
+
+
+#########Iteration 5###############
+#Sort Expenditure data
+CBN<- CBN[order(Total_Food_Month_Per2)]
+c<- c[order(Total_Food_Month_Per2)]
+
+#Indicate new poors
+CBN[,Poor5:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_4 & cluster==1,1,0)]
+c[,Poor5:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_4 & cluster==1 ,1,0)]
+CBN[,Poor5:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_4 & cluster==2,1,Poor5)]
+c[,Poor5:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_4 & cluster==2 ,1,Poor5)]
+CBN[,Poor5:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_4 & cluster==3,1,Poor5)]
+c[,Poor5:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_4 & cluster==3 ,1,Poor5)]
+CBN[,Poor5:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_4 & cluster==4,1,Poor5)]
+c[,Poor5:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_4 & cluster==4 ,1,Poor5)]
+CBN[,Poor5:=ifelse(FoodExpenditure_Per_total < Food_Povertyline5_4 & cluster==5,1,Poor5)]
+c[,Poor5:=ifelse(FoodExpenditure_Per_total < Food_Povertyline5_4 & cluster==5 ,1,Poor5)]
+CBN[,weighted.mean(Poor5,Weight),by=cluster][order(cluster)]
+CBNPoor4[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5<-CBN[Poor5==1]
+
+#CalculatePer_calories in clusters
+CBNPoor5[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(191:206)][]
+#utils::View(CBNPoor5)
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor5[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(208:223)][]
+
+
+CBNPoor5[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor5[,Calory_Price:=FoodExpenditure_Per_cluster/(Daily_Calories_cluster2)]
+CBNPoor5[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor5[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5<-CBNPoor5[Per_Daily_Exp_Calories!=0]
+CBNPoor5[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor5[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+
+#sum of total food expenditures
+CBNPoor5[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor5[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor5[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor5[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+
+
+#Calculations
+CBNPoor5[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,weighted.mean(FoodExpenditure_Per_day,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+
+
+
+#Food Poverty Line for each cluster
+#cluster 1
+CBNPoorCluster<-CBNPoor5[cluster==1]
+Food_Povertyline1_5<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 2
+CBNPoorCluster<-CBNPoor5[cluster==2]
+Food_Povertyline2_5<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 3
+CBNPoorCluster<-CBNPoor5[cluster==3]
+Food_Povertyline3_5<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 4
+CBNPoorCluster<-CBNPoor5[cluster==4]
+Food_Povertyline4_5<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 5
+CBNPoorCluster<-CBNPoor[cluster==5]
+Food_Povertyline5_5<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#ee<-CBNPoor[,.(Total_Exp_Month_Real,Total_Exp_Month,Total_Food_Month_Per2,Total_Exp_Month_Per_nondurable,Total_Exp_Month_nondurable_Real_Per,FoodExpenditure_Per,cluster)]
+#mean(ee[,Total_Food_Month_Per2==Total_Exp_Month_nondurable_Real])
+#mean(ee[,Total_Food_Month_Per2<3500000])
+#ee<- ee[order(Total_Food_Month_Per2)]
+#utils::View(CBN)
+#for (col in c("Total_Food_Month_Per2")) CBN[is.na(get(col)), (col) := Total_Exp_Month_Per_nondurable]
+c<-CBN[,.(FoodExpenditure_Per,FoodExpenditure_Per_total,Total_Exp_Month_Per_nondurable,Total_Exp_Month,Total_Food_Month_Per2,Poor,Decile,Weight,cluster)]
+
+
+#########Iteration 6###############
+#Sort Expenditure data
+CBN<- CBN[order(Total_Food_Month_Per2)]
+c<- c[order(Total_Food_Month_Per2)]
+
+#Indicate new poors
+CBN[,Poor6:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_5 & cluster==1,1,0)]
+c[,Poor6:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_5 & cluster==1 ,1,0)]
+CBN[,Poor6:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_5 & cluster==2,1,Poor6)]
+c[,Poor6:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_5 & cluster==2 ,1,Poor6)]
+CBN[,Poor6:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_5 & cluster==3,1,Poor6)]
+c[,Poor6:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_5 & cluster==3 ,1,Poor6)]
+CBN[,Poor6:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_5 & cluster==4,1,Poor6)]
+c[,Poor6:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_5 & cluster==4 ,1,Poor6)]
+CBN[,Poor6:=ifelse(FoodExpenditure_Per_total < Food_Povertyline5_5 & cluster==5,1,Poor6)]
+c[,Poor6:=ifelse(FoodExpenditure_Per_total < Food_Povertyline5_5 & cluster==5 ,1,Poor6)]
+CBN[,weighted.mean(Poor6,Weight),by=cluster][order(cluster)]
+CBNPoor5[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6<-CBN[Poor6==1]
+
+#CalculatePer_calories in clusters
+CBNPoor6[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(191:206)][]
+#utils::View(CBNPoor6)
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor6[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(208:223)][]
+
+
+CBNPoor6[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor6[,Calory_Price:=FoodExpenditure_Per_cluster/(Daily_Calories_cluster2)]
+CBNPoor6[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor6[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6<-CBNPoor6[Per_Daily_Exp_Calories!=0]
+CBNPoor6[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor6[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+
+#sum of total food expenditures
+CBNPoor6[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor6[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor6[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor6[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+
+
+#Calculations
+CBNPoor6[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,weighted.mean(FoodExpenditure_Per_day,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+
+
+#Food Poverty Line for each cluster
+#cluster 1
+CBNPoorCluster<-CBNPoor6[cluster==1]
+Food_Povertyline1_6<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 2
+CBNPoorCluster<-CBNPoor6[cluster==2]
+Food_Povertyline2_6<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 3
+CBNPoorCluster<-CBNPoor6[cluster==3]
+Food_Povertyline3_6<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 4
+CBNPoorCluster<-CBNPoor6[cluster==4]
+Food_Povertyline4_6<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 5
+CBNPoorCluster<-CBNPoor[cluster==5]
+Food_Povertyline5_6<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#ee<-CBNPoor[,.(Total_Exp_Month_Real,Total_Exp_Month,Total_Food_Month_Per2,Total_Exp_Month_Per_nondurable,Total_Exp_Month_nondurable_Real_Per,FoodExpenditure_Per,cluster)]
+#mean(ee[,Total_Food_Month_Per2==Total_Exp_Month_nondurable_Real])
+#mean(ee[,Total_Food_Month_Per2<3500000])
+#ee<- ee[order(Total_Food_Month_Per2)]
+#utils::View(CBN)
+#for (col in c("Total_Food_Month_Per2")) CBN[is.na(get(col)), (col) := Total_Exp_Month_Per_nondurable]
+c<-CBN[,.(FoodExpenditure_Per,FoodExpenditure_Per_total,Total_Exp_Month_Per_nondurable,Total_Exp_Month,Total_Food_Month_Per2,Poor,Decile,Weight,cluster)]
+
+
+#########Iteration 7###############
+#Sort Expenditure data
+CBN<- CBN[order(Total_Food_Month_Per2)]
+c<- c[order(Total_Food_Month_Per2)]
+
+#Indicate new poors
+CBN[,Poor7:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_6 & cluster==1,1,0)]
+c[,Poor7:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_6 & cluster==1 ,1,0)]
+CBN[,Poor7:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_6 & cluster==2,1,Poor7)]
+c[,Poor7:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_6 & cluster==2 ,1,Poor7)]
+CBN[,Poor7:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_6 & cluster==3,1,Poor7)]
+c[,Poor7:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_6 & cluster==3 ,1,Poor7)]
+CBN[,Poor7:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_6 & cluster==4,1,Poor7)]
+c[,Poor7:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_6 & cluster==4 ,1,Poor7)]
+CBN[,Poor7:=ifelse(FoodExpenditure_Per_total < Food_Povertyline5_6 & cluster==5,1,Poor7)]
+c[,Poor7:=ifelse(FoodExpenditure_Per_total < Food_Povertyline5_6 & cluster==5 ,1,Poor7)]
+CBN[,weighted.mean(Poor7,Weight),by=cluster][order(cluster)]
+CBNPoor6[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7<-CBN[Poor7==1]
+
+#CalculatePer_calories in clusters
+CBNPoor7[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(191:206)][]
+#utils::View(CBNPoor7)
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor7[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(208:223)][]
+
+
+CBNPoor7[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor7[,Calory_Price:=FoodExpenditure_Per_cluster/(Daily_Calories_cluster2)]
+CBNPoor7[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor7[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7<-CBNPoor7[Per_Daily_Exp_Calories!=0]
+CBNPoor7[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor7[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+
+#sum of total food expenditures
+CBNPoor7[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor7[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor7[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor7[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+
+
+#Calculations
+CBNPoor7[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,weighted.mean(FoodExpenditure_Per_day,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+
+
+
+#Food Poverty Line for each cluster
+#cluster 1
+CBNPoorCluster<-CBNPoor7[cluster==1]
+Food_Povertyline1_7<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 2
+CBNPoorCluster<-CBNPoor7[cluster==2]
+Food_Povertyline2_7<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 3
+CBNPoorCluster<-CBNPoor7[cluster==3]
+Food_Povertyline3_7<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 4
+CBNPoorCluster<-CBNPoor7[cluster==4]
+Food_Povertyline4_7<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 5
+CBNPoorCluster<-CBNPoor[cluster==5]
+Food_Povertyline5_7<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#ee<-CBNPoor[,.(Total_Exp_Month_Real,Total_Exp_Month,Total_Food_Month_Per2,Total_Exp_Month_Per_nondurable,Total_Exp_Month_nondurable_Real_Per,FoodExpenditure_Per,cluster)]
+#mean(ee[,Total_Food_Month_Per2==Total_Exp_Month_nondurable_Real])
+#mean(ee[,Total_Food_Month_Per2<3500000])
+#ee<- ee[order(Total_Food_Month_Per2)]
+#utils::View(CBN)
+#for (col in c("Total_Food_Month_Per2")) CBN[is.na(get(col)), (col) := Total_Exp_Month_Per_nondurable]
+c<-CBN[,.(FoodExpenditure_Per,FoodExpenditure_Per_total,Total_Exp_Month_Per_nondurable,Total_Exp_Month,Total_Food_Month_Per2,Poor,Decile,Weight,cluster)]
+
+
+#########Iteration 8###############
+#Sort Expenditure data
+CBN<- CBN[order(Total_Food_Month_Per2)]
+c<- c[order(Total_Food_Month_Per2)]
+
+#Indicate new poors
+CBN[,Poor8:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_7 & cluster==1,1,0)]
+c[,Poor8:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_7 & cluster==1 ,1,0)]
+CBN[,Poor8:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_7 & cluster==2,1,Poor8)]
+c[,Poor8:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_7 & cluster==2 ,1,Poor8)]
+CBN[,Poor8:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_7 & cluster==3,1,Poor8)]
+c[,Poor8:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_7 & cluster==3 ,1,Poor8)]
+CBN[,Poor8:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_7 & cluster==4,1,Poor8)]
+c[,Poor8:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_7 & cluster==4 ,1,Poor8)]
+CBN[,Poor8:=ifelse(FoodExpenditure_Per_total < Food_Povertyline5_7 & cluster==5,1,Poor8)]
+c[,Poor8:=ifelse(FoodExpenditure_Per_total < Food_Povertyline5_7 & cluster==5 ,1,Poor8)]
+CBN[,weighted.mean(Poor8,Weight),by=cluster][order(cluster)]
+CBNPoor7[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8<-CBN[Poor8==1]
+
+
+#CalculatePer_calories in clusters
+CBNPoor8[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(191:206)][]
+#utils::View(CBNPoor8)
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor8[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(208:223)][]
+
+
+CBNPoor8[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor8[,Calory_Price:=FoodExpenditure_Per_cluster/(Daily_Calories_cluster2)]
+CBNPoor8[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor8[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8<-CBNPoor8[Per_Daily_Exp_Calories!=0]
+CBNPoor8[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor8[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+
+#sum of total food expenditures
+CBNPoor8[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor8[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor8[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor8[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+
+
+#Calculations
+CBNPoor8[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,weighted.mean(FoodExpenditure_Per_day,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+
+
+
+#Food Poverty Line for each cluster
+#cluster 1
+CBNPoorCluster<-CBNPoor8[cluster==1]
+Food_Povertyline1_8<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 2
+CBNPoorCluster<-CBNPoor8[cluster==2]
+Food_Povertyline2_8<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 3
+CBNPoorCluster<-CBNPoor8[cluster==3]
+Food_Povertyline3_8<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 4
+CBNPoorCluster<-CBNPoor8[cluster==4]
+Food_Povertyline4_8<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 5
+CBNPoorCluster<-CBNPoor[cluster==5]
+Food_Povertyline5_8<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#ee<-CBNPoor[,.(Total_Exp_Month_Real,Total_Exp_Month,Total_Food_Month_Per2,Total_Exp_Month_Per_nondurable,Total_Exp_Month_nondurable_Real_Per,FoodExpenditure_Per,cluster)]
+#mean(ee[,Total_Food_Month_Per2==Total_Exp_Month_nondurable_Real])
+#mean(ee[,Total_Food_Month_Per2<3500000])
+#ee<- ee[order(Total_Food_Month_Per2)]
+#utils::View(CBN)
+#for (col in c("Total_Food_Month_Per2")) CBN[is.na(get(col)), (col) := Total_Exp_Month_Per_nondurable]
+c<-CBN[,.(FoodExpenditure_Per,FoodExpenditure_Per_total,Total_Exp_Month_Per_nondurable,Total_Exp_Month,Total_Food_Month_Per2,Poor,Decile,Weight,cluster)]
+
+
+#########Iteration 9###############
+#Sort Expenditure data
+CBN<- CBN[order(Total_Food_Month_Per2)]
+c<- c[order(Total_Food_Month_Per2)]
+
+#Indicate new poors
+CBN[,Poor9:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_8 & cluster==1,1,0)]
+c[,Poor9:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_8 & cluster==1 ,1,0)]
+CBN[,Poor9:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_8 & cluster==2,1,Poor9)]
+c[,Poor9:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_8 & cluster==2 ,1,Poor9)]
+CBN[,Poor9:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_8 & cluster==3,1,Poor9)]
+c[,Poor9:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_8 & cluster==3 ,1,Poor9)]
+CBN[,Poor9:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_8 & cluster==4,1,Poor9)]
+c[,Poor9:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_8 & cluster==4 ,1,Poor9)]
+CBN[,Poor9:=ifelse(FoodExpenditure_Per_total < Food_Povertyline5_8 & cluster==5,1,Poor9)]
+c[,Poor9:=ifelse(FoodExpenditure_Per_total < Food_Povertyline5_8 & cluster==5 ,1,Poor9)]
+CBN[,weighted.mean(Poor9,Weight),by=cluster][order(cluster)]
+CBNPoor8[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9<-CBN[Poor9==1]
+
+
+#CalculatePer_calories in clusters
+CBNPoor9[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(191:206)][]
+#utils::View(CBNPoor9)
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor9[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(208:223)][]
+
+
+CBNPoor9[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor9[,Calory_Price:=FoodExpenditure_Per_cluster/(Daily_Calories_cluster2)]
+CBNPoor9[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor9[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9<-CBNPoor9[Per_Daily_Exp_Calories!=0]
+CBNPoor9[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor9[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+
+#sum of total food expenditures
+CBNPoor9[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor9[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor9[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor9[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+
+
+
+#Calculations
+CBNPoor9[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,weighted.mean(FoodExpenditure_Per_day,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+
+
+
+#Food Poverty Line for each cluster
+#cluster 1
+CBNPoorCluster<-CBNPoor9[cluster==1]
+Food_Povertyline1_9<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 2
+CBNPoorCluster<-CBNPoor9[cluster==2]
+Food_Povertyline2_9<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 3
+CBNPoorCluster<-CBNPoor9[cluster==3]
+Food_Povertyline3_9<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 4
+CBNPoorCluster<-CBNPoor9[cluster==4]
+Food_Povertyline4_9<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 5
+CBNPoorCluster<-CBNPoor[cluster==5]
+Food_Povertyline5_9<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#ee<-CBNPoor[,.(Total_Exp_Month_Real,Total_Exp_Month,Total_Food_Month_Per2,Total_Exp_Month_Per_nondurable,Total_Exp_Month_nondurable_Real_Per,FoodExpenditure_Per,cluster)]
+#mean(ee[,Total_Food_Month_Per2==Total_Exp_Month_nondurable_Real])
+#mean(ee[,Total_Food_Month_Per2<3500000])
+#ee<- ee[order(Total_Food_Month_Per2)]
+#utils::View(CBN)
+#for (col in c("Total_Food_Month_Per2")) CBN[is.na(get(col)), (col) := Total_Exp_Month_Per_nondurable]
+c<-CBN[,.(FoodExpenditure_Per,FoodExpenditure_Per_total,Total_Exp_Month_Per_nondurable,Total_Exp_Month,Total_Food_Month_Per2,Poor,Decile,Weight,cluster)]
+
+
+#########Iteration 10###############
+#Sort Expenditure data
+CBN<- CBN[order(Total_Food_Month_Per2)]
+c<- c[order(Total_Food_Month_Per2)]
+
+#Indicate new poors
+CBN[,Poor10:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_9 & cluster==1,1,0)]
+c[,Poor10:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_9 & cluster==1 ,1,0)]
+CBN[,Poor10:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_9 & cluster==2,1,Poor10)]
+c[,Poor10:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_9 & cluster==2 ,1,Poor10)]
+CBN[,Poor10:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_9 & cluster==3,1,Poor10)]
+c[,Poor10:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_9 & cluster==3 ,1,Poor10)]
+CBN[,Poor10:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_9 & cluster==4,1,Poor10)]
+c[,Poor10:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_9 & cluster==4 ,1,Poor10)]
+CBN[,Poor10:=ifelse(FoodExpenditure_Per_total < Food_Povertyline5_9 & cluster==5,1,Poor10)]
+c[,Poor10:=ifelse(FoodExpenditure_Per_total < Food_Povertyline5_9 & cluster==5 ,1,Poor10)]
+CBN[,weighted.mean(Poor10,Weight),by=cluster][order(cluster)]
+CBNPoor9[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor10<-CBN[Poor10==1]
+
+#Engel
+#CBNPoor9<-CBNPoor9[,ratio1:=FoodExpenditure/Total_Exp_Month]
+#CBNPoor9[,weighted.mean(ratio1,Weight),by=cluster]
+#summary(CBNPoor9$ratio1)
+CBN<-CBN[,ratio1:=FoodExpenditure/Total_Exp_Month]
+CBN[,weighted.mean(ratio1,Weight),by=ProvinceCode][order(ProvinceCode)]
+CBN<-CBN[,ratio2:=ServiceExp/Total_Exp_Month]
+CBN[,weighted.mean(ratio2,Weight),by=ProvinceCode][order(ProvinceCode)]
+
+# Poverty Line for each cluster
+#cluster 1
+CBNPoorCluster<-CBN[cluster==1 & FoodExpenditure_Per_total<1.1*Food_Povertyline1_9 & FoodExpenditure_Per_total>0.90*Food_Povertyline1_9]
+Engel1<-weighted.mean(CBNPoorCluster$ratio1,CBNPoorCluster$Weight)
+Engel_Reverse1<-1/Engel1
+Povertyline1_9<-Engel_Reverse1*Food_Povertyline1_9
+
+#cluster 2
+CBNPoorCluster<-CBN[cluster==2 & FoodExpenditure_Per_total<1.1*Food_Povertyline2_9 & FoodExpenditure_Per_total>0.90*Food_Povertyline2_9]
+Engel2<-weighted.mean(CBNPoorCluster$ratio1,CBNPoorCluster$Weight)
+Engel_Reverse2<-1/Engel2
+Povertyline2_9<-Engel_Reverse2*Food_Povertyline2_9
+
+#cluster 3
+CBNPoorCluster<-CBN[cluster==3 & FoodExpenditure_Per_total<1.1*Food_Povertyline3_9 & FoodExpenditure_Per_total>0.90*Food_Povertyline3_9]
+Engel3<-weighted.mean(CBNPoorCluster$ratio1,CBNPoorCluster$Weight)
+Engel_Reverse3<-1/Engel3
+Povertyline3_9<-Engel_Reverse3*Food_Povertyline3_9
+
+#cluster 4
+CBNPoorCluster<-CBN[cluster==4 & FoodExpenditure_Per_total<1.1*Food_Povertyline4_9 & FoodExpenditure_Per_total>0.90*Food_Povertyline4_9]
+Engel4<-weighted.mean(CBNPoorCluster$ratio1,CBNPoorCluster$Weight)
+Engel_Reverse4<-1/Engel4
+Povertyline4_9<-Engel_Reverse4*Food_Povertyline4_9
+
+#cluster 5
+CBNPoorCluster<-CBN[cluster==5 & FoodExpenditure_Per_total<1.1*Food_Povertyline5_9 & FoodExpenditure_Per_total>0.90*Food_Povertyline5_9]
+Engel5<-weighted.mean(CBNPoorCluster$ratio1,CBNPoorCluster$Weight)
+Engel_Reverse5<-1/Engel5
+Povertyline5_9<-Engel_Reverse5*Food_Povertyline5_9
+
+#Indicate final poors
+CBN<-CBN[,Total_Exp_Month_Per2:=Total_Exp_Month_Per_nondurable*RealPriceIndex]
+
+CBN[,Poor11:=ifelse(Total_Exp_Month_Per_nondurable < Povertyline1_9 & cluster==1,1,0)]
+CBN[,Poor11:=ifelse(Total_Exp_Month_Per_nondurable < Povertyline2_9 & cluster==2,1,Poor11)]
+CBN[,Poor11:=ifelse(Total_Exp_Month_Per_nondurable < Povertyline3_9 & cluster==3,1,Poor11)]
+CBN[,Poor11:=ifelse(Total_Exp_Month_Per_nondurable < Povertyline4_9 & cluster==4,1,Poor11)]
+CBN[,Poor11:=ifelse(Total_Exp_Month_Per_nondurable < Povertyline5_9 & cluster==5,1,Poor11)]
+CBN[,weighted.mean(Poor11,Weight),by=cluster][order(cluster)]
+CBNPoor9[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor11<-CBN[Poor11==1]
+
+CBN[,sum(Size*Weight),by=cluster][order(cluster)]
+CBNPoor9[,sum(Size*Weight),by=cluster][order(cluster)]
+CBNPoor9[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBN[,weighted.mean(Poor11,Weight)]
+CBN[,weighted.mean(Poor11,Weight),by=cluster][order(cluster)]
+CBN[,weighted.mean(Poor11,Weight),by=ProvinceCode][order(ProvinceCode)]
+endtime <- proc.time()
+
+cat("\n\n============================\nIt took ")
+cat(endtime-starttime)
+
diff --git a/R/Archive/Other Codes/60-CBN94-Urban.R b/R/Archive/Other Codes/60-CBN94-Urban.R
new file mode 100644
index 00000000..86cbd25d
--- /dev/null
+++ b/R/Archive/Other Codes/60-CBN94-Urban.R
@@ -0,0 +1,2878 @@
+#CBN Method-Urban.R
+#
+# Copyright © 2018:Arin Shahbazian
+# Licence: GPL-3
+#
+rm(list=ls())
+
+starttime <- proc.time()
+cat("\n\n================ Prepare Data =====================================\n")
+
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+library(readxl)
+library(stringr)
+library(data.table)
+
+#for(year in (Settings$startyear:Settings$endyear)){
+# cat(paste0("\n------------------------------\nYear:",year,"\n"))
+
+load(file=paste0(Settings$HEISProcessedPath,"Y","94","HHBase.rda"))
+HHBase[,IndivNo:=NULL]
+HHBase[,Relationship:=NULL]
+HHBase[,Sex:=NULL]
+HHBase[,Age:=NULL]
+HHBase[,Literate:=NULL]
+HHBase[,Student:=NULL]
+HHBase[,EduCode:=NULL]
+HHBase[,EduYears:=NULL]
+HHBase[,EduLevel:=NULL]
+HHBase[,EduLevel0:=NULL]
+HHBase[,ActivityState:=NULL]
+HHBase[,MarritalState:=NULL]
+load(file=paste0(Settings$HEISProcessedPath,"Y","94","Ghand_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","94","Hoboobat_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","94","Roghan_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","94","Berenj_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","94","Nan_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","94","Goosht_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","94","Morgh_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","94","Mahi_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","94","Shir_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","94","Mast_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","94","Panir_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","94","Tokhmemorgh_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","94","Mive_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","94","Sabzi_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","94","Makarooni_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","94","Sibzamini_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","94","Weights.rda"))
+
+Ghand_Data<-Ghand_Data[,.(HHID,Ghandgram,GhandPrice)]
+Hoboobat_Data<-Hoboobat_Data[,.(HHID,Hoboobatgram,HoboobatPrice)]
+Roghan_Data<-Roghan_Data[,.(HHID,Roghangram,RoghanPrice)]
+Berenj_Data<-Berenj_Data[,.(HHID,Berenjgram,BerenjPrice)]
+Nan_Data<-Nan_Data[,.(HHID,Nangram,NanPrice)]
+Goosht_Data<-Goosht_Data[,.(HHID,Gooshtgram,GooshtPrice)]
+Morgh_Data<-Morgh_Data[,.(HHID,Morghgram,MorghPrice)]
+Mahi_Data<-Mahi_Data[,.(HHID,Mahigram,MahiPrice)]
+Shir_Data<-Shir_Data[,.(HHID,Shirgram,ShirPrice)]
+Mast_Data<-Mast_Data[,.(HHID,Mastgram,MastPrice)]
+Panir_Data<-Panir_Data[,.(HHID,Panirgram,PanirPrice)]
+Tokhmemorgh_Data<-Tokhmemorgh_Data[,.(HHID,Tokhmemorghgram,TokhmemorghPrice)]
+Mive_Data<-Mive_Data[,.(HHID,Mivegram,MivePrice)]
+Sabzi_Data<-Sabzi_Data[,.(HHID,Sabzigram,SabziPrice)]
+Makarooni_Data<-Makarooni_Data[,.(HHID,Makaroonigram,MakarooniPrice)]
+Sibzamini_Data<-Sibzamini_Data[,.(HHID,Sibzaminigram,SibzaminiPrice)]
+
+Food<-merge(HHBase,Ghand_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Ghandgram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Hoboobat_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Hoboobatgram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Roghan_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Roghangram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Berenj_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Berenjgram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Nan_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Nangram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Goosht_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Gooshtgram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Morgh_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Morghgram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Mahi_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Mahigram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Shir_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Shirgram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Mast_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Mastgram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Panir_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Panirgram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Tokhmemorgh_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Tokhmemorghgram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Mive_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Mivegram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Sabzi_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Sabzigram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Makarooni_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Makaroonigram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Sibzamini_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Sibzaminigram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Weights,by =c("HHID"),all.x=TRUE)
+
+
+
+#load Expenditure groups
+load(file=paste0(Settings$HEISProcessedPath,"Y","94","HHBase.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","94","HHI.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","94","Foods.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","94","Cigars.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","94","Cloths.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","94","Amusements.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","94","Communications.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","94","Durables.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","94","Education.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","94","Energy.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","94","Furnitures.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","94","Hotels.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","94","House.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","94","Medicals.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","94","Behdashts.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","94","Transportations.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","94","Others.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","94","Investments.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","94","Resturants.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","94","Weights.rda"))
+
+#merge Expenditure groups
+CBN<-merge(Food,HHI ,by =c("HHID"),all=TRUE)
+CBN<-merge(CBN,FoodData,by =c("HHID"),all=TRUE)
+for (col in c("FoodExpenditure")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,CigarData,by =c("HHID"),all=TRUE)
+for (col in c("Cigar_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,ClothData,by =c("HHID"),all=TRUE)
+for (col in c("Cloth_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,AmusementData,by =c("HHID"),all=TRUE)
+for (col in c("Amusement_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,CommunicationData,by =c("HHID"),all=TRUE)
+for (col in c("Communication_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,EducData,by =c("HHID"),all=TRUE)
+for (col in c("EducExpenditure")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,EnergyData,by =c("HHID"),all=TRUE)
+for (col in c("Energy_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,FurnitureData,by =c("HHID"),all=TRUE)
+for (col in c("Furniture_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,HotelData,by =c("HHID"),all=TRUE)
+for (col in c("Hotel_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,BehdashtData,by =c("HHID"),all=TRUE)
+for (col in c("Behdasht_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,TransportationData,by =c("HHID"),all=TRUE)
+for (col in c("Transportation_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,OtherData,by =c("HHID"),all=TRUE)
+for (col in c("Other_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,HouseData,by =c("HHID"),all=TRUE)
+for (col in c("ServiceExp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,InvestmentData,by =c("HHID"),all=TRUE)
+for (col in c("Investment_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,MedicalData,by =c("HHID"),all=TRUE)
+for (col in c("Medical_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,DurableData,by =c("HHID"),all=TRUE)
+for (col in c("Durable_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,ResturantData,by =c("HHID"),all=TRUE)
+for (col in c("Resturant_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-CBN[Size!=0]
+CBN<-CBN[Region=="Urban"]
+CBN<-CBN[FoodExpenditure!=0]
+
+
+#Calculate Per_Total Expenditures Monthly
+CBN[, Total_Exp_Month := Reduce(`+`, .SD), .SDcols=c(65:77,82:83)][]
+CBN[, Total_Exp_Month_nondurable := Reduce(`+`, .SD), .SDcols=65:77][]
+
+CBN$Total_Exp_Month_Per<-CBN$Total_Exp_Month/CBN$EqSizeOECD
+CBN$Total_Exp_Month_Per_nondurable<-CBN$Total_Exp_Month_nondurable/CBN$EqSizeOECD
+
+#Calculate Per_Food Expenditures Monthly
+CBN[,EqSizeCalory :=(Size-NKids) + NKids*(1800/2100)]
+CBN$FoodExpenditure_Per<-CBN$FoodExpenditure/CBN$EqSizeCalory
+
+#Calculate Per_Food Expenditures Daily
+CBN$FoodExpenditure_Per_day<-CBN$FoodExpenditure_Per/30
+
+CBN$Ghandgram_Per_day<-CBN$Ghandgram/(30*CBN$EqSizeOECD)
+CBN$Hoboobatgram_Per_day<-CBN$Hoboobatgram/(30*CBN$EqSizeOECD)
+CBN$Berenjgram_Per_day<-CBN$Berenjgram/(30*CBN$EqSizeOECD)
+CBN$Nangram_Per_day<-CBN$Nangram/(30*CBN$EqSizeOECD)
+CBN$Roghangram_Per_day<-CBN$Roghangram/(30*CBN$EqSizeOECD)
+CBN$Gooshtgram_Per_day<-CBN$Gooshtgram/(30*CBN$EqSizeOECD)
+CBN$Morghgram_Per_day<-CBN$Morghgram/(30*CBN$EqSizeOECD)
+CBN$Mahigram_Per_day<-CBN$Mahigram/(30*CBN$EqSizeOECD)
+CBN$Shirgram_Per_day<-CBN$Shirgram/(30*CBN$EqSizeOECD)
+CBN$Mastgram_Per_day<-CBN$Mastgram/(30*CBN$EqSizeOECD)
+CBN$Panirgram_Per_day<-CBN$Panirgram/(30*CBN$EqSizeOECD)
+CBN$Tokhmemorghgram_Per_day<-CBN$Tokhmemorghgram/(30*CBN$EqSizeOECD)
+CBN$Mivegram_Per_day<-CBN$Mivegram/(30*CBN$EqSizeOECD)
+CBN$Sabzigram_Per_day<-CBN$Sabzigram/(30*CBN$EqSizeOECD)
+CBN$Makaroonigram_Per_day<-CBN$Makaroonigram/(30*CBN$EqSizeOECD)
+CBN$Sibzaminigram_Per_day<-CBN$Sibzaminigram/(30*CBN$EqSizeOECD)
+CBN[,EqSizeCalory:=NULL]
+
+load(file="PriceIndex95.rda")
+CBN<-merge(CBN,PriceIndex95,by=c("ProvinceCode"),all.x = TRUE)
+CBN[,ostan:=NULL]
+load(file="PriceIndex.rda")
+CBN<-merge(CBN,PriceIndex,by=c("ProvinceCode"),all.x = TRUE)
+
+#Sort Expenditure data
+CBN<- CBN[order(Total_Exp_Month_Per_nondurable)]
+
+#Calculate cumulative weights
+sum(CBN$Weight)
+CBN$cumweight <- cumsum(CBN$Weight)
+tx <- max(CBN$cumweight)
+
+#Calculate deciles by weights
+CBN[,Decile:=cut(cumweight,breaks = seq(0,tx,tx/10),labels = 1:10)]
+CBN[,Percentile:=cut(cumweight,breaks=seq(0,tx,tx/100),labels=1:100)]
+
+
+CBN$Ghand_W<-CBN$Ghandgram_Per_day*CBN$GhandPrice*0.001*30
+CBN$Hoboobat_W<-CBN$Hoboobatgram_Per_day*CBN$HoboobatPrice*0.001*30
+CBN$Roghan_W<-CBN$Roghangram_Per_day*CBN$RoghanPrice*0.001*30
+CBN$Berenj_W<-CBN$Berenjgram_Per_day*CBN$BerenjPrice*0.001*30
+CBN$Nan_W<-CBN$Nangram_Per_day*CBN$NanPrice*0.001*30
+CBN$Goosht_W<-CBN$Gooshtgram_Per_day*CBN$GooshtPrice*0.001*30
+CBN$Morgh_W<-CBN$Morghgram_Per_day*CBN$MorghPrice*0.001*30
+CBN$Mahi_W<-CBN$Mahigram_Per_day*CBN$MahiPrice*0.001*30
+CBN$Shir_W<-CBN$Shirgram_Per_day*CBN$ShirPrice*0.001*30
+CBN$Mast_W<-CBN$Mastgram_Per_day*CBN$MastPrice*0.001*30
+CBN$Panir_W<-CBN$Panirgram_Per_day*CBN$PanirPrice*0.001*30
+CBN$Tokhmemorgh_W<-CBN$Tokhmemorghgram_Per_day*CBN$TokhmemorghPrice*0.001*30
+CBN$Mive_W<-CBN$Mivegram_Per_day*CBN$MivePrice*0.001*30
+CBN$Sabzi_W<-CBN$Sabzigram_Per_day*CBN$SabziPrice*0.001*30
+CBN$Makarooni_W<-CBN$Makaroonigram_Per_day*CBN$MakarooniPrice*0.001*30
+CBN$Sibzamini_W<-CBN$Sibzaminigram_Per_day*CBN$SibzaminiPrice*0.001*30
+CBN$Home_W<-CBN$ServiceExp/CBN$EqSizeOECD
+CBN$Home_Per_Metr<-CBN$MetrPrice/CBN$EqSizeOECD
+
+#Seperate big cities
+CBN[,sum(Weight*Size),by=ProvinceCode][order(V1)]
+CBN[,HHIDs:=as.character(HHID)]
+CBN[,ShahrestanCode:=as.integer(str_sub(HHIDs,2,5))]
+CBN[,sum(Weight*Size),by=ShahrestanCode][order(V1)][330:387]
+CBNTehran<-CBN[ProvinceCode==23]
+CBNTehran[,sum(Weight*Size),by=ShahrestanCode]
+CBNTabriz<-CBN[ProvinceCode==3]
+CBNTabriz[,sum(Weight*Size),by=ShahrestanCode]
+CBNAhvaz<-CBN[ProvinceCode==6]
+CBNAhvaz[,sum(Weight*Size),by=ShahrestanCode]
+CBNShiraz<-CBN[ProvinceCode==7]
+CBNShiraz[,sum(Weight*Size),by=ShahrestanCode]
+CBNMashhad<-CBN[ProvinceCode==9]
+CBNMashhad[,sum(Weight*Size),by=ShahrestanCode]
+CBNEsfahan<-CBN[ProvinceCode==10]
+CBNEsfahan[,sum(Weight*Size),by=ShahrestanCode]
+CBNKaraj<-CBN[ProvinceCode==30]
+CBNKaraj[,sum(Weight*Size),by=ShahrestanCode]
+CBNKermanshah<-CBN[ProvinceCode==5]
+CBNKermanshah[,sum(Weight*Size),by=ShahrestanCode]
+
+
+CBN<-CBN[ShahrestanCode==2301,ProvinceCode:=as.numeric(ShahrestanCode)]
+CBN<-CBN[ShahrestanCode==303,ProvinceCode:=as.numeric(ShahrestanCode)]
+CBN<-CBN[ShahrestanCode==603,ProvinceCode:=as.numeric(ShahrestanCode)]
+CBN<-CBN[ShahrestanCode==707,ProvinceCode:=as.numeric(ShahrestanCode)]
+CBN<-CBN[ShahrestanCode==916,ProvinceCode:=as.numeric(ShahrestanCode)]
+CBN<-CBN[ShahrestanCode==1002,ProvinceCode:=as.numeric(ShahrestanCode)]
+CBN<-CBN[ShahrestanCode==3001,ProvinceCode:=as.numeric(ShahrestanCode)]
+CBN<-CBN[ShahrestanCode==2301,ProvinceCode:=as.numeric(ShahrestanCode)]
+CBN<-CBN[ShahrestanCode==502,ProvinceCode:=as.numeric(ShahrestanCode)]
+
+# Food Calories
+CBN$Ghand_Calory<- CBN$Ghandgram *4
+CBN$Hoboobat_Calory<- CBN$Hoboobatgram *3
+CBN$Nan_Calory<- CBN$Nangram *2.5
+CBN$Berenj_Calory<- CBN$Berenjgram *1.2
+CBN$Roghan_Calory<- CBN$Roghangram *8
+CBN$Goosht_Calory<- CBN$Gooshtgram *2.5
+CBN$Morgh_Calory<- CBN$Morghgram *2
+CBN$Mahi_Calory<- CBN$Mahigram *1
+CBN$Shir_Calory<- CBN$Shirgram *2.5
+CBN$Mast_Calory<- CBN$Mastgram *1.5
+CBN$Panir_Calory<- CBN$Mastgram *2.5
+CBN$Tokhmemorgh_Calory<- CBN$Tokhmemorghgram *1.4
+CBN$Mive_Calory<- CBN$Mivegram *0.5
+CBN$Sabzi_Calory<- CBN$Sabzigram *0.5
+CBN$Makarooni_Calory<- CBN$Makaroonigram *3.6
+CBN$Sibzamini_Calory<- CBN$Sibzaminigram *0.9
+#utils::View(CBN)
+
+#CalculatePer_calories
+CBN[, Daily_Exp_Calories := Reduce(`+`, .SD), .SDcols=148:163][]
+CBN[,EqSizeCalory :=(Size-NKids) + NKids*(1800/2100)]
+CBN[,Per_Daily_Exp_Calories:=Daily_Exp_Calories/EqSizeCalory]
+CBN <- CBN[Per_Daily_Exp_Calories<100000] # arbitrary removal of outliers
+#CBN[,Daily_Calories_cluster:=weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+#CBN[,weighted.mean(Daily_Calories_cluster,Weight,na.rm = TRUE),by=cluster]
+#CBN[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+#CBN[,weighted.mean(Size,Weight,na.rm = TRUE),by=cluster]
+#CBN[,sum(Weight*Size),by=cluster]
+#CBN[,sum(Weight),by=cluster]
+#CBN[,sum(Poor),by=cluster]
+
+
+#Calculate_Per_calories
+CBN$Ghand_per_Calory<- CBN$Ghandgram *4/CBN$EqSizeCalory
+CBN$Hoboobat_per_Calory<- CBN$Hoboobatgram *3/CBN$EqSizeCalory
+CBN$Nan_per_Calory<- CBN$Nangram *2.5/CBN$EqSizeCalory
+CBN$Berenj_per_Calory<- CBN$Berenjgram *1.2/CBN$EqSizeCalory
+CBN$Roghan_per_Calory<- CBN$Roghangram *8/CBN$EqSizeCalory
+CBN$Goosht_per_Calory<- CBN$Gooshtgram *2.5/CBN$EqSizeCalory
+CBN$Morgh_per_Calory<- CBN$Morghgram *2/CBN$EqSizeCalory
+CBN$Mahi_per_Calory<- CBN$Mahigram *1/CBN$EqSizeCalory
+CBN$Shir_per_Calory<- CBN$Shirgram *2.5/CBN$EqSizeCalory
+CBN$Mast_per_Calory<- CBN$Mastgram *1.5/CBN$EqSizeCalory
+CBN$Panir_per_Calory<- CBN$Mastgram *2.5/CBN$EqSizeCalory
+CBN$Tokhmemorgh_per_Calory<- CBN$Tokhmemorghgram *1.4/CBN$EqSizeCalory
+CBN$Mive_per_Calory<- CBN$Mivegram *0.5/CBN$EqSizeCalory
+CBN$Sabzi_per_Calory<- CBN$Sabzigram *0.5/CBN$EqSizeCalory
+CBN$Makarooni_per_Calory<- CBN$Makaroonigram *3.6/CBN$EqSizeCalory
+CBN$Sibzamini_per_Calory<- CBN$Sibzaminigram *0.9/CBN$EqSizeCalory
+
+
+#Assume that deciles 1 and 2 are poor
+CBN[,Poor:=ifelse(Decile %in% 2:3,1,0)]
+CBNPoor<-CBN[Poor==1]
+
+#K-means weights
+PriceWeights<-CBN[,.(HHID,Ghand_W,Hoboobat_W,Roghan_W,Berenj_W,Nan_W,Goosht_W,Morgh_W,Mahi_W,Shir_W,Mast_W,Panir_W,Tokhmemorgh_W,Mive_W,Sabzi_W,Makarooni_W,Sibzamini_W,Home_W,ProvinceCode,Weight)]
+dt3 <- PriceWeights[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+dt3<- dt3[order(ProvinceCode)]
+dt3 <- dt3[,.(Ghand_W,Hoboobat_W,Roghan_W,Berenj_W,Nan_W,Goosht_W,Morgh_W,Mahi_W,Shir_W,Mast_W,Panir_W,Tokhmemorgh_W,Mive_W,Sabzi_W,Makarooni_W,Sibzamini_W,Home_W)]
+
+
+#K-means algorithm for clustering by prices
+test<-CBNPoor[,.(GhandPrice,HoboobatPrice,RoghanPrice,BerenjPrice,NanPrice,GooshtPrice,MorghPrice,MahiPrice,ShirPrice,MastPrice,PanirPrice,TokhmemorghPrice,MivePrice,SabziPrice,MakarooniPrice,SibzaminiPrice,MetrPrice,ProvinceCode,Weight)]
+#test<-CBNPoor[,.(GhandPrice,HoboobatPrice,RoghanPrice,BerenjPrice,NanPrice,GooshtPrice,MorghPrice,MahiPrice,ShirPrice,MastPrice,PanirPrice,TokhmemorghPrice,MivePrice,SabziPrice,MakarooniPrice,SibzaminiPrice,MetrPrice,Ghand_W,Hoboobat_W,Roghan_W,Berenj_W,Nan_W,Goosht_W,Morgh_W,Mahi_W,Shir_W,Mast_W,Panir_W,Tokhmemorgh_W,Mive_W,Sabzi_W,Makarooni_W,Sibzamini_W,Home_W,Region,ProvinceCode,Weight)]
+dt2 <- test[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+dt2<- dt2[order(ProvinceCode)]
+for (col in c("BerenjPrice")) dt2[is.nan(get(col)), (col) := 50000]
+dt <- dt2 [,.(GhandPrice,HoboobatPrice,RoghanPrice,BerenjPrice,NanPrice,GooshtPrice,MorghPrice,MahiPrice,ShirPrice,MastPrice,PanirPrice,TokhmemorghPrice,MivePrice,SabziPrice,MakarooniPrice,SibzaminiPrice,MetrPrice)]
+
+
+pca <- princomp(dt, cor=T)
+PRICE <- pca$scores
+PRICE1 <- -1*PRICE[,1]
+PRICE2 <- -1*PRICE[,2]
+PRICE3 <- -1*PRICE[,3]
+PRICE4 <- -1*PRICE[,4]
+PRICE5 <- -1*PRICE[,5]
+PRICE6 <- -1*PRICE[,6]
+PRICE7 <- -1*PRICE[,7]
+PRICE8 <- -1*PRICE[,8]
+PRICE9 <- -1*PRICE[,9]
+PRICE10 <- -1*PRICE[,10]
+PRICE11 <- -1*PRICE[,11]
+PRICE12 <- -1*PRICE[,12]
+PRICE13 <- -1*PRICE[,13]
+PRICE14 <- -1*PRICE[,14]
+PRICE15 <- -1*PRICE[,15]
+PRICE16 <- -1*PRICE[,16]
+PRICE17 <- -1*PRICE[,17]
+
+# Deciding how many clusters
+wss <- (nrow(dt)-1)*sum(apply(dt,2,var))
+for (i in 2:30) wss[i] <- sum(kmeans(dt, centers=i)$withinss)
+plot(1:30, wss, type="b", xlab="Number of Clusters",
+ ylab="Within groups sum of squares")
+
+#Weighted clustering
+
+dt3.m <- dt3[,lapply(.SD, mean)] # Weights for each vector
+dtW <- dt * sqrt(dt3.m[rep(1,nrow(dt))]) # Weighted observations
+kmeans(dtW,4) # Simple K-means
+
+cl <- kmeans(dtW,4)
+cl$cluster
+dt2 <- dt2[,cluster:=data.table(cl$cluster)]
+dt2<-dt2[,.(ProvinceCode,cluster)]
+load(file="dt4Urban.rda")
+#plot(PRICE1, PRICE2,col=cl$cluster)
+#points(cl$centers, pch=20)
+CBNPoor<-merge(CBNPoor,dt2,by=c("ProvinceCode"),all.x = TRUE)
+CBNPoor[,sum(Weight*Size),by=cluster]
+CBNPoor[,sum(Weight),by=cluster]
+CBNPoor[,sum(Poor),by=cluster]
+C2<-CBNPoor[,.(HHID,ProvinceCode,Region,Decile,Poor,cluster)]
+######################################################################
+####Iteration 1#####
+###Iteration1-1
+#Calculate Per_calories in clusters
+CBNPoor[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(185:200)][]
+#utils::View(CBNPoor)
+
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(202:217)][]
+
+CBNPoor[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor<-CBNPoor[Per_Daily_Exp_Calories!=0]
+CBNPoor[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+#CBN[,weighted.mean(Poor,Weight),by=cluster][order(cluster)]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE)]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE)]
+
+#Real Prices
+T_Bundle_Value<-subset(CBNPoor, ProvinceCode==2301, select=c(Bundle_Value,Home_Per_Metr,Weight))
+Tehran_Bundle_Value1<-weighted.mean(T_Bundle_Value$Bundle_Value,T_Bundle_Value$Weight,na.rm = TRUE)
+Tehran_Bundle_Value2<-weighted.mean(T_Bundle_Value$Home_Per_Metr,T_Bundle_Value$Weight,na.rm = TRUE)
+CBNPoor[,RealPriceIndex1:=weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/Tehran_Bundle_Value1,by=ProvinceCode]
+CBNPoor[,RealPriceIndex2:=weighted.mean(Home_Per_Metr,Weight,na.rm = TRUE)/Tehran_Bundle_Value2,by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex1,Weight),by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex2,Weight),by=ProvinceCode]
+Indexes2<-CBNPoor[,.(RealPriceIndex1,RealPriceIndex2,ProvinceCode,Weight)]
+Indexes2<-Indexes2[,RealPriceIndex:=(RealPriceIndex1+RealPriceIndex2)/2]
+Indexes<-Indexes2[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+Indexes31<-Indexes[,.(ProvinceCode,RealPriceIndex1,RealPriceIndex2,RealPriceIndex)]
+Indexes<-Indexes[,.(ProvinceCode,RealPriceIndex)]
+CBN<-merge(CBN,Indexes,by=c("ProvinceCode"),all.x = TRUE)
+CBN<-CBN[,Total_Food_Month_Per2:=FoodExpenditure_Per*RealPriceIndex]
+CBN<-CBN[,Total_Exp_Month_Per2:=Total_Exp_Month_Per_nondurable*RealPriceIndex]
+#utils::View(CBN)
+
+#Sort Expenditure data
+CBN<- CBN[order(Total_Exp_Month_Per2)]
+
+#Calculate cumulative weights
+sum(CBN$Weight)
+CBN$cumweight <- cumsum(CBN$Weight)
+tx <- max(CBN$cumweight)
+
+#Calculate deciles by weights
+CBN[,Decile:=cut(cumweight,breaks = seq(0,tx,tx/10),labels = 1:10)]
+CBN[,Percentile:=cut(cumweight,breaks=seq(0,tx,tx/100),labels=1:100)]
+
+#Update Poors
+CBN[,Poor:=ifelse(Decile %in% 2:3,1,0)]
+CBNPoor<-CBN[Poor==1]
+CBNPoor<-merge(CBNPoor,dt2,by=c("ProvinceCode"),all.x = TRUE)
+CBNPoor[,sum(HIndivNo),by=.(ProvinceCode)][order(ProvinceCode)]
+
+###Iteration1-2
+#Calculate Per_calories in clusters
+CBNPoor[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(185:200)][]
+#utils::View(CBNPoor)
+
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(202:217)][]
+
+CBNPoor[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor<-CBNPoor[Per_Daily_Exp_Calories!=0]
+CBNPoor[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+#CBN[,weighted.mean(Poor,Weight),by=cluster][order(cluster)]
+
+#Real Prices
+T_Bundle_Value<-subset(CBNPoor, ProvinceCode==2301, select=c(Bundle_Value,Home_Per_Metr,Weight))
+Tehran_Bundle_Value1<-weighted.mean(T_Bundle_Value$Bundle_Value,T_Bundle_Value$Weight,na.rm = TRUE)
+Tehran_Bundle_Value2<-weighted.mean(T_Bundle_Value$Home_Per_Metr,T_Bundle_Value$Weight,na.rm = TRUE)
+CBNPoor[,RealPriceIndex1:=weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/Tehran_Bundle_Value1,by=ProvinceCode]
+CBNPoor[,RealPriceIndex2:=weighted.mean(Home_Per_Metr,Weight,na.rm = TRUE)/Tehran_Bundle_Value2,by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex1,Weight),by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex2,Weight),by=ProvinceCode]
+Indexes2<-CBNPoor[,.(RealPriceIndex1,RealPriceIndex2,ProvinceCode,Weight)]
+Indexes2<-Indexes2[,RealPriceIndex:=(RealPriceIndex1+RealPriceIndex2)/2]
+Indexes<-Indexes2[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+Indexes32<-Indexes[,.(ProvinceCode,RealPriceIndex1,RealPriceIndex2,RealPriceIndex)]
+Indexes<-Indexes[,.(ProvinceCode,RealPriceIndex)]
+CBN[,RealPriceIndex:=NULL]
+CBN<-merge(CBN,Indexes,by=c("ProvinceCode"),all.x = TRUE)
+CBN<-CBN[,Total_Food_Month_Per2:=FoodExpenditure_Per*RealPriceIndex]
+CBN<-CBN[,Total_Exp_Month_Per2:=Total_Exp_Month_Per_nondurable*RealPriceIndex]
+#utils::View(CBN)
+
+#Sort Expenditure data
+CBN<- CBN[order(Total_Exp_Month_Per2)]
+
+#Calculate cumulative weights
+sum(CBN$Weight)
+CBN$cumweight <- cumsum(CBN$Weight)
+tx <- max(CBN$cumweight)
+
+#Calculate deciles by weights
+CBN[,Decile:=cut(cumweight,breaks = seq(0,tx,tx/10),labels = 1:10)]
+CBN[,Percentile:=cut(cumweight,breaks=seq(0,tx,tx/100),labels=1:100)]
+
+#Update Poors
+CBN[,Poor:=ifelse(Decile %in% 2:3,1,0)]
+CBNPoor<-CBN[Poor==1]
+CBNPoor<-merge(CBNPoor,dt2,by=c("ProvinceCode"),all.x = TRUE)
+CBNPoor[,sum(HIndivNo),by=.(ProvinceCode)][order(ProvinceCode)]
+
+###Iteration1-3
+#Calculate Per_calories in clusters
+CBNPoor[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(185:200)][]
+#utils::View(CBNPoor)
+
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(202:217)][]
+
+CBNPoor[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor<-CBNPoor[Per_Daily_Exp_Calories!=0]
+CBNPoor[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+#CBN[,weighted.mean(Poor,Weight),by=cluster][order(cluster)]
+
+#Real Prices
+T_Bundle_Value<-subset(CBNPoor, ProvinceCode==2301, select=c(Bundle_Value,Home_Per_Metr,Weight))
+Tehran_Bundle_Value1<-weighted.mean(T_Bundle_Value$Bundle_Value,T_Bundle_Value$Weight,na.rm = TRUE)
+Tehran_Bundle_Value2<-weighted.mean(T_Bundle_Value$Home_Per_Metr,T_Bundle_Value$Weight,na.rm = TRUE)
+CBNPoor[,RealPriceIndex1:=weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/Tehran_Bundle_Value1,by=ProvinceCode]
+CBNPoor[,RealPriceIndex2:=weighted.mean(Home_Per_Metr,Weight,na.rm = TRUE)/Tehran_Bundle_Value2,by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex1,Weight),by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex2,Weight),by=ProvinceCode]
+Indexes2<-CBNPoor[,.(RealPriceIndex1,RealPriceIndex2,ProvinceCode,Weight)]
+Indexes2<-Indexes2[,RealPriceIndex:=(RealPriceIndex1+RealPriceIndex2)/2]
+Indexes<-Indexes2[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+Indexes33<-Indexes[,.(ProvinceCode,RealPriceIndex1,RealPriceIndex2,RealPriceIndex)]
+Indexes<-Indexes[,.(ProvinceCode,RealPriceIndex)]
+CBN[,RealPriceIndex:=NULL]
+CBN<-merge(CBN,Indexes,by=c("ProvinceCode"),all.x = TRUE)
+CBN<-CBN[,Total_Food_Month_Per2:=FoodExpenditure_Per*RealPriceIndex]
+CBN<-CBN[,Total_Exp_Month_Per2:=Total_Exp_Month_Per_nondurable*RealPriceIndex]
+#utils::View(CBN)
+
+#Sort Expenditure data
+CBN<- CBN[order(Total_Exp_Month_Per2)]
+
+#Calculate cumulative weights
+sum(CBN$Weight)
+CBN$cumweight <- cumsum(CBN$Weight)
+tx <- max(CBN$cumweight)
+
+#Calculate deciles by weights
+CBN[,Decile:=cut(cumweight,breaks = seq(0,tx,tx/10),labels = 1:10)]
+CBN[,Percentile:=cut(cumweight,breaks=seq(0,tx,tx/100),labels=1:100)]
+
+#Update Poors
+CBN[,Poor:=ifelse(Decile %in% 2:3,1,0)]
+CBNPoor<-CBN[Poor==1]
+CBNPoor<-merge(CBNPoor,dt2,by=c("ProvinceCode"),all.x = TRUE)
+CBNPoor[,sum(HIndivNo),by=.(ProvinceCode)][order(ProvinceCode)]
+
+
+###Iteration1-4
+#Calculate Per_calories in clusters
+CBNPoor[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(185:200)][]
+#utils::View(CBNPoor)
+
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(202:217)][]
+
+CBNPoor[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor<-CBNPoor[Per_Daily_Exp_Calories!=0]
+CBNPoor[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+#CBN[,weighted.mean(Poor,Weight),by=cluster][order(cluster)]
+
+#Real Prices
+T_Bundle_Value<-subset(CBNPoor, ProvinceCode==2301, select=c(Bundle_Value,Home_Per_Metr,Weight))
+Tehran_Bundle_Value1<-weighted.mean(T_Bundle_Value$Bundle_Value,T_Bundle_Value$Weight,na.rm = TRUE)
+Tehran_Bundle_Value2<-weighted.mean(T_Bundle_Value$Home_Per_Metr,T_Bundle_Value$Weight,na.rm = TRUE)
+CBNPoor[,RealPriceIndex1:=weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/Tehran_Bundle_Value1,by=ProvinceCode]
+CBNPoor[,RealPriceIndex2:=weighted.mean(Home_Per_Metr,Weight,na.rm = TRUE)/Tehran_Bundle_Value2,by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex1,Weight),by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex2,Weight),by=ProvinceCode]
+Indexes2<-CBNPoor[,.(RealPriceIndex1,RealPriceIndex2,ProvinceCode,Weight)]
+Indexes2<-Indexes2[,RealPriceIndex:=(RealPriceIndex1+RealPriceIndex2)/2]
+Indexes<-Indexes2[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+Indexes34<-Indexes[,.(ProvinceCode,RealPriceIndex1,RealPriceIndex2,RealPriceIndex)]
+Indexes<-Indexes[,.(ProvinceCode,RealPriceIndex)]
+CBN[,RealPriceIndex:=NULL]
+CBN<-merge(CBN,Indexes,by=c("ProvinceCode"),all.x = TRUE)
+CBN<-CBN[,Total_Food_Month_Per2:=FoodExpenditure_Per*RealPriceIndex]
+CBN<-CBN[,Total_Exp_Month_Per2:=Total_Exp_Month_Per_nondurable*RealPriceIndex]
+#utils::View(CBN)
+
+
+#Sort Expenditure data
+CBN<- CBN[order(Total_Exp_Month_Per2)]
+
+#Calculate cumulative weights
+sum(CBN$Weight)
+CBN$cumweight <- cumsum(CBN$Weight)
+tx <- max(CBN$cumweight)
+
+#Calculate deciles by weights
+CBN[,Decile:=cut(cumweight,breaks = seq(0,tx,tx/10),labels = 1:10)]
+CBN[,Percentile:=cut(cumweight,breaks=seq(0,tx,tx/100),labels=1:100)]
+
+#Update Poors
+CBN[,Poor:=ifelse(Decile %in% 2:3,1,0)]
+CBNPoor<-CBN[Poor==1]
+CBNPoor<-merge(CBNPoor,dt2,by=c("ProvinceCode"),all.x = TRUE)
+CBNPoor[,sum(HIndivNo),by=.(ProvinceCode)][order(ProvinceCode)]
+
+###Iteration1-5
+#Calculate Per_calories in clusters
+CBNPoor[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(185:200)][]
+#utils::View(CBNPoor)
+
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(202:217)][]
+
+CBNPoor[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor<-CBNPoor[Per_Daily_Exp_Calories!=0]
+CBNPoor[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+#CBN[,weighted.mean(Poor,Weight),by=cluster][order(cluster)]
+
+#Real Prices
+T_Bundle_Value<-subset(CBNPoor, ProvinceCode==2301, select=c(Bundle_Value,Home_Per_Metr,Weight))
+Tehran_Bundle_Value1<-weighted.mean(T_Bundle_Value$Bundle_Value,T_Bundle_Value$Weight,na.rm = TRUE)
+Tehran_Bundle_Value2<-weighted.mean(T_Bundle_Value$Home_Per_Metr,T_Bundle_Value$Weight,na.rm = TRUE)
+CBNPoor[,RealPriceIndex1:=weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/Tehran_Bundle_Value1,by=ProvinceCode]
+CBNPoor[,RealPriceIndex2:=weighted.mean(Home_Per_Metr,Weight,na.rm = TRUE)/Tehran_Bundle_Value2,by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex1,Weight),by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex2,Weight),by=ProvinceCode]
+Indexes2<-CBNPoor[,.(RealPriceIndex1,RealPriceIndex2,ProvinceCode,Weight)]
+Indexes2<-Indexes2[,RealPriceIndex:=(RealPriceIndex1+RealPriceIndex2)/2]
+Indexes<-Indexes2[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+Indexes35<-Indexes[,.(ProvinceCode,RealPriceIndex1,RealPriceIndex2,RealPriceIndex)]
+Indexes<-Indexes[,.(ProvinceCode,RealPriceIndex)]
+CBN[,RealPriceIndex:=NULL]
+CBN<-merge(CBN,Indexes,by=c("ProvinceCode"),all.x = TRUE)
+CBN<-CBN[,Total_Food_Month_Per2:=FoodExpenditure_Per*RealPriceIndex]
+CBN<-CBN[,Total_Exp_Month_Per2:=Total_Exp_Month_Per_nondurable*RealPriceIndex]
+#utils::View(CBN)
+
+
+#Sort Expenditure data
+CBN<- CBN[order(Total_Exp_Month_Per2)]
+
+#Calculate cumulative weights
+sum(CBN$Weight)
+CBN$cumweight <- cumsum(CBN$Weight)
+tx <- max(CBN$cumweight)
+
+#Calculate deciles by weights
+CBN[,Decile:=cut(cumweight,breaks = seq(0,tx,tx/10),labels = 1:10)]
+CBN[,Percentile:=cut(cumweight,breaks=seq(0,tx,tx/100),labels=1:100)]
+
+#Update Poors
+CBN[,Poor:=ifelse(Decile %in% 2:3,1,0)]
+CBNPoor<-CBN[Poor==1]
+CBNPoor<-merge(CBNPoor,dt2,by=c("ProvinceCode"),all.x = TRUE)
+CBNPoor[,sum(HIndivNo),by=.(ProvinceCode)][order(ProvinceCode)]
+
+###Iteration1-6
+#Calculate Per_calories in clusters
+CBNPoor[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(185:200)][]
+#utils::View(CBNPoor)
+
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(202:217)][]
+
+CBNPoor[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor<-CBNPoor[Per_Daily_Exp_Calories!=0]
+CBNPoor[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+#CBN[,weighted.mean(Poor,Weight),by=cluster][order(cluster)]
+
+#Real Prices
+T_Bundle_Value<-subset(CBNPoor, ProvinceCode==2301, select=c(Bundle_Value,Home_Per_Metr,Weight))
+Tehran_Bundle_Value1<-weighted.mean(T_Bundle_Value$Bundle_Value,T_Bundle_Value$Weight,na.rm = TRUE)
+Tehran_Bundle_Value2<-weighted.mean(T_Bundle_Value$Home_Per_Metr,T_Bundle_Value$Weight,na.rm = TRUE)
+CBNPoor[,RealPriceIndex1:=weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/Tehran_Bundle_Value1,by=ProvinceCode]
+CBNPoor[,RealPriceIndex2:=weighted.mean(Home_Per_Metr,Weight,na.rm = TRUE)/Tehran_Bundle_Value2,by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex1,Weight),by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex2,Weight),by=ProvinceCode]
+Indexes2<-CBNPoor[,.(RealPriceIndex1,RealPriceIndex2,ProvinceCode,Weight)]
+Indexes2<-Indexes2[,RealPriceIndex:=(RealPriceIndex1+RealPriceIndex2)/2]
+Indexes<-Indexes2[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+Indexes36<-Indexes[,.(ProvinceCode,RealPriceIndex1,RealPriceIndex2,RealPriceIndex)]
+Indexes<-Indexes[,.(ProvinceCode,RealPriceIndex)]
+CBN[,RealPriceIndex:=NULL]
+CBN<-merge(CBN,Indexes,by=c("ProvinceCode"),all.x = TRUE)
+CBN<-CBN[,Total_Food_Month_Per2:=FoodExpenditure_Per*RealPriceIndex]
+CBN<-CBN[,Total_Exp_Month_Per2:=Total_Exp_Month_Per_nondurable*RealPriceIndex]
+#utils::View(CBN)
+
+
+#Sort Expenditure data
+CBN<- CBN[order(Total_Exp_Month_Per2)]
+
+#Calculate cumulative weights
+sum(CBN$Weight)
+CBN$cumweight <- cumsum(CBN$Weight)
+tx <- max(CBN$cumweight)
+
+#Calculate deciles by weights
+CBN[,Decile:=cut(cumweight,breaks = seq(0,tx,tx/10),labels = 1:10)]
+CBN[,Percentile:=cut(cumweight,breaks=seq(0,tx,tx/100),labels=1:100)]
+
+#Update Poors
+CBN[,Poor:=ifelse(Decile %in% 2:3,1,0)]
+CBNPoor<-CBN[Poor==1]
+CBNPoor<-merge(CBNPoor,dt2,by=c("ProvinceCode"),all.x = TRUE)
+CBNPoor[,sum(HIndivNo),by=.(ProvinceCode)][order(ProvinceCode)]
+
+###Iteration1-7
+#Calculate Per_calories in clusters
+CBNPoor[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(185:200)][]
+#utils::View(CBNPoor)
+
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(202:217)][]
+
+CBNPoor[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor<-CBNPoor[Per_Daily_Exp_Calories!=0]
+CBNPoor[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+#CBN[,weighted.mean(Poor,Weight),by=cluster][order(cluster)]
+
+#Real Prices
+T_Bundle_Value<-subset(CBNPoor, ProvinceCode==2301, select=c(Bundle_Value,Home_Per_Metr,Weight))
+Tehran_Bundle_Value1<-weighted.mean(T_Bundle_Value$Bundle_Value,T_Bundle_Value$Weight,na.rm = TRUE)
+Tehran_Bundle_Value2<-weighted.mean(T_Bundle_Value$Home_Per_Metr,T_Bundle_Value$Weight,na.rm = TRUE)
+CBNPoor[,RealPriceIndex1:=weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/Tehran_Bundle_Value1,by=ProvinceCode]
+CBNPoor[,RealPriceIndex2:=weighted.mean(Home_Per_Metr,Weight,na.rm = TRUE)/Tehran_Bundle_Value2,by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex1,Weight),by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex2,Weight),by=ProvinceCode]
+Indexes2<-CBNPoor[,.(RealPriceIndex1,RealPriceIndex2,ProvinceCode,Weight)]
+Indexes2<-Indexes2[,RealPriceIndex:=(RealPriceIndex1+RealPriceIndex2)/2]
+Indexes<-Indexes2[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+Indexes37<-Indexes[,.(ProvinceCode,RealPriceIndex1,RealPriceIndex2,RealPriceIndex)]
+Indexes<-Indexes[,.(ProvinceCode,RealPriceIndex)]
+CBN[,RealPriceIndex:=NULL]
+CBN<-merge(CBN,Indexes,by=c("ProvinceCode"),all.x = TRUE)
+CBN<-CBN[,Total_Food_Month_Per2:=FoodExpenditure_Per*RealPriceIndex]
+CBN<-CBN[,Total_Exp_Month_Per2:=Total_Exp_Month_Per_nondurable*RealPriceIndex]
+#utils::View(CBN)
+
+
+#Sort Expenditure data
+CBN<- CBN[order(Total_Exp_Month_Per2)]
+
+#Calculate cumulative weights
+sum(CBN$Weight)
+CBN$cumweight <- cumsum(CBN$Weight)
+tx <- max(CBN$cumweight)
+
+#Calculate deciles by weights
+CBN[,Decile:=cut(cumweight,breaks = seq(0,tx,tx/10),labels = 1:10)]
+CBN[,Percentile:=cut(cumweight,breaks=seq(0,tx,tx/100),labels=1:100)]
+
+#Update Poors
+CBN[,Poor:=ifelse(Decile %in% 2:3,1,0)]
+CBNPoor<-CBN[Poor==1]
+CBNPoor<-merge(CBNPoor,dt2,by=c("ProvinceCode"),all.x = TRUE)
+CBNPoor[,sum(HIndivNo),by=.(ProvinceCode)][order(ProvinceCode)]
+
+###Iteration1-8
+#Calculate Per_calories in clusters
+CBNPoor[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(185:200)][]
+#utils::View(CBNPoor)
+
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(202:217)][]
+
+CBNPoor[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor<-CBNPoor[Per_Daily_Exp_Calories!=0]
+CBNPoor[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+#CBN[,weighted.mean(Poor,Weight),by=cluster][order(cluster)]
+
+#Real Prices
+T_Bundle_Value<-subset(CBNPoor, ProvinceCode==2301, select=c(Bundle_Value,Home_Per_Metr,Weight))
+Tehran_Bundle_Value1<-weighted.mean(T_Bundle_Value$Bundle_Value,T_Bundle_Value$Weight,na.rm = TRUE)
+Tehran_Bundle_Value2<-weighted.mean(T_Bundle_Value$Home_Per_Metr,T_Bundle_Value$Weight,na.rm = TRUE)
+CBNPoor[,RealPriceIndex1:=weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/Tehran_Bundle_Value1,by=ProvinceCode]
+CBNPoor[,RealPriceIndex2:=weighted.mean(Home_Per_Metr,Weight,na.rm = TRUE)/Tehran_Bundle_Value2,by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex1,Weight),by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex2,Weight),by=ProvinceCode]
+Indexes2<-CBNPoor[,.(RealPriceIndex1,RealPriceIndex2,ProvinceCode,Weight)]
+Indexes2<-Indexes2[,RealPriceIndex:=(RealPriceIndex1+RealPriceIndex2)/2]
+Indexes<-Indexes2[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+Indexes38<-Indexes[,.(ProvinceCode,RealPriceIndex1,RealPriceIndex2,RealPriceIndex)]
+Indexes<-Indexes[,.(ProvinceCode,RealPriceIndex)]
+CBN[,RealPriceIndex:=NULL]
+CBN<-merge(CBN,Indexes,by=c("ProvinceCode"),all.x = TRUE)
+CBN<-CBN[,Total_Food_Month_Per2:=FoodExpenditure_Per*RealPriceIndex]
+CBN<-CBN[,Total_Exp_Month_Per2:=Total_Exp_Month_Per_nondurable*RealPriceIndex]
+#utils::View(CBN)
+
+
+#Sort Expenditure data
+CBN<- CBN[order(Total_Exp_Month_Per2)]
+
+#Calculate cumulative weights
+sum(CBN$Weight)
+CBN$cumweight <- cumsum(CBN$Weight)
+tx <- max(CBN$cumweight)
+
+#Calculate deciles by weights
+CBN[,Decile:=cut(cumweight,breaks = seq(0,tx,tx/10),labels = 1:10)]
+CBN[,Percentile:=cut(cumweight,breaks=seq(0,tx,tx/100),labels=1:100)]
+
+#Update Poors
+CBN[,Poor:=ifelse(Decile %in% 2:3,1,0)]
+CBNPoor<-CBN[Poor==1]
+CBNPoor<-merge(CBNPoor,dt2,by=c("ProvinceCode"),all.x = TRUE)
+CBNPoor[,sum(HIndivNo),by=.(ProvinceCode)][order(ProvinceCode)]
+
+###Iteration1-9
+#Calculate Per_calories in clusters
+CBNPoor[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(185:200)][]
+#utils::View(CBNPoor)
+
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(202:217)][]
+
+CBNPoor[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor<-CBNPoor[Per_Daily_Exp_Calories!=0]
+CBNPoor[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+#CBN[,weighted.mean(Poor,Weight),by=cluster][order(cluster)]
+
+#Real Prices
+T_Bundle_Value<-subset(CBNPoor, ProvinceCode==2301, select=c(Bundle_Value,Home_Per_Metr,Weight))
+Tehran_Bundle_Value1<-weighted.mean(T_Bundle_Value$Bundle_Value,T_Bundle_Value$Weight,na.rm = TRUE)
+Tehran_Bundle_Value2<-weighted.mean(T_Bundle_Value$Home_Per_Metr,T_Bundle_Value$Weight,na.rm = TRUE)
+CBNPoor[,RealPriceIndex1:=weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/Tehran_Bundle_Value1,by=ProvinceCode]
+CBNPoor[,RealPriceIndex2:=weighted.mean(Home_Per_Metr,Weight,na.rm = TRUE)/Tehran_Bundle_Value2,by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex1,Weight),by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex2,Weight),by=ProvinceCode]
+Indexes2<-CBNPoor[,.(RealPriceIndex1,RealPriceIndex2,ProvinceCode,Weight)]
+Indexes2<-Indexes2[,RealPriceIndex:=(RealPriceIndex1+RealPriceIndex2)/2]
+Indexes<-Indexes2[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+Indexes39<-Indexes[,.(ProvinceCode,RealPriceIndex1,RealPriceIndex2,RealPriceIndex)]
+Indexes<-Indexes[,.(ProvinceCode,RealPriceIndex)]
+CBN[,RealPriceIndex:=NULL]
+CBN<-merge(CBN,Indexes,by=c("ProvinceCode"),all.x = TRUE)
+CBN<-CBN[,Total_Food_Month_Per2:=FoodExpenditure_Per*RealPriceIndex]
+CBN<-CBN[,Total_Exp_Month_Per2:=Total_Exp_Month_Per_nondurable*RealPriceIndex]
+#utils::View(CBN)
+
+
+#Sort Expenditure data
+CBN<- CBN[order(Total_Exp_Month_Per2)]
+
+#Calculate cumulative weights
+sum(CBN$Weight)
+CBN$cumweight <- cumsum(CBN$Weight)
+tx <- max(CBN$cumweight)
+
+#Calculate deciles by weights
+CBN[,Decile:=cut(cumweight,breaks = seq(0,tx,tx/10),labels = 1:10)]
+CBN[,Percentile:=cut(cumweight,breaks=seq(0,tx,tx/100),labels=1:100)]
+
+#Update Poors
+CBN[,Poor:=ifelse(Decile %in% 2:3,1,0)]
+CBNPoor<-CBN[Poor==1]
+CBNPoor<-merge(CBNPoor,dt2,by=c("ProvinceCode"),all.x = TRUE)
+CBNPoor[,sum(HIndivNo),by=.(ProvinceCode)][order(ProvinceCode)]
+
+###Iteration1-10
+#Calculate Per_calories in clusters
+CBNPoor[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(185:200)][]
+#utils::View(CBNPoor)
+
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(202:217)][]
+
+CBNPoor[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor<-CBNPoor[Per_Daily_Exp_Calories!=0]
+CBNPoor[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+#CBN[,weighted.mean(Poor,Weight),by=cluster][order(cluster)]
+
+#Real Prices
+T_Bundle_Value<-subset(CBNPoor, ProvinceCode==2301, select=c(Bundle_Value,Home_Per_Metr,Weight))
+Tehran_Bundle_Value1<-weighted.mean(T_Bundle_Value$Bundle_Value,T_Bundle_Value$Weight,na.rm = TRUE)
+Tehran_Bundle_Value2<-weighted.mean(T_Bundle_Value$Home_Per_Metr,T_Bundle_Value$Weight,na.rm = TRUE)
+CBNPoor[,RealPriceIndex1:=weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/Tehran_Bundle_Value1,by=ProvinceCode]
+CBNPoor[,RealPriceIndex2:=weighted.mean(Home_Per_Metr,Weight,na.rm = TRUE)/Tehran_Bundle_Value2,by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex1,Weight),by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex2,Weight),by=ProvinceCode]
+Indexes2<-CBNPoor[,.(RealPriceIndex1,RealPriceIndex2,ProvinceCode,Weight)]
+Indexes2<-Indexes2[,RealPriceIndex:=(RealPriceIndex1+RealPriceIndex2)/2]
+Indexes<-Indexes2[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+Indexes310<-Indexes[,.(ProvinceCode,RealPriceIndex1,RealPriceIndex2,RealPriceIndex)]
+Indexes<-Indexes[,.(ProvinceCode,RealPriceIndex)]
+CBN[,RealPriceIndex:=NULL]
+CBN<-merge(CBN,Indexes,by=c("ProvinceCode"),all.x = TRUE)
+CBN<-CBN[,Total_Food_Month_Per2:=FoodExpenditure_Per*RealPriceIndex]
+CBN<-CBN[,Total_Exp_Month_Per2:=Total_Exp_Month_Per_nondurable*RealPriceIndex]
+#utils::View(CBN)
+
+
+#Sort Expenditure data
+CBN<- CBN[order(Total_Exp_Month_Per2)]
+
+#Calculate cumulative weights
+sum(CBN$Weight)
+CBN$cumweight <- cumsum(CBN$Weight)
+tx <- max(CBN$cumweight)
+
+#Calculate deciles by weights
+CBN[,Decile:=cut(cumweight,breaks = seq(0,tx,tx/10),labels = 1:10)]
+CBN[,Percentile:=cut(cumweight,breaks=seq(0,tx,tx/100),labels=1:100)]
+
+#Update Poors
+CBN[,Poor:=ifelse(Decile %in% 2:3,1,0)]
+CBNPoor<-CBN[Poor==1]
+CBNPoor<-merge(CBNPoor,dt2,by=c("ProvinceCode"),all.x = TRUE)
+CBNPoor[,sum(HIndivNo),by=.(ProvinceCode)][order(ProvinceCode)]
+
+
+#Calculate Per_calories in clusters
+CBNPoor[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(189:204)][]
+#utils::View(CBNPoor)
+
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(206:221)][]
+
+CBNPoor[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor<-CBNPoor[Per_Daily_Exp_Calories!=0]
+CBNPoor[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNCalory<-CBNPoor[,.(Per_Daily_Calories,Per_Daily_Exp_Calories,Per_Calory_Resturant,Resturant_Exp,cluster,ProvinceCode)]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+
+
+#Calculations
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_day,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,sum(Size*Weight),by=cluster][order(cluster)]
+
+
+#Food Poverty Line for each cluster
+#cluster 1
+CBNPoorCluster<-CBNPoor[cluster==1]
+Food_Povertyline1_1<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 2
+CBNPoorCluster<-CBNPoor[cluster==2]
+Food_Povertyline2_1<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 3
+CBNPoorCluster<-CBNPoor[cluster==3]
+Food_Povertyline3_1<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 4
+CBNPoorCluster<-CBNPoor[cluster==4]
+Food_Povertyline4_1<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+
+#ee<-CBNPoor[,.(Total_Exp_Month_Real,Total_Exp_Month,Total_Food_Month_Per2,Total_Exp_Month_Per_nondurable,Total_Exp_Month_nondurable_Real_Per,FoodExpenditure_Per,cluster)]
+#mean(ee[,Total_Food_Month_Per2==Total_Exp_Month_nondurable_Real])
+#mean(ee[,Total_Food_Month_Per2<3500000])
+#ee<- ee[order(Total_Food_Month_Per2)]
+#utils::View(CBN)
+CBN<-merge(CBN,dt2,by=c("ProvinceCode"),all.x = TRUE)
+#for (col in c("Total_Food_Month_Per2")) CBN[is.na(get(col)), (col) := Total_Exp_Month_Per_nondurable]
+c<-CBN[,.(FoodExpenditure_Per,FoodExpenditure_Per_total,Total_Exp_Month_Per_nondurable,Total_Exp_Month,Total_Food_Month_Per2,Poor,Decile,Weight,cluster)]
+
+#########Iteration 2###############
+#Sort Expenditure data
+CBN<- CBN[order(Total_Food_Month_Per2)]
+c<- c[order(Total_Food_Month_Per2)]
+
+#Indicate new poors
+CBN[,Poor2:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_1 & cluster==1,1,0)]
+c[,Poor2:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_1 & cluster==1 ,1,0)]
+CBN[,Poor2:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_1 & cluster==2,1,Poor2)]
+c[,Poor2:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_1 & cluster==2 ,1,Poor2)]
+CBN[,Poor2:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_1 & cluster==3,1,Poor2)]
+c[,Poor2:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_1 & cluster==3 ,1,Poor2)]
+CBN[,Poor2:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_1 & cluster==4,1,Poor2)]
+c[,Poor2:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_1 & cluster==4 ,1,Poor2)]
+CBN[,weighted.mean(Poor2,Weight),by=cluster][order(cluster)]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2<-CBN[Poor2==1]
+
+
+#CalculatePer_calories in clusters
+CBNPoor2[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(190:205)][]
+#utils::View(CBNPoor2)
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor2[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(207:222)][]
+
+CBNPoor2[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor2[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor2[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor2[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2<-CBNPoor2[Per_Daily_Exp_Calories!=0]
+CBNPoor2[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor2[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor2[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor2[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor2[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor2[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+
+
+
+#Calculations
+CBNPoor2[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,weighted.mean(FoodExpenditure_Per_day,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+
+
+
+#Food Poverty Line for each cluster
+#cluster 1
+CBNPoorCluster<-CBNPoor2[cluster==1]
+Food_Povertyline1_2<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 2
+CBNPoorCluster<-CBNPoor2[cluster==2]
+Food_Povertyline2_2<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 3
+CBNPoorCluster<-CBNPoor2[cluster==3]
+Food_Povertyline3_2<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 4
+CBNPoorCluster<-CBNPoor2[cluster==4]
+Food_Povertyline4_2<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#ee<-CBNPoor[,.(Total_Exp_Month_Real,Total_Exp_Month,Total_Food_Month_Per2,Total_Exp_Month_Per_nondurable,Total_Exp_Month_nondurable_Real_Per,FoodExpenditure_Per,cluster)]
+#mean(ee[,Total_Food_Month_Per2==Total_Exp_Month_nondurable_Real])
+#mean(ee[,Total_Food_Month_Per2<3500000])
+#ee<- ee[order(Total_Food_Month_Per2)]
+#utils::View(CBN)
+#for (col in c("Total_Food_Month_Per2")) CBN[is.na(get(col)), (col) := Total_Exp_Month_Per_nondurable]
+c<-CBN[,.(FoodExpenditure_Per,FoodExpenditure_Per_total,Total_Exp_Month_Per_nondurable,Total_Exp_Month,Total_Food_Month_Per2,Poor,Decile,Weight,cluster)]
+
+
+#########Iteration 3###############
+#Sort Expenditure data
+CBN<- CBN[order(Total_Food_Month_Per2)]
+c<- c[order(Total_Food_Month_Per2)]
+
+#Indicate new poors
+CBN[,Poor3:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_2 & cluster==1,1,0)]
+c[,Poor3:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_2 & cluster==1 ,1,0)]
+CBN[,Poor3:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_2 & cluster==2,1,Poor3)]
+c[,Poor3:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_2 & cluster==2 ,1,Poor3)]
+CBN[,Poor3:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_2 & cluster==3,1,Poor3)]
+c[,Poor3:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_2 & cluster==3 ,1,Poor3)]
+CBN[,Poor3:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_2 & cluster==4,1,Poor3)]
+c[,Poor3:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_2 & cluster==4 ,1,Poor3)]
+CBN[,weighted.mean(Poor3,Weight),by=cluster][order(cluster)]
+CBNPoor2[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3<-CBN[Poor3==1]
+
+
+
+#CalculatePer_calories in clusters
+CBNPoor3[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(192:206)][]
+#utils::View(CBNPoor3)
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor3[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(208:223)][]
+
+
+CBNPoor3[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor3[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor3[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor3[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3<-CBNPoor3[Per_Daily_Exp_Calories!=0]
+CBNPoor3[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor3[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+
+#sum of total food expenditures
+CBNPoor3[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor3[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor3[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor3[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+
+
+#Calculations
+CBNPoor3[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,weighted.mean(FoodExpenditure_Per_day,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+
+
+
+#Food Poverty Line for each cluster
+#cluster 1
+CBNPoorCluster<-CBNPoor3[cluster==1]
+Food_Povertyline1_3<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 2
+CBNPoorCluster<-CBNPoor3[cluster==2]
+Food_Povertyline2_3<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 3
+CBNPoorCluster<-CBNPoor3[cluster==3]
+Food_Povertyline3_3<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 4
+CBNPoorCluster<-CBNPoor3[cluster==4]
+Food_Povertyline4_3<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#ee<-CBNPoor[,.(Total_Exp_Month_Real,Total_Exp_Month,Total_Food_Month_Per2,Total_Exp_Month_Per_nondurable,Total_Exp_Month_nondurable_Real_Per,FoodExpenditure_Per,cluster)]
+#mean(ee[,Total_Food_Month_Per2==Total_Exp_Month_nondurable_Real])
+#mean(ee[,Total_Food_Month_Per2<3500000])
+#ee<- ee[order(Total_Food_Month_Per2)]
+#utils::View(CBN)
+#for (col in c("Total_Food_Month_Per2")) CBN[is.na(get(col)), (col) := Total_Exp_Month_Per_nondurable]
+c<-CBN[,.(FoodExpenditure_Per,FoodExpenditure_Per_total,Total_Exp_Month_Per_nondurable,Total_Exp_Month,Total_Food_Month_Per2,Poor,Decile,Weight,cluster)]
+
+
+#########Iteration 4###############
+#Sort Expenditure data
+CBN<- CBN[order(Total_Food_Month_Per2)]
+c<- c[order(Total_Food_Month_Per2)]
+
+#Indicate new poors
+CBN[,Poor4:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_3 & cluster==1,1,0)]
+c[,Poor4:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_3 & cluster==1 ,1,0)]
+CBN[,Poor4:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_3 & cluster==2,1,Poor4)]
+c[,Poor4:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_3 & cluster==2 ,1,Poor4)]
+CBN[,Poor4:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_3 & cluster==3,1,Poor4)]
+c[,Poor4:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_3 & cluster==3 ,1,Poor4)]
+CBN[,Poor4:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_3 & cluster==4,1,Poor4)]
+c[,Poor4:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_3 & cluster==4 ,1,Poor4)]
+CBN[,weighted.mean(Poor4,Weight),by=cluster][order(cluster)]
+CBNPoor3[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4<-CBN[Poor4==1]
+
+#CalculatePer_calories in clusters
+CBNPoor4[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(191:206)][]
+#utils::View(CBNPoor4)
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor4[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(208:223)][]
+
+
+CBNPoor4[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor4[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor4[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor4[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4<-CBNPoor4[Per_Daily_Exp_Calories!=0]
+CBNPoor4[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor4[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+
+#sum of total food expenditures
+CBNPoor4[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor4[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor4[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor4[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+
+
+#Calculations
+CBNPoor4[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,weighted.mean(FoodExpenditure_Per_day,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+
+
+
+#Food Poverty Line for each cluster
+#cluster 1
+CBNPoorCluster<-CBNPoor4[cluster==1]
+Food_Povertyline1_4<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 2
+CBNPoorCluster<-CBNPoor4[cluster==2]
+Food_Povertyline2_4<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 3
+CBNPoorCluster<-CBNPoor4[cluster==3]
+Food_Povertyline3_4<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 4
+CBNPoorCluster<-CBNPoor4[cluster==4]
+Food_Povertyline4_4<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#ee<-CBNPoor[,.(Total_Exp_Month_Real,Total_Exp_Month,Total_Food_Month_Per2,Total_Exp_Month_Per_nondurable,Total_Exp_Month_nondurable_Real_Per,FoodExpenditure_Per,cluster)]
+#mean(ee[,Total_Food_Month_Per2==Total_Exp_Month_nondurable_Real])
+#mean(ee[,Total_Food_Month_Per2<3500000])
+#ee<- ee[order(Total_Food_Month_Per2)]
+#utils::View(CBN)
+#for (col in c("Total_Food_Month_Per2")) CBN[is.na(get(col)), (col) := Total_Exp_Month_Per_nondurable]
+c<-CBN[,.(FoodExpenditure_Per,FoodExpenditure_Per_total,Total_Exp_Month_Per_nondurable,Total_Exp_Month,Total_Food_Month_Per2,Poor,Decile,Weight,cluster)]
+
+
+#########Iteration 5###############
+#Sort Expenditure data
+CBN<- CBN[order(Total_Food_Month_Per2)]
+c<- c[order(Total_Food_Month_Per2)]
+
+#Indicate new poors
+CBN[,Poor5:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_4 & cluster==1,1,0)]
+c[,Poor5:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_4 & cluster==1 ,1,0)]
+CBN[,Poor5:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_4 & cluster==2,1,Poor5)]
+c[,Poor5:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_4 & cluster==2 ,1,Poor5)]
+CBN[,Poor5:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_4 & cluster==3,1,Poor5)]
+c[,Poor5:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_4 & cluster==3 ,1,Poor5)]
+CBN[,Poor5:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_4 & cluster==4,1,Poor5)]
+c[,Poor5:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_4 & cluster==4 ,1,Poor5)]
+CBN[,weighted.mean(Poor5,Weight),by=cluster][order(cluster)]
+CBNPoor4[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5<-CBN[Poor5==1]
+
+#CalculatePer_calories in clusters
+CBNPoor5[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(191:206)][]
+#utils::View(CBNPoor5)
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor5[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(208:223)][]
+
+
+CBNPoor5[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor5[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor5[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor5[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5<-CBNPoor5[Per_Daily_Exp_Calories!=0]
+CBNPoor5[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor5[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+
+#sum of total food expenditures
+CBNPoor5[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor5[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor5[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor5[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+
+
+#Calculations
+CBNPoor5[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,weighted.mean(FoodExpenditure_Per_day,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+
+
+
+#Food Poverty Line for each cluster
+#cluster 1
+CBNPoorCluster<-CBNPoor5[cluster==1]
+Food_Povertyline1_5<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 2
+CBNPoorCluster<-CBNPoor5[cluster==2]
+Food_Povertyline2_5<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 3
+CBNPoorCluster<-CBNPoor5[cluster==3]
+Food_Povertyline3_5<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 4
+CBNPoorCluster<-CBNPoor5[cluster==4]
+Food_Povertyline4_5<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#ee<-CBNPoor[,.(Total_Exp_Month_Real,Total_Exp_Month,Total_Food_Month_Per2,Total_Exp_Month_Per_nondurable,Total_Exp_Month_nondurable_Real_Per,FoodExpenditure_Per,cluster)]
+#mean(ee[,Total_Food_Month_Per2==Total_Exp_Month_nondurable_Real])
+#mean(ee[,Total_Food_Month_Per2<3500000])
+#ee<- ee[order(Total_Food_Month_Per2)]
+#utils::View(CBN)
+#for (col in c("Total_Food_Month_Per2")) CBN[is.na(get(col)), (col) := Total_Exp_Month_Per_nondurable]
+c<-CBN[,.(FoodExpenditure_Per,FoodExpenditure_Per_total,Total_Exp_Month_Per_nondurable,Total_Exp_Month,Total_Food_Month_Per2,Poor,Decile,Weight,cluster)]
+
+
+#########Iteration 6###############
+#Sort Expenditure data
+CBN<- CBN[order(Total_Food_Month_Per2)]
+c<- c[order(Total_Food_Month_Per2)]
+
+#Indicate new poors
+CBN[,Poor6:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_5 & cluster==1,1,0)]
+c[,Poor6:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_5 & cluster==1 ,1,0)]
+CBN[,Poor6:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_5 & cluster==2,1,Poor6)]
+c[,Poor6:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_5 & cluster==2 ,1,Poor6)]
+CBN[,Poor6:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_5 & cluster==3,1,Poor6)]
+c[,Poor6:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_5 & cluster==3 ,1,Poor6)]
+CBN[,Poor6:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_5 & cluster==4,1,Poor6)]
+c[,Poor6:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_5 & cluster==4 ,1,Poor6)]
+CBN[,weighted.mean(Poor6,Weight),by=cluster][order(cluster)]
+CBNPoor5[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6<-CBN[Poor6==1]
+
+#CalculatePer_calories in clusters
+CBNPoor6[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(191:206)][]
+#utils::View(CBNPoor6)
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor6[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(208:223)][]
+
+
+CBNPoor6[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor6[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor6[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor6[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6<-CBNPoor6[Per_Daily_Exp_Calories!=0]
+CBNPoor6[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor6[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+
+#sum of total food expenditures
+CBNPoor6[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor6[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor6[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor6[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+
+
+#Calculations
+CBNPoor6[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,weighted.mean(FoodExpenditure_Per_day,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+
+
+#Food Poverty Line for each cluster
+#cluster 1
+CBNPoorCluster<-CBNPoor6[cluster==1]
+Food_Povertyline1_6<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 2
+CBNPoorCluster<-CBNPoor6[cluster==2]
+Food_Povertyline2_6<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 3
+CBNPoorCluster<-CBNPoor6[cluster==3]
+Food_Povertyline3_6<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 4
+CBNPoorCluster<-CBNPoor6[cluster==4]
+Food_Povertyline4_6<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#ee<-CBNPoor[,.(Total_Exp_Month_Real,Total_Exp_Month,Total_Food_Month_Per2,Total_Exp_Month_Per_nondurable,Total_Exp_Month_nondurable_Real_Per,FoodExpenditure_Per,cluster)]
+#mean(ee[,Total_Food_Month_Per2==Total_Exp_Month_nondurable_Real])
+#mean(ee[,Total_Food_Month_Per2<3500000])
+#ee<- ee[order(Total_Food_Month_Per2)]
+#utils::View(CBN)
+#for (col in c("Total_Food_Month_Per2")) CBN[is.na(get(col)), (col) := Total_Exp_Month_Per_nondurable]
+c<-CBN[,.(FoodExpenditure_Per,FoodExpenditure_Per_total,Total_Exp_Month_Per_nondurable,Total_Exp_Month,Total_Food_Month_Per2,Poor,Decile,Weight,cluster)]
+
+
+#########Iteration 7###############
+#Sort Expenditure data
+CBN<- CBN[order(Total_Food_Month_Per2)]
+c<- c[order(Total_Food_Month_Per2)]
+
+#Indicate new poors
+CBN[,Poor7:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_6 & cluster==1,1,0)]
+c[,Poor7:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_6 & cluster==1 ,1,0)]
+CBN[,Poor7:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_6 & cluster==2,1,Poor7)]
+c[,Poor7:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_6 & cluster==2 ,1,Poor7)]
+CBN[,Poor7:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_6 & cluster==3,1,Poor7)]
+c[,Poor7:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_6 & cluster==3 ,1,Poor7)]
+CBN[,Poor7:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_6 & cluster==4,1,Poor7)]
+c[,Poor7:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_6 & cluster==4 ,1,Poor7)]
+CBN[,weighted.mean(Poor7,Weight),by=cluster][order(cluster)]
+CBNPoor6[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7<-CBN[Poor7==1]
+
+#CalculatePer_calories in clusters
+CBNPoor7[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(191:206)][]
+#utils::View(CBNPoor7)
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor7[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(208:223)][]
+
+
+CBNPoor7[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor7[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor7[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor7[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7<-CBNPoor7[Per_Daily_Exp_Calories!=0]
+CBNPoor7[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor7[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+
+#sum of total food expenditures
+CBNPoor7[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor7[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor7[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor7[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+
+
+#Calculations
+CBNPoor7[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,weighted.mean(FoodExpenditure_Per_day,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+
+
+
+#Food Poverty Line for each cluster
+#cluster 1
+CBNPoorCluster<-CBNPoor7[cluster==1]
+Food_Povertyline1_7<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 2
+CBNPoorCluster<-CBNPoor7[cluster==2]
+Food_Povertyline2_7<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 3
+CBNPoorCluster<-CBNPoor7[cluster==3]
+Food_Povertyline3_7<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 4
+CBNPoorCluster<-CBNPoor7[cluster==4]
+Food_Povertyline4_7<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#ee<-CBNPoor[,.(Total_Exp_Month_Real,Total_Exp_Month,Total_Food_Month_Per2,Total_Exp_Month_Per_nondurable,Total_Exp_Month_nondurable_Real_Per,FoodExpenditure_Per,cluster)]
+#mean(ee[,Total_Food_Month_Per2==Total_Exp_Month_nondurable_Real])
+#mean(ee[,Total_Food_Month_Per2<3500000])
+#ee<- ee[order(Total_Food_Month_Per2)]
+#utils::View(CBN)
+#for (col in c("Total_Food_Month_Per2")) CBN[is.na(get(col)), (col) := Total_Exp_Month_Per_nondurable]
+c<-CBN[,.(FoodExpenditure_Per,FoodExpenditure_Per_total,Total_Exp_Month_Per_nondurable,Total_Exp_Month,Total_Food_Month_Per2,Poor,Decile,Weight,cluster)]
+
+
+#########Iteration 8###############
+#Sort Expenditure data
+CBN<- CBN[order(Total_Food_Month_Per2)]
+c<- c[order(Total_Food_Month_Per2)]
+
+#Indicate new poors
+CBN[,Poor8:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_7 & cluster==1,1,0)]
+c[,Poor8:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_7 & cluster==1 ,1,0)]
+CBN[,Poor8:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_7 & cluster==2,1,Poor8)]
+c[,Poor8:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_7 & cluster==2 ,1,Poor8)]
+CBN[,Poor8:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_7 & cluster==3,1,Poor8)]
+c[,Poor8:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_7 & cluster==3 ,1,Poor8)]
+CBN[,Poor8:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_7 & cluster==4,1,Poor8)]
+c[,Poor8:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_7 & cluster==4 ,1,Poor8)]
+CBN[,weighted.mean(Poor8,Weight),by=cluster][order(cluster)]
+CBNPoor7[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8<-CBN[Poor8==1]
+
+
+#CalculatePer_calories in clusters
+CBNPoor8[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(191:206)][]
+#utils::View(CBNPoor8)
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor8[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(208:223)][]
+
+
+CBNPoor8[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor8[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor8[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor8[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8<-CBNPoor8[Per_Daily_Exp_Calories!=0]
+CBNPoor8[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor8[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+
+#sum of total food expenditures
+CBNPoor8[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor8[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor8[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor8[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+
+
+#Calculations
+CBNPoor8[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,weighted.mean(FoodExpenditure_Per_day,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+
+
+
+#Food Poverty Line for each cluster
+#cluster 1
+CBNPoorCluster<-CBNPoor8[cluster==1]
+Food_Povertyline1_8<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 2
+CBNPoorCluster<-CBNPoor8[cluster==2]
+Food_Povertyline2_8<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 3
+CBNPoorCluster<-CBNPoor8[cluster==3]
+Food_Povertyline3_8<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 4
+CBNPoorCluster<-CBNPoor8[cluster==4]
+Food_Povertyline4_8<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#ee<-CBNPoor[,.(Total_Exp_Month_Real,Total_Exp_Month,Total_Food_Month_Per2,Total_Exp_Month_Per_nondurable,Total_Exp_Month_nondurable_Real_Per,FoodExpenditure_Per,cluster)]
+#mean(ee[,Total_Food_Month_Per2==Total_Exp_Month_nondurable_Real])
+#mean(ee[,Total_Food_Month_Per2<3500000])
+#ee<- ee[order(Total_Food_Month_Per2)]
+#utils::View(CBN)
+#for (col in c("Total_Food_Month_Per2")) CBN[is.na(get(col)), (col) := Total_Exp_Month_Per_nondurable]
+c<-CBN[,.(FoodExpenditure_Per,FoodExpenditure_Per_total,Total_Exp_Month_Per_nondurable,Total_Exp_Month,Total_Food_Month_Per2,Poor,Decile,Weight,cluster)]
+
+
+#########Iteration 9###############
+#Sort Expenditure data
+CBN<- CBN[order(Total_Food_Month_Per2)]
+c<- c[order(Total_Food_Month_Per2)]
+
+#Indicate new poors
+CBN[,Poor9:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_8 & cluster==1,1,0)]
+c[,Poor9:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_8 & cluster==1 ,1,0)]
+CBN[,Poor9:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_8 & cluster==2,1,Poor9)]
+c[,Poor9:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_8 & cluster==2 ,1,Poor9)]
+CBN[,Poor9:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_8 & cluster==3,1,Poor9)]
+c[,Poor9:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_8 & cluster==3 ,1,Poor9)]
+CBN[,Poor9:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_8 & cluster==4,1,Poor9)]
+c[,Poor9:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_8 & cluster==4 ,1,Poor9)]
+CBN[,weighted.mean(Poor9,Weight),by=cluster][order(cluster)]
+CBNPoor8[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9<-CBN[Poor9==1]
+
+
+#CalculatePer_calories in clusters
+CBNPoor9[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(191:206)][]
+#utils::View(CBNPoor9)
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor9[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(208:223)][]
+
+
+CBNPoor9[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor9[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor9[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor9[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9<-CBNPoor9[Per_Daily_Exp_Calories!=0]
+CBNPoor9[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor9[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+
+#sum of total food expenditures
+CBNPoor9[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor9[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor9[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor9[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+
+
+
+#Calculations
+CBNPoor9[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,weighted.mean(FoodExpenditure_Per_day,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+
+
+
+#Food Poverty Line for each cluster
+#cluster 1
+CBNPoorCluster<-CBNPoor9[cluster==1]
+Food_Povertyline1_9<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 2
+CBNPoorCluster<-CBNPoor9[cluster==2]
+Food_Povertyline2_9<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 3
+CBNPoorCluster<-CBNPoor9[cluster==3]
+Food_Povertyline3_9<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 4
+CBNPoorCluster<-CBNPoor9[cluster==4]
+Food_Povertyline4_9<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#ee<-CBNPoor[,.(Total_Exp_Month_Real,Total_Exp_Month,Total_Food_Month_Per2,Total_Exp_Month_Per_nondurable,Total_Exp_Month_nondurable_Real_Per,FoodExpenditure_Per,cluster)]
+#mean(ee[,Total_Food_Month_Per2==Total_Exp_Month_nondurable_Real])
+#mean(ee[,Total_Food_Month_Per2<3500000])
+#ee<- ee[order(Total_Food_Month_Per2)]
+#utils::View(CBN)
+#for (col in c("Total_Food_Month_Per2")) CBN[is.na(get(col)), (col) := Total_Exp_Month_Per_nondurable]
+c<-CBN[,.(FoodExpenditure_Per,FoodExpenditure_Per_total,Total_Exp_Month_Per_nondurable,Total_Exp_Month,Total_Food_Month_Per2,Poor,Decile,Weight,cluster)]
+
+
+#########Iteration 10###############
+#Sort Expenditure data
+CBN<- CBN[order(Total_Food_Month_Per2)]
+c<- c[order(Total_Food_Month_Per2)]
+
+#Indicate new poors
+CBN[,Poor10:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_9 & cluster==1,1,0)]
+c[,Poor10:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_9 & cluster==1 ,1,0)]
+CBN[,Poor10:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_9 & cluster==2,1,Poor10)]
+c[,Poor10:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_9 & cluster==2 ,1,Poor10)]
+CBN[,Poor10:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_9 & cluster==3,1,Poor10)]
+c[,Poor10:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_9 & cluster==3 ,1,Poor10)]
+CBN[,Poor10:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_9 & cluster==4,1,Poor10)]
+c[,Poor10:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_9 & cluster==4 ,1,Poor10)]
+CBN[,weighted.mean(Poor10,Weight),by=cluster][order(cluster)]
+CBNPoor9[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor10<-CBN[Poor10==1]
+
+#Engel
+#CBNPoor9<-CBNPoor9[,ratio1:=FoodExpenditure/Total_Exp_Month]
+#CBNPoor9[,weighted.mean(ratio1,Weight),by=cluster]
+#summary(CBNPoor9$ratio1)
+CBN<-CBN[,ratio1:=FoodExpenditure/Total_Exp_Month]
+CBN[,weighted.mean(ratio1,Weight),by=ProvinceCode][order(ProvinceCode)]
+CBN<-CBN[,ratio2:=ServiceExp/Total_Exp_Month]
+CBN[,weighted.mean(ratio2,Weight),by=ProvinceCode][order(ProvinceCode)]
+
+# Poverty Line for each cluster
+#cluster 1
+CBNPoorCluster<-CBN[cluster==1 & FoodExpenditure_Per_total<1.1*Food_Povertyline1_9 & FoodExpenditure_Per_total>0.90*Food_Povertyline1_9]
+Engel1<-weighted.mean(CBNPoorCluster$ratio1,CBNPoorCluster$Weight)
+Engel_Reverse1<-1/Engel1
+Povertyline1_9<-Engel_Reverse1*Food_Povertyline1_9
+
+#cluster 2
+CBNPoorCluster<-CBN[cluster==2 & FoodExpenditure_Per_total<1.1*Food_Povertyline2_9 & FoodExpenditure_Per_total>0.90*Food_Povertyline2_9]
+Engel2<-weighted.mean(CBNPoorCluster$ratio1,CBNPoorCluster$Weight)
+Engel_Reverse2<-1/Engel2
+Povertyline2_9<-Engel_Reverse2*Food_Povertyline2_9
+
+#cluster 3
+CBNPoorCluster<-CBN[cluster==3 & FoodExpenditure_Per_total<1.1*Food_Povertyline3_9 & FoodExpenditure_Per_total>0.90*Food_Povertyline3_9]
+Engel3<-weighted.mean(CBNPoorCluster$ratio1,CBNPoorCluster$Weight)
+Engel_Reverse3<-1/Engel3
+Povertyline3_9<-Engel_Reverse3*Food_Povertyline3_9
+
+#cluster 4
+CBNPoorCluster<-CBN[cluster==4 & FoodExpenditure_Per_total<1.1*Food_Povertyline4_9 & FoodExpenditure_Per_total>0.90*Food_Povertyline4_9]
+Engel4<-weighted.mean(CBNPoorCluster$ratio1,CBNPoorCluster$Weight)
+Engel_Reverse4<-1/Engel4
+Povertyline4_9<-Engel_Reverse4*Food_Povertyline4_9
+
+#Indicate final poors
+CBN<-CBN[,Total_Exp_Month_Per2:=Total_Exp_Month_Per_nondurable*RealPriceIndex]
+
+CBN[,Poor11:=ifelse(Total_Exp_Month_Per_nondurable < Povertyline1_9 & cluster==1,1,0)]
+CBN[,Poor11:=ifelse(Total_Exp_Month_Per_nondurable < Povertyline2_9 & cluster==2,1,Poor11)]
+CBN[,Poor11:=ifelse(Total_Exp_Month_Per_nondurable < Povertyline3_9 & cluster==3,1,Poor11)]
+CBN[,Poor11:=ifelse(Total_Exp_Month_Per_nondurable < Povertyline4_9 & cluster==4,1,Poor11)]
+CBN[,weighted.mean(Poor11,Weight),by=cluster][order(cluster)]
+CBNPoor9[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor11<-CBN[Poor11==1]
+
+CBN[,sum(Size*Weight),by=cluster][order(cluster)]
+CBNPoor9[,sum(Size*Weight),by=cluster][order(cluster)]
+CBNPoor9[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBN[,weighted.mean(Poor11,Weight)]
+CBN[,weighted.mean(Poor11,Weight),by=cluster][order(cluster)]
+CBN[,weighted.mean(Poor11,Weight),by=ProvinceCode][order(ProvinceCode)]
+endtime <- proc.time()
+
+cat("\n\n============================\nIt took ")
+cat(endtime-starttime)
+
diff --git a/R/Archive/Other Codes/62-FEI Poverty line for each province.R b/R/Archive/Other Codes/62-FEI Poverty line for each province.R
new file mode 100644
index 00000000..42f7fa7a
--- /dev/null
+++ b/R/Archive/Other Codes/62-FEI Poverty line for each province.R
@@ -0,0 +1,292 @@
+# 26- Additional calculations for clustering.R
+#
+# 26-Total_Exp.R
+#
+# Copyright © 2018:Arin Shahbazian
+# Licence: GPL-3
+#
+
+rm(list=ls())
+
+starttime <- proc.time()
+cat("\n\n================ Total =====================================\n")
+
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+library(readxl)
+library(reldist)
+library(Hmisc)
+library(dplyr)
+library(data.table)
+
+
+# Calories
+MinCalories <- 2100
+MinCalories2 <- MinCalories^2
+library(data.table)
+
+load(file = paste0(Settings$HEISProcessedPath,"Y","95","MyDataRural.rda"))
+load(file = paste0(Settings$HEISProcessedPath,"Y","95","MyDataUrban.rda"))
+
+
+#Sort by Province and Expenditure data
+Rur <- MyDataRural[,.(Percentile=as.integer(Percentile),Per_Daily_Calories,Total_Exp_Month_Per,Total_Exp_Month_Per_nondurable,ProvinceCode,Weight)]
+Urb <- MyDataUrban[,.(Percentile=as.integer(Percentile),Per_Daily_Calories,Total_Exp_Month_Per,Total_Exp_Month_Per_nondurable,ProvinceCode,Weight)]
+
+Rur<- Rur[order(ProvinceCode,Total_Exp_Month_Per_nondurable)]
+Urb<- Urb[order(ProvinceCode,Total_Exp_Month_Per_nondurable)]
+
+#Calculate cumulative weights
+Rur$cumWeightProv <-ave(Rur$Weight, Rur$ProvinceCode, FUN=cumsum)
+Urb$cumWeightProv <-ave(Urb$Weight, Urb$ProvinceCode, FUN=cumsum)
+
+Rur$rx<-ave(Rur$cumWeight, by=list(Rur$ProvinceCode), FUN=max)
+Urb$ux<-ave(Urb$cumWeight, by=list(Urb$ProvinceCode), FUN=max)
+
+#Calculate percentiles by weights for each provinces
+Rur<- Rur[, ProvincePercentile := Rur$cumWeightProv/Rur$rx]
+Rur<- Rur[, ProvincePercentile := ProvincePercentile*100]
+Rur<- Rur[, ProvincePercentile := ceiling(ProvincePercentile)]
+
+Urb<- Urb[, ProvincePercentile := Urb$cumWeightProv/Urb$ux]
+Urb<- Urb[, ProvincePercentile := ProvincePercentile*100]
+Urb<- Urb[, ProvincePercentile := ceiling(ProvincePercentile)]
+
+######### calculate Rural Pov Line #########
+d <- Rur[,.(Percentile=as.integer(Percentile),Per_Daily_Calories,Total_Exp_Month_Per,Total_Exp_Month_Per_nondurable,ProvinceCode,Weight,cumWeightProv,ProvincePercentile)]
+setnames(d,c("pct","cal","exp","ndx","prov","w","cumw","provpct"))
+d2 <- d [provpct<86]
+#plot(cal~exp,data=d)
+#plot(cal~exp,data=d2)
+#plot(log(cal)~log(exp),data=d)
+#plot(log(cal)~log(exp),data=d2)
+
+d$cal2<-d$cal^2
+d2$cal2<-d2$cal^2
+
+load(file="dt2.rda")
+Rur<-merge(Rur,dt2,by=c("ProvinceCode"),all.x = TRUE)
+
+dx <- d[,lapply(.SD, mean, na.rm=TRUE),by=.(provpct,prov)]
+dx2 <- d2[,lapply(.SD, mean, na.rm=TRUE),by=.(provpct,prov)]
+
+###########Rural-all###########
+
+#Nonlog
+for(ostan in 0:30){
+ nam <- paste0("Rur",ostan)
+ assign(nam,d[prov==ostan])
+ # save(list=ls(pattern = nam),file = paste0(Settings$HEISProcessedPath,nam,".rda"))
+ model1 <- lm(exp ~ cal + cal2 , weights = w, data=assign(nam,d[prov==ostan]))
+ summary(model1)
+ nam3 <- predict(object = model1, newdata = data.table(pct=NA,cal=MinCalories,cal2=MinCalories2,exp=NA,ndx=NA,w=NA))[[1]]
+ nam2 <- paste0("Rural1PovLine",ostan)
+ assign(nam2,nam3)
+}
+#log
+d<-d[cal!=0]
+for(ostan in 0:30){
+ nam <- paste0("Rur",ostan)
+ assign(nam,d[prov==ostan])
+ # save(list=ls(pattern = nam),file = paste0(Settings$HEISProcessedPath,nam,".rda"))
+ model2 <- lm(log(exp) ~ log(cal), weights = w, data=assign(nam,d[prov==ostan]))
+ summary(model2)
+ nam3 <- predict(object = model2, newdata = data.table(pct=NA,cal=MinCalories,cal2=MinCalories2,exp=NA,ndx=NA,w=NA))[[1]]
+ nam2 <- paste0("Rural2PovLine",ostan)
+ nam3<-exp(nam3)
+ assign(nam2,nam3)
+}
+
+#Nonlog-85 percent
+for(ostan in 0:30){
+ nam <- paste0("Rur",ostan)
+ assign(nam,d[prov==ostan])
+ # save(list=ls(pattern = nam),file = paste0(Settings$HEISProcessedPath,nam,".rda"))
+ model3 <- lm(exp ~ cal + cal2 , weights = w, data=assign(nam,d2[prov==ostan]))
+ summary(model3)
+ nam3 <- predict(object = model3, newdata = data.table(pct=NA,cal=MinCalories,cal2=MinCalories2,exp=NA,ndx=NA,w=NA))[[1]]
+ nam2 <- paste0("Rural3PovLine",ostan)
+ assign(nam2,nam3)
+}
+#log-85 percent
+d2<-d2[cal!=0]
+for(ostan in 0:30){
+ nam <- paste0("Rur",ostan)
+ assign(nam,d2[prov==ostan])
+ # save(list=ls(pattern = nam),file = paste0(Settings$HEISProcessedPath,nam,".rda"))
+ model4 <- lm(log(exp) ~ log(cal), weights = w, data=assign(nam,d2[prov==ostan]))
+ summary(model4)
+ nam3 <- predict(object = model4, newdata = data.table(pct=NA,cal=MinCalories,cal2=MinCalories2,exp=NA,ndx=NA,w=NA))[[1]]
+ nam2 <- paste0("Rural4PovLine",ostan)
+ nam3<-exp(nam3)
+ assign(nam2,nam3)
+}
+
+###########Rural-percentiles###########
+#Nonlog
+for(ostan in 0:30){
+ nam <- paste0("Rur",ostan)
+ assign(nam,d[prov==ostan])
+ # save(list=ls(pattern = nam),file = paste0(Settings$HEISProcessedPath,nam,".rda"))
+ model1 <- lm(exp ~ cal + cal2 , weights = w, data=assign(nam,dx[prov==ostan]))
+ summary(model1)
+ nam3 <- predict(object = model1, newdata = data.table(pct=NA,cal=MinCalories,cal2=MinCalories2,exp=NA,ndx=NA,w=NA))[[1]]
+ nam2 <- paste0("Rural1PovLine",ostan)
+ assign(nam2,nam3)
+}
+#log
+dx<-dx[cal!=0]
+for(ostan in 0:30){
+ nam <- paste0("Rur",ostan)
+ assign(nam,d[prov==ostan])
+ # save(list=ls(pattern = nam),file = paste0(Settings$HEISProcessedPath,nam,".rda"))
+ model2 <- lm(log(exp) ~ log(cal), weights = w, data=assign(nam,dx[prov==ostan]))
+ summary(model2)
+ nam3 <- predict(object = model2, newdata = data.table(pct=NA,cal=MinCalories,cal2=MinCalories2,exp=NA,ndx=NA,w=NA))[[1]]
+ nam2 <- paste0("Rural2PovLine",ostan)
+ nam3<-exp(nam3)
+ assign(nam2,nam3)
+}
+
+#Nonlog-85 percent
+for(ostan in 0:30){
+ nam <- paste0("Rur",ostan)
+ assign(nam,d[prov==ostan])
+ # save(list=ls(pattern = nam),file = paste0(Settings$HEISProcessedPath,nam,".rda"))
+ model3 <- lm(exp ~ cal + cal2 , weights = w, data=assign(nam,dx2[prov==ostan]))
+ summary(model3)
+ nam3 <- predict(object = model3, newdata = data.table(pct=NA,cal=MinCalories,cal2=MinCalories2,exp=NA,ndx=NA,w=NA))[[1]]
+ nam2 <- paste0("Rural3PovLine",ostan)
+ assign(nam2,nam3)
+}
+#log-85 percent
+dx2<-dx2[cal!=0]
+for(ostan in 0:30){
+ nam <- paste0("Rur",ostan)
+ assign(nam,d2[prov==ostan])
+ # save(list=ls(pattern = nam),file = paste0(Settings$HEISProcessedPath,nam,".rda"))
+ model4 <- lm(log(exp) ~ log(cal), weights = w, data=assign(nam,dx2[prov==ostan]))
+ summary(model4)
+ nam3 <- predict(object = model4, newdata = data.table(pct=NA,cal=MinCalories,cal2=MinCalories2,exp=NA,ndx=NA,w=NA))[[1]]
+ nam2 <- paste0("Rural4PovLine",ostan)
+ nam3<-exp(nam3)
+ assign(nam2,nam3)
+}
+######### calculate Urban Pov Line #########
+
+d <- Urb[,.(Percentile=as.integer(Percentile),Per_Daily_Calories,Total_Exp_Month_Per,Total_Exp_Month_Per_nondurable,ProvinceCode,Weight,cumWeightProv,ProvincePercentile)]
+setnames(d,c("pct","cal","exp","ndx","prov","w","cumw","provpct"))
+d2 <- d [provpct<86]
+#plot(cal~exp,data=d)
+#plot(cal~exp,data=d2)
+#plot(log(cal)~log(exp),data=d)
+#plot(log(cal)~log(exp),data=d2)
+
+d$cal2<-d$cal^2
+d2$cal2<-d2$cal^2
+
+dx <- d[,lapply(.SD, mean, na.rm=TRUE),by=.(provpct,prov)]
+dx2 <- d2[,lapply(.SD, mean, na.rm=TRUE),by=.(provpct,prov)]
+
+############Urban-all############
+#Nonlog
+for(ostan in 0:30){
+ nam <- paste0("Urb",ostan)
+ assign(nam,d[prov==ostan])
+ # save(list=ls(pattern = nam),file = paste0(Settings$HEISProcessedPath,nam,".rda"))
+ model1 <- lm(exp ~ cal + cal2 , weights = w, data=assign(nam,d[prov==ostan]))
+ summary(model1)
+ nam3 <- predict(object = model1, newdata = data.table(pct=NA,cal=MinCalories,cal2=MinCalories2,exp=NA,ndx=NA,w=NA))[[1]]
+ nam2 <- paste0("Urban1PovLine",ostan)
+ assign(nam2,nam3)
+}
+#log
+d<-d[cal!=0]
+for(ostan in 0:30){
+ nam <- paste0("Urb",ostan)
+ assign(nam,d[prov==ostan])
+ # save(list=ls(pattern = nam),file = paste0(Settings$HEISProcessedPath,nam,".rda"))
+ model2 <- lm(log(exp) ~ log(cal), weights = w, data=assign(nam,d[prov==ostan]))
+ summary(model2)
+ nam3 <- predict(object = model2, newdata = data.table(pct=NA,cal=MinCalories,cal2=MinCalories2,exp=NA,ndx=NA,w=NA))[[1]]
+ nam2 <- paste0("Urban2PovLine",ostan)
+ nam3<-exp(nam3)
+ assign(nam2,nam3)
+}
+
+#Nonlog-85 percent
+for(ostan in 0:30){
+ nam <- paste0("Urb",ostan)
+ assign(nam,d[prov==ostan])
+ # save(list=ls(pattern = nam),file = paste0(Settings$HEISProcessedPath,nam,".rda"))
+ model3 <- lm(exp ~ cal + cal2 , weights = w, data=assign(nam,d2[prov==ostan]))
+ summary(model3)
+ nam3 <- predict(object = model3, newdata = data.table(pct=NA,cal=MinCalories,cal2=MinCalories2,exp=NA,ndx=NA,w=NA))[[1]]
+ nam2 <- paste0("Urban3PovLine",ostan)
+ assign(nam2,nam3)
+}
+#log-85 percent
+d2<-d2[cal!=0]
+for(ostan in 0:30){
+ nam <- paste0("Urb",ostan)
+ assign(nam,d2[prov==ostan])
+ # save(list=ls(pattern = nam),file = paste0(Settings$HEISProcessedPath,nam,".rda"))
+ model4 <- lm(log(exp) ~ log(cal), weights = w, data=assign(nam,d2[prov==ostan]))
+ summary(model4)
+ nam3 <- predict(object = model4, newdata = data.table(pct=NA,cal=MinCalories,cal2=MinCalories2,exp=NA,ndx=NA,w=NA))[[1]]
+ nam2 <- paste0("Urban4PovLine",ostan)
+ nam3<-exp(nam3)
+ assign(nam2,nam3)
+}
+
+############Urban-Percentiles############
+#Nonlog
+for(ostan in 0:30){
+ nam <- paste0("Urb",ostan)
+ assign(nam,d[prov==ostan])
+ # save(list=ls(pattern = nam),file = paste0(Settings$HEISProcessedPath,nam,".rda"))
+ model1 <- lm(exp ~ cal + cal2 , weights = w, data=assign(nam,dx[prov==ostan]))
+ summary(model1)
+ nam3 <- predict(object = model1, newdata = data.table(pct=NA,cal=MinCalories,cal2=MinCalories2,exp=NA,ndx=NA,w=NA))[[1]]
+ nam2 <- paste0("Urban1PovLine",ostan)
+ assign(nam2,nam3)
+}
+#log
+dx<-dx[cal!=0]
+for(ostan in 0:30){
+ nam <- paste0("Urb",ostan)
+ assign(nam,d[prov==ostan])
+ # save(list=ls(pattern = nam),file = paste0(Settings$HEISProcessedPath,nam,".rda"))
+ model2 <- lm(log(exp) ~ log(cal), weights = w, data=assign(nam,dx[prov==ostan]))
+ summary(model2)
+ nam3 <- predict(object = model2, newdata = data.table(pct=NA,cal=MinCalories,cal2=MinCalories2,exp=NA,ndx=NA,w=NA))[[1]]
+ nam2 <- paste0("Urban2PovLine",ostan)
+ nam3<-exp(nam3)
+ assign(nam2,nam3)
+}
+
+#Nonlog-85 percent
+for(ostan in 0:30){
+ nam <- paste0("Urb",ostan)
+ assign(nam,d[prov==ostan])
+ # save(list=ls(pattern = nam),file = paste0(Settings$HEISProcessedPath,nam,".rda"))
+ model3 <- lm(exp ~ cal + cal2 , weights = w, data=assign(nam,dx2[prov==ostan]))
+ summary(model3)
+ nam3 <- predict(object = model3, newdata = data.table(pct=NA,cal=MinCalories,cal2=MinCalories2,exp=NA,ndx=NA,w=NA))[[1]]
+ nam2 <- paste0("Urban3PovLine",ostan)
+ assign(nam2,nam3)
+}
+#log-85 percent
+dx2<-dx2[cal!=0]
+for(ostan in 0:30){
+ nam <- paste0("Urb",ostan)
+ assign(nam,d2[prov==ostan])
+ # save(list=ls(pattern = nam),file = paste0(Settings$HEISProcessedPath,nam,".rda"))
+ model4 <- lm(log(exp) ~ log(cal), weights = w, data=assign(nam,dx2[prov==ostan]))
+ summary(model4)
+ nam3 <- predict(object = model4, newdata = data.table(pct=NA,cal=MinCalories,cal2=MinCalories2,exp=NA,ndx=NA,w=NA))[[1]]
+ nam2 <- paste0("Urban4PovLine",ostan)
+ nam3<-exp(nam3)
+ assign(nam2,nam3)
+}
\ No newline at end of file
diff --git a/R/Archive/Other Codes/62-FEI-Rural.R b/R/Archive/Other Codes/62-FEI-Rural.R
new file mode 100644
index 00000000..39751a5e
--- /dev/null
+++ b/R/Archive/Other Codes/62-FEI-Rural.R
@@ -0,0 +1,187 @@
+# FEI method
+#
+#
+#
+# Copyright © 2018:Arin Shahbazian
+# Licence: GPL-3
+#
+
+rm(list=ls())
+
+starttime <- proc.time()
+cat("\n\n================ FEI method =====================================\n")
+
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+library(readxl)
+library(reldist)
+library(Hmisc)
+library(dplyr)
+library(data.table)
+library(stringr)
+
+
+# Calories
+MinCalories <- 2100
+MinCalories2 <- MinCalories^2
+
+
+load(file = paste0(Settings$HEISProcessedPath,"Y","95","MyDataRural.rda"))
+
+
+
+load(file="dt5Rural.rda")
+MyDataRural<-merge(MyDataRural,dt2,by =c("ProvinceCode"),all.x=TRUE)
+
+#Sort by Province and Expenditure data
+Rur <- MyDataRural[,.(Percentile=as.integer(Percentile),Per_Daily_Calories,Total_Exp_Month_Per,Total_Exp_Month_Per_nondurable,ProvinceCode,Weight, cluster)]
+Rur<- Rur[order(cluster,Total_Exp_Month_Per_nondurable)]
+Rur<-Rur[Per_Daily_Calories!=0]
+
+#Calculate cumulative weights
+Rur$cumWeightcluster <-ave(Rur$Weight, Rur$cluster, FUN=cumsum)
+
+Rur$ux<-ave(Rur$cumWeight, by=list(Rur$cluster), FUN=max)
+
+#Calculate percentiles by weights for each provinces
+Rur<- Rur[, clusterPercentile := Rur$cumWeightcluster/Rur$ux]
+Rur<- Rur[, clusterPercentile := clusterPercentile*100]
+Rur<- Rur[, clusterPercentile := ceiling(clusterPercentile)]
+
+######### calculate Rural Pov Line #########
+d <- Rur
+setnames(d,c("pct","cal","exp","ndx","prov","w","cluster","cumw","ux","clusterpct"))
+d2 <- d [clusterpct<86]
+#plot(cal~exp,data=d)
+#plot(cal~exp,data=dx2)
+#plot(log(cal)~log(exp),data=d)
+#plot(log(cal)~log(exp),data=d2)
+
+d$cal2<-d$cal^2
+d2$cal2<-d2$cal^2
+
+dx <- d[,lapply(.SD, mean, na.rm=TRUE),by=.(clusterpct,cluster)]
+dx2 <- d2[,lapply(.SD, mean, na.rm=TRUE),by=.(clusterpct,cluster)]
+
+############Rural-all############
+#Nonlog-d
+for(clus in 1:5){
+ nam <- paste0("Rur",clus)
+ assign(nam,d[cluster==clus])
+ # save(list=ls(pattern = nam),file = paste0(Settings$HEISProcessedPath,nam,".rda"))
+ model1 <- lm(exp ~ cal + cal2 , weights = w, data=assign(nam,d[cluster==clus]))
+ summary(model1)
+ nam3 <- predict(object = model1, newdata = data.table(pct=NA,cal=MinCalories,cal2=MinCalories2,exp=NA,ndx=NA,w=NA))[[1]]
+ nam2 <- paste0("Rural1PovLine",clus)
+ assign(nam2,nam3)
+}
+summary(model1)
+#log-d
+for(clus in 1:5){
+ nam <- paste0("Rur",clus)
+ assign(nam,d[cluster==clus])
+ # save(list=ls(pattern = nam),file = paste0(Settings$HEISProcessedPath,nam,".rda"))
+ model1 <- lm(log(exp) ~ log(cal) , weights = w, data=assign(nam,d[cluster==clus]))
+ summary(model1)
+ nam3 <- predict(object = model1, newdata = data.table(pct=NA,cal=MinCalories,cal2=MinCalories2,exp=NA,ndx=NA,w=NA))[[1]]
+ nam2 <- paste0("Rural1PovLine",clus)
+ nam3<-exp(nam3)
+ assign(nam2,nam3)
+}
+
+#Nonlog-d2
+for(clus in 1:5){
+ nam <- paste0("Rur",clus)
+ assign(nam,d2[cluster==clus])
+ # save(list=ls(pattern = nam),file = paste0(Settings$HEISProcessedPath,nam,".rda"))
+ model1 <- lm(exp ~ cal + cal2 , weights = w, data=assign(nam,d2[cluster==clus]))
+ summary(model1)
+ nam3 <- predict(object = model1, newdata = data.table(pct=NA,cal=MinCalories,cal2=MinCalories2,exp=NA,ndx=NA,w=NA))[[1]]
+ nam2 <- paste0("Rural1PovLine",clus)
+ assign(nam2,nam3)
+}
+
+#log-d2
+for(clus in 1:5){
+ nam <- paste0("Rur",clus)
+ assign(nam,d2[cluster==clus])
+ # save(list=ls(pattern = nam),file = paste0(Settings$HEISProcessedPath,nam,".rda"))
+ model1 <- lm(log(exp) ~ log(cal) , weights = w, data=assign(nam,d2[cluster==clus]))
+ summary(model1)
+ nam3 <- predict(object = model1, newdata = data.table(pct=NA,cal=MinCalories,cal2=MinCalories2,exp=NA,ndx=NA,w=NA))[[1]]
+ nam2 <- paste0("Rural1PovLine",clus)
+ nam3<-exp(nam3)
+ assign(nam2,nam3)
+}
+
+######### calculate Rural Pov Line- Percentile #########
+d <- Rur
+setnames(d,c("pct","cal","exp","ndx","prov","w","cluster","cumw","ux","clusterpct"))
+d2 <- d [clusterpct<86]
+#plot(cal~exp,data=d)
+#plot(cal~exp,data=d2)
+#plot(log(cal)~log(exp),data=d)
+#plot(log(cal)~log(exp),data=d2)
+
+d$cal2<-d$cal^2
+d2$cal2<-d2$cal^2
+
+dx <- d[,lapply(.SD, mean, na.rm=TRUE),by=.(clusterpct,cluster)]
+dx2 <- d2[,lapply(.SD, mean, na.rm=TRUE),by=.(clusterpct,cluster)]
+
+############Rural-all############
+#Nonlog-d
+for(clus in 1:5){
+ nam <- paste0("Rur",clus)
+ assign(nam,dx[cluster==clus])
+ # save(list=ls(pattern = nam),file = paste0(Settings$HEISProcessedPath,nam,".rda"))
+ model1 <- lm(exp ~ cal + cal2 , weights = w, data=assign(nam,dx[cluster==clus]))
+ summary(model1)
+ nam3 <- predict(object = model1, newdata = data.table(pct=NA,cal=MinCalories,cal2=MinCalories2,exp=NA,ndx=NA,w=NA))[[1]]
+ nam2 <- paste0("Rural1PovLine",clus)
+ assign(nam2,nam3)
+}
+
+#log-d
+for(clus in 1:5){
+ nam <- paste0("Rur",clus)
+ assign(nam,dx[cluster==clus])
+ # save(list=ls(pattern = nam),file = paste0(Settings$HEISProcessedPath,nam,".rda"))
+ model1 <- lm(log(exp) ~ log(cal) , weights = w, data=assign(nam,dx[cluster==clus]))
+ summary(model1)
+ nam3 <- predict(object = model1, newdata = data.table(pct=NA,cal=MinCalories,cal2=MinCalories2,exp=NA,ndx=NA,w=NA))[[1]]
+ nam2 <- paste0("Rural1PovLine",clus)
+ nam3<-exp(nam3)
+ assign(nam2,nam3)
+}
+
+#Nonlog-d2
+for(clus in 1:5){
+ nam <- paste0("Rur",clus)
+ assign(nam,dx2[cluster==clus])
+ # save(list=ls(pattern = nam),file = paste0(Settings$HEISProcessedPath,nam,".rda"))
+ model1 <- lm(exp ~ cal + cal2 , weights = w, data=assign(nam,dx2[cluster==clus]))
+ summary(model1)
+ nam3 <- predict(object = model1, newdata = data.table(pct=NA,cal=MinCalories,cal2=MinCalories2,exp=NA,ndx=NA,w=NA))[[1]]
+ nam2 <- paste0("Rural1PovLine",clus)
+ assign(nam2,nam3)
+}
+
+#log-d2
+for(clus in 1:5){
+ nam <- paste0("Rur",clus)
+ assign(nam,dx2[cluster==clus])
+ # save(list=ls(pattern = nam),file = paste0(Settings$HEISProcessedPath,nam,".rda"))
+ model1 <- lm(log(exp) ~ log(cal) , weights = w, data=assign(nam,dx2[cluster==clus]))
+ summary(model1)
+ nam3 <- predict(object = model1, newdata = data.table(pct=NA,cal=MinCalories,cal2=MinCalories2,exp=NA,ndx=NA,w=NA))[[1]]
+ nam2 <- paste0("Rural1PovLine",clus)
+ nam3<-exp(nam3)
+ assign(nam2,nam3)
+}
+
+endtime <- proc.time()
+
+cat("\n\n============================\nIt took ")
+cat(endtime-starttime)
\ No newline at end of file
diff --git a/R/Archive/Other Codes/62-FEI-Urban.R b/R/Archive/Other Codes/62-FEI-Urban.R
new file mode 100644
index 00000000..bcf25db1
--- /dev/null
+++ b/R/Archive/Other Codes/62-FEI-Urban.R
@@ -0,0 +1,228 @@
+# FEI method
+#
+#
+#
+# Copyright © 2018:Arin Shahbazian
+# Licence: GPL-3
+#
+
+rm(list=ls())
+
+starttime <- proc.time()
+cat("\n\n================ FEI method =====================================\n")
+
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+library(readxl)
+library(reldist)
+library(Hmisc)
+library(dplyr)
+library(data.table)
+library(stringr)
+
+
+# Calories
+MinCalories <- 2300
+MinCalories2 <- MinCalories^2
+
+
+load(file = paste0(Settings$HEISProcessedPath,"Y","95","MyDataUrban.rda"))
+
+#Seperate big cities
+MyDataUrban[,sum(Weight*Size),by=ProvinceCode][order(V1)]
+MyDataUrban[,HHIDs:=as.character(HHID)]
+MyDataUrban[,ShahrestanCode:=as.integer(str_sub(HHIDs,2,5))]
+MyDataUrban[,sum(Weight*Size),by=ShahrestanCode][order(V1)][330:387]
+MyDataUrbanTehran<-MyDataUrban[ProvinceCode==23]
+MyDataUrbanTehran[,sum(Weight*Size),by=ShahrestanCode]
+MyDataUrbanTabriz<-MyDataUrban[ProvinceCode==3]
+MyDataUrbanTabriz[,sum(Weight*Size),by=ShahrestanCode]
+MyDataUrbanAhvaz<-MyDataUrban[ProvinceCode==6]
+MyDataUrbanAhvaz[,sum(Weight*Size),by=ShahrestanCode]
+MyDataUrbanShiraz<-MyDataUrban[ProvinceCode==7]
+MyDataUrbanShiraz[,sum(Weight*Size),by=ShahrestanCode]
+MyDataUrbanMashhad<-MyDataUrban[ProvinceCode==9]
+MyDataUrbanMashhad[,sum(Weight*Size),by=ShahrestanCode]
+MyDataUrbanEsfahan<-MyDataUrban[ProvinceCode==10]
+MyDataUrbanEsfahan[,sum(Weight*Size),by=ShahrestanCode]
+MyDataUrbanKaraj<-MyDataUrban[ProvinceCode==30]
+MyDataUrbanKaraj[,sum(Weight*Size),by=ShahrestanCode]
+MyDataUrbanKermanshah<-MyDataUrban[ProvinceCode==5]
+MyDataUrbanKermanshah[,sum(Weight*Size),by=ShahrestanCode]
+
+
+MyDataUrban<-MyDataUrban[ShahrestanCode==2301,ProvinceCode:=as.numeric(ShahrestanCode)]
+MyDataUrban<-MyDataUrban[ShahrestanCode==303,ProvinceCode:=as.numeric(ShahrestanCode)]
+MyDataUrban<-MyDataUrban[ShahrestanCode==603,ProvinceCode:=as.numeric(ShahrestanCode)]
+MyDataUrban<-MyDataUrban[ShahrestanCode==707,ProvinceCode:=as.numeric(ShahrestanCode)]
+MyDataUrban<-MyDataUrban[ShahrestanCode==916,ProvinceCode:=as.numeric(ShahrestanCode)]
+MyDataUrban<-MyDataUrban[ShahrestanCode==1002,ProvinceCode:=as.numeric(ShahrestanCode)]
+MyDataUrban<-MyDataUrban[ShahrestanCode==3001,ProvinceCode:=as.numeric(ShahrestanCode)]
+MyDataUrban<-MyDataUrban[ShahrestanCode==2301,ProvinceCode:=as.numeric(ShahrestanCode)]
+MyDataUrban<-MyDataUrban[ShahrestanCode==502,ProvinceCode:=as.numeric(ShahrestanCode)]
+
+
+load(file="dt4Urban.rda")
+MyDataUrban<-merge(MyDataUrban,dt2,by =c("ProvinceCode"),all.x=TRUE)
+
+#Sort by Province and Expenditure data
+Urb <- MyDataUrban[,.(Percentile=as.integer(Percentile),Per_Daily_Calories,Total_Exp_Month_Per,Total_Exp_Month_Per_nondurable,ProvinceCode,Weight, cluster)]
+Urb<- Urb[order(cluster,Total_Exp_Month_Per_nondurable)]
+Urb<-Urb[Per_Daily_Calories!=0]
+
+#Calculate cumulative weights
+Urb$cumWeightcluster <-ave(Urb$Weight, Urb$cluster, FUN=cumsum)
+
+Urb$ux<-ave(Urb$cumWeight, by=list(Urb$cluster), FUN=max)
+
+#Calculate percentiles by weights for each provinces
+Urb<- Urb[, clusterPercentile := Urb$cumWeightcluster/Urb$ux]
+Urb<- Urb[, clusterPercentile := clusterPercentile*100]
+Urb<- Urb[, clusterPercentile := ceiling(clusterPercentile)]
+
+######### calculate Urban Pov Line #########
+d <- Urb
+setnames(d,c("pct","cal","exp","ndx","prov","w","cluster","cumw","ux","clusterpct"))
+d2 <- d [clusterpct<86]
+#plot(cal~exp,data=d)
+#plot(cal~exp,data=dx2)
+#plot(log(cal)~log(exp),data=d)
+#plot(log(cal)~log(exp),data=d2)
+
+d$cal2<-d$cal^2
+d2$cal2<-d2$cal^2
+
+dx <- d[,lapply(.SD, mean, na.rm=TRUE),by=.(clusterpct,cluster)]
+dx2 <- d2[,lapply(.SD, mean, na.rm=TRUE),by=.(clusterpct,cluster)]
+
+############Urban-all############
+#Nonlog-d
+for(clus in 1:4){
+ nam <- paste0("Urb",clus)
+ assign(nam,d[cluster==clus])
+ # save(list=ls(pattern = nam),file = paste0(Settings$HEISProcessedPath,nam,".rda"))
+ model1 <- lm(exp ~ cal + cal2 , weights = w, data=assign(nam,d[cluster==clus]))
+ summary(model1)
+ nam3 <- predict(object = model1, newdata = data.table(pct=NA,cal=MinCalories,cal2=MinCalories2,exp=NA,ndx=NA,w=NA))[[1]]
+ nam2 <- paste0("Urban1PovLine",clus)
+ assign(nam2,nam3)
+}
+summary(model1)
+MyDataUrbanCluster<-MyDataUrban[cluster==1]
+MyDataUrbanCluster[,Poor:=ifelse(Total_Exp_Month_Per_nondurable < Urban1PovLine1,1,0)]
+MyDataUrbanCluster[,sum(HIndivNo),by=cluster][order(cluster)]
+MyDataUrbanCluster[,sum(Poor),by=cluster][order(cluster)]
+MyDataUrban[,sum(Weight),by=cluster][order(cluster)]
+
+#log-d
+for(clus in 1:4){
+ nam <- paste0("Urb",clus)
+ assign(nam,d[cluster==clus])
+ # save(list=ls(pattern = nam),file = paste0(Settings$HEISProcessedPath,nam,".rda"))
+ model1 <- lm(log(exp) ~ log(cal) , weights = w, data=assign(nam,d[cluster==clus]))
+ summary(model1)
+ nam3 <- predict(object = model1, newdata = data.table(pct=NA,cal=MinCalories,cal2=MinCalories2,exp=NA,ndx=NA,w=NA))[[1]]
+ nam2 <- paste0("Urban1PovLine",clus)
+ nam3<-exp(nam3)
+ assign(nam2,nam3)
+}
+summary(model1)
+#Nonlog-d2
+for(clus in 1:4){
+ nam <- paste0("Urb",clus)
+ assign(nam,d2[cluster==clus])
+ # save(list=ls(pattern = nam),file = paste0(Settings$HEISProcessedPath,nam,".rda"))
+ model1 <- lm(exp ~ cal + cal2 , weights = w, data=assign(nam,d2[cluster==clus]))
+ summary(model1)
+ nam3 <- predict(object = model1, newdata = data.table(pct=NA,cal=MinCalories,cal2=MinCalories2,exp=NA,ndx=NA,w=NA))[[1]]
+ nam2 <- paste0("Urban1PovLine",clus)
+ assign(nam2,nam3)
+}
+summary(model1)
+#log-d2
+for(clus in 1:4){
+ nam <- paste0("Urb",clus)
+ assign(nam,d2[cluster==clus])
+ # save(list=ls(pattern = nam),file = paste0(Settings$HEISProcessedPath,nam,".rda"))
+ model1 <- lm(log(exp) ~ log(cal) , weights = w, data=assign(nam,d2[cluster==clus]))
+ summary(model1)
+ nam3 <- predict(object = model1, newdata = data.table(pct=NA,cal=MinCalories,cal2=MinCalories2,exp=NA,ndx=NA,w=NA))[[1]]
+ nam2 <- paste0("Urban1PovLine",clus)
+ nam3<-exp(nam3)
+ assign(nam2,nam3)
+}
+
+######### calculate Urban Pov Line- Percentile #########
+d <- Urb
+setnames(d,c("pct","cal","exp","ndx","prov","w","cluster","cumw","ux","clusterpct"))
+d2 <- d [clusterpct<86]
+#plot(cal~exp,data=d)
+#plot(cal~exp,data=d2)
+#plot(log(cal)~log(exp),data=d)
+#plot(log(cal)~log(exp),data=d2)
+
+d$cal2<-d$cal^2
+d2$cal2<-d2$cal^2
+
+dx <- d[,lapply(.SD, mean, na.rm=TRUE),by=.(clusterpct,cluster)]
+dx2 <- d2[,lapply(.SD, mean, na.rm=TRUE),by=.(clusterpct,cluster)]
+
+############Urban-all############
+#Nonlog-d
+for(clus in 1:4){
+ nam <- paste0("Urb",clus)
+ assign(nam,dx[cluster==clus])
+ # save(list=ls(pattern = nam),file = paste0(Settings$HEISProcessedPath,nam,".rda"))
+ model1 <- lm(exp ~ cal + cal2 , weights = w, data=assign(nam,dx[cluster==clus]))
+ summary(model1)
+ nam3 <- predict(object = model1, newdata = data.table(pct=NA,cal=MinCalories,cal2=MinCalories2,exp=NA,ndx=NA,w=NA))[[1]]
+ nam2 <- paste0("Urban1PovLine",clus)
+ assign(nam2,nam3)
+}
+
+#log-d
+for(clus in 1:4){
+ nam <- paste0("Urb",clus)
+ assign(nam,dx[cluster==clus])
+ # save(list=ls(pattern = nam),file = paste0(Settings$HEISProcessedPath,nam,".rda"))
+ model1 <- lm(log(exp) ~ log(cal) , weights = w, data=assign(nam,dx[cluster==clus]))
+ summary(model1)
+ nam3 <- predict(object = model1, newdata = data.table(pct=NA,cal=MinCalories,cal2=MinCalories2,exp=NA,ndx=NA,w=NA))[[1]]
+ nam2 <- paste0("Urban1PovLine",clus)
+ nam3<-exp(nam3)
+ assign(nam2,nam3)
+}
+
+#Nonlog-d2
+for(clus in 1:4){
+ nam <- paste0("Urb",clus)
+ assign(nam,dx2[cluster==clus])
+ # save(list=ls(pattern = nam),file = paste0(Settings$HEISProcessedPath,nam,".rda"))
+ model1 <- lm(exp ~ cal + cal2 , weights = w, data=assign(nam,dx2[cluster==clus]))
+ summary(model1)
+ nam3 <- predict(object = model1, newdata = data.table(pct=NA,cal=MinCalories,cal2=MinCalories2,exp=NA,ndx=NA,w=NA))[[1]]
+ nam2 <- paste0("Urban1PovLine",clus)
+ assign(nam2,nam3)
+}
+
+#log-d2
+for(clus in 1:4){
+ nam <- paste0("Urb",clus)
+ assign(nam,dx2[cluster==clus])
+ # save(list=ls(pattern = nam),file = paste0(Settings$HEISProcessedPath,nam,".rda"))
+ model1 <- lm(log(exp) ~ log(cal) , weights = w, data=assign(nam,dx2[cluster==clus]))
+ summary(model1)
+ nam3 <- predict(object = model1, newdata = data.table(pct=NA,cal=MinCalories,cal2=MinCalories2,exp=NA,ndx=NA,w=NA))[[1]]
+ nam2 <- paste0("Urban1PovLine",clus)
+ nam3<-exp(nam3)
+ assign(nam2,nam3)
+}
+
+
+
+
+endtime <- proc.time()
+
+cat("\n\n============================\nIt took ")
+cat(endtime-starttime)
\ No newline at end of file
diff --git a/R/Archive/Other Codes/63-CBN-Rural96.R b/R/Archive/Other Codes/63-CBN-Rural96.R
new file mode 100644
index 00000000..f54486f2
--- /dev/null
+++ b/R/Archive/Other Codes/63-CBN-Rural96.R
@@ -0,0 +1,3093 @@
+#CBN Method-Rural.R
+#
+# Copyright © 2018:Arin Shahbazian
+# Licence: GPL-3
+#
+rm(list=ls())
+
+starttime <- proc.time()
+cat("\n\n================ Prepare Data =====================================\n")
+
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+library(readxl)
+library(stringr)
+library(data.table)
+library(foreign)
+library(haven)
+load(file = "data9697.rda")
+#for(year in (Settings$startyear:Settings$endyear)){
+# cat(paste0("\n------------------------------\nYear:",year,"\n"))
+
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","HHBase.rda"))
+HHBase[,IndivNo:=NULL]
+HHBase[,Relationship:=NULL]
+HHBase[,Sex:=NULL]
+HHBase[,Age:=NULL]
+HHBase[,Literate:=NULL]
+HHBase[,Student:=NULL]
+HHBase[,EduCode:=NULL]
+HHBase[,EduYears:=NULL]
+HHBase[,EduLevel:=NULL]
+HHBase[,EduLevel0:=NULL]
+HHBase[,ActivityState:=NULL]
+HHBase[,MarritalState:=NULL]
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Ghand_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Hoboobat_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Roghan_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Berenj_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Nan_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Goosht_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Morgh_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Mahi_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Shir_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Mast_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Panir_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Tokhmemorgh_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Mive_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Sabzi_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Makarooni_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Sibzamini_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Weights.rda"))
+
+Ghand_Data<-Ghand_Data[,.(HHID,Ghandgram,GhandPrice)]
+Hoboobat_Data<-Hoboobat_Data[,.(HHID,Hoboobatgram,HoboobatPrice)]
+Roghan_Data<-Roghan_Data[,.(HHID,Roghangram,RoghanPrice)]
+Berenj_Data<-Berenj_Data[,.(HHID,Berenjgram,BerenjPrice)]
+Nan_Data<-Nan_Data[,.(HHID,Nangram,NanPrice)]
+Goosht_Data<-Goosht_Data[,.(HHID,Gooshtgram,GooshtPrice)]
+Morgh_Data<-Morgh_Data[,.(HHID,Morghgram,MorghPrice)]
+Mahi_Data<-Mahi_Data[,.(HHID,Mahigram,MahiPrice)]
+Shir_Data<-Shir_Data[,.(HHID,Shirgram,ShirPrice)]
+Mast_Data<-Mast_Data[,.(HHID,Mastgram,MastPrice)]
+Panir_Data<-Panir_Data[,.(HHID,Panirgram,PanirPrice)]
+Tokhmemorgh_Data<-Tokhmemorgh_Data[,.(HHID,Tokhmemorghgram,TokhmemorghPrice)]
+Mive_Data<-Mive_Data[,.(HHID,Mivegram,MivePrice)]
+Sabzi_Data<-Sabzi_Data[,.(HHID,Sabzigram,SabziPrice)]
+Makarooni_Data<-Makarooni_Data[,.(HHID,Makaroonigram,MakarooniPrice)]
+Sibzamini_Data<-Sibzamini_Data[,.(HHID,Sibzaminigram,SibzaminiPrice)]
+
+Food<-merge(HHBase,Ghand_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Ghandgram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Hoboobat_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Hoboobatgram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Roghan_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Roghangram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Berenj_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Berenjgram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Nan_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Nangram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Goosht_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Gooshtgram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Morgh_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Morghgram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Mahi_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Mahigram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Shir_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Shirgram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Mast_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Mastgram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Panir_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Panirgram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Tokhmemorgh_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Tokhmemorghgram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Mive_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Mivegram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Sabzi_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Sabzigram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Makarooni_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Makaroonigram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Sibzamini_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Sibzaminigram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Weights,by =c("HHID"),all.x=TRUE)
+
+
+
+#load Expenditure groups
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","HHBase.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","HHI.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Foods.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Cigars.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Cloths.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Amusements.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Communications.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Durables.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Education.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Energy.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Furnitures.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Hotels.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","House.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Medicals.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Behdashts.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Transportations.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Others.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Investments.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Resturants.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Weights.rda"))
+
+#merge Expenditure groups
+CBN<-merge(Food,HHI ,by =c("HHID"),all=TRUE)
+CBN<-merge(CBN,FoodData,by =c("HHID"),all=TRUE)
+for (col in c("FoodExpenditure")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,CigarData,by =c("HHID"),all=TRUE)
+for (col in c("Cigar_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,ClothData,by =c("HHID"),all=TRUE)
+for (col in c("Cloth_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,AmusementData,by =c("HHID"),all=TRUE)
+for (col in c("Amusement_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,CommunicationData,by =c("HHID"),all=TRUE)
+for (col in c("Communication_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,EducData,by =c("HHID"),all=TRUE)
+for (col in c("EducExpenditure")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,EnergyData,by =c("HHID"),all=TRUE)
+for (col in c("Energy_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,FurnitureData,by =c("HHID"),all=TRUE)
+for (col in c("Furniture_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,HotelData,by =c("HHID"),all=TRUE)
+for (col in c("Hotel_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,BehdashtData,by =c("HHID"),all=TRUE)
+for (col in c("Behdasht_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,TransportationData,by =c("HHID"),all=TRUE)
+for (col in c("Transportation_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,OtherData,by =c("HHID"),all=TRUE)
+for (col in c("Other_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,HouseData,by =c("HHID"),all=TRUE)
+for (col in c("ServiceExp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,InvestmentData,by =c("HHID"),all=TRUE)
+for (col in c("Investment_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,MedicalData,by =c("HHID"),all=TRUE)
+for (col in c("Medical_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,DurableData,by =c("HHID"),all=TRUE)
+for (col in c("Durable_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,ResturantData,by =c("HHID"),all=TRUE)
+for (col in c("Resturant_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-CBN[Size!=0]
+CBN<-CBN[Region=="Rural"]
+CBN<-CBN[FoodExpenditure!=0]
+
+CBN<-merge(CBN,data9697,by =c("ProvinceCode"),all.x=TRUE)
+
+CBN$FoodExpenditure<-CBN$FoodExpenditure*CBN$spring971food_index/100
+CBN$Cigar_Exp<-CBN$Cigar_Exp*CBN$total961cigar_index/100
+CBN$Cloth_Exp<-CBN$Cloth_Exp*CBN$total961cloth_index/100
+CBN$Amusement_Exp<-CBN$Amusement_Exp*CBN$total961amusement_index/100
+CBN$Communication_Exp<-CBN$Communication_Exp*CBN$total961communication_index/100
+CBN$EducExpenditure<-CBN$EducExpenditure*CBN$total961education_index/100
+CBN$Energy_Exp<-CBN$Energy_Exp*CBN$total961house_energy_index/100
+CBN$Furniture_Exp<-CBN$Furniture_Exp*CBN$total961furniture_index/100
+CBN$Hotel_Exp<-CBN$Hotel_Exp*CBN$total961hotel_index/100
+CBN$Behdasht_Exp<-CBN$Behdasht_Exp*CBN$total961behdasht_index/100
+CBN$Transportation_Exp<-CBN$Transportation_Exp*CBN$total961transportation_index/100
+CBN$Other_Exp<-CBN$Other_Exp*CBN$total961other_index/100
+CBN$ServiceExp<-CBN$ServiceExp*CBN$total961house_energy_index/100
+CBN$Investment_Exp<-CBN$Investment_Exp*CBN$total96/100
+CBN$Medical_Exp<-CBN$Medical_Exp*CBN$total961behdasht_index/100
+CBN$Durable_Exp<-CBN$Durable_Exp*CBN$total96/100
+
+CBN[ ,shahrivar971furniture_index :=NULL]
+CBN[ ,shahrivar971communication_index :=NULL]
+CBN[ ,shahrivar971behdasht_index :=NULL]
+CBN[ ,shahrivar971education_index :=NULL]
+CBN[ ,shahrivar971amusement_index :=NULL]
+CBN[ ,shahrivar971transportation_index :=NULL]
+CBN[ ,shahrivar971food_index :=NULL]
+CBN[ ,shahrivar971cigar_index :=NULL]
+CBN[ ,shahrivar971hotel_index :=NULL]
+CBN[ ,shahrivar971total_index :=NULL]
+CBN[ ,shahrivar971house_energy_index :=NULL]
+CBN[ ,shahrivar971cloth_index :=NULL]
+CBN[ ,shahrivar971other_index :=NULL]
+CBN[ ,spring971furniture_index :=NULL]
+CBN[ ,spring971communication_index :=NULL]
+CBN[ ,spring971behdasht_index :=NULL]
+CBN[ ,spring971education_index :=NULL]
+CBN[ ,spring971amusement_index :=NULL]
+CBN[ ,spring971transportation_index :=NULL]
+CBN[ ,spring971food_index :=NULL]
+CBN[ ,spring971cigar_index :=NULL]
+CBN[ ,spring971hotel_index :=NULL]
+CBN[ ,spring971total_index :=NULL]
+CBN[ ,spring971house_energy_index :=NULL]
+CBN[ ,spring971cloth_index :=NULL]
+CBN[ ,spring971other_index :=NULL]
+CBN[ ,summer971furniture_index :=NULL]
+CBN[ ,summer971communication_index :=NULL]
+CBN[ ,summer971behdasht_index :=NULL]
+CBN[ ,summer971education_index :=NULL]
+CBN[ ,summer971amusement_index :=NULL]
+CBN[ ,summer971transportation_index :=NULL]
+CBN[ ,summer971food_index :=NULL]
+CBN[ ,summer971cigar_index :=NULL]
+CBN[ ,summer971hotel_index :=NULL]
+CBN[ ,summer971total_index :=NULL]
+CBN[ ,summer971house_energy_index :=NULL]
+CBN[ ,summer971cloth_index :=NULL]
+CBN[ ,summer971other_index :=NULL]
+CBN[ ,total961furniture_index :=NULL]
+CBN[ ,total961communication_index :=NULL]
+CBN[ ,total961behdasht_index :=NULL]
+CBN[ ,total961education_index :=NULL]
+CBN[ ,total961amusement_index :=NULL]
+CBN[ ,total961transportation_index :=NULL]
+CBN[ ,total961food_index :=NULL]
+CBN[ ,total961cigar_index :=NULL]
+CBN[ ,total961hotel_index :=NULL]
+CBN[ ,total961total_index :=NULL]
+CBN[ ,total961house_energy_index :=NULL]
+CBN[ ,total961cloth_index :=NULL]
+CBN[ ,total961other_index :=NULL]
+
+CBN[ ,spring97 :=NULL]
+CBN[ ,summer97 :=NULL]
+CBN[ ,total96 :=NULL]
+CBN[ ,shahrivar97 :=NULL]
+
+
+
+#Calculate Per_Total Expenditures Monthly
+CBN[, Total_Exp_Month := Reduce(`+`, .SD), .SDcols=c(65:77,82:83)][]
+CBN[, Total_Exp_Month_nondurable := Reduce(`+`, .SD), .SDcols=65:77][]
+
+CBN$Total_Exp_Month_Per<-CBN$Total_Exp_Month/CBN$EqSizeOECD
+CBN$Total_Exp_Month_Per_nondurable<-CBN$Total_Exp_Month_nondurable/CBN$EqSizeOECD
+
+#Calculate Per_Food Expenditures Monthly
+CBN[,EqSizeCalory :=(Size-NKids) + NKids*(1800/2100)]
+CBN$FoodExpenditure_Per<-CBN$FoodExpenditure/CBN$EqSizeCalory
+
+#Calculate Per_Food Expenditures Daily
+CBN$FoodExpenditure_Per_day<-CBN$FoodExpenditure_Per/30
+
+CBN$Ghandgram_Per_day<-CBN$Ghandgram/(30*CBN$EqSizeOECD)
+CBN$Hoboobatgram_Per_day<-CBN$Hoboobatgram/(30*CBN$EqSizeOECD)
+CBN$Berenjgram_Per_day<-CBN$Berenjgram/(30*CBN$EqSizeOECD)
+CBN$Nangram_Per_day<-CBN$Nangram/(30*CBN$EqSizeOECD)
+CBN$Roghangram_Per_day<-CBN$Roghangram/(30*CBN$EqSizeOECD)
+CBN$Gooshtgram_Per_day<-CBN$Gooshtgram/(30*CBN$EqSizeOECD)
+CBN$Morghgram_Per_day<-CBN$Morghgram/(30*CBN$EqSizeOECD)
+CBN$Mahigram_Per_day<-CBN$Mahigram/(30*CBN$EqSizeOECD)
+CBN$Shirgram_Per_day<-CBN$Shirgram/(30*CBN$EqSizeOECD)
+CBN$Mastgram_Per_day<-CBN$Mastgram/(30*CBN$EqSizeOECD)
+CBN$Panirgram_Per_day<-CBN$Panirgram/(30*CBN$EqSizeOECD)
+CBN$Tokhmemorghgram_Per_day<-CBN$Tokhmemorghgram/(30*CBN$EqSizeOECD)
+CBN$Mivegram_Per_day<-CBN$Mivegram/(30*CBN$EqSizeOECD)
+CBN$Sabzigram_Per_day<-CBN$Sabzigram/(30*CBN$EqSizeOECD)
+CBN$Makaroonigram_Per_day<-CBN$Makaroonigram/(30*CBN$EqSizeOECD)
+CBN$Sibzaminigram_Per_day<-CBN$Sibzaminigram/(30*CBN$EqSizeOECD)
+CBN[,EqSizeCalory:=NULL]
+
+load(file="PriceIndex95.rda")
+CBN<-merge(CBN,PriceIndex95,by=c("ProvinceCode"),all.x = TRUE)
+CBN[,ostan:=NULL]
+load(file="PriceIndex.rda")
+CBN<-merge(CBN,PriceIndex,by=c("ProvinceCode"),all.x = TRUE)
+
+#Sort Expenditure data
+CBN<- CBN[order(Total_Exp_Month_Per_nondurable)]
+
+#Calculate cumulative weights
+sum(CBN$Weight)
+CBN$cumweight <- cumsum(CBN$Weight)
+tx <- max(CBN$cumweight)
+
+#Calculate deciles by weights
+CBN[,Decile:=cut(cumweight,breaks = seq(0,tx,tx/10),labels = 1:10)]
+CBN[,Percentile:=cut(cumweight,breaks=seq(0,tx,tx/100),labels=1:100)]
+
+
+CBN$Ghand_W<-CBN$Ghandgram_Per_day*CBN$GhandPrice*0.001*30
+CBN$Hoboobat_W<-CBN$Hoboobatgram_Per_day*CBN$HoboobatPrice*0.001*30
+CBN$Roghan_W<-CBN$Roghangram_Per_day*CBN$RoghanPrice*0.001*30
+CBN$Berenj_W<-CBN$Berenjgram_Per_day*CBN$BerenjPrice*0.001*30
+CBN$Nan_W<-CBN$Nangram_Per_day*CBN$NanPrice*0.001*30
+CBN$Goosht_W<-CBN$Gooshtgram_Per_day*CBN$GooshtPrice*0.001*30
+CBN$Morgh_W<-CBN$Morghgram_Per_day*CBN$MorghPrice*0.001*30
+CBN$Mahi_W<-CBN$Mahigram_Per_day*CBN$MahiPrice*0.001*30
+CBN$Shir_W<-CBN$Shirgram_Per_day*CBN$ShirPrice*0.001*30
+CBN$Mast_W<-CBN$Mastgram_Per_day*CBN$MastPrice*0.001*30
+CBN$Panir_W<-CBN$Panirgram_Per_day*CBN$PanirPrice*0.001*30
+CBN$Tokhmemorgh_W<-CBN$Tokhmemorghgram_Per_day*CBN$TokhmemorghPrice*0.001*30
+CBN$Mive_W<-CBN$Mivegram_Per_day*CBN$MivePrice*0.001*30
+CBN$Sabzi_W<-CBN$Sabzigram_Per_day*CBN$SabziPrice*0.001*30
+CBN$Makarooni_W<-CBN$Makaroonigram_Per_day*CBN$MakarooniPrice*0.001*30
+CBN$Sibzamini_W<-CBN$Sibzaminigram_Per_day*CBN$SibzaminiPrice*0.001*30
+CBN$Home_W<-CBN$ServiceExp/CBN$EqSizeOECD
+CBN$Home_Per_Metr<-CBN$MetrPrice/CBN$EqSizeOECD
+
+#Seperate big cities
+CBN[,sum(Weight*Size),by=ProvinceCode][order(V1)]
+CBN[,HHIDs:=as.character(HHID)]
+CBN[,ShahrestanCode:=as.integer(str_sub(HHIDs,2,5))]
+CBN[,sum(Weight*Size),by=ShahrestanCode][order(V1)][330:387]
+CBNTehran<-CBN[ProvinceCode==23]
+CBNTehran[,sum(Weight*Size),by=ShahrestanCode]
+CBNTabriz<-CBN[ProvinceCode==3]
+CBNTabriz[,sum(Weight*Size),by=ShahrestanCode]
+CBNAhvaz<-CBN[ProvinceCode==6]
+CBNAhvaz[,sum(Weight*Size),by=ShahrestanCode]
+CBNShiraz<-CBN[ProvinceCode==7]
+CBNShiraz[,sum(Weight*Size),by=ShahrestanCode]
+CBNMashhad<-CBN[ProvinceCode==9]
+CBNMashhad[,sum(Weight*Size),by=ShahrestanCode]
+CBNEsfahan<-CBN[ProvinceCode==10]
+CBNEsfahan[,sum(Weight*Size),by=ShahrestanCode]
+CBNKaraj<-CBN[ProvinceCode==30]
+CBNKaraj[,sum(Weight*Size),by=ShahrestanCode]
+CBNKermanshah<-CBN[ProvinceCode==5]
+CBNKermanshah[,sum(Weight*Size),by=ShahrestanCode]
+
+
+# Food Calories
+CBN$Ghand_Calory<- CBN$Ghandgram *4
+CBN$Hoboobat_Calory<- CBN$Hoboobatgram *3
+CBN$Nan_Calory<- CBN$Nangram *2.5
+CBN$Berenj_Calory<- CBN$Berenjgram *1.2
+CBN$Roghan_Calory<- CBN$Roghangram *8
+CBN$Goosht_Calory<- CBN$Gooshtgram *2.5
+CBN$Morgh_Calory<- CBN$Morghgram *2
+CBN$Mahi_Calory<- CBN$Mahigram *1
+CBN$Shir_Calory<- CBN$Shirgram *2.5
+CBN$Mast_Calory<- CBN$Mastgram *1.5
+CBN$Panir_Calory<- CBN$Mastgram *2.5
+CBN$Tokhmemorgh_Calory<- CBN$Tokhmemorghgram *1.4
+CBN$Mive_Calory<- CBN$Mivegram *0.5
+CBN$Sabzi_Calory<- CBN$Sabzigram *0.5
+CBN$Makarooni_Calory<- CBN$Makaroonigram *3.6
+CBN$Sibzamini_Calory<- CBN$Sibzaminigram *0.9
+#utils::View(CBN)
+
+#CalculatePer_calories
+CBN[, Daily_Exp_Calories := Reduce(`+`, .SD), .SDcols=148:163][]
+CBN[,EqSizeCalory :=(Size-NKids) + NKids*(1800/2100)]
+CBN[,Per_Daily_Exp_Calories:=Daily_Exp_Calories/EqSizeCalory]
+CBN <- CBN[Per_Daily_Exp_Calories<100000] # arbitrary removal of outliers
+#CBN[,Daily_Calories_cluster:=weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+#CBN[,weighted.mean(Daily_Calories_cluster,Weight,na.rm = TRUE),by=cluster]
+#CBN[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+#CBN[,weighted.mean(Size,Weight,na.rm = TRUE),by=cluster]
+#CBN[,sum(Weight*Size),by=cluster]
+#CBN[,sum(Weight),by=cluster]
+#CBN[,sum(Poor),by=cluster]
+
+
+#Calculate_Per_calories
+CBN$Ghand_per_Calory<- CBN$Ghandgram *4/CBN$EqSizeCalory
+CBN$Hoboobat_per_Calory<- CBN$Hoboobatgram *3/CBN$EqSizeCalory
+CBN$Nan_per_Calory<- CBN$Nangram *2.5/CBN$EqSizeCalory
+CBN$Berenj_per_Calory<- CBN$Berenjgram *1.2/CBN$EqSizeCalory
+CBN$Roghan_per_Calory<- CBN$Roghangram *8/CBN$EqSizeCalory
+CBN$Goosht_per_Calory<- CBN$Gooshtgram *2.5/CBN$EqSizeCalory
+CBN$Morgh_per_Calory<- CBN$Morghgram *2/CBN$EqSizeCalory
+CBN$Mahi_per_Calory<- CBN$Mahigram *1/CBN$EqSizeCalory
+CBN$Shir_per_Calory<- CBN$Shirgram *2.5/CBN$EqSizeCalory
+CBN$Mast_per_Calory<- CBN$Mastgram *1.5/CBN$EqSizeCalory
+CBN$Panir_per_Calory<- CBN$Mastgram *2.5/CBN$EqSizeCalory
+CBN$Tokhmemorgh_per_Calory<- CBN$Tokhmemorghgram *1.4/CBN$EqSizeCalory
+CBN$Mive_per_Calory<- CBN$Mivegram *0.5/CBN$EqSizeCalory
+CBN$Sabzi_per_Calory<- CBN$Sabzigram *0.5/CBN$EqSizeCalory
+CBN$Makarooni_per_Calory<- CBN$Makaroonigram *3.6/CBN$EqSizeCalory
+CBN$Sibzamini_per_Calory<- CBN$Sibzaminigram *0.9/CBN$EqSizeCalory
+
+
+#Assume that deciles 1 and 2 are poor
+CBN[,Poor:=ifelse(Decile %in% 1:4,1,0)]
+CBNPoor<-CBN[Poor==1]
+
+#K-means weights
+PriceWeights<-CBN[,.(HHID,Ghand_W,Hoboobat_W,Roghan_W,Berenj_W,Nan_W,Goosht_W,Morgh_W,Mahi_W,Shir_W,Mast_W,Panir_W,Tokhmemorgh_W,Mive_W,Sabzi_W,Makarooni_W,Sibzamini_W,Home_W,ProvinceCode,Weight)]
+dt3 <- PriceWeights[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+dt3<- dt3[order(ProvinceCode)]
+dt3 <- dt3[,.(Ghand_W,Hoboobat_W,Roghan_W,Berenj_W,Nan_W,Goosht_W,Morgh_W,Mahi_W,Shir_W,Mast_W,Panir_W,Tokhmemorgh_W,Mive_W,Sabzi_W,Makarooni_W,Sibzamini_W,Home_W)]
+
+
+
+#K-means algorithm for clustering by prices
+test<-CBNPoor[,.(GhandPrice,HoboobatPrice,RoghanPrice,BerenjPrice,NanPrice,GooshtPrice,MorghPrice,MahiPrice,ShirPrice,MastPrice,PanirPrice,TokhmemorghPrice,MivePrice,SabziPrice,MakarooniPrice,SibzaminiPrice,MetrPrice,ProvinceCode,Weight)]
+#test<-CBNPoor[,.(GhandPrice,HoboobatPrice,RoghanPrice,BerenjPrice,NanPrice,GooshtPrice,MorghPrice,MahiPrice,ShirPrice,MastPrice,PanirPrice,TokhmemorghPrice,MivePrice,SabziPrice,MakarooniPrice,SibzaminiPrice,MetrPrice,Ghand_W,Hoboobat_W,Roghan_W,Berenj_W,Nan_W,Goosht_W,Morgh_W,Mahi_W,Shir_W,Mast_W,Panir_W,Tokhmemorgh_W,Mive_W,Sabzi_W,Makarooni_W,Sibzamini_W,Home_W,Region,ProvinceCode,Weight)]
+dt2 <- test[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+dt2<- dt2[order(ProvinceCode)]
+for (col in c("MahiPrice")) dt2[is.nan(get(col)), (col) := 200000]
+dt <- dt2 [,.(GhandPrice,HoboobatPrice,RoghanPrice,BerenjPrice,NanPrice,GooshtPrice,MorghPrice,MahiPrice,ShirPrice,MastPrice,PanirPrice,TokhmemorghPrice,MivePrice,SabziPrice,MakarooniPrice,SibzaminiPrice,MetrPrice)]
+
+
+pca <- princomp(dt, cor=T)
+PRICE <- pca$scores
+PRICE1 <- -1*PRICE[,1]
+PRICE2 <- -1*PRICE[,2]
+PRICE3 <- -1*PRICE[,3]
+PRICE4 <- -1*PRICE[,4]
+PRICE5 <- -1*PRICE[,5]
+PRICE6 <- -1*PRICE[,6]
+PRICE7 <- -1*PRICE[,7]
+PRICE8 <- -1*PRICE[,8]
+PRICE9 <- -1*PRICE[,9]
+PRICE10 <- -1*PRICE[,10]
+PRICE11 <- -1*PRICE[,11]
+PRICE12 <- -1*PRICE[,12]
+PRICE13 <- -1*PRICE[,13]
+PRICE14 <- -1*PRICE[,14]
+PRICE15 <- -1*PRICE[,15]
+PRICE16 <- -1*PRICE[,16]
+PRICE17 <- -1*PRICE[,17]
+
+# Deciding how many clusters
+wss <- (nrow(dt)-1)*sum(apply(dt,2,var))
+for (i in 2:30) wss[i] <- sum(kmeans(dt, centers=i)$withinss)
+plot(1:30, wss, type="b", xlab="Number of Clusters",
+ ylab="Within groups sum of squares")
+
+#Weighted clustering
+
+dt3.m <- dt3[,lapply(.SD, mean)] # Weights for each vector
+dtW <- dt * sqrt(dt3.m[rep(1,nrow(dt))]) # Weighted observations
+kmeans(dtW,4) # Simple K-means
+
+cl <- kmeans(dtW,4)
+cl$cluster
+dt2 <- dt2[,cluster:=data.table(cl$cluster)]
+dt2<-dt2[,.(ProvinceCode,cluster)]
+load(file="dt5Rural.rda")
+#plot(PRICE1, PRICE2,col=cl$cluster)
+#points(cl$centers, pch=20)
+CBNPoor<-merge(CBNPoor,dt2,by=c("ProvinceCode"),all.x = TRUE)
+CBNPoor[,sum(Weight*Size),by=cluster]
+CBNPoor[,sum(Weight),by=cluster]
+CBNPoor[,sum(Poor),by=cluster]
+C2<-CBNPoor[,.(HHID,ProvinceCode,Region,Decile,Poor,cluster)]
+######################################################################
+
+
+
+
+
+
+
+
+
+####Iteration 1#####
+###Iteration1-1
+#Calculate Per_calories in clusters
+CBNPoor[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(185:200)][]
+#utils::View(CBNPoor)
+
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(202:217)][]
+
+CBNPoor[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor<-CBNPoor[Per_Daily_Exp_Calories!=0]
+CBNPoor[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+#CBN[,weighted.mean(Poor,Weight),by=cluster][order(cluster)]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE)]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE)]
+
+#Real Prices
+T_Bundle_Value<-subset(CBNPoor, ProvinceCode==23, select=c(Bundle_Value,Home_Per_Metr,Weight))
+Tehran_Bundle_Value1<-weighted.mean(T_Bundle_Value$Bundle_Value,T_Bundle_Value$Weight,na.rm = TRUE)
+Tehran_Bundle_Value2<-weighted.mean(T_Bundle_Value$Home_Per_Metr,T_Bundle_Value$Weight,na.rm = TRUE)
+CBNPoor[,RealPriceIndex1:=weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/Tehran_Bundle_Value1,by=ProvinceCode]
+CBNPoor[,RealPriceIndex2:=weighted.mean(Home_Per_Metr,Weight,na.rm = TRUE)/Tehran_Bundle_Value2,by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex1,Weight),by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex2,Weight),by=ProvinceCode]
+Indexes2<-CBNPoor[,.(RealPriceIndex1,RealPriceIndex2,ProvinceCode,Weight)]
+Indexes2<-Indexes2[,RealPriceIndex:=(RealPriceIndex1+RealPriceIndex2)/2]
+Indexes<-Indexes2[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+Indexes31<-Indexes[,.(ProvinceCode,RealPriceIndex1,RealPriceIndex2,RealPriceIndex)]
+Indexes<-Indexes[,.(ProvinceCode,RealPriceIndex)]
+CBN<-merge(CBN,Indexes,by=c("ProvinceCode"),all.x = TRUE)
+CBN<-CBN[,Total_Food_Month_Per2:=FoodExpenditure_Per*RealPriceIndex]
+CBN<-CBN[,Total_Exp_Month_Per2:=Total_Exp_Month_Per_nondurable*RealPriceIndex]
+#utils::View(CBN)
+
+#Sort Expenditure data
+CBN<- CBN[order(Total_Exp_Month_Per2)]
+
+#Calculate cumulative weights
+sum(CBN$Weight)
+CBN$cumweight <- cumsum(CBN$Weight)
+tx <- max(CBN$cumweight)
+
+#Calculate deciles by weights
+CBN[,Decile:=cut(cumweight,breaks = seq(0,tx,tx/10),labels = 1:10)]
+CBN[,Percentile:=cut(cumweight,breaks=seq(0,tx,tx/100),labels=1:100)]
+
+#Update Poors
+CBN[,Poor:=ifelse(Decile %in% 1:4,1,0)]
+CBNPoor<-CBN[Poor==1]
+CBNPoor<-merge(CBNPoor,dt2,by=c("ProvinceCode"),all.x = TRUE)
+CBNPoor[,sum(HIndivNo),by=.(ProvinceCode)][order(ProvinceCode)]
+CBNPoor[,sum(HIndivNo)]
+
+###Iteration1-2
+#Calculate Per_calories in clusters
+CBNPoor[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(185:200)][]
+#utils::View(CBNPoor)
+
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(202:217)][]
+
+CBNPoor[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor<-CBNPoor[Per_Daily_Exp_Calories!=0]
+CBNPoor[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+#CBN[,weighted.mean(Poor,Weight),by=cluster][order(cluster)]
+
+#Real Prices
+T_Bundle_Value<-subset(CBNPoor, ProvinceCode==23, select=c(Bundle_Value,Home_Per_Metr,Weight))
+Tehran_Bundle_Value1<-weighted.mean(T_Bundle_Value$Bundle_Value,T_Bundle_Value$Weight,na.rm = TRUE)
+Tehran_Bundle_Value2<-weighted.mean(T_Bundle_Value$Home_Per_Metr,T_Bundle_Value$Weight,na.rm = TRUE)
+CBNPoor[,RealPriceIndex1:=weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/Tehran_Bundle_Value1,by=ProvinceCode]
+CBNPoor[,RealPriceIndex2:=weighted.mean(Home_Per_Metr,Weight,na.rm = TRUE)/Tehran_Bundle_Value2,by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex1,Weight),by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex2,Weight),by=ProvinceCode]
+Indexes2<-CBNPoor[,.(RealPriceIndex1,RealPriceIndex2,ProvinceCode,Weight)]
+Indexes2<-Indexes2[,RealPriceIndex:=(RealPriceIndex1+RealPriceIndex2)/2]
+Indexes<-Indexes2[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+Indexes32<-Indexes[,.(ProvinceCode,RealPriceIndex1,RealPriceIndex2,RealPriceIndex)]
+Indexes<-Indexes[,.(ProvinceCode,RealPriceIndex)]
+CBN[,RealPriceIndex:=NULL]
+CBN<-merge(CBN,Indexes,by=c("ProvinceCode"),all.x = TRUE)
+CBN<-CBN[,Total_Food_Month_Per2:=FoodExpenditure_Per*RealPriceIndex]
+CBN<-CBN[,Total_Exp_Month_Per2:=Total_Exp_Month_Per_nondurable*RealPriceIndex]
+#utils::View(CBN)
+
+#Sort Expenditure data
+CBN<- CBN[order(Total_Exp_Month_Per2)]
+
+#Calculate cumulative weights
+sum(CBN$Weight)
+CBN$cumweight <- cumsum(CBN$Weight)
+tx <- max(CBN$cumweight)
+
+#Calculate deciles by weights
+CBN[,Decile:=cut(cumweight,breaks = seq(0,tx,tx/10),labels = 1:10)]
+CBN[,Percentile:=cut(cumweight,breaks=seq(0,tx,tx/100),labels=1:100)]
+
+#Update Poors
+CBN[,Poor:=ifelse(Decile %in% 1:4,1,0)]
+CBNPoor<-CBN[Poor==1]
+CBNPoor<-merge(CBNPoor,dt2,by=c("ProvinceCode"),all.x = TRUE)
+CBNPoor[,sum(HIndivNo),by=.(ProvinceCode)][order(ProvinceCode)]
+
+###Iteration1-3
+#Calculate Per_calories in clusters
+CBNPoor[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(185:200)][]
+#utils::View(CBNPoor)
+
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(202:217)][]
+
+CBNPoor[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor<-CBNPoor[Per_Daily_Exp_Calories!=0]
+CBNPoor[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+#CBN[,weighted.mean(Poor,Weight),by=cluster][order(cluster)]
+
+#Real Prices
+T_Bundle_Value<-subset(CBNPoor, ProvinceCode==23, select=c(Bundle_Value,Home_Per_Metr,Weight))
+Tehran_Bundle_Value1<-weighted.mean(T_Bundle_Value$Bundle_Value,T_Bundle_Value$Weight,na.rm = TRUE)
+Tehran_Bundle_Value2<-weighted.mean(T_Bundle_Value$Home_Per_Metr,T_Bundle_Value$Weight,na.rm = TRUE)
+CBNPoor[,RealPriceIndex1:=weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/Tehran_Bundle_Value1,by=ProvinceCode]
+CBNPoor[,RealPriceIndex2:=weighted.mean(Home_Per_Metr,Weight,na.rm = TRUE)/Tehran_Bundle_Value2,by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex1,Weight),by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex2,Weight),by=ProvinceCode]
+Indexes2<-CBNPoor[,.(RealPriceIndex1,RealPriceIndex2,ProvinceCode,Weight)]
+Indexes2<-Indexes2[,RealPriceIndex:=(RealPriceIndex1+RealPriceIndex2)/2]
+Indexes<-Indexes2[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+Indexes33<-Indexes[,.(ProvinceCode,RealPriceIndex1,RealPriceIndex2,RealPriceIndex)]
+Indexes<-Indexes[,.(ProvinceCode,RealPriceIndex)]
+CBN[,RealPriceIndex:=NULL]
+CBN<-merge(CBN,Indexes,by=c("ProvinceCode"),all.x = TRUE)
+CBN<-CBN[,Total_Food_Month_Per2:=FoodExpenditure_Per*RealPriceIndex]
+CBN<-CBN[,Total_Exp_Month_Per2:=Total_Exp_Month_Per_nondurable*RealPriceIndex]
+#utils::View(CBN)
+
+#Sort Expenditure data
+CBN<- CBN[order(Total_Exp_Month_Per2)]
+
+#Calculate cumulative weights
+sum(CBN$Weight)
+CBN$cumweight <- cumsum(CBN$Weight)
+tx <- max(CBN$cumweight)
+
+#Calculate deciles by weights
+CBN[,Decile:=cut(cumweight,breaks = seq(0,tx,tx/10),labels = 1:10)]
+CBN[,Percentile:=cut(cumweight,breaks=seq(0,tx,tx/100),labels=1:100)]
+
+#Update Poors
+CBN[,Poor:=ifelse(Decile %in% 1:4,1,0)]
+CBNPoor<-CBN[Poor==1]
+CBNPoor<-merge(CBNPoor,dt2,by=c("ProvinceCode"),all.x = TRUE)
+CBNPoor[,sum(HIndivNo),by=.(ProvinceCode)][order(ProvinceCode)]
+
+
+###Iteration1-4
+#Calculate Per_calories in clusters
+CBNPoor[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(185:200)][]
+#utils::View(CBNPoor)
+
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(202:217)][]
+
+CBNPoor[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor<-CBNPoor[Per_Daily_Exp_Calories!=0]
+CBNPoor[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+#CBN[,weighted.mean(Poor,Weight),by=cluster][order(cluster)]
+
+#Real Prices
+T_Bundle_Value<-subset(CBNPoor, ProvinceCode==23, select=c(Bundle_Value,Home_Per_Metr,Weight))
+Tehran_Bundle_Value1<-weighted.mean(T_Bundle_Value$Bundle_Value,T_Bundle_Value$Weight,na.rm = TRUE)
+Tehran_Bundle_Value2<-weighted.mean(T_Bundle_Value$Home_Per_Metr,T_Bundle_Value$Weight,na.rm = TRUE)
+CBNPoor[,RealPriceIndex1:=weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/Tehran_Bundle_Value1,by=ProvinceCode]
+CBNPoor[,RealPriceIndex2:=weighted.mean(Home_Per_Metr,Weight,na.rm = TRUE)/Tehran_Bundle_Value2,by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex1,Weight),by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex2,Weight),by=ProvinceCode]
+Indexes2<-CBNPoor[,.(RealPriceIndex1,RealPriceIndex2,ProvinceCode,Weight)]
+Indexes2<-Indexes2[,RealPriceIndex:=(RealPriceIndex1+RealPriceIndex2)/2]
+Indexes<-Indexes2[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+Indexes34<-Indexes[,.(ProvinceCode,RealPriceIndex1,RealPriceIndex2,RealPriceIndex)]
+Indexes<-Indexes[,.(ProvinceCode,RealPriceIndex)]
+CBN[,RealPriceIndex:=NULL]
+CBN<-merge(CBN,Indexes,by=c("ProvinceCode"),all.x = TRUE)
+CBN<-CBN[,Total_Food_Month_Per2:=FoodExpenditure_Per*RealPriceIndex]
+CBN<-CBN[,Total_Exp_Month_Per2:=Total_Exp_Month_Per_nondurable*RealPriceIndex]
+#utils::View(CBN)
+
+
+#Sort Expenditure data
+CBN<- CBN[order(Total_Exp_Month_Per2)]
+
+#Calculate cumulative weights
+sum(CBN$Weight)
+CBN$cumweight <- cumsum(CBN$Weight)
+tx <- max(CBN$cumweight)
+
+#Calculate deciles by weights
+CBN[,Decile:=cut(cumweight,breaks = seq(0,tx,tx/10),labels = 1:10)]
+CBN[,Percentile:=cut(cumweight,breaks=seq(0,tx,tx/100),labels=1:100)]
+
+#Update Poors
+CBN[,Poor:=ifelse(Decile %in% 1:4,1,0)]
+CBNPoor<-CBN[Poor==1]
+CBNPoor<-merge(CBNPoor,dt2,by=c("ProvinceCode"),all.x = TRUE)
+CBNPoor[,sum(HIndivNo),by=.(ProvinceCode)][order(ProvinceCode)]
+
+###Iteration1-5
+#Calculate Per_calories in clusters
+CBNPoor[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(185:200)][]
+#utils::View(CBNPoor)
+
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(202:217)][]
+
+CBNPoor[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor<-CBNPoor[Per_Daily_Exp_Calories!=0]
+CBNPoor[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+#CBN[,weighted.mean(Poor,Weight),by=cluster][order(cluster)]
+
+#Real Prices
+T_Bundle_Value<-subset(CBNPoor, ProvinceCode==23, select=c(Bundle_Value,Home_Per_Metr,Weight))
+Tehran_Bundle_Value1<-weighted.mean(T_Bundle_Value$Bundle_Value,T_Bundle_Value$Weight,na.rm = TRUE)
+Tehran_Bundle_Value2<-weighted.mean(T_Bundle_Value$Home_Per_Metr,T_Bundle_Value$Weight,na.rm = TRUE)
+CBNPoor[,RealPriceIndex1:=weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/Tehran_Bundle_Value1,by=ProvinceCode]
+CBNPoor[,RealPriceIndex2:=weighted.mean(Home_Per_Metr,Weight,na.rm = TRUE)/Tehran_Bundle_Value2,by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex1,Weight),by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex2,Weight),by=ProvinceCode]
+Indexes2<-CBNPoor[,.(RealPriceIndex1,RealPriceIndex2,ProvinceCode,Weight)]
+Indexes2<-Indexes2[,RealPriceIndex:=(RealPriceIndex1+RealPriceIndex2)/2]
+Indexes<-Indexes2[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+Indexes35<-Indexes[,.(ProvinceCode,RealPriceIndex1,RealPriceIndex2,RealPriceIndex)]
+Indexes<-Indexes[,.(ProvinceCode,RealPriceIndex)]
+CBN[,RealPriceIndex:=NULL]
+CBN<-merge(CBN,Indexes,by=c("ProvinceCode"),all.x = TRUE)
+CBN<-CBN[,Total_Food_Month_Per2:=FoodExpenditure_Per*RealPriceIndex]
+CBN<-CBN[,Total_Exp_Month_Per2:=Total_Exp_Month_Per_nondurable*RealPriceIndex]
+#utils::View(CBN)
+
+
+#Sort Expenditure data
+CBN<- CBN[order(Total_Exp_Month_Per2)]
+
+#Calculate cumulative weights
+sum(CBN$Weight)
+CBN$cumweight <- cumsum(CBN$Weight)
+tx <- max(CBN$cumweight)
+
+#Calculate deciles by weights
+CBN[,Decile:=cut(cumweight,breaks = seq(0,tx,tx/10),labels = 1:10)]
+CBN[,Percentile:=cut(cumweight,breaks=seq(0,tx,tx/100),labels=1:100)]
+
+#Update Poors
+CBN[,Poor:=ifelse(Decile %in% 1:4,1,0)]
+CBNPoor<-CBN[Poor==1]
+CBNPoor<-merge(CBNPoor,dt2,by=c("ProvinceCode"),all.x = TRUE)
+CBNPoor[,sum(HIndivNo),by=.(ProvinceCode)][order(ProvinceCode)]
+
+###Iteration1-6
+#Calculate Per_calories in clusters
+CBNPoor[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(185:200)][]
+#utils::View(CBNPoor)
+
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(202:217)][]
+
+CBNPoor[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor<-CBNPoor[Per_Daily_Exp_Calories!=0]
+CBNPoor[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+#CBN[,weighted.mean(Poor,Weight),by=cluster][order(cluster)]
+
+#Real Prices
+T_Bundle_Value<-subset(CBNPoor, ProvinceCode==23, select=c(Bundle_Value,Home_Per_Metr,Weight))
+Tehran_Bundle_Value1<-weighted.mean(T_Bundle_Value$Bundle_Value,T_Bundle_Value$Weight,na.rm = TRUE)
+Tehran_Bundle_Value2<-weighted.mean(T_Bundle_Value$Home_Per_Metr,T_Bundle_Value$Weight,na.rm = TRUE)
+CBNPoor[,RealPriceIndex1:=weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/Tehran_Bundle_Value1,by=ProvinceCode]
+CBNPoor[,RealPriceIndex2:=weighted.mean(Home_Per_Metr,Weight,na.rm = TRUE)/Tehran_Bundle_Value2,by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex1,Weight),by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex2,Weight),by=ProvinceCode]
+Indexes2<-CBNPoor[,.(RealPriceIndex1,RealPriceIndex2,ProvinceCode,Weight)]
+Indexes2<-Indexes2[,RealPriceIndex:=(RealPriceIndex1+RealPriceIndex2)/2]
+Indexes<-Indexes2[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+Indexes36<-Indexes[,.(ProvinceCode,RealPriceIndex1,RealPriceIndex2,RealPriceIndex)]
+Indexes<-Indexes[,.(ProvinceCode,RealPriceIndex)]
+CBN[,RealPriceIndex:=NULL]
+CBN<-merge(CBN,Indexes,by=c("ProvinceCode"),all.x = TRUE)
+CBN<-CBN[,Total_Food_Month_Per2:=FoodExpenditure_Per*RealPriceIndex]
+CBN<-CBN[,Total_Exp_Month_Per2:=Total_Exp_Month_Per_nondurable*RealPriceIndex]
+#utils::View(CBN)
+
+
+#Sort Expenditure data
+CBN<- CBN[order(Total_Exp_Month_Per2)]
+
+#Calculate cumulative weights
+sum(CBN$Weight)
+CBN$cumweight <- cumsum(CBN$Weight)
+tx <- max(CBN$cumweight)
+
+#Calculate deciles by weights
+CBN[,Decile:=cut(cumweight,breaks = seq(0,tx,tx/10),labels = 1:10)]
+CBN[,Percentile:=cut(cumweight,breaks=seq(0,tx,tx/100),labels=1:100)]
+
+#Update Poors
+CBN[,Poor:=ifelse(Decile %in% 1:4,1,0)]
+CBNPoor<-CBN[Poor==1]
+CBNPoor<-merge(CBNPoor,dt2,by=c("ProvinceCode"),all.x = TRUE)
+CBNPoor[,sum(HIndivNo),by=.(ProvinceCode)][order(ProvinceCode)]
+
+###Iteration1-7
+#Calculate Per_calories in clusters
+CBNPoor[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(185:200)][]
+#utils::View(CBNPoor)
+
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(202:217)][]
+
+CBNPoor[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor<-CBNPoor[Per_Daily_Exp_Calories!=0]
+CBNPoor[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+#CBN[,weighted.mean(Poor,Weight),by=cluster][order(cluster)]
+
+#Real Prices
+T_Bundle_Value<-subset(CBNPoor, ProvinceCode==23, select=c(Bundle_Value,Home_Per_Metr,Weight))
+Tehran_Bundle_Value1<-weighted.mean(T_Bundle_Value$Bundle_Value,T_Bundle_Value$Weight,na.rm = TRUE)
+Tehran_Bundle_Value2<-weighted.mean(T_Bundle_Value$Home_Per_Metr,T_Bundle_Value$Weight,na.rm = TRUE)
+CBNPoor[,RealPriceIndex1:=weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/Tehran_Bundle_Value1,by=ProvinceCode]
+CBNPoor[,RealPriceIndex2:=weighted.mean(Home_Per_Metr,Weight,na.rm = TRUE)/Tehran_Bundle_Value2,by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex1,Weight),by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex2,Weight),by=ProvinceCode]
+Indexes2<-CBNPoor[,.(RealPriceIndex1,RealPriceIndex2,ProvinceCode,Weight)]
+Indexes2<-Indexes2[,RealPriceIndex:=(RealPriceIndex1+RealPriceIndex2)/2]
+Indexes<-Indexes2[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+Indexes37<-Indexes[,.(ProvinceCode,RealPriceIndex1,RealPriceIndex2,RealPriceIndex)]
+Indexes<-Indexes[,.(ProvinceCode,RealPriceIndex)]
+CBN[,RealPriceIndex:=NULL]
+CBN<-merge(CBN,Indexes,by=c("ProvinceCode"),all.x = TRUE)
+CBN<-CBN[,Total_Food_Month_Per2:=FoodExpenditure_Per*RealPriceIndex]
+CBN<-CBN[,Total_Exp_Month_Per2:=Total_Exp_Month_Per_nondurable*RealPriceIndex]
+#utils::View(CBN)
+
+
+#Sort Expenditure data
+CBN<- CBN[order(Total_Exp_Month_Per2)]
+
+#Calculate cumulative weights
+sum(CBN$Weight)
+CBN$cumweight <- cumsum(CBN$Weight)
+tx <- max(CBN$cumweight)
+
+#Calculate deciles by weights
+CBN[,Decile:=cut(cumweight,breaks = seq(0,tx,tx/10),labels = 1:10)]
+CBN[,Percentile:=cut(cumweight,breaks=seq(0,tx,tx/100),labels=1:100)]
+
+#Update Poors
+CBN[,Poor:=ifelse(Decile %in% 1:4,1,0)]
+CBNPoor<-CBN[Poor==1]
+CBNPoor<-merge(CBNPoor,dt2,by=c("ProvinceCode"),all.x = TRUE)
+CBNPoor[,sum(HIndivNo),by=.(ProvinceCode)][order(ProvinceCode)]
+
+###Iteration1-8
+#Calculate Per_calories in clusters
+CBNPoor[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(185:200)][]
+#utils::View(CBNPoor)
+
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(202:217)][]
+
+CBNPoor[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor<-CBNPoor[Per_Daily_Exp_Calories!=0]
+CBNPoor[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+#CBN[,weighted.mean(Poor,Weight),by=cluster][order(cluster)]
+
+#Real Prices
+T_Bundle_Value<-subset(CBNPoor, ProvinceCode==23, select=c(Bundle_Value,Home_Per_Metr,Weight))
+Tehran_Bundle_Value1<-weighted.mean(T_Bundle_Value$Bundle_Value,T_Bundle_Value$Weight,na.rm = TRUE)
+Tehran_Bundle_Value2<-weighted.mean(T_Bundle_Value$Home_Per_Metr,T_Bundle_Value$Weight,na.rm = TRUE)
+CBNPoor[,RealPriceIndex1:=weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/Tehran_Bundle_Value1,by=ProvinceCode]
+CBNPoor[,RealPriceIndex2:=weighted.mean(Home_Per_Metr,Weight,na.rm = TRUE)/Tehran_Bundle_Value2,by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex1,Weight),by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex2,Weight),by=ProvinceCode]
+Indexes2<-CBNPoor[,.(RealPriceIndex1,RealPriceIndex2,ProvinceCode,Weight)]
+Indexes2<-Indexes2[,RealPriceIndex:=(RealPriceIndex1+RealPriceIndex2)/2]
+Indexes<-Indexes2[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+Indexes38<-Indexes[,.(ProvinceCode,RealPriceIndex1,RealPriceIndex2,RealPriceIndex)]
+Indexes<-Indexes[,.(ProvinceCode,RealPriceIndex)]
+CBN[,RealPriceIndex:=NULL]
+CBN<-merge(CBN,Indexes,by=c("ProvinceCode"),all.x = TRUE)
+CBN<-CBN[,Total_Food_Month_Per2:=FoodExpenditure_Per*RealPriceIndex]
+CBN<-CBN[,Total_Exp_Month_Per2:=Total_Exp_Month_Per_nondurable*RealPriceIndex]
+#utils::View(CBN)
+
+
+#Sort Expenditure data
+CBN<- CBN[order(Total_Exp_Month_Per2)]
+
+#Calculate cumulative weights
+sum(CBN$Weight)
+CBN$cumweight <- cumsum(CBN$Weight)
+tx <- max(CBN$cumweight)
+
+#Calculate deciles by weights
+CBN[,Decile:=cut(cumweight,breaks = seq(0,tx,tx/10),labels = 1:10)]
+CBN[,Percentile:=cut(cumweight,breaks=seq(0,tx,tx/100),labels=1:100)]
+
+#Update Poors
+CBN[,Poor:=ifelse(Decile %in% 1:4,1,0)]
+CBNPoor<-CBN[Poor==1]
+CBNPoor<-merge(CBNPoor,dt2,by=c("ProvinceCode"),all.x = TRUE)
+CBNPoor[,sum(HIndivNo),by=.(ProvinceCode)][order(ProvinceCode)]
+
+###Iteration1-9
+#Calculate Per_calories in clusters
+CBNPoor[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(185:200)][]
+#utils::View(CBNPoor)
+
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(202:217)][]
+
+CBNPoor[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor<-CBNPoor[Per_Daily_Exp_Calories!=0]
+CBNPoor[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+#CBN[,weighted.mean(Poor,Weight),by=cluster][order(cluster)]
+
+#Real Prices
+T_Bundle_Value<-subset(CBNPoor, ProvinceCode==23, select=c(Bundle_Value,Home_Per_Metr,Weight))
+Tehran_Bundle_Value1<-weighted.mean(T_Bundle_Value$Bundle_Value,T_Bundle_Value$Weight,na.rm = TRUE)
+Tehran_Bundle_Value2<-weighted.mean(T_Bundle_Value$Home_Per_Metr,T_Bundle_Value$Weight,na.rm = TRUE)
+CBNPoor[,RealPriceIndex1:=weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/Tehran_Bundle_Value1,by=ProvinceCode]
+CBNPoor[,RealPriceIndex2:=weighted.mean(Home_Per_Metr,Weight,na.rm = TRUE)/Tehran_Bundle_Value2,by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex1,Weight),by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex2,Weight),by=ProvinceCode]
+Indexes2<-CBNPoor[,.(RealPriceIndex1,RealPriceIndex2,ProvinceCode,Weight)]
+Indexes2<-Indexes2[,RealPriceIndex:=(RealPriceIndex1+RealPriceIndex2)/2]
+Indexes<-Indexes2[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+Indexes39<-Indexes[,.(ProvinceCode,RealPriceIndex1,RealPriceIndex2,RealPriceIndex)]
+Indexes<-Indexes[,.(ProvinceCode,RealPriceIndex)]
+CBN[,RealPriceIndex:=NULL]
+CBN<-merge(CBN,Indexes,by=c("ProvinceCode"),all.x = TRUE)
+CBN<-CBN[,Total_Food_Month_Per2:=FoodExpenditure_Per*RealPriceIndex]
+CBN<-CBN[,Total_Exp_Month_Per2:=Total_Exp_Month_Per_nondurable*RealPriceIndex]
+#utils::View(CBN)
+
+
+#Sort Expenditure data
+CBN<- CBN[order(Total_Exp_Month_Per2)]
+
+#Calculate cumulative weights
+sum(CBN$Weight)
+CBN$cumweight <- cumsum(CBN$Weight)
+tx <- max(CBN$cumweight)
+
+#Calculate deciles by weights
+CBN[,Decile:=cut(cumweight,breaks = seq(0,tx,tx/10),labels = 1:10)]
+CBN[,Percentile:=cut(cumweight,breaks=seq(0,tx,tx/100),labels=1:100)]
+
+#Update Poors
+CBN[,Poor:=ifelse(Decile %in% 1:4,1,0)]
+CBNPoor<-CBN[Poor==1]
+CBNPoor<-merge(CBNPoor,dt2,by=c("ProvinceCode"),all.x = TRUE)
+CBNPoor[,sum(HIndivNo),by=.(ProvinceCode)][order(ProvinceCode)]
+
+###Iteration1-10
+#Calculate Per_calories in clusters
+CBNPoor[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(185:200)][]
+#utils::View(CBNPoor)
+
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(202:217)][]
+
+CBNPoor[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor<-CBNPoor[Per_Daily_Exp_Calories!=0]
+CBNPoor[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+#CBN[,weighted.mean(Poor,Weight),by=cluster][order(cluster)]
+
+#Real Prices
+T_Bundle_Value<-subset(CBNPoor, ProvinceCode==23, select=c(Bundle_Value,Home_Per_Metr,Weight))
+Tehran_Bundle_Value1<-weighted.mean(T_Bundle_Value$Bundle_Value,T_Bundle_Value$Weight,na.rm = TRUE)
+Tehran_Bundle_Value2<-weighted.mean(T_Bundle_Value$Home_Per_Metr,T_Bundle_Value$Weight,na.rm = TRUE)
+CBNPoor[,RealPriceIndex1:=weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/Tehran_Bundle_Value1,by=ProvinceCode]
+CBNPoor[,RealPriceIndex2:=weighted.mean(Home_Per_Metr,Weight,na.rm = TRUE)/Tehran_Bundle_Value2,by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex1,Weight),by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex2,Weight),by=ProvinceCode]
+Indexes2<-CBNPoor[,.(RealPriceIndex1,RealPriceIndex2,ProvinceCode,Weight)]
+Indexes2<-Indexes2[,RealPriceIndex:=(RealPriceIndex1+RealPriceIndex2)/2]
+Indexes<-Indexes2[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+Indexes310<-Indexes[,.(ProvinceCode,RealPriceIndex1,RealPriceIndex2,RealPriceIndex)]
+Indexes<-Indexes[,.(ProvinceCode,RealPriceIndex)]
+CBN[,RealPriceIndex:=NULL]
+CBN<-merge(CBN,Indexes,by=c("ProvinceCode"),all.x = TRUE)
+CBN<-CBN[,Total_Food_Month_Per2:=FoodExpenditure_Per*RealPriceIndex]
+CBN<-CBN[,Total_Exp_Month_Per2:=Total_Exp_Month_Per_nondurable*RealPriceIndex]
+#utils::View(CBN)
+
+
+#Sort Expenditure data
+CBN<- CBN[order(Total_Exp_Month_Per2)]
+
+#Calculate cumulative weights
+sum(CBN$Weight)
+CBN$cumweight <- cumsum(CBN$Weight)
+tx <- max(CBN$cumweight)
+
+#Calculate deciles by weights
+CBN[,Decile:=cut(cumweight,breaks = seq(0,tx,tx/10),labels = 1:10)]
+CBN[,Percentile:=cut(cumweight,breaks=seq(0,tx,tx/100),labels=1:100)]
+
+#Update Poors
+CBN[,Poor:=ifelse(Decile %in% 1:4,1,0)]
+CBNPoor<-CBN[Poor==1]
+CBNPoor<-merge(CBNPoor,dt2,by=c("ProvinceCode"),all.x = TRUE)
+CBNPoor[,sum(HIndivNo),by=.(ProvinceCode)][order(ProvinceCode)]
+
+
+#Calculate Per_calories in clusters
+CBNPoor[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(189:204)][]
+#utils::View(CBNPoor)
+
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(206:221)][]
+
+CBNPoor[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor<-CBNPoor[Per_Daily_Exp_Calories!=0]
+CBNPoor[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNCalory<-CBNPoor[,.(Per_Daily_Calories,Per_Daily_Exp_Calories,Per_Calory_Resturant,Resturant_Exp,cluster,ProvinceCode)]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+
+
+#Calculations
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_day,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,sum(Size*Weight),by=cluster][order(cluster)]
+
+
+#Food Poverty Line for each cluster
+#cluster 1
+CBNPoorCluster<-CBNPoor[cluster==1]
+Food_Povertyline1_1<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 2
+CBNPoorCluster<-CBNPoor[cluster==2]
+Food_Povertyline2_1<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 3
+CBNPoorCluster<-CBNPoor[cluster==3]
+Food_Povertyline3_1<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 4
+CBNPoorCluster<-CBNPoor[cluster==4]
+Food_Povertyline4_1<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 5
+CBNPoorCluster<-CBNPoor[cluster==5]
+Food_Povertyline5_1<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#ee<-CBNPoor[,.(Total_Exp_Month_Real,Total_Exp_Month,Total_Food_Month_Per2,Total_Exp_Month_Per_nondurable,Total_Exp_Month_nondurable_Real_Per,FoodExpenditure_Per,cluster)]
+#mean(ee[,Total_Food_Month_Per2==Total_Exp_Month_nondurable_Real])
+#mean(ee[,Total_Food_Month_Per2<3500000])
+#ee<- ee[order(Total_Food_Month_Per2)]
+#utils::View(CBN)
+CBN<-merge(CBN,dt2,by=c("ProvinceCode"),all.x = TRUE)
+#for (col in c("Total_Food_Month_Per2")) CBN[is.na(get(col)), (col) := Total_Exp_Month_Per_nondurable]
+c<-CBN[,.(FoodExpenditure_Per,FoodExpenditure_Per_total,Total_Exp_Month_Per_nondurable,Total_Exp_Month,Total_Food_Month_Per2,Poor,Decile,Weight,cluster)]
+
+#########Iteration 2###############
+#Sort Expenditure data
+CBN<- CBN[order(Total_Food_Month_Per2)]
+c<- c[order(Total_Food_Month_Per2)]
+
+#Indicate new poors
+CBN[,Poor2:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_1 & cluster==1,1,0)]
+c[,Poor2:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_1 & cluster==1 ,1,0)]
+CBN[,Poor2:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_1 & cluster==2,1,Poor2)]
+c[,Poor2:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_1 & cluster==2 ,1,Poor2)]
+CBN[,Poor2:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_1 & cluster==3,1,Poor2)]
+c[,Poor2:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_1 & cluster==3 ,1,Poor2)]
+CBN[,Poor2:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_1 & cluster==4,1,Poor2)]
+c[,Poor2:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_1 & cluster==4 ,1,Poor2)]
+CBN[,Poor2:=ifelse(FoodExpenditure_Per_total < Food_Povertyline5_1 & cluster==5,1,Poor2)]
+c[,Poor2:=ifelse(FoodExpenditure_Per_total < Food_Povertyline5_1 & cluster==5 ,1,Poor2)]
+CBN[,weighted.mean(Poor2,Weight),by=cluster][order(cluster)]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2<-CBN[Poor2==1]
+
+
+#CalculatePer_calories in clusters
+CBNPoor2[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(190:205)][]
+#utils::View(CBNPoor2)
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor2[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(207:222)][]
+
+CBNPoor2[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor2[,Calory_Price:=FoodExpenditure_Per_cluster/(Daily_Calories_cluster2)]
+CBNPoor2[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor2[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2<-CBNPoor2[Per_Daily_Exp_Calories!=0]
+CBNPoor2[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor2[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor2[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor2[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor2[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor2[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+
+
+
+#Calculations
+CBNPoor2[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,weighted.mean(FoodExpenditure_Per_day,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+
+
+
+#Food Poverty Line for each cluster
+#cluster 1
+CBNPoorCluster<-CBNPoor2[cluster==1]
+Food_Povertyline1_2<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 2
+CBNPoorCluster<-CBNPoor2[cluster==2]
+Food_Povertyline2_2<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 3
+CBNPoorCluster<-CBNPoor2[cluster==3]
+Food_Povertyline3_2<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 4
+CBNPoorCluster<-CBNPoor2[cluster==4]
+Food_Povertyline4_2<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 5
+CBNPoorCluster<-CBNPoor[cluster==5]
+Food_Povertyline5_2<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#ee<-CBNPoor[,.(Total_Exp_Month_Real,Total_Exp_Month,Total_Food_Month_Per2,Total_Exp_Month_Per_nondurable,Total_Exp_Month_nondurable_Real_Per,FoodExpenditure_Per,cluster)]
+#mean(ee[,Total_Food_Month_Per2==Total_Exp_Month_nondurable_Real])
+#mean(ee[,Total_Food_Month_Per2<3500000])
+#ee<- ee[order(Total_Food_Month_Per2)]
+#utils::View(CBN)
+#for (col in c("Total_Food_Month_Per2")) CBN[is.na(get(col)), (col) := Total_Exp_Month_Per_nondurable]
+c<-CBN[,.(FoodExpenditure_Per,FoodExpenditure_Per_total,Total_Exp_Month_Per_nondurable,Total_Exp_Month,Total_Food_Month_Per2,Poor,Decile,Weight,cluster)]
+
+
+#########Iteration 3###############
+#Sort Expenditure data
+CBN<- CBN[order(Total_Food_Month_Per2)]
+c<- c[order(Total_Food_Month_Per2)]
+
+#Indicate new poors
+CBN[,Poor3:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_2 & cluster==1,1,0)]
+c[,Poor3:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_2 & cluster==1 ,1,0)]
+CBN[,Poor3:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_2 & cluster==2,1,Poor3)]
+c[,Poor3:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_2 & cluster==2 ,1,Poor3)]
+CBN[,Poor3:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_2 & cluster==3,1,Poor3)]
+c[,Poor3:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_2 & cluster==3 ,1,Poor3)]
+CBN[,Poor3:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_2 & cluster==4,1,Poor3)]
+c[,Poor3:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_2 & cluster==4 ,1,Poor3)]
+CBN[,Poor3:=ifelse(FoodExpenditure_Per_total < Food_Povertyline5_2 & cluster==5,1,Poor3)]
+c[,Poor3:=ifelse(FoodExpenditure_Per_total < Food_Povertyline5_2 & cluster==5 ,1,Poor3)]
+CBN[,weighted.mean(Poor3,Weight),by=cluster][order(cluster)]
+CBNPoor2[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3<-CBN[Poor3==1]
+
+
+
+#CalculatePer_calories in clusters
+CBNPoor3[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(191:206)][]
+#utils::View(CBNPoor3)
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor3[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(208:223)][]
+
+
+CBNPoor3[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor3[,Calory_Price:=FoodExpenditure_Per_cluster/(Daily_Calories_cluster2)]
+CBNPoor3[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor3[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3<-CBNPoor3[Per_Daily_Exp_Calories!=0]
+CBNPoor3[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor3[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+
+#sum of total food expenditures
+CBNPoor3[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor3[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor3[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor3[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+
+
+#Calculations
+CBNPoor3[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,weighted.mean(FoodExpenditure_Per_day,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+
+
+
+#Food Poverty Line for each cluster
+#cluster 1
+CBNPoorCluster<-CBNPoor3[cluster==1]
+Food_Povertyline1_3<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 2
+CBNPoorCluster<-CBNPoor3[cluster==2]
+Food_Povertyline2_3<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 3
+CBNPoorCluster<-CBNPoor3[cluster==3]
+Food_Povertyline3_3<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 4
+CBNPoorCluster<-CBNPoor3[cluster==4]
+Food_Povertyline4_3<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 5
+CBNPoorCluster<-CBNPoor[cluster==5]
+Food_Povertyline5_3<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#ee<-CBNPoor[,.(Total_Exp_Month_Real,Total_Exp_Month,Total_Food_Month_Per2,Total_Exp_Month_Per_nondurable,Total_Exp_Month_nondurable_Real_Per,FoodExpenditure_Per,cluster)]
+#mean(ee[,Total_Food_Month_Per2==Total_Exp_Month_nondurable_Real])
+#mean(ee[,Total_Food_Month_Per2<3500000])
+#ee<- ee[order(Total_Food_Month_Per2)]
+#utils::View(CBN)
+#for (col in c("Total_Food_Month_Per2")) CBN[is.na(get(col)), (col) := Total_Exp_Month_Per_nondurable]
+c<-CBN[,.(FoodExpenditure_Per,FoodExpenditure_Per_total,Total_Exp_Month_Per_nondurable,Total_Exp_Month,Total_Food_Month_Per2,Poor,Decile,Weight,cluster)]
+
+
+#########Iteration 4###############
+#Sort Expenditure data
+CBN<- CBN[order(Total_Food_Month_Per2)]
+c<- c[order(Total_Food_Month_Per2)]
+
+#Indicate new poors
+CBN[,Poor4:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_3 & cluster==1,1,0)]
+c[,Poor4:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_3 & cluster==1 ,1,0)]
+CBN[,Poor4:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_3 & cluster==2,1,Poor4)]
+c[,Poor4:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_3 & cluster==2 ,1,Poor4)]
+CBN[,Poor4:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_3 & cluster==3,1,Poor4)]
+c[,Poor4:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_3 & cluster==3 ,1,Poor4)]
+CBN[,Poor4:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_3 & cluster==4,1,Poor4)]
+c[,Poor4:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_3 & cluster==4 ,1,Poor4)]
+CBN[,Poor4:=ifelse(FoodExpenditure_Per_total < Food_Povertyline5_3 & cluster==5,1,Poor4)]
+c[,Poor4:=ifelse(FoodExpenditure_Per_total < Food_Povertyline5_3 & cluster==5 ,1,Poor4)]
+CBN[,weighted.mean(Poor4,Weight),by=cluster][order(cluster)]
+CBNPoor3[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4<-CBN[Poor4==1]
+
+#CalculatePer_calories in clusters
+CBNPoor4[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(191:206)][]
+#utils::View(CBNPoor4)
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor4[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(208:223)][]
+
+
+CBNPoor4[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor4[,Calory_Price:=FoodExpenditure_Per_cluster/(Daily_Calories_cluster2)]
+CBNPoor4[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor4[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4<-CBNPoor4[Per_Daily_Exp_Calories!=0]
+CBNPoor4[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor4[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+
+#sum of total food expenditures
+CBNPoor4[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor4[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor4[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor4[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+
+
+#Calculations
+CBNPoor4[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,weighted.mean(FoodExpenditure_Per_day,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+
+
+
+#Food Poverty Line for each cluster
+#cluster 1
+CBNPoorCluster<-CBNPoor4[cluster==1]
+Food_Povertyline1_4<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 2
+CBNPoorCluster<-CBNPoor4[cluster==2]
+Food_Povertyline2_4<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 3
+CBNPoorCluster<-CBNPoor4[cluster==3]
+Food_Povertyline3_4<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 4
+CBNPoorCluster<-CBNPoor4[cluster==4]
+Food_Povertyline4_4<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 5
+CBNPoorCluster<-CBNPoor[cluster==5]
+Food_Povertyline5_4<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#ee<-CBNPoor[,.(Total_Exp_Month_Real,Total_Exp_Month,Total_Food_Month_Per2,Total_Exp_Month_Per_nondurable,Total_Exp_Month_nondurable_Real_Per,FoodExpenditure_Per,cluster)]
+#mean(ee[,Total_Food_Month_Per2==Total_Exp_Month_nondurable_Real])
+#mean(ee[,Total_Food_Month_Per2<3500000])
+#ee<- ee[order(Total_Food_Month_Per2)]
+#utils::View(CBN)
+#for (col in c("Total_Food_Month_Per2")) CBN[is.na(get(col)), (col) := Total_Exp_Month_Per_nondurable]
+c<-CBN[,.(FoodExpenditure_Per,FoodExpenditure_Per_total,Total_Exp_Month_Per_nondurable,Total_Exp_Month,Total_Food_Month_Per2,Poor,Decile,Weight,cluster)]
+
+
+#########Iteration 5###############
+#Sort Expenditure data
+CBN<- CBN[order(Total_Food_Month_Per2)]
+c<- c[order(Total_Food_Month_Per2)]
+
+#Indicate new poors
+CBN[,Poor5:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_4 & cluster==1,1,0)]
+c[,Poor5:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_4 & cluster==1 ,1,0)]
+CBN[,Poor5:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_4 & cluster==2,1,Poor5)]
+c[,Poor5:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_4 & cluster==2 ,1,Poor5)]
+CBN[,Poor5:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_4 & cluster==3,1,Poor5)]
+c[,Poor5:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_4 & cluster==3 ,1,Poor5)]
+CBN[,Poor5:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_4 & cluster==4,1,Poor5)]
+c[,Poor5:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_4 & cluster==4 ,1,Poor5)]
+CBN[,Poor5:=ifelse(FoodExpenditure_Per_total < Food_Povertyline5_4 & cluster==5,1,Poor5)]
+c[,Poor5:=ifelse(FoodExpenditure_Per_total < Food_Povertyline5_4 & cluster==5 ,1,Poor5)]
+CBN[,weighted.mean(Poor5,Weight),by=cluster][order(cluster)]
+CBNPoor4[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5<-CBN[Poor5==1]
+
+#CalculatePer_calories in clusters
+CBNPoor5[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(191:206)][]
+#utils::View(CBNPoor5)
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor5[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(208:223)][]
+
+
+CBNPoor5[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor5[,Calory_Price:=FoodExpenditure_Per_cluster/(Daily_Calories_cluster2)]
+CBNPoor5[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor5[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5<-CBNPoor5[Per_Daily_Exp_Calories!=0]
+CBNPoor5[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor5[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+
+#sum of total food expenditures
+CBNPoor5[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor5[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor5[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor5[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+
+
+#Calculations
+CBNPoor5[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,weighted.mean(FoodExpenditure_Per_day,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+
+
+
+#Food Poverty Line for each cluster
+#cluster 1
+CBNPoorCluster<-CBNPoor5[cluster==1]
+Food_Povertyline1_5<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 2
+CBNPoorCluster<-CBNPoor5[cluster==2]
+Food_Povertyline2_5<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 3
+CBNPoorCluster<-CBNPoor5[cluster==3]
+Food_Povertyline3_5<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 4
+CBNPoorCluster<-CBNPoor5[cluster==4]
+Food_Povertyline4_5<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 5
+CBNPoorCluster<-CBNPoor[cluster==5]
+Food_Povertyline5_5<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#ee<-CBNPoor[,.(Total_Exp_Month_Real,Total_Exp_Month,Total_Food_Month_Per2,Total_Exp_Month_Per_nondurable,Total_Exp_Month_nondurable_Real_Per,FoodExpenditure_Per,cluster)]
+#mean(ee[,Total_Food_Month_Per2==Total_Exp_Month_nondurable_Real])
+#mean(ee[,Total_Food_Month_Per2<3500000])
+#ee<- ee[order(Total_Food_Month_Per2)]
+#utils::View(CBN)
+#for (col in c("Total_Food_Month_Per2")) CBN[is.na(get(col)), (col) := Total_Exp_Month_Per_nondurable]
+c<-CBN[,.(FoodExpenditure_Per,FoodExpenditure_Per_total,Total_Exp_Month_Per_nondurable,Total_Exp_Month,Total_Food_Month_Per2,Poor,Decile,Weight,cluster)]
+
+
+#########Iteration 6###############
+#Sort Expenditure data
+CBN<- CBN[order(Total_Food_Month_Per2)]
+c<- c[order(Total_Food_Month_Per2)]
+
+#Indicate new poors
+CBN[,Poor6:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_5 & cluster==1,1,0)]
+c[,Poor6:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_5 & cluster==1 ,1,0)]
+CBN[,Poor6:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_5 & cluster==2,1,Poor6)]
+c[,Poor6:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_5 & cluster==2 ,1,Poor6)]
+CBN[,Poor6:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_5 & cluster==3,1,Poor6)]
+c[,Poor6:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_5 & cluster==3 ,1,Poor6)]
+CBN[,Poor6:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_5 & cluster==4,1,Poor6)]
+c[,Poor6:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_5 & cluster==4 ,1,Poor6)]
+CBN[,Poor6:=ifelse(FoodExpenditure_Per_total < Food_Povertyline5_5 & cluster==5,1,Poor6)]
+c[,Poor6:=ifelse(FoodExpenditure_Per_total < Food_Povertyline5_5 & cluster==5 ,1,Poor6)]
+CBN[,weighted.mean(Poor6,Weight),by=cluster][order(cluster)]
+CBNPoor5[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6<-CBN[Poor6==1]
+
+#CalculatePer_calories in clusters
+CBNPoor6[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(191:206)][]
+#utils::View(CBNPoor6)
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor6[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(208:223)][]
+
+
+CBNPoor6[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor6[,Calory_Price:=FoodExpenditure_Per_cluster/(Daily_Calories_cluster2)]
+CBNPoor6[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor6[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6<-CBNPoor6[Per_Daily_Exp_Calories!=0]
+CBNPoor6[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor6[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+
+#sum of total food expenditures
+CBNPoor6[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor6[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor6[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor6[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+
+
+#Calculations
+CBNPoor6[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,weighted.mean(FoodExpenditure_Per_day,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+
+
+#Food Poverty Line for each cluster
+#cluster 1
+CBNPoorCluster<-CBNPoor6[cluster==1]
+Food_Povertyline1_6<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 2
+CBNPoorCluster<-CBNPoor6[cluster==2]
+Food_Povertyline2_6<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 3
+CBNPoorCluster<-CBNPoor6[cluster==3]
+Food_Povertyline3_6<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 4
+CBNPoorCluster<-CBNPoor6[cluster==4]
+Food_Povertyline4_6<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 5
+CBNPoorCluster<-CBNPoor[cluster==5]
+Food_Povertyline5_6<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#ee<-CBNPoor[,.(Total_Exp_Month_Real,Total_Exp_Month,Total_Food_Month_Per2,Total_Exp_Month_Per_nondurable,Total_Exp_Month_nondurable_Real_Per,FoodExpenditure_Per,cluster)]
+#mean(ee[,Total_Food_Month_Per2==Total_Exp_Month_nondurable_Real])
+#mean(ee[,Total_Food_Month_Per2<3500000])
+#ee<- ee[order(Total_Food_Month_Per2)]
+#utils::View(CBN)
+#for (col in c("Total_Food_Month_Per2")) CBN[is.na(get(col)), (col) := Total_Exp_Month_Per_nondurable]
+c<-CBN[,.(FoodExpenditure_Per,FoodExpenditure_Per_total,Total_Exp_Month_Per_nondurable,Total_Exp_Month,Total_Food_Month_Per2,Poor,Decile,Weight,cluster)]
+
+
+#########Iteration 7###############
+#Sort Expenditure data
+CBN<- CBN[order(Total_Food_Month_Per2)]
+c<- c[order(Total_Food_Month_Per2)]
+
+#Indicate new poors
+CBN[,Poor7:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_6 & cluster==1,1,0)]
+c[,Poor7:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_6 & cluster==1 ,1,0)]
+CBN[,Poor7:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_6 & cluster==2,1,Poor7)]
+c[,Poor7:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_6 & cluster==2 ,1,Poor7)]
+CBN[,Poor7:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_6 & cluster==3,1,Poor7)]
+c[,Poor7:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_6 & cluster==3 ,1,Poor7)]
+CBN[,Poor7:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_6 & cluster==4,1,Poor7)]
+c[,Poor7:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_6 & cluster==4 ,1,Poor7)]
+CBN[,Poor7:=ifelse(FoodExpenditure_Per_total < Food_Povertyline5_6 & cluster==5,1,Poor7)]
+c[,Poor7:=ifelse(FoodExpenditure_Per_total < Food_Povertyline5_6 & cluster==5 ,1,Poor7)]
+CBN[,weighted.mean(Poor7,Weight),by=cluster][order(cluster)]
+CBNPoor6[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7<-CBN[Poor7==1]
+
+#CalculatePer_calories in clusters
+CBNPoor7[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(191:206)][]
+#utils::View(CBNPoor7)
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor7[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(208:223)][]
+
+
+CBNPoor7[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor7[,Calory_Price:=FoodExpenditure_Per_cluster/(Daily_Calories_cluster2)]
+CBNPoor7[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor7[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7<-CBNPoor7[Per_Daily_Exp_Calories!=0]
+CBNPoor7[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor7[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+
+#sum of total food expenditures
+CBNPoor7[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor7[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor7[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor7[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+
+
+#Calculations
+CBNPoor7[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,weighted.mean(FoodExpenditure_Per_day,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+
+
+
+#Food Poverty Line for each cluster
+#cluster 1
+CBNPoorCluster<-CBNPoor7[cluster==1]
+Food_Povertyline1_7<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 2
+CBNPoorCluster<-CBNPoor7[cluster==2]
+Food_Povertyline2_7<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 3
+CBNPoorCluster<-CBNPoor7[cluster==3]
+Food_Povertyline3_7<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 4
+CBNPoorCluster<-CBNPoor7[cluster==4]
+Food_Povertyline4_7<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 5
+CBNPoorCluster<-CBNPoor[cluster==5]
+Food_Povertyline5_7<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#ee<-CBNPoor[,.(Total_Exp_Month_Real,Total_Exp_Month,Total_Food_Month_Per2,Total_Exp_Month_Per_nondurable,Total_Exp_Month_nondurable_Real_Per,FoodExpenditure_Per,cluster)]
+#mean(ee[,Total_Food_Month_Per2==Total_Exp_Month_nondurable_Real])
+#mean(ee[,Total_Food_Month_Per2<3500000])
+#ee<- ee[order(Total_Food_Month_Per2)]
+#utils::View(CBN)
+#for (col in c("Total_Food_Month_Per2")) CBN[is.na(get(col)), (col) := Total_Exp_Month_Per_nondurable]
+c<-CBN[,.(FoodExpenditure_Per,FoodExpenditure_Per_total,Total_Exp_Month_Per_nondurable,Total_Exp_Month,Total_Food_Month_Per2,Poor,Decile,Weight,cluster)]
+
+
+#########Iteration 8###############
+#Sort Expenditure data
+CBN<- CBN[order(Total_Food_Month_Per2)]
+c<- c[order(Total_Food_Month_Per2)]
+
+#Indicate new poors
+CBN[,Poor8:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_7 & cluster==1,1,0)]
+c[,Poor8:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_7 & cluster==1 ,1,0)]
+CBN[,Poor8:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_7 & cluster==2,1,Poor8)]
+c[,Poor8:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_7 & cluster==2 ,1,Poor8)]
+CBN[,Poor8:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_7 & cluster==3,1,Poor8)]
+c[,Poor8:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_7 & cluster==3 ,1,Poor8)]
+CBN[,Poor8:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_7 & cluster==4,1,Poor8)]
+c[,Poor8:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_7 & cluster==4 ,1,Poor8)]
+CBN[,Poor8:=ifelse(FoodExpenditure_Per_total < Food_Povertyline5_7 & cluster==5,1,Poor8)]
+c[,Poor8:=ifelse(FoodExpenditure_Per_total < Food_Povertyline5_7 & cluster==5 ,1,Poor8)]
+CBN[,weighted.mean(Poor8,Weight),by=cluster][order(cluster)]
+CBNPoor7[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8<-CBN[Poor8==1]
+
+
+#CalculatePer_calories in clusters
+CBNPoor8[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(191:206)][]
+#utils::View(CBNPoor8)
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor8[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(208:223)][]
+
+
+CBNPoor8[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor8[,Calory_Price:=FoodExpenditure_Per_cluster/(Daily_Calories_cluster2)]
+CBNPoor8[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor8[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8<-CBNPoor8[Per_Daily_Exp_Calories!=0]
+CBNPoor8[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor8[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+
+#sum of total food expenditures
+CBNPoor8[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor8[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor8[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor8[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+
+
+#Calculations
+CBNPoor8[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,weighted.mean(FoodExpenditure_Per_day,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+
+
+
+#Food Poverty Line for each cluster
+#cluster 1
+CBNPoorCluster<-CBNPoor8[cluster==1]
+Food_Povertyline1_8<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 2
+CBNPoorCluster<-CBNPoor8[cluster==2]
+Food_Povertyline2_8<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 3
+CBNPoorCluster<-CBNPoor8[cluster==3]
+Food_Povertyline3_8<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 4
+CBNPoorCluster<-CBNPoor8[cluster==4]
+Food_Povertyline4_8<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 5
+CBNPoorCluster<-CBNPoor[cluster==5]
+Food_Povertyline5_8<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#ee<-CBNPoor[,.(Total_Exp_Month_Real,Total_Exp_Month,Total_Food_Month_Per2,Total_Exp_Month_Per_nondurable,Total_Exp_Month_nondurable_Real_Per,FoodExpenditure_Per,cluster)]
+#mean(ee[,Total_Food_Month_Per2==Total_Exp_Month_nondurable_Real])
+#mean(ee[,Total_Food_Month_Per2<3500000])
+#ee<- ee[order(Total_Food_Month_Per2)]
+#utils::View(CBN)
+#for (col in c("Total_Food_Month_Per2")) CBN[is.na(get(col)), (col) := Total_Exp_Month_Per_nondurable]
+c<-CBN[,.(FoodExpenditure_Per,FoodExpenditure_Per_total,Total_Exp_Month_Per_nondurable,Total_Exp_Month,Total_Food_Month_Per2,Poor,Decile,Weight,cluster)]
+
+
+#########Iteration 9###############
+#Sort Expenditure data
+CBN<- CBN[order(Total_Food_Month_Per2)]
+c<- c[order(Total_Food_Month_Per2)]
+
+#Indicate new poors
+CBN[,Poor9:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_8 & cluster==1,1,0)]
+c[,Poor9:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_8 & cluster==1 ,1,0)]
+CBN[,Poor9:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_8 & cluster==2,1,Poor9)]
+c[,Poor9:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_8 & cluster==2 ,1,Poor9)]
+CBN[,Poor9:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_8 & cluster==3,1,Poor9)]
+c[,Poor9:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_8 & cluster==3 ,1,Poor9)]
+CBN[,Poor9:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_8 & cluster==4,1,Poor9)]
+c[,Poor9:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_8 & cluster==4 ,1,Poor9)]
+CBN[,Poor9:=ifelse(FoodExpenditure_Per_total < Food_Povertyline5_8 & cluster==5,1,Poor9)]
+c[,Poor9:=ifelse(FoodExpenditure_Per_total < Food_Povertyline5_8 & cluster==5 ,1,Poor9)]
+CBN[,weighted.mean(Poor9,Weight),by=cluster][order(cluster)]
+CBNPoor8[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9<-CBN[Poor9==1]
+
+
+#CalculatePer_calories in clusters
+CBNPoor9[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(191:206)][]
+#utils::View(CBNPoor9)
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor9[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(208:223)][]
+
+
+CBNPoor9[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor9[,Calory_Price:=FoodExpenditure_Per_cluster/(Daily_Calories_cluster2)]
+CBNPoor9[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor9[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9<-CBNPoor9[Per_Daily_Exp_Calories!=0]
+CBNPoor9[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor9[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+
+#sum of total food expenditures
+CBNPoor9[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor9[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor9[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor9[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+
+
+
+#Calculations
+CBNPoor9[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,weighted.mean(FoodExpenditure_Per_day,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+
+
+
+#Food Poverty Line for each cluster
+#cluster 1
+CBNPoorCluster<-CBNPoor9[cluster==1]
+Food_Povertyline1_9<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 2
+CBNPoorCluster<-CBNPoor9[cluster==2]
+Food_Povertyline2_9<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 3
+CBNPoorCluster<-CBNPoor9[cluster==3]
+Food_Povertyline3_9<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 4
+CBNPoorCluster<-CBNPoor9[cluster==4]
+Food_Povertyline4_9<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 5
+CBNPoorCluster<-CBNPoor[cluster==5]
+Food_Povertyline5_9<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#ee<-CBNPoor[,.(Total_Exp_Month_Real,Total_Exp_Month,Total_Food_Month_Per2,Total_Exp_Month_Per_nondurable,Total_Exp_Month_nondurable_Real_Per,FoodExpenditure_Per,cluster)]
+#mean(ee[,Total_Food_Month_Per2==Total_Exp_Month_nondurable_Real])
+#mean(ee[,Total_Food_Month_Per2<3500000])
+#ee<- ee[order(Total_Food_Month_Per2)]
+#utils::View(CBN)
+#for (col in c("Total_Food_Month_Per2")) CBN[is.na(get(col)), (col) := Total_Exp_Month_Per_nondurable]
+c<-CBN[,.(FoodExpenditure_Per,FoodExpenditure_Per_total,Total_Exp_Month_Per_nondurable,Total_Exp_Month,Total_Food_Month_Per2,Poor,Decile,Weight,cluster)]
+
+
+#########Iteration 10###############
+#Sort Expenditure data
+CBN<- CBN[order(Total_Food_Month_Per2)]
+c<- c[order(Total_Food_Month_Per2)]
+
+#Indicate new poors
+CBN[,Poor10:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_9 & cluster==1,1,0)]
+c[,Poor10:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_9 & cluster==1 ,1,0)]
+CBN[,Poor10:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_9 & cluster==2,1,Poor10)]
+c[,Poor10:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_9 & cluster==2 ,1,Poor10)]
+CBN[,Poor10:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_9 & cluster==3,1,Poor10)]
+c[,Poor10:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_9 & cluster==3 ,1,Poor10)]
+CBN[,Poor10:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_9 & cluster==4,1,Poor10)]
+c[,Poor10:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_9 & cluster==4 ,1,Poor10)]
+CBN[,Poor10:=ifelse(FoodExpenditure_Per_total < Food_Povertyline5_9 & cluster==5,1,Poor10)]
+c[,Poor10:=ifelse(FoodExpenditure_Per_total < Food_Povertyline5_9 & cluster==5 ,1,Poor10)]
+CBN[,weighted.mean(Poor10,Weight),by=cluster][order(cluster)]
+CBNPoor9[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor10<-CBN[Poor10==1]
+
+#Engel
+#CBNPoor9<-CBNPoor9[,ratio1:=FoodExpenditure/Total_Exp_Month]
+#CBNPoor9[,weighted.mean(ratio1,Weight),by=cluster]
+#summary(CBNPoor9$ratio1)
+CBN<-CBN[,ratio1:=FoodExpenditure/Total_Exp_Month]
+CBN[,weighted.mean(ratio1,Weight),by=ProvinceCode][order(ProvinceCode)]
+CBN<-CBN[,ratio2:=ServiceExp/Total_Exp_Month]
+CBN[,weighted.mean(ratio2,Weight),by=ProvinceCode][order(ProvinceCode)]
+
+#Engel-home ratio calculations
+CBN[cluster==1 & FoodExpenditure_Per_total<1.1*Food_Povertyline1_9 & FoodExpenditure_Per_total>0.90*Food_Povertyline1_9,sum(HIndivNo),by=ProvinceCode][order(ProvinceCode)]
+CBN[cluster==2 & FoodExpenditure_Per_total<1.1*Food_Povertyline2_9 & FoodExpenditure_Per_total>0.90*Food_Povertyline1_9,sum(HIndivNo),by=ProvinceCode][order(ProvinceCode)]
+CBN[cluster==3 & FoodExpenditure_Per_total<1.1*Food_Povertyline3_9 & FoodExpenditure_Per_total>0.90*Food_Povertyline1_9,sum(HIndivNo),by=ProvinceCode][order(ProvinceCode)]
+CBN[cluster==4 & FoodExpenditure_Per_total<1.1*Food_Povertyline4_9 & FoodExpenditure_Per_total>0.90*Food_Povertyline1_9,sum(HIndivNo),by=ProvinceCode][order(ProvinceCode)]
+CBN[cluster==5 & FoodExpenditure_Per_total<1.1*Food_Povertyline5_9 & FoodExpenditure_Per_total>0.90*Food_Povertyline1_9,sum(HIndivNo),by=ProvinceCode][order(ProvinceCode)]
+
+CBN[cluster==1 & FoodExpenditure_Per_total<1.1*Food_Povertyline1_9 & FoodExpenditure_Per_total>0.90*Food_Povertyline1_9,weighted.mean(ratio1,Weight),by=ProvinceCode][order(ProvinceCode)]
+CBN[cluster==2 & FoodExpenditure_Per_total<1.1*Food_Povertyline2_9 & FoodExpenditure_Per_total>0.90*Food_Povertyline1_9,weighted.mean(ratio1,Weight),by=ProvinceCode][order(ProvinceCode)]
+CBN[cluster==3 & FoodExpenditure_Per_total<1.1*Food_Povertyline3_9 & FoodExpenditure_Per_total>0.90*Food_Povertyline1_9,weighted.mean(ratio1,Weight),by=ProvinceCode][order(ProvinceCode)]
+CBN[cluster==4 & FoodExpenditure_Per_total<1.1*Food_Povertyline4_9 & FoodExpenditure_Per_total>0.90*Food_Povertyline1_9,weighted.mean(ratio1,Weight),by=ProvinceCode][order(ProvinceCode)]
+CBN[cluster==5 & FoodExpenditure_Per_total<1.1*Food_Povertyline5_9 & FoodExpenditure_Per_total>0.90*Food_Povertyline1_9,weighted.mean(ratio1,Weight),by=ProvinceCode][order(ProvinceCode)]
+
+CBN[cluster==1 & FoodExpenditure_Per_total<1.1*Food_Povertyline1_9 & FoodExpenditure_Per_total>0.90*Food_Povertyline1_9,weighted.mean(ratio2,Weight),by=ProvinceCode][order(ProvinceCode)]
+CBN[cluster==2 & FoodExpenditure_Per_total<1.1*Food_Povertyline2_9 & FoodExpenditure_Per_total>0.90*Food_Povertyline1_9,weighted.mean(ratio2,Weight),by=ProvinceCode][order(ProvinceCode)]
+CBN[cluster==3 & FoodExpenditure_Per_total<1.1*Food_Povertyline3_9 & FoodExpenditure_Per_total>0.90*Food_Povertyline1_9,weighted.mean(ratio2,Weight),by=ProvinceCode][order(ProvinceCode)]
+CBN[cluster==4 & FoodExpenditure_Per_total<1.1*Food_Povertyline4_9 & FoodExpenditure_Per_total>0.90*Food_Povertyline1_9,weighted.mean(ratio2,Weight),by=ProvinceCode][order(ProvinceCode)]
+CBN[cluster==5 & FoodExpenditure_Per_total<1.1*Food_Povertyline5_9 & FoodExpenditure_Per_total>0.90*Food_Povertyline1_9,weighted.mean(ratio2,Weight),by=ProvinceCode][order(ProvinceCode)]
+
+# Poverty Line for each cluster
+#cluster 1
+CBNPoorCluster<-CBN[cluster==1 & FoodExpenditure_Per_total<1.1*Food_Povertyline1_9 & FoodExpenditure_Per_total>0.90*Food_Povertyline1_9]
+Engel1<-weighted.mean(CBNPoorCluster$ratio1,CBNPoorCluster$Weight)
+Engel_Reverse1<-1/Engel1
+Povertyline1_9<-Engel_Reverse1*Food_Povertyline1_9
+
+#cluster 2
+CBNPoorCluster<-CBN[cluster==2 & FoodExpenditure_Per_total<1.1*Food_Povertyline2_9 & FoodExpenditure_Per_total>0.90*Food_Povertyline2_9]
+Engel2<-weighted.mean(CBNPoorCluster$ratio1,CBNPoorCluster$Weight)
+Engel_Reverse2<-1/Engel2
+Povertyline2_9<-Engel_Reverse2*Food_Povertyline2_9
+
+#cluster 3
+CBNPoorCluster<-CBN[cluster==3 & FoodExpenditure_Per_total<1.1*Food_Povertyline3_9 & FoodExpenditure_Per_total>0.90*Food_Povertyline3_9]
+Engel3<-weighted.mean(CBNPoorCluster$ratio1,CBNPoorCluster$Weight)
+Engel_Reverse3<-1/Engel3
+Povertyline3_9<-Engel_Reverse3*Food_Povertyline3_9
+
+#cluster 4
+CBNPoorCluster<-CBN[cluster==4 & FoodExpenditure_Per_total<1.1*Food_Povertyline4_9 & FoodExpenditure_Per_total>0.90*Food_Povertyline4_9]
+Engel4<-weighted.mean(CBNPoorCluster$ratio1,CBNPoorCluster$Weight)
+Engel_Reverse4<-1/Engel4
+Povertyline4_9<-Engel_Reverse4*Food_Povertyline4_9
+
+#cluster 5
+CBNPoorCluster<-CBN[cluster==5 & FoodExpenditure_Per_total<1.1*Food_Povertyline5_9 & FoodExpenditure_Per_total>0.90*Food_Povertyline5_9]
+Engel5<-weighted.mean(CBNPoorCluster$ratio1,CBNPoorCluster$Weight)
+Engel_Reverse5<-1/Engel5
+Povertyline5_9<-Engel_Reverse5*Food_Povertyline5_9
+
+#Indicate final poors
+CBN<-CBN[,Total_Exp_Month_Per2:=Total_Exp_Month_Per_nondurable*RealPriceIndex]
+
+CBN[,Poor11:=ifelse(Total_Exp_Month_Per_nondurable < Povertyline1_9 & cluster==1,1,0)]
+CBN[,Poor11:=ifelse(Total_Exp_Month_Per_nondurable < Povertyline2_9 & cluster==2,1,Poor11)]
+CBN[,Poor11:=ifelse(Total_Exp_Month_Per_nondurable < Povertyline3_9 & cluster==3,1,Poor11)]
+CBN[,Poor11:=ifelse(Total_Exp_Month_Per_nondurable < Povertyline4_9 & cluster==4,1,Poor11)]
+CBN[,Poor11:=ifelse(Total_Exp_Month_Per_nondurable < Povertyline5_9 & cluster==5,1,Poor11)]
+CBN[,weighted.mean(Poor11,Weight),by=cluster][order(cluster)]
+CBNPoor9[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor11<-CBN[Poor11==1]
+
+
+CBN[,sum(Size*Weight),by=cluster][order(cluster)]
+CBN[,sum(Size*Weight),by=.(cluster,Decile)][order(cluster,Decile)]
+CBNPoor[,sum(Size*Weight),by=cluster][order(cluster)]
+CBNPoor11[,sum(Size*Weight),by=cluster][order(cluster)]
+CBNPoor2[,sum(Size*Weight),by=cluster][order(cluster)]
+CBNPoor9[,sum(Size*Weight),by=cluster][order(cluster)]
+CBNPoor9[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster][order(cluster)]
+CBNPoor9[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster][order(cluster)]
+CBN[,weighted.mean(Poor11,Weight)]
+CBN[,weighted.mean(Poor11,Weight),by=cluster][order(cluster)]
+CBN[,weighted.mean(Poor11,Weight),by=ProvinceCode][order(ProvinceCode)]
+CBNPoor11[,sum(Size*Weight),by=ProvinceCode][order(ProvinceCode)]
+CBNPoor11[,sum(Weight),by=ProvinceCode][order(ProvinceCode)]
+CBN[,sum(Size*Weight),by=ProvinceCode][order(ProvinceCode)]
+CBN[,sum(Size*Weight)]
+
+##############################
+###Real Prices for report###
+##############################
+#sum of total food expenditures
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per]
+
+#Food expenditures (equal 2100 CCAL)
+CBN<-CBN[Per_Daily_Exp_Calories>0]
+CBN[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Exp_Calories]
+CBN[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+
+T_Bundle_Value<-subset(CBN, ProvinceCode==23, select=c(Bundle_Value,Home_Per_Metr,Weight))
+Tehran_Bundle_Value1<-weighted.mean(T_Bundle_Value$Bundle_Value,T_Bundle_Value$Weight,na.rm = TRUE)
+Tehran_Bundle_Value2<-weighted.mean(T_Bundle_Value$Home_Per_Metr,T_Bundle_Value$Weight,na.rm = TRUE)
+CBN[,RealPriceIndex1:=weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/Tehran_Bundle_Value1,by=ProvinceCode]
+CBN[,RealPriceIndex2:=weighted.mean(Home_Per_Metr,Weight,na.rm = TRUE)/Tehran_Bundle_Value2,by=ProvinceCode]
+CBN[,weighted.mean(RealPriceIndex1,Weight),by=ProvinceCode]
+CBN[,weighted.mean(RealPriceIndex2,Weight),by=ProvinceCode]
+Indexes2_1<-CBN[,.(RealPriceIndex1,RealPriceIndex2,ProvinceCode,Weight)]
+Indexes2_1<-Indexes2_1[,RealPriceIndex:=(RealPriceIndex1+RealPriceIndex2)/2]
+Indexes_total<-Indexes2_1[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+Indexes3_1<-Indexes_total[,.(ProvinceCode,RealPriceIndex1,RealPriceIndex2,RealPriceIndex)]
+Indexes<-Indexes[,.(ProvinceCode,RealPriceIndex)]
+
+CBN_Poor<-CBN[Poor11==1]
+T_Bundle_Value<-subset(CBN_Poor, ProvinceCode==23, select=c(Bundle_Value,Home_Per_Metr,Weight))
+Tehran_Bundle_Value1<-weighted.mean(T_Bundle_Value$Bundle_Value,T_Bundle_Value$Weight,na.rm = TRUE)
+Tehran_Bundle_Value2<-weighted.mean(T_Bundle_Value$Home_Per_Metr,T_Bundle_Value$Weight,na.rm = TRUE)
+CBN_Poor[,RealPriceIndex1:=weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/Tehran_Bundle_Value1,by=ProvinceCode]
+CBN_Poor[,RealPriceIndex2:=weighted.mean(Home_Per_Metr,Weight,na.rm = TRUE)/Tehran_Bundle_Value2,by=ProvinceCode]
+CBN_Poor[,weighted.mean(RealPriceIndex1,Weight),by=ProvinceCode]
+CBN_Poor[,weighted.mean(RealPriceIndex2,Weight),by=ProvinceCode]
+Indexes2_2<-CBN_Poor[,.(RealPriceIndex1,RealPriceIndex2,ProvinceCode,Weight,Poor11)]
+Indexes2_2<-Indexes2_2[,RealPriceIndex:=(RealPriceIndex1+RealPriceIndex2)/2]
+Indexes_finalpoor<-Indexes2_2[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+Indexes3_2<-Indexes_finalpoor[,.(ProvinceCode,RealPriceIndex1,RealPriceIndex2,RealPriceIndex)]
+Indexes<-Indexes[,.(ProvinceCode,RealPriceIndex)]
+
+###Save Tables
+CBN_Rural<-CBN
+save(CBN_Rural, file = paste0(Settings$HEISProcessedPath,"CBN_Rural","95.rda"))
+
+CBNPoor_Rural<-CBNPoor11
+save(CBNPoor_Rural, file = paste0(Settings$HEISProcessedPath,"CBNPoor_Rural","95.rda"))
+
+endtime <- proc.time()
+
+cat("\n\n============================\nIt took ")
+cat(endtime-starttime)
+
diff --git a/R/Archive/Other Codes/63-CBN-Urban96.R b/R/Archive/Other Codes/63-CBN-Urban96.R
new file mode 100644
index 00000000..4bd602c5
--- /dev/null
+++ b/R/Archive/Other Codes/63-CBN-Urban96.R
@@ -0,0 +1,3032 @@
+#CBN Method-Urban.R
+#
+# Copyright © 2018:Arin Shahbazian
+# Licence: GPL-3
+#
+rm(list=ls())
+
+starttime <- proc.time()
+cat("\n\n================ Prepare Data =====================================\n")
+
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+library(readxl)
+library(stringr)
+library(data.table)
+library(sm)
+library(ggplot2)
+library(foreign)
+library(haven)
+load(file = "data9697.rda")
+#for(year in (Settings$startyear:Settings$endyear)){
+# cat(paste0("\n------------------------------\nYear:",year,"\n"))
+
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","HHBase.rda"))
+HHBase[,IndivNo:=NULL]
+HHBase[,Relationship:=NULL]
+HHBase[,Sex:=NULL]
+HHBase[,Age:=NULL]
+HHBase[,Literate:=NULL]
+HHBase[,Student:=NULL]
+HHBase[,EduCode:=NULL]
+HHBase[,EduYears:=NULL]
+HHBase[,EduLevel:=NULL]
+HHBase[,EduLevel0:=NULL]
+HHBase[,ActivityState:=NULL]
+HHBase[,MarritalState:=NULL]
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Ghand_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Hoboobat_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Roghan_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Berenj_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Nan_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Goosht_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Morgh_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Mahi_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Shir_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Mast_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Panir_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Tokhmemorgh_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Mive_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Sabzi_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Makarooni_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Sibzamini_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Weights.rda"))
+
+Ghand_Data<-Ghand_Data[,.(HHID,Ghandgram,GhandPrice)]
+Hoboobat_Data<-Hoboobat_Data[,.(HHID,Hoboobatgram,HoboobatPrice)]
+Roghan_Data<-Roghan_Data[,.(HHID,Roghangram,RoghanPrice)]
+Berenj_Data<-Berenj_Data[,.(HHID,Berenjgram,BerenjPrice)]
+Nan_Data<-Nan_Data[,.(HHID,Nangram,NanPrice)]
+Goosht_Data<-Goosht_Data[,.(HHID,Gooshtgram,GooshtPrice)]
+Morgh_Data<-Morgh_Data[,.(HHID,Morghgram,MorghPrice)]
+Mahi_Data<-Mahi_Data[,.(HHID,Mahigram,MahiPrice)]
+Shir_Data<-Shir_Data[,.(HHID,Shirgram,ShirPrice)]
+Mast_Data<-Mast_Data[,.(HHID,Mastgram,MastPrice)]
+Panir_Data<-Panir_Data[,.(HHID,Panirgram,PanirPrice)]
+Tokhmemorgh_Data<-Tokhmemorgh_Data[,.(HHID,Tokhmemorghgram,TokhmemorghPrice)]
+Mive_Data<-Mive_Data[,.(HHID,Mivegram,MivePrice)]
+Sabzi_Data<-Sabzi_Data[,.(HHID,Sabzigram,SabziPrice)]
+Makarooni_Data<-Makarooni_Data[,.(HHID,Makaroonigram,MakarooniPrice)]
+Sibzamini_Data<-Sibzamini_Data[,.(HHID,Sibzaminigram,SibzaminiPrice)]
+
+Food<-merge(HHBase,Ghand_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Ghandgram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Hoboobat_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Hoboobatgram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Roghan_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Roghangram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Berenj_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Berenjgram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Nan_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Nangram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Goosht_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Gooshtgram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Morgh_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Morghgram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Mahi_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Mahigram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Shir_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Shirgram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Mast_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Mastgram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Panir_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Panirgram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Tokhmemorgh_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Tokhmemorghgram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Mive_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Mivegram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Sabzi_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Sabzigram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Makarooni_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Makaroonigram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Sibzamini_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Sibzaminigram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Weights,by =c("HHID"),all.x=TRUE)
+
+
+
+#load Expenditure groups
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","HHBase.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","HHI.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Foods.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Cigars.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Cloths.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Amusements.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Communications.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Durables.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Education.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Energy.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Furnitures.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Hotels.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","House.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Medicals.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Behdashts.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Transportations.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Others.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Investments.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Resturants.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Weights.rda"))
+
+#merge Expenditure groups
+CBN<-merge(Food,HHI ,by =c("HHID"),all=TRUE)
+CBN<-merge(CBN,FoodData,by =c("HHID"),all=TRUE)
+for (col in c("FoodExpenditure")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,CigarData,by =c("HHID"),all=TRUE)
+for (col in c("Cigar_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,ClothData,by =c("HHID"),all=TRUE)
+for (col in c("Cloth_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,AmusementData,by =c("HHID"),all=TRUE)
+for (col in c("Amusement_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,CommunicationData,by =c("HHID"),all=TRUE)
+for (col in c("Communication_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,EducData,by =c("HHID"),all=TRUE)
+for (col in c("EducExpenditure")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,EnergyData,by =c("HHID"),all=TRUE)
+for (col in c("Energy_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,FurnitureData,by =c("HHID"),all=TRUE)
+for (col in c("Furniture_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,HotelData,by =c("HHID"),all=TRUE)
+for (col in c("Hotel_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,BehdashtData,by =c("HHID"),all=TRUE)
+for (col in c("Behdasht_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,TransportationData,by =c("HHID"),all=TRUE)
+for (col in c("Transportation_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,OtherData,by =c("HHID"),all=TRUE)
+for (col in c("Other_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,HouseData,by =c("HHID"),all=TRUE)
+for (col in c("ServiceExp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,InvestmentData,by =c("HHID"),all=TRUE)
+for (col in c("Investment_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,MedicalData,by =c("HHID"),all=TRUE)
+for (col in c("Medical_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,DurableData,by =c("HHID"),all=TRUE)
+for (col in c("Durable_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,ResturantData,by =c("HHID"),all=TRUE)
+for (col in c("Resturant_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-CBN[Size!=0]
+CBN<-CBN[Region=="Urban"]
+CBN<-CBN[FoodExpenditure!=0]
+
+CBN<-merge(CBN,data9697,by =c("ProvinceCode"),all.x=TRUE)
+
+CBN$FoodExpenditure<-CBN$FoodExpenditure*CBN$spring971food_index/100
+CBN$Cigar_Exp<-CBN$Cigar_Exp*CBN$total961cigar_index/100
+CBN$Cloth_Exp<-CBN$Cloth_Exp*CBN$total961cloth_index/100
+CBN$Amusement_Exp<-CBN$Amusement_Exp*CBN$total961amusement_index/100
+CBN$Communication_Exp<-CBN$Communication_Exp*CBN$total961communication_index/100
+CBN$EducExpenditure<-CBN$EducExpenditure*CBN$total961education_index/100
+CBN$Energy_Exp<-CBN$Energy_Exp*CBN$total961house_energy_index/100
+CBN$Furniture_Exp<-CBN$Furniture_Exp*CBN$total961furniture_index/100
+CBN$Hotel_Exp<-CBN$Hotel_Exp*CBN$total961hotel_index/100
+CBN$Behdasht_Exp<-CBN$Behdasht_Exp*CBN$total961behdasht_index/100
+CBN$Transportation_Exp<-CBN$Transportation_Exp*CBN$total961transportation_index/100
+CBN$Other_Exp<-CBN$Other_Exp*CBN$total961other_index/100
+CBN$ServiceExp<-CBN$ServiceExp*CBN$total961house_energy_index/100
+CBN$Investment_Exp<-CBN$Investment_Exp*CBN$total96/100
+CBN$Medical_Exp<-CBN$Medical_Exp*CBN$total961behdasht_index/100
+CBN$Durable_Exp<-CBN$Durable_Exp*CBN$total96/100
+
+CBN[ ,shahrivar971furniture_index :=NULL]
+CBN[ ,shahrivar971communication_index :=NULL]
+CBN[ ,shahrivar971behdasht_index :=NULL]
+CBN[ ,shahrivar971education_index :=NULL]
+CBN[ ,shahrivar971amusement_index :=NULL]
+CBN[ ,shahrivar971transportation_index :=NULL]
+CBN[ ,shahrivar971food_index :=NULL]
+CBN[ ,shahrivar971cigar_index :=NULL]
+CBN[ ,shahrivar971hotel_index :=NULL]
+CBN[ ,shahrivar971total_index :=NULL]
+CBN[ ,shahrivar971house_energy_index :=NULL]
+CBN[ ,shahrivar971cloth_index :=NULL]
+CBN[ ,shahrivar971other_index :=NULL]
+CBN[ ,spring971furniture_index :=NULL]
+CBN[ ,spring971communication_index :=NULL]
+CBN[ ,spring971behdasht_index :=NULL]
+CBN[ ,spring971education_index :=NULL]
+CBN[ ,spring971amusement_index :=NULL]
+CBN[ ,spring971transportation_index :=NULL]
+CBN[ ,spring971food_index :=NULL]
+CBN[ ,spring971cigar_index :=NULL]
+CBN[ ,spring971hotel_index :=NULL]
+CBN[ ,spring971total_index :=NULL]
+CBN[ ,spring971house_energy_index :=NULL]
+CBN[ ,spring971cloth_index :=NULL]
+CBN[ ,spring971other_index :=NULL]
+CBN[ ,summer971furniture_index :=NULL]
+CBN[ ,summer971communication_index :=NULL]
+CBN[ ,summer971behdasht_index :=NULL]
+CBN[ ,summer971education_index :=NULL]
+CBN[ ,summer971amusement_index :=NULL]
+CBN[ ,summer971transportation_index :=NULL]
+CBN[ ,summer971food_index :=NULL]
+CBN[ ,summer971cigar_index :=NULL]
+CBN[ ,summer971hotel_index :=NULL]
+CBN[ ,summer971total_index :=NULL]
+CBN[ ,summer971house_energy_index :=NULL]
+CBN[ ,summer971cloth_index :=NULL]
+CBN[ ,summer971other_index :=NULL]
+CBN[ ,total961furniture_index :=NULL]
+CBN[ ,total961communication_index :=NULL]
+CBN[ ,total961behdasht_index :=NULL]
+CBN[ ,total961education_index :=NULL]
+CBN[ ,total961amusement_index :=NULL]
+CBN[ ,total961transportation_index :=NULL]
+CBN[ ,total961food_index :=NULL]
+CBN[ ,total961cigar_index :=NULL]
+CBN[ ,total961hotel_index :=NULL]
+CBN[ ,total961total_index :=NULL]
+CBN[ ,total961house_energy_index :=NULL]
+CBN[ ,total961cloth_index :=NULL]
+CBN[ ,total961other_index :=NULL]
+
+CBN[ ,spring97 :=NULL]
+CBN[ ,summer97 :=NULL]
+CBN[ ,total96 :=NULL]
+CBN[ ,shahrivar97 :=NULL]
+
+
+
+#Calculate Per_Total Expenditures Monthly
+CBN[, Total_Exp_Month := Reduce(`+`, .SD), .SDcols=c(65:77,82:83)][]
+CBN[, Total_Exp_Month_nondurable := Reduce(`+`, .SD), .SDcols=65:77][]
+
+CBN$Total_Exp_Month_Per<-CBN$Total_Exp_Month/CBN$EqSizeOECD
+CBN$Total_Exp_Month_Per_nondurable<-CBN$Total_Exp_Month_nondurable/CBN$EqSizeOECD
+
+#Calculate Per_Food Expenditures Monthly
+CBN[,EqSizeCalory :=(Size-NKids) + NKids*(1800/2100)]
+CBN$FoodExpenditure_Per<-CBN$FoodExpenditure/CBN$EqSizeCalory
+
+#Calculate Per_Food Expenditures Daily
+CBN$FoodExpenditure_Per_day<-CBN$FoodExpenditure_Per/30
+
+CBN$Ghandgram_Per_day<-CBN$Ghandgram/(30*CBN$EqSizeOECD)
+CBN$Hoboobatgram_Per_day<-CBN$Hoboobatgram/(30*CBN$EqSizeOECD)
+CBN$Berenjgram_Per_day<-CBN$Berenjgram/(30*CBN$EqSizeOECD)
+CBN$Nangram_Per_day<-CBN$Nangram/(30*CBN$EqSizeOECD)
+CBN$Roghangram_Per_day<-CBN$Roghangram/(30*CBN$EqSizeOECD)
+CBN$Gooshtgram_Per_day<-CBN$Gooshtgram/(30*CBN$EqSizeOECD)
+CBN$Morghgram_Per_day<-CBN$Morghgram/(30*CBN$EqSizeOECD)
+CBN$Mahigram_Per_day<-CBN$Mahigram/(30*CBN$EqSizeOECD)
+CBN$Shirgram_Per_day<-CBN$Shirgram/(30*CBN$EqSizeOECD)
+CBN$Mastgram_Per_day<-CBN$Mastgram/(30*CBN$EqSizeOECD)
+CBN$Panirgram_Per_day<-CBN$Panirgram/(30*CBN$EqSizeOECD)
+CBN$Tokhmemorghgram_Per_day<-CBN$Tokhmemorghgram/(30*CBN$EqSizeOECD)
+CBN$Mivegram_Per_day<-CBN$Mivegram/(30*CBN$EqSizeOECD)
+CBN$Sabzigram_Per_day<-CBN$Sabzigram/(30*CBN$EqSizeOECD)
+CBN$Makaroonigram_Per_day<-CBN$Makaroonigram/(30*CBN$EqSizeOECD)
+CBN$Sibzaminigram_Per_day<-CBN$Sibzaminigram/(30*CBN$EqSizeOECD)
+CBN[,EqSizeCalory:=NULL]
+
+load(file="PriceIndex95.rda")
+CBN<-merge(CBN,PriceIndex95,by=c("ProvinceCode"),all.x = TRUE)
+CBN[,ostan:=NULL]
+load(file="PriceIndex.rda")
+CBN<-merge(CBN,PriceIndex,by=c("ProvinceCode"),all.x = TRUE)
+
+#Sort Expenditure data
+CBN<- CBN[order(Total_Exp_Month_Per_nondurable)]
+
+#Calculate cumulative weights
+sum(CBN$Weight)
+CBN$cumweight <- cumsum(CBN$Weight)
+tx <- max(CBN$cumweight)
+
+#Calculate deciles by weights
+CBN[,Decile:=cut(cumweight,breaks = seq(0,tx,tx/10),labels = 1:10)]
+CBN[,Percentile:=cut(cumweight,breaks=seq(0,tx,tx/100),labels=1:100)]
+
+
+CBN$Ghand_W<-CBN$Ghandgram_Per_day*CBN$GhandPrice*0.001*30
+CBN$Hoboobat_W<-CBN$Hoboobatgram_Per_day*CBN$HoboobatPrice*0.001*30
+CBN$Roghan_W<-CBN$Roghangram_Per_day*CBN$RoghanPrice*0.001*30
+CBN$Berenj_W<-CBN$Berenjgram_Per_day*CBN$BerenjPrice*0.001*30
+CBN$Nan_W<-CBN$Nangram_Per_day*CBN$NanPrice*0.001*30
+CBN$Goosht_W<-CBN$Gooshtgram_Per_day*CBN$GooshtPrice*0.001*30
+CBN$Morgh_W<-CBN$Morghgram_Per_day*CBN$MorghPrice*0.001*30
+CBN$Mahi_W<-CBN$Mahigram_Per_day*CBN$MahiPrice*0.001*30
+CBN$Shir_W<-CBN$Shirgram_Per_day*CBN$ShirPrice*0.001*30
+CBN$Mast_W<-CBN$Mastgram_Per_day*CBN$MastPrice*0.001*30
+CBN$Panir_W<-CBN$Panirgram_Per_day*CBN$PanirPrice*0.001*30
+CBN$Tokhmemorgh_W<-CBN$Tokhmemorghgram_Per_day*CBN$TokhmemorghPrice*0.001*30
+CBN$Mive_W<-CBN$Mivegram_Per_day*CBN$MivePrice*0.001*30
+CBN$Sabzi_W<-CBN$Sabzigram_Per_day*CBN$SabziPrice*0.001*30
+CBN$Makarooni_W<-CBN$Makaroonigram_Per_day*CBN$MakarooniPrice*0.001*30
+CBN$Sibzamini_W<-CBN$Sibzaminigram_Per_day*CBN$SibzaminiPrice*0.001*30
+CBN$Home_W<-CBN$ServiceExp/CBN$EqSizeOECD
+CBN$Home_Per_Metr<-CBN$MetrPrice/CBN$EqSizeOECD
+
+#Seperate big cities
+CBN[,sum(Weight*Size),by=ProvinceCode][order(V1)]
+CBN[,HHIDs:=as.character(HHID)]
+CBN[,ShahrestanCode:=as.integer(str_sub(HHIDs,2,5))]
+CBN[,sum(Weight*Size),by=ShahrestanCode][order(V1)][330:387]
+CBNTehran<-CBN[ProvinceCode==23]
+CBNTehran[,sum(Weight*Size),by=ShahrestanCode]
+CBNTabriz<-CBN[ProvinceCode==3]
+CBNTabriz[,sum(Weight*Size),by=ShahrestanCode]
+CBNAhvaz<-CBN[ProvinceCode==6]
+CBNAhvaz[,sum(Weight*Size),by=ShahrestanCode]
+CBNShiraz<-CBN[ProvinceCode==7]
+CBNShiraz[,sum(Weight*Size),by=ShahrestanCode]
+CBNMashhad<-CBN[ProvinceCode==9]
+CBNMashhad[,sum(Weight*Size),by=ShahrestanCode]
+CBNEsfahan<-CBN[ProvinceCode==10]
+CBNEsfahan[,sum(Weight*Size),by=ShahrestanCode]
+CBNKaraj<-CBN[ProvinceCode==30]
+CBNKaraj[,sum(Weight*Size),by=ShahrestanCode]
+CBNKermanshah<-CBN[ProvinceCode==5]
+CBNKermanshah[,sum(Weight*Size),by=ShahrestanCode]
+
+
+CBN<-CBN[ShahrestanCode==2301,ProvinceCode:=as.numeric(ShahrestanCode)]
+CBN<-CBN[ShahrestanCode==303,ProvinceCode:=as.numeric(ShahrestanCode)]
+CBN<-CBN[ShahrestanCode==603,ProvinceCode:=as.numeric(ShahrestanCode)]
+CBN<-CBN[ShahrestanCode==707,ProvinceCode:=as.numeric(ShahrestanCode)]
+CBN<-CBN[ShahrestanCode==916,ProvinceCode:=as.numeric(ShahrestanCode)]
+CBN<-CBN[ShahrestanCode==1002,ProvinceCode:=as.numeric(ShahrestanCode)]
+CBN<-CBN[ShahrestanCode==3001,ProvinceCode:=as.numeric(ShahrestanCode)]
+CBN<-CBN[ShahrestanCode==2301,ProvinceCode:=as.numeric(ShahrestanCode)]
+CBN<-CBN[ShahrestanCode==502,ProvinceCode:=as.numeric(ShahrestanCode)]
+
+# Food Calories
+CBN$Ghand_Calory<- CBN$Ghandgram *4
+CBN$Hoboobat_Calory<- CBN$Hoboobatgram *3
+CBN$Nan_Calory<- CBN$Nangram *2.5
+CBN$Berenj_Calory<- CBN$Berenjgram *1.2
+CBN$Roghan_Calory<- CBN$Roghangram *8
+CBN$Goosht_Calory<- CBN$Gooshtgram *2.5
+CBN$Morgh_Calory<- CBN$Morghgram *2
+CBN$Mahi_Calory<- CBN$Mahigram *1
+CBN$Shir_Calory<- CBN$Shirgram *2.5
+CBN$Mast_Calory<- CBN$Mastgram *1.5
+CBN$Panir_Calory<- CBN$Mastgram *2.5
+CBN$Tokhmemorgh_Calory<- CBN$Tokhmemorghgram *1.4
+CBN$Mive_Calory<- CBN$Mivegram *0.5
+CBN$Sabzi_Calory<- CBN$Sabzigram *0.5
+CBN$Makarooni_Calory<- CBN$Makaroonigram *3.6
+CBN$Sibzamini_Calory<- CBN$Sibzaminigram *0.9
+#utils::View(CBN)
+
+#CalculatePer_calories
+CBN[, Daily_Exp_Calories := Reduce(`+`, .SD), .SDcols=148:163][]
+CBN[,EqSizeCalory :=(Size-NKids) + NKids*(1800/2100)]
+CBN[,Per_Daily_Exp_Calories:=Daily_Exp_Calories/EqSizeCalory]
+CBN <- CBN[Per_Daily_Exp_Calories<100000] # arbitrary removal of outliers
+#CBN[,Daily_Calories_cluster:=weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+#CBN[,weighted.mean(Daily_Calories_cluster,Weight,na.rm = TRUE),by=cluster]
+#CBN[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+#CBN[,weighted.mean(Size,Weight,na.rm = TRUE),by=cluster]
+#CBN[,sum(Weight*Size),by=cluster]
+#CBN[,sum(Weight),by=cluster]
+#CBN[,sum(Poor),by=cluster]
+
+
+#Calculate_Per_calories
+CBN$Ghand_per_Calory<- CBN$Ghandgram *4/CBN$EqSizeCalory
+CBN$Hoboobat_per_Calory<- CBN$Hoboobatgram *3/CBN$EqSizeCalory
+CBN$Nan_per_Calory<- CBN$Nangram *2.5/CBN$EqSizeCalory
+CBN$Berenj_per_Calory<- CBN$Berenjgram *1.2/CBN$EqSizeCalory
+CBN$Roghan_per_Calory<- CBN$Roghangram *8/CBN$EqSizeCalory
+CBN$Goosht_per_Calory<- CBN$Gooshtgram *2.5/CBN$EqSizeCalory
+CBN$Morgh_per_Calory<- CBN$Morghgram *2/CBN$EqSizeCalory
+CBN$Mahi_per_Calory<- CBN$Mahigram *1/CBN$EqSizeCalory
+CBN$Shir_per_Calory<- CBN$Shirgram *2.5/CBN$EqSizeCalory
+CBN$Mast_per_Calory<- CBN$Mastgram *1.5/CBN$EqSizeCalory
+CBN$Panir_per_Calory<- CBN$Mastgram *2.5/CBN$EqSizeCalory
+CBN$Tokhmemorgh_per_Calory<- CBN$Tokhmemorghgram *1.4/CBN$EqSizeCalory
+CBN$Mive_per_Calory<- CBN$Mivegram *0.5/CBN$EqSizeCalory
+CBN$Sabzi_per_Calory<- CBN$Sabzigram *0.5/CBN$EqSizeCalory
+CBN$Makarooni_per_Calory<- CBN$Makaroonigram *3.6/CBN$EqSizeCalory
+CBN$Sibzamini_per_Calory<- CBN$Sibzaminigram *0.9/CBN$EqSizeCalory
+
+
+#Assume that deciles 1 and 2 are poor
+CBN[,Poor:=ifelse(Decile %in% 1:2,1,0)]
+CBNPoor<-CBN[Poor==1]
+
+#K-means weights
+PriceWeights<-CBN[,.(HHID,Ghand_W,Hoboobat_W,Roghan_W,Berenj_W,Nan_W,Goosht_W,Morgh_W,Mahi_W,Shir_W,Mast_W,Panir_W,Tokhmemorgh_W,Mive_W,Sabzi_W,Makarooni_W,Sibzamini_W,Home_W,ProvinceCode,Weight)]
+dt3 <- PriceWeights[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+dt3<- dt3[order(ProvinceCode)]
+dt3 <- dt3[,.(Ghand_W,Hoboobat_W,Roghan_W,Berenj_W,Nan_W,Goosht_W,Morgh_W,Mahi_W,Shir_W,Mast_W,Panir_W,Tokhmemorgh_W,Mive_W,Sabzi_W,Makarooni_W,Sibzamini_W,Home_W)]
+
+
+#K-means algorithm for clustering by prices
+test<-CBNPoor[,.(GhandPrice,HoboobatPrice,RoghanPrice,BerenjPrice,NanPrice,GooshtPrice,MorghPrice,MahiPrice,ShirPrice,MastPrice,PanirPrice,TokhmemorghPrice,MivePrice,SabziPrice,MakarooniPrice,SibzaminiPrice,MetrPrice,ProvinceCode,Weight)]
+#test<-CBNPoor[,.(GhandPrice,HoboobatPrice,RoghanPrice,BerenjPrice,NanPrice,GooshtPrice,MorghPrice,MahiPrice,ShirPrice,MastPrice,PanirPrice,TokhmemorghPrice,MivePrice,SabziPrice,MakarooniPrice,SibzaminiPrice,MetrPrice,Ghand_W,Hoboobat_W,Roghan_W,Berenj_W,Nan_W,Goosht_W,Morgh_W,Mahi_W,Shir_W,Mast_W,Panir_W,Tokhmemorgh_W,Mive_W,Sabzi_W,Makarooni_W,Sibzamini_W,Home_W,Region,ProvinceCode,Weight)]
+dt2 <- test[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+dt2<- dt2[order(ProvinceCode)]
+for (col in c("MahiPrice")) dt2[is.nan(get(col)), (col) := 200000]
+dt <- dt2 [,.(GhandPrice,HoboobatPrice,RoghanPrice,BerenjPrice,NanPrice,GooshtPrice,MorghPrice,MahiPrice,ShirPrice,MastPrice,PanirPrice,TokhmemorghPrice,MivePrice,SabziPrice,MakarooniPrice,SibzaminiPrice,MetrPrice)]
+
+
+pca <- princomp(dt, cor=T)
+PRICE <- pca$scores
+PRICE1 <- -1*PRICE[,1]
+PRICE2 <- -1*PRICE[,2]
+PRICE3 <- -1*PRICE[,3]
+PRICE4 <- -1*PRICE[,4]
+PRICE5 <- -1*PRICE[,5]
+PRICE6 <- -1*PRICE[,6]
+PRICE7 <- -1*PRICE[,7]
+PRICE8 <- -1*PRICE[,8]
+PRICE9 <- -1*PRICE[,9]
+PRICE10 <- -1*PRICE[,10]
+PRICE11 <- -1*PRICE[,11]
+PRICE12 <- -1*PRICE[,12]
+PRICE13 <- -1*PRICE[,13]
+PRICE14 <- -1*PRICE[,14]
+PRICE15 <- -1*PRICE[,15]
+PRICE16 <- -1*PRICE[,16]
+PRICE17 <- -1*PRICE[,17]
+
+# Deciding how many clusters
+wss <- (nrow(dt)-1)*sum(apply(dt,2,var))
+for (i in 2:30) wss[i] <- sum(kmeans(dt, centers=i)$withinss)
+plot(1:30, wss, type="b", xlab="Number of Clusters",
+ ylab="Within groups sum of squares")
+
+#Weighted clustering
+
+dt3.m <- dt3[,lapply(.SD, mean)] # Weights for each vector
+dtW <- dt * sqrt(dt3.m[rep(1,nrow(dt))]) # Weighted observations
+kmeans(dtW,4) # Simple K-means
+
+cl <- kmeans(dtW,4)
+cl$cluster
+dt2 <- dt2[,cluster:=data.table(cl$cluster)]
+dt2<-dt2[,.(ProvinceCode,cluster)]
+load(file="dt4Urban.rda")
+#plot(PRICE1, PRICE2,col=cl$cluster)
+#points(cl$centers, pch=20)
+CBNPoor<-merge(CBNPoor,dt2,by=c("ProvinceCode"),all.x = TRUE)
+CBNPoor[,sum(Weight*Size),by=cluster]
+CBNPoor[,sum(Weight),by=cluster]
+CBNPoor[,sum(Poor),by=cluster]
+C2<-CBNPoor[,.(HHID,ProvinceCode,Region,Decile,Poor,cluster)]
+######################################################################
+####Iteration 1#####
+###Iteration1-1
+#Calculate Per_calories in clusters
+CBNPoor[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(185:200)][]
+#utils::View(CBNPoor)
+
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(202:217)][]
+
+CBNPoor[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor<-CBNPoor[Per_Daily_Exp_Calories!=0]
+CBNPoor[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+#CBN[,weighted.mean(Poor,Weight),by=cluster][order(cluster)]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE)]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE)]
+
+#Real Prices
+T_Bundle_Value<-subset(CBNPoor, ProvinceCode==2301, select=c(Bundle_Value,Home_Per_Metr,Weight))
+Tehran_Bundle_Value1<-weighted.mean(T_Bundle_Value$Bundle_Value,T_Bundle_Value$Weight,na.rm = TRUE)
+Tehran_Bundle_Value2<-weighted.mean(T_Bundle_Value$Home_Per_Metr,T_Bundle_Value$Weight,na.rm = TRUE)
+CBNPoor[,RealPriceIndex1:=weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/Tehran_Bundle_Value1,by=ProvinceCode]
+CBNPoor[,RealPriceIndex2:=weighted.mean(Home_Per_Metr,Weight,na.rm = TRUE)/Tehran_Bundle_Value2,by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex1,Weight),by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex2,Weight),by=ProvinceCode]
+Indexes2<-CBNPoor[,.(RealPriceIndex1,RealPriceIndex2,ProvinceCode,Weight)]
+Indexes2<-Indexes2[,RealPriceIndex:=(RealPriceIndex1+RealPriceIndex2)/2]
+Indexes<-Indexes2[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+Indexes31<-Indexes[,.(ProvinceCode,RealPriceIndex1,RealPriceIndex2,RealPriceIndex)]
+Indexes<-Indexes[,.(ProvinceCode,RealPriceIndex)]
+CBN<-merge(CBN,Indexes,by=c("ProvinceCode"),all.x = TRUE)
+CBN<-CBN[,Total_Food_Month_Per2:=FoodExpenditure_Per*RealPriceIndex]
+CBN<-CBN[,Total_Exp_Month_Per2:=Total_Exp_Month_Per_nondurable*RealPriceIndex]
+#utils::View(CBN)
+
+#Sort Expenditure data
+CBN<- CBN[order(Total_Exp_Month_Per2)]
+
+#Calculate cumulative weights
+sum(CBN$Weight)
+CBN$cumweight <- cumsum(CBN$Weight)
+tx <- max(CBN$cumweight)
+
+#Calculate deciles by weights
+CBN[,Decile:=cut(cumweight,breaks = seq(0,tx,tx/10),labels = 1:10)]
+CBN[,Percentile:=cut(cumweight,breaks=seq(0,tx,tx/100),labels=1:100)]
+
+#Update Poors
+CBN[,Poor:=ifelse(Decile %in% 1:2,1,0)]
+CBNPoor<-CBN[Poor==1]
+CBNPoor<-merge(CBNPoor,dt2,by=c("ProvinceCode"),all.x = TRUE)
+CBNPoor[,sum(Size*Weight),by=.(cluster)][order(cluster)]
+
+###Iteration1-2
+#Calculate Per_calories in clusters
+CBNPoor[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(185:200)][]
+#utils::View(CBNPoor)
+
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(202:217)][]
+
+CBNPoor[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor<-CBNPoor[Per_Daily_Exp_Calories!=0]
+CBNPoor[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+#CBN[,weighted.mean(Poor,Weight),by=cluster][order(cluster)]
+
+#Real Prices
+T_Bundle_Value<-subset(CBNPoor, ProvinceCode==2301, select=c(Bundle_Value,Home_Per_Metr,Weight))
+Tehran_Bundle_Value1<-weighted.mean(T_Bundle_Value$Bundle_Value,T_Bundle_Value$Weight,na.rm = TRUE)
+Tehran_Bundle_Value2<-weighted.mean(T_Bundle_Value$Home_Per_Metr,T_Bundle_Value$Weight,na.rm = TRUE)
+CBNPoor[,RealPriceIndex1:=weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/Tehran_Bundle_Value1,by=ProvinceCode]
+CBNPoor[,RealPriceIndex2:=weighted.mean(Home_Per_Metr,Weight,na.rm = TRUE)/Tehran_Bundle_Value2,by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex1,Weight),by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex2,Weight),by=ProvinceCode]
+Indexes2<-CBNPoor[,.(RealPriceIndex1,RealPriceIndex2,ProvinceCode,Weight)]
+Indexes2<-Indexes2[,RealPriceIndex:=(RealPriceIndex1+RealPriceIndex2)/2]
+Indexes<-Indexes2[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+Indexes32<-Indexes[,.(ProvinceCode,RealPriceIndex1,RealPriceIndex2,RealPriceIndex)]
+Indexes<-Indexes[,.(ProvinceCode,RealPriceIndex)]
+CBN[,RealPriceIndex:=NULL]
+CBN<-merge(CBN,Indexes,by=c("ProvinceCode"),all.x = TRUE)
+CBN<-CBN[,Total_Food_Month_Per2:=FoodExpenditure_Per*RealPriceIndex]
+CBN<-CBN[,Total_Exp_Month_Per2:=Total_Exp_Month_Per_nondurable*RealPriceIndex]
+#utils::View(CBN)
+
+#Sort Expenditure data
+CBN<- CBN[order(Total_Exp_Month_Per2)]
+
+#Calculate cumulative weights
+sum(CBN$Weight)
+CBN$cumweight <- cumsum(CBN$Weight)
+tx <- max(CBN$cumweight)
+
+#Calculate deciles by weights
+CBN[,Decile:=cut(cumweight,breaks = seq(0,tx,tx/10),labels = 1:10)]
+CBN[,Percentile:=cut(cumweight,breaks=seq(0,tx,tx/100),labels=1:100)]
+
+#Update Poors
+CBN[,Poor:=ifelse(Decile %in% 2:5,1,0)]
+CBNPoor<-CBN[Poor==1]
+CBNPoor<-merge(CBNPoor,dt2,by=c("ProvinceCode"),all.x = TRUE)
+CBNPoor[,sum(HIndivNo),by=.(ProvinceCode)][order(ProvinceCode)]
+
+###Iteration1-3
+#Calculate Per_calories in clusters
+CBNPoor[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(185:200)][]
+#utils::View(CBNPoor)
+
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(202:217)][]
+
+CBNPoor[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor<-CBNPoor[Per_Daily_Exp_Calories!=0]
+CBNPoor[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+#CBN[,weighted.mean(Poor,Weight),by=cluster][order(cluster)]
+
+#Real Prices
+T_Bundle_Value<-subset(CBNPoor, ProvinceCode==2301, select=c(Bundle_Value,Home_Per_Metr,Weight))
+Tehran_Bundle_Value1<-weighted.mean(T_Bundle_Value$Bundle_Value,T_Bundle_Value$Weight,na.rm = TRUE)
+Tehran_Bundle_Value2<-weighted.mean(T_Bundle_Value$Home_Per_Metr,T_Bundle_Value$Weight,na.rm = TRUE)
+CBNPoor[,RealPriceIndex1:=weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/Tehran_Bundle_Value1,by=ProvinceCode]
+CBNPoor[,RealPriceIndex2:=weighted.mean(Home_Per_Metr,Weight,na.rm = TRUE)/Tehran_Bundle_Value2,by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex1,Weight),by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex2,Weight),by=ProvinceCode]
+Indexes2<-CBNPoor[,.(RealPriceIndex1,RealPriceIndex2,ProvinceCode,Weight)]
+Indexes2<-Indexes2[,RealPriceIndex:=(RealPriceIndex1+RealPriceIndex2)/2]
+Indexes<-Indexes2[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+Indexes33<-Indexes[,.(ProvinceCode,RealPriceIndex1,RealPriceIndex2,RealPriceIndex)]
+Indexes<-Indexes[,.(ProvinceCode,RealPriceIndex)]
+CBN[,RealPriceIndex:=NULL]
+CBN<-merge(CBN,Indexes,by=c("ProvinceCode"),all.x = TRUE)
+CBN<-CBN[,Total_Food_Month_Per2:=FoodExpenditure_Per*RealPriceIndex]
+CBN<-CBN[,Total_Exp_Month_Per2:=Total_Exp_Month_Per_nondurable*RealPriceIndex]
+#utils::View(CBN)
+
+#Sort Expenditure data
+CBN<- CBN[order(Total_Exp_Month_Per2)]
+
+#Calculate cumulative weights
+sum(CBN$Weight)
+CBN$cumweight <- cumsum(CBN$Weight)
+tx <- max(CBN$cumweight)
+
+#Calculate deciles by weights
+CBN[,Decile:=cut(cumweight,breaks = seq(0,tx,tx/10),labels = 1:10)]
+CBN[,Percentile:=cut(cumweight,breaks=seq(0,tx,tx/100),labels=1:100)]
+
+#Update Poors
+CBN[,Poor:=ifelse(Decile %in% 2:5,1,0)]
+CBNPoor<-CBN[Poor==1]
+CBNPoor<-merge(CBNPoor,dt2,by=c("ProvinceCode"),all.x = TRUE)
+CBNPoor[,sum(HIndivNo),by=.(ProvinceCode)][order(ProvinceCode)]
+
+
+###Iteration1-4
+#Calculate Per_calories in clusters
+CBNPoor[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(185:200)][]
+#utils::View(CBNPoor)
+
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(202:217)][]
+
+CBNPoor[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor<-CBNPoor[Per_Daily_Exp_Calories!=0]
+CBNPoor[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+#CBN[,weighted.mean(Poor,Weight),by=cluster][order(cluster)]
+
+#Real Prices
+T_Bundle_Value<-subset(CBNPoor, ProvinceCode==2301, select=c(Bundle_Value,Home_Per_Metr,Weight))
+Tehran_Bundle_Value1<-weighted.mean(T_Bundle_Value$Bundle_Value,T_Bundle_Value$Weight,na.rm = TRUE)
+Tehran_Bundle_Value2<-weighted.mean(T_Bundle_Value$Home_Per_Metr,T_Bundle_Value$Weight,na.rm = TRUE)
+CBNPoor[,RealPriceIndex1:=weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/Tehran_Bundle_Value1,by=ProvinceCode]
+CBNPoor[,RealPriceIndex2:=weighted.mean(Home_Per_Metr,Weight,na.rm = TRUE)/Tehran_Bundle_Value2,by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex1,Weight),by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex2,Weight),by=ProvinceCode]
+Indexes2<-CBNPoor[,.(RealPriceIndex1,RealPriceIndex2,ProvinceCode,Weight)]
+Indexes2<-Indexes2[,RealPriceIndex:=(RealPriceIndex1+RealPriceIndex2)/2]
+Indexes<-Indexes2[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+Indexes34<-Indexes[,.(ProvinceCode,RealPriceIndex1,RealPriceIndex2,RealPriceIndex)]
+Indexes<-Indexes[,.(ProvinceCode,RealPriceIndex)]
+CBN[,RealPriceIndex:=NULL]
+CBN<-merge(CBN,Indexes,by=c("ProvinceCode"),all.x = TRUE)
+CBN<-CBN[,Total_Food_Month_Per2:=FoodExpenditure_Per*RealPriceIndex]
+CBN<-CBN[,Total_Exp_Month_Per2:=Total_Exp_Month_Per_nondurable*RealPriceIndex]
+#utils::View(CBN)
+
+
+#Sort Expenditure data
+CBN<- CBN[order(Total_Exp_Month_Per2)]
+
+#Calculate cumulative weights
+sum(CBN$Weight)
+CBN$cumweight <- cumsum(CBN$Weight)
+tx <- max(CBN$cumweight)
+
+#Calculate deciles by weights
+CBN[,Decile:=cut(cumweight,breaks = seq(0,tx,tx/10),labels = 1:10)]
+CBN[,Percentile:=cut(cumweight,breaks=seq(0,tx,tx/100),labels=1:100)]
+
+#Update Poors
+CBN[,Poor:=ifelse(Decile %in% 2:5,1,0)]
+CBNPoor<-CBN[Poor==1]
+CBNPoor<-merge(CBNPoor,dt2,by=c("ProvinceCode"),all.x = TRUE)
+CBNPoor[,sum(HIndivNo),by=.(ProvinceCode)][order(ProvinceCode)]
+
+###Iteration1-5
+#Calculate Per_calories in clusters
+CBNPoor[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(185:200)][]
+#utils::View(CBNPoor)
+
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(202:217)][]
+
+CBNPoor[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor<-CBNPoor[Per_Daily_Exp_Calories!=0]
+CBNPoor[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+#CBN[,weighted.mean(Poor,Weight),by=cluster][order(cluster)]
+
+#Real Prices
+T_Bundle_Value<-subset(CBNPoor, ProvinceCode==2301, select=c(Bundle_Value,Home_Per_Metr,Weight))
+Tehran_Bundle_Value1<-weighted.mean(T_Bundle_Value$Bundle_Value,T_Bundle_Value$Weight,na.rm = TRUE)
+Tehran_Bundle_Value2<-weighted.mean(T_Bundle_Value$Home_Per_Metr,T_Bundle_Value$Weight,na.rm = TRUE)
+CBNPoor[,RealPriceIndex1:=weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/Tehran_Bundle_Value1,by=ProvinceCode]
+CBNPoor[,RealPriceIndex2:=weighted.mean(Home_Per_Metr,Weight,na.rm = TRUE)/Tehran_Bundle_Value2,by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex1,Weight),by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex2,Weight),by=ProvinceCode]
+Indexes2<-CBNPoor[,.(RealPriceIndex1,RealPriceIndex2,ProvinceCode,Weight)]
+Indexes2<-Indexes2[,RealPriceIndex:=(RealPriceIndex1+RealPriceIndex2)/2]
+Indexes<-Indexes2[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+Indexes35<-Indexes[,.(ProvinceCode,RealPriceIndex1,RealPriceIndex2,RealPriceIndex)]
+Indexes<-Indexes[,.(ProvinceCode,RealPriceIndex)]
+CBN[,RealPriceIndex:=NULL]
+CBN<-merge(CBN,Indexes,by=c("ProvinceCode"),all.x = TRUE)
+CBN<-CBN[,Total_Food_Month_Per2:=FoodExpenditure_Per*RealPriceIndex]
+CBN<-CBN[,Total_Exp_Month_Per2:=Total_Exp_Month_Per_nondurable*RealPriceIndex]
+#utils::View(CBN)
+
+
+#Sort Expenditure data
+CBN<- CBN[order(Total_Exp_Month_Per2)]
+
+#Calculate cumulative weights
+sum(CBN$Weight)
+CBN$cumweight <- cumsum(CBN$Weight)
+tx <- max(CBN$cumweight)
+
+#Calculate deciles by weights
+CBN[,Decile:=cut(cumweight,breaks = seq(0,tx,tx/10),labels = 1:10)]
+CBN[,Percentile:=cut(cumweight,breaks=seq(0,tx,tx/100),labels=1:100)]
+
+#Update Poors
+CBN[,Poor:=ifelse(Decile %in% 2:5,1,0)]
+CBNPoor<-CBN[Poor==1]
+CBNPoor<-merge(CBNPoor,dt2,by=c("ProvinceCode"),all.x = TRUE)
+CBNPoor[,sum(HIndivNo),by=.(ProvinceCode)][order(ProvinceCode)]
+
+###Iteration1-6
+#Calculate Per_calories in clusters
+CBNPoor[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(185:200)][]
+#utils::View(CBNPoor)
+
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(202:217)][]
+
+CBNPoor[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor<-CBNPoor[Per_Daily_Exp_Calories!=0]
+CBNPoor[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+#CBN[,weighted.mean(Poor,Weight),by=cluster][order(cluster)]
+
+#Real Prices
+T_Bundle_Value<-subset(CBNPoor, ProvinceCode==2301, select=c(Bundle_Value,Home_Per_Metr,Weight))
+Tehran_Bundle_Value1<-weighted.mean(T_Bundle_Value$Bundle_Value,T_Bundle_Value$Weight,na.rm = TRUE)
+Tehran_Bundle_Value2<-weighted.mean(T_Bundle_Value$Home_Per_Metr,T_Bundle_Value$Weight,na.rm = TRUE)
+CBNPoor[,RealPriceIndex1:=weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/Tehran_Bundle_Value1,by=ProvinceCode]
+CBNPoor[,RealPriceIndex2:=weighted.mean(Home_Per_Metr,Weight,na.rm = TRUE)/Tehran_Bundle_Value2,by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex1,Weight),by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex2,Weight),by=ProvinceCode]
+Indexes2<-CBNPoor[,.(RealPriceIndex1,RealPriceIndex2,ProvinceCode,Weight)]
+Indexes2<-Indexes2[,RealPriceIndex:=(RealPriceIndex1+RealPriceIndex2)/2]
+Indexes<-Indexes2[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+Indexes36<-Indexes[,.(ProvinceCode,RealPriceIndex1,RealPriceIndex2,RealPriceIndex)]
+Indexes<-Indexes[,.(ProvinceCode,RealPriceIndex)]
+CBN[,RealPriceIndex:=NULL]
+CBN<-merge(CBN,Indexes,by=c("ProvinceCode"),all.x = TRUE)
+CBN<-CBN[,Total_Food_Month_Per2:=FoodExpenditure_Per*RealPriceIndex]
+CBN<-CBN[,Total_Exp_Month_Per2:=Total_Exp_Month_Per_nondurable*RealPriceIndex]
+#utils::View(CBN)
+
+
+#Sort Expenditure data
+CBN<- CBN[order(Total_Exp_Month_Per2)]
+
+#Calculate cumulative weights
+sum(CBN$Weight)
+CBN$cumweight <- cumsum(CBN$Weight)
+tx <- max(CBN$cumweight)
+
+#Calculate deciles by weights
+CBN[,Decile:=cut(cumweight,breaks = seq(0,tx,tx/10),labels = 1:10)]
+CBN[,Percentile:=cut(cumweight,breaks=seq(0,tx,tx/100),labels=1:100)]
+
+#Update Poors
+CBN[,Poor:=ifelse(Decile %in% 2:5,1,0)]
+CBNPoor<-CBN[Poor==1]
+CBNPoor<-merge(CBNPoor,dt2,by=c("ProvinceCode"),all.x = TRUE)
+CBNPoor[,sum(HIndivNo),by=.(ProvinceCode)][order(ProvinceCode)]
+
+###Iteration1-7
+#Calculate Per_calories in clusters
+CBNPoor[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(185:200)][]
+#utils::View(CBNPoor)
+
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(202:217)][]
+
+CBNPoor[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor<-CBNPoor[Per_Daily_Exp_Calories!=0]
+CBNPoor[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+#CBN[,weighted.mean(Poor,Weight),by=cluster][order(cluster)]
+
+#Real Prices
+T_Bundle_Value<-subset(CBNPoor, ProvinceCode==2301, select=c(Bundle_Value,Home_Per_Metr,Weight))
+Tehran_Bundle_Value1<-weighted.mean(T_Bundle_Value$Bundle_Value,T_Bundle_Value$Weight,na.rm = TRUE)
+Tehran_Bundle_Value2<-weighted.mean(T_Bundle_Value$Home_Per_Metr,T_Bundle_Value$Weight,na.rm = TRUE)
+CBNPoor[,RealPriceIndex1:=weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/Tehran_Bundle_Value1,by=ProvinceCode]
+CBNPoor[,RealPriceIndex2:=weighted.mean(Home_Per_Metr,Weight,na.rm = TRUE)/Tehran_Bundle_Value2,by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex1,Weight),by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex2,Weight),by=ProvinceCode]
+Indexes2<-CBNPoor[,.(RealPriceIndex1,RealPriceIndex2,ProvinceCode,Weight)]
+Indexes2<-Indexes2[,RealPriceIndex:=(RealPriceIndex1+RealPriceIndex2)/2]
+Indexes<-Indexes2[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+Indexes37<-Indexes[,.(ProvinceCode,RealPriceIndex1,RealPriceIndex2,RealPriceIndex)]
+Indexes<-Indexes[,.(ProvinceCode,RealPriceIndex)]
+CBN[,RealPriceIndex:=NULL]
+CBN<-merge(CBN,Indexes,by=c("ProvinceCode"),all.x = TRUE)
+CBN<-CBN[,Total_Food_Month_Per2:=FoodExpenditure_Per*RealPriceIndex]
+CBN<-CBN[,Total_Exp_Month_Per2:=Total_Exp_Month_Per_nondurable*RealPriceIndex]
+#utils::View(CBN)
+
+
+#Sort Expenditure data
+CBN<- CBN[order(Total_Exp_Month_Per2)]
+
+#Calculate cumulative weights
+sum(CBN$Weight)
+CBN$cumweight <- cumsum(CBN$Weight)
+tx <- max(CBN$cumweight)
+
+#Calculate deciles by weights
+CBN[,Decile:=cut(cumweight,breaks = seq(0,tx,tx/10),labels = 1:10)]
+CBN[,Percentile:=cut(cumweight,breaks=seq(0,tx,tx/100),labels=1:100)]
+
+#Update Poors
+CBN[,Poor:=ifelse(Decile %in% 2:5,1,0)]
+CBNPoor<-CBN[Poor==1]
+CBNPoor<-merge(CBNPoor,dt2,by=c("ProvinceCode"),all.x = TRUE)
+CBNPoor[,sum(HIndivNo),by=.(ProvinceCode)][order(ProvinceCode)]
+
+###Iteration1-8
+#Calculate Per_calories in clusters
+CBNPoor[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(185:200)][]
+#utils::View(CBNPoor)
+
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(202:217)][]
+
+CBNPoor[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor<-CBNPoor[Per_Daily_Exp_Calories!=0]
+CBNPoor[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+#CBN[,weighted.mean(Poor,Weight),by=cluster][order(cluster)]
+
+#Real Prices
+T_Bundle_Value<-subset(CBNPoor, ProvinceCode==2301, select=c(Bundle_Value,Home_Per_Metr,Weight))
+Tehran_Bundle_Value1<-weighted.mean(T_Bundle_Value$Bundle_Value,T_Bundle_Value$Weight,na.rm = TRUE)
+Tehran_Bundle_Value2<-weighted.mean(T_Bundle_Value$Home_Per_Metr,T_Bundle_Value$Weight,na.rm = TRUE)
+CBNPoor[,RealPriceIndex1:=weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/Tehran_Bundle_Value1,by=ProvinceCode]
+CBNPoor[,RealPriceIndex2:=weighted.mean(Home_Per_Metr,Weight,na.rm = TRUE)/Tehran_Bundle_Value2,by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex1,Weight),by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex2,Weight),by=ProvinceCode]
+Indexes2<-CBNPoor[,.(RealPriceIndex1,RealPriceIndex2,ProvinceCode,Weight)]
+Indexes2<-Indexes2[,RealPriceIndex:=(RealPriceIndex1+RealPriceIndex2)/2]
+Indexes<-Indexes2[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+Indexes38<-Indexes[,.(ProvinceCode,RealPriceIndex1,RealPriceIndex2,RealPriceIndex)]
+Indexes<-Indexes[,.(ProvinceCode,RealPriceIndex)]
+CBN[,RealPriceIndex:=NULL]
+CBN<-merge(CBN,Indexes,by=c("ProvinceCode"),all.x = TRUE)
+CBN<-CBN[,Total_Food_Month_Per2:=FoodExpenditure_Per*RealPriceIndex]
+CBN<-CBN[,Total_Exp_Month_Per2:=Total_Exp_Month_Per_nondurable*RealPriceIndex]
+#utils::View(CBN)
+
+
+#Sort Expenditure data
+CBN<- CBN[order(Total_Exp_Month_Per2)]
+
+#Calculate cumulative weights
+sum(CBN$Weight)
+CBN$cumweight <- cumsum(CBN$Weight)
+tx <- max(CBN$cumweight)
+
+#Calculate deciles by weights
+CBN[,Decile:=cut(cumweight,breaks = seq(0,tx,tx/10),labels = 1:10)]
+CBN[,Percentile:=cut(cumweight,breaks=seq(0,tx,tx/100),labels=1:100)]
+
+#Update Poors
+CBN[,Poor:=ifelse(Decile %in% 2:5,1,0)]
+CBNPoor<-CBN[Poor==1]
+CBNPoor<-merge(CBNPoor,dt2,by=c("ProvinceCode"),all.x = TRUE)
+CBNPoor[,sum(HIndivNo),by=.(ProvinceCode)][order(ProvinceCode)]
+
+###Iteration1-9
+#Calculate Per_calories in clusters
+CBNPoor[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(185:200)][]
+#utils::View(CBNPoor)
+
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(202:217)][]
+
+CBNPoor[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor<-CBNPoor[Per_Daily_Exp_Calories!=0]
+CBNPoor[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+#CBN[,weighted.mean(Poor,Weight),by=cluster][order(cluster)]
+
+#Real Prices
+T_Bundle_Value<-subset(CBNPoor, ProvinceCode==2301, select=c(Bundle_Value,Home_Per_Metr,Weight))
+Tehran_Bundle_Value1<-weighted.mean(T_Bundle_Value$Bundle_Value,T_Bundle_Value$Weight,na.rm = TRUE)
+Tehran_Bundle_Value2<-weighted.mean(T_Bundle_Value$Home_Per_Metr,T_Bundle_Value$Weight,na.rm = TRUE)
+CBNPoor[,RealPriceIndex1:=weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/Tehran_Bundle_Value1,by=ProvinceCode]
+CBNPoor[,RealPriceIndex2:=weighted.mean(Home_Per_Metr,Weight,na.rm = TRUE)/Tehran_Bundle_Value2,by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex1,Weight),by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex2,Weight),by=ProvinceCode]
+Indexes2<-CBNPoor[,.(RealPriceIndex1,RealPriceIndex2,ProvinceCode,Weight)]
+Indexes2<-Indexes2[,RealPriceIndex:=(RealPriceIndex1+RealPriceIndex2)/2]
+Indexes<-Indexes2[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+Indexes39<-Indexes[,.(ProvinceCode,RealPriceIndex1,RealPriceIndex2,RealPriceIndex)]
+Indexes<-Indexes[,.(ProvinceCode,RealPriceIndex)]
+CBN[,RealPriceIndex:=NULL]
+CBN<-merge(CBN,Indexes,by=c("ProvinceCode"),all.x = TRUE)
+CBN<-CBN[,Total_Food_Month_Per2:=FoodExpenditure_Per*RealPriceIndex]
+CBN<-CBN[,Total_Exp_Month_Per2:=Total_Exp_Month_Per_nondurable*RealPriceIndex]
+#utils::View(CBN)
+
+
+#Sort Expenditure data
+CBN<- CBN[order(Total_Exp_Month_Per2)]
+
+#Calculate cumulative weights
+sum(CBN$Weight)
+CBN$cumweight <- cumsum(CBN$Weight)
+tx <- max(CBN$cumweight)
+
+#Calculate deciles by weights
+CBN[,Decile:=cut(cumweight,breaks = seq(0,tx,tx/10),labels = 1:10)]
+CBN[,Percentile:=cut(cumweight,breaks=seq(0,tx,tx/100),labels=1:100)]
+
+#Update Poors
+CBN[,Poor:=ifelse(Decile %in% 2:5,1,0)]
+CBNPoor<-CBN[Poor==1]
+CBNPoor<-merge(CBNPoor,dt2,by=c("ProvinceCode"),all.x = TRUE)
+CBNPoor[,sum(HIndivNo),by=.(ProvinceCode)][order(ProvinceCode)]
+
+###Iteration1-10
+#Calculate Per_calories in clusters
+CBNPoor[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(185:200)][]
+#utils::View(CBNPoor)
+
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(202:217)][]
+
+CBNPoor[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor<-CBNPoor[Per_Daily_Exp_Calories!=0]
+CBNPoor[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+#CBN[,weighted.mean(Poor,Weight),by=cluster][order(cluster)]
+
+#Real Prices
+T_Bundle_Value<-subset(CBNPoor, ProvinceCode==2301, select=c(Bundle_Value,Home_Per_Metr,Weight))
+Tehran_Bundle_Value1<-weighted.mean(T_Bundle_Value$Bundle_Value,T_Bundle_Value$Weight,na.rm = TRUE)
+Tehran_Bundle_Value2<-weighted.mean(T_Bundle_Value$Home_Per_Metr,T_Bundle_Value$Weight,na.rm = TRUE)
+CBNPoor[,RealPriceIndex1:=weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/Tehran_Bundle_Value1,by=ProvinceCode]
+CBNPoor[,RealPriceIndex2:=weighted.mean(Home_Per_Metr,Weight,na.rm = TRUE)/Tehran_Bundle_Value2,by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex1,Weight),by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex2,Weight),by=ProvinceCode]
+Indexes2<-CBNPoor[,.(RealPriceIndex1,RealPriceIndex2,ProvinceCode,Weight)]
+Indexes2<-Indexes2[,RealPriceIndex:=(RealPriceIndex1+RealPriceIndex2)/2]
+Indexes<-Indexes2[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+Indexes310<-Indexes[,.(ProvinceCode,RealPriceIndex1,RealPriceIndex2,RealPriceIndex)]
+Indexes<-Indexes[,.(ProvinceCode,RealPriceIndex)]
+CBN[,RealPriceIndex:=NULL]
+CBN<-merge(CBN,Indexes,by=c("ProvinceCode"),all.x = TRUE)
+CBN<-CBN[,Total_Food_Month_Per2:=FoodExpenditure_Per*RealPriceIndex]
+CBN<-CBN[,Total_Exp_Month_Per2:=Total_Exp_Month_Per_nondurable*RealPriceIndex]
+#utils::View(CBN)
+
+
+#Sort Expenditure data
+CBN<- CBN[order(Total_Exp_Month_Per2)]
+
+#Calculate cumulative weights
+sum(CBN$Weight)
+CBN$cumweight <- cumsum(CBN$Weight)
+tx <- max(CBN$cumweight)
+
+#Calculate deciles by weights
+CBN[,Decile:=cut(cumweight,breaks = seq(0,tx,tx/10),labels = 1:10)]
+CBN[,Percentile:=cut(cumweight,breaks=seq(0,tx,tx/100),labels=1:100)]
+
+#Update Poors
+CBN[,Poor:=ifelse(Decile %in% 2:5,1,0)]
+CBNPoor<-CBN[Poor==1]
+CBNPoor<-merge(CBNPoor,dt2,by=c("ProvinceCode"),all.x = TRUE)
+CBNPoor[,sum(HIndivNo),by=.(cluster)][order(cluster)]
+
+
+#Calculate Per_calories in clusters
+CBNPoor[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(189:204)][]
+#utils::View(CBNPoor)
+
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(206:221)][]
+
+CBNPoor[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor<-CBNPoor[Per_Daily_Exp_Calories!=0]
+CBNPoor[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNCalory<-CBNPoor[,.(Per_Daily_Calories,Per_Daily_Exp_Calories,Per_Calory_Resturant,Resturant_Exp,cluster,ProvinceCode)]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+
+
+#Calculations
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_day,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,sum(Size*Weight),by=cluster][order(cluster)]
+
+
+#Food Poverty Line for each cluster
+#cluster 1
+CBNPoorCluster<-CBNPoor[cluster==1]
+Food_Povertyline1_1<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 2
+CBNPoorCluster<-CBNPoor[cluster==2]
+Food_Povertyline2_1<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 3
+CBNPoorCluster<-CBNPoor[cluster==3]
+Food_Povertyline3_1<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 4
+CBNPoorCluster<-CBNPoor[cluster==4]
+Food_Povertyline4_1<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+
+#ee<-CBNPoor[,.(Total_Exp_Month_Real,Total_Exp_Month,Total_Food_Month_Per2,Total_Exp_Month_Per_nondurable,Total_Exp_Month_nondurable_Real_Per,FoodExpenditure_Per,cluster)]
+#mean(ee[,Total_Food_Month_Per2==Total_Exp_Month_nondurable_Real])
+#mean(ee[,Total_Food_Month_Per2<3500000])
+#ee<- ee[order(Total_Food_Month_Per2)]
+#utils::View(CBN)
+CBN<-merge(CBN,dt2,by=c("ProvinceCode"),all.x = TRUE)
+#for (col in c("Total_Food_Month_Per2")) CBN[is.na(get(col)), (col) := Total_Exp_Month_Per_nondurable]
+c<-CBN[,.(FoodExpenditure_Per,FoodExpenditure_Per_total,Total_Exp_Month_Per_nondurable,Total_Exp_Month,Total_Food_Month_Per2,Poor,Decile,Weight,cluster)]
+
+#########Iteration 2###############
+#Sort Expenditure data
+CBN<- CBN[order(Total_Food_Month_Per2)]
+c<- c[order(Total_Food_Month_Per2)]
+
+#Indicate new poors
+CBN[,Poor2:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_1 & cluster==1,1,0)]
+c[,Poor2:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_1 & cluster==1 ,1,0)]
+CBN[,Poor2:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_1 & cluster==2,1,Poor2)]
+c[,Poor2:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_1 & cluster==2 ,1,Poor2)]
+CBN[,Poor2:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_1 & cluster==3,1,Poor2)]
+c[,Poor2:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_1 & cluster==3 ,1,Poor2)]
+CBN[,Poor2:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_1 & cluster==4,1,Poor2)]
+c[,Poor2:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_1 & cluster==4 ,1,Poor2)]
+CBN[,weighted.mean(Poor2,Weight),by=cluster][order(cluster)]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2<-CBN[Poor2==1]
+
+
+#CalculatePer_calories in clusters
+CBNPoor2[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(190:205)][]
+#utils::View(CBNPoor2)
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor2[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(207:222)][]
+
+CBNPoor2[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor2[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor2[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor2[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2<-CBNPoor2[Per_Daily_Exp_Calories!=0]
+CBNPoor2[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor2[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor2[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor2[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor2[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor2[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+
+
+
+#Calculations
+CBNPoor2[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,weighted.mean(FoodExpenditure_Per_day,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+
+
+
+#Food Poverty Line for each cluster
+#cluster 1
+CBNPoorCluster<-CBNPoor2[cluster==1]
+Food_Povertyline1_2<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 2
+CBNPoorCluster<-CBNPoor2[cluster==2]
+Food_Povertyline2_2<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 3
+CBNPoorCluster<-CBNPoor2[cluster==3]
+Food_Povertyline3_2<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 4
+CBNPoorCluster<-CBNPoor2[cluster==4]
+Food_Povertyline4_2<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#ee<-CBNPoor[,.(Total_Exp_Month_Real,Total_Exp_Month,Total_Food_Month_Per2,Total_Exp_Month_Per_nondurable,Total_Exp_Month_nondurable_Real_Per,FoodExpenditure_Per,cluster)]
+#mean(ee[,Total_Food_Month_Per2==Total_Exp_Month_nondurable_Real])
+#mean(ee[,Total_Food_Month_Per2<3500000])
+#ee<- ee[order(Total_Food_Month_Per2)]
+#utils::View(CBN)
+#for (col in c("Total_Food_Month_Per2")) CBN[is.na(get(col)), (col) := Total_Exp_Month_Per_nondurable]
+c<-CBN[,.(FoodExpenditure_Per,FoodExpenditure_Per_total,Total_Exp_Month_Per_nondurable,Total_Exp_Month,Total_Food_Month_Per2,Poor,Decile,Weight,cluster)]
+
+
+#########Iteration 3###############
+#Sort Expenditure data
+CBN<- CBN[order(Total_Food_Month_Per2)]
+c<- c[order(Total_Food_Month_Per2)]
+
+#Indicate new poors
+CBN[,Poor3:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_2 & cluster==1,1,0)]
+c[,Poor3:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_2 & cluster==1 ,1,0)]
+CBN[,Poor3:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_2 & cluster==2,1,Poor3)]
+c[,Poor3:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_2 & cluster==2 ,1,Poor3)]
+CBN[,Poor3:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_2 & cluster==3,1,Poor3)]
+c[,Poor3:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_2 & cluster==3 ,1,Poor3)]
+CBN[,Poor3:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_2 & cluster==4,1,Poor3)]
+c[,Poor3:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_2 & cluster==4 ,1,Poor3)]
+CBN[,weighted.mean(Poor3,Weight),by=cluster][order(cluster)]
+CBNPoor2[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3<-CBN[Poor3==1]
+
+
+
+#CalculatePer_calories in clusters
+CBNPoor3[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(191:206)][]
+#utils::View(CBNPoor3)
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor3[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(208:223)][]
+
+
+CBNPoor3[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor3[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor3[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor3[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3<-CBNPoor3[Per_Daily_Exp_Calories!=0]
+CBNPoor3[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor3[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+
+#sum of total food expenditures
+CBNPoor3[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor3[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor3[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor3[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+
+
+#Calculations
+CBNPoor3[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,weighted.mean(FoodExpenditure_Per_day,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+
+
+
+#Food Poverty Line for each cluster
+#cluster 1
+CBNPoorCluster<-CBNPoor3[cluster==1]
+Food_Povertyline1_3<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 2
+CBNPoorCluster<-CBNPoor3[cluster==2]
+Food_Povertyline2_3<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 3
+CBNPoorCluster<-CBNPoor3[cluster==3]
+Food_Povertyline3_3<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 4
+CBNPoorCluster<-CBNPoor3[cluster==4]
+Food_Povertyline4_3<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#ee<-CBNPoor[,.(Total_Exp_Month_Real,Total_Exp_Month,Total_Food_Month_Per2,Total_Exp_Month_Per_nondurable,Total_Exp_Month_nondurable_Real_Per,FoodExpenditure_Per,cluster)]
+#mean(ee[,Total_Food_Month_Per2==Total_Exp_Month_nondurable_Real])
+#mean(ee[,Total_Food_Month_Per2<3500000])
+#ee<- ee[order(Total_Food_Month_Per2)]
+#utils::View(CBN)
+#for (col in c("Total_Food_Month_Per2")) CBN[is.na(get(col)), (col) := Total_Exp_Month_Per_nondurable]
+c<-CBN[,.(FoodExpenditure_Per,FoodExpenditure_Per_total,Total_Exp_Month_Per_nondurable,Total_Exp_Month,Total_Food_Month_Per2,Poor,Decile,Weight,cluster)]
+
+
+#########Iteration 4###############
+#Sort Expenditure data
+CBN<- CBN[order(Total_Food_Month_Per2)]
+c<- c[order(Total_Food_Month_Per2)]
+
+#Indicate new poors
+CBN[,Poor4:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_3 & cluster==1,1,0)]
+c[,Poor4:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_3 & cluster==1 ,1,0)]
+CBN[,Poor4:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_3 & cluster==2,1,Poor4)]
+c[,Poor4:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_3 & cluster==2 ,1,Poor4)]
+CBN[,Poor4:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_3 & cluster==3,1,Poor4)]
+c[,Poor4:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_3 & cluster==3 ,1,Poor4)]
+CBN[,Poor4:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_3 & cluster==4,1,Poor4)]
+c[,Poor4:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_3 & cluster==4 ,1,Poor4)]
+CBN[,weighted.mean(Poor4,Weight),by=cluster][order(cluster)]
+CBNPoor3[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4<-CBN[Poor4==1]
+
+#CalculatePer_calories in clusters
+CBNPoor4[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(191:206)][]
+#utils::View(CBNPoor4)
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor4[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(208:223)][]
+
+
+CBNPoor4[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor4[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor4[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor4[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4<-CBNPoor4[Per_Daily_Exp_Calories!=0]
+CBNPoor4[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor4[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+
+#sum of total food expenditures
+CBNPoor4[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor4[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor4[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor4[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+
+
+#Calculations
+CBNPoor4[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,weighted.mean(FoodExpenditure_Per_day,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+
+
+
+#Food Poverty Line for each cluster
+#cluster 1
+CBNPoorCluster<-CBNPoor4[cluster==1]
+Food_Povertyline1_4<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 2
+CBNPoorCluster<-CBNPoor4[cluster==2]
+Food_Povertyline2_4<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 3
+CBNPoorCluster<-CBNPoor4[cluster==3]
+Food_Povertyline3_4<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 4
+CBNPoorCluster<-CBNPoor4[cluster==4]
+Food_Povertyline4_4<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#ee<-CBNPoor[,.(Total_Exp_Month_Real,Total_Exp_Month,Total_Food_Month_Per2,Total_Exp_Month_Per_nondurable,Total_Exp_Month_nondurable_Real_Per,FoodExpenditure_Per,cluster)]
+#mean(ee[,Total_Food_Month_Per2==Total_Exp_Month_nondurable_Real])
+#mean(ee[,Total_Food_Month_Per2<3500000])
+#ee<- ee[order(Total_Food_Month_Per2)]
+#utils::View(CBN)
+#for (col in c("Total_Food_Month_Per2")) CBN[is.na(get(col)), (col) := Total_Exp_Month_Per_nondurable]
+c<-CBN[,.(FoodExpenditure_Per,FoodExpenditure_Per_total,Total_Exp_Month_Per_nondurable,Total_Exp_Month,Total_Food_Month_Per2,Poor,Decile,Weight,cluster)]
+
+
+#########Iteration 5###############
+#Sort Expenditure data
+CBN<- CBN[order(Total_Food_Month_Per2)]
+c<- c[order(Total_Food_Month_Per2)]
+
+#Indicate new poors
+CBN[,Poor5:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_4 & cluster==1,1,0)]
+c[,Poor5:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_4 & cluster==1 ,1,0)]
+CBN[,Poor5:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_4 & cluster==2,1,Poor5)]
+c[,Poor5:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_4 & cluster==2 ,1,Poor5)]
+CBN[,Poor5:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_4 & cluster==3,1,Poor5)]
+c[,Poor5:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_4 & cluster==3 ,1,Poor5)]
+CBN[,Poor5:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_4 & cluster==4,1,Poor5)]
+c[,Poor5:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_4 & cluster==4 ,1,Poor5)]
+CBN[,weighted.mean(Poor5,Weight),by=cluster][order(cluster)]
+CBNPoor4[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5<-CBN[Poor5==1]
+
+#CalculatePer_calories in clusters
+CBNPoor5[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(191:206)][]
+#utils::View(CBNPoor5)
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor5[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(208:223)][]
+
+
+CBNPoor5[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor5[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor5[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor5[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5<-CBNPoor5[Per_Daily_Exp_Calories!=0]
+CBNPoor5[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor5[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+
+#sum of total food expenditures
+CBNPoor5[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor5[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor5[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor5[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+
+
+#Calculations
+CBNPoor5[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,weighted.mean(FoodExpenditure_Per_day,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+
+
+
+#Food Poverty Line for each cluster
+#cluster 1
+CBNPoorCluster<-CBNPoor5[cluster==1]
+Food_Povertyline1_5<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 2
+CBNPoorCluster<-CBNPoor5[cluster==2]
+Food_Povertyline2_5<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 3
+CBNPoorCluster<-CBNPoor5[cluster==3]
+Food_Povertyline3_5<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 4
+CBNPoorCluster<-CBNPoor5[cluster==4]
+Food_Povertyline4_5<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#ee<-CBNPoor[,.(Total_Exp_Month_Real,Total_Exp_Month,Total_Food_Month_Per2,Total_Exp_Month_Per_nondurable,Total_Exp_Month_nondurable_Real_Per,FoodExpenditure_Per,cluster)]
+#mean(ee[,Total_Food_Month_Per2==Total_Exp_Month_nondurable_Real])
+#mean(ee[,Total_Food_Month_Per2<3500000])
+#ee<- ee[order(Total_Food_Month_Per2)]
+#utils::View(CBN)
+#for (col in c("Total_Food_Month_Per2")) CBN[is.na(get(col)), (col) := Total_Exp_Month_Per_nondurable]
+c<-CBN[,.(FoodExpenditure_Per,FoodExpenditure_Per_total,Total_Exp_Month_Per_nondurable,Total_Exp_Month,Total_Food_Month_Per2,Poor,Decile,Weight,cluster)]
+
+
+#########Iteration 6###############
+#Sort Expenditure data
+CBN<- CBN[order(Total_Food_Month_Per2)]
+c<- c[order(Total_Food_Month_Per2)]
+
+#Indicate new poors
+CBN[,Poor6:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_5 & cluster==1,1,0)]
+c[,Poor6:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_5 & cluster==1 ,1,0)]
+CBN[,Poor6:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_5 & cluster==2,1,Poor6)]
+c[,Poor6:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_5 & cluster==2 ,1,Poor6)]
+CBN[,Poor6:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_5 & cluster==3,1,Poor6)]
+c[,Poor6:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_5 & cluster==3 ,1,Poor6)]
+CBN[,Poor6:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_5 & cluster==4,1,Poor6)]
+c[,Poor6:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_5 & cluster==4 ,1,Poor6)]
+CBN[,weighted.mean(Poor6,Weight),by=cluster][order(cluster)]
+CBNPoor5[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6<-CBN[Poor6==1]
+
+#CalculatePer_calories in clusters
+CBNPoor6[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(191:206)][]
+#utils::View(CBNPoor6)
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor6[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(208:223)][]
+
+
+CBNPoor6[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor6[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor6[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor6[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6<-CBNPoor6[Per_Daily_Exp_Calories!=0]
+CBNPoor6[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor6[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+
+#sum of total food expenditures
+CBNPoor6[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor6[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor6[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor6[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+
+
+#Calculations
+CBNPoor6[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,weighted.mean(FoodExpenditure_Per_day,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+
+
+#Food Poverty Line for each cluster
+#cluster 1
+CBNPoorCluster<-CBNPoor6[cluster==1]
+Food_Povertyline1_6<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 2
+CBNPoorCluster<-CBNPoor6[cluster==2]
+Food_Povertyline2_6<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 3
+CBNPoorCluster<-CBNPoor6[cluster==3]
+Food_Povertyline3_6<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 4
+CBNPoorCluster<-CBNPoor6[cluster==4]
+Food_Povertyline4_6<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#ee<-CBNPoor[,.(Total_Exp_Month_Real,Total_Exp_Month,Total_Food_Month_Per2,Total_Exp_Month_Per_nondurable,Total_Exp_Month_nondurable_Real_Per,FoodExpenditure_Per,cluster)]
+#mean(ee[,Total_Food_Month_Per2==Total_Exp_Month_nondurable_Real])
+#mean(ee[,Total_Food_Month_Per2<3500000])
+#ee<- ee[order(Total_Food_Month_Per2)]
+#utils::View(CBN)
+#for (col in c("Total_Food_Month_Per2")) CBN[is.na(get(col)), (col) := Total_Exp_Month_Per_nondurable]
+c<-CBN[,.(FoodExpenditure_Per,FoodExpenditure_Per_total,Total_Exp_Month_Per_nondurable,Total_Exp_Month,Total_Food_Month_Per2,Poor,Decile,Weight,cluster)]
+
+
+#########Iteration 7###############
+#Sort Expenditure data
+CBN<- CBN[order(Total_Food_Month_Per2)]
+c<- c[order(Total_Food_Month_Per2)]
+
+#Indicate new poors
+CBN[,Poor7:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_6 & cluster==1,1,0)]
+c[,Poor7:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_6 & cluster==1 ,1,0)]
+CBN[,Poor7:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_6 & cluster==2,1,Poor7)]
+c[,Poor7:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_6 & cluster==2 ,1,Poor7)]
+CBN[,Poor7:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_6 & cluster==3,1,Poor7)]
+c[,Poor7:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_6 & cluster==3 ,1,Poor7)]
+CBN[,Poor7:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_6 & cluster==4,1,Poor7)]
+c[,Poor7:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_6 & cluster==4 ,1,Poor7)]
+CBN[,weighted.mean(Poor7,Weight),by=cluster][order(cluster)]
+CBNPoor6[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7<-CBN[Poor7==1]
+
+#CalculatePer_calories in clusters
+CBNPoor7[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(191:206)][]
+#utils::View(CBNPoor7)
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor7[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(208:223)][]
+
+
+CBNPoor7[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor7[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor7[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor7[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7<-CBNPoor7[Per_Daily_Exp_Calories!=0]
+CBNPoor7[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor7[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+
+#sum of total food expenditures
+CBNPoor7[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor7[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor7[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor7[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+
+
+#Calculations
+CBNPoor7[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,weighted.mean(FoodExpenditure_Per_day,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+
+
+
+#Food Poverty Line for each cluster
+#cluster 1
+CBNPoorCluster<-CBNPoor7[cluster==1]
+Food_Povertyline1_7<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 2
+CBNPoorCluster<-CBNPoor7[cluster==2]
+Food_Povertyline2_7<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 3
+CBNPoorCluster<-CBNPoor7[cluster==3]
+Food_Povertyline3_7<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 4
+CBNPoorCluster<-CBNPoor7[cluster==4]
+Food_Povertyline4_7<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#ee<-CBNPoor[,.(Total_Exp_Month_Real,Total_Exp_Month,Total_Food_Month_Per2,Total_Exp_Month_Per_nondurable,Total_Exp_Month_nondurable_Real_Per,FoodExpenditure_Per,cluster)]
+#mean(ee[,Total_Food_Month_Per2==Total_Exp_Month_nondurable_Real])
+#mean(ee[,Total_Food_Month_Per2<3500000])
+#ee<- ee[order(Total_Food_Month_Per2)]
+#utils::View(CBN)
+#for (col in c("Total_Food_Month_Per2")) CBN[is.na(get(col)), (col) := Total_Exp_Month_Per_nondurable]
+c<-CBN[,.(FoodExpenditure_Per,FoodExpenditure_Per_total,Total_Exp_Month_Per_nondurable,Total_Exp_Month,Total_Food_Month_Per2,Poor,Decile,Weight,cluster)]
+
+
+#########Iteration 8###############
+#Sort Expenditure data
+CBN<- CBN[order(Total_Food_Month_Per2)]
+c<- c[order(Total_Food_Month_Per2)]
+
+#Indicate new poors
+CBN[,Poor8:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_7 & cluster==1,1,0)]
+c[,Poor8:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_7 & cluster==1 ,1,0)]
+CBN[,Poor8:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_7 & cluster==2,1,Poor8)]
+c[,Poor8:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_7 & cluster==2 ,1,Poor8)]
+CBN[,Poor8:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_7 & cluster==3,1,Poor8)]
+c[,Poor8:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_7 & cluster==3 ,1,Poor8)]
+CBN[,Poor8:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_7 & cluster==4,1,Poor8)]
+c[,Poor8:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_7 & cluster==4 ,1,Poor8)]
+CBN[,weighted.mean(Poor8,Weight),by=cluster][order(cluster)]
+CBNPoor7[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8<-CBN[Poor8==1]
+
+
+#CalculatePer_calories in clusters
+CBNPoor8[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(191:206)][]
+#utils::View(CBNPoor8)
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor8[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(208:223)][]
+
+
+CBNPoor8[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor8[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor8[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor8[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8<-CBNPoor8[Per_Daily_Exp_Calories!=0]
+CBNPoor8[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor8[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+
+#sum of total food expenditures
+CBNPoor8[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor8[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor8[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor8[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+
+
+#Calculations
+CBNPoor8[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,weighted.mean(FoodExpenditure_Per_day,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+
+
+
+#Food Poverty Line for each cluster
+#cluster 1
+CBNPoorCluster<-CBNPoor8[cluster==1]
+Food_Povertyline1_8<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 2
+CBNPoorCluster<-CBNPoor8[cluster==2]
+Food_Povertyline2_8<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 3
+CBNPoorCluster<-CBNPoor8[cluster==3]
+Food_Povertyline3_8<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 4
+CBNPoorCluster<-CBNPoor8[cluster==4]
+Food_Povertyline4_8<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#ee<-CBNPoor[,.(Total_Exp_Month_Real,Total_Exp_Month,Total_Food_Month_Per2,Total_Exp_Month_Per_nondurable,Total_Exp_Month_nondurable_Real_Per,FoodExpenditure_Per,cluster)]
+#mean(ee[,Total_Food_Month_Per2==Total_Exp_Month_nondurable_Real])
+#mean(ee[,Total_Food_Month_Per2<3500000])
+#ee<- ee[order(Total_Food_Month_Per2)]
+#utils::View(CBN)
+#for (col in c("Total_Food_Month_Per2")) CBN[is.na(get(col)), (col) := Total_Exp_Month_Per_nondurable]
+c<-CBN[,.(FoodExpenditure_Per,FoodExpenditure_Per_total,Total_Exp_Month_Per_nondurable,Total_Exp_Month,Total_Food_Month_Per2,Poor,Decile,Weight,cluster)]
+
+
+#########Iteration 9###############
+#Sort Expenditure data
+CBN<- CBN[order(Total_Food_Month_Per2)]
+c<- c[order(Total_Food_Month_Per2)]
+
+#Indicate new poors
+CBN[,Poor9:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_8 & cluster==1,1,0)]
+c[,Poor9:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_8 & cluster==1 ,1,0)]
+CBN[,Poor9:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_8 & cluster==2,1,Poor9)]
+c[,Poor9:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_8 & cluster==2 ,1,Poor9)]
+CBN[,Poor9:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_8 & cluster==3,1,Poor9)]
+c[,Poor9:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_8 & cluster==3 ,1,Poor9)]
+CBN[,Poor9:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_8 & cluster==4,1,Poor9)]
+c[,Poor9:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_8 & cluster==4 ,1,Poor9)]
+CBN[,weighted.mean(Poor9,Weight),by=cluster][order(cluster)]
+CBNPoor8[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9<-CBN[Poor9==1]
+
+
+#CalculatePer_calories in clusters
+CBNPoor9[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(191:206)][]
+#utils::View(CBNPoor9)
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor9[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(208:223)][]
+
+
+CBNPoor9[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor9[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor9[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor9[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9<-CBNPoor9[Per_Daily_Exp_Calories!=0]
+CBNPoor9[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor9[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+
+#sum of total food expenditures
+CBNPoor9[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor9[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor9[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor9[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+
+
+
+#Calculations
+CBNPoor9[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,weighted.mean(FoodExpenditure_Per_day,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+
+
+
+#Food Poverty Line for each cluster
+#cluster 1
+CBNPoorCluster<-CBNPoor9[cluster==1]
+Food_Povertyline1_9<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 2
+CBNPoorCluster<-CBNPoor9[cluster==2]
+Food_Povertyline2_9<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 3
+CBNPoorCluster<-CBNPoor9[cluster==3]
+Food_Povertyline3_9<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 4
+CBNPoorCluster<-CBNPoor9[cluster==4]
+Food_Povertyline4_9<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#ee<-CBNPoor[,.(Total_Exp_Month_Real,Total_Exp_Month,Total_Food_Month_Per2,Total_Exp_Month_Per_nondurable,Total_Exp_Month_nondurable_Real_Per,FoodExpenditure_Per,cluster)]
+#mean(ee[,Total_Food_Month_Per2==Total_Exp_Month_nondurable_Real])
+#mean(ee[,Total_Food_Month_Per2<3500000])
+#ee<- ee[order(Total_Food_Month_Per2)]
+#utils::View(CBN)
+#for (col in c("Total_Food_Month_Per2")) CBN[is.na(get(col)), (col) := Total_Exp_Month_Per_nondurable]
+c<-CBN[,.(FoodExpenditure_Per,FoodExpenditure_Per_total,Total_Exp_Month_Per_nondurable,Total_Exp_Month,Total_Food_Month_Per2,Poor,Decile,Weight,cluster)]
+
+
+#########Iteration 10###############
+#Sort Expenditure data
+CBN<- CBN[order(Total_Food_Month_Per2)]
+c<- c[order(Total_Food_Month_Per2)]
+
+#Indicate new poors
+CBN[,Poor10:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_9 & cluster==1,1,0)]
+c[,Poor10:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_9 & cluster==1 ,1,0)]
+CBN[,Poor10:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_9 & cluster==2,1,Poor10)]
+c[,Poor10:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_9 & cluster==2 ,1,Poor10)]
+CBN[,Poor10:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_9 & cluster==3,1,Poor10)]
+c[,Poor10:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_9 & cluster==3 ,1,Poor10)]
+CBN[,Poor10:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_9 & cluster==4,1,Poor10)]
+c[,Poor10:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_9 & cluster==4 ,1,Poor10)]
+CBN[,weighted.mean(Poor10,Weight),by=cluster][order(cluster)]
+CBNPoor9[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor10<-CBN[Poor10==1]
+
+#Engel
+#CBNPoor9<-CBNPoor9[,ratio1:=FoodExpenditure/Total_Exp_Month]
+#CBNPoor9[,weighted.mean(ratio1,Weight),by=cluster]
+#summary(CBNPoor9$ratio1)
+CBN<-CBN[,ratio1:=FoodExpenditure/Total_Exp_Month]
+CBN[,weighted.mean(ratio1,Weight),by=ProvinceCode][order(ProvinceCode)]
+CBN<-CBN[,ratio2:=ServiceExp/Total_Exp_Month]
+CBN[,weighted.mean(ratio2,Weight),by=ProvinceCode][order(ProvinceCode)]
+
+#Engel-home ratio calculations
+CBN[cluster==1 & FoodExpenditure_Per_total<1.1*Food_Povertyline1_9 & FoodExpenditure_Per_total>0.90*Food_Povertyline1_9,sum(HIndivNo),by=ProvinceCode][order(ProvinceCode)]
+CBN[cluster==2 & FoodExpenditure_Per_total<1.1*Food_Povertyline2_9 & FoodExpenditure_Per_total>0.90*Food_Povertyline1_9,sum(HIndivNo),by=ProvinceCode][order(ProvinceCode)]
+CBN[cluster==3 & FoodExpenditure_Per_total<1.1*Food_Povertyline3_9 & FoodExpenditure_Per_total>0.90*Food_Povertyline1_9,sum(HIndivNo),by=ProvinceCode][order(ProvinceCode)]
+CBN[cluster==4 & FoodExpenditure_Per_total<1.1*Food_Povertyline4_9 & FoodExpenditure_Per_total>0.90*Food_Povertyline1_9,sum(HIndivNo),by=ProvinceCode][order(ProvinceCode)]
+
+CBN[cluster==1 & FoodExpenditure_Per_total<1.1*Food_Povertyline1_9 & FoodExpenditure_Per_total>0.90*Food_Povertyline1_9,weighted.mean(ratio1,Weight),by=ProvinceCode][order(ProvinceCode)]
+CBN[cluster==2 & FoodExpenditure_Per_total<1.1*Food_Povertyline2_9 & FoodExpenditure_Per_total>0.90*Food_Povertyline1_9,weighted.mean(ratio1,Weight),by=ProvinceCode][order(ProvinceCode)]
+CBN[cluster==3 & FoodExpenditure_Per_total<1.1*Food_Povertyline3_9 & FoodExpenditure_Per_total>0.90*Food_Povertyline1_9,weighted.mean(ratio1,Weight),by=ProvinceCode][order(ProvinceCode)]
+CBN[cluster==4 & FoodExpenditure_Per_total<1.1*Food_Povertyline4_9 & FoodExpenditure_Per_total>0.90*Food_Povertyline1_9,weighted.mean(ratio1,Weight),by=ProvinceCode][order(ProvinceCode)]
+
+CBN[cluster==1 & FoodExpenditure_Per_total<1.1*Food_Povertyline1_9 & FoodExpenditure_Per_total>0.90*Food_Povertyline1_9,weighted.mean(ratio2,Weight),by=ProvinceCode][order(ProvinceCode)]
+CBN[cluster==2 & FoodExpenditure_Per_total<1.1*Food_Povertyline2_9 & FoodExpenditure_Per_total>0.90*Food_Povertyline1_9,weighted.mean(ratio2,Weight),by=ProvinceCode][order(ProvinceCode)]
+CBN[cluster==3 & FoodExpenditure_Per_total<1.1*Food_Povertyline3_9 & FoodExpenditure_Per_total>0.90*Food_Povertyline1_9,weighted.mean(ratio2,Weight),by=ProvinceCode][order(ProvinceCode)]
+CBN[cluster==4 & FoodExpenditure_Per_total<1.1*Food_Povertyline4_9 & FoodExpenditure_Per_total>0.90*Food_Povertyline1_9,weighted.mean(ratio2,Weight),by=ProvinceCode][order(ProvinceCode)]
+
+
+# Poverty Line for each cluster
+#cluster 1
+CBNPoorCluster<-CBN[cluster==1 & FoodExpenditure_Per_total<1.1*Food_Povertyline1_9 & FoodExpenditure_Per_total>0.90*Food_Povertyline1_9]
+Engel1<-weighted.mean(CBNPoorCluster$ratio1,CBNPoorCluster$Weight)
+Engel_Reverse1<-1/Engel1
+Povertyline1_9<-Engel_Reverse1*Food_Povertyline1_9
+
+#cluster 2
+CBNPoorCluster<-CBN[cluster==2 & FoodExpenditure_Per_total<1.1*Food_Povertyline2_9 & FoodExpenditure_Per_total>0.90*Food_Povertyline2_9]
+Engel2<-weighted.mean(CBNPoorCluster$ratio1,CBNPoorCluster$Weight)
+Engel_Reverse2<-1/Engel2
+Povertyline2_9<-Engel_Reverse2*Food_Povertyline2_9
+
+#cluster 3
+CBNPoorCluster<-CBN[cluster==3 & FoodExpenditure_Per_total<1.1*Food_Povertyline3_9 & FoodExpenditure_Per_total>0.90*Food_Povertyline3_9]
+Engel3<-weighted.mean(CBNPoorCluster$ratio1,CBNPoorCluster$Weight)
+Engel_Reverse3<-1/Engel3
+Povertyline3_9<-Engel_Reverse3*Food_Povertyline3_9
+
+#cluster 4
+CBNPoorCluster<-CBN[cluster==4 & FoodExpenditure_Per_total<1.1*Food_Povertyline4_9 & FoodExpenditure_Per_total>0.90*Food_Povertyline4_9]
+Engel4<-weighted.mean(CBNPoorCluster$ratio1,CBNPoorCluster$Weight)
+Engel_Reverse4<-1/Engel4
+Povertyline4_9<-Engel_Reverse4*Food_Povertyline4_9
+
+#Indicate final poors
+CBN<-CBN[,Total_Exp_Month_Per2:=Total_Exp_Month_Per_nondurable*RealPriceIndex]
+
+CBN[,Poor11:=ifelse(Total_Exp_Month_Per_nondurable < Povertyline1_9 & cluster==1,1,0)]
+CBN[,Poor11:=ifelse(Total_Exp_Month_Per_nondurable < Povertyline2_9 & cluster==2,1,Poor11)]
+CBN[,Poor11:=ifelse(Total_Exp_Month_Per_nondurable < Povertyline3_9 & cluster==3,1,Poor11)]
+CBN[,Poor11:=ifelse(Total_Exp_Month_Per_nondurable < Povertyline4_9 & cluster==4,1,Poor11)]
+CBN[,weighted.mean(Poor11,Weight),by=cluster][order(cluster)]
+CBNPoor9[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor11<-CBN[Poor11==1]
+
+CBN[,sum(Size*Weight),by=cluster][order(cluster)]
+CBN[,sum(Size*Weight),by=.(cluster,Decile)][order(cluster,Decile)]
+CBNPoor[,sum(Size*Weight),by=cluster][order(cluster)]
+CBNPoor11[,sum(Size*Weight),by=cluster][order(cluster)]
+CBNPoor9[,sum(Size*Weight),by=cluster][order(cluster)]
+CBNPoor9[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster][order(cluster)]
+CBNPoor9[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster][order(cluster)]
+CBN[,weighted.mean(Poor11,Weight)]
+CBN[,weighted.mean(Poor11,Weight),by=cluster][order(cluster)]
+CBN[,weighted.mean(Poor11,Weight),by=ProvinceCode][order(ProvinceCode)]
+CBNPoor11[,sum(Size*Weight),by=ProvinceCode][order(ProvinceCode)]
+CBNPoor11[,sum(Weight),by=ProvinceCode][order(ProvinceCode)]
+CBN[,sum(Size*Weight),by=ProvinceCode][order(ProvinceCode)]
+CBN[,sum(Size*Weight)]
+
+##############################
+###Real Prices for report###
+##############################
+#sum of total food expenditures
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per]
+
+#Food expenditures (equal 2100 CCAL)
+CBN<-CBN[Per_Daily_Exp_Calories>0]
+CBN[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Exp_Calories]
+CBN[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+
+T_Bundle_Value<-subset(CBN, ProvinceCode==2301, select=c(Bundle_Value,Home_Per_Metr,Weight))
+Tehran_Bundle_Value1<-weighted.mean(T_Bundle_Value$Bundle_Value,T_Bundle_Value$Weight,na.rm = TRUE)
+Tehran_Bundle_Value2<-weighted.mean(T_Bundle_Value$Home_Per_Metr,T_Bundle_Value$Weight,na.rm = TRUE)
+CBN[,RealPriceIndex1:=weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/Tehran_Bundle_Value1,by=ProvinceCode]
+CBN[,RealPriceIndex2:=weighted.mean(Home_Per_Metr,Weight,na.rm = TRUE)/Tehran_Bundle_Value2,by=ProvinceCode]
+CBN[,weighted.mean(RealPriceIndex1,Weight),by=ProvinceCode]
+CBN[,weighted.mean(RealPriceIndex2,Weight),by=ProvinceCode]
+Indexes2_1<-CBN[,.(RealPriceIndex1,RealPriceIndex2,ProvinceCode,Weight)]
+Indexes2_1<-Indexes2_1[,RealPriceIndex:=(RealPriceIndex1+RealPriceIndex2)/2]
+Indexes_total<-Indexes2_1[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+Indexes3_1<-Indexes_total[,.(ProvinceCode,RealPriceIndex1,RealPriceIndex2,RealPriceIndex)]
+Indexes<-Indexes[,.(ProvinceCode,RealPriceIndex)]
+
+CBN_Poor<-CBN[Poor11==1]
+T_Bundle_Value<-subset(CBN_Poor, ProvinceCode==2301, select=c(Bundle_Value,Home_Per_Metr,Weight))
+Tehran_Bundle_Value1<-weighted.mean(T_Bundle_Value$Bundle_Value,T_Bundle_Value$Weight,na.rm = TRUE)
+Tehran_Bundle_Value2<-weighted.mean(T_Bundle_Value$Home_Per_Metr,T_Bundle_Value$Weight,na.rm = TRUE)
+CBN_Poor[,RealPriceIndex1:=weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/Tehran_Bundle_Value1,by=ProvinceCode]
+CBN_Poor[,RealPriceIndex2:=weighted.mean(Home_Per_Metr,Weight,na.rm = TRUE)/Tehran_Bundle_Value2,by=ProvinceCode]
+CBN_Poor[,weighted.mean(RealPriceIndex1,Weight),by=ProvinceCode]
+CBN_Poor[,weighted.mean(RealPriceIndex2,Weight),by=ProvinceCode]
+Indexes2_2<-CBN_Poor[,.(RealPriceIndex1,RealPriceIndex2,ProvinceCode,Weight,Poor11)]
+Indexes2_2<-Indexes2_2[,RealPriceIndex:=(RealPriceIndex1+RealPriceIndex2)/2]
+Indexes_finalpoor<-Indexes2_2[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+Indexes3_2<-Indexes_finalpoor[,.(ProvinceCode,RealPriceIndex1,RealPriceIndex2,RealPriceIndex)]
+Indexes<-Indexes[,.(ProvinceCode,RealPriceIndex)]
+
+###Save Tables
+CBN_Urban<-CBN
+save(CBN_Urban, file = paste0(Settings$HEISProcessedPath,"CBN_Urban","95.rda"))
+
+CBNPoor_Urban<-CBNPoor11
+save(CBNPoor_Urban, file = paste0(Settings$HEISProcessedPath,"CBNPoor_Urban","95.rda"))
+
+
+endtime <- proc.time()
+
+
+cat("\n\n============================\nIt took ")
+cat(endtime-starttime)
+
diff --git a/R/Archive/Other Codes/CBN Rural-Sort only first stage.R b/R/Archive/Other Codes/CBN Rural-Sort only first stage.R
new file mode 100644
index 00000000..f1e0a0a1
--- /dev/null
+++ b/R/Archive/Other Codes/CBN Rural-Sort only first stage.R
@@ -0,0 +1,3117 @@
+#CBN Method-Rural.R
+#
+# Copyright © 2018:Arin Shahbazian
+# Licence: GPL-3
+#
+rm(list=ls())
+
+starttime <- proc.time()
+cat("\n\n================ Prepare Data =====================================\n")
+
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+library(readxl)
+library(stringr)
+library(data.table)
+
+#for(year in (Settings$startyear:Settings$endyear)){
+# cat(paste0("\n------------------------------\nYear:",year,"\n"))
+
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","HHBase.rda"))
+HHBase[,IndivNo:=NULL]
+HHBase[,Relationship:=NULL]
+HHBase[,Sex:=NULL]
+HHBase[,Age:=NULL]
+HHBase[,Literate:=NULL]
+HHBase[,Student:=NULL]
+HHBase[,EduCode:=NULL]
+HHBase[,EduYears:=NULL]
+HHBase[,EduLevel:=NULL]
+HHBase[,EduLevel0:=NULL]
+HHBase[,ActivityState:=NULL]
+HHBase[,MarritalState:=NULL]
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Ghand_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Hoboobat_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Roghan_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Berenj_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Nan_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Goosht_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Morgh_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Mahi_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Shir_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Mast_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Panir_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Tokhmemorgh_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Mive_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Sabzi_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Makarooni_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Sibzamini_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Weights.rda"))
+
+Ghand_Data<-Ghand_Data[,.(HHID,Ghandgram,GhandPrice)]
+Hoboobat_Data<-Hoboobat_Data[,.(HHID,Hoboobatgram,HoboobatPrice)]
+Roghan_Data<-Roghan_Data[,.(HHID,Roghangram,RoghanPrice)]
+Berenj_Data<-Berenj_Data[,.(HHID,Berenjgram,BerenjPrice)]
+Nan_Data<-Nan_Data[,.(HHID,Nangram,NanPrice)]
+Goosht_Data<-Goosht_Data[,.(HHID,Gooshtgram,GooshtPrice)]
+Morgh_Data<-Morgh_Data[,.(HHID,Morghgram,MorghPrice)]
+Mahi_Data<-Mahi_Data[,.(HHID,Mahigram,MahiPrice)]
+Shir_Data<-Shir_Data[,.(HHID,Shirgram,ShirPrice)]
+Mast_Data<-Mast_Data[,.(HHID,Mastgram,MastPrice)]
+Panir_Data<-Panir_Data[,.(HHID,Panirgram,PanirPrice)]
+Tokhmemorgh_Data<-Tokhmemorgh_Data[,.(HHID,Tokhmemorghgram,TokhmemorghPrice)]
+Mive_Data<-Mive_Data[,.(HHID,Mivegram,MivePrice)]
+Sabzi_Data<-Sabzi_Data[,.(HHID,Sabzigram,SabziPrice)]
+Makarooni_Data<-Makarooni_Data[,.(HHID,Makaroonigram,MakarooniPrice)]
+Sibzamini_Data<-Sibzamini_Data[,.(HHID,Sibzaminigram,SibzaminiPrice)]
+
+Food<-merge(HHBase,Ghand_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Ghandgram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Hoboobat_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Hoboobatgram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Roghan_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Roghangram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Berenj_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Berenjgram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Nan_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Nangram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Goosht_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Gooshtgram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Morgh_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Morghgram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Mahi_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Mahigram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Shir_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Shirgram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Mast_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Mastgram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Panir_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Panirgram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Tokhmemorgh_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Tokhmemorghgram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Mive_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Mivegram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Sabzi_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Sabzigram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Makarooni_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Makaroonigram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Sibzamini_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Sibzaminigram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Weights,by =c("HHID"),all.x=TRUE)
+
+
+
+#load Expenditure groups
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","HHBase.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","HHI.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Foods.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Cigars.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Cloths.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Amusements.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Communications.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Durables.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Education.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Energy.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Furnitures.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Hotels.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","House.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Medicals.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Behdashts.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Transportations.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Others.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Investments.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Resturants.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Weights.rda"))
+
+#merge Expenditure groups
+CBN<-merge(Food,HHI ,by =c("HHID"),all=TRUE)
+CBN<-merge(CBN,FoodData,by =c("HHID"),all=TRUE)
+for (col in c("FoodExpenditure")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,CigarData,by =c("HHID"),all=TRUE)
+for (col in c("Cigar_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,ClothData,by =c("HHID"),all=TRUE)
+for (col in c("Cloth_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,AmusementData,by =c("HHID"),all=TRUE)
+for (col in c("Amusement_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,CommunicationData,by =c("HHID"),all=TRUE)
+for (col in c("Communication_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,EducData,by =c("HHID"),all=TRUE)
+for (col in c("EducExpenditure")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,EnergyData,by =c("HHID"),all=TRUE)
+for (col in c("Energy_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,FurnitureData,by =c("HHID"),all=TRUE)
+for (col in c("Furniture_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,HotelData,by =c("HHID"),all=TRUE)
+for (col in c("Hotel_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,BehdashtData,by =c("HHID"),all=TRUE)
+for (col in c("Behdasht_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,TransportationData,by =c("HHID"),all=TRUE)
+for (col in c("Transportation_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,OtherData,by =c("HHID"),all=TRUE)
+for (col in c("Other_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,HouseData,by =c("HHID"),all=TRUE)
+for (col in c("ServiceExp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,InvestmentData,by =c("HHID"),all=TRUE)
+for (col in c("Investment_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,MedicalData,by =c("HHID"),all=TRUE)
+for (col in c("Medical_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,DurableData,by =c("HHID"),all=TRUE)
+for (col in c("Durable_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,ResturantData,by =c("HHID"),all=TRUE)
+for (col in c("Resturant_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-CBN[Size!=0]
+CBN<-CBN[Region=="Rural"]
+CBN<-CBN[FoodExpenditure!=0]
+
+
+#Calculate Per_Total Expenditures Monthly
+CBN[, Total_Exp_Month := Reduce(`+`, .SD), .SDcols=c(66:78,82:84)][]
+CBN[, Total_Exp_Month_nondurable := Reduce(`+`, .SD), .SDcols=66:78][]
+
+CBN$Total_Exp_Month_Per<-CBN$Total_Exp_Month/CBN$EqSizeOECD
+CBN$Total_Exp_Month_Per_nondurable<-CBN$Total_Exp_Month_nondurable/CBN$EqSizeOECD
+
+#Calculate Per_Food Expenditures Monthly
+CBN[,EqSizeCalory :=(Size-NKids) + NKids*(1800/2100)]
+CBN$FoodExpenditure_Per<-CBN$FoodExpenditure/CBN$EqSizeCalory
+
+#Calculate Per_Food Expenditures Daily
+CBN$FoodExpenditure_Per_day<-CBN$FoodExpenditure_Per/30
+
+CBN$Ghandgram_Per_day<-CBN$Ghandgram/(30*CBN$EqSizeOECD)
+CBN$Hoboobatgram_Per_day<-CBN$Hoboobatgram/(30*CBN$EqSizeOECD)
+CBN$Berenjgram_Per_day<-CBN$Berenjgram/(30*CBN$EqSizeOECD)
+CBN$Nangram_Per_day<-CBN$Nangram/(30*CBN$EqSizeOECD)
+CBN$Roghangram_Per_day<-CBN$Roghangram/(30*CBN$EqSizeOECD)
+CBN$Gooshtgram_Per_day<-CBN$Gooshtgram/(30*CBN$EqSizeOECD)
+CBN$Morghgram_Per_day<-CBN$Morghgram/(30*CBN$EqSizeOECD)
+CBN$Mahigram_Per_day<-CBN$Mahigram/(30*CBN$EqSizeOECD)
+CBN$Shirgram_Per_day<-CBN$Shirgram/(30*CBN$EqSizeOECD)
+CBN$Mastgram_Per_day<-CBN$Mastgram/(30*CBN$EqSizeOECD)
+CBN$Panirgram_Per_day<-CBN$Panirgram/(30*CBN$EqSizeOECD)
+CBN$Tokhmemorghgram_Per_day<-CBN$Tokhmemorghgram/(30*CBN$EqSizeOECD)
+CBN$Mivegram_Per_day<-CBN$Mivegram/(30*CBN$EqSizeOECD)
+CBN$Sabzigram_Per_day<-CBN$Sabzigram/(30*CBN$EqSizeOECD)
+CBN$Makaroonigram_Per_day<-CBN$Makaroonigram/(30*CBN$EqSizeOECD)
+CBN$Sibzaminigram_Per_day<-CBN$Sibzaminigram/(30*CBN$EqSizeOECD)
+CBN[,EqSizeCalory:=NULL]
+
+load(file="PriceIndex95.rda")
+CBN<-merge(CBN,PriceIndex95,by=c("ProvinceCode"),all.x = TRUE)
+CBN[,ostan:=NULL]
+load(file="PriceIndex.rda")
+CBN<-merge(CBN,PriceIndex,by=c("ProvinceCode"),all.x = TRUE)
+
+#Sort Expenditure data
+CBN<- CBN[order(Total_Exp_Month_Per_nondurable)]
+
+#Calculate cumulative weights
+sum(CBN$Weight)
+CBN$cumweight <- cumsum(CBN$Weight)
+tx <- max(CBN$cumweight)
+
+#Calculate deciles by weights
+CBN[,Decile:=cut(cumweight,breaks = seq(0,tx,tx/10),labels = 1:10)]
+CBN[,Percentile:=cut(cumweight,breaks=seq(0,tx,tx/100),labels=1:100)]
+
+
+CBN$Ghand_W<-CBN$Ghandgram_Per_day*CBN$GhandPrice*0.001*30
+CBN$Hoboobat_W<-CBN$Hoboobatgram_Per_day*CBN$HoboobatPrice*0.001*30
+CBN$Roghan_W<-CBN$Roghangram_Per_day*CBN$RoghanPrice*0.001*30
+CBN$Berenj_W<-CBN$Berenjgram_Per_day*CBN$BerenjPrice*0.001*30
+CBN$Nan_W<-CBN$Nangram_Per_day*CBN$NanPrice*0.001*30
+CBN$Goosht_W<-CBN$Gooshtgram_Per_day*CBN$GooshtPrice*0.001*30
+CBN$Morgh_W<-CBN$Morghgram_Per_day*CBN$MorghPrice*0.001*30
+CBN$Mahi_W<-CBN$Mahigram_Per_day*CBN$MahiPrice*0.001*30
+CBN$Shir_W<-CBN$Shirgram_Per_day*CBN$ShirPrice*0.001*30
+CBN$Mast_W<-CBN$Mastgram_Per_day*CBN$MastPrice*0.001*30
+CBN$Panir_W<-CBN$Panirgram_Per_day*CBN$PanirPrice*0.001*30
+CBN$Tokhmemorgh_W<-CBN$Tokhmemorghgram_Per_day*CBN$TokhmemorghPrice*0.001*30
+CBN$Mive_W<-CBN$Mivegram_Per_day*CBN$MivePrice*0.001*30
+CBN$Sabzi_W<-CBN$Sabzigram_Per_day*CBN$SabziPrice*0.001*30
+CBN$Makarooni_W<-CBN$Makaroonigram_Per_day*CBN$MakarooniPrice*0.001*30
+CBN$Sibzamini_W<-CBN$Sibzaminigram_Per_day*CBN$SibzaminiPrice*0.001*30
+CBN$Home_W<-CBN$ServiceExp/CBN$EqSizeOECD
+CBN$Home_Per_Metr<-CBN$MetrPrice/CBN$EqSizeOECD
+
+#Seperate big cities
+CBN[,sum(Weight*Size),by=ProvinceCode][order(V1)]
+CBN[,HHIDs:=as.character(HHID)]
+CBN[,ShahrestanCode:=as.integer(str_sub(HHIDs,2,5))]
+CBN[,sum(Weight*Size),by=ShahrestanCode][order(V1)][330:387]
+CBNTehran<-CBN[ProvinceCode==23]
+CBNTehran[,sum(Weight*Size),by=ShahrestanCode]
+CBNTabriz<-CBN[ProvinceCode==3]
+CBNTabriz[,sum(Weight*Size),by=ShahrestanCode]
+CBNAhvaz<-CBN[ProvinceCode==6]
+CBNAhvaz[,sum(Weight*Size),by=ShahrestanCode]
+CBNShiraz<-CBN[ProvinceCode==7]
+CBNShiraz[,sum(Weight*Size),by=ShahrestanCode]
+CBNMashhad<-CBN[ProvinceCode==9]
+CBNMashhad[,sum(Weight*Size),by=ShahrestanCode]
+CBNEsfahan<-CBN[ProvinceCode==10]
+CBNEsfahan[,sum(Weight*Size),by=ShahrestanCode]
+CBNKaraj<-CBN[ProvinceCode==30]
+CBNKaraj[,sum(Weight*Size),by=ShahrestanCode]
+CBNKermanshah<-CBN[ProvinceCode==5]
+CBNKermanshah[,sum(Weight*Size),by=ShahrestanCode]
+
+
+# Food Calories
+CBN$Ghand_Calory<- CBN$Ghandgram *4
+CBN$Hoboobat_Calory<- CBN$Hoboobatgram *3
+CBN$Nan_Calory<- CBN$Nangram *2.5
+CBN$Berenj_Calory<- CBN$Berenjgram *1.2
+CBN$Roghan_Calory<- CBN$Roghangram *8
+CBN$Goosht_Calory<- CBN$Gooshtgram *2.5
+CBN$Morgh_Calory<- CBN$Morghgram *2
+CBN$Mahi_Calory<- CBN$Mahigram *1
+CBN$Shir_Calory<- CBN$Shirgram *2.5
+CBN$Mast_Calory<- CBN$Mastgram *1.5
+CBN$Panir_Calory<- CBN$Mastgram *2.5
+CBN$Tokhmemorgh_Calory<- CBN$Tokhmemorghgram *1.4
+CBN$Mive_Calory<- CBN$Mivegram *0.5
+CBN$Sabzi_Calory<- CBN$Sabzigram *0.5
+CBN$Makarooni_Calory<- CBN$Makaroonigram *3.6
+CBN$Sibzamini_Calory<- CBN$Sibzaminigram *0.9
+#utils::View(CBN)
+
+#CalculatePer_calories
+CBN[, Daily_Exp_Calories := Reduce(`+`, .SD), .SDcols=149:164][]
+CBN[,EqSizeCalory :=(Size-NKids) + NKids*(1800/2100)]
+CBN[,Per_Daily_Exp_Calories:=Daily_Exp_Calories/EqSizeCalory]
+CBN <- CBN[Per_Daily_Exp_Calories<100000] # arbitrary removal of outliers
+#CBN[,Daily_Calories_cluster:=weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+#CBN[,weighted.mean(Daily_Calories_cluster,Weight,na.rm = TRUE),by=cluster]
+#CBN[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+#CBN[,weighted.mean(Size,Weight,na.rm = TRUE),by=cluster]
+#CBN[,sum(Weight*Size),by=cluster]
+#CBN[,sum(Weight),by=cluster]
+#CBN[,sum(Poor),by=cluster]
+
+
+#Calculate_Per_calories
+CBN$Ghand_per_Calory<- CBN$Ghandgram *4/CBN$EqSizeCalory
+CBN$Hoboobat_per_Calory<- CBN$Hoboobatgram *3/CBN$EqSizeCalory
+CBN$Nan_per_Calory<- CBN$Nangram *2.5/CBN$EqSizeCalory
+CBN$Berenj_per_Calory<- CBN$Berenjgram *1.2/CBN$EqSizeCalory
+CBN$Roghan_per_Calory<- CBN$Roghangram *8/CBN$EqSizeCalory
+CBN$Goosht_per_Calory<- CBN$Gooshtgram *2.5/CBN$EqSizeCalory
+CBN$Morgh_per_Calory<- CBN$Morghgram *2/CBN$EqSizeCalory
+CBN$Mahi_per_Calory<- CBN$Mahigram *1/CBN$EqSizeCalory
+CBN$Shir_per_Calory<- CBN$Shirgram *2.5/CBN$EqSizeCalory
+CBN$Mast_per_Calory<- CBN$Mastgram *1.5/CBN$EqSizeCalory
+CBN$Panir_per_Calory<- CBN$Mastgram *2.5/CBN$EqSizeCalory
+CBN$Tokhmemorgh_per_Calory<- CBN$Tokhmemorghgram *1.4/CBN$EqSizeCalory
+CBN$Mive_per_Calory<- CBN$Mivegram *0.5/CBN$EqSizeCalory
+CBN$Sabzi_per_Calory<- CBN$Sabzigram *0.5/CBN$EqSizeCalory
+CBN$Makarooni_per_Calory<- CBN$Makaroonigram *3.6/CBN$EqSizeCalory
+CBN$Sibzamini_per_Calory<- CBN$Sibzaminigram *0.9/CBN$EqSizeCalory
+
+
+#Assume that deciles 1 and 2 are poor
+CBN[,Poor:=ifelse(Decile %in% 1:4,1,0)]
+CBNPoor<-CBN[Poor==1]
+
+OldfirstRural<-CBN[,.(HHID,Percentile,Poor)]
+save(OldfirstRural, file=paste0(Settings$HEISProcessedPath,"Y",year,"OldfirstRural.rda"))
+
+
+#K-means weights
+PriceWeights<-CBN[,.(HHID,Ghand_W,Hoboobat_W,Roghan_W,Berenj_W,Nan_W,Goosht_W,Morgh_W,Mahi_W,Shir_W,Mast_W,Panir_W,Tokhmemorgh_W,Mive_W,Sabzi_W,Makarooni_W,Sibzamini_W,Home_W,ProvinceCode,Weight)]
+dt3 <- PriceWeights[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+dt3<- dt3[order(ProvinceCode)]
+dt3 <- dt3[,.(Ghand_W,Hoboobat_W,Roghan_W,Berenj_W,Nan_W,Goosht_W,Morgh_W,Mahi_W,Shir_W,Mast_W,Panir_W,Tokhmemorgh_W,Mive_W,Sabzi_W,Makarooni_W,Sibzamini_W,Home_W)]
+
+
+
+#K-means algorithm for clustering by prices
+test<-CBNPoor[,.(GhandPrice,HoboobatPrice,RoghanPrice,BerenjPrice,NanPrice,GooshtPrice,MorghPrice,MahiPrice,ShirPrice,MastPrice,PanirPrice,TokhmemorghPrice,MivePrice,SabziPrice,MakarooniPrice,SibzaminiPrice,MetrPrice,ProvinceCode,Weight)]
+#test<-CBNPoor[,.(GhandPrice,HoboobatPrice,RoghanPrice,BerenjPrice,NanPrice,GooshtPrice,MorghPrice,MahiPrice,ShirPrice,MastPrice,PanirPrice,TokhmemorghPrice,MivePrice,SabziPrice,MakarooniPrice,SibzaminiPrice,MetrPrice,Ghand_W,Hoboobat_W,Roghan_W,Berenj_W,Nan_W,Goosht_W,Morgh_W,Mahi_W,Shir_W,Mast_W,Panir_W,Tokhmemorgh_W,Mive_W,Sabzi_W,Makarooni_W,Sibzamini_W,Home_W,Region,ProvinceCode,Weight)]
+dt2 <- test[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+dt2<- dt2[order(ProvinceCode)]
+for (col in c("MahiPrice")) dt2[is.nan(get(col)), (col) := 200000]
+dt <- dt2 [,.(GhandPrice,HoboobatPrice,RoghanPrice,BerenjPrice,NanPrice,GooshtPrice,MorghPrice,MahiPrice,ShirPrice,MastPrice,PanirPrice,TokhmemorghPrice,MivePrice,SabziPrice,MakarooniPrice,SibzaminiPrice,MetrPrice)]
+
+
+pca <- princomp(dt, cor=T)
+PRICE <- pca$scores
+PRICE1 <- -1*PRICE[,1]
+PRICE2 <- -1*PRICE[,2]
+PRICE3 <- -1*PRICE[,3]
+PRICE4 <- -1*PRICE[,4]
+PRICE5 <- -1*PRICE[,5]
+PRICE6 <- -1*PRICE[,6]
+PRICE7 <- -1*PRICE[,7]
+PRICE8 <- -1*PRICE[,8]
+PRICE9 <- -1*PRICE[,9]
+PRICE10 <- -1*PRICE[,10]
+PRICE11 <- -1*PRICE[,11]
+PRICE12 <- -1*PRICE[,12]
+PRICE13 <- -1*PRICE[,13]
+PRICE14 <- -1*PRICE[,14]
+PRICE15 <- -1*PRICE[,15]
+PRICE16 <- -1*PRICE[,16]
+PRICE17 <- -1*PRICE[,17]
+
+# Deciding how many clusters
+wss <- (nrow(dt)-1)*sum(apply(dt,2,var))
+for (i in 2:30) wss[i] <- sum(kmeans(dt, centers=i)$withinss)
+plot(1:30, wss, type="b", xlab="Number of Clusters",
+ ylab="Within groups sum of squares")
+
+#Weighted clustering
+
+dt3.m <- dt3[,lapply(.SD, mean)] # Weights for each vector
+dtW <- dt * sqrt(dt3.m[rep(1,nrow(dt))]) # Weighted observations
+kmeans(dtW,5) # Simple K-means
+
+cl <- kmeans(dtW,5)
+cl$cluster
+dt2 <- dt2[,cluster:=data.table(cl$cluster)]
+dt2<-dt2[,.(ProvinceCode,cluster)]
+load(file="dt5Rural.rda")
+#plot(PRICE1, PRICE2,col=cl$cluster)
+#points(cl$centers, pch=20)
+CBNPoor<-merge(CBNPoor,dt2,by=c("ProvinceCode"),all.x = TRUE)
+CBNPoor[,sum(Weight*Size),by=cluster]
+CBNPoor[,sum(Weight),by=cluster]
+CBNPoor[,sum(Poor),by=cluster]
+C2<-CBNPoor[,.(HHID,ProvinceCode,Region,Decile,Poor,cluster)]
+######################################################################
+
+
+
+
+
+
+
+
+
+####Iteration 1#####
+###Iteration1-1
+#Calculate Per_calories in clusters
+CBNPoor[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(186:201)][]
+#utils::View(CBNPoor)
+
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(203:218)][]
+
+CBNPoor[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor<-CBNPoor[Per_Daily_Exp_Calories!=0]
+CBNPoor[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+#CBN[,weighted.mean(Poor,Weight),by=cluster][order(cluster)]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE)]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE)]
+
+#Real Prices
+T_Bundle_Value<-subset(CBNPoor, ProvinceCode==23, select=c(Bundle_Value,Home_Per_Metr,Weight))
+Tehran_Bundle_Value1<-weighted.mean(T_Bundle_Value$Bundle_Value,T_Bundle_Value$Weight,na.rm = TRUE)
+Tehran_Bundle_Value2<-weighted.mean(T_Bundle_Value$Home_Per_Metr,T_Bundle_Value$Weight,na.rm = TRUE)
+CBNPoor[,RealPriceIndex1:=weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/Tehran_Bundle_Value1,by=ProvinceCode]
+CBNPoor[,RealPriceIndex2:=weighted.mean(Home_Per_Metr,Weight,na.rm = TRUE)/Tehran_Bundle_Value2,by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex1,Weight),by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex2,Weight),by=ProvinceCode]
+Indexes2<-CBNPoor[,.(RealPriceIndex1,RealPriceIndex2,ProvinceCode,Weight)]
+Indexes2<-Indexes2[,RealPriceIndex:=(RealPriceIndex1+RealPriceIndex2)/2]
+Indexes<-Indexes2[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+Indexes31<-Indexes[,.(ProvinceCode,RealPriceIndex1,RealPriceIndex2,RealPriceIndex)]
+Indexes<-Indexes[,.(ProvinceCode,RealPriceIndex)]
+CBN<-merge(CBN,Indexes,by=c("ProvinceCode"),all.x = TRUE)
+CBN<-CBN[,Total_Food_Month_Per2:=FoodExpenditure_Per*RealPriceIndex]
+CBN<-CBN[,Total_Exp_Month_Per2:=Total_Exp_Month_Per_nondurable*RealPriceIndex]
+#utils::View(CBN)
+
+#Sort Expenditure data
+CBN<- CBN[order(Total_Exp_Month_Per2)]
+
+#Calculate cumulative weights
+sum(CBN$Weight)
+CBN$cumweight <- cumsum(CBN$Weight)
+tx <- max(CBN$cumweight)
+
+#Calculate deciles by weights
+CBN[,Decile:=cut(cumweight,breaks = seq(0,tx,tx/10),labels = 1:10)]
+CBN[,Percentile:=cut(cumweight,breaks=seq(0,tx,tx/100),labels=1:100)]
+
+#Update Poors
+CBN[,Poor:=ifelse(Decile %in% 1:4,1,0)]
+CBNPoor<-CBN[Poor==1]
+CBNPoor<-merge(CBNPoor,dt2,by=c("ProvinceCode"),all.x = TRUE)
+CBNPoor[,sum(HIndivNo),by=.(ProvinceCode)][order(ProvinceCode)]
+CBNPoor[,sum(HIndivNo)]
+
+###Iteration1-2
+#Calculate Per_calories in clusters
+CBNPoor[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(186:201)][]
+#utils::View(CBNPoor)
+
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(203:218)][]
+
+CBNPoor[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor<-CBNPoor[Per_Daily_Exp_Calories!=0]
+CBNPoor[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+#CBN[,weighted.mean(Poor,Weight),by=cluster][order(cluster)]
+
+#Real Prices
+T_Bundle_Value<-subset(CBNPoor, ProvinceCode==23, select=c(Bundle_Value,Home_Per_Metr,Weight))
+Tehran_Bundle_Value1<-weighted.mean(T_Bundle_Value$Bundle_Value,T_Bundle_Value$Weight,na.rm = TRUE)
+Tehran_Bundle_Value2<-weighted.mean(T_Bundle_Value$Home_Per_Metr,T_Bundle_Value$Weight,na.rm = TRUE)
+CBNPoor[,RealPriceIndex1:=weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/Tehran_Bundle_Value1,by=ProvinceCode]
+CBNPoor[,RealPriceIndex2:=weighted.mean(Home_Per_Metr,Weight,na.rm = TRUE)/Tehran_Bundle_Value2,by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex1,Weight),by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex2,Weight),by=ProvinceCode]
+Indexes2<-CBNPoor[,.(RealPriceIndex1,RealPriceIndex2,ProvinceCode,Weight)]
+Indexes2<-Indexes2[,RealPriceIndex:=(RealPriceIndex1+RealPriceIndex2)/2]
+Indexes<-Indexes2[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+Indexes32<-Indexes[,.(ProvinceCode,RealPriceIndex1,RealPriceIndex2,RealPriceIndex)]
+Indexes<-Indexes[,.(ProvinceCode,RealPriceIndex)]
+CBN[,RealPriceIndex:=NULL]
+CBN<-merge(CBN,Indexes,by=c("ProvinceCode"),all.x = TRUE)
+CBN<-CBN[,Total_Food_Month_Per2:=FoodExpenditure_Per*RealPriceIndex]
+CBN<-CBN[,Total_Exp_Month_Per2:=Total_Exp_Month_Per_nondurable*RealPriceIndex]
+#utils::View(CBN)
+
+#Sort Expenditure data
+CBN<- CBN[order(Total_Exp_Month_Per2)]
+
+#Calculate cumulative weights
+sum(CBN$Weight)
+CBN$cumweight <- cumsum(CBN$Weight)
+tx <- max(CBN$cumweight)
+
+#Calculate deciles by weights
+CBN[,Decile:=cut(cumweight,breaks = seq(0,tx,tx/10),labels = 1:10)]
+CBN[,Percentile:=cut(cumweight,breaks=seq(0,tx,tx/100),labels=1:100)]
+
+#Update Poors
+CBN[,Poor:=ifelse(Decile %in% 1:4,1,0)]
+CBNPoor<-CBN[Poor==1]
+CBNPoor<-merge(CBNPoor,dt2,by=c("ProvinceCode"),all.x = TRUE)
+CBNPoor[,sum(HIndivNo),by=.(ProvinceCode)][order(ProvinceCode)]
+
+###Iteration1-3
+#Calculate Per_calories in clusters
+CBNPoor[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(186:201)][]
+#utils::View(CBNPoor)
+
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(203:218)][]
+
+CBNPoor[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor<-CBNPoor[Per_Daily_Exp_Calories!=0]
+CBNPoor[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+#CBN[,weighted.mean(Poor,Weight),by=cluster][order(cluster)]
+
+#Real Prices
+T_Bundle_Value<-subset(CBNPoor, ProvinceCode==23, select=c(Bundle_Value,Home_Per_Metr,Weight))
+Tehran_Bundle_Value1<-weighted.mean(T_Bundle_Value$Bundle_Value,T_Bundle_Value$Weight,na.rm = TRUE)
+Tehran_Bundle_Value2<-weighted.mean(T_Bundle_Value$Home_Per_Metr,T_Bundle_Value$Weight,na.rm = TRUE)
+CBNPoor[,RealPriceIndex1:=weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/Tehran_Bundle_Value1,by=ProvinceCode]
+CBNPoor[,RealPriceIndex2:=weighted.mean(Home_Per_Metr,Weight,na.rm = TRUE)/Tehran_Bundle_Value2,by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex1,Weight),by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex2,Weight),by=ProvinceCode]
+Indexes2<-CBNPoor[,.(RealPriceIndex1,RealPriceIndex2,ProvinceCode,Weight)]
+Indexes2<-Indexes2[,RealPriceIndex:=(RealPriceIndex1+RealPriceIndex2)/2]
+Indexes<-Indexes2[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+Indexes33<-Indexes[,.(ProvinceCode,RealPriceIndex1,RealPriceIndex2,RealPriceIndex)]
+Indexes<-Indexes[,.(ProvinceCode,RealPriceIndex)]
+CBN[,RealPriceIndex:=NULL]
+CBN<-merge(CBN,Indexes,by=c("ProvinceCode"),all.x = TRUE)
+CBN<-CBN[,Total_Food_Month_Per2:=FoodExpenditure_Per*RealPriceIndex]
+CBN<-CBN[,Total_Exp_Month_Per2:=Total_Exp_Month_Per_nondurable*RealPriceIndex]
+#utils::View(CBN)
+
+#Sort Expenditure data
+CBN<- CBN[order(Total_Exp_Month_Per2)]
+
+#Calculate cumulative weights
+sum(CBN$Weight)
+CBN$cumweight <- cumsum(CBN$Weight)
+tx <- max(CBN$cumweight)
+
+#Calculate deciles by weights
+CBN[,Decile:=cut(cumweight,breaks = seq(0,tx,tx/10),labels = 1:10)]
+CBN[,Percentile:=cut(cumweight,breaks=seq(0,tx,tx/100),labels=1:100)]
+
+#Update Poors
+CBN[,Poor:=ifelse(Decile %in% 1:4,1,0)]
+CBNPoor<-CBN[Poor==1]
+CBNPoor<-merge(CBNPoor,dt2,by=c("ProvinceCode"),all.x = TRUE)
+CBNPoor[,sum(HIndivNo),by=.(ProvinceCode)][order(ProvinceCode)]
+
+
+###Iteration1-4
+#Calculate Per_calories in clusters
+CBNPoor[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(186:201)][]
+#utils::View(CBNPoor)
+
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(203:218)][]
+
+CBNPoor[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor<-CBNPoor[Per_Daily_Exp_Calories!=0]
+CBNPoor[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+#CBN[,weighted.mean(Poor,Weight),by=cluster][order(cluster)]
+
+#Real Prices
+T_Bundle_Value<-subset(CBNPoor, ProvinceCode==23, select=c(Bundle_Value,Home_Per_Metr,Weight))
+Tehran_Bundle_Value1<-weighted.mean(T_Bundle_Value$Bundle_Value,T_Bundle_Value$Weight,na.rm = TRUE)
+Tehran_Bundle_Value2<-weighted.mean(T_Bundle_Value$Home_Per_Metr,T_Bundle_Value$Weight,na.rm = TRUE)
+CBNPoor[,RealPriceIndex1:=weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/Tehran_Bundle_Value1,by=ProvinceCode]
+CBNPoor[,RealPriceIndex2:=weighted.mean(Home_Per_Metr,Weight,na.rm = TRUE)/Tehran_Bundle_Value2,by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex1,Weight),by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex2,Weight),by=ProvinceCode]
+Indexes2<-CBNPoor[,.(RealPriceIndex1,RealPriceIndex2,ProvinceCode,Weight)]
+Indexes2<-Indexes2[,RealPriceIndex:=(RealPriceIndex1+RealPriceIndex2)/2]
+Indexes<-Indexes2[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+Indexes34<-Indexes[,.(ProvinceCode,RealPriceIndex1,RealPriceIndex2,RealPriceIndex)]
+Indexes<-Indexes[,.(ProvinceCode,RealPriceIndex)]
+CBN[,RealPriceIndex:=NULL]
+CBN<-merge(CBN,Indexes,by=c("ProvinceCode"),all.x = TRUE)
+CBN<-CBN[,Total_Food_Month_Per2:=FoodExpenditure_Per*RealPriceIndex]
+CBN<-CBN[,Total_Exp_Month_Per2:=Total_Exp_Month_Per_nondurable*RealPriceIndex]
+#utils::View(CBN)
+
+
+#Sort Expenditure data
+CBN<- CBN[order(Total_Exp_Month_Per2)]
+
+#Calculate cumulative weights
+sum(CBN$Weight)
+CBN$cumweight <- cumsum(CBN$Weight)
+tx <- max(CBN$cumweight)
+
+#Calculate deciles by weights
+CBN[,Decile:=cut(cumweight,breaks = seq(0,tx,tx/10),labels = 1:10)]
+CBN[,Percentile:=cut(cumweight,breaks=seq(0,tx,tx/100),labels=1:100)]
+
+#Update Poors
+CBN[,Poor:=ifelse(Decile %in% 1:4,1,0)]
+CBNPoor<-CBN[Poor==1]
+CBNPoor<-merge(CBNPoor,dt2,by=c("ProvinceCode"),all.x = TRUE)
+CBNPoor[,sum(HIndivNo),by=.(ProvinceCode)][order(ProvinceCode)]
+
+###Iteration1-5
+#Calculate Per_calories in clusters
+CBNPoor[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(186:201)][]
+#utils::View(CBNPoor)
+
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(203:218)][]
+
+CBNPoor[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor<-CBNPoor[Per_Daily_Exp_Calories!=0]
+CBNPoor[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+#CBN[,weighted.mean(Poor,Weight),by=cluster][order(cluster)]
+
+#Real Prices
+T_Bundle_Value<-subset(CBNPoor, ProvinceCode==23, select=c(Bundle_Value,Home_Per_Metr,Weight))
+Tehran_Bundle_Value1<-weighted.mean(T_Bundle_Value$Bundle_Value,T_Bundle_Value$Weight,na.rm = TRUE)
+Tehran_Bundle_Value2<-weighted.mean(T_Bundle_Value$Home_Per_Metr,T_Bundle_Value$Weight,na.rm = TRUE)
+CBNPoor[,RealPriceIndex1:=weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/Tehran_Bundle_Value1,by=ProvinceCode]
+CBNPoor[,RealPriceIndex2:=weighted.mean(Home_Per_Metr,Weight,na.rm = TRUE)/Tehran_Bundle_Value2,by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex1,Weight),by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex2,Weight),by=ProvinceCode]
+Indexes2<-CBNPoor[,.(RealPriceIndex1,RealPriceIndex2,ProvinceCode,Weight)]
+Indexes2<-Indexes2[,RealPriceIndex:=(RealPriceIndex1+RealPriceIndex2)/2]
+Indexes<-Indexes2[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+Indexes35<-Indexes[,.(ProvinceCode,RealPriceIndex1,RealPriceIndex2,RealPriceIndex)]
+Indexes<-Indexes[,.(ProvinceCode,RealPriceIndex)]
+CBN[,RealPriceIndex:=NULL]
+CBN<-merge(CBN,Indexes,by=c("ProvinceCode"),all.x = TRUE)
+CBN<-CBN[,Total_Food_Month_Per2:=FoodExpenditure_Per*RealPriceIndex]
+CBN<-CBN[,Total_Exp_Month_Per2:=Total_Exp_Month_Per_nondurable*RealPriceIndex]
+#utils::View(CBN)
+
+
+#Sort Expenditure data
+CBN<- CBN[order(Total_Exp_Month_Per2)]
+
+#Calculate cumulative weights
+sum(CBN$Weight)
+CBN$cumweight <- cumsum(CBN$Weight)
+tx <- max(CBN$cumweight)
+
+#Calculate deciles by weights
+CBN[,Decile:=cut(cumweight,breaks = seq(0,tx,tx/10),labels = 1:10)]
+CBN[,Percentile:=cut(cumweight,breaks=seq(0,tx,tx/100),labels=1:100)]
+
+#Update Poors
+CBN[,Poor:=ifelse(Decile %in% 1:4,1,0)]
+CBNPoor<-CBN[Poor==1]
+CBNPoor<-merge(CBNPoor,dt2,by=c("ProvinceCode"),all.x = TRUE)
+CBNPoor[,sum(HIndivNo),by=.(ProvinceCode)][order(ProvinceCode)]
+
+###Iteration1-6
+#Calculate Per_calories in clusters
+CBNPoor[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(186:201)][]
+#utils::View(CBNPoor)
+
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(203:218)][]
+
+CBNPoor[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor<-CBNPoor[Per_Daily_Exp_Calories!=0]
+CBNPoor[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+#CBN[,weighted.mean(Poor,Weight),by=cluster][order(cluster)]
+
+#Real Prices
+T_Bundle_Value<-subset(CBNPoor, ProvinceCode==23, select=c(Bundle_Value,Home_Per_Metr,Weight))
+Tehran_Bundle_Value1<-weighted.mean(T_Bundle_Value$Bundle_Value,T_Bundle_Value$Weight,na.rm = TRUE)
+Tehran_Bundle_Value2<-weighted.mean(T_Bundle_Value$Home_Per_Metr,T_Bundle_Value$Weight,na.rm = TRUE)
+CBNPoor[,RealPriceIndex1:=weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/Tehran_Bundle_Value1,by=ProvinceCode]
+CBNPoor[,RealPriceIndex2:=weighted.mean(Home_Per_Metr,Weight,na.rm = TRUE)/Tehran_Bundle_Value2,by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex1,Weight),by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex2,Weight),by=ProvinceCode]
+Indexes2<-CBNPoor[,.(RealPriceIndex1,RealPriceIndex2,ProvinceCode,Weight)]
+Indexes2<-Indexes2[,RealPriceIndex:=(RealPriceIndex1+RealPriceIndex2)/2]
+Indexes<-Indexes2[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+Indexes36<-Indexes[,.(ProvinceCode,RealPriceIndex1,RealPriceIndex2,RealPriceIndex)]
+Indexes<-Indexes[,.(ProvinceCode,RealPriceIndex)]
+CBN[,RealPriceIndex:=NULL]
+CBN<-merge(CBN,Indexes,by=c("ProvinceCode"),all.x = TRUE)
+CBN<-CBN[,Total_Food_Month_Per2:=FoodExpenditure_Per*RealPriceIndex]
+CBN<-CBN[,Total_Exp_Month_Per2:=Total_Exp_Month_Per_nondurable*RealPriceIndex]
+#utils::View(CBN)
+
+
+#Sort Expenditure data
+CBN<- CBN[order(Total_Exp_Month_Per2)]
+
+#Calculate cumulative weights
+sum(CBN$Weight)
+CBN$cumweight <- cumsum(CBN$Weight)
+tx <- max(CBN$cumweight)
+
+#Calculate deciles by weights
+CBN[,Decile:=cut(cumweight,breaks = seq(0,tx,tx/10),labels = 1:10)]
+CBN[,Percentile:=cut(cumweight,breaks=seq(0,tx,tx/100),labels=1:100)]
+
+#Update Poors
+CBN[,Poor:=ifelse(Decile %in% 1:4,1,0)]
+CBNPoor<-CBN[Poor==1]
+CBNPoor<-merge(CBNPoor,dt2,by=c("ProvinceCode"),all.x = TRUE)
+CBNPoor[,sum(HIndivNo),by=.(ProvinceCode)][order(ProvinceCode)]
+
+###Iteration1-7
+#Calculate Per_calories in clusters
+CBNPoor[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(186:201)][]
+#utils::View(CBNPoor)
+
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(203:218)][]
+
+CBNPoor[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor<-CBNPoor[Per_Daily_Exp_Calories!=0]
+CBNPoor[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+#CBN[,weighted.mean(Poor,Weight),by=cluster][order(cluster)]
+
+#Real Prices
+T_Bundle_Value<-subset(CBNPoor, ProvinceCode==23, select=c(Bundle_Value,Home_Per_Metr,Weight))
+Tehran_Bundle_Value1<-weighted.mean(T_Bundle_Value$Bundle_Value,T_Bundle_Value$Weight,na.rm = TRUE)
+Tehran_Bundle_Value2<-weighted.mean(T_Bundle_Value$Home_Per_Metr,T_Bundle_Value$Weight,na.rm = TRUE)
+CBNPoor[,RealPriceIndex1:=weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/Tehran_Bundle_Value1,by=ProvinceCode]
+CBNPoor[,RealPriceIndex2:=weighted.mean(Home_Per_Metr,Weight,na.rm = TRUE)/Tehran_Bundle_Value2,by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex1,Weight),by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex2,Weight),by=ProvinceCode]
+Indexes2<-CBNPoor[,.(RealPriceIndex1,RealPriceIndex2,ProvinceCode,Weight)]
+Indexes2<-Indexes2[,RealPriceIndex:=(RealPriceIndex1+RealPriceIndex2)/2]
+Indexes<-Indexes2[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+Indexes37<-Indexes[,.(ProvinceCode,RealPriceIndex1,RealPriceIndex2,RealPriceIndex)]
+Indexes<-Indexes[,.(ProvinceCode,RealPriceIndex)]
+CBN[,RealPriceIndex:=NULL]
+CBN<-merge(CBN,Indexes,by=c("ProvinceCode"),all.x = TRUE)
+CBN<-CBN[,Total_Food_Month_Per2:=FoodExpenditure_Per*RealPriceIndex]
+CBN<-CBN[,Total_Exp_Month_Per2:=Total_Exp_Month_Per_nondurable*RealPriceIndex]
+#utils::View(CBN)
+
+
+#Sort Expenditure data
+CBN<- CBN[order(Total_Exp_Month_Per2)]
+
+#Calculate cumulative weights
+sum(CBN$Weight)
+CBN$cumweight <- cumsum(CBN$Weight)
+tx <- max(CBN$cumweight)
+
+#Calculate deciles by weights
+CBN[,Decile:=cut(cumweight,breaks = seq(0,tx,tx/10),labels = 1:10)]
+CBN[,Percentile:=cut(cumweight,breaks=seq(0,tx,tx/100),labels=1:100)]
+
+#Update Poors
+CBN[,Poor:=ifelse(Decile %in% 1:4,1,0)]
+CBNPoor<-CBN[Poor==1]
+CBNPoor<-merge(CBNPoor,dt2,by=c("ProvinceCode"),all.x = TRUE)
+CBNPoor[,sum(HIndivNo),by=.(ProvinceCode)][order(ProvinceCode)]
+
+###Iteration1-8
+#Calculate Per_calories in clusters
+CBNPoor[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(186:201)][]
+#utils::View(CBNPoor)
+
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(203:218)][]
+
+CBNPoor[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor<-CBNPoor[Per_Daily_Exp_Calories!=0]
+CBNPoor[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+#CBN[,weighted.mean(Poor,Weight),by=cluster][order(cluster)]
+
+#Real Prices
+T_Bundle_Value<-subset(CBNPoor, ProvinceCode==23, select=c(Bundle_Value,Home_Per_Metr,Weight))
+Tehran_Bundle_Value1<-weighted.mean(T_Bundle_Value$Bundle_Value,T_Bundle_Value$Weight,na.rm = TRUE)
+Tehran_Bundle_Value2<-weighted.mean(T_Bundle_Value$Home_Per_Metr,T_Bundle_Value$Weight,na.rm = TRUE)
+CBNPoor[,RealPriceIndex1:=weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/Tehran_Bundle_Value1,by=ProvinceCode]
+CBNPoor[,RealPriceIndex2:=weighted.mean(Home_Per_Metr,Weight,na.rm = TRUE)/Tehran_Bundle_Value2,by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex1,Weight),by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex2,Weight),by=ProvinceCode]
+Indexes2<-CBNPoor[,.(RealPriceIndex1,RealPriceIndex2,ProvinceCode,Weight)]
+Indexes2<-Indexes2[,RealPriceIndex:=(RealPriceIndex1+RealPriceIndex2)/2]
+Indexes<-Indexes2[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+Indexes38<-Indexes[,.(ProvinceCode,RealPriceIndex1,RealPriceIndex2,RealPriceIndex)]
+Indexes<-Indexes[,.(ProvinceCode,RealPriceIndex)]
+CBN[,RealPriceIndex:=NULL]
+CBN<-merge(CBN,Indexes,by=c("ProvinceCode"),all.x = TRUE)
+CBN<-CBN[,Total_Food_Month_Per2:=FoodExpenditure_Per*RealPriceIndex]
+CBN<-CBN[,Total_Exp_Month_Per2:=Total_Exp_Month_Per_nondurable*RealPriceIndex]
+#utils::View(CBN)
+
+
+#Sort Expenditure data
+CBN<- CBN[order(Total_Exp_Month_Per2)]
+
+#Calculate cumulative weights
+sum(CBN$Weight)
+CBN$cumweight <- cumsum(CBN$Weight)
+tx <- max(CBN$cumweight)
+
+#Calculate deciles by weights
+CBN[,Decile:=cut(cumweight,breaks = seq(0,tx,tx/10),labels = 1:10)]
+CBN[,Percentile:=cut(cumweight,breaks=seq(0,tx,tx/100),labels=1:100)]
+
+#Update Poors
+CBN[,Poor:=ifelse(Decile %in% 1:4,1,0)]
+CBNPoor<-CBN[Poor==1]
+CBNPoor<-merge(CBNPoor,dt2,by=c("ProvinceCode"),all.x = TRUE)
+CBNPoor[,sum(HIndivNo),by=.(ProvinceCode)][order(ProvinceCode)]
+
+###Iteration1-9
+#Calculate Per_calories in clusters
+CBNPoor[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(186:201)][]
+#utils::View(CBNPoor)
+
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(203:218)][]
+
+CBNPoor[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor<-CBNPoor[Per_Daily_Exp_Calories!=0]
+CBNPoor[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+#CBN[,weighted.mean(Poor,Weight),by=cluster][order(cluster)]
+
+#Real Prices
+T_Bundle_Value<-subset(CBNPoor, ProvinceCode==23, select=c(Bundle_Value,Home_Per_Metr,Weight))
+Tehran_Bundle_Value1<-weighted.mean(T_Bundle_Value$Bundle_Value,T_Bundle_Value$Weight,na.rm = TRUE)
+Tehran_Bundle_Value2<-weighted.mean(T_Bundle_Value$Home_Per_Metr,T_Bundle_Value$Weight,na.rm = TRUE)
+CBNPoor[,RealPriceIndex1:=weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/Tehran_Bundle_Value1,by=ProvinceCode]
+CBNPoor[,RealPriceIndex2:=weighted.mean(Home_Per_Metr,Weight,na.rm = TRUE)/Tehran_Bundle_Value2,by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex1,Weight),by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex2,Weight),by=ProvinceCode]
+Indexes2<-CBNPoor[,.(RealPriceIndex1,RealPriceIndex2,ProvinceCode,Weight)]
+Indexes2<-Indexes2[,RealPriceIndex:=(RealPriceIndex1+RealPriceIndex2)/2]
+Indexes<-Indexes2[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+Indexes39<-Indexes[,.(ProvinceCode,RealPriceIndex1,RealPriceIndex2,RealPriceIndex)]
+Indexes<-Indexes[,.(ProvinceCode,RealPriceIndex)]
+CBN[,RealPriceIndex:=NULL]
+CBN<-merge(CBN,Indexes,by=c("ProvinceCode"),all.x = TRUE)
+CBN<-CBN[,Total_Food_Month_Per2:=FoodExpenditure_Per*RealPriceIndex]
+CBN<-CBN[,Total_Exp_Month_Per2:=Total_Exp_Month_Per_nondurable*RealPriceIndex]
+#utils::View(CBN)
+
+
+#Sort Expenditure data
+CBN<- CBN[order(Total_Exp_Month_Per2)]
+
+#Calculate cumulative weights
+sum(CBN$Weight)
+CBN$cumweight <- cumsum(CBN$Weight)
+tx <- max(CBN$cumweight)
+
+#Calculate deciles by weights
+CBN[,Decile:=cut(cumweight,breaks = seq(0,tx,tx/10),labels = 1:10)]
+CBN[,Percentile:=cut(cumweight,breaks=seq(0,tx,tx/100),labels=1:100)]
+
+#Update Poors
+CBN[,Poor:=ifelse(Decile %in% 1:4,1,0)]
+CBNPoor<-CBN[Poor==1]
+CBNPoor<-merge(CBNPoor,dt2,by=c("ProvinceCode"),all.x = TRUE)
+CBNPoor[,sum(HIndivNo),by=.(ProvinceCode)][order(ProvinceCode)]
+
+###Iteration1-10
+#Calculate Per_calories in clusters
+CBNPoor[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(186:201)][]
+#utils::View(CBNPoor)
+
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(203:218)][]
+
+CBNPoor[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor<-CBNPoor[Per_Daily_Exp_Calories!=0]
+CBNPoor[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+#CBN[,weighted.mean(Poor,Weight),by=cluster][order(cluster)]
+
+#Real Prices
+T_Bundle_Value<-subset(CBNPoor, ProvinceCode==23, select=c(Bundle_Value,Home_Per_Metr,Weight))
+Tehran_Bundle_Value1<-weighted.mean(T_Bundle_Value$Bundle_Value,T_Bundle_Value$Weight,na.rm = TRUE)
+Tehran_Bundle_Value2<-weighted.mean(T_Bundle_Value$Home_Per_Metr,T_Bundle_Value$Weight,na.rm = TRUE)
+CBNPoor[,RealPriceIndex1:=weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/Tehran_Bundle_Value1,by=ProvinceCode]
+CBNPoor[,RealPriceIndex2:=weighted.mean(Home_Per_Metr,Weight,na.rm = TRUE)/Tehran_Bundle_Value2,by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex1,Weight),by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex2,Weight),by=ProvinceCode]
+Indexes2<-CBNPoor[,.(RealPriceIndex1,RealPriceIndex2,ProvinceCode,Weight)]
+Indexes2<-Indexes2[,RealPriceIndex:=(RealPriceIndex1+RealPriceIndex2)/2]
+Indexes<-Indexes2[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+Indexes310<-Indexes[,.(ProvinceCode,RealPriceIndex1,RealPriceIndex2,RealPriceIndex)]
+Indexes<-Indexes[,.(ProvinceCode,RealPriceIndex)]
+CBN[,RealPriceIndex:=NULL]
+CBN<-merge(CBN,Indexes,by=c("ProvinceCode"),all.x = TRUE)
+CBN<-CBN[,Total_Food_Month_Per2:=FoodExpenditure_Per*RealPriceIndex]
+CBN<-CBN[,Total_Exp_Month_Per2:=Total_Exp_Month_Per_nondurable*RealPriceIndex]
+#utils::View(CBN)
+
+
+#Sort Expenditure data
+CBN<- CBN[order(Total_Exp_Month_Per2)]
+
+#Calculate cumulative weights
+sum(CBN$Weight)
+CBN$cumweight <- cumsum(CBN$Weight)
+tx <- max(CBN$cumweight)
+
+#Calculate deciles by weights
+CBN[,Decile:=cut(cumweight,breaks = seq(0,tx,tx/10),labels = 1:10)]
+CBN[,Percentile:=cut(cumweight,breaks=seq(0,tx,tx/100),labels=1:100)]
+
+#Update Poors
+CBN[,Poor:=ifelse(Decile %in% 1:4,1,0)]
+CBNPoor<-CBN[Poor==1]
+CBNPoor<-merge(CBNPoor,dt2,by=c("ProvinceCode"),all.x = TRUE)
+CBNPoor[,sum(HIndivNo),by=.(ProvinceCode)][order(ProvinceCode)]
+
+
+#Calculate Per_calories in clusters
+CBNPoor[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(189:204)][]
+#utils::View(CBNPoor)
+
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(206:221)][]
+
+CBNPoor[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor<-CBNPoor[Per_Daily_Exp_Calories!=0]
+CBNPoor[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNCalory<-CBNPoor[,.(Per_Daily_Calories,Per_Daily_Exp_Calories,Per_Calory_Resturant,Resturant_Exp,cluster,ProvinceCode)]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+
+
+#Calculations
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_day,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,sum(Size*Weight),by=cluster][order(cluster)]
+
+
+#Food Poverty Line for each cluster
+#cluster 1
+CBNPoorCluster<-CBNPoor[cluster==1]
+Food_Povertyline1_1<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 2
+CBNPoorCluster<-CBNPoor[cluster==2]
+Food_Povertyline2_1<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 3
+CBNPoorCluster<-CBNPoor[cluster==3]
+Food_Povertyline3_1<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 4
+CBNPoorCluster<-CBNPoor[cluster==4]
+Food_Povertyline4_1<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 5
+CBNPoorCluster<-CBNPoor[cluster==5]
+Food_Povertyline5_1<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#ee<-CBNPoor[,.(Total_Exp_Month_Real,Total_Exp_Month,Total_Food_Month_Per2,Total_Exp_Month_Per_nondurable,Total_Exp_Month_nondurable_Real_Per,FoodExpenditure_Per,cluster)]
+#mean(ee[,Total_Food_Month_Per2==Total_Exp_Month_nondurable_Real])
+#mean(ee[,Total_Food_Month_Per2<3500000])
+#ee<- ee[order(Total_Food_Month_Per2)]
+#utils::View(CBN)
+CBN<-merge(CBN,dt2,by=c("ProvinceCode"),all.x = TRUE)
+#for (col in c("Total_Food_Month_Per2")) CBN[is.na(get(col)), (col) := Total_Exp_Month_Per_nondurable]
+c<-CBN[,.(FoodExpenditure_Per,FoodExpenditure_Per_total,Total_Exp_Month_Per_nondurable,Total_Exp_Month,Total_Food_Month_Per2,Poor,Decile,Weight,cluster)]
+
+#########Iteration 2###############
+#Sort Expenditure data
+CBN<- CBN[order(Total_Food_Month_Per2)]
+c<- c[order(Total_Food_Month_Per2)]
+
+#Indicate new poors
+CBN[,Poor2:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_1 & cluster==1,1,0)]
+c[,Poor2:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_1 & cluster==1 ,1,0)]
+CBN[,Poor2:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_1 & cluster==2,1,Poor2)]
+c[,Poor2:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_1 & cluster==2 ,1,Poor2)]
+CBN[,Poor2:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_1 & cluster==3,1,Poor2)]
+c[,Poor2:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_1 & cluster==3 ,1,Poor2)]
+CBN[,Poor2:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_1 & cluster==4,1,Poor2)]
+c[,Poor2:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_1 & cluster==4 ,1,Poor2)]
+CBN[,Poor2:=ifelse(FoodExpenditure_Per_total < Food_Povertyline5_1 & cluster==5,1,Poor2)]
+c[,Poor2:=ifelse(FoodExpenditure_Per_total < Food_Povertyline5_1 & cluster==5 ,1,Poor2)]
+CBN[,weighted.mean(Poor2,Weight),by=cluster][order(cluster)]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2<-CBN[Poor2==1]
+
+
+#CalculatePer_calories in clusters
+CBNPoor2[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(190:205)][]
+#utils::View(CBNPoor2)
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor2[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(207:222)][]
+
+CBNPoor2[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor2[,Calory_Price:=FoodExpenditure_Per_cluster/(Daily_Calories_cluster2)]
+CBNPoor2[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor2[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2<-CBNPoor2[Per_Daily_Exp_Calories!=0]
+CBNPoor2[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor2[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor2[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor2[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor2[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor2[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+
+
+
+#Calculations
+CBNPoor2[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,weighted.mean(FoodExpenditure_Per_day,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+
+
+
+#Food Poverty Line for each cluster
+#cluster 1
+CBNPoorCluster<-CBNPoor2[cluster==1]
+Food_Povertyline1_2<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 2
+CBNPoorCluster<-CBNPoor2[cluster==2]
+Food_Povertyline2_2<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 3
+CBNPoorCluster<-CBNPoor2[cluster==3]
+Food_Povertyline3_2<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 4
+CBNPoorCluster<-CBNPoor2[cluster==4]
+Food_Povertyline4_2<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 5
+CBNPoorCluster<-CBNPoor[cluster==5]
+Food_Povertyline5_2<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#ee<-CBNPoor[,.(Total_Exp_Month_Real,Total_Exp_Month,Total_Food_Month_Per2,Total_Exp_Month_Per_nondurable,Total_Exp_Month_nondurable_Real_Per,FoodExpenditure_Per,cluster)]
+#mean(ee[,Total_Food_Month_Per2==Total_Exp_Month_nondurable_Real])
+#mean(ee[,Total_Food_Month_Per2<3500000])
+#ee<- ee[order(Total_Food_Month_Per2)]
+#utils::View(CBN)
+#for (col in c("Total_Food_Month_Per2")) CBN[is.na(get(col)), (col) := Total_Exp_Month_Per_nondurable]
+c<-CBN[,.(FoodExpenditure_Per,FoodExpenditure_Per_total,Total_Exp_Month_Per_nondurable,Total_Exp_Month,Total_Food_Month_Per2,Poor,Decile,Weight,cluster)]
+
+
+#########Iteration 3###############
+#Sort Expenditure data
+CBN<- CBN[order(Total_Food_Month_Per2)]
+c<- c[order(Total_Food_Month_Per2)]
+
+#Indicate new poors
+CBN[,Poor3:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_2 & cluster==1,1,0)]
+c[,Poor3:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_2 & cluster==1 ,1,0)]
+CBN[,Poor3:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_2 & cluster==2,1,Poor3)]
+c[,Poor3:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_2 & cluster==2 ,1,Poor3)]
+CBN[,Poor3:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_2 & cluster==3,1,Poor3)]
+c[,Poor3:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_2 & cluster==3 ,1,Poor3)]
+CBN[,Poor3:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_2 & cluster==4,1,Poor3)]
+c[,Poor3:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_2 & cluster==4 ,1,Poor3)]
+CBN[,Poor3:=ifelse(FoodExpenditure_Per_total < Food_Povertyline5_2 & cluster==5,1,Poor3)]
+c[,Poor3:=ifelse(FoodExpenditure_Per_total < Food_Povertyline5_2 & cluster==5 ,1,Poor3)]
+CBN[,weighted.mean(Poor3,Weight),by=cluster][order(cluster)]
+CBNPoor2[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3<-CBN[Poor3==1]
+
+
+
+#CalculatePer_calories in clusters
+CBNPoor3[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(191:206)][]
+#utils::View(CBNPoor3)
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor3[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(208:223)][]
+
+
+CBNPoor3[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor3[,Calory_Price:=FoodExpenditure_Per_cluster/(Daily_Calories_cluster2)]
+CBNPoor3[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor3[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3<-CBNPoor3[Per_Daily_Exp_Calories!=0]
+CBNPoor3[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor3[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+
+#sum of total food expenditures
+CBNPoor3[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor3[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor3[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor3[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+
+
+#Calculations
+CBNPoor3[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,weighted.mean(FoodExpenditure_Per_day,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+
+
+
+#Food Poverty Line for each cluster
+#cluster 1
+CBNPoorCluster<-CBNPoor3[cluster==1]
+Food_Povertyline1_3<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 2
+CBNPoorCluster<-CBNPoor3[cluster==2]
+Food_Povertyline2_3<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 3
+CBNPoorCluster<-CBNPoor3[cluster==3]
+Food_Povertyline3_3<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 4
+CBNPoorCluster<-CBNPoor3[cluster==4]
+Food_Povertyline4_3<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 5
+CBNPoorCluster<-CBNPoor[cluster==5]
+Food_Povertyline5_3<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#ee<-CBNPoor[,.(Total_Exp_Month_Real,Total_Exp_Month,Total_Food_Month_Per2,Total_Exp_Month_Per_nondurable,Total_Exp_Month_nondurable_Real_Per,FoodExpenditure_Per,cluster)]
+#mean(ee[,Total_Food_Month_Per2==Total_Exp_Month_nondurable_Real])
+#mean(ee[,Total_Food_Month_Per2<3500000])
+#ee<- ee[order(Total_Food_Month_Per2)]
+#utils::View(CBN)
+#for (col in c("Total_Food_Month_Per2")) CBN[is.na(get(col)), (col) := Total_Exp_Month_Per_nondurable]
+c<-CBN[,.(FoodExpenditure_Per,FoodExpenditure_Per_total,Total_Exp_Month_Per_nondurable,Total_Exp_Month,Total_Food_Month_Per2,Poor,Decile,Weight,cluster)]
+
+
+#########Iteration 4###############
+#Sort Expenditure data
+CBN<- CBN[order(Total_Food_Month_Per2)]
+c<- c[order(Total_Food_Month_Per2)]
+
+#Indicate new poors
+CBN[,Poor4:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_3 & cluster==1,1,0)]
+c[,Poor4:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_3 & cluster==1 ,1,0)]
+CBN[,Poor4:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_3 & cluster==2,1,Poor4)]
+c[,Poor4:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_3 & cluster==2 ,1,Poor4)]
+CBN[,Poor4:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_3 & cluster==3,1,Poor4)]
+c[,Poor4:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_3 & cluster==3 ,1,Poor4)]
+CBN[,Poor4:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_3 & cluster==4,1,Poor4)]
+c[,Poor4:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_3 & cluster==4 ,1,Poor4)]
+CBN[,Poor4:=ifelse(FoodExpenditure_Per_total < Food_Povertyline5_3 & cluster==5,1,Poor4)]
+c[,Poor4:=ifelse(FoodExpenditure_Per_total < Food_Povertyline5_3 & cluster==5 ,1,Poor4)]
+CBN[,weighted.mean(Poor4,Weight),by=cluster][order(cluster)]
+CBNPoor3[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4<-CBN[Poor4==1]
+
+#CalculatePer_calories in clusters
+CBNPoor4[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(191:206)][]
+#utils::View(CBNPoor4)
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor4[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(208:223)][]
+
+
+CBNPoor4[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor4[,Calory_Price:=FoodExpenditure_Per_cluster/(Daily_Calories_cluster2)]
+CBNPoor4[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor4[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4<-CBNPoor4[Per_Daily_Exp_Calories!=0]
+CBNPoor4[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor4[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+
+#sum of total food expenditures
+CBNPoor4[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor4[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor4[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor4[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+
+
+#Calculations
+CBNPoor4[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,weighted.mean(FoodExpenditure_Per_day,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+
+
+
+#Food Poverty Line for each cluster
+#cluster 1
+CBNPoorCluster<-CBNPoor4[cluster==1]
+Food_Povertyline1_4<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 2
+CBNPoorCluster<-CBNPoor4[cluster==2]
+Food_Povertyline2_4<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 3
+CBNPoorCluster<-CBNPoor4[cluster==3]
+Food_Povertyline3_4<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 4
+CBNPoorCluster<-CBNPoor4[cluster==4]
+Food_Povertyline4_4<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 5
+CBNPoorCluster<-CBNPoor[cluster==5]
+Food_Povertyline5_4<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#ee<-CBNPoor[,.(Total_Exp_Month_Real,Total_Exp_Month,Total_Food_Month_Per2,Total_Exp_Month_Per_nondurable,Total_Exp_Month_nondurable_Real_Per,FoodExpenditure_Per,cluster)]
+#mean(ee[,Total_Food_Month_Per2==Total_Exp_Month_nondurable_Real])
+#mean(ee[,Total_Food_Month_Per2<3500000])
+#ee<- ee[order(Total_Food_Month_Per2)]
+#utils::View(CBN)
+#for (col in c("Total_Food_Month_Per2")) CBN[is.na(get(col)), (col) := Total_Exp_Month_Per_nondurable]
+c<-CBN[,.(FoodExpenditure_Per,FoodExpenditure_Per_total,Total_Exp_Month_Per_nondurable,Total_Exp_Month,Total_Food_Month_Per2,Poor,Decile,Weight,cluster)]
+
+
+#########Iteration 5###############
+#Sort Expenditure data
+CBN<- CBN[order(Total_Food_Month_Per2)]
+c<- c[order(Total_Food_Month_Per2)]
+
+#Indicate new poors
+CBN[,Poor5:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_4 & cluster==1,1,0)]
+c[,Poor5:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_4 & cluster==1 ,1,0)]
+CBN[,Poor5:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_4 & cluster==2,1,Poor5)]
+c[,Poor5:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_4 & cluster==2 ,1,Poor5)]
+CBN[,Poor5:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_4 & cluster==3,1,Poor5)]
+c[,Poor5:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_4 & cluster==3 ,1,Poor5)]
+CBN[,Poor5:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_4 & cluster==4,1,Poor5)]
+c[,Poor5:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_4 & cluster==4 ,1,Poor5)]
+CBN[,Poor5:=ifelse(FoodExpenditure_Per_total < Food_Povertyline5_4 & cluster==5,1,Poor5)]
+c[,Poor5:=ifelse(FoodExpenditure_Per_total < Food_Povertyline5_4 & cluster==5 ,1,Poor5)]
+CBN[,weighted.mean(Poor5,Weight),by=cluster][order(cluster)]
+CBNPoor4[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5<-CBN[Poor5==1]
+
+#CalculatePer_calories in clusters
+CBNPoor5[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(191:206)][]
+#utils::View(CBNPoor5)
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor5[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(208:223)][]
+
+
+CBNPoor5[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor5[,Calory_Price:=FoodExpenditure_Per_cluster/(Daily_Calories_cluster2)]
+CBNPoor5[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor5[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5<-CBNPoor5[Per_Daily_Exp_Calories!=0]
+CBNPoor5[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor5[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+
+#sum of total food expenditures
+CBNPoor5[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor5[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor5[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor5[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+
+
+#Calculations
+CBNPoor5[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,weighted.mean(FoodExpenditure_Per_day,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+
+
+
+#Food Poverty Line for each cluster
+#cluster 1
+CBNPoorCluster<-CBNPoor5[cluster==1]
+Food_Povertyline1_5<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 2
+CBNPoorCluster<-CBNPoor5[cluster==2]
+Food_Povertyline2_5<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 3
+CBNPoorCluster<-CBNPoor5[cluster==3]
+Food_Povertyline3_5<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 4
+CBNPoorCluster<-CBNPoor5[cluster==4]
+Food_Povertyline4_5<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 5
+CBNPoorCluster<-CBNPoor[cluster==5]
+Food_Povertyline5_5<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#ee<-CBNPoor[,.(Total_Exp_Month_Real,Total_Exp_Month,Total_Food_Month_Per2,Total_Exp_Month_Per_nondurable,Total_Exp_Month_nondurable_Real_Per,FoodExpenditure_Per,cluster)]
+#mean(ee[,Total_Food_Month_Per2==Total_Exp_Month_nondurable_Real])
+#mean(ee[,Total_Food_Month_Per2<3500000])
+#ee<- ee[order(Total_Food_Month_Per2)]
+#utils::View(CBN)
+#for (col in c("Total_Food_Month_Per2")) CBN[is.na(get(col)), (col) := Total_Exp_Month_Per_nondurable]
+c<-CBN[,.(FoodExpenditure_Per,FoodExpenditure_Per_total,Total_Exp_Month_Per_nondurable,Total_Exp_Month,Total_Food_Month_Per2,Poor,Decile,Weight,cluster)]
+
+
+#########Iteration 6###############
+#Sort Expenditure data
+CBN<- CBN[order(Total_Food_Month_Per2)]
+c<- c[order(Total_Food_Month_Per2)]
+
+#Indicate new poors
+CBN[,Poor6:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_5 & cluster==1,1,0)]
+c[,Poor6:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_5 & cluster==1 ,1,0)]
+CBN[,Poor6:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_5 & cluster==2,1,Poor6)]
+c[,Poor6:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_5 & cluster==2 ,1,Poor6)]
+CBN[,Poor6:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_5 & cluster==3,1,Poor6)]
+c[,Poor6:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_5 & cluster==3 ,1,Poor6)]
+CBN[,Poor6:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_5 & cluster==4,1,Poor6)]
+c[,Poor6:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_5 & cluster==4 ,1,Poor6)]
+CBN[,Poor6:=ifelse(FoodExpenditure_Per_total < Food_Povertyline5_5 & cluster==5,1,Poor6)]
+c[,Poor6:=ifelse(FoodExpenditure_Per_total < Food_Povertyline5_5 & cluster==5 ,1,Poor6)]
+CBN[,weighted.mean(Poor6,Weight),by=cluster][order(cluster)]
+CBNPoor5[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6<-CBN[Poor6==1]
+
+#CalculatePer_calories in clusters
+CBNPoor6[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(191:206)][]
+#utils::View(CBNPoor6)
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor6[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(208:223)][]
+
+
+CBNPoor6[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor6[,Calory_Price:=FoodExpenditure_Per_cluster/(Daily_Calories_cluster2)]
+CBNPoor6[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor6[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6<-CBNPoor6[Per_Daily_Exp_Calories!=0]
+CBNPoor6[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor6[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+
+#sum of total food expenditures
+CBNPoor6[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor6[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor6[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor6[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+
+
+#Calculations
+CBNPoor6[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,weighted.mean(FoodExpenditure_Per_day,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+
+
+#Food Poverty Line for each cluster
+#cluster 1
+CBNPoorCluster<-CBNPoor6[cluster==1]
+Food_Povertyline1_6<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 2
+CBNPoorCluster<-CBNPoor6[cluster==2]
+Food_Povertyline2_6<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 3
+CBNPoorCluster<-CBNPoor6[cluster==3]
+Food_Povertyline3_6<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 4
+CBNPoorCluster<-CBNPoor6[cluster==4]
+Food_Povertyline4_6<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 5
+CBNPoorCluster<-CBNPoor[cluster==5]
+Food_Povertyline5_6<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#ee<-CBNPoor[,.(Total_Exp_Month_Real,Total_Exp_Month,Total_Food_Month_Per2,Total_Exp_Month_Per_nondurable,Total_Exp_Month_nondurable_Real_Per,FoodExpenditure_Per,cluster)]
+#mean(ee[,Total_Food_Month_Per2==Total_Exp_Month_nondurable_Real])
+#mean(ee[,Total_Food_Month_Per2<3500000])
+#ee<- ee[order(Total_Food_Month_Per2)]
+#utils::View(CBN)
+#for (col in c("Total_Food_Month_Per2")) CBN[is.na(get(col)), (col) := Total_Exp_Month_Per_nondurable]
+c<-CBN[,.(FoodExpenditure_Per,FoodExpenditure_Per_total,Total_Exp_Month_Per_nondurable,Total_Exp_Month,Total_Food_Month_Per2,Poor,Decile,Weight,cluster)]
+
+
+#########Iteration 7###############
+#Sort Expenditure data
+CBN<- CBN[order(Total_Food_Month_Per2)]
+c<- c[order(Total_Food_Month_Per2)]
+
+#Indicate new poors
+CBN[,Poor7:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_6 & cluster==1,1,0)]
+c[,Poor7:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_6 & cluster==1 ,1,0)]
+CBN[,Poor7:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_6 & cluster==2,1,Poor7)]
+c[,Poor7:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_6 & cluster==2 ,1,Poor7)]
+CBN[,Poor7:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_6 & cluster==3,1,Poor7)]
+c[,Poor7:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_6 & cluster==3 ,1,Poor7)]
+CBN[,Poor7:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_6 & cluster==4,1,Poor7)]
+c[,Poor7:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_6 & cluster==4 ,1,Poor7)]
+CBN[,Poor7:=ifelse(FoodExpenditure_Per_total < Food_Povertyline5_6 & cluster==5,1,Poor7)]
+c[,Poor7:=ifelse(FoodExpenditure_Per_total < Food_Povertyline5_6 & cluster==5 ,1,Poor7)]
+CBN[,weighted.mean(Poor7,Weight),by=cluster][order(cluster)]
+CBNPoor6[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7<-CBN[Poor7==1]
+
+#CalculatePer_calories in clusters
+CBNPoor7[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(191:206)][]
+#utils::View(CBNPoor7)
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor7[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(208:223)][]
+
+
+CBNPoor7[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor7[,Calory_Price:=FoodExpenditure_Per_cluster/(Daily_Calories_cluster2)]
+CBNPoor7[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor7[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7<-CBNPoor7[Per_Daily_Exp_Calories!=0]
+CBNPoor7[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor7[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+
+#sum of total food expenditures
+CBNPoor7[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor7[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor7[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor7[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+
+
+#Calculations
+CBNPoor7[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,weighted.mean(FoodExpenditure_Per_day,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+
+
+
+#Food Poverty Line for each cluster
+#cluster 1
+CBNPoorCluster<-CBNPoor7[cluster==1]
+Food_Povertyline1_7<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 2
+CBNPoorCluster<-CBNPoor7[cluster==2]
+Food_Povertyline2_7<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 3
+CBNPoorCluster<-CBNPoor7[cluster==3]
+Food_Povertyline3_7<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 4
+CBNPoorCluster<-CBNPoor7[cluster==4]
+Food_Povertyline4_7<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 5
+CBNPoorCluster<-CBNPoor[cluster==5]
+Food_Povertyline5_7<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#ee<-CBNPoor[,.(Total_Exp_Month_Real,Total_Exp_Month,Total_Food_Month_Per2,Total_Exp_Month_Per_nondurable,Total_Exp_Month_nondurable_Real_Per,FoodExpenditure_Per,cluster)]
+#mean(ee[,Total_Food_Month_Per2==Total_Exp_Month_nondurable_Real])
+#mean(ee[,Total_Food_Month_Per2<3500000])
+#ee<- ee[order(Total_Food_Month_Per2)]
+#utils::View(CBN)
+#for (col in c("Total_Food_Month_Per2")) CBN[is.na(get(col)), (col) := Total_Exp_Month_Per_nondurable]
+c<-CBN[,.(FoodExpenditure_Per,FoodExpenditure_Per_total,Total_Exp_Month_Per_nondurable,Total_Exp_Month,Total_Food_Month_Per2,Poor,Decile,Weight,cluster)]
+
+
+#########Iteration 8###############
+#Sort Expenditure data
+CBN<- CBN[order(Total_Food_Month_Per2)]
+c<- c[order(Total_Food_Month_Per2)]
+
+#Indicate new poors
+CBN[,Poor8:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_7 & cluster==1,1,0)]
+c[,Poor8:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_7 & cluster==1 ,1,0)]
+CBN[,Poor8:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_7 & cluster==2,1,Poor8)]
+c[,Poor8:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_7 & cluster==2 ,1,Poor8)]
+CBN[,Poor8:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_7 & cluster==3,1,Poor8)]
+c[,Poor8:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_7 & cluster==3 ,1,Poor8)]
+CBN[,Poor8:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_7 & cluster==4,1,Poor8)]
+c[,Poor8:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_7 & cluster==4 ,1,Poor8)]
+CBN[,Poor8:=ifelse(FoodExpenditure_Per_total < Food_Povertyline5_7 & cluster==5,1,Poor8)]
+c[,Poor8:=ifelse(FoodExpenditure_Per_total < Food_Povertyline5_7 & cluster==5 ,1,Poor8)]
+CBN[,weighted.mean(Poor8,Weight),by=cluster][order(cluster)]
+CBNPoor7[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8<-CBN[Poor8==1]
+
+
+#CalculatePer_calories in clusters
+CBNPoor8[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(191:206)][]
+#utils::View(CBNPoor8)
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor8[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(208:223)][]
+
+
+CBNPoor8[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor8[,Calory_Price:=FoodExpenditure_Per_cluster/(Daily_Calories_cluster2)]
+CBNPoor8[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor8[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8<-CBNPoor8[Per_Daily_Exp_Calories!=0]
+CBNPoor8[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor8[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+
+#sum of total food expenditures
+CBNPoor8[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor8[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor8[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor8[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+
+
+#Calculations
+CBNPoor8[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,weighted.mean(FoodExpenditure_Per_day,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+
+
+
+#Food Poverty Line for each cluster
+#cluster 1
+CBNPoorCluster<-CBNPoor8[cluster==1]
+Food_Povertyline1_8<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 2
+CBNPoorCluster<-CBNPoor8[cluster==2]
+Food_Povertyline2_8<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 3
+CBNPoorCluster<-CBNPoor8[cluster==3]
+Food_Povertyline3_8<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 4
+CBNPoorCluster<-CBNPoor8[cluster==4]
+Food_Povertyline4_8<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 5
+CBNPoorCluster<-CBNPoor[cluster==5]
+Food_Povertyline5_8<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#ee<-CBNPoor[,.(Total_Exp_Month_Real,Total_Exp_Month,Total_Food_Month_Per2,Total_Exp_Month_Per_nondurable,Total_Exp_Month_nondurable_Real_Per,FoodExpenditure_Per,cluster)]
+#mean(ee[,Total_Food_Month_Per2==Total_Exp_Month_nondurable_Real])
+#mean(ee[,Total_Food_Month_Per2<3500000])
+#ee<- ee[order(Total_Food_Month_Per2)]
+#utils::View(CBN)
+#for (col in c("Total_Food_Month_Per2")) CBN[is.na(get(col)), (col) := Total_Exp_Month_Per_nondurable]
+c<-CBN[,.(FoodExpenditure_Per,FoodExpenditure_Per_total,Total_Exp_Month_Per_nondurable,Total_Exp_Month,Total_Food_Month_Per2,Poor,Decile,Weight,cluster)]
+
+
+#########Iteration 9###############
+#Sort Expenditure data
+CBN<- CBN[order(Total_Food_Month_Per2)]
+c<- c[order(Total_Food_Month_Per2)]
+
+#Indicate new poors
+CBN[,Poor9:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_8 & cluster==1,1,0)]
+c[,Poor9:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_8 & cluster==1 ,1,0)]
+CBN[,Poor9:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_8 & cluster==2,1,Poor9)]
+c[,Poor9:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_8 & cluster==2 ,1,Poor9)]
+CBN[,Poor9:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_8 & cluster==3,1,Poor9)]
+c[,Poor9:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_8 & cluster==3 ,1,Poor9)]
+CBN[,Poor9:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_8 & cluster==4,1,Poor9)]
+c[,Poor9:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_8 & cluster==4 ,1,Poor9)]
+CBN[,Poor9:=ifelse(FoodExpenditure_Per_total < Food_Povertyline5_8 & cluster==5,1,Poor9)]
+c[,Poor9:=ifelse(FoodExpenditure_Per_total < Food_Povertyline5_8 & cluster==5 ,1,Poor9)]
+CBN[,weighted.mean(Poor9,Weight),by=cluster][order(cluster)]
+CBNPoor8[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9<-CBN[Poor9==1]
+
+
+#CalculatePer_calories in clusters
+CBNPoor9[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(191:206)][]
+#utils::View(CBNPoor9)
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor9[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(208:223)][]
+
+
+CBNPoor9[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor9[,Calory_Price:=FoodExpenditure_Per_cluster/(Daily_Calories_cluster2)]
+CBNPoor9[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor9[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9<-CBNPoor9[Per_Daily_Exp_Calories!=0]
+CBNPoor9[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor9[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+
+#sum of total food expenditures
+CBNPoor9[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor9[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor9[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor9[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+
+
+
+#Calculations
+CBNPoor9[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,weighted.mean(FoodExpenditure_Per_day,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+
+
+
+#Food Poverty Line for each cluster
+#cluster 1
+CBNPoorCluster<-CBNPoor9[cluster==1]
+Food_Povertyline1_9<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 2
+CBNPoorCluster<-CBNPoor9[cluster==2]
+Food_Povertyline2_9<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 3
+CBNPoorCluster<-CBNPoor9[cluster==3]
+Food_Povertyline3_9<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 4
+CBNPoorCluster<-CBNPoor9[cluster==4]
+Food_Povertyline4_9<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 5
+CBNPoorCluster<-CBNPoor[cluster==5]
+Food_Povertyline5_9<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#ee<-CBNPoor[,.(Total_Exp_Month_Real,Total_Exp_Month,Total_Food_Month_Per2,Total_Exp_Month_Per_nondurable,Total_Exp_Month_nondurable_Real_Per,FoodExpenditure_Per,cluster)]
+#mean(ee[,Total_Food_Month_Per2==Total_Exp_Month_nondurable_Real])
+#mean(ee[,Total_Food_Month_Per2<3500000])
+#ee<- ee[order(Total_Food_Month_Per2)]
+#utils::View(CBN)
+#for (col in c("Total_Food_Month_Per2")) CBN[is.na(get(col)), (col) := Total_Exp_Month_Per_nondurable]
+c<-CBN[,.(FoodExpenditure_Per,FoodExpenditure_Per_total,Total_Exp_Month_Per_nondurable,Total_Exp_Month,Total_Food_Month_Per2,Poor,Decile,Weight,cluster)]
+
+
+#########Iteration 10###############
+#Sort Expenditure data
+CBN<- CBN[order(Total_Food_Month_Per2)]
+c<- c[order(Total_Food_Month_Per2)]
+
+#Indicate new poors
+CBN[,Poor10:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_9 & cluster==1,1,0)]
+c[,Poor10:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_9 & cluster==1 ,1,0)]
+CBN[,Poor10:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_9 & cluster==2,1,Poor10)]
+c[,Poor10:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_9 & cluster==2 ,1,Poor10)]
+CBN[,Poor10:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_9 & cluster==3,1,Poor10)]
+c[,Poor10:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_9 & cluster==3 ,1,Poor10)]
+CBN[,Poor10:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_9 & cluster==4,1,Poor10)]
+c[,Poor10:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_9 & cluster==4 ,1,Poor10)]
+CBN[,Poor10:=ifelse(FoodExpenditure_Per_total < Food_Povertyline5_9 & cluster==5,1,Poor10)]
+c[,Poor10:=ifelse(FoodExpenditure_Per_total < Food_Povertyline5_9 & cluster==5 ,1,Poor10)]
+CBN[,weighted.mean(Poor10,Weight),by=cluster][order(cluster)]
+CBNPoor9[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor10<-CBN[Poor10==1]
+
+#Engel
+#CBNPoor9<-CBNPoor9[,ratio1:=FoodExpenditure/Total_Exp_Month]
+#CBNPoor9[,weighted.mean(ratio1,Weight),by=cluster]
+#summary(CBNPoor9$ratio1)
+CBN<-CBN[,ratio1:=FoodExpenditure/Total_Exp_Month]
+CBN[,weighted.mean(ratio1,Weight),by=ProvinceCode][order(ProvinceCode)]
+CBN<-CBN[,ratio2:=ServiceExp/Total_Exp_Month]
+CBN[,weighted.mean(ratio2,Weight),by=ProvinceCode][order(ProvinceCode)]
+
+#Engel-home ratio calculations
+CBN[cluster==1 & FoodExpenditure_Per_total<1.1*Food_Povertyline1_9 & FoodExpenditure_Per_total>0.90*Food_Povertyline1_9,sum(HIndivNo),by=ProvinceCode][order(ProvinceCode)]
+CBN[cluster==2 & FoodExpenditure_Per_total<1.1*Food_Povertyline2_9 & FoodExpenditure_Per_total>0.90*Food_Povertyline1_9,sum(HIndivNo),by=ProvinceCode][order(ProvinceCode)]
+CBN[cluster==3 & FoodExpenditure_Per_total<1.1*Food_Povertyline3_9 & FoodExpenditure_Per_total>0.90*Food_Povertyline1_9,sum(HIndivNo),by=ProvinceCode][order(ProvinceCode)]
+CBN[cluster==4 & FoodExpenditure_Per_total<1.1*Food_Povertyline4_9 & FoodExpenditure_Per_total>0.90*Food_Povertyline1_9,sum(HIndivNo),by=ProvinceCode][order(ProvinceCode)]
+CBN[cluster==5 & FoodExpenditure_Per_total<1.1*Food_Povertyline5_9 & FoodExpenditure_Per_total>0.90*Food_Povertyline1_9,sum(HIndivNo),by=ProvinceCode][order(ProvinceCode)]
+
+CBN[cluster==1 & FoodExpenditure_Per_total<1.1*Food_Povertyline1_9 & FoodExpenditure_Per_total>0.90*Food_Povertyline1_9,weighted.mean(ratio1,Weight),by=ProvinceCode][order(ProvinceCode)]
+CBN[cluster==2 & FoodExpenditure_Per_total<1.1*Food_Povertyline2_9 & FoodExpenditure_Per_total>0.90*Food_Povertyline1_9,weighted.mean(ratio1,Weight),by=ProvinceCode][order(ProvinceCode)]
+CBN[cluster==3 & FoodExpenditure_Per_total<1.1*Food_Povertyline3_9 & FoodExpenditure_Per_total>0.90*Food_Povertyline1_9,weighted.mean(ratio1,Weight),by=ProvinceCode][order(ProvinceCode)]
+CBN[cluster==4 & FoodExpenditure_Per_total<1.1*Food_Povertyline4_9 & FoodExpenditure_Per_total>0.90*Food_Povertyline1_9,weighted.mean(ratio1,Weight),by=ProvinceCode][order(ProvinceCode)]
+CBN[cluster==5 & FoodExpenditure_Per_total<1.1*Food_Povertyline5_9 & FoodExpenditure_Per_total>0.90*Food_Povertyline1_9,weighted.mean(ratio1,Weight),by=ProvinceCode][order(ProvinceCode)]
+
+CBN[cluster==1 & FoodExpenditure_Per_total<1.1*Food_Povertyline1_9 & FoodExpenditure_Per_total>0.90*Food_Povertyline1_9,weighted.mean(ratio2,Weight),by=ProvinceCode][order(ProvinceCode)]
+CBN[cluster==2 & FoodExpenditure_Per_total<1.1*Food_Povertyline2_9 & FoodExpenditure_Per_total>0.90*Food_Povertyline1_9,weighted.mean(ratio2,Weight),by=ProvinceCode][order(ProvinceCode)]
+CBN[cluster==3 & FoodExpenditure_Per_total<1.1*Food_Povertyline3_9 & FoodExpenditure_Per_total>0.90*Food_Povertyline1_9,weighted.mean(ratio2,Weight),by=ProvinceCode][order(ProvinceCode)]
+CBN[cluster==4 & FoodExpenditure_Per_total<1.1*Food_Povertyline4_9 & FoodExpenditure_Per_total>0.90*Food_Povertyline1_9,weighted.mean(ratio2,Weight),by=ProvinceCode][order(ProvinceCode)]
+CBN[cluster==5 & FoodExpenditure_Per_total<1.1*Food_Povertyline5_9 & FoodExpenditure_Per_total>0.90*Food_Povertyline1_9,weighted.mean(ratio2,Weight),by=ProvinceCode][order(ProvinceCode)]
+
+# Poverty Line for each cluster
+#cluster 1
+CBNPoorCluster<-CBN[cluster==1 & FoodExpenditure_Per_total<1.1*Food_Povertyline1_9 & FoodExpenditure_Per_total>0.90*Food_Povertyline1_9]
+RuralEngel1<-CBNPoorCluster[,.(HHID,Region,ProvinceCode,cluster,ratio1,FoodExpenditure_Per_total)]
+CBNPoorCluster<-CBN[cluster==1 & FoodExpenditure_Per_total<0.9*Food_Povertyline1_9]
+RuralunderEngel1<-CBNPoorCluster[,.(HHID,Region,ProvinceCode,cluster,ratio1,FoodExpenditure_Per_total)]
+CBNPoorCluster<-CBN[cluster==1 & FoodExpenditure_Per_total>1.1*Food_Povertyline1_9]
+RuralaboveEngel1<-CBNPoorCluster[,.(HHID,Region,ProvinceCode,cluster,ratio1,FoodExpenditure_Per_total)]
+Engel1<-weighted.mean(CBNPoorCluster$ratio1,CBNPoorCluster$Weight)
+Engel_Reverse1<-1/Engel1
+Povertyline1_9<-Engel_Reverse1*Food_Povertyline1_9
+
+#cluster 2
+CBNPoorCluster<-CBN[cluster==2 & FoodExpenditure_Per_total<1.1*Food_Povertyline2_9 & FoodExpenditure_Per_total>0.90*Food_Povertyline2_9]
+RuralEngel2<-CBNPoorCluster[,.(HHID,Region,ProvinceCode,cluster,ratio1,FoodExpenditure_Per_total)]
+CBNPoorCluster<-CBN[cluster==2 & FoodExpenditure_Per_total<0.9*Food_Povertyline2_9]
+RuralunderEngel2<-CBNPoorCluster[,.(HHID,Region,ProvinceCode,cluster,ratio1,FoodExpenditure_Per_total)]
+CBNPoorCluster<-CBN[cluster==2 & FoodExpenditure_Per_total>1.1*Food_Povertyline2_9]
+RuralaboveEngel2<-CBNPoorCluster[,.(HHID,Region,ProvinceCode,cluster,ratio1,FoodExpenditure_Per_total)]
+Engel2<-weighted.mean(CBNPoorCluster$ratio1,CBNPoorCluster$Weight)
+Engel_Reverse2<-1/Engel2
+Povertyline2_9<-Engel_Reverse2*Food_Povertyline2_9
+
+#cluster 3
+CBNPoorCluster<-CBN[cluster==3 & FoodExpenditure_Per_total<1.1*Food_Povertyline3_9 & FoodExpenditure_Per_total>0.90*Food_Povertyline3_9]
+RuralEngel3<-CBNPoorCluster[,.(HHID,Region,ProvinceCode,cluster,ratio1,FoodExpenditure_Per_total)]
+CBNPoorCluster<-CBN[cluster==3 & FoodExpenditure_Per_total<0.9*Food_Povertyline3_9]
+RuralunderEngel3<-CBNPoorCluster[,.(HHID,Region,ProvinceCode,cluster,ratio1,FoodExpenditure_Per_total)]
+CBNPoorCluster<-CBN[cluster==3 & FoodExpenditure_Per_total>1.1*Food_Povertyline3_9]
+RuralaboveEngel3<-CBNPoorCluster[,.(HHID,Region,ProvinceCode,cluster,ratio1,FoodExpenditure_Per_total)]
+Engel3<-weighted.mean(CBNPoorCluster$ratio1,CBNPoorCluster$Weight)
+Engel_Reverse3<-1/Engel3
+Povertyline3_9<-Engel_Reverse3*Food_Povertyline3_9
+
+#cluster 4
+CBNPoorCluster<-CBN[cluster==4 & FoodExpenditure_Per_total<1.1*Food_Povertyline4_9 & FoodExpenditure_Per_total>0.90*Food_Povertyline4_9]
+RuralEngel4<-CBNPoorCluster[,.(HHID,Region,ProvinceCode,cluster,ratio1,FoodExpenditure_Per_total)]
+CBNPoorCluster<-CBN[cluster==4 & FoodExpenditure_Per_total<0.9*Food_Povertyline4_9]
+RuralunderEngel4<-CBNPoorCluster[,.(HHID,Region,ProvinceCode,cluster,ratio1,FoodExpenditure_Per_total)]
+CBNPoorCluster<-CBN[cluster==4 & FoodExpenditure_Per_total>1.1*Food_Povertyline4_9]
+RuralaboveEngel4<-CBNPoorCluster[,.(HHID,Region,ProvinceCode,cluster,ratio1,FoodExpenditure_Per_total)]
+Engel4<-weighted.mean(CBNPoorCluster$ratio1,CBNPoorCluster$Weight)
+Engel_Reverse4<-1/Engel4
+Povertyline4_9<-Engel_Reverse4*Food_Povertyline4_9
+
+
+
+#cluster 5
+CBNPoorCluster<-CBN[cluster==5 & FoodExpenditure_Per_total<1.1*Food_Povertyline5_9 & FoodExpenditure_Per_total>0.90*Food_Povertyline5_9]
+RuralEngel5<-CBNPoorCluster[,.(HHID,Region,ProvinceCode,cluster,ratio1,FoodExpenditure_Per_total)]
+CBNPoorCluster<-CBN[cluster==5 & FoodExpenditure_Per_total<0.9*Food_Povertyline5_9]
+RuralunderEngel5<-CBNPoorCluster[,.(HHID,Region,ProvinceCode,cluster,ratio1,FoodExpenditure_Per_total)]
+CBNPoorCluster<-CBN[cluster==5 & FoodExpenditure_Per_total>1.1*Food_Povertyline5_9]
+RuralaboveEngel5<-CBNPoorCluster[,.(HHID,Region,ProvinceCode,cluster,ratio1,FoodExpenditure_Per_total)]
+Engel5<-weighted.mean(CBNPoorCluster$ratio1,CBNPoorCluster$Weight)
+Engel_Reverse5<-1/Engel5
+Povertyline5_9<-Engel_Reverse5*Food_Povertyline5_9
+
+RuralEngel<-rbind(RuralEngel1,RuralEngel2,RuralEngel3,RuralEngel4,RuralEngel5)
+save(RuralEngel, file=paste0(Settings$HEISProcessedPath,"Y",year,"RuralEngel.rda"))
+RuralunderEngel<-rbind(RuralunderEngel1,RuralunderEngel2,RuralunderEngel3,RuralunderEngel4,RuralunderEngel5)
+save(RuralunderEngel, file=paste0(Settings$HEISProcessedPath,"Y",year,"RuralunderEngel.rda"))
+RuralaboveEngel<-rbind(RuralaboveEngel1,RuralaboveEngel2,RuralaboveEngel3,RuralaboveEngel4,RuralaboveEngel5)
+save(RuralaboveEngel, file=paste0(Settings$HEISProcessedPath,"Y",year,"RuralaboveEngel.rda"))
+
+Povertyline1_9<-4323140
+Povertyline2_9<-2338640
+Povertyline3_9<-2194200
+Povertyline4_9<-2763930
+Povertyline5_9<-2012640
+
+#Indicate final poors
+CBN<-CBN[,Total_Exp_Month_Per2:=Total_Exp_Month_Per_nondurable*RealPriceIndex]
+
+CBN[,Poor11:=ifelse(Total_Exp_Month_Per_nondurable < Povertyline1_9 & cluster==1,1,0)]
+CBN[,Poor11:=ifelse(Total_Exp_Month_Per_nondurable < Povertyline2_9 & cluster==2,1,Poor11)]
+CBN[,Poor11:=ifelse(Total_Exp_Month_Per_nondurable < Povertyline3_9 & cluster==3,1,Poor11)]
+CBN[,Poor11:=ifelse(Total_Exp_Month_Per_nondurable < Povertyline4_9 & cluster==4,1,Poor11)]
+CBN[,Poor11:=ifelse(Total_Exp_Month_Per_nondurable < Povertyline5_9 & cluster==5,1,Poor11)]
+CBN[,weighted.mean(Poor11,Weight),by=cluster][order(cluster)]
+CBNPoor9[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor11<-CBN[Poor11==1]
+
+
+CBN[,sum(Size*Weight),by=cluster][order(cluster)]
+CBN[,sum(Size*Weight),by=.(cluster,Decile)][order(cluster,Decile)]
+CBNPoor[,sum(Size*Weight),by=cluster][order(cluster)]
+CBNPoor11[,sum(Size*Weight),by=cluster][order(cluster)]
+CBNPoor2[,sum(Size*Weight),by=cluster][order(cluster)]
+CBNPoor9[,sum(Size*Weight),by=cluster][order(cluster)]
+CBNPoor9[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster][order(cluster)]
+CBNPoor9[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster][order(cluster)]
+CBN[,weighted.mean(Poor11,Weight)]
+CBN[,weighted.mean(Poor11,Weight),by=cluster][order(cluster)]
+CBN[,weighted.mean(Poor11,Weight),by=ProvinceCode][order(ProvinceCode)]
+CBNPoor11[,sum(Size*Weight),by=ProvinceCode][order(ProvinceCode)]
+CBNPoor11[,sum(Weight),by=ProvinceCode][order(ProvinceCode)]
+CBN[,sum(Size*Weight),by=ProvinceCode][order(ProvinceCode)]
+CBN[,sum(Size*Weight)]
+CBNPoor11[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster][order(cluster)]
+CBNPoor11[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster][order(cluster)]
+
+##############################
+###Real Prices for report###
+##############################
+#sum of total food expenditures
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per]
+
+#Food expenditures (equal 2100 CCAL)
+CBN<-CBN[Per_Daily_Exp_Calories>0]
+CBN[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Exp_Calories]
+CBN[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+
+T_Bundle_Value<-subset(CBN, ProvinceCode==23, select=c(Bundle_Value,Home_Per_Metr,Weight))
+Tehran_Bundle_Value1<-weighted.mean(T_Bundle_Value$Bundle_Value,T_Bundle_Value$Weight,na.rm = TRUE)
+Tehran_Bundle_Value2<-weighted.mean(T_Bundle_Value$Home_Per_Metr,T_Bundle_Value$Weight,na.rm = TRUE)
+CBN[,RealPriceIndex1:=weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/Tehran_Bundle_Value1,by=ProvinceCode]
+CBN[,RealPriceIndex2:=weighted.mean(Home_Per_Metr,Weight,na.rm = TRUE)/Tehran_Bundle_Value2,by=ProvinceCode]
+CBN[,weighted.mean(RealPriceIndex1,Weight),by=ProvinceCode]
+CBN[,weighted.mean(RealPriceIndex2,Weight),by=ProvinceCode]
+Indexes2_1<-CBN[,.(RealPriceIndex1,RealPriceIndex2,ProvinceCode,Weight)]
+Indexes2_1<-Indexes2_1[,RealPriceIndex:=(RealPriceIndex1+RealPriceIndex2)/2]
+Indexes_total<-Indexes2_1[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+Indexes3_1<-Indexes_total[,.(ProvinceCode,RealPriceIndex1,RealPriceIndex2,RealPriceIndex)]
+Indexes<-Indexes[,.(ProvinceCode,RealPriceIndex)]
+
+CBN_Poor<-CBN[Poor11==1]
+T_Bundle_Value<-subset(CBN_Poor, ProvinceCode==23, select=c(Bundle_Value,Home_Per_Metr,Weight))
+Tehran_Bundle_Value1<-weighted.mean(T_Bundle_Value$Bundle_Value,T_Bundle_Value$Weight,na.rm = TRUE)
+Tehran_Bundle_Value2<-weighted.mean(T_Bundle_Value$Home_Per_Metr,T_Bundle_Value$Weight,na.rm = TRUE)
+CBN_Poor[,RealPriceIndex1:=weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/Tehran_Bundle_Value1,by=ProvinceCode]
+CBN_Poor[,RealPriceIndex2:=weighted.mean(Home_Per_Metr,Weight,na.rm = TRUE)/Tehran_Bundle_Value2,by=ProvinceCode]
+CBN_Poor[,weighted.mean(RealPriceIndex1,Weight),by=ProvinceCode]
+CBN_Poor[,weighted.mean(RealPriceIndex2,Weight),by=ProvinceCode]
+Indexes2_2<-CBN_Poor[,.(RealPriceIndex1,RealPriceIndex2,ProvinceCode,Weight,Poor11)]
+Indexes2_2<-Indexes2_2[,RealPriceIndex:=(RealPriceIndex1+RealPriceIndex2)/2]
+Indexes_finalpoor<-Indexes2_2[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+Indexes3_2<-Indexes_finalpoor[,.(ProvinceCode,RealPriceIndex1,RealPriceIndex2,RealPriceIndex)]
+Indexes<-Indexes[,.(ProvinceCode,RealPriceIndex)]
+
+###Save Tables
+CBN_Rural<-CBN
+save(CBN_Rural, file = paste0(Settings$HEISProcessedPath,"CBN_Rural","95.rda"))
+
+CBNPoor_Rural<-CBNPoor11
+save(CBNPoor_Rural, file = paste0(Settings$HEISProcessedPath,"CBNPoor_Rural","95.rda"))
+
+CBNPoor11<-CBNPoor11[,ratio1:=FoodExpenditure/Total_Exp_Month]
+CBNPoor11[,weighted.mean(ratio1,Weight),by=cluster][order(cluster)]
+
+CBNPoor11<-CBNPoor11[,ratio1:=Cigar_Exp/Total_Exp_Month]
+CBNPoor11[,weighted.mean(ratio1,Weight),by=cluster][order(cluster)]
+
+CBNPoor11<-CBNPoor11[,ratio1:=Cloth_Exp/Total_Exp_Month]
+CBNPoor11[,weighted.mean(ratio1,Weight),by=cluster][order(cluster)]
+
+CBNPoor11<-CBNPoor11[,ratio1:=Amusement_Exp/Total_Exp_Month]
+CBNPoor11[,weighted.mean(ratio1,Weight),by=cluster][order(cluster)]
+
+CBNPoor11<-CBNPoor11[,ratio1:=Communication_Exp/Total_Exp_Month]
+CBNPoor11[,weighted.mean(ratio1,Weight),by=cluster][order(cluster)]
+
+CBNPoor11<-CBNPoor11[,ratio1:=EducExpenditure/Total_Exp_Month]
+CBNPoor11[,weighted.mean(ratio1,Weight),by=cluster][order(cluster)]
+
+CBNPoor11<-CBNPoor11[,ratio1:=Energy_Exp/Total_Exp_Month]
+CBNPoor11[,weighted.mean(ratio1,Weight),by=cluster][order(cluster)]
+
+CBNPoor11<-CBNPoor11[,ratio1:=Furniture_Exp/Total_Exp_Month]
+CBNPoor11[,weighted.mean(ratio1,Weight),by=cluster][order(cluster)]
+
+CBNPoor11<-CBNPoor11[,ratio1:=Hotel_Exp/Total_Exp_Month]
+CBNPoor11[,weighted.mean(ratio1,Weight),by=cluster][order(cluster)]
+
+CBNPoor11<-CBNPoor11[,ratio1:=Behdasht_Exp/Total_Exp_Month]
+CBNPoor11[,weighted.mean(ratio1,Weight),by=cluster][order(cluster)]
+
+CBNPoor11<-CBNPoor11[,ratio1:=Transportation_Exp/Total_Exp_Month]
+CBNPoor11[,weighted.mean(ratio1,Weight),by=cluster][order(cluster)]
+
+CBNPoor11<-CBNPoor11[,ratio1:=Other_Exp/Total_Exp_Month]
+CBNPoor11[,weighted.mean(ratio1,Weight),by=cluster][order(cluster)]
+
+CBNPoor11<-CBNPoor11[,ratio1:=ServiceExp/Total_Exp_Month]
+CBNPoor11[,weighted.mean(ratio1,Weight),by=cluster][order(cluster)]
+
+CBNPoor11<-CBNPoor11[,ratio1:=Investment_Exp/Total_Exp_Month]
+CBNPoor11[,weighted.mean(ratio1,Weight),by=cluster][order(cluster)]
+
+CBNPoor11<-CBNPoor11[,ratio1:=Medical_Exp/Total_Exp_Month]
+CBNPoor11[,weighted.mean(ratio1,Weight),by=cluster][order(cluster)]
+
+CBNPoor11<-CBNPoor11[,ratio1:=Durable_Exp/Total_Exp_Month]
+CBNPoor11[,weighted.mean(ratio1,Weight),by=cluster][order(cluster)]
+
+
+CBNRural<-CBN[,.(HHID,Percentile,Poor2,Weight,ProvinceCode)]
+save(CBNRural, file=paste0(Settings$HEISProcessedPath,"Y",year,"CBNRural.rda"))
+
+OldFoodRural<-CBN[,.(HHID,Percentile,Poor9)]
+save(OldFoodRural, file=paste0(Settings$HEISProcessedPath,"Y",year,"OldFoodRural.rda"))
+
+OldFinalPoorRural<-CBN[,.(HHID,Percentile,Poor11)]
+save(OldFinalPoorRural, file=paste0(Settings$HEISProcessedPath,"Y",year,"OldFinalPoorRural.rda"))
+
+endtime <- proc.time()
+
+cat("\n\n============================\nIt took ")
+cat(endtime-starttime)
+
diff --git a/R/Archive/Other Codes/CBN Urban-Sort only first stage.R b/R/Archive/Other Codes/CBN Urban-Sort only first stage.R
new file mode 100644
index 00000000..c6868d10
--- /dev/null
+++ b/R/Archive/Other Codes/CBN Urban-Sort only first stage.R
@@ -0,0 +1,3073 @@
+#CBN Method-Urban.R
+#
+# Copyright © 2018:Arin Shahbazian
+# Licence: GPL-3
+#
+rm(list=ls())
+
+starttime <- proc.time()
+cat("\n\n================ Prepare Data =====================================\n")
+
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+library(readxl)
+library(stringr)
+library(data.table)
+library(sm)
+library(ggplot2)
+
+#for(year in (Settings$startyear:Settings$endyear)){
+# cat(paste0("\n------------------------------\nYear:",year,"\n"))
+
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","HHBase.rda"))
+HHBase[,IndivNo:=NULL]
+HHBase[,Relationship:=NULL]
+HHBase[,Sex:=NULL]
+HHBase[,Age:=NULL]
+HHBase[,Literate:=NULL]
+HHBase[,Student:=NULL]
+HHBase[,EduCode:=NULL]
+HHBase[,EduYears:=NULL]
+HHBase[,EduLevel:=NULL]
+HHBase[,EduLevel0:=NULL]
+HHBase[,ActivityState:=NULL]
+HHBase[,MarritalState:=NULL]
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Ghand_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Hoboobat_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Roghan_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Berenj_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Nan_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Goosht_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Morgh_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Mahi_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Shir_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Mast_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Panir_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Tokhmemorgh_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Mive_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Sabzi_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Makarooni_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Sibzamini_Data.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Weights.rda"))
+
+Ghand_Data<-Ghand_Data[,.(HHID,Ghandgram,GhandPrice)]
+Hoboobat_Data<-Hoboobat_Data[,.(HHID,Hoboobatgram,HoboobatPrice)]
+Roghan_Data<-Roghan_Data[,.(HHID,Roghangram,RoghanPrice)]
+Berenj_Data<-Berenj_Data[,.(HHID,Berenjgram,BerenjPrice)]
+Nan_Data<-Nan_Data[,.(HHID,Nangram,NanPrice)]
+Goosht_Data<-Goosht_Data[,.(HHID,Gooshtgram,GooshtPrice)]
+Morgh_Data<-Morgh_Data[,.(HHID,Morghgram,MorghPrice)]
+Mahi_Data<-Mahi_Data[,.(HHID,Mahigram,MahiPrice)]
+Shir_Data<-Shir_Data[,.(HHID,Shirgram,ShirPrice)]
+Mast_Data<-Mast_Data[,.(HHID,Mastgram,MastPrice)]
+Panir_Data<-Panir_Data[,.(HHID,Panirgram,PanirPrice)]
+Tokhmemorgh_Data<-Tokhmemorgh_Data[,.(HHID,Tokhmemorghgram,TokhmemorghPrice)]
+Mive_Data<-Mive_Data[,.(HHID,Mivegram,MivePrice)]
+Sabzi_Data<-Sabzi_Data[,.(HHID,Sabzigram,SabziPrice)]
+Makarooni_Data<-Makarooni_Data[,.(HHID,Makaroonigram,MakarooniPrice)]
+Sibzamini_Data<-Sibzamini_Data[,.(HHID,Sibzaminigram,SibzaminiPrice)]
+
+Food<-merge(HHBase,Ghand_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Ghandgram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Hoboobat_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Hoboobatgram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Roghan_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Roghangram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Berenj_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Berenjgram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Nan_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Nangram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Goosht_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Gooshtgram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Morgh_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Morghgram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Mahi_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Mahigram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Shir_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Shirgram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Mast_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Mastgram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Panir_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Panirgram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Tokhmemorgh_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Tokhmemorghgram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Mive_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Mivegram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Sabzi_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Sabzigram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Makarooni_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Makaroonigram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Sibzamini_Data,by =c("HHID"),all.x=TRUE)
+for (col in c("Sibzaminigram")) Food[is.na(get(col)), (col) := 0]
+Food<-merge(Food,Weights,by =c("HHID"),all.x=TRUE)
+
+
+
+#load Expenditure groups
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","HHBase.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","HHI.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Foods.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Cigars.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Cloths.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Amusements.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Communications.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Durables.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Education.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Energy.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Furnitures.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Hotels.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","House.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Medicals.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Behdashts.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Transportations.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Others.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Investments.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Resturants.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y","95","Weights.rda"))
+
+#merge Expenditure groups
+CBN<-merge(Food,HHI ,by =c("HHID"),all=TRUE)
+CBN<-merge(CBN,FoodData,by =c("HHID"),all=TRUE)
+for (col in c("FoodExpenditure")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,CigarData,by =c("HHID"),all=TRUE)
+for (col in c("Cigar_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,ClothData,by =c("HHID"),all=TRUE)
+for (col in c("Cloth_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,AmusementData,by =c("HHID"),all=TRUE)
+for (col in c("Amusement_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,CommunicationData,by =c("HHID"),all=TRUE)
+for (col in c("Communication_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,EducData,by =c("HHID"),all=TRUE)
+for (col in c("EducExpenditure")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,EnergyData,by =c("HHID"),all=TRUE)
+for (col in c("Energy_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,FurnitureData,by =c("HHID"),all=TRUE)
+for (col in c("Furniture_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,HotelData,by =c("HHID"),all=TRUE)
+for (col in c("Hotel_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,BehdashtData,by =c("HHID"),all=TRUE)
+for (col in c("Behdasht_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,TransportationData,by =c("HHID"),all=TRUE)
+for (col in c("Transportation_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,OtherData,by =c("HHID"),all=TRUE)
+for (col in c("Other_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,HouseData,by =c("HHID"),all=TRUE)
+for (col in c("ServiceExp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,InvestmentData,by =c("HHID"),all=TRUE)
+for (col in c("Investment_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,MedicalData,by =c("HHID"),all=TRUE)
+for (col in c("Medical_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,DurableData,by =c("HHID"),all=TRUE)
+for (col in c("Durable_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-merge(CBN,ResturantData,by =c("HHID"),all=TRUE)
+for (col in c("Resturant_Exp")) CBN[is.na(get(col)), (col) := 0]
+CBN<-CBN[Size!=0]
+CBN<-CBN[Region=="Urban"]
+CBN<-CBN[FoodExpenditure!=0]
+
+
+#Calculate Per_Total Expenditures Monthly
+CBN[, Total_Exp_Month := Reduce(`+`, .SD), .SDcols=c(66:78,82:84)][]
+CBN[, Total_Exp_Month_nondurable := Reduce(`+`, .SD), .SDcols=66:78][]
+
+CBN$Total_Exp_Month_Per<-CBN$Total_Exp_Month/CBN$EqSizeOECD
+CBN$Total_Exp_Month_Per_nondurable<-CBN$Total_Exp_Month_nondurable/CBN$EqSizeOECD
+
+#Calculate Per_Food Expenditures Monthly
+CBN[,EqSizeCalory :=(Size-NKids) + NKids*(1800/2100)]
+CBN$FoodExpenditure_Per<-CBN$FoodExpenditure/CBN$EqSizeCalory
+
+#Calculate Per_Food Expenditures Daily
+CBN$FoodExpenditure_Per_day<-CBN$FoodExpenditure_Per/30
+
+CBN$Ghandgram_Per_day<-CBN$Ghandgram/(30*CBN$EqSizeOECD)
+CBN$Hoboobatgram_Per_day<-CBN$Hoboobatgram/(30*CBN$EqSizeOECD)
+CBN$Berenjgram_Per_day<-CBN$Berenjgram/(30*CBN$EqSizeOECD)
+CBN$Nangram_Per_day<-CBN$Nangram/(30*CBN$EqSizeOECD)
+CBN$Roghangram_Per_day<-CBN$Roghangram/(30*CBN$EqSizeOECD)
+CBN$Gooshtgram_Per_day<-CBN$Gooshtgram/(30*CBN$EqSizeOECD)
+CBN$Morghgram_Per_day<-CBN$Morghgram/(30*CBN$EqSizeOECD)
+CBN$Mahigram_Per_day<-CBN$Mahigram/(30*CBN$EqSizeOECD)
+CBN$Shirgram_Per_day<-CBN$Shirgram/(30*CBN$EqSizeOECD)
+CBN$Mastgram_Per_day<-CBN$Mastgram/(30*CBN$EqSizeOECD)
+CBN$Panirgram_Per_day<-CBN$Panirgram/(30*CBN$EqSizeOECD)
+CBN$Tokhmemorghgram_Per_day<-CBN$Tokhmemorghgram/(30*CBN$EqSizeOECD)
+CBN$Mivegram_Per_day<-CBN$Mivegram/(30*CBN$EqSizeOECD)
+CBN$Sabzigram_Per_day<-CBN$Sabzigram/(30*CBN$EqSizeOECD)
+CBN$Makaroonigram_Per_day<-CBN$Makaroonigram/(30*CBN$EqSizeOECD)
+CBN$Sibzaminigram_Per_day<-CBN$Sibzaminigram/(30*CBN$EqSizeOECD)
+CBN[,EqSizeCalory:=NULL]
+
+load(file="PriceIndex95.rda")
+CBN<-merge(CBN,PriceIndex95,by=c("ProvinceCode"),all.x = TRUE)
+CBN[,ostan:=NULL]
+load(file="PriceIndex.rda")
+CBN<-merge(CBN,PriceIndex,by=c("ProvinceCode"),all.x = TRUE)
+
+#Sort Expenditure data
+CBN<- CBN[order(Total_Exp_Month_Per_nondurable)]
+
+#Calculate cumulative weights
+sum(CBN$Weight)
+CBN$cumweight <- cumsum(CBN$Weight)
+tx <- max(CBN$cumweight)
+
+#Calculate deciles by weights
+CBN[,Decile:=cut(cumweight,breaks = seq(0,tx,tx/10),labels = 1:10)]
+CBN[,Percentile:=cut(cumweight,breaks=seq(0,tx,tx/100),labels=1:100)]
+
+
+CBN$Ghand_W<-CBN$Ghandgram_Per_day*CBN$GhandPrice*0.001*30
+CBN$Hoboobat_W<-CBN$Hoboobatgram_Per_day*CBN$HoboobatPrice*0.001*30
+CBN$Roghan_W<-CBN$Roghangram_Per_day*CBN$RoghanPrice*0.001*30
+CBN$Berenj_W<-CBN$Berenjgram_Per_day*CBN$BerenjPrice*0.001*30
+CBN$Nan_W<-CBN$Nangram_Per_day*CBN$NanPrice*0.001*30
+CBN$Goosht_W<-CBN$Gooshtgram_Per_day*CBN$GooshtPrice*0.001*30
+CBN$Morgh_W<-CBN$Morghgram_Per_day*CBN$MorghPrice*0.001*30
+CBN$Mahi_W<-CBN$Mahigram_Per_day*CBN$MahiPrice*0.001*30
+CBN$Shir_W<-CBN$Shirgram_Per_day*CBN$ShirPrice*0.001*30
+CBN$Mast_W<-CBN$Mastgram_Per_day*CBN$MastPrice*0.001*30
+CBN$Panir_W<-CBN$Panirgram_Per_day*CBN$PanirPrice*0.001*30
+CBN$Tokhmemorgh_W<-CBN$Tokhmemorghgram_Per_day*CBN$TokhmemorghPrice*0.001*30
+CBN$Mive_W<-CBN$Mivegram_Per_day*CBN$MivePrice*0.001*30
+CBN$Sabzi_W<-CBN$Sabzigram_Per_day*CBN$SabziPrice*0.001*30
+CBN$Makarooni_W<-CBN$Makaroonigram_Per_day*CBN$MakarooniPrice*0.001*30
+CBN$Sibzamini_W<-CBN$Sibzaminigram_Per_day*CBN$SibzaminiPrice*0.001*30
+CBN$Home_W<-CBN$ServiceExp/CBN$EqSizeOECD
+CBN$Home_Per_Metr<-CBN$MetrPrice/CBN$EqSizeOECD
+
+#Seperate big cities
+CBN[,sum(Weight*Size),by=ProvinceCode][order(V1)]
+CBN[,HHIDs:=as.character(HHID)]
+CBN[,ShahrestanCode:=as.integer(str_sub(HHIDs,2,5))]
+CBN[,sum(Weight*Size),by=ShahrestanCode][order(V1)][330:387]
+CBNTehran<-CBN[ProvinceCode==23]
+CBNTehran[,sum(Weight*Size),by=ShahrestanCode]
+CBNTabriz<-CBN[ProvinceCode==3]
+CBNTabriz[,sum(Weight*Size),by=ShahrestanCode]
+CBNAhvaz<-CBN[ProvinceCode==6]
+CBNAhvaz[,sum(Weight*Size),by=ShahrestanCode]
+CBNShiraz<-CBN[ProvinceCode==7]
+CBNShiraz[,sum(Weight*Size),by=ShahrestanCode]
+CBNMashhad<-CBN[ProvinceCode==9]
+CBNMashhad[,sum(Weight*Size),by=ShahrestanCode]
+CBNEsfahan<-CBN[ProvinceCode==10]
+CBNEsfahan[,sum(Weight*Size),by=ShahrestanCode]
+CBNKaraj<-CBN[ProvinceCode==30]
+CBNKaraj[,sum(Weight*Size),by=ShahrestanCode]
+CBNKermanshah<-CBN[ProvinceCode==5]
+CBNKermanshah[,sum(Weight*Size),by=ShahrestanCode]
+
+
+CBN<-CBN[ShahrestanCode==2301,ProvinceCode:=as.numeric(ShahrestanCode)]
+CBN<-CBN[ShahrestanCode==303,ProvinceCode:=as.numeric(ShahrestanCode)]
+CBN<-CBN[ShahrestanCode==603,ProvinceCode:=as.numeric(ShahrestanCode)]
+CBN<-CBN[ShahrestanCode==707,ProvinceCode:=as.numeric(ShahrestanCode)]
+CBN<-CBN[ShahrestanCode==916,ProvinceCode:=as.numeric(ShahrestanCode)]
+CBN<-CBN[ShahrestanCode==1002,ProvinceCode:=as.numeric(ShahrestanCode)]
+CBN<-CBN[ShahrestanCode==3001,ProvinceCode:=as.numeric(ShahrestanCode)]
+CBN<-CBN[ShahrestanCode==2301,ProvinceCode:=as.numeric(ShahrestanCode)]
+CBN<-CBN[ShahrestanCode==502,ProvinceCode:=as.numeric(ShahrestanCode)]
+
+# Food Calories
+CBN$Ghand_Calory<- CBN$Ghandgram *4
+CBN$Hoboobat_Calory<- CBN$Hoboobatgram *3
+CBN$Nan_Calory<- CBN$Nangram *2.5
+CBN$Berenj_Calory<- CBN$Berenjgram *1.2
+CBN$Roghan_Calory<- CBN$Roghangram *8
+CBN$Goosht_Calory<- CBN$Gooshtgram *2.5
+CBN$Morgh_Calory<- CBN$Morghgram *2
+CBN$Mahi_Calory<- CBN$Mahigram *1
+CBN$Shir_Calory<- CBN$Shirgram *2.5
+CBN$Mast_Calory<- CBN$Mastgram *1.5
+CBN$Panir_Calory<- CBN$Mastgram *2.5
+CBN$Tokhmemorgh_Calory<- CBN$Tokhmemorghgram *1.4
+CBN$Mive_Calory<- CBN$Mivegram *0.5
+CBN$Sabzi_Calory<- CBN$Sabzigram *0.5
+CBN$Makarooni_Calory<- CBN$Makaroonigram *3.6
+CBN$Sibzamini_Calory<- CBN$Sibzaminigram *0.9
+#utils::View(CBN)
+
+#CalculatePer_calories
+CBN[, Daily_Exp_Calories := Reduce(`+`, .SD), .SDcols=149:164][]
+CBN[,EqSizeCalory :=(Size-NKids) + NKids*(1800/2100)]
+CBN[,Per_Daily_Exp_Calories:=Daily_Exp_Calories/EqSizeCalory]
+CBN <- CBN[Per_Daily_Exp_Calories<100000] # arbitrary removal of outliers
+#CBN[,Daily_Calories_cluster:=weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+#CBN[,weighted.mean(Daily_Calories_cluster,Weight,na.rm = TRUE),by=cluster]
+#CBN[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+#CBN[,weighted.mean(Size,Weight,na.rm = TRUE),by=cluster]
+#CBN[,sum(Weight*Size),by=cluster]
+#CBN[,sum(Weight),by=cluster]
+#CBN[,sum(Poor),by=cluster]
+
+
+#Calculate_Per_calories
+CBN$Ghand_per_Calory<- CBN$Ghandgram *4/CBN$EqSizeCalory
+CBN$Hoboobat_per_Calory<- CBN$Hoboobatgram *3/CBN$EqSizeCalory
+CBN$Nan_per_Calory<- CBN$Nangram *2.5/CBN$EqSizeCalory
+CBN$Berenj_per_Calory<- CBN$Berenjgram *1.2/CBN$EqSizeCalory
+CBN$Roghan_per_Calory<- CBN$Roghangram *8/CBN$EqSizeCalory
+CBN$Goosht_per_Calory<- CBN$Gooshtgram *2.5/CBN$EqSizeCalory
+CBN$Morgh_per_Calory<- CBN$Morghgram *2/CBN$EqSizeCalory
+CBN$Mahi_per_Calory<- CBN$Mahigram *1/CBN$EqSizeCalory
+CBN$Shir_per_Calory<- CBN$Shirgram *2.5/CBN$EqSizeCalory
+CBN$Mast_per_Calory<- CBN$Mastgram *1.5/CBN$EqSizeCalory
+CBN$Panir_per_Calory<- CBN$Mastgram *2.5/CBN$EqSizeCalory
+CBN$Tokhmemorgh_per_Calory<- CBN$Tokhmemorghgram *1.4/CBN$EqSizeCalory
+CBN$Mive_per_Calory<- CBN$Mivegram *0.5/CBN$EqSizeCalory
+CBN$Sabzi_per_Calory<- CBN$Sabzigram *0.5/CBN$EqSizeCalory
+CBN$Makarooni_per_Calory<- CBN$Makaroonigram *3.6/CBN$EqSizeCalory
+CBN$Sibzamini_per_Calory<- CBN$Sibzaminigram *0.9/CBN$EqSizeCalory
+
+
+#Assume that deciles 1 and 2 are poor
+CBN[,Poor:=ifelse(Decile %in% 1:2,1,0)]
+CBNPoor<-CBN[Poor==1]
+
+OldfirstUrban<-CBN[,.(HHID,Percentile,Poor)]
+save(OldfirstUrban, file=paste0(Settings$HEISProcessedPath,"Y",year,"OldFoodUrban.rda"))
+
+
+
+#K-means weights
+PriceWeights<-CBN[,.(HHID,Ghand_W,Hoboobat_W,Roghan_W,Berenj_W,Nan_W,Goosht_W,Morgh_W,Mahi_W,Shir_W,Mast_W,Panir_W,Tokhmemorgh_W,Mive_W,Sabzi_W,Makarooni_W,Sibzamini_W,Home_W,ProvinceCode,Weight)]
+dt3 <- PriceWeights[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+dt3<- dt3[order(ProvinceCode)]
+dt3 <- dt3[,.(Ghand_W,Hoboobat_W,Roghan_W,Berenj_W,Nan_W,Goosht_W,Morgh_W,Mahi_W,Shir_W,Mast_W,Panir_W,Tokhmemorgh_W,Mive_W,Sabzi_W,Makarooni_W,Sibzamini_W,Home_W)]
+
+
+#K-means algorithm for clustering by prices
+test<-CBNPoor[,.(GhandPrice,HoboobatPrice,RoghanPrice,BerenjPrice,NanPrice,GooshtPrice,MorghPrice,MahiPrice,ShirPrice,MastPrice,PanirPrice,TokhmemorghPrice,MivePrice,SabziPrice,MakarooniPrice,SibzaminiPrice,MetrPrice,ProvinceCode,Weight)]
+#test<-CBNPoor[,.(GhandPrice,HoboobatPrice,RoghanPrice,BerenjPrice,NanPrice,GooshtPrice,MorghPrice,MahiPrice,ShirPrice,MastPrice,PanirPrice,TokhmemorghPrice,MivePrice,SabziPrice,MakarooniPrice,SibzaminiPrice,MetrPrice,Ghand_W,Hoboobat_W,Roghan_W,Berenj_W,Nan_W,Goosht_W,Morgh_W,Mahi_W,Shir_W,Mast_W,Panir_W,Tokhmemorgh_W,Mive_W,Sabzi_W,Makarooni_W,Sibzamini_W,Home_W,Region,ProvinceCode,Weight)]
+dt2 <- test[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+dt2<- dt2[order(ProvinceCode)]
+for (col in c("MahiPrice")) dt2[is.nan(get(col)), (col) := 200000]
+dt <- dt2 [,.(GhandPrice,HoboobatPrice,RoghanPrice,BerenjPrice,NanPrice,GooshtPrice,MorghPrice,MahiPrice,ShirPrice,MastPrice,PanirPrice,TokhmemorghPrice,MivePrice,SabziPrice,MakarooniPrice,SibzaminiPrice,MetrPrice)]
+
+
+pca <- princomp(dt, cor=T)
+PRICE <- pca$scores
+PRICE1 <- -1*PRICE[,1]
+PRICE2 <- -1*PRICE[,2]
+PRICE3 <- -1*PRICE[,3]
+PRICE4 <- -1*PRICE[,4]
+PRICE5 <- -1*PRICE[,5]
+PRICE6 <- -1*PRICE[,6]
+PRICE7 <- -1*PRICE[,7]
+PRICE8 <- -1*PRICE[,8]
+PRICE9 <- -1*PRICE[,9]
+PRICE10 <- -1*PRICE[,10]
+PRICE11 <- -1*PRICE[,11]
+PRICE12 <- -1*PRICE[,12]
+PRICE13 <- -1*PRICE[,13]
+PRICE14 <- -1*PRICE[,14]
+PRICE15 <- -1*PRICE[,15]
+PRICE16 <- -1*PRICE[,16]
+PRICE17 <- -1*PRICE[,17]
+
+# Deciding how many clusters
+wss <- (nrow(dt)-1)*sum(apply(dt,2,var))
+for (i in 2:30) wss[i] <- sum(kmeans(dt, centers=i)$withinss)
+plot(1:30, wss, type="b", xlab="Number of Clusters",
+ ylab="Within groups sum of squares")
+
+#Weighted clustering
+
+dt3.m <- dt3[,lapply(.SD, mean)] # Weights for each vector
+dtW <- dt * sqrt(dt3.m[rep(1,nrow(dt))]) # Weighted observations
+kmeans(dtW,4) # Simple K-means
+
+cl <- kmeans(dtW,4)
+cl$cluster
+dt2 <- dt2[,cluster:=data.table(cl$cluster)]
+dt2<-dt2[,.(ProvinceCode,cluster)]
+load(file="dt4Urban.rda")
+#plot(PRICE1, PRICE2,col=cl$cluster)
+#points(cl$centers, pch=20)
+CBNPoor<-merge(CBNPoor,dt2,by=c("ProvinceCode"),all.x = TRUE)
+CBNPoor[,sum(Weight*Size),by=cluster]
+CBNPoor[,sum(Weight),by=cluster]
+CBNPoor[,sum(Poor),by=cluster]
+C2<-CBNPoor[,.(HHID,ProvinceCode,Region,Decile,Poor,cluster)]
+######################################################################
+####Iteration 1#####
+###Iteration1-1
+#Calculate Per_calories in clusters
+CBNPoor[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(186:201)][]
+
+
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(203:218)][]
+
+CBNPoor[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor<-CBNPoor[Per_Daily_Exp_Calories!=0]
+CBNPoor[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+#CBN[,weighted.mean(Poor,Weight),by=cluster][order(cluster)]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE)]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE)]
+
+#Real Prices
+T_Bundle_Value<-subset(CBNPoor, ProvinceCode==2301, select=c(Bundle_Value,Home_Per_Metr,Weight))
+Tehran_Bundle_Value1<-weighted.mean(T_Bundle_Value$Bundle_Value,T_Bundle_Value$Weight,na.rm = TRUE)
+Tehran_Bundle_Value2<-weighted.mean(T_Bundle_Value$Home_Per_Metr,T_Bundle_Value$Weight,na.rm = TRUE)
+CBNPoor[,RealPriceIndex1:=weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/Tehran_Bundle_Value1,by=ProvinceCode]
+CBNPoor[,RealPriceIndex2:=weighted.mean(Home_Per_Metr,Weight,na.rm = TRUE)/Tehran_Bundle_Value2,by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex1,Weight),by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex2,Weight),by=ProvinceCode]
+Indexes2<-CBNPoor[,.(RealPriceIndex1,RealPriceIndex2,ProvinceCode,Weight)]
+Indexes2<-Indexes2[,RealPriceIndex:=(RealPriceIndex1+RealPriceIndex2)/2]
+Indexes<-Indexes2[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+Indexes31<-Indexes[,.(ProvinceCode,RealPriceIndex1,RealPriceIndex2,RealPriceIndex)]
+Indexes<-Indexes[,.(ProvinceCode,RealPriceIndex)]
+CBN<-merge(CBN,Indexes,by=c("ProvinceCode"),all.x = TRUE)
+CBN<-CBN[,Total_Food_Month_Per2:=FoodExpenditure_Per*RealPriceIndex]
+CBN<-CBN[,Total_Exp_Month_Per2:=Total_Exp_Month_Per_nondurable*RealPriceIndex]
+#utils::View(CBN)
+
+#Sort Expenditure data
+CBN<- CBN[order(Total_Exp_Month_Per2)]
+
+#Calculate cumulative weights
+sum(CBN$Weight)
+CBN$cumweight <- cumsum(CBN$Weight)
+tx <- max(CBN$cumweight)
+
+#Calculate deciles by weights
+CBN[,Decile:=cut(cumweight,breaks = seq(0,tx,tx/10),labels = 1:10)]
+CBN[,Percentile:=cut(cumweight,breaks=seq(0,tx,tx/100),labels=1:100)]
+
+#Update Poors
+CBN[,Poor:=ifelse(Decile %in% 1:2,1,0)]
+CBNPoor<-CBN[Poor==1]
+CBNPoor<-merge(CBNPoor,dt2,by=c("ProvinceCode"),all.x = TRUE)
+CBNPoor[,sum(Size*Weight),by=.(cluster)][order(cluster)]
+
+###Iteration1-2
+#Calculate Per_calories in clusters
+CBNPoor[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(186:201)][]
+#utils::View(CBNPoor)
+
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(203:218)][]
+
+CBNPoor[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor<-CBNPoor[Per_Daily_Exp_Calories!=0]
+CBNPoor[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+#CBN[,weighted.mean(Poor,Weight),by=cluster][order(cluster)]
+
+#Real Prices
+T_Bundle_Value<-subset(CBNPoor, ProvinceCode==2301, select=c(Bundle_Value,Home_Per_Metr,Weight))
+Tehran_Bundle_Value1<-weighted.mean(T_Bundle_Value$Bundle_Value,T_Bundle_Value$Weight,na.rm = TRUE)
+Tehran_Bundle_Value2<-weighted.mean(T_Bundle_Value$Home_Per_Metr,T_Bundle_Value$Weight,na.rm = TRUE)
+CBNPoor[,RealPriceIndex1:=weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/Tehran_Bundle_Value1,by=ProvinceCode]
+CBNPoor[,RealPriceIndex2:=weighted.mean(Home_Per_Metr,Weight,na.rm = TRUE)/Tehran_Bundle_Value2,by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex1,Weight),by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex2,Weight),by=ProvinceCode]
+Indexes2<-CBNPoor[,.(RealPriceIndex1,RealPriceIndex2,ProvinceCode,Weight)]
+Indexes2<-Indexes2[,RealPriceIndex:=(RealPriceIndex1+RealPriceIndex2)/2]
+Indexes<-Indexes2[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+Indexes32<-Indexes[,.(ProvinceCode,RealPriceIndex1,RealPriceIndex2,RealPriceIndex)]
+Indexes<-Indexes[,.(ProvinceCode,RealPriceIndex)]
+CBN[,RealPriceIndex:=NULL]
+CBN<-merge(CBN,Indexes,by=c("ProvinceCode"),all.x = TRUE)
+CBN<-CBN[,Total_Food_Month_Per2:=FoodExpenditure_Per*RealPriceIndex]
+CBN<-CBN[,Total_Exp_Month_Per2:=Total_Exp_Month_Per_nondurable*RealPriceIndex]
+#utils::View(CBN)
+
+#Sort Expenditure data
+CBN<- CBN[order(Total_Exp_Month_Per2)]
+
+#Calculate cumulative weights
+sum(CBN$Weight)
+CBN$cumweight <- cumsum(CBN$Weight)
+tx <- max(CBN$cumweight)
+
+#Calculate deciles by weights
+CBN[,Decile:=cut(cumweight,breaks = seq(0,tx,tx/10),labels = 1:10)]
+CBN[,Percentile:=cut(cumweight,breaks=seq(0,tx,tx/100),labels=1:100)]
+
+#Update Poors
+CBN[,Poor:=ifelse(Decile %in% 2:5,1,0)]
+CBNPoor<-CBN[Poor==1]
+CBNPoor<-merge(CBNPoor,dt2,by=c("ProvinceCode"),all.x = TRUE)
+CBNPoor[,sum(HIndivNo),by=.(ProvinceCode)][order(ProvinceCode)]
+
+###Iteration1-3
+#Calculate Per_calories in clusters
+CBNPoor[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(186:201)][]
+#utils::View(CBNPoor)
+
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(203:218)][]
+
+CBNPoor[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor<-CBNPoor[Per_Daily_Exp_Calories!=0]
+CBNPoor[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+#CBN[,weighted.mean(Poor,Weight),by=cluster][order(cluster)]
+
+#Real Prices
+T_Bundle_Value<-subset(CBNPoor, ProvinceCode==2301, select=c(Bundle_Value,Home_Per_Metr,Weight))
+Tehran_Bundle_Value1<-weighted.mean(T_Bundle_Value$Bundle_Value,T_Bundle_Value$Weight,na.rm = TRUE)
+Tehran_Bundle_Value2<-weighted.mean(T_Bundle_Value$Home_Per_Metr,T_Bundle_Value$Weight,na.rm = TRUE)
+CBNPoor[,RealPriceIndex1:=weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/Tehran_Bundle_Value1,by=ProvinceCode]
+CBNPoor[,RealPriceIndex2:=weighted.mean(Home_Per_Metr,Weight,na.rm = TRUE)/Tehran_Bundle_Value2,by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex1,Weight),by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex2,Weight),by=ProvinceCode]
+Indexes2<-CBNPoor[,.(RealPriceIndex1,RealPriceIndex2,ProvinceCode,Weight)]
+Indexes2<-Indexes2[,RealPriceIndex:=(RealPriceIndex1+RealPriceIndex2)/2]
+Indexes<-Indexes2[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+Indexes33<-Indexes[,.(ProvinceCode,RealPriceIndex1,RealPriceIndex2,RealPriceIndex)]
+Indexes<-Indexes[,.(ProvinceCode,RealPriceIndex)]
+CBN[,RealPriceIndex:=NULL]
+CBN<-merge(CBN,Indexes,by=c("ProvinceCode"),all.x = TRUE)
+CBN<-CBN[,Total_Food_Month_Per2:=FoodExpenditure_Per*RealPriceIndex]
+CBN<-CBN[,Total_Exp_Month_Per2:=Total_Exp_Month_Per_nondurable*RealPriceIndex]
+#utils::View(CBN)
+
+#Sort Expenditure data
+CBN<- CBN[order(Total_Exp_Month_Per2)]
+
+#Calculate cumulative weights
+sum(CBN$Weight)
+CBN$cumweight <- cumsum(CBN$Weight)
+tx <- max(CBN$cumweight)
+
+#Calculate deciles by weights
+CBN[,Decile:=cut(cumweight,breaks = seq(0,tx,tx/10),labels = 1:10)]
+CBN[,Percentile:=cut(cumweight,breaks=seq(0,tx,tx/100),labels=1:100)]
+
+#Update Poors
+CBN[,Poor:=ifelse(Decile %in% 2:5,1,0)]
+CBNPoor<-CBN[Poor==1]
+CBNPoor<-merge(CBNPoor,dt2,by=c("ProvinceCode"),all.x = TRUE)
+CBNPoor[,sum(HIndivNo),by=.(ProvinceCode)][order(ProvinceCode)]
+
+
+###Iteration1-4
+#Calculate Per_calories in clusters
+CBNPoor[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(186:201)][]
+#utils::View(CBNPoor)
+
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(203:218)][]
+
+CBNPoor[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor<-CBNPoor[Per_Daily_Exp_Calories!=0]
+CBNPoor[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+#CBN[,weighted.mean(Poor,Weight),by=cluster][order(cluster)]
+
+#Real Prices
+T_Bundle_Value<-subset(CBNPoor, ProvinceCode==2301, select=c(Bundle_Value,Home_Per_Metr,Weight))
+Tehran_Bundle_Value1<-weighted.mean(T_Bundle_Value$Bundle_Value,T_Bundle_Value$Weight,na.rm = TRUE)
+Tehran_Bundle_Value2<-weighted.mean(T_Bundle_Value$Home_Per_Metr,T_Bundle_Value$Weight,na.rm = TRUE)
+CBNPoor[,RealPriceIndex1:=weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/Tehran_Bundle_Value1,by=ProvinceCode]
+CBNPoor[,RealPriceIndex2:=weighted.mean(Home_Per_Metr,Weight,na.rm = TRUE)/Tehran_Bundle_Value2,by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex1,Weight),by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex2,Weight),by=ProvinceCode]
+Indexes2<-CBNPoor[,.(RealPriceIndex1,RealPriceIndex2,ProvinceCode,Weight)]
+Indexes2<-Indexes2[,RealPriceIndex:=(RealPriceIndex1+RealPriceIndex2)/2]
+Indexes<-Indexes2[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+Indexes34<-Indexes[,.(ProvinceCode,RealPriceIndex1,RealPriceIndex2,RealPriceIndex)]
+Indexes<-Indexes[,.(ProvinceCode,RealPriceIndex)]
+CBN[,RealPriceIndex:=NULL]
+CBN<-merge(CBN,Indexes,by=c("ProvinceCode"),all.x = TRUE)
+CBN<-CBN[,Total_Food_Month_Per2:=FoodExpenditure_Per*RealPriceIndex]
+CBN<-CBN[,Total_Exp_Month_Per2:=Total_Exp_Month_Per_nondurable*RealPriceIndex]
+#utils::View(CBN)
+
+
+#Sort Expenditure data
+CBN<- CBN[order(Total_Exp_Month_Per2)]
+
+#Calculate cumulative weights
+sum(CBN$Weight)
+CBN$cumweight <- cumsum(CBN$Weight)
+tx <- max(CBN$cumweight)
+
+#Calculate deciles by weights
+CBN[,Decile:=cut(cumweight,breaks = seq(0,tx,tx/10),labels = 1:10)]
+CBN[,Percentile:=cut(cumweight,breaks=seq(0,tx,tx/100),labels=1:100)]
+
+#Update Poors
+CBN[,Poor:=ifelse(Decile %in% 2:5,1,0)]
+CBNPoor<-CBN[Poor==1]
+CBNPoor<-merge(CBNPoor,dt2,by=c("ProvinceCode"),all.x = TRUE)
+CBNPoor[,sum(HIndivNo),by=.(ProvinceCode)][order(ProvinceCode)]
+
+###Iteration1-5
+#Calculate Per_calories in clusters
+CBNPoor[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(186:201)][]
+#utils::View(CBNPoor)
+
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(203:218)][]
+
+CBNPoor[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor<-CBNPoor[Per_Daily_Exp_Calories!=0]
+CBNPoor[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+#CBN[,weighted.mean(Poor,Weight),by=cluster][order(cluster)]
+
+#Real Prices
+T_Bundle_Value<-subset(CBNPoor, ProvinceCode==2301, select=c(Bundle_Value,Home_Per_Metr,Weight))
+Tehran_Bundle_Value1<-weighted.mean(T_Bundle_Value$Bundle_Value,T_Bundle_Value$Weight,na.rm = TRUE)
+Tehran_Bundle_Value2<-weighted.mean(T_Bundle_Value$Home_Per_Metr,T_Bundle_Value$Weight,na.rm = TRUE)
+CBNPoor[,RealPriceIndex1:=weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/Tehran_Bundle_Value1,by=ProvinceCode]
+CBNPoor[,RealPriceIndex2:=weighted.mean(Home_Per_Metr,Weight,na.rm = TRUE)/Tehran_Bundle_Value2,by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex1,Weight),by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex2,Weight),by=ProvinceCode]
+Indexes2<-CBNPoor[,.(RealPriceIndex1,RealPriceIndex2,ProvinceCode,Weight)]
+Indexes2<-Indexes2[,RealPriceIndex:=(RealPriceIndex1+RealPriceIndex2)/2]
+Indexes<-Indexes2[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+Indexes35<-Indexes[,.(ProvinceCode,RealPriceIndex1,RealPriceIndex2,RealPriceIndex)]
+Indexes<-Indexes[,.(ProvinceCode,RealPriceIndex)]
+CBN[,RealPriceIndex:=NULL]
+CBN<-merge(CBN,Indexes,by=c("ProvinceCode"),all.x = TRUE)
+CBN<-CBN[,Total_Food_Month_Per2:=FoodExpenditure_Per*RealPriceIndex]
+CBN<-CBN[,Total_Exp_Month_Per2:=Total_Exp_Month_Per_nondurable*RealPriceIndex]
+#utils::View(CBN)
+
+
+#Sort Expenditure data
+CBN<- CBN[order(Total_Exp_Month_Per2)]
+
+#Calculate cumulative weights
+sum(CBN$Weight)
+CBN$cumweight <- cumsum(CBN$Weight)
+tx <- max(CBN$cumweight)
+
+#Calculate deciles by weights
+CBN[,Decile:=cut(cumweight,breaks = seq(0,tx,tx/10),labels = 1:10)]
+CBN[,Percentile:=cut(cumweight,breaks=seq(0,tx,tx/100),labels=1:100)]
+
+#Update Poors
+CBN[,Poor:=ifelse(Decile %in% 2:5,1,0)]
+CBNPoor<-CBN[Poor==1]
+CBNPoor<-merge(CBNPoor,dt2,by=c("ProvinceCode"),all.x = TRUE)
+CBNPoor[,sum(HIndivNo),by=.(ProvinceCode)][order(ProvinceCode)]
+
+###Iteration1-6
+#Calculate Per_calories in clusters
+CBNPoor[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(186:201)][]
+#utils::View(CBNPoor)
+
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(203:218)][]
+
+CBNPoor[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor<-CBNPoor[Per_Daily_Exp_Calories!=0]
+CBNPoor[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+#CBN[,weighted.mean(Poor,Weight),by=cluster][order(cluster)]
+
+#Real Prices
+T_Bundle_Value<-subset(CBNPoor, ProvinceCode==2301, select=c(Bundle_Value,Home_Per_Metr,Weight))
+Tehran_Bundle_Value1<-weighted.mean(T_Bundle_Value$Bundle_Value,T_Bundle_Value$Weight,na.rm = TRUE)
+Tehran_Bundle_Value2<-weighted.mean(T_Bundle_Value$Home_Per_Metr,T_Bundle_Value$Weight,na.rm = TRUE)
+CBNPoor[,RealPriceIndex1:=weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/Tehran_Bundle_Value1,by=ProvinceCode]
+CBNPoor[,RealPriceIndex2:=weighted.mean(Home_Per_Metr,Weight,na.rm = TRUE)/Tehran_Bundle_Value2,by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex1,Weight),by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex2,Weight),by=ProvinceCode]
+Indexes2<-CBNPoor[,.(RealPriceIndex1,RealPriceIndex2,ProvinceCode,Weight)]
+Indexes2<-Indexes2[,RealPriceIndex:=(RealPriceIndex1+RealPriceIndex2)/2]
+Indexes<-Indexes2[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+Indexes36<-Indexes[,.(ProvinceCode,RealPriceIndex1,RealPriceIndex2,RealPriceIndex)]
+Indexes<-Indexes[,.(ProvinceCode,RealPriceIndex)]
+CBN[,RealPriceIndex:=NULL]
+CBN<-merge(CBN,Indexes,by=c("ProvinceCode"),all.x = TRUE)
+CBN<-CBN[,Total_Food_Month_Per2:=FoodExpenditure_Per*RealPriceIndex]
+CBN<-CBN[,Total_Exp_Month_Per2:=Total_Exp_Month_Per_nondurable*RealPriceIndex]
+#utils::View(CBN)
+
+
+#Sort Expenditure data
+CBN<- CBN[order(Total_Exp_Month_Per2)]
+
+#Calculate cumulative weights
+sum(CBN$Weight)
+CBN$cumweight <- cumsum(CBN$Weight)
+tx <- max(CBN$cumweight)
+
+#Calculate deciles by weights
+CBN[,Decile:=cut(cumweight,breaks = seq(0,tx,tx/10),labels = 1:10)]
+CBN[,Percentile:=cut(cumweight,breaks=seq(0,tx,tx/100),labels=1:100)]
+
+#Update Poors
+CBN[,Poor:=ifelse(Decile %in% 2:5,1,0)]
+CBNPoor<-CBN[Poor==1]
+CBNPoor<-merge(CBNPoor,dt2,by=c("ProvinceCode"),all.x = TRUE)
+CBNPoor[,sum(HIndivNo),by=.(ProvinceCode)][order(ProvinceCode)]
+
+###Iteration1-7
+#Calculate Per_calories in clusters
+CBNPoor[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(186:201)][]
+#utils::View(CBNPoor)
+
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(203:218)][]
+
+CBNPoor[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor<-CBNPoor[Per_Daily_Exp_Calories!=0]
+CBNPoor[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+#CBN[,weighted.mean(Poor,Weight),by=cluster][order(cluster)]
+
+#Real Prices
+T_Bundle_Value<-subset(CBNPoor, ProvinceCode==2301, select=c(Bundle_Value,Home_Per_Metr,Weight))
+Tehran_Bundle_Value1<-weighted.mean(T_Bundle_Value$Bundle_Value,T_Bundle_Value$Weight,na.rm = TRUE)
+Tehran_Bundle_Value2<-weighted.mean(T_Bundle_Value$Home_Per_Metr,T_Bundle_Value$Weight,na.rm = TRUE)
+CBNPoor[,RealPriceIndex1:=weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/Tehran_Bundle_Value1,by=ProvinceCode]
+CBNPoor[,RealPriceIndex2:=weighted.mean(Home_Per_Metr,Weight,na.rm = TRUE)/Tehran_Bundle_Value2,by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex1,Weight),by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex2,Weight),by=ProvinceCode]
+Indexes2<-CBNPoor[,.(RealPriceIndex1,RealPriceIndex2,ProvinceCode,Weight)]
+Indexes2<-Indexes2[,RealPriceIndex:=(RealPriceIndex1+RealPriceIndex2)/2]
+Indexes<-Indexes2[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+Indexes37<-Indexes[,.(ProvinceCode,RealPriceIndex1,RealPriceIndex2,RealPriceIndex)]
+Indexes<-Indexes[,.(ProvinceCode,RealPriceIndex)]
+CBN[,RealPriceIndex:=NULL]
+CBN<-merge(CBN,Indexes,by=c("ProvinceCode"),all.x = TRUE)
+CBN<-CBN[,Total_Food_Month_Per2:=FoodExpenditure_Per*RealPriceIndex]
+CBN<-CBN[,Total_Exp_Month_Per2:=Total_Exp_Month_Per_nondurable*RealPriceIndex]
+#utils::View(CBN)
+
+
+#Sort Expenditure data
+CBN<- CBN[order(Total_Exp_Month_Per2)]
+
+#Calculate cumulative weights
+sum(CBN$Weight)
+CBN$cumweight <- cumsum(CBN$Weight)
+tx <- max(CBN$cumweight)
+
+#Calculate deciles by weights
+CBN[,Decile:=cut(cumweight,breaks = seq(0,tx,tx/10),labels = 1:10)]
+CBN[,Percentile:=cut(cumweight,breaks=seq(0,tx,tx/100),labels=1:100)]
+
+#Update Poors
+CBN[,Poor:=ifelse(Decile %in% 2:5,1,0)]
+CBNPoor<-CBN[Poor==1]
+CBNPoor<-merge(CBNPoor,dt2,by=c("ProvinceCode"),all.x = TRUE)
+CBNPoor[,sum(HIndivNo),by=.(ProvinceCode)][order(ProvinceCode)]
+
+###Iteration1-8
+#Calculate Per_calories in clusters
+CBNPoor[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(186:201)][]
+#utils::View(CBNPoor)
+
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(203:218)][]
+
+CBNPoor[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor<-CBNPoor[Per_Daily_Exp_Calories!=0]
+CBNPoor[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+#CBN[,weighted.mean(Poor,Weight),by=cluster][order(cluster)]
+
+#Real Prices
+T_Bundle_Value<-subset(CBNPoor, ProvinceCode==2301, select=c(Bundle_Value,Home_Per_Metr,Weight))
+Tehran_Bundle_Value1<-weighted.mean(T_Bundle_Value$Bundle_Value,T_Bundle_Value$Weight,na.rm = TRUE)
+Tehran_Bundle_Value2<-weighted.mean(T_Bundle_Value$Home_Per_Metr,T_Bundle_Value$Weight,na.rm = TRUE)
+CBNPoor[,RealPriceIndex1:=weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/Tehran_Bundle_Value1,by=ProvinceCode]
+CBNPoor[,RealPriceIndex2:=weighted.mean(Home_Per_Metr,Weight,na.rm = TRUE)/Tehran_Bundle_Value2,by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex1,Weight),by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex2,Weight),by=ProvinceCode]
+Indexes2<-CBNPoor[,.(RealPriceIndex1,RealPriceIndex2,ProvinceCode,Weight)]
+Indexes2<-Indexes2[,RealPriceIndex:=(RealPriceIndex1+RealPriceIndex2)/2]
+Indexes<-Indexes2[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+Indexes38<-Indexes[,.(ProvinceCode,RealPriceIndex1,RealPriceIndex2,RealPriceIndex)]
+Indexes<-Indexes[,.(ProvinceCode,RealPriceIndex)]
+CBN[,RealPriceIndex:=NULL]
+CBN<-merge(CBN,Indexes,by=c("ProvinceCode"),all.x = TRUE)
+CBN<-CBN[,Total_Food_Month_Per2:=FoodExpenditure_Per*RealPriceIndex]
+CBN<-CBN[,Total_Exp_Month_Per2:=Total_Exp_Month_Per_nondurable*RealPriceIndex]
+#utils::View(CBN)
+
+
+#Sort Expenditure data
+CBN<- CBN[order(Total_Exp_Month_Per2)]
+
+#Calculate cumulative weights
+sum(CBN$Weight)
+CBN$cumweight <- cumsum(CBN$Weight)
+tx <- max(CBN$cumweight)
+
+#Calculate deciles by weights
+CBN[,Decile:=cut(cumweight,breaks = seq(0,tx,tx/10),labels = 1:10)]
+CBN[,Percentile:=cut(cumweight,breaks=seq(0,tx,tx/100),labels=1:100)]
+
+#Update Poors
+CBN[,Poor:=ifelse(Decile %in% 2:5,1,0)]
+CBNPoor<-CBN[Poor==1]
+CBNPoor<-merge(CBNPoor,dt2,by=c("ProvinceCode"),all.x = TRUE)
+CBNPoor[,sum(HIndivNo),by=.(ProvinceCode)][order(ProvinceCode)]
+
+###Iteration1-9
+#Calculate Per_calories in clusters
+CBNPoor[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(186:201)][]
+#utils::View(CBNPoor)
+
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(203:218)][]
+
+CBNPoor[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor<-CBNPoor[Per_Daily_Exp_Calories!=0]
+CBNPoor[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+#CBN[,weighted.mean(Poor,Weight),by=cluster][order(cluster)]
+
+#Real Prices
+T_Bundle_Value<-subset(CBNPoor, ProvinceCode==2301, select=c(Bundle_Value,Home_Per_Metr,Weight))
+Tehran_Bundle_Value1<-weighted.mean(T_Bundle_Value$Bundle_Value,T_Bundle_Value$Weight,na.rm = TRUE)
+Tehran_Bundle_Value2<-weighted.mean(T_Bundle_Value$Home_Per_Metr,T_Bundle_Value$Weight,na.rm = TRUE)
+CBNPoor[,RealPriceIndex1:=weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/Tehran_Bundle_Value1,by=ProvinceCode]
+CBNPoor[,RealPriceIndex2:=weighted.mean(Home_Per_Metr,Weight,na.rm = TRUE)/Tehran_Bundle_Value2,by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex1,Weight),by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex2,Weight),by=ProvinceCode]
+Indexes2<-CBNPoor[,.(RealPriceIndex1,RealPriceIndex2,ProvinceCode,Weight)]
+Indexes2<-Indexes2[,RealPriceIndex:=(RealPriceIndex1+RealPriceIndex2)/2]
+Indexes<-Indexes2[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+Indexes39<-Indexes[,.(ProvinceCode,RealPriceIndex1,RealPriceIndex2,RealPriceIndex)]
+Indexes<-Indexes[,.(ProvinceCode,RealPriceIndex)]
+CBN[,RealPriceIndex:=NULL]
+CBN<-merge(CBN,Indexes,by=c("ProvinceCode"),all.x = TRUE)
+CBN<-CBN[,Total_Food_Month_Per2:=FoodExpenditure_Per*RealPriceIndex]
+CBN<-CBN[,Total_Exp_Month_Per2:=Total_Exp_Month_Per_nondurable*RealPriceIndex]
+#utils::View(CBN)
+
+
+#Sort Expenditure data
+CBN<- CBN[order(Total_Exp_Month_Per2)]
+
+#Calculate cumulative weights
+sum(CBN$Weight)
+CBN$cumweight <- cumsum(CBN$Weight)
+tx <- max(CBN$cumweight)
+
+#Calculate deciles by weights
+CBN[,Decile:=cut(cumweight,breaks = seq(0,tx,tx/10),labels = 1:10)]
+CBN[,Percentile:=cut(cumweight,breaks=seq(0,tx,tx/100),labels=1:100)]
+
+#Update Poors
+CBN[,Poor:=ifelse(Decile %in% 2:5,1,0)]
+CBNPoor<-CBN[Poor==1]
+CBNPoor<-merge(CBNPoor,dt2,by=c("ProvinceCode"),all.x = TRUE)
+CBNPoor[,sum(HIndivNo),by=.(ProvinceCode)][order(ProvinceCode)]
+
+###Iteration1-10
+#Calculate Per_calories in clusters
+CBNPoor[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(186:201)][]
+#utils::View(CBNPoor)
+
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(203:218)][]
+
+CBNPoor[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor<-CBNPoor[Per_Daily_Exp_Calories!=0]
+CBNPoor[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+#CBN[,weighted.mean(Poor,Weight),by=cluster][order(cluster)]
+
+#Real Prices
+T_Bundle_Value<-subset(CBNPoor, ProvinceCode==2301, select=c(Bundle_Value,Home_Per_Metr,Weight))
+Tehran_Bundle_Value1<-weighted.mean(T_Bundle_Value$Bundle_Value,T_Bundle_Value$Weight,na.rm = TRUE)
+Tehran_Bundle_Value2<-weighted.mean(T_Bundle_Value$Home_Per_Metr,T_Bundle_Value$Weight,na.rm = TRUE)
+CBNPoor[,RealPriceIndex1:=weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/Tehran_Bundle_Value1,by=ProvinceCode]
+CBNPoor[,RealPriceIndex2:=weighted.mean(Home_Per_Metr,Weight,na.rm = TRUE)/Tehran_Bundle_Value2,by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex1,Weight),by=ProvinceCode]
+CBNPoor[,weighted.mean(RealPriceIndex2,Weight),by=ProvinceCode]
+Indexes2<-CBNPoor[,.(RealPriceIndex1,RealPriceIndex2,ProvinceCode,Weight)]
+Indexes2<-Indexes2[,RealPriceIndex:=(RealPriceIndex1+RealPriceIndex2)/2]
+Indexes<-Indexes2[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+Indexes310<-Indexes[,.(ProvinceCode,RealPriceIndex1,RealPriceIndex2,RealPriceIndex)]
+Indexes<-Indexes[,.(ProvinceCode,RealPriceIndex)]
+CBN[,RealPriceIndex:=NULL]
+CBN<-merge(CBN,Indexes,by=c("ProvinceCode"),all.x = TRUE)
+CBN<-CBN[,Total_Food_Month_Per2:=FoodExpenditure_Per*RealPriceIndex]
+CBN<-CBN[,Total_Exp_Month_Per2:=Total_Exp_Month_Per_nondurable*RealPriceIndex]
+#utils::View(CBN)
+
+
+#Sort Expenditure data
+CBN<- CBN[order(Total_Exp_Month_Per2)]
+
+#Calculate cumulative weights
+sum(CBN$Weight)
+CBN$cumweight <- cumsum(CBN$Weight)
+tx <- max(CBN$cumweight)
+
+#Calculate deciles by weights
+CBN[,Decile:=cut(cumweight,breaks = seq(0,tx,tx/10),labels = 1:10)]
+CBN[,Percentile:=cut(cumweight,breaks=seq(0,tx,tx/100),labels=1:100)]
+
+#Update Poors
+CBN[,Poor:=ifelse(Decile %in% 2:5,1,0)]
+CBNPoor<-CBN[Poor==1]
+CBNPoor<-merge(CBNPoor,dt2,by=c("ProvinceCode"),all.x = TRUE)
+CBNPoor[,sum(HIndivNo),by=.(cluster)][order(cluster)]
+
+
+#Calculate Per_calories in clusters
+CBNPoor[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(189:204)][]
+#utils::View(CBNPoor)
+
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(206:221)][]
+
+CBNPoor[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor[is.na(get(col)), (col) := 0]
+CBNPoor<-CBNPoor[Per_Daily_Exp_Calories!=0]
+CBNPoor[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNCalory<-CBNPoor[,.(Per_Daily_Calories,Per_Daily_Exp_Calories,Per_Calory_Resturant,Resturant_Exp,cluster,ProvinceCode)]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+
+
+#Calculations
+CBNPoor[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per_day,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor[,sum(Size*Weight),by=cluster][order(cluster)]
+
+
+#Food Poverty Line for each cluster
+#cluster 1
+CBNPoorCluster<-CBNPoor[cluster==1]
+Food_Povertyline1_1<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 2
+CBNPoorCluster<-CBNPoor[cluster==2]
+Food_Povertyline2_1<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 3
+CBNPoorCluster<-CBNPoor[cluster==3]
+Food_Povertyline3_1<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 4
+CBNPoorCluster<-CBNPoor[cluster==4]
+Food_Povertyline4_1<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+
+#ee<-CBNPoor[,.(Total_Exp_Month_Real,Total_Exp_Month,Total_Food_Month_Per2,Total_Exp_Month_Per_nondurable,Total_Exp_Month_nondurable_Real_Per,FoodExpenditure_Per,cluster)]
+#mean(ee[,Total_Food_Month_Per2==Total_Exp_Month_nondurable_Real])
+#mean(ee[,Total_Food_Month_Per2<3500000])
+#ee<- ee[order(Total_Food_Month_Per2)]
+#utils::View(CBN)
+CBN<-merge(CBN,dt2,by=c("ProvinceCode"),all.x = TRUE)
+#for (col in c("Total_Food_Month_Per2")) CBN[is.na(get(col)), (col) := Total_Exp_Month_Per_nondurable]
+c<-CBN[,.(FoodExpenditure_Per,FoodExpenditure_Per_total,Total_Exp_Month_Per_nondurable,Total_Exp_Month,Total_Food_Month_Per2,Poor,Decile,Weight,cluster)]
+
+#########Iteration 2###############
+#Sort Expenditure data
+CBN<- CBN[order(Total_Food_Month_Per2)]
+c<- c[order(Total_Food_Month_Per2)]
+
+#Indicate new poors
+CBN[,Poor2:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_1 & cluster==1,1,0)]
+c[,Poor2:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_1 & cluster==1 ,1,0)]
+CBN[,Poor2:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_1 & cluster==2,1,Poor2)]
+c[,Poor2:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_1 & cluster==2 ,1,Poor2)]
+CBN[,Poor2:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_1 & cluster==3,1,Poor2)]
+c[,Poor2:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_1 & cluster==3 ,1,Poor2)]
+CBN[,Poor2:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_1 & cluster==4,1,Poor2)]
+c[,Poor2:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_1 & cluster==4 ,1,Poor2)]
+CBN[,weighted.mean(Poor2,Weight),by=cluster][order(cluster)]
+CBNPoor[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2<-CBN[Poor2==1]
+
+
+#CalculatePer_calories in clusters
+CBNPoor2[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(190:205)][]
+#utils::View(CBNPoor2)
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor2[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(207:222)][]
+
+CBNPoor2[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor2[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor2[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor2[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor2[is.na(get(col)), (col) := 0]
+CBNPoor2<-CBNPoor2[Per_Daily_Exp_Calories!=0]
+CBNPoor2[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor2[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+#sum of total food expenditures
+CBNPoor2[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor2[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor2[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor2[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+
+
+
+#Calculations
+CBNPoor2[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,weighted.mean(FoodExpenditure_Per_day,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor2[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+
+
+
+#Food Poverty Line for each cluster
+#cluster 1
+CBNPoorCluster<-CBNPoor2[cluster==1]
+Food_Povertyline1_2<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 2
+CBNPoorCluster<-CBNPoor2[cluster==2]
+Food_Povertyline2_2<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 3
+CBNPoorCluster<-CBNPoor2[cluster==3]
+Food_Povertyline3_2<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 4
+CBNPoorCluster<-CBNPoor2[cluster==4]
+Food_Povertyline4_2<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#ee<-CBNPoor[,.(Total_Exp_Month_Real,Total_Exp_Month,Total_Food_Month_Per2,Total_Exp_Month_Per_nondurable,Total_Exp_Month_nondurable_Real_Per,FoodExpenditure_Per,cluster)]
+#mean(ee[,Total_Food_Month_Per2==Total_Exp_Month_nondurable_Real])
+#mean(ee[,Total_Food_Month_Per2<3500000])
+#ee<- ee[order(Total_Food_Month_Per2)]
+#utils::View(CBN)
+#for (col in c("Total_Food_Month_Per2")) CBN[is.na(get(col)), (col) := Total_Exp_Month_Per_nondurable]
+c<-CBN[,.(FoodExpenditure_Per,FoodExpenditure_Per_total,Total_Exp_Month_Per_nondurable,Total_Exp_Month,Total_Food_Month_Per2,Poor,Decile,Weight,cluster)]
+
+
+#########Iteration 3###############
+#Sort Expenditure data
+CBN<- CBN[order(Total_Food_Month_Per2)]
+c<- c[order(Total_Food_Month_Per2)]
+
+#Indicate new poors
+CBN[,Poor3:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_2 & cluster==1,1,0)]
+c[,Poor3:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_2 & cluster==1 ,1,0)]
+CBN[,Poor3:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_2 & cluster==2,1,Poor3)]
+c[,Poor3:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_2 & cluster==2 ,1,Poor3)]
+CBN[,Poor3:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_2 & cluster==3,1,Poor3)]
+c[,Poor3:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_2 & cluster==3 ,1,Poor3)]
+CBN[,Poor3:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_2 & cluster==4,1,Poor3)]
+c[,Poor3:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_2 & cluster==4 ,1,Poor3)]
+CBN[,weighted.mean(Poor3,Weight),by=cluster][order(cluster)]
+CBNPoor2[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3<-CBN[Poor3==1]
+
+
+
+#CalculatePer_calories in clusters
+CBNPoor3[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(191:206)][]
+#utils::View(CBNPoor3)
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor3[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(208:223)][]
+
+
+CBNPoor3[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor3[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor3[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor3[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor3[is.na(get(col)), (col) := 0]
+CBNPoor3<-CBNPoor3[Per_Daily_Exp_Calories!=0]
+CBNPoor3[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor3[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+
+#sum of total food expenditures
+CBNPoor3[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor3[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor3[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor3[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+
+
+#Calculations
+CBNPoor3[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,weighted.mean(FoodExpenditure_Per_day,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor3[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+
+
+
+#Food Poverty Line for each cluster
+#cluster 1
+CBNPoorCluster<-CBNPoor3[cluster==1]
+Food_Povertyline1_3<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 2
+CBNPoorCluster<-CBNPoor3[cluster==2]
+Food_Povertyline2_3<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 3
+CBNPoorCluster<-CBNPoor3[cluster==3]
+Food_Povertyline3_3<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 4
+CBNPoorCluster<-CBNPoor3[cluster==4]
+Food_Povertyline4_3<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#ee<-CBNPoor[,.(Total_Exp_Month_Real,Total_Exp_Month,Total_Food_Month_Per2,Total_Exp_Month_Per_nondurable,Total_Exp_Month_nondurable_Real_Per,FoodExpenditure_Per,cluster)]
+#mean(ee[,Total_Food_Month_Per2==Total_Exp_Month_nondurable_Real])
+#mean(ee[,Total_Food_Month_Per2<3500000])
+#ee<- ee[order(Total_Food_Month_Per2)]
+#utils::View(CBN)
+#for (col in c("Total_Food_Month_Per2")) CBN[is.na(get(col)), (col) := Total_Exp_Month_Per_nondurable]
+c<-CBN[,.(FoodExpenditure_Per,FoodExpenditure_Per_total,Total_Exp_Month_Per_nondurable,Total_Exp_Month,Total_Food_Month_Per2,Poor,Decile,Weight,cluster)]
+
+
+#########Iteration 4###############
+#Sort Expenditure data
+CBN<- CBN[order(Total_Food_Month_Per2)]
+c<- c[order(Total_Food_Month_Per2)]
+
+#Indicate new poors
+CBN[,Poor4:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_3 & cluster==1,1,0)]
+c[,Poor4:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_3 & cluster==1 ,1,0)]
+CBN[,Poor4:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_3 & cluster==2,1,Poor4)]
+c[,Poor4:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_3 & cluster==2 ,1,Poor4)]
+CBN[,Poor4:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_3 & cluster==3,1,Poor4)]
+c[,Poor4:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_3 & cluster==3 ,1,Poor4)]
+CBN[,Poor4:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_3 & cluster==4,1,Poor4)]
+c[,Poor4:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_3 & cluster==4 ,1,Poor4)]
+CBN[,weighted.mean(Poor4,Weight),by=cluster][order(cluster)]
+CBNPoor3[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4<-CBN[Poor4==1]
+
+#CalculatePer_calories in clusters
+CBNPoor4[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(191:206)][]
+#utils::View(CBNPoor4)
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor4[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(208:223)][]
+
+
+CBNPoor4[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor4[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor4[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor4[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor4[is.na(get(col)), (col) := 0]
+CBNPoor4<-CBNPoor4[Per_Daily_Exp_Calories!=0]
+CBNPoor4[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor4[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+
+#sum of total food expenditures
+CBNPoor4[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor4[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor4[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor4[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+
+
+#Calculations
+CBNPoor4[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,weighted.mean(FoodExpenditure_Per_day,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor4[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+
+
+
+#Food Poverty Line for each cluster
+#cluster 1
+CBNPoorCluster<-CBNPoor4[cluster==1]
+Food_Povertyline1_4<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 2
+CBNPoorCluster<-CBNPoor4[cluster==2]
+Food_Povertyline2_4<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 3
+CBNPoorCluster<-CBNPoor4[cluster==3]
+Food_Povertyline3_4<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 4
+CBNPoorCluster<-CBNPoor4[cluster==4]
+Food_Povertyline4_4<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#ee<-CBNPoor[,.(Total_Exp_Month_Real,Total_Exp_Month,Total_Food_Month_Per2,Total_Exp_Month_Per_nondurable,Total_Exp_Month_nondurable_Real_Per,FoodExpenditure_Per,cluster)]
+#mean(ee[,Total_Food_Month_Per2==Total_Exp_Month_nondurable_Real])
+#mean(ee[,Total_Food_Month_Per2<3500000])
+#ee<- ee[order(Total_Food_Month_Per2)]
+#utils::View(CBN)
+#for (col in c("Total_Food_Month_Per2")) CBN[is.na(get(col)), (col) := Total_Exp_Month_Per_nondurable]
+c<-CBN[,.(FoodExpenditure_Per,FoodExpenditure_Per_total,Total_Exp_Month_Per_nondurable,Total_Exp_Month,Total_Food_Month_Per2,Poor,Decile,Weight,cluster)]
+
+
+#########Iteration 5###############
+#Sort Expenditure data
+CBN<- CBN[order(Total_Food_Month_Per2)]
+c<- c[order(Total_Food_Month_Per2)]
+
+#Indicate new poors
+CBN[,Poor5:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_4 & cluster==1,1,0)]
+c[,Poor5:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_4 & cluster==1 ,1,0)]
+CBN[,Poor5:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_4 & cluster==2,1,Poor5)]
+c[,Poor5:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_4 & cluster==2 ,1,Poor5)]
+CBN[,Poor5:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_4 & cluster==3,1,Poor5)]
+c[,Poor5:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_4 & cluster==3 ,1,Poor5)]
+CBN[,Poor5:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_4 & cluster==4,1,Poor5)]
+c[,Poor5:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_4 & cluster==4 ,1,Poor5)]
+CBN[,weighted.mean(Poor5,Weight),by=cluster][order(cluster)]
+CBNPoor4[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5<-CBN[Poor5==1]
+
+#CalculatePer_calories in clusters
+CBNPoor5[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(191:206)][]
+#utils::View(CBNPoor5)
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor5[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(208:223)][]
+
+
+CBNPoor5[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor5[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor5[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor5[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor5[is.na(get(col)), (col) := 0]
+CBNPoor5<-CBNPoor5[Per_Daily_Exp_Calories!=0]
+CBNPoor5[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor5[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+
+#sum of total food expenditures
+CBNPoor5[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor5[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor5[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor5[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+
+
+#Calculations
+CBNPoor5[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,weighted.mean(FoodExpenditure_Per_day,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor5[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+
+
+
+#Food Poverty Line for each cluster
+#cluster 1
+CBNPoorCluster<-CBNPoor5[cluster==1]
+Food_Povertyline1_5<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 2
+CBNPoorCluster<-CBNPoor5[cluster==2]
+Food_Povertyline2_5<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 3
+CBNPoorCluster<-CBNPoor5[cluster==3]
+Food_Povertyline3_5<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 4
+CBNPoorCluster<-CBNPoor5[cluster==4]
+Food_Povertyline4_5<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#ee<-CBNPoor[,.(Total_Exp_Month_Real,Total_Exp_Month,Total_Food_Month_Per2,Total_Exp_Month_Per_nondurable,Total_Exp_Month_nondurable_Real_Per,FoodExpenditure_Per,cluster)]
+#mean(ee[,Total_Food_Month_Per2==Total_Exp_Month_nondurable_Real])
+#mean(ee[,Total_Food_Month_Per2<3500000])
+#ee<- ee[order(Total_Food_Month_Per2)]
+#utils::View(CBN)
+#for (col in c("Total_Food_Month_Per2")) CBN[is.na(get(col)), (col) := Total_Exp_Month_Per_nondurable]
+c<-CBN[,.(FoodExpenditure_Per,FoodExpenditure_Per_total,Total_Exp_Month_Per_nondurable,Total_Exp_Month,Total_Food_Month_Per2,Poor,Decile,Weight,cluster)]
+
+
+#########Iteration 6###############
+#Sort Expenditure data
+CBN<- CBN[order(Total_Food_Month_Per2)]
+c<- c[order(Total_Food_Month_Per2)]
+
+#Indicate new poors
+CBN[,Poor6:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_5 & cluster==1,1,0)]
+c[,Poor6:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_5 & cluster==1 ,1,0)]
+CBN[,Poor6:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_5 & cluster==2,1,Poor6)]
+c[,Poor6:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_5 & cluster==2 ,1,Poor6)]
+CBN[,Poor6:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_5 & cluster==3,1,Poor6)]
+c[,Poor6:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_5 & cluster==3 ,1,Poor6)]
+CBN[,Poor6:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_5 & cluster==4,1,Poor6)]
+c[,Poor6:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_5 & cluster==4 ,1,Poor6)]
+CBN[,weighted.mean(Poor6,Weight),by=cluster][order(cluster)]
+CBNPoor5[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6<-CBN[Poor6==1]
+
+#CalculatePer_calories in clusters
+CBNPoor6[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(191:206)][]
+#utils::View(CBNPoor6)
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor6[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(208:223)][]
+
+
+CBNPoor6[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor6[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor6[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor6[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor6[is.na(get(col)), (col) := 0]
+CBNPoor6<-CBNPoor6[Per_Daily_Exp_Calories!=0]
+CBNPoor6[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor6[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+
+#sum of total food expenditures
+CBNPoor6[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor6[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor6[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor6[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+
+
+#Calculations
+CBNPoor6[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,weighted.mean(FoodExpenditure_Per_day,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor6[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+
+
+#Food Poverty Line for each cluster
+#cluster 1
+CBNPoorCluster<-CBNPoor6[cluster==1]
+Food_Povertyline1_6<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 2
+CBNPoorCluster<-CBNPoor6[cluster==2]
+Food_Povertyline2_6<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 3
+CBNPoorCluster<-CBNPoor6[cluster==3]
+Food_Povertyline3_6<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 4
+CBNPoorCluster<-CBNPoor6[cluster==4]
+Food_Povertyline4_6<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#ee<-CBNPoor[,.(Total_Exp_Month_Real,Total_Exp_Month,Total_Food_Month_Per2,Total_Exp_Month_Per_nondurable,Total_Exp_Month_nondurable_Real_Per,FoodExpenditure_Per,cluster)]
+#mean(ee[,Total_Food_Month_Per2==Total_Exp_Month_nondurable_Real])
+#mean(ee[,Total_Food_Month_Per2<3500000])
+#ee<- ee[order(Total_Food_Month_Per2)]
+#utils::View(CBN)
+#for (col in c("Total_Food_Month_Per2")) CBN[is.na(get(col)), (col) := Total_Exp_Month_Per_nondurable]
+c<-CBN[,.(FoodExpenditure_Per,FoodExpenditure_Per_total,Total_Exp_Month_Per_nondurable,Total_Exp_Month,Total_Food_Month_Per2,Poor,Decile,Weight,cluster)]
+
+
+#########Iteration 7###############
+#Sort Expenditure data
+CBN<- CBN[order(Total_Food_Month_Per2)]
+c<- c[order(Total_Food_Month_Per2)]
+
+#Indicate new poors
+CBN[,Poor7:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_6 & cluster==1,1,0)]
+c[,Poor7:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_6 & cluster==1 ,1,0)]
+CBN[,Poor7:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_6 & cluster==2,1,Poor7)]
+c[,Poor7:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_6 & cluster==2 ,1,Poor7)]
+CBN[,Poor7:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_6 & cluster==3,1,Poor7)]
+c[,Poor7:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_6 & cluster==3 ,1,Poor7)]
+CBN[,Poor7:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_6 & cluster==4,1,Poor7)]
+c[,Poor7:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_6 & cluster==4 ,1,Poor7)]
+CBN[,weighted.mean(Poor7,Weight),by=cluster][order(cluster)]
+CBNPoor6[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7<-CBN[Poor7==1]
+
+#CalculatePer_calories in clusters
+CBNPoor7[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(191:206)][]
+#utils::View(CBNPoor7)
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor7[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(208:223)][]
+
+
+CBNPoor7[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor7[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor7[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor7[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor7[is.na(get(col)), (col) := 0]
+CBNPoor7<-CBNPoor7[Per_Daily_Exp_Calories!=0]
+CBNPoor7[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor7[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+
+#sum of total food expenditures
+CBNPoor7[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor7[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor7[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor7[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+
+
+#Calculations
+CBNPoor7[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,weighted.mean(FoodExpenditure_Per_day,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor7[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+
+
+
+#Food Poverty Line for each cluster
+#cluster 1
+CBNPoorCluster<-CBNPoor7[cluster==1]
+Food_Povertyline1_7<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 2
+CBNPoorCluster<-CBNPoor7[cluster==2]
+Food_Povertyline2_7<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 3
+CBNPoorCluster<-CBNPoor7[cluster==3]
+Food_Povertyline3_7<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 4
+CBNPoorCluster<-CBNPoor7[cluster==4]
+Food_Povertyline4_7<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#ee<-CBNPoor[,.(Total_Exp_Month_Real,Total_Exp_Month,Total_Food_Month_Per2,Total_Exp_Month_Per_nondurable,Total_Exp_Month_nondurable_Real_Per,FoodExpenditure_Per,cluster)]
+#mean(ee[,Total_Food_Month_Per2==Total_Exp_Month_nondurable_Real])
+#mean(ee[,Total_Food_Month_Per2<3500000])
+#ee<- ee[order(Total_Food_Month_Per2)]
+#utils::View(CBN)
+#for (col in c("Total_Food_Month_Per2")) CBN[is.na(get(col)), (col) := Total_Exp_Month_Per_nondurable]
+c<-CBN[,.(FoodExpenditure_Per,FoodExpenditure_Per_total,Total_Exp_Month_Per_nondurable,Total_Exp_Month,Total_Food_Month_Per2,Poor,Decile,Weight,cluster)]
+
+
+#########Iteration 8###############
+#Sort Expenditure data
+CBN<- CBN[order(Total_Food_Month_Per2)]
+c<- c[order(Total_Food_Month_Per2)]
+
+#Indicate new poors
+CBN[,Poor8:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_7 & cluster==1,1,0)]
+c[,Poor8:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_7 & cluster==1 ,1,0)]
+CBN[,Poor8:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_7 & cluster==2,1,Poor8)]
+c[,Poor8:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_7 & cluster==2 ,1,Poor8)]
+CBN[,Poor8:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_7 & cluster==3,1,Poor8)]
+c[,Poor8:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_7 & cluster==3 ,1,Poor8)]
+CBN[,Poor8:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_7 & cluster==4,1,Poor8)]
+c[,Poor8:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_7 & cluster==4 ,1,Poor8)]
+CBN[,weighted.mean(Poor8,Weight),by=cluster][order(cluster)]
+CBNPoor7[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8<-CBN[Poor8==1]
+
+
+#CalculatePer_calories in clusters
+CBNPoor8[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(191:206)][]
+#utils::View(CBNPoor8)
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor8[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(208:223)][]
+
+
+CBNPoor8[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor8[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor8[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor8[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor8[is.na(get(col)), (col) := 0]
+CBNPoor8<-CBNPoor8[Per_Daily_Exp_Calories!=0]
+CBNPoor8[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor8[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+
+#sum of total food expenditures
+CBNPoor8[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor8[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor8[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor8[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+
+
+#Calculations
+CBNPoor8[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,weighted.mean(FoodExpenditure_Per_day,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor8[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+
+
+
+#Food Poverty Line for each cluster
+#cluster 1
+CBNPoorCluster<-CBNPoor8[cluster==1]
+Food_Povertyline1_8<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 2
+CBNPoorCluster<-CBNPoor8[cluster==2]
+Food_Povertyline2_8<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 3
+CBNPoorCluster<-CBNPoor8[cluster==3]
+Food_Povertyline3_8<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 4
+CBNPoorCluster<-CBNPoor8[cluster==4]
+Food_Povertyline4_8<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#ee<-CBNPoor[,.(Total_Exp_Month_Real,Total_Exp_Month,Total_Food_Month_Per2,Total_Exp_Month_Per_nondurable,Total_Exp_Month_nondurable_Real_Per,FoodExpenditure_Per,cluster)]
+#mean(ee[,Total_Food_Month_Per2==Total_Exp_Month_nondurable_Real])
+#mean(ee[,Total_Food_Month_Per2<3500000])
+#ee<- ee[order(Total_Food_Month_Per2)]
+#utils::View(CBN)
+#for (col in c("Total_Food_Month_Per2")) CBN[is.na(get(col)), (col) := Total_Exp_Month_Per_nondurable]
+c<-CBN[,.(FoodExpenditure_Per,FoodExpenditure_Per_total,Total_Exp_Month_Per_nondurable,Total_Exp_Month,Total_Food_Month_Per2,Poor,Decile,Weight,cluster)]
+
+
+#########Iteration 9###############
+#Sort Expenditure data
+CBN<- CBN[order(Total_Food_Month_Per2)]
+c<- c[order(Total_Food_Month_Per2)]
+
+#Indicate new poors
+CBN[,Poor9:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_8 & cluster==1,1,0)]
+c[,Poor9:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_8 & cluster==1 ,1,0)]
+CBN[,Poor9:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_8 & cluster==2,1,Poor9)]
+c[,Poor9:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_8 & cluster==2 ,1,Poor9)]
+CBN[,Poor9:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_8 & cluster==3,1,Poor9)]
+c[,Poor9:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_8 & cluster==3 ,1,Poor9)]
+CBN[,Poor9:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_8 & cluster==4,1,Poor9)]
+c[,Poor9:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_8 & cluster==4 ,1,Poor9)]
+CBN[,weighted.mean(Poor9,Weight),by=cluster][order(cluster)]
+CBNPoor8[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9<-CBN[Poor9==1]
+
+
+#CalculatePer_calories in clusters
+CBNPoor9[,Daily_Ghand_cluster:=weighted.mean(Ghand_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Hoboobat_cluster:=weighted.mean(Hoboobat_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Nan_cluster:=weighted.mean(Nan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Berenj_cluster:=weighted.mean(Berenj_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Roghan_cluster:=weighted.mean(Roghan_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Goosht_cluster:=weighted.mean(Goosht_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Morgh_cluster:=weighted.mean(Morgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Mahi_cluster:=weighted.mean(Mahi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Shir_cluster:=weighted.mean(Shir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Mast_cluster:=weighted.mean(Mast_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Panir_cluster:=weighted.mean(Panir_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Tokhmemorgh_cluster:=weighted.mean(Tokhmemorgh_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Mive_cluster:=weighted.mean(Mive_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Sabzi_cluster:=weighted.mean(Sabzi_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Makarooni_cluster:=weighted.mean(Makarooni_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,Daily_Sibzamini_cluster:=weighted.mean(Sibzamini_per_Calory,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[, Daily_Calories_cluster2 := Reduce(`+`, .SD), .SDcols=c(191:206)][]
+#utils::View(CBNPoor9)
+
+#Calculate Per_calories in clusters(=2100)
+CBNPoor9[,Daily2_Ghand:=(Daily_Ghand_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Ghand")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Hoboobat:=(Daily_Hoboobat_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Hoboobat")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Nan:=(Daily_Nan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Nan")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Berenj:=(Daily_Berenj_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Berenj")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Roghan:=(Daily_Roghan_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Roghan")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Goosht:=(Daily_Goosht_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Goosht")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Morgh:=(Daily_Morgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Morgh")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Mahi:=(Daily_Mahi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mahi")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Shir:=(Daily_Shir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Shir")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Mast:=(Daily_Mast_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mast")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Panir:=(Daily_Panir_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Panir")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Tokhmemorgh:=(Daily_Tokhmemorgh_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Tokhmemorgh")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Mive:=(Daily_Mive_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Mive")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Sabzi:=(Daily_Sabzi_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sabzi")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Makarooni:=(Daily_Makarooni_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Makarooni")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[,Daily2_Sibzamini:=(Daily_Sibzamini_cluster*2100)/(Daily_Calories_cluster2)]
+for (col in c("Daily2_Sibzamini")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9[, Daily_Calories3 := Reduce(`+`, .SD), .SDcols=c(208:223)][]
+
+
+CBNPoor9[,FoodExpenditure_Per_cluster:=weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,weighted.mean(FoodExpenditure_Per_cluster,Weight,na.rm = TRUE),by=cluster]
+
+CBNPoor9[,Calory_Price:=(FoodExpenditure_Per_cluster/(Daily_Calories_cluster2))]
+CBNPoor9[,weighted.mean(Calory_Price,Weight,na.rm = TRUE),by=cluster]
+
+#Calculate per_Calory from resturants
+CBNPoor9[,Per_Calory_Resturant:=(0.7*Resturant_Exp/EqSizeCalory)/Calory_Price]
+for (col in c("Per_Calory_Resturant")) CBNPoor9[is.na(get(col)), (col) := 0]
+CBNPoor9<-CBNPoor9[Per_Daily_Exp_Calories!=0]
+CBNPoor9[,Per_Daily_Calories:=Per_Daily_Exp_Calories+Per_Calory_Resturant]
+CBNPoor9[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,weighted.mean(Per_Calory_Resturant,Weight,na.rm = TRUE),by=cluster]
+
+
+#sum of total food expenditures
+CBNPoor9[,FoodExpenditure_Per_total:=FoodExpenditure_Per+(0.7*Resturant_Exp/EqSizeCalory)]
+CBNPoor9[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster]
+
+#Food expenditures (equal 2100 CCAL)
+CBNPoor9[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Calories]
+CBNPoor9[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=ProvinceCode]
+
+
+
+#Calculations
+CBNPoor9[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,weighted.mean(FoodExpenditure_Per_day,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,weighted.mean(FoodExpenditure_Per,Weight,na.rm = TRUE),by=cluster]
+CBNPoor9[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+
+
+
+#Food Poverty Line for each cluster
+#cluster 1
+CBNPoorCluster<-CBNPoor9[cluster==1]
+Food_Povertyline1_9<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 2
+CBNPoorCluster<-CBNPoor9[cluster==2]
+Food_Povertyline2_9<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 3
+CBNPoorCluster<-CBNPoor9[cluster==3]
+Food_Povertyline3_9<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#cluster 4
+CBNPoorCluster<-CBNPoor9[cluster==4]
+Food_Povertyline4_9<-weighted.mean(CBNPoorCluster$Bundle_Value,CBNPoorCluster$Weight,na.rm = TRUE)
+
+#ee<-CBNPoor[,.(Total_Exp_Month_Real,Total_Exp_Month,Total_Food_Month_Per2,Total_Exp_Month_Per_nondurable,Total_Exp_Month_nondurable_Real_Per,FoodExpenditure_Per,cluster)]
+#mean(ee[,Total_Food_Month_Per2==Total_Exp_Month_nondurable_Real])
+#mean(ee[,Total_Food_Month_Per2<3500000])
+#ee<- ee[order(Total_Food_Month_Per2)]
+#utils::View(CBN)
+#for (col in c("Total_Food_Month_Per2")) CBN[is.na(get(col)), (col) := Total_Exp_Month_Per_nondurable]
+c<-CBN[,.(FoodExpenditure_Per,FoodExpenditure_Per_total,Total_Exp_Month_Per_nondurable,Total_Exp_Month,Total_Food_Month_Per2,Poor,Decile,Weight,cluster)]
+
+
+#########Iteration 10###############
+#Sort Expenditure data
+CBN<- CBN[order(Total_Food_Month_Per2)]
+c<- c[order(Total_Food_Month_Per2)]
+
+#Indicate new poors
+CBN[,Poor10:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_9 & cluster==1,1,0)]
+c[,Poor10:=ifelse(FoodExpenditure_Per_total < Food_Povertyline1_9 & cluster==1 ,1,0)]
+CBN[,Poor10:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_9 & cluster==2,1,Poor10)]
+c[,Poor10:=ifelse(FoodExpenditure_Per_total < Food_Povertyline2_9 & cluster==2 ,1,Poor10)]
+CBN[,Poor10:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_9 & cluster==3,1,Poor10)]
+c[,Poor10:=ifelse(FoodExpenditure_Per_total < Food_Povertyline3_9 & cluster==3 ,1,Poor10)]
+CBN[,Poor10:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_9 & cluster==4,1,Poor10)]
+c[,Poor10:=ifelse(FoodExpenditure_Per_total < Food_Povertyline4_9 & cluster==4 ,1,Poor10)]
+CBN[,weighted.mean(Poor10,Weight),by=cluster][order(cluster)]
+CBNPoor9[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor10<-CBN[Poor10==1]
+
+#Engel
+#CBNPoor9<-CBNPoor9[,ratio1:=FoodExpenditure/Total_Exp_Month]
+#CBNPoor9[,weighted.mean(ratio1,Weight),by=cluster]
+#summary(CBNPoor9$ratio1)
+CBN<-CBN[,ratio1:=FoodExpenditure/Total_Exp_Month]
+CBN[,weighted.mean(ratio1,Weight),by=ProvinceCode][order(ProvinceCode)]
+CBN<-CBN[,ratio2:=ServiceExp/Total_Exp_Month]
+CBN[,weighted.mean(ratio2,Weight),by=ProvinceCode][order(ProvinceCode)]
+
+#Engel-home ratio calculations
+CBN[cluster==1 & FoodExpenditure_Per_total<1.1*Food_Povertyline1_9 & FoodExpenditure_Per_total>0.90*Food_Povertyline1_9,sum(HIndivNo),by=ProvinceCode][order(ProvinceCode)]
+CBN[cluster==2 & FoodExpenditure_Per_total<1.1*Food_Povertyline2_9 & FoodExpenditure_Per_total>0.90*Food_Povertyline1_9,sum(HIndivNo),by=ProvinceCode][order(ProvinceCode)]
+CBN[cluster==3 & FoodExpenditure_Per_total<1.1*Food_Povertyline3_9 & FoodExpenditure_Per_total>0.90*Food_Povertyline1_9,sum(HIndivNo),by=ProvinceCode][order(ProvinceCode)]
+CBN[cluster==4 & FoodExpenditure_Per_total<1.1*Food_Povertyline4_9 & FoodExpenditure_Per_total>0.90*Food_Povertyline1_9,sum(HIndivNo),by=ProvinceCode][order(ProvinceCode)]
+
+CBN[cluster==1 & FoodExpenditure_Per_total<1.1*Food_Povertyline1_9 & FoodExpenditure_Per_total>0.90*Food_Povertyline1_9,weighted.mean(ratio1,Weight),by=ProvinceCode][order(ProvinceCode)]
+CBN[cluster==2 & FoodExpenditure_Per_total<1.1*Food_Povertyline2_9 & FoodExpenditure_Per_total>0.90*Food_Povertyline1_9,weighted.mean(ratio1,Weight),by=ProvinceCode][order(ProvinceCode)]
+CBN[cluster==3 & FoodExpenditure_Per_total<1.1*Food_Povertyline3_9 & FoodExpenditure_Per_total>0.90*Food_Povertyline1_9,weighted.mean(ratio1,Weight),by=ProvinceCode][order(ProvinceCode)]
+CBN[cluster==4 & FoodExpenditure_Per_total<1.1*Food_Povertyline4_9 & FoodExpenditure_Per_total>0.90*Food_Povertyline1_9,weighted.mean(ratio1,Weight),by=ProvinceCode][order(ProvinceCode)]
+
+CBN[cluster==1 & FoodExpenditure_Per_total<1.1*Food_Povertyline1_9 & FoodExpenditure_Per_total>0.90*Food_Povertyline1_9,weighted.mean(ratio2,Weight),by=ProvinceCode][order(ProvinceCode)]
+CBN[cluster==2 & FoodExpenditure_Per_total<1.1*Food_Povertyline2_9 & FoodExpenditure_Per_total>0.90*Food_Povertyline1_9,weighted.mean(ratio2,Weight),by=ProvinceCode][order(ProvinceCode)]
+CBN[cluster==3 & FoodExpenditure_Per_total<1.1*Food_Povertyline3_9 & FoodExpenditure_Per_total>0.90*Food_Povertyline1_9,weighted.mean(ratio2,Weight),by=ProvinceCode][order(ProvinceCode)]
+CBN[cluster==4 & FoodExpenditure_Per_total<1.1*Food_Povertyline4_9 & FoodExpenditure_Per_total>0.90*Food_Povertyline1_9,weighted.mean(ratio2,Weight),by=ProvinceCode][order(ProvinceCode)]
+
+
+# Poverty Line for each cluster
+#cluster 1
+CBNPoorCluster<-CBN[cluster==1 & FoodExpenditure_Per_total<1.1*Food_Povertyline1_9 & FoodExpenditure_Per_total>0.90*Food_Povertyline1_9]
+UrbanEngel1<-CBNPoorCluster[,.(HHID,Region,ProvinceCode,cluster,ratio1,FoodExpenditure_Per_total)]
+CBNPoorCluster<-CBN[cluster==1 & FoodExpenditure_Per_total<0.9*Food_Povertyline1_9]
+UrbanunderEngel1<-CBNPoorCluster[,.(HHID,Region,ProvinceCode,cluster,ratio1,FoodExpenditure_Per_total)]
+CBNPoorCluster<-CBN[cluster==1 & FoodExpenditure_Per_total>1.1*Food_Povertyline1_9]
+UrbanaboveEngel1<-CBNPoorCluster[,.(HHID,Region,ProvinceCode,cluster,ratio1,FoodExpenditure_Per_total)]
+Engel1<-weighted.mean(CBNPoorCluster$ratio1,CBNPoorCluster$Weight)
+Engel_Reverse1<-1/Engel1
+Povertyline1_9<-Engel_Reverse1*Food_Povertyline1_9
+
+#cluster 2
+CBNPoorCluster<-CBN[cluster==2 & FoodExpenditure_Per_total<1.1*Food_Povertyline2_9 & FoodExpenditure_Per_total>0.90*Food_Povertyline2_9]
+UrbanEngel2<-CBNPoorCluster[,.(HHID,Region,ProvinceCode,cluster,ratio1,FoodExpenditure_Per_total)]
+CBNPoorCluster<-CBN[cluster==2 & FoodExpenditure_Per_total<0.9*Food_Povertyline2_9]
+UrbanunderEngel2<-CBNPoorCluster[,.(HHID,Region,ProvinceCode,cluster,ratio1,FoodExpenditure_Per_total)]
+CBNPoorCluster<-CBN[cluster==2 & FoodExpenditure_Per_total>1.1*Food_Povertyline2_9]
+UrbanaboveEngel2<-CBNPoorCluster[,.(HHID,Region,ProvinceCode,cluster,ratio1,FoodExpenditure_Per_total)]
+Engel2<-weighted.mean(CBNPoorCluster$ratio1,CBNPoorCluster$Weight)
+Engel_Reverse2<-1/Engel2
+Povertyline2_9<-Engel_Reverse2*Food_Povertyline2_9
+
+#cluster 3
+CBNPoorCluster<-CBN[cluster==3 & FoodExpenditure_Per_total<1.1*Food_Povertyline3_9 & FoodExpenditure_Per_total>0.90*Food_Povertyline3_9]
+UrbanEngel3<-CBNPoorCluster[,.(HHID,Region,ProvinceCode,cluster,ratio1,FoodExpenditure_Per_total)]
+CBNPoorCluster<-CBN[cluster==3 & FoodExpenditure_Per_total<0.9*Food_Povertyline3_9]
+UrbanunderEngel3<-CBNPoorCluster[,.(HHID,Region,ProvinceCode,cluster,ratio1,FoodExpenditure_Per_total)]
+CBNPoorCluster<-CBN[cluster==3 & FoodExpenditure_Per_total>1.1*Food_Povertyline3_9]
+UrbanaboveEngel3<-CBNPoorCluster[,.(HHID,Region,ProvinceCode,cluster,ratio1,FoodExpenditure_Per_total)]
+Engel3<-weighted.mean(CBNPoorCluster$ratio1,CBNPoorCluster$Weight)
+Engel_Reverse3<-1/Engel3
+Povertyline3_9<-Engel_Reverse3*Food_Povertyline3_9
+
+#cluster 4
+CBNPoorCluster<-CBN[cluster==4 & FoodExpenditure_Per_total<1.1*Food_Povertyline4_9 & FoodExpenditure_Per_total>0.90*Food_Povertyline4_9]
+UrbanEngel4<-CBNPoorCluster[,.(HHID,Region,ProvinceCode,cluster,ratio1,FoodExpenditure_Per_total)]
+CBNPoorCluster<-CBN[cluster==4 & FoodExpenditure_Per_total<0.9*Food_Povertyline4_9]
+UrbanunderEngel4<-CBNPoorCluster[,.(HHID,Region,ProvinceCode,cluster,ratio1,FoodExpenditure_Per_total)]
+CBNPoorCluster<-CBN[cluster==4 & FoodExpenditure_Per_total>1.1*Food_Povertyline4_9]
+UrbanaboveEngel4<-CBNPoorCluster[,.(HHID,Region,ProvinceCode,cluster,ratio1,FoodExpenditure_Per_total)]
+Engel4<-weighted.mean(CBNPoorCluster$ratio1,CBNPoorCluster$Weight)
+Engel_Reverse4<-1/Engel4
+Povertyline4_9<-Engel_Reverse4*Food_Povertyline4_9
+
+UrbanEngel<-rbind(UrbanEngel1,UrbanEngel2,UrbanEngel3,UrbanEngel4)
+save(UrbanEngel, file=paste0(Settings$HEISProcessedPath,"Y",year,"UrbanEngel.rda"))
+UrbanunderEngel<-rbind(UrbanunderEngel1,UrbanunderEngel2,UrbanunderEngel3,UrbanunderEngel4)
+save(UrbanunderEngel, file=paste0(Settings$HEISProcessedPath,"Y",year,"UrbanunderEngel.rda"))
+UrbanaboveEngel<-rbind(UrbanaboveEngel1,UrbanaboveEngel2,UrbanaboveEngel3,UrbanaboveEngel4)
+save(UrbanaboveEngel, file=paste0(Settings$HEISProcessedPath,"Y",year,"UrbanaboveEngel.rda"))
+
+Povertyline1_9<-4107570
+Povertyline2_9<-3642510
+Povertyline3_9<-5055730
+Povertyline4_9<-7689100
+
+
+#Indicate final poors
+CBN<-CBN[,Total_Exp_Month_Per2:=Total_Exp_Month_Per_nondurable*RealPriceIndex]
+
+CBN[,Poor11:=ifelse(Total_Exp_Month_Per_nondurable < Povertyline1_9 & cluster==1,1,0)]
+CBN[,Poor11:=ifelse(Total_Exp_Month_Per_nondurable < Povertyline2_9 & cluster==2,1,Poor11)]
+CBN[,Poor11:=ifelse(Total_Exp_Month_Per_nondurable < Povertyline3_9 & cluster==3,1,Poor11)]
+CBN[,Poor11:=ifelse(Total_Exp_Month_Per_nondurable < Povertyline4_9 & cluster==4,1,Poor11)]
+CBN[,weighted.mean(Poor11,Weight),by=cluster][order(cluster)]
+CBNPoor9[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster]
+CBNPoor11<-CBN[Poor11==1]
+
+CBN[,sum(Size*Weight),by=cluster][order(cluster)]
+CBN[,sum(Size*Weight),by=.(cluster,Decile)][order(cluster,Decile)]
+CBNPoor[,sum(Size*Weight),by=cluster][order(cluster)]
+CBNPoor11[,sum(Size*Weight),by=cluster][order(cluster)]
+CBNPoor9[,sum(Size*Weight),by=cluster][order(cluster)]
+CBNPoor9[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster][order(cluster)]
+CBNPoor9[,weighted.mean(Per_Daily_Calories,Weight,na.rm = TRUE),by=cluster][order(cluster)]
+CBN[,weighted.mean(Poor11,Weight)]
+CBN[,weighted.mean(Poor11,Weight),by=cluster][order(cluster)]
+CBN[,weighted.mean(Poor11,Weight),by=ProvinceCode][order(ProvinceCode)]
+CBNPoor11[,sum(Size*Weight),by=ProvinceCode][order(ProvinceCode)]
+CBNPoor11[,sum(Weight),by=ProvinceCode][order(ProvinceCode)]
+CBN[,sum(Size*Weight),by=ProvinceCode][order(ProvinceCode)]
+CBN[,sum(Size*Weight)]
+CBNPoor11[,weighted.mean(FoodExpenditure_Per_total,Weight,na.rm = TRUE),by=cluster][order(cluster)]
+CBNPoor11[,weighted.mean(Per_Daily_Exp_Calories,Weight,na.rm = TRUE),by=cluster][order(cluster)]
+
+##############################
+###Real Prices for report###
+##############################
+#sum of total food expenditures
+CBN[,FoodExpenditure_Per_total:=FoodExpenditure_Per]
+
+#Food expenditures (equal 2100 CCAL)
+CBN<-CBN[Per_Daily_Exp_Calories>0]
+CBN[,Bundle_Value:=FoodExpenditure_Per_total*2100/Per_Daily_Exp_Calories]
+CBN[,weighted.mean(Bundle_Value,Weight,na.rm = TRUE),by=cluster]
+
+T_Bundle_Value<-subset(CBN, ProvinceCode==2301, select=c(Bundle_Value,Home_Per_Metr,Weight))
+Tehran_Bundle_Value1<-weighted.mean(T_Bundle_Value$Bundle_Value,T_Bundle_Value$Weight,na.rm = TRUE)
+Tehran_Bundle_Value2<-weighted.mean(T_Bundle_Value$Home_Per_Metr,T_Bundle_Value$Weight,na.rm = TRUE)
+CBN[,RealPriceIndex1:=weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/Tehran_Bundle_Value1,by=ProvinceCode]
+CBN[,RealPriceIndex2:=weighted.mean(Home_Per_Metr,Weight,na.rm = TRUE)/Tehran_Bundle_Value2,by=ProvinceCode]
+CBN[,weighted.mean(RealPriceIndex1,Weight),by=ProvinceCode]
+CBN[,weighted.mean(RealPriceIndex2,Weight),by=ProvinceCode]
+Indexes2_1<-CBN[,.(RealPriceIndex1,RealPriceIndex2,ProvinceCode,Weight)]
+Indexes2_1<-Indexes2_1[,RealPriceIndex:=(RealPriceIndex1+RealPriceIndex2)/2]
+Indexes_total<-Indexes2_1[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+Indexes3_1<-Indexes_total[,.(ProvinceCode,RealPriceIndex1,RealPriceIndex2,RealPriceIndex)]
+Indexes<-Indexes[,.(ProvinceCode,RealPriceIndex)]
+
+CBN_Poor<-CBN[Poor11==1]
+T_Bundle_Value<-subset(CBN_Poor, ProvinceCode==2301, select=c(Bundle_Value,Home_Per_Metr,Weight))
+Tehran_Bundle_Value1<-weighted.mean(T_Bundle_Value$Bundle_Value,T_Bundle_Value$Weight,na.rm = TRUE)
+Tehran_Bundle_Value2<-weighted.mean(T_Bundle_Value$Home_Per_Metr,T_Bundle_Value$Weight,na.rm = TRUE)
+CBN_Poor[,RealPriceIndex1:=weighted.mean(Bundle_Value,Weight,na.rm = TRUE)/Tehran_Bundle_Value1,by=ProvinceCode]
+CBN_Poor[,RealPriceIndex2:=weighted.mean(Home_Per_Metr,Weight,na.rm = TRUE)/Tehran_Bundle_Value2,by=ProvinceCode]
+CBN_Poor[,weighted.mean(RealPriceIndex1,Weight),by=ProvinceCode]
+CBN_Poor[,weighted.mean(RealPriceIndex2,Weight),by=ProvinceCode]
+Indexes2_2<-CBN_Poor[,.(RealPriceIndex1,RealPriceIndex2,ProvinceCode,Weight,Poor11)]
+Indexes2_2<-Indexes2_2[,RealPriceIndex:=(RealPriceIndex1+RealPriceIndex2)/2]
+Indexes_finalpoor<-Indexes2_2[,lapply(.SD,weighted.mean,w=Weight,na.rm = TRUE),by=.(ProvinceCode)]
+Indexes3_2<-Indexes_finalpoor[,.(ProvinceCode,RealPriceIndex1,RealPriceIndex2,RealPriceIndex)]
+Indexes<-Indexes[,.(ProvinceCode,RealPriceIndex)]
+
+###Save Tables
+CBN_Urban<-CBN
+save(CBN_Urban, file = paste0(Settings$HEISProcessedPath,"CBN_Urban","95.rda"))
+
+CBNPoor_Urban<-CBNPoor11
+save(CBNPoor_Urban, file = paste0(Settings$HEISProcessedPath,"CBNPoor_Urban","95.rda"))
+
+
+#utils::View(CBN)
+for (col in c("GhandPrice")) CBNPoor11[is.na(get(col)), (col) := 0]
+for (col in c("HoboobatPrice")) CBNPoor11[is.na(get(col)), (col) := 0]
+for (col in c("RoghanPrice")) CBNPoor11[is.na(get(col)), (col) := 0]
+for (col in c("BerenjPrice")) CBNPoor11[is.na(get(col)), (col) := 0]
+for (col in c("NanPrice")) CBNPoor11[is.na(get(col)), (col) := 0]
+for (col in c("GooshtPrice")) CBNPoor11[is.na(get(col)), (col) := 0]
+for (col in c("MorghPrice")) CBNPoor11[is.na(get(col)), (col) := 0]
+for (col in c("MahiPrice")) CBNPoor11[is.na(get(col)), (col) := 0]
+for (col in c("ShirPrice")) CBNPoor11[is.na(get(col)), (col) := 0]
+for (col in c("MastPrice")) CBNPoor11[is.na(get(col)), (col) := 0]
+for (col in c("PanirPrice")) CBNPoor11[is.na(get(col)), (col) := 0]
+for (col in c("TokhmemorghPrice")) CBNPoor11[is.na(get(col)), (col) := 0]
+for (col in c("MivePrice")) CBNPoor11[is.na(get(col)), (col) := 0]
+for (col in c("SabziPrice")) CBNPoor11[is.na(get(col)), (col) := 0]
+for (col in c("MakarooniPrice")) CBNPoor11[is.na(get(col)), (col) := 0]
+for (col in c("SibzaminiPrice")) CBNPoor11[is.na(get(col)), (col) := 0]
+
+CBNPoor11<-CBNPoor11[,x:=GhandPrice*Ghandgram+HoboobatPrice*Hoboobatgram+RoghanPrice*Roghangram+BerenjPrice*Berenjgram+NanPrice*Nangram+GooshtPrice*Gooshtgram+MorghPrice*Morghgram+MahiPrice*Mahigram+ShirPrice*Shirgram+MastPrice*Mastgram+PanirPrice*Panirgram+TokhmemorghPrice*Tokhmemorghgram+MivePrice*Mivegram+SabziPrice*Sabzigram+MakarooniPrice*Makaroonigram+SibzaminiPrice*Sibzaminigram]
+CBNPoor11[,weighted.mean((GhandPrice*Ghandgram)/x,Weight),cluster==4]
+CBNPoor11[,weighted.mean((HoboobatPrice*Hoboobatgram)/x,Weight),cluster==4]
+CBNPoor11[,weighted.mean((RoghanPrice*Roghangram)/x,Weight),cluster==4]
+CBNPoor11[,weighted.mean((BerenjPrice*Berenjgram)/x,Weight),cluster==4]
+CBNPoor11[,weighted.mean((NanPrice*Nangram)/x,Weight),cluster==4]
+CBNPoor11[,weighted.mean((GooshtPrice*Gooshtgram)/x,Weight),cluster==4]
+CBNPoor11[,weighted.mean((MorghPrice*Morghgram)/x,Weight),cluster==4]
+CBNPoor11[,weighted.mean((MahiPrice*Mahigram)/x,Weight),cluster==4]
+CBNPoor11[,weighted.mean((ShirPrice*Shirgram)/x,Weight),cluster==4]
+CBNPoor11[,weighted.mean((MastPrice*Mastgram)/x,Weight),cluster==4]
+CBNPoor11[,weighted.mean((PanirPrice*Panirgram)/x,Weight),cluster==4]
+CBNPoor11[,weighted.mean((TokhmemorghPrice*Tokhmemorghgram)/x,Weight),cluster==4]
+CBNPoor11[,weighted.mean((MivePrice*Mivegram)/x,Weight),cluster==4]
+CBNPoor11[,weighted.mean((SabziPrice*Sabzigram)/x,Weight),cluster==4]
+CBNPoor11[,weighted.mean((MakarooniPrice*Makaroonigram)/x,Weight),cluster==4]
+CBNPoor11[,weighted.mean((SibzaminiPrice*Sibzaminigram)/x,Weight),cluster==4]
+
+
+for (col in c("GhandPrice")) CBN[is.na(get(col)), (col) := 0]
+for (col in c("HoboobatPrice")) CBN[is.na(get(col)), (col) := 0]
+for (col in c("RoghanPrice")) CBN[is.na(get(col)), (col) := 0]
+for (col in c("BerenjPrice")) CBN[is.na(get(col)), (col) := 0]
+for (col in c("NanPrice")) CBN[is.na(get(col)), (col) := 0]
+for (col in c("GooshtPrice")) CBN[is.na(get(col)), (col) := 0]
+for (col in c("MorghPrice")) CBN[is.na(get(col)), (col) := 0]
+for (col in c("MahiPrice")) CBN[is.na(get(col)), (col) := 0]
+for (col in c("ShirPrice")) CBN[is.na(get(col)), (col) := 0]
+for (col in c("MastPrice")) CBN[is.na(get(col)), (col) := 0]
+for (col in c("PanirPrice")) CBN[is.na(get(col)), (col) := 0]
+for (col in c("TokhmemorghPrice")) CBN[is.na(get(col)), (col) := 0]
+for (col in c("MivePrice")) CBN[is.na(get(col)), (col) := 0]
+for (col in c("SabziPrice")) CBN[is.na(get(col)), (col) := 0]
+for (col in c("MakarooniPrice")) CBN[is.na(get(col)), (col) := 0]
+for (col in c("SibzaminiPrice")) CBN[is.na(get(col)), (col) := 0]
+
+CBN<-CBN[,x:=GhandPrice*Ghandgram+HoboobatPrice*Hoboobatgram+RoghanPrice*Roghangram+BerenjPrice*Berenjgram+NanPrice*Nangram+GooshtPrice*Gooshtgram+MorghPrice*Morghgram+MahiPrice*Mahigram+ShirPrice*Shirgram+MastPrice*Mastgram+PanirPrice*Panirgram+TokhmemorghPrice*Tokhmemorghgram+MivePrice*Mivegram+SabziPrice*Sabzigram+MakarooniPrice*Makaroonigram+SibzaminiPrice*Sibzaminigram]
+CBN[,weighted.mean((GhandPrice*Ghandgram)/x,Weight)*103.5]
+CBN[,weighted.mean((HoboobatPrice*Hoboobatgram)/x,Weight)*117]
+CBN[,weighted.mean((RoghanPrice*Roghangram)/x,Weight)*111.5]
+CBN[,weighted.mean((BerenjPrice*Berenjgram)/x,Weight)*114.3]
+CBN[,weighted.mean((NanPrice*Nangram)/x,Weight)*110.8]
+CBN[,weighted.mean((GooshtPrice*Gooshtgram)/x,Weight)*123.5]
+CBN[,weighted.mean((MorghPrice*Morghgram)/x,Weight)*114.1]
+CBN[,weighted.mean((MahiPrice*Mahigram)/x,Weight)*107.6]
+CBN[,weighted.mean((ShirPrice*Shirgram)/x,Weight)*103.4]
+CBN[,weighted.mean((MastPrice*Mastgram)/x,Weight)*106.1]
+CBN[,weighted.mean((PanirPrice*Panirgram)/x,Weight)*106.8]
+CBN[,weighted.mean((TokhmemorghPrice*Tokhmemorghgram)/x,Weight)*125.9]
+CBN[,weighted.mean((MivePrice*Mivegram)/x,Weight)*97.1]
+CBN[,weighted.mean((SabziPrice*Sabzigram)/x,Weight)*109.9]
+CBN[,weighted.mean((MakarooniPrice*Makaroonigram)/x,Weight)*101.9]
+CBN[,weighted.mean((SibzaminiPrice*Sibzaminigram)/x,Weight)*119.7]
+
+CBNUrban<-CBN[,.(HHID,Percentile,Poor2,Weight,ProvinceCode)]
+save(CBNUrban, file=paste0(Settings$HEISProcessedPath,"Y",year,"CBNUrban.rda"))
+
+OldFoodUrban<-CBN[,.(HHID,Percentile,Poor9)]
+save(OldFoodUrban, file=paste0(Settings$HEISProcessedPath,"Y",year,"OldFoodUrban.rda"))
+
+OldFinalPoorUrban<-CBN[,.(HHID,Percentile,Poor11)]
+save(OldFinalPoorUrban, file=paste0(Settings$HEISProcessedPath,"Y",year,"OldFinalPoorUrban.rda"))
+
+endtime <- proc.time()
+
+
+cat("\n\n============================\nIt took ")
+cat(endtime-starttime)
+
diff --git a/R/Archive/Other Codes/Comparison.R b/R/Archive/Other Codes/Comparison.R
new file mode 100644
index 00000000..b19ab402
--- /dev/null
+++ b/R/Archive/Other Codes/Comparison.R
@@ -0,0 +1,155 @@
+# Comparison
+#
+# Copyright © 2018:Majid Einian & Arin Shahbazian
+# Licence: GPL-3
+
+rm(list=ls())
+
+starttime <- proc.time()
+cat("\n\n================ Prepare Data =====================================\n")
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+year<-95
+
+#####################Compare Engle#############################
+#load old results
+load(file=paste0(Settings$HEISProcessedPath,"Y",year,"UrbanEngel.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y",year,"RuralEngel.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y",year,"UrbanaboveEngel.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y",year,"RuralaboveEngel.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y",year,"UrbanunderEngel.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y",year,"RuralunderEngel.rda"))
+
+#Engel<-rbind(UrbanEngel,RuralEngel)
+#EngelUnder<-rbind(UrbanunderEngel,RuralunderEngel)
+#EngelAbove<-rbind(UrbanaboveEngel,RuralaboveEngel)
+
+Engel<-UrbanEngel
+EngelUnder<-UrbanunderEngel
+EngelAbove<-UrbanaboveEngel
+
+EngelUnder<-EngelUnder[,Oldplace:=1]
+Engel<-Engel[,Oldplace:=2]
+EngelAbove<-EngelAbove[,Oldplace:=3]
+
+RecentEngel<-rbind(Engel,EngelUnder,EngelAbove)
+
+#load new results
+load(file=paste0(Settings$HEISProcessedPath,"Y",year,"EngleNewUrban.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y",year,"EngleNewRural.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y",year,"EngleNewUnderUrban.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y",year,"EngleNewUnderRural.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y",year,"EngleNewAboveUrban.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y",year,"EngleNewAboveRural.rda"))
+
+#EngleNew<-rbind(EngleNewUrban,EngleNewRural)
+#EngleNewUnder<-rbind(EngleNewUnderUrban,EngleNewUnderRural)
+#EngleNewAbove<-rbind(EngleNewAboveUrban,EngleNewAboveRural)
+
+EngleNew<-EngleNewUrban[NewArea==2301]
+EngleNewUnder<-EngleNewUnderUrban[NewArea==2301]
+EngleNewAbove<-EngleNewAboveUrban[NewArea==2301]
+
+EngleNewUnder<-EngleNewUnder[,Newplace:=1]
+EngleNew<-EngleNew[,Newplace:=2]
+EngleNewAbove<-EngleNewAbove[,Newplace:=3]
+
+AfterEngel<-rbind(EngleNew,EngleNewUnder,EngleNewAbove)
+
+#merge old and new
+Total<-merge(AfterEngel,RecentEngel,by="HHID",all.x = TRUE)
+Total2<-Total[Oldplace==Newplace]
+
+Total<-Total[,matrixplace:=ifelse(Oldplace==1 & Newplace==1,1,
+ ifelse(Oldplace==1 & Newplace==2,2,
+ ifelse(Oldplace==1 & Newplace==3,3,
+ ifelse(Oldplace==2 & Newplace==1,4,
+ ifelse(Oldplace==2 & Newplace==2,5,
+ ifelse(Oldplace==2 & Newplace==3,6,
+ ifelse(Oldplace==3 & Newplace==1,7,
+ ifelse(Oldplace==3 & Newplace==2,8,9))))))))]
+
+Total<-Total[,Engel:=weighted.mean(FoodExpenditure_Per_total/Total_Exp_Month_Per_nondurable,Weight),by=matrixplace]
+Total<-Total[,.(Oldplace,Newplace,matrixplace,Engel)]
+Total3<-Total[,.(.N,Engel=mean(Engel)),by=matrixplace]
+
+#########################Compare Final poors#######################################
+load(file=paste0(Settings$HEISProcessedPath,"Y",year,"OldFinalPoorUrban.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y",year,"OldFinalPoorRural.rda"))
+OldFinalPoor<-rbind(OldFinalPoorUrban,OldFinalPoorRural)
+
+load(file=paste0(Settings$HEISProcessedPath,"Y",year,"NewFinalPoor.rda"))
+NewFinalPoorUrban<-NewFinalPoor[Region=="Urban"]
+NewFinalPoorRural<-NewFinalPoor[Region=="Rural"]
+
+FinalPoor<-merge(NewFinalPoor,OldFinalPoor,by="HHID",all.x=TRUE)
+FinalPoor<-FinalPoor[,matrixplace:=ifelse(Poor11==0 & FinalPoor==0,1,
+ ifelse(Poor11==0 & FinalPoor==1,2,
+ ifelse(Poor11==1 & FinalPoor==0,3,4)))]
+
+FinalPoor<-FinalPoor[,.(Poor11,FinalPoor,matrixplace)]
+FinalPoor<-FinalPoor[,.(.N),by=matrixplace]
+
+#########################Compare initial poors#######################################
+load(file=paste0(Settings$HEISProcessedPath,"Y",year,"OldfirstUrban.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y",year,"OldfirstRural.rda"))
+Oldfirst<-rbind(OldfirstRural,OldfirstUrban)
+
+load(file=paste0(Settings$HEISProcessedPath,"Y",year,"FirstSMD.rda"))
+FirstUrban<-FirstSMD[Region=="Urban"]
+FirstRural<-FirstSMD[Region=="Rural"]
+
+Fisrt<-merge(FirstSMD,Oldfirst,by="HHID",all=TRUE)
+Fisrt<-Fisrt[,matrixplace:=ifelse(Poor==0 & Realfirstpoor==0,1,
+ ifelse(Poor==0 & Realfirstpoor==1,2,
+ ifelse(Poor==1 & Realfirstpoor==0,3,4)))]
+
+Fisrt<-Fisrt[,.(Poor,Realfirstpoor,matrixplace)]
+Fisrt<-Fisrt[,.(.N),by=matrixplace]
+
+
+######################Compare final food poors#############################
+#Compare final food poors
+load(file=paste0(Settings$HEISProcessedPath,"Y",year,"UrbanFinalfood.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y",year,"RuralFinalfood.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y",year,"OldFoodUrban.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y",year,"OldFoodRural.rda"))
+
+OldFood<-rbind(OldFoodRural,OldFoodUrban)
+FinalFood<-rbind(UrbanFinalfood,RuralFinalfood)
+
+Tehranfinalfood<-UrbanFinalfood[NewArea==2301]
+
+FoodPoors<-merge(OldFoodRural,RuralFinalfood,by="HHID",all = TRUE)
+FoodPoors<-FoodPoors[,matrixplace:=ifelse(Poor9==0 & FinalFoodPoor==0,1,
+ ifelse(Poor9==0 & FinalFoodPoor==1,2,
+ ifelse(Poor9==1 & FinalFoodPoor==0,3,4)))]
+
+FoodPoors<-FoodPoors[,.(Poor9,FinalFoodPoor,matrixplace)]
+FoodPoors<-FoodPoors[,.(.N),by=matrixplace]
+
+
+#########################Compare initial poors- after realize#######################################
+#Compare initial poors
+load(file=paste0(Settings$HEISProcessedPath,"Y",year,"CBNRural.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y",year,"CBNUrban.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y",year,"InitialPoor2.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y",year,"InitialPoor3.rda"))
+
+Oldpoors<-rbind(CBNUrban,CBNRural)
+Newpoors<-rbind(MDU,MDR)
+TotalPoors<-merge(Oldpoors,Newpoors,by="HHID",all = TRUE)
+TotalPoors<-TotalPoors[,matrixplace:=ifelse(Poor2==0 & InitialPoor==0,1,
+ ifelse(Poor2==0 & InitialPoor==1,2,
+ ifelse(Poor2==1 & InitialPoor==0,3,4)))]
+
+TotalPoors<-TotalPoors[,.(Poor2,InitialPoor,matrixplace)]
+TotalPoors<-TotalPoors[,.(.N),by=matrixplace]
+
+
+
+
+endtime <- proc.time()
+cat("\n\n============================\nIt took ")
+cat((endtime-starttime)["elapsed"])
+cat(" seconds")
diff --git a/R/Archive/Other Codes/FoodGroup-Data(removed 25).R b/R/Archive/Other Codes/FoodGroup-Data(removed 25).R
new file mode 100644
index 00000000..61e573aa
--- /dev/null
+++ b/R/Archive/Other Codes/FoodGroup-Data(removed 25).R
@@ -0,0 +1,103 @@
+# 25-FoodGroup-Data.R
+# Builds the food group price-weight data.table for households
+#
+# Copyright © 2018: Arin Shahbazian
+# Licence: GPL-3
+
+rm(list=ls())
+
+starttime <- proc.time()
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+library(data.table)
+library(stringr)
+library(readxl)
+
+for(year in (Settings$startyear:Settings$endyear)){
+ cat(paste0("\n------------------------------\nYear:",year,"\n"))
+ TFoodGroups <- data.table(read_excel(Settings$MetaDataFilePath,Settings$MDS_FoodGroups))
+
+load(file=paste0(Settings$HEISRawPath,"Y",year,"Raw.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y",year,"HHBase.rda"))
+BigFoodPrice <- HHBase[,.N,by=.(Region,NewArea)]
+for(i in 1:nrow(TFoodGroups)){
+ cat(paste0(TFoodGroups[i,FoodType],", "))
+
+ ThisFoodTypeTable <- data.table(read_excel(Settings$MetaDataFilePath,sheet=TFoodGroups[i,SheetName]))
+ ft <- ThisFoodTypeTable[Year==year]
+ tab <- ft$Table
+ if(is.na(tab))
+ next
+ UTF <- Tables[[paste0("U",year,tab)]]
+ RTF <- Tables[[paste0("R",year,tab)]]
+ TF <- rbind(UTF,RTF)
+ for(n in names(TF)){
+ x <- which(ft==n)
+ if(length(x)>0)
+ setnames(TF,n,names(ft)[x])
+ }
+ if(year %in% 76:82){
+ pcols <- intersect(names(TF),c("HHID","Code","Kilos",
+ "Price","Expenditure"))
+ TF <- TF[,pcols,with=FALSE]
+ TF <- TF[Code %in% ft$StartCode:ft$EndCode]
+
+ TF[,Kilos:=as.numeric(Kilos)]
+ TF[,Price:=as.numeric(str_replace_all(Price,"[\r\n]",""))]
+ TF[,Expenditure:=as.numeric(Expenditure)]
+
+
+ TF[is.na(Kilos),Kilos:=0]
+ TF[,FGrams:=(Kilos*1000)/30]
+ }
+ if(year %in% 83:95){
+ pcols <- intersect(names(TF),c("HHID","Code","Grams","Kilos",
+ "Price","Expenditure"))
+ TF <- TF[,pcols,with=FALSE]
+ TF <- TF[Code %in% ft$StartCode:ft$EndCode]
+
+ TF[,Kilos:=as.numeric(Kilos)]
+ TF[,Grams:=as.numeric(Grams)]
+ TF[,Price:=as.numeric(str_replace_all(Price,"[\r\n]",""))]
+ TF[,Expenditure:=as.numeric(Expenditure)]
+
+ TF[is.na(Grams),Grams:=0]
+ TF[is.na(Kilos),Kilos:=0]
+ TF[,FGrams:=(Kilos*1000+Grams)/30]
+ }
+ TF[is.na(Price) & !is.na(Expenditure) & !is.na(FGrams), Price:=Expenditure/FGrams]
+ TF[is.na(FGrams) & !is.na(Expenditure) & !is.na(Price), FGrams:=Expenditure/Price]
+ TF[is.na(Expenditure) & !is.na(FGrams) & !is.na(Price), Expenditure:=Price*FGrams]
+
+ load(paste0(Settings$HEISWeightsPath,Settings$HEISWeightFileName,year,".rda"))
+
+ TF <- merge(TF[,.(HHID,Code,Price,Expenditure,FGrams)],
+ HHBase[,.(HHID,Region,NewArea)], by="HHID")
+ TF <- merge(TF, HHWeights[,.(HHID,Weight)])
+ TF1 <- TF[,.(P=sum(Expenditure*Weight,na.rm = TRUE)/sum(FGrams*Weight,na.rm = TRUE),
+ X=sum(Expenditure*Weight,na.rm = TRUE)/sum(Weight,na.rm = TRUE)),
+ by=.(Region,NewArea)]
+
+ setnames(TF1,"P",paste0("P_",TFoodGroups[i,FoodType]))
+ setnames(TF1,"X",paste0("X_",TFoodGroups[i,FoodType]))
+
+ BigFoodPrice <- merge(BigFoodPrice,TF1)
+}
+n <- names(BigFoodPrice)
+w <- n%like% "X_"
+s <- n[w]
+BigFoodPrice[,TFX:=Reduce(`+`, .SD),.SDcols=s]
+for(i in which(w)){
+ BigFoodPrice$Sh=BigFoodPrice[,..i]/BigFoodPrice$TFX
+ setnames(BigFoodPrice,"Sh",paste(paste0("Sh",names(BigFoodPrice[,..i]))))
+}
+# n <- names(BigFoodPrice)
+# w <- n%like% "ShX_"
+# s <- n[w]
+# BigFoodPrice[,TSh:=Reduce(`+`, .SD),.SDcols=s]
+save(BigFoodPrice,file=paste0(Settings$HEISProcessedPath,"Y",year,"BigFoodPrice.rda"))
+}
+endtime <- proc.time()
+cat("\n\n============================\nIt took ")
+cat((endtime-starttime)[3])
+cat(" seconds. ")
diff --git a/R/Archive/Other Codes/OldPovertyLines.R b/R/Archive/Other Codes/OldPovertyLines.R
new file mode 100644
index 00000000..aec2a7b0
--- /dev/null
+++ b/R/Archive/Other Codes/OldPovertyLines.R
@@ -0,0 +1,127 @@
+# PovertyLines.R
+#
+# Copyright © 2018:Majid Einian & Arin Shahbazian
+# Licence: GPL-3
+
+rm(list=ls())
+
+starttime <- proc.time()
+cat("\n\n================ Prepare Data =====================================\n")
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+library(readxl)
+library(data.table)
+library(ggplot2)
+
+for(year in (Settings$startyear:Settings$endyear)){
+ cat(paste0("\nYear:",year,"\t"))
+
+ # load data --------------------------------------
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"FinalFoodPoor.rda"))
+
+ EngleNewUrban1 <- MD[TFoodExpenditure_Per<1.1*FPLine & TFoodExpenditure_Per>0.9*FPLine & Region=="Urban" & NewArea==1]
+ EngleNewUrban2 <- MD[TFoodExpenditure_Per<1.1*FPLine & TFoodExpenditure_Per>0.9*FPLine & Region=="Urban" & NewArea==2]
+ EngleNewUrban3 <- MD[TFoodExpenditure_Per<1.1*FPLine & TFoodExpenditure_Per>0.9*FPLine & Region=="Urban" & NewArea==3]
+ EngleNewUrban4 <- MD[TFoodExpenditure_Per<1.1*FPLine & TFoodExpenditure_Per>0.9*FPLine & Region=="Urban" & NewArea==4]
+ EngleNewUrban<-rbind(EngleNewUrban1,EngleNewUrban2,EngleNewUrban3,EngleNewUrban4)
+ save(EngleNewUrban,file=paste0(Settings$HEISProcessedPath,"Y",year,"EngleNewUrban.rda"))
+
+
+ EngleNewRural1 <- MD[TFoodExpenditure_Per<1.1*FPLine & TFoodExpenditure_Per>0.9*FPLine & Region=="Rural" & NewArea==1]
+ EngleNewRural2 <- MD[TFoodExpenditure_Per<1.1*FPLine & TFoodExpenditure_Per>0.9*FPLine & Region=="Rural" & NewArea==2]
+ EngleNewRural3 <- MD[TFoodExpenditure_Per<1.1*FPLine & TFoodExpenditure_Per>0.9*FPLine & Region=="Rural" & NewArea==3]
+ EngleNewRural4 <- MD[TFoodExpenditure_Per<1.1*FPLine & TFoodExpenditure_Per>0.9*FPLine & Region=="Rural" & NewArea==4]
+ EngleNewRural5 <- MD[TFoodExpenditure_Per<1.1*FPLine & TFoodExpenditure_Per>0.9*FPLine & Region=="Rural" & NewArea==5]
+ EngleNewRural<-rbind(EngleNewRural1,EngleNewRural2,EngleNewRural3,EngleNewRural4,EngleNewRural5)
+ save(EngleNewRural,file=paste0(Settings$HEISProcessedPath,"Y",year,"EngleNewRural.rda"))
+
+ EngleNewUnderUrban1 <- MD[TFoodExpenditure_Per<0.9*FPLine & Region=="Urban" & NewArea==1]
+ EngleNewUnderUrban2 <- MD[TFoodExpenditure_Per<0.9*FPLine & Region=="Urban" & NewArea==2]
+ EngleNewUnderUrban3 <- MD[TFoodExpenditure_Per<0.9*FPLine & Region=="Urban" & NewArea==3]
+ EngleNewUnderUrban4 <- MD[TFoodExpenditure_Per<0.9*FPLine & Region=="Urban" & NewArea==4]
+ EngleNewUnderUrban<-rbind(EngleNewUnderUrban1,EngleNewUnderUrban2,EngleNewUnderUrban3,EngleNewUnderUrban4)
+ save(EngleNewUnderUrban,file=paste0(Settings$HEISProcessedPath,"Y",year,"EngleNewUnderUrban.rda"))
+
+ EngleNewUnderRural1 <- MD[TFoodExpenditure_Per<0.9*FPLine & Region=="Rural" & NewArea==1]
+ EngleNewUnderRural2 <- MD[TFoodExpenditure_Per<0.9*FPLine & Region=="Rural" & NewArea==2]
+ EngleNewUnderRural3 <- MD[TFoodExpenditure_Per<0.9*FPLine & Region=="Rural" & NewArea==3]
+ EngleNewUnderRural4 <- MD[TFoodExpenditure_Per<0.9*FPLine & Region=="Rural" & NewArea==4]
+ EngleNewUnderRural5 <- MD[TFoodExpenditure_Per<0.9*FPLine & Region=="Rural" & NewArea==5]
+ EngleNewUnderRural<-rbind(EngleNewUnderRural1,EngleNewUnderRural2,EngleNewUnderRural3,EngleNewUnderRural4,EngleNewUnderRural5)
+ save(EngleNewUnderRural,file=paste0(Settings$HEISProcessedPath,"Y",year,"EngleNewUnderRural.rda"))
+
+ EngleNewAboveUrban1 <- MD[TFoodExpenditure_Per>1.1*FPLine & Region=="Urban" & NewArea==1]
+ EngleNewAboveUrban2 <- MD[TFoodExpenditure_Per>1.1*FPLine & Region=="Urban" & NewArea==2]
+ EngleNewAboveUrban3 <- MD[TFoodExpenditure_Per>1.1*FPLine & Region=="Urban" & NewArea==3]
+ EngleNewAboveUrban4 <- MD[TFoodExpenditure_Per>1.1*FPLine & Region=="Urban" & NewArea==4]
+ EngleNewAboveUrban<-rbind(EngleNewAboveUrban1,EngleNewAboveUrban2,EngleNewAboveUrban3,EngleNewAboveUrban4)
+ save(EngleNewAboveUrban,file=paste0(Settings$HEISProcessedPath,"Y",year,"EngleNewAboveUrban.rda"))
+
+ EngleNewAboveRural1 <- MD[TFoodExpenditure_Per>1.1*FPLine & Region=="Rural" & NewArea==1]
+ EngleNewAboveRural2 <- MD[TFoodExpenditure_Per>1.1*FPLine & Region=="Rural" & NewArea==2]
+ EngleNewAboveRural3 <- MD[TFoodExpenditure_Per>1.1*FPLine & Region=="Rural" & NewArea==3]
+ EngleNewAboveRural4 <- MD[TFoodExpenditure_Per>1.1*FPLine & Region=="Rural" & NewArea==4]
+ EngleNewAboveRural5 <- MD[TFoodExpenditure_Per>1.1*FPLine & Region=="Rural" & NewArea==5]
+ EngleNewAboveRural<-rbind(EngleNewAboveRural1,EngleNewAboveRural2,EngleNewAboveRural3,EngleNewAboveRural4,EngleNewAboveRural5)
+ save(EngleNewAboveRural,file=paste0(Settings$HEISProcessedPath,"Y",year,"EngleNewAboveRural.rda"))
+
+ EngleD <- MD[ TFoodExpenditure_Per>0.9*FPLine & TFoodExpenditure_Per<1.1*FPLine,
+ .(.N,Engel=weighted.mean(TFoodExpenditure/Total_Exp_Month,Weight),
+ FPLine=mean(FPLine)),by=.(Region,cluster3)]
+ EngleP <- MD[ TFoodExpenditure_Per>0.8*FPLine & TFoodExpenditure_Per<1.2*FPLine,
+ .(.N,Engel=weighted.mean(TFoodExpenditure/Total_Exp_Month,Weight),
+ FPLine=mean(FPLine)),by=.(Region,NewArea_Name)]
+ save(EngleP,file = "EngleP.rda")
+ EngleD[,PovertyLine:=FPLine/Engel]
+ EngleP[,PovertyLine:=FPLine/Engel]
+ MD <- merge(MD,EngleD[,.(cluster3,Region,PovertyLine,Engel)],by=c("Region","cluster3"))
+ #MD<-MD[Region=="Urban" & NewArea==2301]
+ MD[,FinalPoor:=ifelse(Total_Exp_Month_Per < PovertyLine,1,0 )]
+ cat(MD[,weighted.mean(FinalPoor,Weight*Size)],"\t",
+ MD[,weighted.mean(PovertyLine,Weight*Size)],"\t",
+ MD[,weighted.mean(Engel,Weight*Size)],"\t",
+ MD[,weighted.mean(FPLine,Weight*Size)])
+ MD[,weighted.mean(FinalPoor,Weight*Size),by=c("Region","NewArea_Name")][order(Region,NewArea_Name)]
+ MD[,weighted.mean(FinalPoor,Weight),by=c("Region")]
+ save(MD,file=paste0(Settings$HEISProcessedPath,"Y",year,"FINALPOORS.rda"))
+}
+
+x<-EngleP[Region=="Rural",.(Engel,NewArea_Name)]
+x$NewArea <- factor(x$NewArea, levels = x$NewArea[order(x$Engel)])
+ggplot(x, aes(x = x$NewArea, y = x$Engel)) + theme_bw() + geom_bar(stat = "identity") + theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1))
+
+y<-EngleP[Region=="Urban",.(Engel,NewArea_Name)]
+y$NewArea <- factor(y$NewArea, levels = y$NewArea[order(y$Engel)])
+ggplot(y, aes(x = y$NewArea, y = y$Engel)) + theme_bw() + geom_bar(stat = "identity") + theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1))
+
+
+x2<-EngleP[Region=="Rural",.(FPLine,NewArea_Name)]
+x2$NewArea <- factor(x2$NewArea, levels = x2$NewArea[order(x2$FPLine)])
+ggplot(x2, aes(x = x2$NewArea, y = x2$FPLine)) + theme_bw() + geom_bar(stat = "identity") + theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1))
+
+y2<-EngleP[Region=="Urban",.(FPLine,NewArea_Name)]
+y2$NewArea <- factor(y2$NewArea, levels = y2$NewArea[order(y2$FPLine)])
+ggplot(y2, aes(x = y2$NewArea, y = y2$FPLine)) + theme_bw() + geom_bar(stat = "identity") + theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1))
+
+x3<-EngleP[Region=="Rural",.(PovertyLine,NewArea_Name)]
+x3$NewArea <- factor(x3$NewArea, levels = x3$NewArea[order(x3$PovertyLine)])
+ggplot(x3, aes(x = x3$NewArea, y = x3$PovertyLine)) + theme_bw() + geom_bar(stat = "identity") + theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1))
+
+y3<-EngleP[Region=="Urban",.(PovertyLine,NewArea_Name)]
+y3$NewArea <- factor(y3$NewArea, levels = y3$NewArea[order(y3$PovertyLine)])
+ggplot(y3, aes(x = y3$NewArea, y = y3$PovertyLine)) + theme_bw() + geom_bar(stat = "identity") + theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1))
+
+#NewFinalPoor<-MD[,.(HHID,Region,NewArea,NewArea,FinalPoor)]
+NewFinalPoor<-MD[,.(HHID,Region,NewArea,NewArea,Weight,HAge,HSex,
+ ProvinceCode,Size,HLiterate,HEduLevel0,Area,
+ Rooms,MetrPrice, HActivityState,FinalPoor)]
+
+save(NewFinalPoor,file=paste0(Settings$HEISProcessedPath,"Y",year,"NewFinalPoor.rda"))
+Final<-NewFinalPoor[,.(HHID,Region,Weight,FinalPoor)]
+save(Final,file=paste0(Settings$HEISProcessedPath,"Y",year,"Final.rda"))
+
+endtime <- proc.time()
+cat("\n\n============================\nIt took ")
+cat((endtime-starttime)["elapsed"])
+cat(" seconds")
\ No newline at end of file
diff --git a/R/Archive/Other Codes/PriceIndex.rda b/R/Archive/Other Codes/PriceIndex.rda
new file mode 100644
index 00000000..e505fb6f
Binary files /dev/null and b/R/Archive/Other Codes/PriceIndex.rda differ
diff --git a/R/Archive/Other Codes/PriceIndex95.rda b/R/Archive/Other Codes/PriceIndex95.rda
new file mode 100644
index 00000000..605078b0
Binary files /dev/null and b/R/Archive/Other Codes/PriceIndex95.rda differ
diff --git a/R/Archive/Other Codes/TehranPoors.rda b/R/Archive/Other Codes/TehranPoors.rda
new file mode 100644
index 00000000..1ce1ddb2
Binary files /dev/null and b/R/Archive/Other Codes/TehranPoors.rda differ
diff --git a/R/Archive/Other Codes/Urban2.jpeg b/R/Archive/Other Codes/Urban2.jpeg
new file mode 100644
index 00000000..308ec816
Binary files /dev/null and b/R/Archive/Other Codes/Urban2.jpeg differ
diff --git a/R/Archive/Other Codes/Y87ShCode.rda b/R/Archive/Other Codes/Y87ShCode.rda
new file mode 100644
index 00000000..17ce9590
Binary files /dev/null and b/R/Archive/Other Codes/Y87ShCode.rda differ
diff --git a/R/Archive/Other Codes/Y88ShCode.rda b/R/Archive/Other Codes/Y88ShCode.rda
new file mode 100644
index 00000000..d1ada6a9
Binary files /dev/null and b/R/Archive/Other Codes/Y88ShCode.rda differ
diff --git a/R/Archive/Other Codes/Y89ShCode.rda b/R/Archive/Other Codes/Y89ShCode.rda
new file mode 100644
index 00000000..21431a84
Binary files /dev/null and b/R/Archive/Other Codes/Y89ShCode.rda differ
diff --git a/R/Archive/Other Codes/Y90ShCode.rda b/R/Archive/Other Codes/Y90ShCode.rda
new file mode 100644
index 00000000..dd6d333d
Binary files /dev/null and b/R/Archive/Other Codes/Y90ShCode.rda differ
diff --git a/R/Archive/Other Codes/Y91ShCode.rda b/R/Archive/Other Codes/Y91ShCode.rda
new file mode 100644
index 00000000..86f916b8
Binary files /dev/null and b/R/Archive/Other Codes/Y91ShCode.rda differ
diff --git a/R/Archive/Other Codes/aaape.R b/R/Archive/Other Codes/aaape.R
new file mode 100644
index 00000000..02a0601c
--- /dev/null
+++ b/R/Archive/Other Codes/aaape.R
@@ -0,0 +1,324 @@
+rm(list=ls())
+
+cat("\n\n================ Admin Area Analysis Panel Estimates =================================\n")
+
+library(data.table)
+library(texreg)
+
+
+load("D:/HEIS/DataProcessed/BigD.rda")
+TXI <- dcast(data.table(table(BigD[,.(IGeo4,Year)])), IGeo4 ~ Year)
+TXF <- dcast(data.table(table(BigD[,.(FGeo4,Year)])), FGeo4 ~ Year)
+TX <- dcast(data.table(table(BigD[,.(Geo4,Year)])), Geo4 ~ Year)
+View(TXI)
+a <- which(TXI==0,arr.ind = TRUE)
+a <- unique(a[,1])
+BigD <- BigD[! IGeo4 %in% c("2201","0912","0910")] # Remove Abu Musa, Qaenat & Tabas
+
+# Province Panel ============================================
+PP <- BigD[,list(c=weighted.mean(log(RXNDpc+1),Weight),
+ x=weighted.mean(log(RXTpc+1),Weight),
+ d=weighted.mean(log(RXDpc+1),Weight),
+ size=weighted.mean(Size,Weight),
+ age=weighted.mean(HAge,Weight),
+ HHCount=.N,
+ Pop=sum(Weight)),
+ by=c("Year","FGeo2")]
+
+PP[,idx:=paste0("Pr",FGeo2)]
+PP[,fg:=as.integer(FGeo2)]
+
+library(haven)
+write_dta(PP,"PP.dta")
+
+PP[,NPD:=NULL]
+PP[FGeo2=="28" & Year==83, NPD:=1]
+PP[FGeo2=="29" & Year==83, NPD:=1]
+PP[FGeo2=="30" & Year==90, NPD:=1]
+PP[is.na(NPD),NPD:=0]
+
+PP[,SP:="0"]
+PP[FGeo2 %in% c("28","29","30"), SP:=FGeo2]
+
+PPx <- PP[,.(c=weighted.mean(c,Pop)),by=.(Year,SP)]
+
+qplot(Year,NPD,data = PP,col=FGeo2,geom = "line")
+qplot(Year,c,data = PP,col=FGeo2,geom = "line")
+qplot(Year,c,data = PPx,col=factor(SP),geom = "line")
+
+library(plm)
+pp <- pdata.frame(PP,index = c("idx","Year"))
+pp$dc <- diff(pp$c)
+
+
+# summary(plm(diff(c) ~ lag(NPD,0:3), data = pp))
+# summary(plm(diff(c) ~ NPD, data = pp))
+# summary(plm(diff(c) ~ lag(diff(c)) + NPD, data = pp))
+# summary(plm(diff(c) ~ lag(diff(c)) + lag(NPD), data = pp))
+# summary(plm(diff(c) ~ lag(diff(c)) + lag(NPD,0:2), data = pp))
+#
+# summary(plm(dx ~ l.dx + NPD + l.NPD, data = pp))
+#
+# pb <- plm(dc ~ l.dc + NPD, data = pp, model = "between")
+# pfi <- plm(dc ~ l.dc + NPD, data = pp, model = "within", effect = "individual")
+# pft <- plm(dc ~ l.dc + NPD, data = pp, model = "within", effect = "time")
+# pfd <- plm(dc ~ l.dc + NPD, data = pp, model = "within", effect = "twoways")
+# po <- plm(dc ~ l.dc + NPD, data = pp, model = "pooling")
+# pr <- plm(dc ~ l.dc + NPD, data = pp, model = "random")
+#
+# pFtest(pfi,po)
+# pFtest(pft,po)
+# pFtest(pfd,po)
+#
+# summary(pb)
+# Province Cohort10 Panel ============================================
+PCP10 <- BigD[,list(c=weighted.mean(log(RXNDpc+1),Weight),
+ x=weighted.mean(log(RXTpc+1),Weight),
+ d=weighted.mean(log(RXDpc+1),Weight),
+ size=weighted.mean(Size,Weight),
+ age=weighted.mean(HAge,Weight),
+ HHCount=.N,
+ Pop=sum(Weight)),
+ by=c("Year","FGeo2","Cohort10")]
+
+PCP10 <- PCP10[!((Cohort10=="1276-85") | (Cohort10=="1286-95") |
+ (Cohort10=="1296-05" & Year >=91) |
+ (Cohort10=="1356-65" & Year <=80) |
+ (Cohort10=="1366-75" & Year <=90) |
+ (Cohort10=="1376-85")),]
+PCP10[,idx:=paste0("Pr",FGeo2,":",Cohort10)]
+
+PCP10[,NPD:=NULL]
+PCP10[FGeo2=="28" & Year==83, NPD:=1]
+PCP10[FGeo2=="29" & Year==83, NPD:=1]
+PCP10[FGeo2=="30" & Year==90, NPD:=1]
+PCP10[is.na(NPD),NPD:=0]
+
+library(plm)
+pcp10 <- pdata.frame(PCP10,index = c("idx","Year"))
+pcp10$d.c <- diff(pcp10$c)
+pcp10$l.d.c <- lag(diff(pcp10$c))
+pcp10$l2.d.c <- lag(diff(pcp10$c),2)
+pcp10$d.x <- diff(pcp10$x)
+pcp10$l.d.x <- lag(diff(pcp10$x))
+pcp10$l2.d.x <- lag(diff(pcp10$x),2)
+pcp10$d.d <- diff(pcp10$d)
+pcp10$l.d.d <- lag(diff(pcp10$d))
+pcp10$l2.d.d <- lag(diff(pcp10$d),2)
+pcp10$l.NPD <- lag(pcp10$NPD)
+pcp10$l2.NPD <- lag(pcp10$NPD,2)
+pcp10$l3.NPD <- lag(pcp10$NPD,3)
+
+mcl0 <- plm(d.c ~ l.d.c + NPD , data = pcp10)
+mcl1 <- plm(d.c ~ l.d.c + NPD + l.NPD, data = pcp10)
+mcl2 <- plm(d.c ~ l.d.c + NPD + l.NPD + l2.NPD , data = pcp10)
+mcl3 <- plm(d.c ~ l.d.c + NPD + l.NPD + l2.NPD + l3.NPD, data = pcp10)
+
+mcn0 <- plm(d.c ~ NPD , data = pcp10)
+mcn1 <- plm(d.c ~ NPD + l.NPD, data = pcp10)
+mcn2 <- plm(d.c ~ NPD + l.NPD + l2.NPD , data = pcp10)
+mcn3 <- plm(d.c ~ NPD + l.NPD + l2.NPD + l3.NPD, data = pcp10)
+
+screenreg(list(mcl0,mcl1,mcl2,mcl3,
+ mcn0,mcn1,mcn2,mcn3))
+htmlreg(file = "D:/Dropbox/ToPublish/AdminAreas/pcp10-c.doc",
+ list(mcl0,mcl1,mcl2,mcl3,
+ mcn0,mcn1,mcn2,mcn3))
+
+mxl0 <- plm(d.x ~ l.d.x + NPD , data = pcp10)
+mxl1 <- plm(d.x ~ l.d.x + NPD + l.NPD, data = pcp10)
+mxl2 <- plm(d.x ~ l.d.x + NPD + l.NPD + l2.NPD , data = pcp10)
+mxl3 <- plm(d.x ~ l.d.x + NPD + l.NPD + l2.NPD + l3.NPD, data = pcp10)
+
+mxn0 <- plm(d.x ~ NPD , data = pcp10)
+mxn1 <- plm(d.x ~ NPD + l.NPD, data = pcp10)
+mxn2 <- plm(d.x ~ NPD + l.NPD + l2.NPD , data = pcp10)
+mxn3 <- plm(d.x ~ NPD + l.NPD + l2.NPD + l3.NPD, data = pcp10)
+
+screenreg(list(mxl0,mxl1,mxl2,mxl3,
+ mxn0,mxn1,mxn2,mxn3))
+htmlreg(file = "D:/Dropbox/ToPublish/AdminAreas/pcp10-x.doc",
+ list(mxl0,mxl1,mxl2,mxl3,
+ mxn0,mxn1,mxn2,mxn3))
+
+mdl0 <- plm(d.d ~ l.d.d + NPD , data = pcp10)
+mdl1 <- plm(d.d ~ l.d.d + NPD + l.NPD, data = pcp10)
+mdl2 <- plm(d.d ~ l.d.d + NPD + l.NPD + l2.NPD , data = pcp10)
+mdl3 <- plm(d.d ~ l.d.d + NPD + l.NPD + l2.NPD + l3.NPD, data = pcp10)
+
+mdn0 <- plm(d.d ~ NPD , data = pcp10)
+mdn1 <- plm(d.d ~ NPD + l.NPD, data = pcp10)
+mdn2 <- plm(d.d ~ NPD + l.NPD + l2.NPD , data = pcp10)
+mdn3 <- plm(d.d ~ NPD + l.NPD + l2.NPD + l3.NPD, data = pcp10)
+
+screenreg(list(mdl0,mdl1,mdl2,mdl3,
+ mdn0,mdn1,mdn2,mdn3))
+
+# Province Cohort5 Panel ============================================
+PCP5 <- BigD[,list(c=weighted.mean(log(RXNDpc+1),Weight),
+ x=weighted.mean(log(RXTpc+1),Weight),
+ d=weighted.mean(log(RXDpc+1),Weight),
+ size=weighted.mean(Size,Weight),
+ age=weighted.mean(HAge,Weight),
+ HHCount=.N,
+ Pop=sum(Weight)),
+ by=c("Year","FGeo2","Cohort5")]
+ifelse(table(PCP5[HHCount>10,.(Cohort5,Year)])/table(PCP5[,.(Cohort5,Year)])>0.2,1,0)
+
+PCP5 <- PCP5[!((Cohort5=="1276-80") |(Cohort5=="1281-85") | (Cohort5=="1286-90") |(Cohort5=="1291-95") | (Cohort5=="1296-00") |
+ (Cohort5=="1296-00" & Year >=82) |
+ (Cohort5=="1301-05" & Year >=93) |
+ (Cohort5=="1356-60" & Year <=77) |
+ (Cohort5=="1361-65" & Year <=84) |
+ (Cohort5=="1366-70" & Year <=87) |
+ (Cohort5=="1371-75") | (Cohort5=="1376-80") | (Cohort5=="1381-85") | (Cohort5=="1386-90")),]
+PCP5[,idx:=paste0("Pr",FGeo2,":",Cohort5)]
+
+PCP5[,NPD:=NULL]
+PCP5[FGeo2=="28" & Year==83, NPD:=1]
+PCP5[FGeo2=="29" & Year==83, NPD:=1]
+PCP5[FGeo2=="30" & Year==90, NPD:=1]
+PCP5[is.na(NPD),NPD:=0]
+
+library(plm)
+pcp5 <- pdata.frame(PCP5,index = c("idx","Year"))
+pcp5$d.c <- diff(pcp5$c)
+pcp5$l.d.c <- lag(diff(pcp5$c))
+pcp5$l2.d.c <- lag(diff(pcp5$c),2)
+pcp5$d.x <- diff(pcp5$x)
+pcp5$l.d.x <- lag(diff(pcp5$x))
+pcp5$l2.d.x <- lag(diff(pcp5$x),2)
+pcp5$d.d <- diff(pcp5$d)
+pcp5$l.d.d <- lag(diff(pcp5$d))
+pcp5$l2.d.d <- lag(diff(pcp5$d),2)
+pcp5$l.NPD <- lag(pcp5$NPD)
+pcp5$l2.NPD <- lag(pcp5$NPD,2)
+pcp5$l3.NPD <- lag(pcp5$NPD,3)
+
+mcl0 <- plm(d.c ~ l.d.c + NPD , data = pcp5)
+mcl1 <- plm(d.c ~ l.d.c + NPD + l.NPD, data = pcp5)
+mcl2 <- plm(d.c ~ l.d.c + NPD + l.NPD + l2.NPD , data = pcp5)
+mcl3 <- plm(d.c ~ l.d.c + NPD + l.NPD + l2.NPD + l3.NPD, data = pcp5)
+
+mcn0 <- plm(d.c ~ NPD , data = pcp5)
+mcn1 <- plm(d.c ~ NPD + l.NPD, data = pcp5)
+mcn2 <- plm(d.c ~ NPD + l.NPD + l2.NPD , data = pcp5)
+mcn3 <- plm(d.c ~ NPD + l.NPD + l2.NPD + l3.NPD, data = pcp5)
+
+screenreg(list(mcl0,mcl1,mcl2,mcl3,
+ mcn0,mcn1,mcn2,mcn3))
+htmlreg(file = "D:/Dropbox/ToPublish/AdminAreas/pcp5-c.doc",
+ list(mcl0,mcl1,mcl2,mcl3,
+ mcn0,mcn1,mcn2,mcn3))
+
+mxl0 <- plm(d.x ~ l.d.x + NPD , data = pcp5)
+mxl1 <- plm(d.x ~ l.d.x + NPD + l.NPD, data = pcp5)
+mxl2 <- plm(d.x ~ l.d.x + NPD + l.NPD + l2.NPD , data = pcp5)
+mxl3 <- plm(d.x ~ l.d.x + NPD + l.NPD + l2.NPD + l3.NPD, data = pcp5)
+
+mxn0 <- plm(d.x ~ NPD , data = pcp5)
+mxn1 <- plm(d.x ~ NPD + l.NPD, data = pcp5)
+mxn2 <- plm(d.x ~ NPD + l.NPD + l2.NPD , data = pcp5)
+mxn3 <- plm(d.x ~ NPD + l.NPD + l2.NPD + l3.NPD, data = pcp5)
+
+screenreg(list(mxl0,mxl1,mxl2,mxl3,
+ mxn0,mxn1,mxn2,mxn3))
+htmlreg(file = "D:/Dropbox/ToPublish/AdminAreas/pcp5-x.doc",
+ list(mxl0,mxl1,mxl2,mxl3,
+ mxn0,mxn1,mxn2,mxn3))
+
+mdl0 <- plm(d.d ~ l.d.d + NPD , data = pcp5)
+mdl1 <- plm(d.d ~ l.d.d + NPD + l.NPD, data = pcp5)
+mdl2 <- plm(d.d ~ l.d.d + NPD + l.NPD + l2.NPD , data = pcp5)
+mdl3 <- plm(d.d ~ l.d.d + NPD + l.NPD + l2.NPD + l3.NPD, data = pcp5)
+
+mdn0 <- plm(d.d ~ NPD , data = pcp5)
+mdn1 <- plm(d.d ~ NPD + l.NPD, data = pcp5)
+mdn2 <- plm(d.d ~ NPD + l.NPD + l2.NPD , data = pcp5)
+mdn3 <- plm(d.d ~ NPD + l.NPD + l2.NPD + l3.NPD, data = pcp5)
+
+screenreg(list(mdl0,mdl1,mdl2,mdl3,
+ mdn0,mdn1,mdn2,mdn3))
+
+# County Level Panel ========================================
+CP <- BigD[,list(c=weighted.mean(log(RXNDpc+1),Weight),
+ x=weighted.mean(log(RXTpc+1),Weight),
+ d=weighted.mean(log(RXDpc+1),Weight),
+ size=weighted.mean(Size,Weight),
+ age=weighted.mean(HAge,Weight),
+ HHCount=.N,
+ FGeo2=FGeo2[1],
+ Pop=sum(Weight)),
+ by=c("Year","IGeo4")]
+CP[,idx:=paste0("Pr",IGeo4)]
+
+CP[,NPD:=NULL]
+CP[,NPCD:=NULL]
+
+CP[FGeo2=="28" & Year==83, NPD:=1]
+CP[FGeo2=="29" & Year==83, NPD:=1]
+CP[FGeo2=="30" & Year==90, NPD:=1]
+
+CP[IGeo4=="0902" & Year==83, NPCD:=1]
+CP[IGeo4=="0903" & Year==83, NPCD:=1]
+CP[IGeo4=="2305" & Year==90, NPCD:=1]
+
+
+CP[is.na(NPD),NPD:=0]
+CP[is.na(NPCD),NPCD:=0]
+
+
+library(plm)
+cp <- pdata.frame(CP,index = c("idx","Year"))
+
+cp$d.c <- diff(cp$c)
+cp$l.d.c <- lag(diff(cp$c))
+cp$l2.d.c <- lag(diff(cp$c),2)
+cp$d.x <- diff(cp$x)
+cp$l.d.x <- lag(diff(cp$x))
+cp$l2.d.x <- lag(diff(cp$x),2)
+cp$d.d <- diff(cp$d)
+cp$l.d.d <- lag(diff(cp$d))
+cp$l2.d.d <- lag(diff(cp$d),2)
+cp$l.NPD <- lag(cp$NPD)
+cp$l2.NPD <- lag(cp$NPD,2)
+cp$l3.NPD <- lag(cp$NPD,3)
+cp$l.NPCD <- lag(cp$NPCD)
+cp$l2.NPCD <- lag(cp$NPCD,2)
+cp$l3.NPCD <- lag(cp$NPCD,3)
+
+mcl0N <- plm(d.c ~ l.d.c + NPD , data = cp)
+mcl1N <- plm(d.c ~ l.d.c + NPD + l.NPD, data = cp)
+mcl2N <- plm(d.c ~ l.d.c + NPD + l.NPD + l2.NPD , data = cp)
+mcl3N <- plm(d.c ~ l.d.c + NPD + l.NPD + l2.NPD + l3.NPD, data = cp)
+mclN0 <- plm(d.c ~ l.d.c + NPCD , data = cp)
+mclN1 <- plm(d.c ~ l.d.c + NPCD + l.NPCD, data = cp)
+mclN2 <- plm(d.c ~ l.d.c + NPCD + l.NPCD + l2.NPCD , data = cp)
+mclN3 <- plm(d.c ~ l.d.c + NPCD + l.NPCD + l2.NPCD + l3.NPCD, data = cp)
+mcl00 <- plm(d.c ~ l.d.c + NPD + NPCD , data = cp)
+mcl11 <- plm(d.c ~ l.d.c + NPD + l.NPD + NPCD + l.NPCD, data = cp)
+mcl22 <- plm(d.c ~ l.d.c + NPD + l.NPD + l2.NPD + NPCD + l.NPCD+ l2.NPCD , data = cp)
+
+mcn0N <- plm(d.c ~ NPD , data = cp)
+mcn1N <- plm(d.c ~ NPD + l.NPD, data = cp)
+mcn2N <- plm(d.c ~ NPD + l.NPD + l2.NPD , data = cp)
+mcn3N <- plm(d.c ~ NPD + l.NPD + l2.NPD + l3.NPD, data = cp)
+mcnN0 <- plm(d.c ~ NPCD , data = cp)
+mcnN1 <- plm(d.c ~ NPCD + l.NPCD, data = cp)
+mcnN2 <- plm(d.c ~ NPCD + l.NPCD + l2.NPCD , data = cp)
+mcnN3 <- plm(d.c ~ NPCD + l.NPCD + l2.NPCD + l3.NPCD, data = cp)
+mcn00 <- plm(d.c ~ NPD + NPCD , data = cp)
+mcn11 <- plm(d.c ~ NPD + l.NPD + NPCD + l.NPCD, data = cp)
+mcn22 <- plm(d.c ~ NPD + l.NPD + l2.NPD + NPCD + l.NPCD+ l2.NPCD , data = cp)
+
+screenreg(list(mcl0N,mcl1N,mcl2N,mclN0,mclN1,mclN2,
+ mcl00,mcl11,mcl22))
+screenreg(list(mcn0N,mcn1N,mcn2N,mcnN0,mcnN1,mcnN2,
+ mcn00,mcn11,mcn22))
+
+htmlreg(file = "D:/Dropbox/ToPublish/AdminAreas/cp-c-1.doc",
+ list(mcl0N,mcl1N,mcl2N,mclN0,mclN1,mclN2,
+ mcl00,mcl11,mcl22))
+htmlreg(file = "D:/Dropbox/ToPublish/AdminAreas/cp-c-2.doc",
+ list(mcn0N,mcn1N,mcn2N,mcnN0,mcnN1,mcnN2,
+ mcn00,mcn11,mcn22))
diff --git a/R/Archive/Other Codes/dt2.rda b/R/Archive/Other Codes/dt2.rda
new file mode 100644
index 00000000..80c9471f
Binary files /dev/null and b/R/Archive/Other Codes/dt2.rda differ
diff --git a/R/Archive/Other Codes/dt4Urban.rda b/R/Archive/Other Codes/dt4Urban.rda
new file mode 100644
index 00000000..97e10c0f
Binary files /dev/null and b/R/Archive/Other Codes/dt4Urban.rda differ
diff --git a/R/Archive/Other Codes/dt4Urban91.rda b/R/Archive/Other Codes/dt4Urban91.rda
new file mode 100644
index 00000000..97e10c0f
Binary files /dev/null and b/R/Archive/Other Codes/dt4Urban91.rda differ
diff --git a/R/Archive/Other Codes/dt5Rural.rda b/R/Archive/Other Codes/dt5Rural.rda
new file mode 100644
index 00000000..cfc6870f
Binary files /dev/null and b/R/Archive/Other Codes/dt5Rural.rda differ
diff --git a/R/Archive/Other Codes/educexp.R b/R/Archive/Other Codes/educexp.R
new file mode 100644
index 00000000..83228dd7
--- /dev/null
+++ b/R/Archive/Other Codes/educexp.R
@@ -0,0 +1,133 @@
+# 110-Education Expenditures.R
+# 2019: Arin Shahbazian
+
+rm(list=ls())
+
+starttime <- proc.time()
+cat("\n\n================ Education Expenditures =====================================\n")
+
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+library(readxl)
+library(data.table)
+library(stringr)
+
+EducationTables <- data.table(read_excel(Settings$MetaDataFilePath,sheet=Settings$MDS_Education))
+
+#Introduce Groups
+PrimaryschoolReg<-101111:101115
+HighschoolReg<-102111:102215
+PreUniversityReg<-103111:103116
+UniversityReg<-104111:104115
+OtherClassReg<-105111:105115
+
+for(year in (Settings$startyear:Settings$endyear)){
+ cat(paste0("\nYear:",year,","))
+ load(file=paste0(Settings$HEISRawPath,"Y",year,"Raw.rda"))
+ ft <- EducationTables[Year==year]
+ tab <- ft$Table
+ if(is.na(tab))
+ next
+ UTEducation <- Tables[[paste0("U",year,tab)]]
+ RTEducation <- Tables[[paste0("R",year,tab)]]
+ TEducations1 <- rbind(UTEducation,RTEducation)
+ for(n in names(TEducations1)){
+ x <- which(ft==n)
+ if(length(x)>0)
+ setnames(TEducations1,n,names(ft)[x])
+ }
+
+
+ # cat(" PrimaryschoolReg, ")
+
+ TEducations <- TEducations1[Code %in% PrimaryschoolReg]
+ TEducations[,a:=NULL]
+ TEducations[,b:=NULL]
+ TEducations[,c:=NULL]
+ TEducations[,d:=NULL]
+ TEducations[,Code:=NULL]
+ TEducations[is.na(TEducations)] <- 0
+ names(TEducations) <- c("HHID", "PrimaryschoolRegExp")
+ TEducations[,PrimaryschoolRegExp:=as.numeric(PrimaryschoolRegExp)/12]
+ PrimaryschoolRegExp <- TEducations[,lapply(.SD,sum),by=HHID]
+ save(PrimaryschoolRegExp, file = paste0(Settings$HEISProcessedPath,"Y",year,"PrimaryschoolRegExp.rda"))
+
+ #cat(" HighschoolReg, ")
+
+ TEducations <- TEducations1[Code %in% HighschoolReg]
+ TEducations[,a:=NULL]
+ TEducations[,b:=NULL]
+ TEducations[,c:=NULL]
+ TEducations[,d:=NULL]
+ TEducations[,Code:=NULL]
+ TEducations[is.na(TEducations)] <- 0
+ names(TEducations) <- c("HHID", "HighschoolRegExp")
+ TEducations[,HighschoolRegExp:=as.numeric(HighschoolRegExp)/12]
+ HighschoolRegExp <- TEducations[,lapply(.SD,sum),by=HHID]
+ save(HighschoolRegExp, file = paste0(Settings$HEISProcessedPath,"Y",year,"HighschoolRegExp.rda"))
+
+
+
+ #cat(" PreUniversityReg, ")
+
+ TEducations <- TEducations1[Code %in% PreUniversityReg]
+ TEducations[,a:=NULL]
+ TEducations[,b:=NULL]
+ TEducations[,c:=NULL]
+ TEducations[,d:=NULL]
+ TEducations[,Code:=NULL]
+ TEducations[is.na(TEducations)] <- 0
+ names(TEducations) <- c("HHID", "PreUniversityRegExp")
+ TEducations[,PreUniversityRegExp:=as.numeric(PreUniversityRegExp)/12]
+ PreUniversityRegExp <- TEducations[,lapply(.SD,sum),by=HHID]
+ save(PreUniversityRegExp, file = paste0(Settings$HEISProcessedPath,"Y",year,"PreUniversityRegExp.rda"))
+
+ #cat(" UniversityReg, ")
+
+ TEducations <- TEducations1[Code %in% UniversityReg]
+ TEducations[,a:=NULL]
+ TEducations[,b:=NULL]
+ TEducations[,c:=NULL]
+ TEducations[,d:=NULL]
+ TEducations[,Code:=NULL]
+ TEducations[is.na(TEducations)] <- 0
+ names(TEducations) <- c("HHID", "UniversityRegExp")
+ TEducations[,UniversityRegExp:=as.numeric(UniversityRegExp)/12]
+ UniversityRegExp <- TEducations[,lapply(.SD,sum),by=HHID]
+ save(UniversityRegExp, file = paste0(Settings$HEISProcessedPath,"Y",year,"UniversityRegExp.rda"))
+
+ #cat(" OtherClassReg, ")
+
+ TEducations <- TEducations1[Code %in% OtherClassReg]
+ TEducations[,a:=NULL]
+ TEducations[,b:=NULL]
+ TEducations[,c:=NULL]
+ TEducations[,d:=NULL]
+ TEducations[,Code:=NULL]
+ TEducations[is.na(TEducations)] <- 0
+ names(TEducations) <- c("HHID", "OtherClassRegExp")
+ TEducations[,OtherClassRegExp:=as.numeric(OtherClassRegExp)/12]
+ OtherClassRegExp <- TEducations[,lapply(.SD,sum),by=HHID]
+ save(OtherClassRegExp, file = paste0(Settings$HEISProcessedPath,"Y",year,"OtherClassRegExp.rda"))
+
+
+ #merge Education Consumption
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"Education.rda"))
+ EducationExp<-merge(EducData,PrimaryschoolRegExp,all = TRUE)
+ EducationExp<-merge(EducationExp,HighschoolRegExp,all = TRUE)
+ EducationExp<-merge(EducationExp,PreUniversityRegExp,all = TRUE)
+ EducationExp<-merge(EducationExp,UniversityRegExp,all = TRUE)
+ EducationExp<-merge(EducationExp,OtherClassRegExp,all = TRUE)
+
+ EducationExp[is.na(EducationExp)] <- 0
+
+ cat(EducationExp[,mean(EducExpenditure,na.rm=TRUE)])
+
+ save(EducationExp, file = paste0(Settings$HEISProcessedPath,"Y",year,"EducationExp.rda"))
+}
+
+
+endtime <- proc.time()
+cat("\n\n============================\nIt took ")
+cat(endtime-starttime)
diff --git a/R/Archive/Other Codes/paaad.R b/R/Archive/Other Codes/paaad.R
new file mode 100644
index 00000000..f52680e3
--- /dev/null
+++ b/R/Archive/Other Codes/paaad.R
@@ -0,0 +1,95 @@
+rm(list=ls())
+
+starttime <- proc.time()
+cat("\n\n================ Prepare Admin Area Analysis Data =================================\n")
+
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+library(data.table)
+
+load(file = "D:/HEIS/DataProcessed/ProvincialPriceData.rda")
+PriceData[,Year:=Year-1300]
+PriceData[is.na(P01),P01:=CPI]
+PriceData[is.na(P02),P02:=CPI]
+PriceData[is.na(P03),P03:=CPI]
+PriceData[is.na(P04),P04:=CPI]
+PriceData[is.na(P05),P05:=CPI]
+PriceData[is.na(P06),P06:=CPI]
+PriceData[is.na(P07),P07:=CPI]
+PriceData[is.na(P08),P08:=CPI]
+PriceData[is.na(P09),P09:=CPI]
+PriceData[is.na(P10),P10:=CPI]
+PriceData[is.na(P11),P11:=CPI]
+PriceData[is.na(P12),P12:=CPI]
+year <- 77
+
+BigD <- data.table()
+for(year in 77:96){
+ cat(paste0("\n------------------------------\nYear:",year,"\n"))
+
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"Merged4CBN.rda"))
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"GeoInfo.rda"))
+ D <- merge(MD,GeoInfo)
+ D <- merge(D,PriceData,by=c("Year", "Geo2"))
+
+ D[,RX01:=FoodExpenditure/P01*100]
+ D[,RX02:=Cigar_Exp/P02*100]
+ D[,RX03:=Cloth_Exp/P03*100]
+ D[,RX04:=(ServiceExp+Energy_Exp)/P04*100]
+ D[,RX05:=Furniture_Exp/P05*100]
+ D[,RX06:=Behdasht_Exp/P06*100]
+ D[,RX06x:=Medical_Exp/P06*100]
+ D[,RX07:=Transportation_Exp/P07*100]
+ D[,RX08:=Communication_Exp/P08*100]
+ D[,RX09:=Amusement_Exp/P09*100]
+ D[,RX10:=EducExpenditure/P10*100]
+ D[,RX11:=Hotel_Exp/P11*100]
+ D[,RX12:=Other_Exp/P12*100]
+ D[,RXD:=Durable_Exp/CPI*100]
+ D[,RXND:=RX01+RX02+RX03+RX04+RX05+RX06+
+ RX07+RX08+RX09+RX10+RX11+RX12]
+ D[,RXT:=RXD+RXND+RX06x]
+ D[,RXND2:=Total_Exp_Month_nondurable/CPI*100]
+ D[,RXT2:=Total_Exp_Month/CPI*100]
+
+ D0 <- D[,.(Year,HHID,Region,Quarter,Geo2,Geo4,FGeo2,FGeo4,
+ HAge,Size,EqSizeOECD,Weight,
+ RXND,RXD,RXT)]
+ D0[,YoB := 1300+Year-HAge]
+
+ BigD <- rbind(BigD,D0)
+}
+
+library(readxl)
+
+rm(D,D0,MD,GeoInfo,PriceData,year)
+
+
+BigD[,Cohort1:=cut(YoB,breaks=seq(from=1277,to=1390,by=1),
+ labels=paste(seq(from=1278,to=1390,by=1)))]
+BigD[,Cohort2:=cut(YoB,breaks=seq(from=1277,to=1389,by=2),
+ labels=paste(seq(from=1278,to=1388,by=2),"-",
+ sprintf("%02d",seq(from=1279,to=1389,by=2) %% 100),sep=""))]
+BigD[,Cohort5:=cut(YoB,breaks=seq(from=1275,to=1390,by=5),
+ labels=paste(seq(from=1276,to=1386,by=5),"-",
+ sprintf("%02d",seq(from=1280,to=1390,by=5) %% 100),sep=""))]
+BigD[,Cohort10:=cut(YoB,breaks=seq(from=1275,to=1385,by=10),
+ labels=paste(seq(from=1276,to=1376,by=10),"-",
+ sprintf("%02d",seq(from=1285,to=1385,by=10) %% 100),sep=""))]
+BigD[,Cohort20:=cut(YoB,breaks=seq(from=1275,to=1395,by=20),
+ labels=paste(seq(from=1276,to=1376,by=20),"-",
+ sprintf("%02d",seq(from=1295,to=1395,by=20) %% 100),sep=""))]
+
+
+
+BigD[,RXNDpc:=RXND/EqSizeOECD]
+BigD[,RXDpc:=RXD/EqSizeOECD]
+BigD[,RXTpc:=RXT/EqSizeOECD]
+
+BigD[,Geo4:=factor(Geo4)]
+Geo4D <- data.table(read_excel("../Data/Geo4.xlsx","Changed"))
+
+BigD <- merge(BigD,Geo4D[,.(Geo4,IGeo4)],by = "Geo4",all.x = TRUE)
+BigD[is.na(IGeo4),IGeo4:=Geo4]
+
+save(BigD,file = "D:/HEIS/DataProcessed/BigD.rda")
diff --git a/R/Archive/Other Codes/pppd.R b/R/Archive/Other Codes/pppd.R
new file mode 100644
index 00000000..efeb018c
--- /dev/null
+++ b/R/Archive/Other Codes/pppd.R
@@ -0,0 +1,45 @@
+library(readxl)
+library(data.table)
+
+cat("\n\n================ Prepare Provincial Price Data =================================\n")
+
+O.w <- data.table(read_excel("D:/GoogleDrive/The Database Project/4-Annual/CPI/Urban CPI- State Level.xlsx"))
+names(O.w)[1:2] <- c("PCode","ProvFa")
+O.m <- melt(O.w,id.vars = c("PCode","ProvFa"),variable.factor=FALSE)
+O.m
+setnames(O.m,c("variable","value"),c("Year","CPI90"))
+
+O.m[,Geo2:=sprintf("%02d", PCode)]
+O <- O.m[,.(Year,Geo2,CPI90)]
+
+N.ww <- data.table(read_excel("D:/Downloads/شاخص مصرف کننده.xlsx"))
+names(N.ww)[1:3] <- c("ProvFa","Item","Group")
+pln <- unique(N.ww$ProvFa)
+plo <- unique(O.w$ProvFa)
+
+intersect(plo,pln)
+setdiff(plo,pln)
+setdiff(pln,plo)
+
+N.ww <- merge(N.ww,O.w[,1:2])
+N.m <- melt(N.ww,id.vars = c("ProvFa","PCode","Item","Group"),variable.factor=FALSE)
+setnames(N.m,c("variable","value"),c("Year","CPI95"))
+N.m[,Geo2:=sprintf("%02d", PCode)]
+N.m <- N.m[!is.na(CPI95),.(Year,Geo2,Group,CPI95)]
+N <- dcast(N.m, Year + Geo2 ~ Group, value.var = "CPI95")
+setnames(N,"CPI","CPI95")
+
+A <- merge(O,N,by=c("Year","Geo2"),all = TRUE)[order(Year,Geo2)]
+X<-A[Year==1390,.(Geo2,B=CPI95)]
+A <- merge(A,X,by="Geo2",all.x = TRUE)
+A[,CPI90to95:=CPI90/100*B]
+A[,CPI:=CPI95]
+A[is.na(CPI),CPI:=CPI90to95]
+
+PriceData <- copy(A)
+PriceData[,CPI90:=NULL]
+PriceData[,CPI95:=NULL]
+PriceData[,CPI90to95:=NULL]
+PriceData[,B:=NULL]
+PriceData[,Year:=as.integer(Year)]
+save(PriceData,file = "D:/HEIS/DataProcessed/ProvincialPriceData.rda")
diff --git a/R/Archive/Other Codes/priceWeights.rda b/R/Archive/Other Codes/priceWeights.rda
new file mode 100644
index 00000000..429d1382
Binary files /dev/null and b/R/Archive/Other Codes/priceWeights.rda differ
diff --git a/R/Archive/Other Codes/prices.rda b/R/Archive/Other Codes/prices.rda
new file mode 100644
index 00000000..8e060c5b
Binary files /dev/null and b/R/Archive/Other Codes/prices.rda differ
diff --git a/R/Archive/Other Codes/remove-all-charts-from-metadata-excel-file.R b/R/Archive/Other Codes/remove-all-charts-from-metadata-excel-file.R
new file mode 100644
index 00000000..afad1945
--- /dev/null
+++ b/R/Archive/Other Codes/remove-all-charts-from-metadata-excel-file.R
@@ -0,0 +1,14 @@
+rm(list=ls())
+library(xlsx)
+
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+
+wb = loadWorkbook(Settings$MetaDataFilePath)
+Sheets <- getSheets(wb)
+n <- names(Sheets)
+n2 <- n[grepl("Chart.",n)]
+for(sname in n2)
+ removeSheet(wb, sheetName = sname)
+saveWorkbook(wb, Settings$MetaDataFilePath)
diff --git a/R/Archive/Other Codes/t.R b/R/Archive/Other Codes/t.R
new file mode 100644
index 00000000..86b32502
--- /dev/null
+++ b/R/Archive/Other Codes/t.R
@@ -0,0 +1,18 @@
+# 57-PovertyLines.R
+#
+# Copyright © 2018:Majid Einian & Arin Shahbazian
+# Licence: GPL-3
+
+rm(list=ls())
+
+starttime <- proc.time()
+cat("\n\n================ Prepare Data =====================================\n")
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+library(readxl)
+library(data.table)
+library(ggplot2)
+library(stats)
+
+f
\ No newline at end of file
diff --git a/R/Archive/Other Codes/test2.R b/R/Archive/Other Codes/test2.R
new file mode 100644
index 00000000..2b994899
--- /dev/null
+++ b/R/Archive/Other Codes/test2.R
@@ -0,0 +1,37 @@
+#test-zahra shahidi
+
+rm(list=ls())
+
+library(yaml)
+
+library(readxl)
+library(stringr)
+year<-96
+
+load(file=paste0(Settings$HEISProcessedPath,"Y",year,"Merged4CBN.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y",year,"SMD.rda"))
+load(file=paste0(Settings$HEISProcessedPath,"Y",year,"FINALPOORS.rda"))
+Total<-merge(TD,SMD[,.(HHID,Decile,Percentile)],by="HHID")
+Total<-merge(Total,MD[,.(HHID,Bundle_Value,PEngel,Engel,FPLine,PovertyLine,FinalPoor,FinalFoodPoor)])
+Total[,weighted.mean(FinalPoor,Weight*Size),by=.(Region)]
+Total[,weighted.mean(FinalPoor,Weight*Size),by=.(ProvinceCode)]
+
+
+Total<-Total[,Diet:=ifelse(FinalFoodPoor==1 & FinalPoor==0,1,0)]
+Total[,weighted.mean(Diet,Weight*Size),by=.(Region)]
+
+
+
+
+TotalD <- Total[Diet==1,.(.N,Engle1=weighted.mean(FoodExpenditure/Total_Exp_Month,Weight),
+ FPLine=mean(FPLine)),by=.(Region,NewArea_Name)]
+
+Totals<-Total[FinalPoor==1,.(sample2=.N,Engle2=weighted.mean(FoodExpenditure/Total_Exp_Month,Weight)),
+ by=.(Region,NewArea_Name)]
+
+Totalt<-merge(TotalD,Totals[,.(Region,NewArea_Name,Engle2,sample2)])
+
+
+
+Totalt<-Totalt[,NewArea_Name:=NULL]
+Totalt <- Totalt[,lapply(.SD,sum),by=.(Region)]
diff --git a/R/Archive/Poverty Indices2.R b/R/Archive/Poverty Indices2.R
new file mode 100644
index 00000000..97559b3f
--- /dev/null
+++ b/R/Archive/Poverty Indices2.R
@@ -0,0 +1,815 @@
+# 111-HHBase.R
+# Builds the base data.table for households
+
+rm(list=ls())
+
+starttime <- proc.time()
+cat("\n\n================ Poverty Indices2 =====================================\n")
+
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+#library(foreign)
+library(data.table)
+library(stringr)
+library(ggplot2)
+
+X1 <- data.table(Year=NA_integer_,HLiterate=NA_real_,Knowledge=NA_real_
+ ,tenure=NA_real_,area=NA_real_,room=NA_real_
+ ,car=NA_real_,oven=NA_real_,frez_refrig=NA_real_
+ ,electricity=NA_real_,bathroom=NA_real_,ego=NA_real_,pipewater=NA_real_
+ ,cookfuel=NA_real_,heatfuel=NA_real_,hotwater=NA_real_
+ ,G0451=NA_real_,G0452=NA_real_,G0453=NA_real_,G044=NA_real_,Energy_Share=NA_real_
+ ,Subsidy=NA_real_,Food_Share=NA_real_,Low_Calorie=NA_real_,Low_Protein=NA_real_,
+ FoodKCaloriesHH_Per=NA_real_,No_Insurance=NA_real_,Area_Per=NA_real_
+ ,skeleton=NA_real_,House_High_Share=NA_real_,Tech_low=NA_real_,Equip_low=NA_real_)
+
+X2 <- data.table(Year=NA_integer_,Region=NA_character_
+ ,HLiterate=NA_real_,Knowledge=NA_real_
+ ,tenure=NA_real_,area=NA_real_,room=NA_real_
+ ,car=NA_real_,oven=NA_real_,frez_refrig=NA_real_
+ ,electricity=NA_real_,bathroom=NA_real_,ego=NA_real_,pipewater=NA_real_
+ ,cookfuel=NA_real_,heatfuel=NA_real_,hotwater=NA_real_
+ ,G0451=NA_real_,G0452=NA_real_,G0453=NA_real_,G044=NA_real_,Energy_Share=NA_real_
+ ,Subsidy=NA_real_,Food_Share=NA_real_,Low_Calorie=NA_real_,Low_Protein=NA_real_,
+ FoodKCaloriesHH_Per=NA_real_,No_Insurance=NA_real_,Area_Per=NA_real_
+ ,skeleton=NA_real_,House_High_Share=NA_real_,Tech_low=NA_real_,Equip_low=NA_real_)
+
+
+X3 <- data.table(Year=NA_integer_,Decile=NA_integer_
+ ,HLiterate=NA_real_,Knowledge=NA_real_
+ ,tenure=NA_real_,area=NA_real_,room=NA_real_
+ ,car=NA_real_,oven=NA_real_,frez_refrig=NA_real_
+ ,electricity=NA_real_,bathroom=NA_real_,ego=NA_real_,pipewater=NA_real_
+ ,cookfuel=NA_real_,heatfuel=NA_real_,hotwater=NA_real_
+ ,G0451=NA_real_,G0452=NA_real_,G0453=NA_real_,G044=NA_real_,Energy_Share=NA_real_
+ ,Subsidy=NA_real_,Food_Share=NA_real_,Low_Calorie=NA_real_,Low_Protein=NA_real_,
+ FoodKCaloriesHH_Per=NA_real_,No_Insurance=NA_real_,Area_Per=NA_real_
+ ,skeleton=NA_real_,House_High_Share=NA_real_,Tech_low=NA_real_,Equip_low=NA_real_)
+
+Province<-data.table(Year=NA_integer_,ProvinceCode=NA_integer_,Total_Exp_Month_Per=NA_real_)
+
+Y1 <- data.table(Year=NA_integer_,H=NA_real_)
+
+Y2 <- data.table(Year=NA_integer_,H=NA_real_,Region=NA_character_)
+
+Y3 <- data.table(Year=NA_integer_,H=NA_real_,ProvinceCode=NA_integer_)
+
+Z1 <- data.table(Year=NA_integer_,A=NA_real_)
+
+Z2 <- data.table(Year=NA_integer_,A=NA_real_,Region=NA_character_)
+
+Z3 <- data.table(Year=NA_integer_,A=NA_real_,ProvinceCode=NA_integer_)
+
+Q1 <- data.table(Year=NA_integer_,MPI=NA_real_)
+
+Q2 <- data.table(Year=NA_integer_,MPI=NA_real_,Region=NA_character_)
+
+Q3 <- data.table(Year=NA_integer_,MPI=NA_real_,ProvinceCode=NA_integer_)
+
+for(year in (Settings$startyear:Settings$endyear)){
+ cat(paste0("\n------------------------------\nYear:",year,"\n"))
+
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"FINALPOORS.rda"))
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"Total2.rda"))
+ MD<-merge(MD,Total[,.(HHID,G01,G02,G03,G04,G05,G06,G07,G08,G09,G101,
+ G102,G103,G104,G105,G11,G12,G13,G041,G042,G044,G045,
+ G0451,G0452,G0453,G0454,Subsidy,G125,G1253)],by="HHID")
+ MD[,Decile:=NULL]
+
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"Deciles.rda"))
+ if (year==98){
+ names(Deciles)<-c("HHID","Decile","Percentile")
+ }
+
+ MD<-merge(MD,Deciles,by="HHID")
+
+ MD[,All:=G01+G02+G03+G04+G05+G06+G07+G08+G09+G101+
+ G102+G103+G104+G105+G11+G12+G13]
+
+ for (col in c("ego","bathroom","electricity"))
+ MD[is.na(get(col)), (col) := "True"]
+
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"P1.rda"))
+ P1<-P1[Age<=16 & Age>=6,.(HHID,Age,Literate,Student)]
+ P1<-P1[Literate==TRUE | Literate==FALSE]
+ P1<-P1[,Lit:=ifelse(Literate==FALSE | Student==FALSE,100,1)]
+ P<-P1[,lapply(.SD,sum),by="HHID"]
+ P<-P[,Knowledge:=ifelse(Lit>=100,0,1)]
+ MD<-merge(MD,P[,.(HHID,Knowledge)],all.x = TRUE)
+
+
+
+ MD[,Low_Calorie:=ifelse(FoodKCaloriesHH_Per<2100,1,0)]
+ MD[,Low_Protein:=ifelse(FoodProtein_Per<60,1,0)]
+ MD[,No_Insurance:=ifelse(G1253==0,1,0)]
+ MD[,House_High_Share:=ifelse(((G041+G042)/All>0.3 & (tenure=="Rented" |
+ tenure=="Mortgage") & Region=="Urban") |
+ ((G041+G042)/All>0.2 & (tenure=="Rented" |
+ tenure=="Mortgage") & Region=="Rural"),1,0)]
+ if (year==90){
+ MD[,phone:=ifelse(is.na(phone),"True","False")]
+ MD[,internet:=ifelse(is.na(internet),"True","False")]
+ }
+
+ MD[,Tech_low:=ifelse((phone=="False" & cellphone=="False" &
+ computer=="False") |
+ (phone=="False" & cellphone=="False" &
+ internet=="False") |
+ (phone=="False" &
+ computer=="False" & internet=="False") |
+ ( cellphone=="False" &
+ computer=="False" & internet=="False"),1,0)]
+ MD[,Yakhchal:=ifelse(refrigerator=="True" | freezer=="True" |
+ frez_refrig=="True","True","False")]
+ MD[,Equip_low:=ifelse((Yakhchal=="False" & washer=="False" &
+ oven=="False") |
+ (Yakhchal=="False" & washer=="False" &
+ tvcr=="False") |
+ (Yakhchal=="False" &
+ oven=="False" & tvcr=="False") |
+ ( washer=="False" &
+ oven=="False" & tvcr=="False") |
+ ( washer=="False" & oven=="False") |
+ ( washer=="False" & Yakhchal=="False") |
+ ( washer=="False" & tvcr=="False") |
+ ( tvcr=="False" & oven=="False") |
+ ( tvcr=="False" & Yakhchal=="False") |
+ ( Yakhchal=="False" & oven=="False") ,1,0)]
+
+ School<-MD[,.(HHID,Knowledge,No_Insurance,bathroom,pipewater)]
+ save(School,file=paste0(Settings$HEISProcessedPath,"Y",year,"tahsil.rda"))
+
+ A4<-MD[,.(Total_Exp_Month_Per=weighted.mean(Total_Exp_Month_Per,Weight,na.rm=TRUE)),by=ProvinceCode]
+
+ A1<-MD[,.(HLiterate=weighted.mean(HLiterate==FALSE,Weight,na.rm=TRUE),
+ Knowledge=weighted.mean(Knowledge==0,Weight,na.rm=TRUE),
+ tenure=weighted.mean(tenure=="OwnLandandBuilding" | tenure=="Apartment",Weight,na.rm=TRUE),
+ area=weighted.mean(area/Size,Weight,na.rm=TRUE),
+ room=weighted.mean(room/Size,Weight,na.rm=TRUE),
+ car=weighted.mean(car=='False',Weight,na.rm=TRUE),
+ frez_refrig=weighted.mean(frez_refrig=="True" | refrigerator=="True",Weight,na.rm=TRUE),
+ oven=weighted.mean(oven=="False",Weight,na.rm=TRUE),
+ bathroom=weighted.mean(bathroom=="False",Weight,na.rm=TRUE),
+ ego=weighted.mean(ego=="False",Weight,na.rm=TRUE),
+ electricity=weighted.mean(electricity=="False",Weight,na.rm=TRUE),
+ pipewater=weighted.mean(pipewater=="False",Weight,na.rm=TRUE),
+ cookfuel=weighted.mean(cookfuel!="pipedgas",Weight,na.rm=TRUE),
+ heatfuel=weighted.mean(heatfuel!="pipedgas",Weight,na.rm=TRUE),
+ hotwater=weighted.mean(hotwater!="pipedgas",Weight,na.rm=TRUE),
+ G0451=weighted.mean(G0451/All,Weight,na.rm=TRUE),
+ G0452=weighted.mean(G0452/All,Weight,na.rm=TRUE),
+ G0453=weighted.mean((G0453+G0454)/All,Weight,na.rm=TRUE),
+ G044=weighted.mean(G044/All,Weight,na.rm=TRUE),
+ Energy_Share=weighted.mean((G044+G045)/All,Weight,na.rm=TRUE),
+ Subsidy=weighted.mean((Subsidy/12)/All,Weight,na.rm=TRUE),
+ Food_Share=weighted.mean(G01/All,Weight,na.rm=TRUE),
+ Low_Calorie=weighted.mean(Low_Calorie,Weight,na.rm=TRUE),
+ Low_Protein=weighted.mean(Low_Protein,Weight,na.rm=TRUE),
+ No_Insurance=weighted.mean(No_Insurance,Weight,na.rm=TRUE),
+ Area_Per=weighted.mean((area/Size)<16,Weight,na.rm=TRUE),
+ House_High_Share=weighted.mean(House_High_Share,Weight,na.rm=TRUE),
+ Tech_low=weighted.mean(Tech_low,Weight,na.rm=TRUE),
+ Equip_low=weighted.mean(Equip_low,Weight,na.rm=TRUE),
+ skeleton=1-weighted.mean(skeleton=="metal" | skeleton=="concrete" |
+ constmat=="BrickSteel_StoneSteel" |
+ constmat=="Brickwood_Stonewood" |
+ constmat=="CementBlocks" |
+ constmat=="AllBrick_Stone" ,Weight,na.rm=TRUE),
+ FoodKCaloriesHH_Per=weighted.mean(FoodKCaloriesHH_Per,Weight,na.rm=TRUE))]
+
+ A2<-MD[,.(HLiterate=weighted.mean(HLiterate==FALSE,Weight,na.rm=TRUE),
+ Knowledge=weighted.mean(Knowledge==0,Weight,na.rm=TRUE),
+ tenure=weighted.mean(tenure=="OwnLandandBuilding" | tenure=="Apartment",Weight,na.rm=TRUE),
+ area=weighted.mean(area/Size,Weight,na.rm=TRUE),
+ room=weighted.mean(room/Size,Weight,na.rm=TRUE),
+ car=weighted.mean(car=='False',Weight,na.rm=TRUE),
+ frez_refrig=weighted.mean(frez_refrig=="True" | refrigerator=="True",Weight,na.rm=TRUE),
+ oven=weighted.mean(oven=="False",Weight,na.rm=TRUE),
+ bathroom=weighted.mean(bathroom=="False",Weight,na.rm=TRUE),
+ ego=weighted.mean(ego=="False",Weight,na.rm=TRUE),
+ electricity=weighted.mean(electricity=="False",Weight,na.rm=TRUE),
+ pipewater=weighted.mean(pipewater=="False",Weight,na.rm=TRUE),
+ cookfuel=weighted.mean(cookfuel!="pipedgas",Weight,na.rm=TRUE),
+ heatfuel=weighted.mean(heatfuel!="pipedgas",Weight,na.rm=TRUE),
+ hotwater=weighted.mean(hotwater!="pipedgas",Weight,na.rm=TRUE),
+ G0451=weighted.mean(G0451/All,Weight,na.rm=TRUE),
+ G0452=weighted.mean(G0452/All,Weight,na.rm=TRUE),
+ G0453=weighted.mean((G0453+G0454)/All,Weight,na.rm=TRUE),
+ G044=weighted.mean(G044/All,Weight,na.rm=TRUE),
+ Energy_Share=weighted.mean((G044+G045)/All,Weight,na.rm=TRUE),
+ Subsidy=weighted.mean((Subsidy/12)/All,Weight,na.rm=TRUE),
+ Food_Share=weighted.mean(G01/All,Weight,na.rm=TRUE),
+ Low_Calorie=weighted.mean(Low_Calorie,Weight,na.rm=TRUE),
+ Low_Protein=weighted.mean(Low_Protein,Weight,na.rm=TRUE),
+ No_Insurance=weighted.mean(No_Insurance,Weight,na.rm=TRUE),
+ Area_Per=weighted.mean((area/Size)<16,Weight,na.rm=TRUE),
+ House_High_Share=weighted.mean(House_High_Share,Weight,na.rm=TRUE),
+ Tech_low=weighted.mean(Tech_low,Weight,na.rm=TRUE),
+ Equip_low=weighted.mean(Equip_low,Weight,na.rm=TRUE),
+ skeleton=1-weighted.mean(skeleton=="metal" | skeleton=="concrete" |
+ constmat=="BrickSteel_StoneSteel" |
+ constmat=="Brickwood_Stonewood" |
+ constmat=="CementBlocks" |
+ constmat=="AllBrick_Stone" ,Weight,na.rm=TRUE),
+ FoodKCaloriesHH_Per=weighted.mean(FoodKCaloriesHH_Per,Weight,na.rm=TRUE)),by=Region]
+
+
+ A3<-MD[,.(HLiterate=weighted.mean(HLiterate==FALSE,Weight,na.rm=TRUE),
+ Knowledge=weighted.mean(Knowledge==0,Weight,na.rm=TRUE),
+ tenure=weighted.mean(tenure=="OwnLandandBuilding" | tenure=="Apartment",Weight,na.rm=TRUE),
+ area=weighted.mean(area/Size,Weight,na.rm=TRUE),
+ room=weighted.mean(room/Size,Weight,na.rm=TRUE),
+ car=weighted.mean(car=='False',Weight,na.rm=TRUE),
+ frez_refrig=weighted.mean(frez_refrig=="True" | refrigerator=="True",Weight,na.rm=TRUE),
+ oven=weighted.mean(oven=="False",Weight,na.rm=TRUE),
+ bathroom=weighted.mean(bathroom=="False",Weight,na.rm=TRUE),
+ ego=weighted.mean(ego=="False",Weight,na.rm=TRUE),
+ electricity=weighted.mean(electricity=="False",Weight,na.rm=TRUE),
+ pipewater=weighted.mean(pipewater=="False",Weight,na.rm=TRUE),
+ cookfuel=weighted.mean(cookfuel!="pipedgas",Weight,na.rm=TRUE),
+ heatfuel=weighted.mean(heatfuel!="pipedgas",Weight,na.rm=TRUE),
+ hotwater=weighted.mean(hotwater!="pipedgas",Weight,na.rm=TRUE),
+ G0451=weighted.mean(G0451/All,Weight,na.rm=TRUE),
+ G0452=weighted.mean(G0452/All,Weight,na.rm=TRUE),
+ G0453=weighted.mean((G0453+G0454)/All,Weight,na.rm=TRUE),
+ G044=weighted.mean(G044/All,Weight,na.rm=TRUE),
+ Energy_Share=weighted.mean((G044+G045)/All,Weight,na.rm=TRUE),
+ Subsidy=weighted.mean((Subsidy/12)/All,Weight,na.rm=TRUE),
+ Food_Share=weighted.mean(G01/All,Weight,na.rm=TRUE),
+ Low_Calorie=weighted.mean(Low_Calorie,Weight,na.rm=TRUE),
+ Low_Protein=weighted.mean(Low_Protein,Weight,na.rm=TRUE),
+ No_Insurance=weighted.mean(No_Insurance,Weight,na.rm=TRUE),
+ Area_Per=weighted.mean((area/Size)<16,Weight,na.rm=TRUE),
+ House_High_Share=weighted.mean(House_High_Share,Weight,na.rm=TRUE),
+ Tech_low=weighted.mean(Tech_low,Weight,na.rm=TRUE),
+ Equip_low=weighted.mean(Equip_low,Weight,na.rm=TRUE),
+ skeleton=1-weighted.mean(skeleton=="metal" | skeleton=="concrete" |
+ constmat=="BrickSteel_StoneSteel" |
+ constmat=="Brickwood_Stonewood" |
+ constmat=="CementBlocks" |
+ constmat=="AllBrick_Stone" ,Weight,na.rm=TRUE),
+ FoodKCaloriesHH_Per=weighted.mean(FoodKCaloriesHH_Per,Weight,na.rm=TRUE)),by=Decile]
+
+ A1[,Year:=year]
+ X1 <- rbind(X1,A1)
+
+ A2[,Year:=year]
+ X2 <- rbind(X2,A2)
+
+ A3[,Year:=year]
+ X3 <- rbind(X3,A3)
+
+ A4[,Year:=year]
+ Province <- rbind(Province,A4)
+
+ MD[,Illiterte:=ifelse(HLiterate==FALSE,1,0)]
+ MD[,No_knowledge:=ifelse(Knowledge==1 | is.na(Knowledge),0,1)]
+ MD[,High_Energy_Share:=ifelse((G044+G045)/All >0.07 ,1,0)]
+ MD[,No_electricity:=ifelse(electricity=="False" ,1,0)]
+ MD[,No_cookefuel:=ifelse(cookfuel!="pipedgas",1,0)]
+ MD[,No_pipewater:=ifelse(pipewater=="False",1,0)]
+ MD[,Small_House:=ifelse((area/Size)<16,1,0)]
+ MD[,No_Skeleton:=1-ifelse(skeleton=="metal" | skeleton=="concrete" |
+ constmat=="BrickSteel_StoneSteel" |
+ constmat=="Brickwood_Stonewood" |
+ constmat=="CementBlocks" |
+ constmat=="AllBrick_Stone",1,0)]
+ MD[,No_bathroom:=ifelse(bathroom=="False",1,0)]
+ MD[,No_ego:=ifelse(ego=="False",1,0)]
+ MD[,No_car:=ifelse(car=="False",1,0)]
+
+
+ W_Edu1<-0.1
+ W_Edu2<-0.1
+ W_Energy1<-1/15
+ W_Energy2<-1/15
+ W_Energy3<-1/15
+ W_Health1<-1/20
+ W_Health2<-1/20
+ W_Health3<-1/20
+ W_Health4<-1/20
+ W_House1<-1/20
+ W_House2<-1/20
+ W_House3<-1/20
+ W_House4<-1/20
+ W_Equip1<-0
+ W_Equip2<-1/15
+ W_Equip3<-1/15
+ W_Equip4<-1/15
+
+ MD[,Poor_Edu:=ifelse(Illiterte==1 | No_knowledge==1,1,0)]
+ a<-MD[,weighted.mean(Poor_Edu,Weight),by=ProvinceCode]
+
+ MD[,Poor_Energy:=ifelse(High_Energy_Share==1 | No_electricity==1 |
+ No_cookefuel==1,1,0)]
+ a<-MD[,weighted.mean(Poor_Energy,Weight),by=ProvinceCode]
+
+ MD[,Poor_Health:=ifelse((Low_Calorie==1 & Low_Protein==1) |
+ No_Insurance==1 | No_pipewater==1,1,0)]
+ a<-MD[,weighted.mean(Poor_Health,Weight),by=ProvinceCode]
+
+ MD[,Poor_House:=ifelse(Small_House==1 | House_High_Share==1 |
+ No_Skeleton==1 | No_bathroom==1,1,0)]
+ a<-MD[,weighted.mean(Poor_House,Weight),by=ProvinceCode]
+
+ MD[,Poor_Equip:=ifelse(No_car==1 &
+ (Equip_low==1 | Tech_low==1),1,0)]
+ a<-MD[,weighted.mean(Poor_Equip,Weight),by=ProvinceCode]
+
+ MD[,Poverty_Score:=W_Edu1*Illiterte+W_Edu2*No_knowledge+
+ W_Energy1*High_Energy_Share+W_Energy2*No_electricity+
+ W_Energy3*No_cookefuel+
+ W_Health1*Low_Calorie+W_Health2*Low_Protein+
+ W_Health3*No_Insurance+W_Health4*No_pipewater+
+ W_House1*Small_House+W_House2*House_High_Share+
+ W_House3*No_Skeleton+W_House4*No_bathroom+
+ W_Equip1*No_ego+W_Equip2*No_car+
+ W_Equip3*Equip_low+W_Equip4*Tech_low]
+
+ z1<-MD[,.(Illiterte=weighted.mean(Illiterte,Weight)
+ ,No_knowledge=weighted.mean(No_knowledge,Weight)
+ ,High_Energy_Share=weighted.mean(High_Energy_Share,Weight)
+ ,No_electricity=weighted.mean(No_electricity,Weight)
+ ,No_cookefuel=weighted.mean(No_cookefuel,Weight)
+ ,Low_Calorie=weighted.mean(Low_Calorie,Weight)
+ ,Low_Protein=weighted.mean(Low_Protein,Weight)
+ ,No_Insurance=weighted.mean(No_Insurance,Weight)
+ ,No_pipewater=weighted.mean(No_pipewater,Weight)
+ ,Small_House=weighted.mean(Small_House,Weight)
+ ,House_High_Share=weighted.mean(House_High_Share,Weight)
+ ,No_Skeleton=weighted.mean(No_Skeleton,Weight)
+ ,No_bathroom=weighted.mean(No_bathroom,Weight)
+ ,No_ego=weighted.mean(No_ego,Weight)
+ ,No_car=weighted.mean(No_car,Weight)
+ ,Equip_low=weighted.mean(Equip_low,Weight)
+ ,Tech_low=weighted.mean(Tech_low,Weight))]
+
+ z2<-MD[,.(Illiterte=weighted.mean(Illiterte,Weight)
+ ,No_knowledge=weighted.mean(No_knowledge,Weight)
+ ,High_Energy_Share=weighted.mean(High_Energy_Share,Weight)
+ ,No_electricity=weighted.mean(No_electricity,Weight)
+ ,No_cookefuel=weighted.mean(No_cookefuel,Weight)
+ ,Low_Calorie=weighted.mean(Low_Calorie,Weight)
+ ,Low_Protein=weighted.mean(Low_Protein,Weight)
+ ,No_Insurance=weighted.mean(No_Insurance,Weight)
+ ,No_pipewater=weighted.mean(No_pipewater,Weight)
+ ,Small_House=weighted.mean(Small_House,Weight)
+ ,House_High_Share=weighted.mean(House_High_Share,Weight)
+ ,No_Skeleton=weighted.mean(No_Skeleton,Weight)
+ ,No_bathroom=weighted.mean(No_bathroom,Weight)
+ ,No_ego=weighted.mean(No_ego,Weight)
+ ,No_car=weighted.mean(No_car,Weight)
+ ,Equip_low=weighted.mean(Equip_low,Weight)
+ ,Tech_low=weighted.mean(Tech_low,Weight)),by=Region]
+
+ z3<-MD[,.(Illiterte=weighted.mean(Illiterte,Weight)
+ ,No_knowledge=weighted.mean(No_knowledge,Weight)
+ ,High_Energy_Share=weighted.mean(High_Energy_Share,Weight)
+ ,No_electricity=weighted.mean(No_electricity,Weight)
+ ,No_cookefuel=weighted.mean(No_cookefuel,Weight)
+ ,Low_Calorie=weighted.mean(Low_Calorie,Weight)
+ ,Low_Protein=weighted.mean(Low_Protein,Weight)
+ ,No_Insurance=weighted.mean(No_Insurance,Weight)
+ ,No_pipewater=weighted.mean(No_pipewater,Weight)
+ ,Small_House=weighted.mean(Small_House,Weight)
+ ,House_High_Share=weighted.mean(House_High_Share,Weight)
+ ,No_Skeleton=weighted.mean(No_Skeleton,Weight)
+ ,No_bathroom=weighted.mean(No_bathroom,Weight)
+ ,No_ego=weighted.mean(No_ego,Weight)
+ ,No_car=weighted.mean(No_car,Weight)
+ ,Equip_low=weighted.mean(Equip_low,Weight)
+ ,Tech_low=weighted.mean(Tech_low,Weight)),by=Decile]
+
+ z4<-MD[,.(Illiterte=weighted.mean(Illiterte,Weight)
+ ,No_knowledge=weighted.mean(No_knowledge,Weight)
+ ,High_Energy_Share=weighted.mean(High_Energy_Share,Weight)
+ ,No_electricity=weighted.mean(No_electricity,Weight)
+ ,No_cookefuel=weighted.mean(No_cookefuel,Weight)
+ ,Low_Calorie=weighted.mean(Low_Calorie,Weight)
+ ,Low_Protein=weighted.mean(Low_Protein,Weight)
+ ,No_Insurance=weighted.mean(No_Insurance,Weight)
+ ,No_pipewater=weighted.mean(No_pipewater,Weight)
+ ,Small_House=weighted.mean(Small_House,Weight)
+ ,House_High_Share=weighted.mean(House_High_Share,Weight)
+ ,No_Skeleton=weighted.mean(No_Skeleton,Weight)
+ ,No_bathroom=weighted.mean(No_bathroom,Weight)
+ ,No_ego=weighted.mean(No_ego,Weight)
+ ,No_car=weighted.mean(No_car,Weight)
+ ,Equip_low=weighted.mean(Equip_low,Weight)
+ ,Tech_low=weighted.mean(Tech_low,Weight)),by=ProvinceCode]
+
+
+ MD[,FinalPoor:=ifelse(Poverty_Score>0.2,1,0)]
+ MD[,Poverty_Score_Revised:=ifelse(Poverty_Score>0.2,Poverty_Score,0)]
+ B1<-MD[,.(H=weighted.mean(FinalPoor,Weight))]
+ B2<-MD[,.(H=weighted.mean(FinalPoor,Weight)),by=Region]
+ B3<-MD[,.(H=weighted.mean(FinalPoor,Weight)),by=ProvinceCode]
+ MD[,weighted.mean(FinalPoor,Weight),by=Decile]
+
+ cat(MD[,weighted.mean(FinalPoor,Weight)],"\n")
+
+ B1[,Year:=year]
+ Y1 <- rbind(Y1,B1)
+
+ B2[,Year:=year]
+ Y2 <- rbind(Y2,B2)
+
+ B3[,Year:=year]
+ Y3 <- rbind(Y3,B3)
+ #write.csv(Y3,file = "Y3.csv")
+
+ C1<-MD[,.(A=sum(Poverty_Score_Revised)/sum(FinalPoor))]
+ C2<-MD[,.(A=sum(Poverty_Score_Revised)/sum(FinalPoor)),by=Region]
+ C3<-MD[,.(A=sum(Poverty_Score_Revised)/sum(FinalPoor)),by=ProvinceCode]
+
+ C1[,Year:=year]
+ Z1 <- rbind(Z1,C1)
+
+ C2[,Year:=year]
+ Z2 <- rbind(Z2,C2)
+
+ C3[,Year:=year]
+ Z3 <- rbind(Z3,C3)
+
+ D1<-MD[,.(MPI=weighted.mean(FinalPoor,Weight)*(sum(Poverty_Score_Revised)/sum(FinalPoor)))]
+ D2<-MD[,.(MPI=weighted.mean(FinalPoor,Weight)*(sum(Poverty_Score_Revised)/sum(FinalPoor))),by=Region]
+ D3<-MD[,.(MPI=weighted.mean(FinalPoor,Weight)*(sum(Poverty_Score_Revised)/sum(FinalPoor))),by=ProvinceCode]
+
+ D1[,Year:=year]
+ Q1 <- rbind(Q1,D1)
+
+ D2[,Year:=year]
+ Q2 <- rbind(Q2,D2)
+
+ D3[,Year:=year]
+ Q3 <- rbind(Q3,D3)
+
+}
+
+
+
+load(file=paste0(Settings$HEISProcessedPath,"Y",year,"P1.rda"))
+D1<-P1[,.(HHID,Age,Literate,Student,Sex)]
+D1<-merge(D1,MD[,.(HHID,ProvinceCode,Decile,Weight,Region)],all.x = TRUE)
+D1[Age>6,weighted.mean(Literate=="FALSE",Weight,na.rm = TRUE),by="Region"]
+x1<-D1[Age>6,weighted.mean(Literate=="FALSE",Weight,na.rm = TRUE),by="ProvinceCode"]
+x2<-D1[Age>7,weighted.mean(Literate=="FALSE",Weight,na.rm = TRUE),by="Decile"]
+
+a1<-MD[,weighted.mean(HLiterate==FALSE,Weight),by="ProvinceCode"][order(ProvinceCode)]
+a2<-MD[,weighted.mean(Knowledge==0,Weight,na.rm = TRUE),by="ProvinceCode"][order(ProvinceCode)]
+
+
+X1<-X1[Year==90 | Year==91 | Year==92 | Year==93 | Year==94 |
+ Year==95 | Year==96 | Year==97 | Year==98]
+X2<-X2[Year==90 | Year==91 | Year==92 | Year==93 | Year==94 |
+ Year==95 | Year==96 | Year==97 | Year==98]
+X3<-X3[Year==90 | Year==91 | Year==92 | Year==93 | Year==94 |
+ Year==95 | Year==96 | Year==97 | Year==98]
+
+
+png(file="C:/IRHEIS/R/1.png",width=1200, height=600)
+ggplot(X1, aes(fill=factor(HLiterate), y=HLiterate, x=factor(Year))) +
+ geom_bar(position="dodge", stat="identity") + theme_bw() +
+ theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1)) + theme_grey(base_size = 22)
+dev.off()
+
+png(file="C:/IRHEIS/R/2.png",width=1200, height=600)
+ggplot(X2, aes(fill=factor(Region), y=HLiterate, x=factor(Year))) +
+ geom_bar(position="dodge", stat="identity") + theme_bw() +
+ theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1)) + theme_grey(base_size = 25)
+#+ geom_text(aes(label=HLiterate), position=position_dodge(width=0.9), vjust=-0.25)
+dev.off()
+
+png(file="C:/IRHEIS/R/3.png",width=1200, height=600)
+ggplot(X3)+
+geom_line(mapping = aes(x=Year,y=HLiterate,col=factor(Decile),
+linetype=factor(Decile)))+ theme_grey(base_size = 25)
+dev.off()
+
+###############################################################################
+png(file="C:/IRHEIS/R/4.png",width=1200, height=600)
+ggplot(X1, aes(fill=factor(Knowledge), y=Knowledge, x=factor(Year))) +
+ geom_bar(position="dodge", stat="identity") + theme_bw() +
+ theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1)) + theme_grey(base_size = 25)
+dev.off()
+
+png(file="C:/IRHEIS/R/5.png",width=1200, height=600)
+ggplot(X2, aes(fill=factor(Region), y=Knowledge, x=factor(Year))) +
+ geom_bar(position="dodge", stat="identity") + theme_bw() +
+ theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1)) + theme_grey(base_size = 25)
+#+ geom_text(aes(label=HLiterate), position=position_dodge(width=0.9), vjust=-0.25)
+dev.off()
+
+png(file="C:/IRHEIS/R/6.png",width=1200, height=600)
+ggplot(X3)+
+ geom_line(mapping = aes(x=Year,y=Knowledge,col=factor(Decile),
+ linetype=factor(Decile)))+ theme_grey(base_size = 25)
+dev.off()
+###############################################################################
+###############################################################################
+###############################################################################
+png(file="C:/IRHEIS/R/7.png",width=1200, height=600)
+ggplot(X1, aes(fill=factor(Energy_Share), y=Energy_Share, x=factor(Year))) +
+ geom_bar(position="dodge", stat="identity") + theme_bw() +
+ theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1)) + theme_grey(base_size = 25)
+dev.off()
+
+png(file="C:/IRHEIS/R/8.png",width=1200, height=600)
+ggplot(X2, aes(fill=factor(Region), y=Energy_Share, x=factor(Year))) +
+ geom_bar(position="dodge", stat="identity") + theme_bw() +
+ theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1)) + theme_grey(base_size = 25)
+#+ geom_text(aes(label=HLiterate), position=position_dodge(width=0.9), vjust=-0.25)
+dev.off()
+
+png(file="C:/IRHEIS/R/9.png",width=1200, height=600)
+ggplot(X3)+
+ geom_line(mapping = aes(x=Year,y=Energy_Share,col=factor(Decile),
+ linetype=factor(Decile)))+ theme_grey(base_size = 25)
+dev.off()
+###############################################################################
+png(file="C:/IRHEIS/R/10.png",width=1200, height=600)
+ggplot(X1, aes(fill=factor(electricity), y=electricity, x=factor(Year))) +
+ geom_bar(position="dodge", stat="identity") + theme_bw() +
+ theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1)) + theme_grey(base_size = 25)
+dev.off()
+
+png(file="C:/IRHEIS/R/11.png",width=1200, height=600)
+ggplot(X2, aes(fill=factor(Region), y=electricity, x=factor(Year))) +
+ geom_bar(position="dodge", stat="identity") + theme_bw() +
+ theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1)) + theme_grey(base_size = 25)
+#+ geom_text(aes(label=HLiterate), position=position_dodge(width=0.9), vjust=-0.25)
+dev.off()
+
+png(file="C:/IRHEIS/R/12.png",width=1200, height=600)
+ggplot(X3)+
+ geom_line(mapping = aes(x=Year,y=electricity,col=factor(Decile),
+ linetype=factor(Decile)))+ theme_grey(base_size = 25)
+dev.off()
+###############################################################################
+png(file="C:/IRHEIS/R/13.png",width=1200, height=600)
+ggplot(X1, aes(fill=factor(cookfuel), y=cookfuel, x=factor(Year))) +
+ geom_bar(position="dodge", stat="identity") + theme_bw() +
+ theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1)) + theme_grey(base_size = 25)
+dev.off()
+
+png(file="C:/IRHEIS/R/14.png",width=1200, height=600)
+ggplot(X2, aes(fill=factor(Region), y=cookfuel, x=factor(Year))) +
+ geom_bar(position="dodge", stat="identity") + theme_bw() +
+ theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1)) + theme_grey(base_size = 25)
+#+ geom_text(aes(label=HLiterate), position=position_dodge(width=0.9), vjust=-0.25)
+dev.off()
+
+png(file="C:/IRHEIS/R/15.png",width=1200, height=600)
+ggplot(X3)+
+ geom_line(mapping = aes(x=Year,y=cookfuel,col=factor(Decile),
+ linetype=factor(Decile)))+ theme_grey(base_size = 25)
+dev.off()
+###############################################################################
+###############################################################################
+###############################################################################
+png(file="C:/IRHEIS/R/16.png",width=1200, height=600)
+ggplot(X1, aes(fill=factor(Low_Calorie), y=Low_Calorie, x=factor(Year))) +
+ geom_bar(position="dodge", stat="identity") + theme_bw() +
+ theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1)) + theme_grey(base_size = 25)
+dev.off()
+
+png(file="C:/IRHEIS/R/17.png",width=1200, height=600)
+ggplot(X2, aes(fill=factor(Region), y=Low_Calorie, x=factor(Year))) +
+ geom_bar(position="dodge", stat="identity") + theme_bw() +
+ theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1)) + theme_grey(base_size = 25)
+#+ geom_text(aes(label=HLiterate), position=position_dodge(width=0.9), vjust=-0.25)
+dev.off()
+
+png(file="C:/IRHEIS/R/18.png",width=1200, height=600)
+ggplot(X3)+
+ geom_line(mapping = aes(x=Year,y=Low_Calorie,col=factor(Decile),
+ linetype=factor(Decile)))+ theme_grey(base_size = 25)
+dev.off()
+###############################################################################
+png(file="C:/IRHEIS/R/19.png",width=1200, height=600)
+ggplot(X1, aes(fill=factor(Low_Protein), y=Low_Protein, x=factor(Year))) +
+ geom_bar(position="dodge", stat="identity") + theme_bw() +
+ theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1)) + theme_grey(base_size = 25)
+dev.off()
+
+png(file="C:/IRHEIS/R/20.png",width=1200, height=600)
+ggplot(X2, aes(fill=factor(Region), y=Low_Protein, x=factor(Year))) +
+ geom_bar(position="dodge", stat="identity") + theme_bw() +
+ theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1)) + theme_grey(base_size = 25)
+#+ geom_text(aes(label=HLiterate), position=position_dodge(width=0.9), vjust=-0.25)
+dev.off()
+
+png(file="C:/IRHEIS/R/21.png",width=1200, height=600)
+ggplot(X3)+
+ geom_line(mapping = aes(x=Year,y=Low_Protein,col=factor(Decile),
+ linetype=factor(Decile)))+ theme_grey(base_size = 25)
+dev.off()
+###############################################################################
+png(file="C:/IRHEIS/R/22.png",width=1200, height=600)
+ggplot(X1, aes(fill=factor(No_Insurance), y=No_Insurance, x=factor(Year))) +
+ geom_bar(position="dodge", stat="identity") + theme_bw() +
+ theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1)) + theme_grey(base_size = 25)
+dev.off()
+
+png(file="C:/IRHEIS/R/23.png",width=1200, height=600)
+ggplot(X2, aes(fill=factor(Region), y=No_Insurance, x=factor(Year))) +
+ geom_bar(position="dodge", stat="identity") + theme_bw() +
+ theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1)) + theme_grey(base_size = 25)
+#+ geom_text(aes(label=HLiterate), position=position_dodge(width=0.9), vjust=-0.25)
+dev.off()
+
+png(file="C:/IRHEIS/R/24.png",width=1200, height=600)
+ggplot(X3)+
+ geom_line(mapping = aes(x=Year,y=No_Insurance,col=factor(Decile),
+ linetype=factor(Decile)))+ theme_grey(base_size = 25)
+dev.off()
+###############################################################################
+png(file="C:/IRHEIS/R/25.png",width=1200, height=600)
+ggplot(X1, aes(fill=factor(pipewater), y=pipewater, x=factor(Year))) +
+ geom_bar(position="dodge", stat="identity") + theme_bw() +
+ theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1)) + theme_grey(base_size = 25)
+dev.off()
+
+png(file="C:/IRHEIS/R/26.png",width=1200, height=600)
+ggplot(X2, aes(fill=factor(Region), y=pipewater, x=factor(Year))) +
+ geom_bar(position="dodge", stat="identity") + theme_bw() +
+ theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1)) + theme_grey(base_size = 25)
+#+ geom_text(aes(label=HLiterate), position=position_dodge(width=0.9), vjust=-0.25)
+dev.off()
+
+png(file="C:/IRHEIS/R/27.png",width=1200, height=600)
+ggplot(X3)+
+ geom_line(mapping = aes(x=Year,y=pipewater,col=factor(Decile),
+ linetype=factor(Decile)))+ theme_grey(base_size = 25)
+dev.off()
+###############################################################################
+###############################################################################
+###############################################################################
+png(file="C:/IRHEIS/R/28.png",width=1200, height=600)
+ggplot(X1, aes(fill=factor(Area_Per), y=Area_Per, x=factor(Year))) +
+ geom_bar(position="dodge", stat="identity") + theme_bw() +
+ theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1)) + theme_grey(base_size = 25)
+dev.off()
+
+png(file="C:/IRHEIS/R/29.png",width=1200, height=600)
+ggplot(X2, aes(fill=factor(Region), y=Area_Per, x=factor(Year))) +
+ geom_bar(position="dodge", stat="identity") + theme_bw() +
+ theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1)) + theme_grey(base_size = 25)
+#+ geom_text(aes(label=HLiterate), position=position_dodge(width=0.9), vjust=-0.25)
+dev.off()
+
+png(file="C:/IRHEIS/R/30.png",width=1200, height=600)
+ggplot(X3)+
+ geom_line(mapping = aes(x=Year,y=Area_Per,col=factor(Decile),
+ linetype=factor(Decile)))+ theme_grey(base_size = 25)
+dev.off()
+###############################################################################
+png(file="C:/IRHEIS/R/31.png",width=1200, height=600)
+ggplot(X1, aes(fill=factor(skeleton), y=skeleton, x=factor(Year))) +
+ geom_bar(position="dodge", stat="identity") + theme_bw() +
+ theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1)) + theme_grey(base_size = 25)
+dev.off()
+
+png(file="C:/IRHEIS/R/32.png",width=1200, height=600)
+ggplot(X2, aes(fill=factor(Region), y=skeleton, x=factor(Year))) +
+ geom_bar(position="dodge", stat="identity") + theme_bw() +
+ theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1)) + theme_grey(base_size = 25)
+#+ geom_text(aes(label=HLiterate), position=position_dodge(width=0.9), vjust=-0.25)
+dev.off()
+
+png(file="C:/IRHEIS/R/33.png",width=1200, height=600)
+ggplot(X3)+
+ geom_line(mapping = aes(x=Year,y=skeleton,col=factor(Decile),
+ linetype=factor(Decile)))+ theme_grey(base_size = 25)
+dev.off()
+###############################################################################
+png(file="C:/IRHEIS/R/34.png",width=1200, height=600)
+ggplot(X1, aes(fill=factor(House_High_Share), y=House_High_Share, x=factor(Year))) +
+ geom_bar(position="dodge", stat="identity") + theme_bw() +
+ theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1)) + theme_grey(base_size = 25)
+dev.off()
+
+png(file="C:/IRHEIS/R/35.png",width=1200, height=600)
+ggplot(X2, aes(fill=factor(Region), y=House_High_Share, x=factor(Year))) +
+ geom_bar(position="dodge", stat="identity") + theme_bw() +
+ theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1)) + theme_grey(base_size = 25)
+#+ geom_text(aes(label=HLiterate), position=position_dodge(width=0.9), vjust=-0.25)
+dev.off()
+
+png(file="C:/IRHEIS/R/36.png",width=1200, height=600)
+ggplot(X3)+
+ geom_line(mapping = aes(x=Year,y=House_High_Share,col=factor(Decile),
+ linetype=factor(Decile)))+ theme_grey(base_size = 25)
+dev.off()
+###############################################################################
+###############################################################################
+###############################################################################
+png(file="C:/IRHEIS/R/37.png",width=1200, height=600)
+ggplot(X1, aes(fill=factor(bathroom), y=bathroom, x=factor(Year))) +
+ geom_bar(position="dodge", stat="identity") + theme_bw() +
+ theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1)) + theme_grey(base_size = 25)
+dev.off()
+
+png(file="C:/IRHEIS/R/38.png",width=1200, height=600)
+ggplot(X2, aes(fill=factor(Region), y=bathroom, x=factor(Year))) +
+ geom_bar(position="dodge", stat="identity") + theme_bw() +
+ theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1)) + theme_grey(base_size = 25)
+#+ geom_text(aes(label=HLiterate), position=position_dodge(width=0.9), vjust=-0.25)
+dev.off()
+
+png(file="C:/IRHEIS/R/39.png",width=1200, height=600)
+ggplot(X3)+
+ geom_line(mapping = aes(x=Year,y=bathroom,col=factor(Decile),
+ linetype=factor(Decile)))+ theme_grey(base_size = 25)
+dev.off()
+###############################################################################
+png(file="C:/IRHEIS/R/40.png",width=1200, height=600)
+ggplot(X1, aes(fill=factor(bathroom), y=ego, x=factor(Year))) +
+ geom_bar(position="dodge", stat="identity") + theme_bw() +
+ theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1)) + theme_grey(base_size = 25)
+dev.off()
+
+png(file="C:/IRHEIS/R/41.png",width=1200, height=600)
+ggplot(X2, aes(fill=factor(Region), y=ego, x=factor(Year))) +
+ geom_bar(position="dodge", stat="identity") + theme_bw() +
+ theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1)) + theme_grey(base_size = 25)
+#+ geom_text(aes(label=HLiterate), position=position_dodge(width=0.9), vjust=-0.25)
+dev.off()
+
+png(file="C:/IRHEIS/R/42.png",width=1200, height=600)
+ggplot(X3)+
+ geom_line(mapping = aes(x=Year,y=ego,col=factor(Decile),
+ linetype=factor(Decile)))+ theme_grey(base_size = 25)
+dev.off()
+###############################################################################
+png(file="C:/IRHEIS/R/43.png",width=1200, height=600)
+ggplot(X1, aes(fill=factor(car), y=car, x=factor(Year))) +
+ geom_bar(position="dodge", stat="identity") + theme_bw() +
+ theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1)) + theme_grey(base_size = 25)
+dev.off()
+
+png(file="C:/IRHEIS/R/44.png",width=1200, height=600)
+ggplot(X2, aes(fill=factor(Region), y=car, x=factor(Year))) +
+ geom_bar(position="dodge", stat="identity") + theme_bw() +
+ theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1)) + theme_grey(base_size = 25)
+#+ geom_text(aes(label=HLiterate), position=position_dodge(width=0.9), vjust=-0.25)
+dev.off()
+
+png(file="C:/IRHEIS/R/45.png",width=1200, height=600)
+ggplot(X3)+
+ geom_line(mapping = aes(x=Year,y=car,col=factor(Decile),
+ linetype=factor(Decile)))+ theme_grey(base_size = 25)
+dev.off()
+###############################################################################
+png(file="C:/IRHEIS/R/46.png",width=1200, height=600)
+ggplot(X1, aes(fill=factor(Tech_low), y=Tech_low, x=factor(Year))) +
+ geom_bar(position="dodge", stat="identity") + theme_bw() +
+ theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1)) + theme_grey(base_size = 25)
+dev.off()
+
+png(file="C:/IRHEIS/R/47.png",width=1200, height=600)
+ggplot(X2, aes(fill=factor(Region), y=Tech_low, x=factor(Year))) +
+ geom_bar(position="dodge", stat="identity") + theme_bw() +
+ theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1)) + theme_grey(base_size = 25)
+#+ geom_text(aes(label=HLiterate), position=position_dodge(width=0.9), vjust=-0.25)
+dev.off()
+
+png(file="C:/IRHEIS/R/48.png",width=1200, height=600)
+ggplot(X3)+
+ geom_line(mapping = aes(x=Year,y=Tech_low,col=factor(Decile),
+ linetype=factor(Decile)))+ theme_grey(base_size = 25)
+dev.off()
+###############################################################################
+png(file="C:/IRHEIS/R/49.png",width=1200, height=600)
+ggplot(X1, aes(fill=factor(Equip_low), y=Equip_low, x=factor(Year))) +
+ geom_bar(position="dodge", stat="identity") + theme_bw() +
+ theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1)) + theme_grey(base_size = 25)
+dev.off()
+
+png(file="C:/IRHEIS/R/50.png",width=1200, height=600)
+ggplot(X2, aes(fill=factor(Region), y=Equip_low, x=factor(Year))) +
+ geom_bar(position="dodge", stat="identity") + theme_bw() +
+ theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1)) + theme_grey(base_size = 25)
+#+ geom_text(aes(label=HLiterate), position=position_dodge(width=0.9), vjust=-0.25)
+dev.off()
+
+png(file="C:/IRHEIS/R/51.png",width=1200, height=600)
+ggplot(X3)+
+ geom_line(mapping = aes(x=Year,y=Equip_low,col=factor(Decile),
+ linetype=factor(Decile)))+ theme_grey(base_size = 25)
+dev.off()
+
+
+
+
+write.csv(X1,file="X1.csv")
+write.csv(X2,file="X2.csv")
+write.csv(X3,file="X3.csv")
+write.csv(X4,file="X4.csv")
+#write.csv(Province,file="Province.csv")
+
+endtime <- proc.time()
+
+cat("\n\n============================\nIt took ")
+cat((endtime-starttime)[3])
\ No newline at end of file
diff --git a/R/Archive/Poverty Indices3.R b/R/Archive/Poverty Indices3.R
new file mode 100644
index 00000000..402b89b7
--- /dev/null
+++ b/R/Archive/Poverty Indices3.R
@@ -0,0 +1,857 @@
+# 111-HHBase.R
+# Builds the base data.table for households
+
+rm(list=ls())
+
+starttime <- proc.time()
+cat("\n\n================ Poverty Indices2 =====================================\n")
+
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+#library(foreign)
+library(data.table)
+library(stringr)
+library(ggplot2)
+
+X1 <- data.table(Year=NA_integer_,HLiterate=NA_real_,Knowledge=NA_real_
+ ,tenure=NA_real_,area=NA_real_,room=NA_real_
+ ,car=NA_real_,oven=NA_real_,frez_refrig=NA_real_
+ ,electricity=NA_real_,bathroom=NA_real_,ego=NA_real_,pipewater=NA_real_
+ ,cookfuel=NA_real_,heatfuel=NA_real_,hotwater=NA_real_
+ ,G0451=NA_real_,G0452=NA_real_,G0453=NA_real_,G044=NA_real_,Energy_Share=NA_real_
+ ,Subsidy=NA_real_,Food_Share=NA_real_,Low_Calorie=NA_real_,Low_Protein=NA_real_,
+ FoodKCaloriesHH_Per=NA_real_,No_Insurance=NA_real_,Area_Per=NA_real_
+ ,skeleton=NA_real_,House_High_Share=NA_real_,Tech_low=NA_real_,Equip_low=NA_real_)
+
+X2 <- data.table(Year=NA_integer_,Region=NA_character_
+ ,HLiterate=NA_real_,Knowledge=NA_real_
+ ,tenure=NA_real_,area=NA_real_,room=NA_real_
+ ,car=NA_real_,oven=NA_real_,frez_refrig=NA_real_
+ ,electricity=NA_real_,bathroom=NA_real_,ego=NA_real_,pipewater=NA_real_
+ ,cookfuel=NA_real_,heatfuel=NA_real_,hotwater=NA_real_
+ ,G0451=NA_real_,G0452=NA_real_,G0453=NA_real_,G044=NA_real_,Energy_Share=NA_real_
+ ,Subsidy=NA_real_,Food_Share=NA_real_,Low_Calorie=NA_real_,Low_Protein=NA_real_,
+ FoodKCaloriesHH_Per=NA_real_,No_Insurance=NA_real_,Area_Per=NA_real_
+ ,skeleton=NA_real_,House_High_Share=NA_real_,Tech_low=NA_real_,Equip_low=NA_real_)
+
+
+X3 <- data.table(Year=NA_integer_,Decile=NA_integer_
+ ,HLiterate=NA_real_,Knowledge=NA_real_
+ ,tenure=NA_real_,area=NA_real_,room=NA_real_
+ ,car=NA_real_,oven=NA_real_,frez_refrig=NA_real_
+ ,electricity=NA_real_,bathroom=NA_real_,ego=NA_real_,pipewater=NA_real_
+ ,cookfuel=NA_real_,heatfuel=NA_real_,hotwater=NA_real_
+ ,G0451=NA_real_,G0452=NA_real_,G0453=NA_real_,G044=NA_real_,Energy_Share=NA_real_
+ ,Subsidy=NA_real_,Food_Share=NA_real_,Low_Calorie=NA_real_,Low_Protein=NA_real_,
+ FoodKCaloriesHH_Per=NA_real_,No_Insurance=NA_real_,Area_Per=NA_real_
+ ,skeleton=NA_real_,House_High_Share=NA_real_,Tech_low=NA_real_,Equip_low=NA_real_)
+
+Province<-data.table(Year=NA_integer_,HLiterate=NA_real_,Knowledge=NA_real_
+ ,tenure=NA_real_,area=NA_real_,room=NA_real_
+ ,car=NA_real_,oven=NA_real_,frez_refrig=NA_real_
+ ,electricity=NA_real_,bathroom=NA_real_,ego=NA_real_,pipewater=NA_real_
+ ,cookfuel=NA_real_,heatfuel=NA_real_,hotwater=NA_real_
+ ,G0451=NA_real_,G0452=NA_real_,G0453=NA_real_,G044=NA_real_,Energy_Share=NA_real_
+ ,Subsidy=NA_real_,Food_Share=NA_real_,Low_Calorie=NA_real_,Low_Protein=NA_real_,
+ FoodKCaloriesHH_Per=NA_real_,No_Insurance=NA_real_,Area_Per=NA_real_
+ ,skeleton=NA_real_,House_High_Share=NA_real_,Tech_low=NA_real_,Equip_low=NA_real_,ProvinceCode=NA_integer_)
+
+Y1 <- data.table(Year=NA_integer_,H=NA_real_)
+
+Y2 <- data.table(Year=NA_integer_,H=NA_real_,Region=NA_character_)
+
+Y3 <- data.table(Year=NA_integer_,H=NA_real_,ProvinceCode=NA_integer_)
+
+Z1 <- data.table(Year=NA_integer_,A=NA_real_)
+
+Z2 <- data.table(Year=NA_integer_,A=NA_real_,Region=NA_character_)
+
+Z3 <- data.table(Year=NA_integer_,A=NA_real_,ProvinceCode=NA_integer_)
+
+Q1 <- data.table(Year=NA_integer_,MPI=NA_real_)
+
+Q2 <- data.table(Year=NA_integer_,MPI=NA_real_,Region=NA_character_)
+
+Q3 <- data.table(Year=NA_integer_,MPI=NA_real_,ProvinceCode=NA_integer_)
+
+for(year in (Settings$startyear:Settings$endyear)){
+ cat(paste0("\n------------------------------\nYear:",year,"\n"))
+
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"FINALPOORS.rda"))
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"Total2.rda"))
+ MD<-merge(MD,Total[,.(HHID,G01,G02,G03,G04,G05,G06,G07,G08,G09,G101,
+ G102,G103,G104,G105,G11,G12,G13,G041,G042,G044,G045,
+ G0451,G0452,G0453,G0454,Subsidy,G125,G1253)],by="HHID")
+ MD[,Decile:=NULL]
+
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"Deciles.rda"))
+ if (year==98){
+ names(Deciles)<-c("HHID","Decile","Percentile")
+ }
+
+ MD<-merge(MD,Deciles,by="HHID")
+
+ MD[,All:=G01+G02+G03+G04+G05+G06+G07+G08+G09+G101+
+ G102+G103+G104+G105+G11+G12+G13]
+
+ for (col in c("ego","bathroom","electricity"))
+ MD[is.na(get(col)), (col) := "True"]
+
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"P1.rda"))
+ P1<-P1[Age<=16 & Age>=6,.(HHID,Age,Literate,Student)]
+ P1<-P1[Literate==TRUE | Literate==FALSE]
+ P1<-P1[,Lit:=ifelse(Literate==FALSE | Student==FALSE,100,1)]
+ P<-P1[,lapply(.SD,sum),by="HHID"]
+ P<-P[,Knowledge:=ifelse(Lit>=100,0,1)]
+ MD<-merge(MD,P[,.(HHID,Knowledge)],all.x = TRUE)
+
+
+
+ MD[,Low_Calorie:=ifelse(FoodKCaloriesHH_Per<2100,1,0)]
+ MD[,Low_Protein:=ifelse(FoodProtein_Per<60,1,0)]
+ MD[,No_Insurance:=ifelse(G1253==0,1,0)]
+ MD[,House_High_Share:=ifelse(((G041+G042)/All>0.3 & (tenure=="Rented" |
+ tenure=="Mortgage") & Region=="Urban") |
+ ((G041+G042)/All>0.2 & (tenure=="Rented" |
+ tenure=="Mortgage") & Region=="Rural"),1,0)]
+ if (year==90){
+ MD[,phone:=ifelse(is.na(phone),"True","False")]
+ MD[,internet:=ifelse(is.na(internet),"True","False")]
+ }
+
+ MD[,Tech_low:=ifelse((phone=="False" & cellphone=="False" &
+ computer=="False") |
+ (phone=="False" & cellphone=="False" &
+ internet=="False") |
+ (phone=="False" &
+ computer=="False" & internet=="False") |
+ ( cellphone=="False" &
+ computer=="False" & internet=="False"),1,0)]
+ MD[,Yakhchal:=ifelse(refrigerator=="True" | freezer=="True" |
+ frez_refrig=="True","True","False")]
+ MD[,Equip_low:=ifelse((Yakhchal=="False" & washer=="False" &
+ oven=="False") |
+ (Yakhchal=="False" & washer=="False" &
+ tvcr=="False") |
+ (Yakhchal=="False" &
+ oven=="False" & tvcr=="False") |
+ ( washer=="False" &
+ oven=="False" & tvcr=="False") |
+ ( washer=="False" & oven=="False") |
+ ( washer=="False" & Yakhchal=="False") |
+ ( washer=="False" & tvcr=="False") |
+ ( tvcr=="False" & oven=="False") |
+ ( tvcr=="False" & Yakhchal=="False") |
+ ( Yakhchal=="False" & oven=="False") ,1,0)]
+
+ School<-MD[,.(HHID,Knowledge,No_Insurance,bathroom,pipewater)]
+ save(School,file=paste0(Settings$HEISProcessedPath,"Y",year,"tahsil.rda"))
+
+ A4<-MD[,.(HLiterate=weighted.mean(HLiterate==FALSE,Weight,na.rm=TRUE),
+ Knowledge=weighted.mean(Knowledge==0,Weight,na.rm=TRUE),
+ tenure=weighted.mean(tenure=="OwnLandandBuilding" | tenure=="Apartment",Weight,na.rm=TRUE),
+ area=weighted.mean(area/Size,Weight,na.rm=TRUE),
+ room=weighted.mean(room/Size,Weight,na.rm=TRUE),
+ car=weighted.mean(car=='False',Weight,na.rm=TRUE),
+ frez_refrig=weighted.mean(frez_refrig=="True" | refrigerator=="True",Weight,na.rm=TRUE),
+ oven=weighted.mean(oven=="False",Weight,na.rm=TRUE),
+ bathroom=weighted.mean(bathroom=="False",Weight,na.rm=TRUE),
+ ego=weighted.mean(ego=="False",Weight,na.rm=TRUE),
+ electricity=weighted.mean(electricity=="False",Weight,na.rm=TRUE),
+ pipewater=weighted.mean(pipewater=="False",Weight,na.rm=TRUE),
+ cookfuel=weighted.mean(cookfuel!="pipedgas" & cookfuel!="gas" & cookfuel!="electricity",Weight,na.rm=TRUE),
+ heatfuel=weighted.mean(heatfuel!="pipedgas",Weight,na.rm=TRUE),
+ hotwater=weighted.mean(hotwater!="pipedgas",Weight,na.rm=TRUE),
+ G0451=weighted.mean(G0451/All,Weight,na.rm=TRUE),
+ G0452=weighted.mean(G0452/All,Weight,na.rm=TRUE),
+ G0453=weighted.mean((G0453+G0454)/All,Weight,na.rm=TRUE),
+ G044=weighted.mean(G044/All,Weight,na.rm=TRUE),
+ Energy_Share=weighted.mean((G044+G045)/All,Weight,na.rm=TRUE),
+ Subsidy=weighted.mean((Subsidy/12)/All,Weight,na.rm=TRUE),
+ Food_Share=weighted.mean(G01/All,Weight,na.rm=TRUE),
+ Low_Calorie=weighted.mean(Low_Calorie,Weight,na.rm=TRUE),
+ Low_Protein=weighted.mean(Low_Protein,Weight,na.rm=TRUE),
+ No_Insurance=weighted.mean(No_Insurance,Weight,na.rm=TRUE),
+ Area_Per=weighted.mean((area/Size)<16,Weight,na.rm=TRUE),
+ House_High_Share=weighted.mean(House_High_Share,Weight,na.rm=TRUE),
+ Tech_low=weighted.mean(Tech_low,Weight,na.rm=TRUE),
+ Equip_low=weighted.mean(Equip_low,Weight,na.rm=TRUE),
+ skeleton=1-weighted.mean(skeleton=="metal" | skeleton=="concrete" |
+ constmat=="BrickSteel_StoneSteel" |
+ constmat=="Brickwood_Stonewood" |
+ constmat=="CementBlocks" |
+ constmat=="AllBrick_Stone" ,Weight,na.rm=TRUE),
+ FoodKCaloriesHH_Per=weighted.mean(FoodKCaloriesHH_Per,Weight,na.rm=TRUE)),by=ProvinceCode]
+
+ A1<-MD[,.(HLiterate=weighted.mean(HLiterate==FALSE,Weight,na.rm=TRUE),
+ Knowledge=weighted.mean(Knowledge==0,Weight,na.rm=TRUE),
+ tenure=weighted.mean(tenure=="OwnLandandBuilding" | tenure=="Apartment",Weight,na.rm=TRUE),
+ area=weighted.mean(area/Size,Weight,na.rm=TRUE),
+ room=weighted.mean(room/Size,Weight,na.rm=TRUE),
+ car=weighted.mean(car=='False',Weight,na.rm=TRUE),
+ frez_refrig=weighted.mean(frez_refrig=="True" | refrigerator=="True",Weight,na.rm=TRUE),
+ oven=weighted.mean(oven=="False",Weight,na.rm=TRUE),
+ bathroom=weighted.mean(bathroom=="False",Weight,na.rm=TRUE),
+ ego=weighted.mean(ego=="False",Weight,na.rm=TRUE),
+ electricity=weighted.mean(electricity=="False",Weight,na.rm=TRUE),
+ pipewater=weighted.mean(pipewater=="False",Weight,na.rm=TRUE),
+ cookfuel=weighted.mean(cookfuel!="pipedgas" & cookfuel!="gas" & cookfuel!="electricity",Weight,na.rm=TRUE),
+ heatfuel=weighted.mean(heatfuel!="pipedgas",Weight,na.rm=TRUE),
+ hotwater=weighted.mean(hotwater!="pipedgas",Weight,na.rm=TRUE),
+ G0451=weighted.mean(G0451/All,Weight,na.rm=TRUE),
+ G0452=weighted.mean(G0452/All,Weight,na.rm=TRUE),
+ G0453=weighted.mean((G0453+G0454)/All,Weight,na.rm=TRUE),
+ G044=weighted.mean(G044/All,Weight,na.rm=TRUE),
+ Energy_Share=weighted.mean((G044+G045)/All,Weight,na.rm=TRUE),
+ Subsidy=weighted.mean((Subsidy/12)/All,Weight,na.rm=TRUE),
+ Food_Share=weighted.mean(G01/All,Weight,na.rm=TRUE),
+ Low_Calorie=weighted.mean(Low_Calorie,Weight,na.rm=TRUE),
+ Low_Protein=weighted.mean(Low_Protein,Weight,na.rm=TRUE),
+ No_Insurance=weighted.mean(No_Insurance,Weight,na.rm=TRUE),
+ Area_Per=weighted.mean((area/Size)<16,Weight,na.rm=TRUE),
+ House_High_Share=weighted.mean(House_High_Share,Weight,na.rm=TRUE),
+ Tech_low=weighted.mean(Tech_low,Weight,na.rm=TRUE),
+ Equip_low=weighted.mean(Equip_low,Weight,na.rm=TRUE),
+ skeleton=1-weighted.mean(skeleton=="metal" | skeleton=="concrete" |
+ constmat=="BrickSteel_StoneSteel" |
+ constmat=="Brickwood_Stonewood" |
+ constmat=="CementBlocks" |
+ constmat=="AllBrick_Stone" ,Weight,na.rm=TRUE),
+ FoodKCaloriesHH_Per=weighted.mean(FoodKCaloriesHH_Per,Weight,na.rm=TRUE))]
+
+ A2<-MD[,.(HLiterate=weighted.mean(HLiterate==FALSE,Weight,na.rm=TRUE),
+ Knowledge=weighted.mean(Knowledge==0,Weight,na.rm=TRUE),
+ tenure=weighted.mean(tenure=="OwnLandandBuilding" | tenure=="Apartment",Weight,na.rm=TRUE),
+ area=weighted.mean(area/Size,Weight,na.rm=TRUE),
+ room=weighted.mean(room/Size,Weight,na.rm=TRUE),
+ car=weighted.mean(car=='False',Weight,na.rm=TRUE),
+ frez_refrig=weighted.mean(frez_refrig=="True" | refrigerator=="True",Weight,na.rm=TRUE),
+ oven=weighted.mean(oven=="False",Weight,na.rm=TRUE),
+ bathroom=weighted.mean(bathroom=="False",Weight,na.rm=TRUE),
+ ego=weighted.mean(ego=="False",Weight,na.rm=TRUE),
+ electricity=weighted.mean(electricity=="False",Weight,na.rm=TRUE),
+ pipewater=weighted.mean(pipewater=="False",Weight,na.rm=TRUE),
+ cookfuel=weighted.mean(cookfuel!="pipedgas" & cookfuel!="gas" & cookfuel!="electricity",Weight,na.rm=TRUE),
+ heatfuel=weighted.mean(heatfuel!="pipedgas",Weight,na.rm=TRUE),
+ hotwater=weighted.mean(hotwater!="pipedgas",Weight,na.rm=TRUE),
+ G0451=weighted.mean(G0451/All,Weight,na.rm=TRUE),
+ G0452=weighted.mean(G0452/All,Weight,na.rm=TRUE),
+ G0453=weighted.mean((G0453+G0454)/All,Weight,na.rm=TRUE),
+ G044=weighted.mean(G044/All,Weight,na.rm=TRUE),
+ Energy_Share=weighted.mean((G044+G045)/All,Weight,na.rm=TRUE),
+ Subsidy=weighted.mean((Subsidy/12)/All,Weight,na.rm=TRUE),
+ Food_Share=weighted.mean(G01/All,Weight,na.rm=TRUE),
+ Low_Calorie=weighted.mean(Low_Calorie,Weight,na.rm=TRUE),
+ Low_Protein=weighted.mean(Low_Protein,Weight,na.rm=TRUE),
+ No_Insurance=weighted.mean(No_Insurance,Weight,na.rm=TRUE),
+ Area_Per=weighted.mean((area/Size)<16,Weight,na.rm=TRUE),
+ House_High_Share=weighted.mean(House_High_Share,Weight,na.rm=TRUE),
+ Tech_low=weighted.mean(Tech_low,Weight,na.rm=TRUE),
+ Equip_low=weighted.mean(Equip_low,Weight,na.rm=TRUE),
+ skeleton=1-weighted.mean(skeleton=="metal" | skeleton=="concrete" |
+ constmat=="BrickSteel_StoneSteel" |
+ constmat=="Brickwood_Stonewood" |
+ constmat=="CementBlocks" |
+ constmat=="AllBrick_Stone" ,Weight,na.rm=TRUE),
+ FoodKCaloriesHH_Per=weighted.mean(FoodKCaloriesHH_Per,Weight,na.rm=TRUE)),by=Region]
+
+
+ A3<-MD[,.(HLiterate=weighted.mean(HLiterate==FALSE,Weight,na.rm=TRUE),
+ Knowledge=weighted.mean(Knowledge==0,Weight,na.rm=TRUE),
+ tenure=weighted.mean(tenure=="OwnLandandBuilding" | tenure=="Apartment",Weight,na.rm=TRUE),
+ area=weighted.mean(area/Size,Weight,na.rm=TRUE),
+ room=weighted.mean(room/Size,Weight,na.rm=TRUE),
+ car=weighted.mean(car=='False',Weight,na.rm=TRUE),
+ frez_refrig=weighted.mean(frez_refrig=="True" | refrigerator=="True",Weight,na.rm=TRUE),
+ oven=weighted.mean(oven=="False",Weight,na.rm=TRUE),
+ bathroom=weighted.mean(bathroom=="False",Weight,na.rm=TRUE),
+ ego=weighted.mean(ego=="False",Weight,na.rm=TRUE),
+ electricity=weighted.mean(electricity=="False",Weight,na.rm=TRUE),
+ pipewater=weighted.mean(pipewater=="False",Weight,na.rm=TRUE),
+ cookfuel=weighted.mean(cookfuel!="pipedgas" & cookfuel!="gas" & cookfuel!="electricity",Weight,na.rm=TRUE),
+ heatfuel=weighted.mean(heatfuel!="pipedgas",Weight,na.rm=TRUE),
+ hotwater=weighted.mean(hotwater!="pipedgas",Weight,na.rm=TRUE),
+ G0451=weighted.mean(G0451/All,Weight,na.rm=TRUE),
+ G0452=weighted.mean(G0452/All,Weight,na.rm=TRUE),
+ G0453=weighted.mean((G0453+G0454)/All,Weight,na.rm=TRUE),
+ G044=weighted.mean(G044/All,Weight,na.rm=TRUE),
+ Energy_Share=weighted.mean((G044+G045)/All,Weight,na.rm=TRUE),
+ Subsidy=weighted.mean((Subsidy/12)/All,Weight,na.rm=TRUE),
+ Food_Share=weighted.mean(G01/All,Weight,na.rm=TRUE),
+ Low_Calorie=weighted.mean(Low_Calorie,Weight,na.rm=TRUE),
+ Low_Protein=weighted.mean(Low_Protein,Weight,na.rm=TRUE),
+ No_Insurance=weighted.mean(No_Insurance,Weight,na.rm=TRUE),
+ Area_Per=weighted.mean((area/Size)<16,Weight,na.rm=TRUE),
+ House_High_Share=weighted.mean(House_High_Share,Weight,na.rm=TRUE),
+ Tech_low=weighted.mean(Tech_low,Weight,na.rm=TRUE),
+ Equip_low=weighted.mean(Equip_low,Weight,na.rm=TRUE),
+ skeleton=1-weighted.mean(skeleton=="metal" | skeleton=="concrete" |
+ constmat=="BrickSteel_StoneSteel" |
+ constmat=="Brickwood_Stonewood" |
+ constmat=="CementBlocks" |
+ constmat=="AllBrick_Stone" ,Weight,na.rm=TRUE),
+ FoodKCaloriesHH_Per=weighted.mean(FoodKCaloriesHH_Per,Weight,na.rm=TRUE)),by=Decile]
+
+ A1[,Year:=year]
+ X1 <- rbind(X1,A1)
+
+ A2[,Year:=year]
+ X2 <- rbind(X2,A2)
+
+ A3[,Year:=year]
+ X3 <- rbind(X3,A3)
+
+ A4[,Year:=year]
+ Province <- rbind(Province,A4)
+
+ MD[,Illiterte:=ifelse(HLiterate==FALSE,1,0)]
+ MD[,No_knowledge:=ifelse(Knowledge==1 | is.na(Knowledge),0,1)]
+ MD[,High_Energy_Share:=ifelse((G044+G045)/All >0.07 ,1,0)]
+ MD[,No_electricity:=ifelse(electricity=="False" ,1,0)]
+ MD[,No_cookefuel:=ifelse(cookfuel!="pipedgas" & cookfuel!="gas" & cookfuel!="electricity",1,0)]
+ MD[,No_pipewater:=ifelse(pipewater=="False",1,0)]
+ MD[,Small_House:=ifelse((area/Size)<16,1,0)]
+ MD[,No_Skeleton:=1-ifelse(skeleton=="metal" | skeleton=="concrete" |
+ constmat=="BrickSteel_StoneSteel" |
+ constmat=="Brickwood_Stonewood" |
+ constmat=="CementBlocks" |
+ constmat=="AllBrick_Stone",1,0)]
+ MD[,No_bathroom:=ifelse(bathroom=="False",1,0)]
+ MD[,No_ego:=ifelse(ego=="False",1,0)]
+ MD[,No_car:=ifelse(car=="False",1,0)]
+
+
+ W_Edu1<-0.1
+ W_Edu2<-0.1
+ W_Energy1<-1/15
+ W_Energy2<-1/15
+ W_Energy3<-1/15
+ W_Health1<-1/20
+ W_Health2<-1/20
+ W_Health3<-1/20
+ W_Health4<-1/20
+ W_House1<-1/20
+ W_House2<-1/20
+ W_House3<-1/20
+ W_House4<-1/20
+ W_Equip1<-0
+ W_Equip2<-1/15
+ W_Equip3<-1/15
+ W_Equip4<-1/15
+
+ MD[,Poor_Edu:=ifelse(Illiterte==1 | No_knowledge==1,1,0)]
+ a<-MD[,weighted.mean(Poor_Edu,Weight),by=ProvinceCode]
+
+ MD[,Poor_Energy:=ifelse(High_Energy_Share==1 | No_electricity==1 |
+ No_cookefuel==1,1,0)]
+ a<-MD[,weighted.mean(Poor_Energy,Weight),by=ProvinceCode]
+
+ MD[,Poor_Health:=ifelse((Low_Calorie==1 & Low_Protein==1) |
+ No_Insurance==1 | No_pipewater==1,1,0)]
+ a<-MD[,weighted.mean(Poor_Health,Weight),by=ProvinceCode]
+
+ MD[,Poor_House:=ifelse(Small_House==1 | House_High_Share==1 |
+ No_Skeleton==1 | No_bathroom==1,1,0)]
+ a<-MD[,weighted.mean(Poor_House,Weight),by=ProvinceCode]
+
+ MD[,Poor_Equip:=ifelse(No_car==1 &
+ (Equip_low==1 | Tech_low==1),1,0)]
+ a<-MD[,weighted.mean(Poor_Equip,Weight),by=ProvinceCode]
+
+ MD[,Poverty_Score:=W_Edu1*Illiterte+W_Edu2*No_knowledge+
+ W_Energy1*High_Energy_Share+W_Energy2*No_electricity+
+ W_Energy3*No_cookefuel+
+ W_Health1*Low_Calorie+W_Health2*Low_Protein+
+ W_Health3*No_Insurance+W_Health4*No_pipewater+
+ W_House1*Small_House+W_House2*House_High_Share+
+ W_House3*No_Skeleton+W_House4*No_bathroom+
+ W_Equip1*No_ego+W_Equip2*No_car+
+ W_Equip3*Equip_low+W_Equip4*Tech_low]
+
+ z1<-MD[,.(Illiterte=weighted.mean(Illiterte,Weight)
+ ,No_knowledge=weighted.mean(No_knowledge,Weight)
+ ,High_Energy_Share=weighted.mean(High_Energy_Share,Weight)
+ ,No_electricity=weighted.mean(No_electricity,Weight)
+ ,No_cookefuel=weighted.mean(No_cookefuel,Weight)
+ ,Low_Calorie=weighted.mean(Low_Calorie,Weight)
+ ,Low_Protein=weighted.mean(Low_Protein,Weight)
+ ,No_Insurance=weighted.mean(No_Insurance,Weight)
+ ,No_pipewater=weighted.mean(No_pipewater,Weight)
+ ,Small_House=weighted.mean(Small_House,Weight)
+ ,House_High_Share=weighted.mean(House_High_Share,Weight)
+ ,No_Skeleton=weighted.mean(No_Skeleton,Weight)
+ ,No_bathroom=weighted.mean(No_bathroom,Weight)
+ ,No_ego=weighted.mean(No_ego,Weight)
+ ,No_car=weighted.mean(No_car,Weight)
+ ,Equip_low=weighted.mean(Equip_low,Weight)
+ ,Tech_low=weighted.mean(Tech_low,Weight))]
+
+ z2<-MD[,.(Illiterte=weighted.mean(Illiterte,Weight)
+ ,No_knowledge=weighted.mean(No_knowledge,Weight)
+ ,High_Energy_Share=weighted.mean(High_Energy_Share,Weight)
+ ,No_electricity=weighted.mean(No_electricity,Weight)
+ ,No_cookefuel=weighted.mean(No_cookefuel,Weight)
+ ,Low_Calorie=weighted.mean(Low_Calorie,Weight)
+ ,Low_Protein=weighted.mean(Low_Protein,Weight)
+ ,No_Insurance=weighted.mean(No_Insurance,Weight)
+ ,No_pipewater=weighted.mean(No_pipewater,Weight)
+ ,Small_House=weighted.mean(Small_House,Weight)
+ ,House_High_Share=weighted.mean(House_High_Share,Weight)
+ ,No_Skeleton=weighted.mean(No_Skeleton,Weight)
+ ,No_bathroom=weighted.mean(No_bathroom,Weight)
+ ,No_ego=weighted.mean(No_ego,Weight)
+ ,No_car=weighted.mean(No_car,Weight)
+ ,Equip_low=weighted.mean(Equip_low,Weight)
+ ,Tech_low=weighted.mean(Tech_low,Weight)),by=Region]
+
+ z3<-MD[,.(Illiterte=weighted.mean(Illiterte,Weight)
+ ,No_knowledge=weighted.mean(No_knowledge,Weight)
+ ,High_Energy_Share=weighted.mean(High_Energy_Share,Weight)
+ ,No_electricity=weighted.mean(No_electricity,Weight)
+ ,No_cookefuel=weighted.mean(No_cookefuel,Weight)
+ ,Low_Calorie=weighted.mean(Low_Calorie,Weight)
+ ,Low_Protein=weighted.mean(Low_Protein,Weight)
+ ,No_Insurance=weighted.mean(No_Insurance,Weight)
+ ,No_pipewater=weighted.mean(No_pipewater,Weight)
+ ,Small_House=weighted.mean(Small_House,Weight)
+ ,House_High_Share=weighted.mean(House_High_Share,Weight)
+ ,No_Skeleton=weighted.mean(No_Skeleton,Weight)
+ ,No_bathroom=weighted.mean(No_bathroom,Weight)
+ ,No_ego=weighted.mean(No_ego,Weight)
+ ,No_car=weighted.mean(No_car,Weight)
+ ,Equip_low=weighted.mean(Equip_low,Weight)
+ ,Tech_low=weighted.mean(Tech_low,Weight)),by=Decile]
+
+ z4<-MD[,.(Illiterte=weighted.mean(Illiterte,Weight)
+ ,No_knowledge=weighted.mean(No_knowledge,Weight)
+ ,High_Energy_Share=weighted.mean(High_Energy_Share,Weight)
+ ,No_electricity=weighted.mean(No_electricity,Weight)
+ ,No_cookefuel=weighted.mean(No_cookefuel,Weight)
+ ,Low_Calorie=weighted.mean(Low_Calorie,Weight)
+ ,Low_Protein=weighted.mean(Low_Protein,Weight)
+ ,No_Insurance=weighted.mean(No_Insurance,Weight)
+ ,No_pipewater=weighted.mean(No_pipewater,Weight)
+ ,Small_House=weighted.mean(Small_House,Weight)
+ ,House_High_Share=weighted.mean(House_High_Share,Weight)
+ ,No_Skeleton=weighted.mean(No_Skeleton,Weight)
+ ,No_bathroom=weighted.mean(No_bathroom,Weight)
+ ,No_ego=weighted.mean(No_ego,Weight)
+ ,No_car=weighted.mean(No_car,Weight)
+ ,Equip_low=weighted.mean(Equip_low,Weight)
+ ,Tech_low=weighted.mean(Tech_low,Weight)),by=ProvinceCode]
+
+
+ MD[,FinalPoor:=ifelse(Poverty_Score>0.2,1,0)]
+ MD[,Poverty_Score_Revised:=ifelse(Poverty_Score>0.2,Poverty_Score,0)]
+ B1<-MD[,.(H=weighted.mean(FinalPoor,Weight))]
+ B2<-MD[,.(H=weighted.mean(FinalPoor,Weight)),by=Region]
+ B3<-MD[,.(H=weighted.mean(FinalPoor,Weight)),by=ProvinceCode]
+ MD[,weighted.mean(FinalPoor,Weight),by=Decile]
+
+ cat(MD[,weighted.mean(FinalPoor,Weight)],"\n")
+
+ B1[,Year:=year]
+ Y1 <- rbind(Y1,B1)
+
+ B2[,Year:=year]
+ Y2 <- rbind(Y2,B2)
+
+ B3[,Year:=year]
+ Y3 <- rbind(Y3,B3)
+ #write.csv(Y3,file = "Y3.csv")
+
+ C1<-MD[,.(A=sum(Poverty_Score_Revised)/sum(FinalPoor))]
+ C2<-MD[,.(A=sum(Poverty_Score_Revised)/sum(FinalPoor)),by=Region]
+ C3<-MD[,.(A=sum(Poverty_Score_Revised)/sum(FinalPoor)),by=ProvinceCode]
+
+ C1[,Year:=year]
+ Z1 <- rbind(Z1,C1)
+
+ C2[,Year:=year]
+ Z2 <- rbind(Z2,C2)
+
+ C3[,Year:=year]
+ Z3 <- rbind(Z3,C3)
+
+ D1<-MD[,.(MPI=weighted.mean(FinalPoor,Weight)*(sum(Poverty_Score_Revised)/sum(FinalPoor)))]
+ D2<-MD[,.(MPI=weighted.mean(FinalPoor,Weight)*(sum(Poverty_Score_Revised)/sum(FinalPoor))),by=Region]
+ D3<-MD[,.(MPI=weighted.mean(FinalPoor,Weight)*(sum(Poverty_Score_Revised)/sum(FinalPoor))),by=ProvinceCode]
+
+ D1[,Year:=year]
+ Q1 <- rbind(Q1,D1)
+
+ D2[,Year:=year]
+ Q2 <- rbind(Q2,D2)
+
+ D3[,Year:=year]
+ Q3 <- rbind(Q3,D3)
+
+}
+
+
+
+load(file=paste0(Settings$HEISProcessedPath,"Y",year,"P1.rda"))
+D1<-P1[,.(HHID,Age,Literate,Student,Sex)]
+D1<-merge(D1,MD[,.(HHID,ProvinceCode,Decile,Weight,Region)],all.x = TRUE)
+D1[Age>6,weighted.mean(Literate=="FALSE",Weight,na.rm = TRUE),by="Region"]
+x1<-D1[Age>6,weighted.mean(Literate=="FALSE",Weight,na.rm = TRUE),by="ProvinceCode"]
+x2<-D1[Age>7,weighted.mean(Literate=="FALSE",Weight,na.rm = TRUE),by="Decile"]
+
+a1<-MD[,weighted.mean(HLiterate==FALSE,Weight),by="ProvinceCode"][order(ProvinceCode)]
+a2<-MD[,weighted.mean(Knowledge==0,Weight,na.rm = TRUE),by="ProvinceCode"][order(ProvinceCode)]
+
+
+X1<-X1[Year==90 | Year==91 | Year==92 | Year==93 | Year==94 |
+ Year==95 | Year==96 | Year==97 | Year==98]
+X2<-X2[Year==90 | Year==91 | Year==92 | Year==93 | Year==94 |
+ Year==95 | Year==96 | Year==97 | Year==98]
+X3<-X3[Year==90 | Year==91 | Year==92 | Year==93 | Year==94 |
+ Year==95 | Year==96 | Year==97 | Year==98]
+
+
+png(file="C:/IRHEIS/R/1.png",width=1200, height=600)
+ggplot(X1, aes(fill=factor(HLiterate), y=HLiterate, x=factor(Year))) +
+ geom_bar(position="dodge", stat="identity") + theme_bw() +
+ theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1)) + theme_grey(base_size = 22)
+dev.off()
+
+png(file="C:/IRHEIS/R/2.png",width=1200, height=600)
+ggplot(X2, aes(fill=factor(Region), y=HLiterate, x=factor(Year))) +
+ geom_bar(position="dodge", stat="identity") + theme_bw() +
+ theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1)) + theme_grey(base_size = 25)
+#+ geom_text(aes(label=HLiterate), position=position_dodge(width=0.9), vjust=-0.25)
+dev.off()
+
+png(file="C:/IRHEIS/R/3.png",width=1200, height=600)
+ggplot(X3)+
+geom_line(mapping = aes(x=Year,y=HLiterate,col=factor(Decile),
+linetype=factor(Decile)))+ theme_grey(base_size = 25)
+dev.off()
+
+###############################################################################
+png(file="C:/IRHEIS/R/4.png",width=1200, height=600)
+ggplot(X1, aes(fill=factor(Knowledge), y=Knowledge, x=factor(Year))) +
+ geom_bar(position="dodge", stat="identity") + theme_bw() +
+ theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1)) + theme_grey(base_size = 25)
+dev.off()
+
+png(file="C:/IRHEIS/R/5.png",width=1200, height=600)
+ggplot(X2, aes(fill=factor(Region), y=Knowledge, x=factor(Year))) +
+ geom_bar(position="dodge", stat="identity") + theme_bw() +
+ theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1)) + theme_grey(base_size = 25)
+#+ geom_text(aes(label=HLiterate), position=position_dodge(width=0.9), vjust=-0.25)
+dev.off()
+
+png(file="C:/IRHEIS/R/6.png",width=1200, height=600)
+ggplot(X3)+
+ geom_line(mapping = aes(x=Year,y=Knowledge,col=factor(Decile),
+ linetype=factor(Decile)))+ theme_grey(base_size = 25)
+dev.off()
+###############################################################################
+###############################################################################
+###############################################################################
+png(file="C:/IRHEIS/R/7.png",width=1200, height=600)
+ggplot(X1, aes(fill=factor(Energy_Share), y=Energy_Share, x=factor(Year))) +
+ geom_bar(position="dodge", stat="identity") + theme_bw() +
+ theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1)) + theme_grey(base_size = 25)
+dev.off()
+
+png(file="C:/IRHEIS/R/8.png",width=1200, height=600)
+ggplot(X2, aes(fill=factor(Region), y=Energy_Share, x=factor(Year))) +
+ geom_bar(position="dodge", stat="identity") + theme_bw() +
+ theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1)) + theme_grey(base_size = 25)
+#+ geom_text(aes(label=HLiterate), position=position_dodge(width=0.9), vjust=-0.25)
+dev.off()
+
+png(file="C:/IRHEIS/R/9.png",width=1200, height=600)
+ggplot(X3)+
+ geom_line(mapping = aes(x=Year,y=Energy_Share,col=factor(Decile),
+ linetype=factor(Decile)))+ theme_grey(base_size = 25)
+dev.off()
+###############################################################################
+png(file="C:/IRHEIS/R/10.png",width=1200, height=600)
+ggplot(X1, aes(fill=factor(electricity), y=electricity, x=factor(Year))) +
+ geom_bar(position="dodge", stat="identity") + theme_bw() +
+ theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1)) + theme_grey(base_size = 25)
+dev.off()
+
+png(file="C:/IRHEIS/R/11.png",width=1200, height=600)
+ggplot(X2, aes(fill=factor(Region), y=electricity, x=factor(Year))) +
+ geom_bar(position="dodge", stat="identity") + theme_bw() +
+ theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1)) + theme_grey(base_size = 25)
+#+ geom_text(aes(label=HLiterate), position=position_dodge(width=0.9), vjust=-0.25)
+dev.off()
+
+png(file="C:/IRHEIS/R/12.png",width=1200, height=600)
+ggplot(X3)+
+ geom_line(mapping = aes(x=Year,y=electricity,col=factor(Decile),
+ linetype=factor(Decile)))+ theme_grey(base_size = 25)
+dev.off()
+###############################################################################
+png(file="C:/IRHEIS/R/13.png",width=1200, height=600)
+ggplot(X1, aes(fill=factor(cookfuel), y=cookfuel, x=factor(Year))) +
+ geom_bar(position="dodge", stat="identity") + theme_bw() +
+ theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1)) + theme_grey(base_size = 25)
+dev.off()
+
+png(file="C:/IRHEIS/R/14.png",width=1200, height=600)
+ggplot(X2, aes(fill=factor(Region), y=cookfuel, x=factor(Year))) +
+ geom_bar(position="dodge", stat="identity") + theme_bw() +
+ theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1)) + theme_grey(base_size = 25)
+#+ geom_text(aes(label=HLiterate), position=position_dodge(width=0.9), vjust=-0.25)
+dev.off()
+
+png(file="C:/IRHEIS/R/15.png",width=1200, height=600)
+ggplot(X3)+
+ geom_line(mapping = aes(x=Year,y=cookfuel,col=factor(Decile),
+ linetype=factor(Decile)))+ theme_grey(base_size = 25)
+dev.off()
+###############################################################################
+###############################################################################
+###############################################################################
+png(file="C:/IRHEIS/R/16.png",width=1200, height=600)
+ggplot(X1, aes(fill=factor(Low_Calorie), y=Low_Calorie, x=factor(Year))) +
+ geom_bar(position="dodge", stat="identity") + theme_bw() +
+ theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1)) + theme_grey(base_size = 25)
+dev.off()
+
+png(file="C:/IRHEIS/R/17.png",width=1200, height=600)
+ggplot(X2, aes(fill=factor(Region), y=Low_Calorie, x=factor(Year))) +
+ geom_bar(position="dodge", stat="identity") + theme_bw() +
+ theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1)) + theme_grey(base_size = 25)
+#+ geom_text(aes(label=HLiterate), position=position_dodge(width=0.9), vjust=-0.25)
+dev.off()
+
+png(file="C:/IRHEIS/R/18.png",width=1200, height=600)
+ggplot(X3)+
+ geom_line(mapping = aes(x=Year,y=Low_Calorie,col=factor(Decile),
+ linetype=factor(Decile)))+ theme_grey(base_size = 25)
+dev.off()
+###############################################################################
+png(file="C:/IRHEIS/R/19.png",width=1200, height=600)
+ggplot(X1, aes(fill=factor(Low_Protein), y=Low_Protein, x=factor(Year))) +
+ geom_bar(position="dodge", stat="identity") + theme_bw() +
+ theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1)) + theme_grey(base_size = 25)
+dev.off()
+
+png(file="C:/IRHEIS/R/20.png",width=1200, height=600)
+ggplot(X2, aes(fill=factor(Region), y=Low_Protein, x=factor(Year))) +
+ geom_bar(position="dodge", stat="identity") + theme_bw() +
+ theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1)) + theme_grey(base_size = 25)
+#+ geom_text(aes(label=HLiterate), position=position_dodge(width=0.9), vjust=-0.25)
+dev.off()
+
+png(file="C:/IRHEIS/R/21.png",width=1200, height=600)
+ggplot(X3)+
+ geom_line(mapping = aes(x=Year,y=Low_Protein,col=factor(Decile),
+ linetype=factor(Decile)))+ theme_grey(base_size = 25)
+dev.off()
+###############################################################################
+png(file="C:/IRHEIS/R/22.png",width=1200, height=600)
+ggplot(X1, aes(fill=factor(No_Insurance), y=No_Insurance, x=factor(Year))) +
+ geom_bar(position="dodge", stat="identity") + theme_bw() +
+ theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1)) + theme_grey(base_size = 25)
+dev.off()
+
+png(file="C:/IRHEIS/R/23.png",width=1200, height=600)
+ggplot(X2, aes(fill=factor(Region), y=No_Insurance, x=factor(Year))) +
+ geom_bar(position="dodge", stat="identity") + theme_bw() +
+ theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1)) + theme_grey(base_size = 25)
+#+ geom_text(aes(label=HLiterate), position=position_dodge(width=0.9), vjust=-0.25)
+dev.off()
+
+png(file="C:/IRHEIS/R/24.png",width=1200, height=600)
+ggplot(X3)+
+ geom_line(mapping = aes(x=Year,y=No_Insurance,col=factor(Decile),
+ linetype=factor(Decile)))+ theme_grey(base_size = 25)
+dev.off()
+###############################################################################
+png(file="C:/IRHEIS/R/25.png",width=1200, height=600)
+ggplot(X1, aes(fill=factor(pipewater), y=pipewater, x=factor(Year))) +
+ geom_bar(position="dodge", stat="identity") + theme_bw() +
+ theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1)) + theme_grey(base_size = 25)
+dev.off()
+
+png(file="C:/IRHEIS/R/26.png",width=1200, height=600)
+ggplot(X2, aes(fill=factor(Region), y=pipewater, x=factor(Year))) +
+ geom_bar(position="dodge", stat="identity") + theme_bw() +
+ theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1)) + theme_grey(base_size = 25)
+#+ geom_text(aes(label=HLiterate), position=position_dodge(width=0.9), vjust=-0.25)
+dev.off()
+
+png(file="C:/IRHEIS/R/27.png",width=1200, height=600)
+ggplot(X3)+
+ geom_line(mapping = aes(x=Year,y=pipewater,col=factor(Decile),
+ linetype=factor(Decile)))+ theme_grey(base_size = 25)
+dev.off()
+###############################################################################
+###############################################################################
+###############################################################################
+png(file="C:/IRHEIS/R/28.png",width=1200, height=600)
+ggplot(X1, aes(fill=factor(Area_Per), y=Area_Per, x=factor(Year))) +
+ geom_bar(position="dodge", stat="identity") + theme_bw() +
+ theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1)) + theme_grey(base_size = 25)
+dev.off()
+
+png(file="C:/IRHEIS/R/29.png",width=1200, height=600)
+ggplot(X2, aes(fill=factor(Region), y=Area_Per, x=factor(Year))) +
+ geom_bar(position="dodge", stat="identity") + theme_bw() +
+ theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1)) + theme_grey(base_size = 25)
+#+ geom_text(aes(label=HLiterate), position=position_dodge(width=0.9), vjust=-0.25)
+dev.off()
+
+png(file="C:/IRHEIS/R/30.png",width=1200, height=600)
+ggplot(X3)+
+ geom_line(mapping = aes(x=Year,y=Area_Per,col=factor(Decile),
+ linetype=factor(Decile)))+ theme_grey(base_size = 25)
+dev.off()
+###############################################################################
+png(file="C:/IRHEIS/R/31.png",width=1200, height=600)
+ggplot(X1, aes(fill=factor(skeleton), y=skeleton, x=factor(Year))) +
+ geom_bar(position="dodge", stat="identity") + theme_bw() +
+ theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1)) + theme_grey(base_size = 25)
+dev.off()
+
+png(file="C:/IRHEIS/R/32.png",width=1200, height=600)
+ggplot(X2, aes(fill=factor(Region), y=skeleton, x=factor(Year))) +
+ geom_bar(position="dodge", stat="identity") + theme_bw() +
+ theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1)) + theme_grey(base_size = 25)
+#+ geom_text(aes(label=HLiterate), position=position_dodge(width=0.9), vjust=-0.25)
+dev.off()
+
+png(file="C:/IRHEIS/R/33.png",width=1200, height=600)
+ggplot(X3)+
+ geom_line(mapping = aes(x=Year,y=skeleton,col=factor(Decile),
+ linetype=factor(Decile)))+ theme_grey(base_size = 25)
+dev.off()
+###############################################################################
+png(file="C:/IRHEIS/R/34.png",width=1200, height=600)
+ggplot(X1, aes(fill=factor(House_High_Share), y=House_High_Share, x=factor(Year))) +
+ geom_bar(position="dodge", stat="identity") + theme_bw() +
+ theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1)) + theme_grey(base_size = 25)
+dev.off()
+
+png(file="C:/IRHEIS/R/35.png",width=1200, height=600)
+ggplot(X2, aes(fill=factor(Region), y=House_High_Share, x=factor(Year))) +
+ geom_bar(position="dodge", stat="identity") + theme_bw() +
+ theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1)) + theme_grey(base_size = 25)
+#+ geom_text(aes(label=HLiterate), position=position_dodge(width=0.9), vjust=-0.25)
+dev.off()
+
+png(file="C:/IRHEIS/R/36.png",width=1200, height=600)
+ggplot(X3)+
+ geom_line(mapping = aes(x=Year,y=House_High_Share,col=factor(Decile),
+ linetype=factor(Decile)))+ theme_grey(base_size = 25)
+dev.off()
+###############################################################################
+###############################################################################
+###############################################################################
+png(file="C:/IRHEIS/R/37.png",width=1200, height=600)
+ggplot(X1, aes(fill=factor(bathroom), y=bathroom, x=factor(Year))) +
+ geom_bar(position="dodge", stat="identity") + theme_bw() +
+ theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1)) + theme_grey(base_size = 25)
+dev.off()
+
+png(file="C:/IRHEIS/R/38.png",width=1200, height=600)
+ggplot(X2, aes(fill=factor(Region), y=bathroom, x=factor(Year))) +
+ geom_bar(position="dodge", stat="identity") + theme_bw() +
+ theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1)) + theme_grey(base_size = 25)
+#+ geom_text(aes(label=HLiterate), position=position_dodge(width=0.9), vjust=-0.25)
+dev.off()
+
+png(file="C:/IRHEIS/R/39.png",width=1200, height=600)
+ggplot(X3)+
+ geom_line(mapping = aes(x=Year,y=bathroom,col=factor(Decile),
+ linetype=factor(Decile)))+ theme_grey(base_size = 25)
+dev.off()
+###############################################################################
+png(file="C:/IRHEIS/R/40.png",width=1200, height=600)
+ggplot(X1, aes(fill=factor(bathroom), y=ego, x=factor(Year))) +
+ geom_bar(position="dodge", stat="identity") + theme_bw() +
+ theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1)) + theme_grey(base_size = 25)
+dev.off()
+
+png(file="C:/IRHEIS/R/41.png",width=1200, height=600)
+ggplot(X2, aes(fill=factor(Region), y=ego, x=factor(Year))) +
+ geom_bar(position="dodge", stat="identity") + theme_bw() +
+ theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1)) + theme_grey(base_size = 25)
+#+ geom_text(aes(label=HLiterate), position=position_dodge(width=0.9), vjust=-0.25)
+dev.off()
+
+png(file="C:/IRHEIS/R/42.png",width=1200, height=600)
+ggplot(X3)+
+ geom_line(mapping = aes(x=Year,y=ego,col=factor(Decile),
+ linetype=factor(Decile)))+ theme_grey(base_size = 25)
+dev.off()
+###############################################################################
+png(file="C:/IRHEIS/R/43.png",width=1200, height=600)
+ggplot(X1, aes(fill=factor(car), y=car, x=factor(Year))) +
+ geom_bar(position="dodge", stat="identity") + theme_bw() +
+ theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1)) + theme_grey(base_size = 25)
+dev.off()
+
+png(file="C:/IRHEIS/R/44.png",width=1200, height=600)
+ggplot(X2, aes(fill=factor(Region), y=car, x=factor(Year))) +
+ geom_bar(position="dodge", stat="identity") + theme_bw() +
+ theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1)) + theme_grey(base_size = 25)
+#+ geom_text(aes(label=HLiterate), position=position_dodge(width=0.9), vjust=-0.25)
+dev.off()
+
+png(file="C:/IRHEIS/R/45.png",width=1200, height=600)
+ggplot(X3)+
+ geom_line(mapping = aes(x=Year,y=car,col=factor(Decile),
+ linetype=factor(Decile)))+ theme_grey(base_size = 25)
+dev.off()
+###############################################################################
+png(file="C:/IRHEIS/R/46.png",width=1200, height=600)
+ggplot(X1, aes(fill=factor(Tech_low), y=Tech_low, x=factor(Year))) +
+ geom_bar(position="dodge", stat="identity") + theme_bw() +
+ theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1)) + theme_grey(base_size = 25)
+dev.off()
+
+png(file="C:/IRHEIS/R/47.png",width=1200, height=600)
+ggplot(X2, aes(fill=factor(Region), y=Tech_low, x=factor(Year))) +
+ geom_bar(position="dodge", stat="identity") + theme_bw() +
+ theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1)) + theme_grey(base_size = 25)
+#+ geom_text(aes(label=HLiterate), position=position_dodge(width=0.9), vjust=-0.25)
+dev.off()
+
+png(file="C:/IRHEIS/R/48.png",width=1200, height=600)
+ggplot(X3)+
+ geom_line(mapping = aes(x=Year,y=Tech_low,col=factor(Decile),
+ linetype=factor(Decile)))+ theme_grey(base_size = 25)
+dev.off()
+###############################################################################
+png(file="C:/IRHEIS/R/49.png",width=1200, height=600)
+ggplot(X1, aes(fill=factor(Equip_low), y=Equip_low, x=factor(Year))) +
+ geom_bar(position="dodge", stat="identity") + theme_bw() +
+ theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1)) + theme_grey(base_size = 25)
+dev.off()
+
+png(file="C:/IRHEIS/R/50.png",width=1200, height=600)
+ggplot(X2, aes(fill=factor(Region), y=Equip_low, x=factor(Year))) +
+ geom_bar(position="dodge", stat="identity") + theme_bw() +
+ theme(axis.text.x = element_text(angle=45, vjust=1, hjust=1)) + theme_grey(base_size = 25)
+#+ geom_text(aes(label=HLiterate), position=position_dodge(width=0.9), vjust=-0.25)
+dev.off()
+
+png(file="C:/IRHEIS/R/51.png",width=1200, height=600)
+ggplot(X3)+
+ geom_line(mapping = aes(x=Year,y=Equip_low,col=factor(Decile),
+ linetype=factor(Decile)))+ theme_grey(base_size = 25)
+dev.off()
+
+
+
+
+#write.csv(X1,file="X1.csv")
+#write.csv(X2,file="X2.csv")
+#write.csv(X3,file="X3.csv")
+#write.csv(X4,file="X4.csv")
+write.csv(Province,file="Province.csv")
+
+endtime <- proc.time()
+
+cat("\n\n============================\nIt took ")
+cat((endtime-starttime)[3])
\ No newline at end of file
diff --git a/R/Archive/Reweighting.R b/R/Archive/Reweighting.R
new file mode 100644
index 00000000..e3bbf893
--- /dev/null
+++ b/R/Archive/Reweighting.R
@@ -0,0 +1,83 @@
+#Reweighting
+Pop_U90<-54524.533
+Pop_R90<-20625.136
+Pop_U91<-55419
+Pop_R91<-20656
+Pop_U92<-56328
+Pop_R92<-20687
+Pop_U93<-57253
+Pop_R93<-20718
+Pop_U94<-58192
+Pop_R94<-20748
+Pop_U95<-59147
+Pop_R95<-20779
+Pop_U96<-60281
+Pop_R96<-20789
+Pop_U97<-61329
+Pop_R97<-20754
+Pop_U98<-62367
+Pop_R98<-20708
+
+
+
+
+if (year==90){
+ Weight_U<-MD[Region=="Urban",sum(Weight*Size)/1000]
+ Weight_R<-MD[Region=="Rural",sum(Weight*Size)/1000]
+ MD[,Weight:=ifelse(Region=="Urban",Weight*Pop_U90/Weight_U,Weight*Pop_R90/Weight_R)]
+}
+
+if (year==91){
+ Weight_U<-MD[Region=="Urban",sum(Weight*Size)/1000]
+ Weight_R<-MD[Region=="Rural",sum(Weight*Size)/1000]
+ MD[,Weight:=ifelse(Region=="Urban",Weight*Pop_U91/Weight_U,Weight*Pop_R91/Weight_R)]
+}
+
+if (year==92){
+ Weight_U<-MD[Region=="Urban",sum(Weight*Size)/1000]
+ Weight_R<-MD[Region=="Rural",sum(Weight*Size)/1000]
+ MD[,Weight:=ifelse(Region=="Urban",Weight*Pop_U92/Weight_U,Weight*Pop_R92/Weight_R)]
+}
+
+if (year==93){
+ Weight_U<-MD[Region=="Urban",sum(Weight*Size)/1000]
+ Weight_R<-MD[Region=="Rural",sum(Weight*Size)/1000]
+ MD[,Weight:=ifelse(Region=="Urban",Weight*Pop_U93/Weight_U,Weight*Pop_R93/Weight_R)]
+}
+
+if (year==94){
+ Weight_U<-MD[Region=="Urban",sum(Weight*Size)/1000]
+ Weight_R<-MD[Region=="Rural",sum(Weight*Size)/1000]
+ MD[,Weight:=ifelse(Region=="Urban",Weight*Pop_U94/Weight_U,Weight*Pop_R94/Weight_R)]
+}
+
+if (year==95){
+ Weight_U<-MD[Region=="Urban",sum(Weight*Size)/1000]
+ Weight_R<-MD[Region=="Rural",sum(Weight*Size)/1000]
+ MD[,Weight:=ifelse(Region=="Urban",Weight*Pop_U95/Weight_U,Weight*Pop_R95/Weight_R)]
+}
+
+if (year==96){
+ Weight_U<-MD[Region=="Urban",sum(Weight*Size)/1000]
+ Weight_R<-MD[Region=="Rural",sum(Weight*Size)/1000]
+ MD[,Weight:=ifelse(Region=="Urban",Weight*Pop_U96/Weight_U,Weight*Pop_R96/Weight_R)]
+}
+
+if (year==97){
+ Weight_U<-MD[Region=="Urban",sum(Weight*Size)/1000]
+ Weight_R<-MD[Region=="Rural",sum(Weight*Size)/1000]
+ MD[,Weight:=ifelse(Region=="Urban",Weight*Pop_U97/Weight_U,Weight*Pop_R97/Weight_R)]
+}
+
+if (year==98){
+ Weight_U<-MD[Region=="Urban",sum(Weight*Size)/1000]
+ Weight_R<-MD[Region=="Rural",sum(Weight*Size)/1000]
+ MD[,Weight:=ifelse(Region=="Urban",Weight*Pop_U98/Weight_U,Weight*Pop_R98/Weight_R)]
+}
+
+Pop<-MD[,sum(Weight*Size),by=c("CountyName")]
+Geoo <- as.data.table(read_excel("C:/HEIS/DataResults/Geo.xlsx",
+ sheet = "Sheet1"))
+
+Pop<-merge(Pop,Geoo[,.(CountyName,Province,County)],by=c("CountyName"))
+write_xlsx(Pop,path=paste0(Settings$HEISResultsPath,"/Pop.xlsx"),col_names=T)
diff --git a/R/Archive/Test-Tehran-Students-Count.R b/R/Archive/Test-Tehran-Students-Count.R
new file mode 100644
index 00000000..bf75bd7f
--- /dev/null
+++ b/R/Archive/Test-Tehran-Students-Count.R
@@ -0,0 +1,27 @@
+rm(list=ls())
+
+library(data.table)
+
+load("D:/HEIS/DataProcessed/Y96HHBase.rda")
+load("D:/HEIS/DataProcessed/Y96HHI.rda")
+load("D:/GitHub/IRHEIS/Data/SamplingWeights/HHWeights96.rda")
+
+DT <- merge(HHBase[ProvinceCode==23],HHI,by="HHID")
+DT <- merge(DT,HHWeights)
+
+names(DT)
+
+DT[,sum(NElementary*Weight)]
+DT[,sum(NMiddle*Weight)]
+DT[,sum((NHigh+NPre)*Weight)]
+
+DT[,sum(Weight)]
+DT[,sum(Size*Weight)]
+
+
+DT[CountyCode==2301 & Region=="Urban", sum(NElementary*Weight)]
+DT[CountyCode==2301 & Region=="Urban", sum(NMiddle*Weight)]
+DT[CountyCode==2301 & Region=="Urban", sum((NHigh+NPre)*Weight)]
+
+DT[CountyCode==2301 & Region=="Urban", sum(Weight)]
+DT[CountyCode==2301 & Region=="Urban", sum(Size*Weight)]
\ No newline at end of file
diff --git a/R/Archive/Yarane report-Refah.R b/R/Archive/Yarane report-Refah.R
new file mode 100644
index 00000000..5e1167ef
--- /dev/null
+++ b/R/Archive/Yarane report-Refah.R
@@ -0,0 +1,129 @@
+#Yarane report-Refah
+#
+# Copyright © 2018:Majid Einian & Arin Shahbazian
+# Licence: GPL-3
+
+rm(list=ls())
+
+starttime <- proc.time()
+cat("\n\n================ Poverty Line =====================================\n")
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+library(readxl)
+library(data.table)
+library(ggplot2)
+library(stats)
+library(spatstat)
+library(tidyverse)
+
+year<-98
+
+load(file=paste0(Settings$HEISProcessedPath,"Y",year,"InitialPoor.rda"))
+MD[,Decile:=NULL]
+MD[,Percentile:=NULL]
+load(file = paste0(Settings$HEISProcessedPath,"Y",year,"Deciles.rda"))
+load(file = paste0(Settings$HEISProcessedPath,"Y",year,"AidWage.rda"))
+
+
+MD<-merge(MD,Deciles,all.x = TRUE)
+MD[,Decile:=Decile1]
+MD<-merge(MD,AidWageData,all.x = TRUE)
+for (col in c("aid")) MD[is.na(get(col)), (col) := 0]
+MD[,PositiveAid:=ifelse(aid>0,1,0)]
+MD[,weighted.mean(PositiveAid,Weight*Size),by=.(Region,Decile)][order(Region,Decile)]
+MD[,weighted.mean(PositiveAid,Weight*Size),by=.(Decile)][order(Decile)]
+
+
+load(file = paste0(Settings$HEISProcessedPath,"Y",year,"Subsidy.rda"))
+MD<-merge(MD,SubsidyWageData,all.x = TRUE,by="HHID")
+for (col in c("Subsidy")) MD[is.na(get(col)), (col) := 0]
+MD[,PositiveSubsidy:=ifelse(Subsidy>0,1,0)]
+MD[,weighted.mean(PositiveSubsidy,Weight*Size),by=.(Region,Decile)][order(Region,Decile)]
+MD[,weighted.mean(PositiveSubsidy,Weight*Size),by=.(Decile)][order(Decile)]
+
+
+#load(file = paste0(Settings$HEISProcessedPath,"Y",year,"UTSubsidyW.rda"))
+#load(file = paste0(Settings$HEISProcessedPath,"Y",year,"RTSubsidyW.rda"))
+
+#TSubsidy<-rbind(UTSubsidyW,RTSubsidyW)
+#TSubsidy<-TSubsidy[,HHID:=Address]
+#MD<-merge(MD,TSubsidy[,.(HHID,check1)],all.x = TRUE,by="HHID")
+#MD[,Subsidy3:=ifelse(check1>800000,1,0)]
+#y<-MD[Subsidy3==1,.(HHID,Decile,Region)]
+#MD[,weighted.mean(Subsidy3,Weight*Size,na.rm = TRUE),by=.(Region,Decile)][order(Region,Decile)]
+#MD[,weighted.mean(Subsidy3,Weight*Size,na.rm = TRUE),by=.(Decile)][order(Decile)]
+
+MD[,TotalAid:=(Subsidy+aid)/12]
+MD_Ok<- MD[TotalAid>0]
+MD_Ok[,ratio:=TotalAid/Total_Exp_Month]
+MD_Ok[,.(.N,weighted.mean(ratio,Weight*Size,na.rm = TRUE)),by=.(Region,Decile)][order(Region,Decile)]
+MD_Ok[,.(weighted.mean(ratio,Weight*Size,na.rm = TRUE)),by=.(Decile)][order(Decile)]
+MD_Ok[,.(.N,weighted.mean(Total_Exp_Month,Weight*Size,na.rm = TRUE)),by=.(Region,Decile)][order(Region,Decile)]
+MD_Ok[,.(weighted.mean(Total_Exp_Month,Weight*Size,na.rm = TRUE)),by=.(Decile)][order(Decile)]
+MD_Ok[,.(.N,weighted.mean(Total_Exp_Month/EqSizeOECD,Weight*Size,na.rm = TRUE)),by=.(Region,Decile)][order(Region,Decile)]
+MD_Ok[,.(weighted.mean(Total_Exp_Month/EqSizeOECD,Weight*Size,na.rm = TRUE)),by=.(Decile)][order(Decile)]
+
+#load(file = paste0(Settings$HEISProcessedPath,"Y",year,"BreadExp.rda"))
+#load(file = paste0(Settings$HEISProcessedPath,"Y",year,"BreadCon.rda"))
+#MD<-merge(MD,BreadData,by="HHID")
+#MD<-merge(MD,BreadConsumption,by="HHID")
+
+MD[is.na(MD)] <- 0
+
+#MD[,weighted.mean(G01114+G01115,Weight),by=.(Region,Decile)][order(Region,Decile)]
+#MD[,weighted.mean(G01114+G01115,Weight),by=.(Decile)][order(Decile)]
+
+#MD[,weighted.mean(Size,Weight),by=.(Decile)][order(Decile)]
+#MD[,weighted.mean(Size,Weight),by=.(Region,Decile)][order(Region,Decile)]
+
+#MD[,weighted.mean(BreadGrams,Weight),by=.(Region,Decile)][order(Region,Decile)]
+#MD[,weighted.mean(BreadGrams,Weight),by=.(Decile)][order(Decile)]
+
+#load(file = paste0(Settings$HEISProcessedPath,"Y",year,"DrugsExp.rda"))
+#MD<-merge(MD,DrugsExp,all.x = TRUE)
+#MD[is.na(MD)] <- 0
+
+#MD[,weighted.mean(DrugsExp,Weight),by=.(Region,Decile)][order(Region,Decile)]
+#MD[,weighted.mean(DrugsExp,Weight),by=.(Decile)][order(Decile)]
+
+load(file = paste0(Settings$HEISProcessedPath,"Y",year,"TotalFoodExp.rda"))
+TotalFoodExp<-merge(TotalFoodExp,MD[,.(HHID,Decile)])
+
+TotalFoodExp[,weighted.mean(`011211`+`011212`+`011213`+
+ `011214`,Weight),by=.(Decile)][order(Decile)]
+
+TotalFoodExp[,weighted.mean(`011117`+`011118`,Weight),by=.(Decile)][order(Decile)]
+
+TotalFoodExp[,weighted.mean(`011231`+`011232`,Weight),by=.(Decile)][order(Decile)]
+
+TotalFoodExp[,weighted.mean(`011411`+`011412`+`011413`+`011414`+
+ `011421`+`011422`+`011423`+`011424`+
+ `011425`+`011426`+`011427`+`011428`+
+ `011429`+`011431`+`011432`+`011433`,Weight),by=.(Decile)][order(Decile)]
+
+TotalFoodExp[,weighted.mean(`011441`+`011442`+`011443`,Weight),by=.(Decile)][order(Decile)]
+
+TotalFoodExp[,weighted.mean(`011531`+`011532`+`011533`,Weight),by=.(Decile)][order(Decile)]
+
+TotalFoodExp[,weighted.mean(`011812`,Weight),by=.(Decile)][order(Decile)]
+
+
+load(file = paste0(Settings$HEISProcessedPath,"Y",year,"TotalFoodCon.rda"))
+MD<-merge(MD,TotalFoodCon,by="HHID")
+MD<-MD[as.numeric(Decile)>=1 & as.numeric(Decile)<=10]
+A<-MD[,weighted.mean((Rice_Khareji1Gram+Rice_Khareji2Gram)/EqSizeCalory,Weight),by=Decile][order(Decile)]
+A<-MD[,weighted.mean(Oil_NabatiGram/EqSizeCalory,Weight),by=Decile][order(Decile)]
+A<-MD[,weighted.mean(PoultryMeat_MGram/EqSizeCalory,Weight),by=Decile][order(Decile)]
+A<-MD[,weighted.mean(CowMeatGram/EqSizeCalory,Weight),by=Decile][order(Decile)]
+A<-MD[,weighted.mean(SheepMeatGram/EqSizeCalory,Weight),by=Decile][order(Decile)]
+A<-MD[,weighted.mean((Egg_MashinGram+Egg_NonMashinGram)/EqSizeCalory,Weight),by=Decile][order(Decile)]
+A<-MD[,weighted.mean((BreadGrams)/EqSizeCalory,Weight),by=Decile][order(Decile)]
+A<-MD[,weighted.mean((GrainGrams)/EqSizeCalory,Weight),by=Decile][order(Decile)]
+A<-MD[,weighted.mean((MilkGrams+MilkproductsGrams)/EqSizeCalory,Weight),by=Decile][order(Decile)]
+A<-MD[,weighted.mean((TreeFruitsGrams+JaliziFruitsGrams)/EqSizeCalory,Weight),by=Decile][order(Decile)]
+
+MD[as.numeric(Decile)<4,weighted.mean(Total_Exp_Month_Per,Weight)]
+MD[as.numeric(Decile)>7,weighted.mean(Total_Exp_Month_Per,Weight)]
+
+
diff --git a/R/Archive/bime gheyredarmani.R b/R/Archive/bime gheyredarmani.R
new file mode 100644
index 00000000..42486f6d
--- /dev/null
+++ b/R/Archive/bime gheyredarmani.R
@@ -0,0 +1,82 @@
+# Step 7,8,9 and other
+#
+# Copyright © 2018: Arin Shahbazian
+# Licence: GPL-3
+
+rm(list=ls())
+
+starttime <- proc.time()
+cat("\n\n================bime =====================================\n")
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+library(readxl)
+library(data.table)
+library(ggplot2)
+library(stats)
+library(spatstat)
+
+X1 <- data.table(Year = numeric(0),share = integer(0),Decile = integer(0))
+X2 <- data.table(Year = numeric(0),share = integer(0),Decile = integer(0),
+ Region =NA_character_ )
+X3 <- data.table(Year = numeric(0),share = integer(0),Decile = integer(0))
+X4 <- data.table(Year = numeric(0),share = integer(0),Decile = integer(0),
+ Region =NA_character_ )
+
+year<-98
+for(year in (Settings$startyear:Settings$endyear)){
+ cat(paste0("\n------------------------------\nYear:",year,"\n"))
+
+load(file=paste0(Settings$HEISProcessedPath,"Y",year,"FINALPOORS.rda"))
+
+load(file=paste0(Settings$HEISProcessedPath,"Y",year,"job.rda"))
+load(file = paste0(Settings$HEISProcessedPath,"Y",year,"Deciles.rda"))
+
+MD[,Decile:=NULL]
+if (year==98){
+ Deciles[,Decile:=Decile1]
+}
+MD<-merge(MD,Deciles[,.(HHID,Decile)],by=c("HHID"))
+
+MD<-merge(MD,job[,.(HHID,PubWageNetIncomeY,PrvWageNetIncomeY)],by=c("HHID"))
+
+
+load(file=paste0(Settings$HEISProcessedPath,"Y",year,"TotalDurable.rda"))
+
+
+RT<-merge(MD,TotalDurable[,.(HHID,`125113`, `125114`,`125115`,`125116`,
+ `125117`,`125118`,`125119`,`125121`)])
+A1<-RT[,.(share=weighted.mean(`125113`>0 | `125114`>0 | `125117`>0,Weight)),by="Decile"]
+A2<-RT[,.(share=weighted.mean(`125113`>0 | `125114`>0 | `125117`>0,Weight)),by=c("Region","Decile")]
+
+A1[,Year:=year]
+X1 <- rbind(A1,X1)
+
+A2[,Year:=year]
+X2 <- rbind(A2,X2)
+
+RT[,PubWageNetIncomeY:=NULL]
+RT[,PrvWageNetIncomeY:=NULL]
+RT[,BussNetIncomeY:=NULL]
+RT[,AgriNetIncomeY:=NULL]
+
+load(file=paste0(Settings$HEISProcessedPath,"Y",year, "Activared.rda"))
+RT<-merge(RT,Data[,.(HHID,PubWageNetIncomeY,PrvWageNetIncomeY,BussNetIncomeY,AgriNetIncomeY)])
+
+RT[,Active:=ifelse(PubWageNetIncomeY>0 | PrvWageNetIncomeY>0 |
+ BussNetIncomeY>0 | AgriNetIncomeY>0,1,0)]
+
+A3<-RT[,.(share=weighted.mean(Active,Weight)),by="Decile"]
+A4<-RT[,.(share=weighted.mean(Active,Weight)),by=c("Region","Decile")]
+A3[,Year:=year]
+X3 <- rbind(A3,X3)
+
+A4[,Year:=year]
+X4 <- rbind(A4,X4)
+}
+
+
+endtime <- proc.time()
+cat("\n\n============================\nIt took ")
+cat((endtime-starttime)["elapsed"])
+cat(" seconds")
\ No newline at end of file
diff --git a/R/Archive/checkProt_cal.R b/R/Archive/checkProt_cal.R
new file mode 100644
index 00000000..35c03b13
--- /dev/null
+++ b/R/Archive/checkProt_cal.R
@@ -0,0 +1,53 @@
+library(ggplot2)
+SP=data.table()
+for(year in (90:Settings$endyear)){
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"FINALPOORS.rda"))
+
+SD50 <- MD[TOriginalFoodExpenditure_Per>0.7*FPLine
+ &TOriginalFoodExpenditure_Per<1.3*FPLine
+ &FoodProtein_Per>50&Area>15*Size,
+ .(p50=.N, En50=weighted.mean(TOriginalFoodExpenditure/Total_Exp_Month,Weight)),by=c("NewArea_Name","Region")]
+
+
+
+SD500 <- MD[TOriginalFoodExpenditure_Per>0.7*FPLine
+ &TOriginalFoodExpenditure_Per<1.3*FPLine,
+ .(.N,mean_p=weighted.mean(FoodProtein_Per, Weight*Size),
+ median_p=weighted.median(FoodProtein_Per, Weight*Size),
+ max=max(FoodProtein_Per),min=min(FoodProtein_Per),
+ En=weighted.mean(TOriginalFoodExpenditure/Total_Exp_Month,Weight)),by=c("NewArea_Name","Region")]
+SD500 <- merge(SD500,SD50)
+SD500 <- SD500[,Year:=year]
+SP <- rbind(SP,SD500)
+
+}
+
+SP <- SP[,ratio:=p50/N]
+SP <- SP[,Net:=1/En-1/En50]
+ggplot(SP[NewArea_Name=="Sh_Bandarabas"])+
+ geom_line(mapping = aes(x=Year,y=mean_p,col=factor(NewArea_Name)))
+
+a<-SP$Net
+hist(a)
+
+
+SD <- merge(SD300, SD500)
+SD <- merge(SD, SD700)
+SD <- merge(SD, SD900)
+
+Sp70 <- MD[FoodProtein_Per<70,.(p70=.N),by=c("NewArea_Name","Region")]
+Sp50 <- MD[FoodProtein_Per<50,.(p50=.N),by=c("NewArea_Name","Region")]
+Sp90 <- MD[FoodProtein_Per<90,.(p90=.N),by=c("NewArea_Name","Region")]
+SP<-merge(Sp50,Sp70)
+SP<-merge(SP,Sp90)
+SDP<-merge(SP,SD)
+
+
+
+p_p70 <- MD[TOriginalFoodExpenditure_Per>0.8*FPLine & TOriginalFoodExpenditure_Per<1.2*FPLine& FoodProtein_Per<70,.(p_p70=.N),by=c("NewArea_Name","Region")]
+p_p50 <- MD[TOriginalFoodExpenditure_Per>0.8*FPLine & TOriginalFoodExpenditure_Per<1.2*FPLine& FoodProtein_Per<50,.(p_p50=.N),by=c("NewArea_Name","Region")]
+p_p90 <- MD[TOriginalFoodExpenditure_Per>0.8*FPLine & TOriginalFoodExpenditure_Per<1.2*FPLine& FoodProtein_Per<90,.(p_p90=.N),by=c("NewArea_Name","Region")]
+
+SPP<-merge(p_p50,p_p70)
+SPP<-merge(SPP,p_p90)
+SDP<-merge(SPP,SDP)
\ No newline at end of file
diff --git a/R/Archive/indices.R b/R/Archive/indices.R
new file mode 100644
index 00000000..019fa52a
--- /dev/null
+++ b/R/Archive/indices.R
@@ -0,0 +1,170 @@
+# 111-HHBase.R
+# Builds the base data.table for households
+
+rm(list=ls())
+
+starttime <- proc.time()
+cat("\n\n================ Indices =====================================\n")
+
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+#library(foreign)
+library(data.table)
+library(stringr)
+library(ggplot2)
+
+X1 <- data.table(Year=NA_integer_,Exp_Per=NA_real_,Exp=NA_real_,Share=NA_real_)
+
+X2 <- data.table(Year=NA_integer_,Exp_Per=NA_real_,Exp=NA_real_,Share=NA_real_,
+ No_Insurance=NA_integer_)
+
+X3 <- data.table(Year=NA_integer_,Exp_Per=NA_real_,Exp=NA_real_,Share=NA_real_,
+ Malek=NA_integer_)
+
+X4 <- data.table(Year=NA_integer_,Exp_Per=NA_real_,Exp=NA_real_,Share=NA_real_,
+ Poor_Area=NA_integer_)
+
+
+
+
+for(year in (Settings$startyear:Settings$endyear)){
+ cat(paste0("\n------------------------------\nYear:",year,"\n"))
+
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"FINALPOORS.rda"))
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"Total2.rda"))
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"school.rda"))
+ MD<-merge(MD,Total[,.(HHID,G01,G02,G03,G04,G05,G06,G07,G08,G09,G101,
+ G102,G103,G104,G105,G11,G12,G13,G041,G042,G044,G045,
+ G0451,G0452,G0453,G0454,Subsidy,G125,G1253)],by="HHID")
+ MD[,Decile:=NULL]
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"Deciles.rda"))
+ MD<-merge(MD,Deciles,by="HHID")
+ MD<-merge(MD,MD10,by="HHID")
+
+ MD[,All:=G01+G02+G03+G04+G05+G06+G07+G08+G09+G101+
+ G102+G103+G104+G105+G11+G12+G13]
+
+ MD[,Malek:=ifelse(tenure=="OwnLandandBuilding" | tenure=="Apartment" ,1,0)]
+
+ for (col in c("ego","bathroom","electricity"))
+ MD[is.na(get(col)), (col) := "True"]
+
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"P1.rda"))
+ P1<-P1[Age<=16 & Age>=6,.(HHID,Age,Literate,Student)]
+ P1<-P1[Literate==TRUE | Literate==FALSE]
+ P1<-P1[,Lit:=ifelse(Literate==FALSE | Student==FALSE,100,1)]
+ P<-P1[,lapply(.SD,sum),by="HHID"]
+ P<-P[,Knowledge:=ifelse(Lit>=100,0,1)]
+ MD<-merge(MD,P[,.(HHID,Knowledge)],all.x = TRUE)
+
+ MD[,Low_Calorie:=ifelse(FoodKCaloriesHH_Per<2100,1,0)]
+ MD[,Low_Protein:=ifelse(FoodProtein_Per<60,1,0)]
+ MD[,No_Insurance:=ifelse(G1253==0,1,0)]
+ MD[,House_High_Share:=ifelse(((G041+G042)/All>0.3 & (tenure=="Rented" |
+ tenure=="Mortgage") & Region=="Urban") |
+ ((G041+G042)/All>0.2 & (tenure=="Rented" |
+ tenure=="Mortgage") & Region=="Rural"),1,0)]
+ MD[,Tech_low:=ifelse((phone=="False" & cellphone=="False" &
+ computer=="False") |
+ (phone=="False" & cellphone=="False" &
+ internet=="False") |
+ (phone=="False" &
+ computer=="False" & internet=="False") |
+ ( cellphone=="False" &
+ computer=="False" & internet=="False"),1,0)]
+ MD[,Yakhchal:=ifelse(refrigerator=="True" | freezer=="True" |
+ frez_refrig=="True","True","False")]
+ MD[,Equip_low:=ifelse((Yakhchal=="False" & washer=="False" &
+ oven=="False") |
+ (Yakhchal=="False" & washer=="False" &
+ tvcr=="False") |
+ (Yakhchal=="False" &
+ oven=="False" & tvcr=="False") |
+ ( washer=="False" &
+ oven=="False" & tvcr=="False") |
+ ( washer=="False" & oven=="False") |
+ ( washer=="False" & Yakhchal=="False") |
+ ( washer=="False" & tvcr=="False") |
+ ( tvcr=="False" & oven=="False") |
+ ( tvcr=="False" & Yakhchal=="False") |
+ ( Yakhchal=="False" & oven=="False") ,1,0)]
+
+MD[,Poor_Area:=ifelse(ProvinceCode==11 | ProvinceCode==6 | ProvinceCode==29 |
+ ProvinceCode==16,1,0)]
+
+MD[,Total_Exp_Month:=ifelse(Malek==1,Total_Exp_Month-G041-G042,Total_Exp_Month)]
+MD[,Total_Exp_Month_Per:=ifelse(Malek==1,Total_Exp_Month_Per-G041/EqSizeOECD-G042/EqSizeOECD,Total_Exp_Month_Per)]
+
+MD[,Total_Exp_Month:=ifelse(No_Insurance==1,Total_Exp_Month,Total_Exp_Month-G1253)]
+MD[,Total_Exp_Month_Per:=ifelse(No_Insurance==1,Total_Exp_Month_Per,Total_Exp_Month_Per-G1253/EqSizeOECD)]
+
+ A1<-MD[,.(Exp=weighted.mean(Total_Exp_Month,Weight),
+ Exp_Per=weighted.mean(Total_Exp_Month_Per,Weight),
+ Share=weighted.mean(G01/All,Weight))]
+
+ A2<-MD[,.(Exp=weighted.mean(Total_Exp_Month,Weight),
+ Exp_Per=weighted.mean(Total_Exp_Month_Per,Weight),
+ Share=weighted.mean(G01/All,Weight)),by=No_Insurance]
+
+ A3<-MD[,.(Exp=weighted.mean(Total_Exp_Month,Weight),
+ Exp_Per=weighted.mean(Total_Exp_Month_Per,Weight),
+ Share=weighted.mean(G01/All,Weight)),by=Malek]
+
+ A4<-MD[,.(Exp=weighted.mean(Total_Exp_Month,Weight),
+ Exp_Per=weighted.mean(Total_Exp_Month_Per,Weight),
+ Share=weighted.mean(G01/All,Weight)),by=Poor_Area]
+
+
+
+ A1[,Year:=year]
+ X1 <- rbind(X1,A1)
+
+ A2[,Year:=year]
+ X2 <- rbind(X2,A2)
+
+ A3[,Year:=year]
+ X3 <- rbind(X3,A3)
+
+ A4[,Year:=year]
+ X4 <- rbind(X4,A4)
+
+
+ x<- MD[NStudents>0,weighted.mean(internet=="True",Weight),by="CountyCode"]
+ x[,Deprivation:=ifelse(V1==0,1,0)]
+ MD<-merge(MD,x,by="CountyCode")
+
+ MD[,weighted.mean(internet=="True",Weight)]
+ MD[Deprivation==0,weighted.mean(internet=="True",Weight)]
+ MD[NStudents>0,weighted.mean(internet=="True",Weight)]
+ MD[NStudents>0 & Deprivation==0,weighted.mean(internet=="True",Weight)]
+
+ MD[,weighted.mean(internet=="True",Weight),by="Region"]
+ MD[Deprivation==0,weighted.mean(internet=="True",Weight),by="Region"]
+ MD[NStudents>0,weighted.mean(internet=="True",Weight),by="Region"]
+ MD[NStudents>0 & Deprivation==0,weighted.mean(internet=="True",Weight),by="Region"]
+
+ a<-MD[,weighted.mean(internet=="True",Weight),by="ProvinceName"]
+ a<- MD[Deprivation==0,weighted.mean(internet=="True",Weight),by="ProvinceName"]
+ a<-MD[NStudents>0,weighted.mean(internet=="True",Weight),by="ProvinceName"]
+ a<-MD[NStudents>0 & Deprivation==0,weighted.mean(internet=="True",Weight),by="ProvinceName"]
+
+
+
+
+
+}
+X1<-X1[Year==90 | Year==91 | Year==92 | Year==93 | Year==94 |
+ Year==95 | Year==96 | Year==97 | Year==98]
+X2<-X2[Year==90 | Year==91 | Year==92 | Year==93 | Year==94 |
+ Year==95 | Year==96 | Year==97 | Year==98]
+X3<-X3[Year==90 | Year==91 | Year==92 | Year==93 | Year==94 |
+ Year==95 | Year==96 | Year==97 | Year==98]
+X4<-X4[Year==90 | Year==91 | Year==92 | Year==93 | Year==94 |
+ Year==95 | Year==96 | Year==97 | Year==98]
+
+
+endtime <- proc.time()
+
+cat("\n\n============================\nIt took ")
+cat((endtime-starttime)[3])
\ No newline at end of file
diff --git a/R/Archive/inflation.xlsx b/R/Archive/inflation.xlsx
new file mode 100644
index 00000000..fe2f6eb6
Binary files /dev/null and b/R/Archive/inflation.xlsx differ
diff --git a/R/Archive/job.R b/R/Archive/job.R
new file mode 100644
index 00000000..dca9aea7
--- /dev/null
+++ b/R/Archive/job.R
@@ -0,0 +1,49 @@
+# 403-Filtering job status.R
+# 2019: Arin Shahbazian
+
+rm(list=ls())
+
+starttime <- proc.time()
+cat("\n\n================Filtering job status =====================================\n")
+
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+library(readxl)
+library(data.table)
+library(stringr)
+library(spatstat)
+
+for(year in (Settings$startyear:Settings$endyear)){
+ cat(paste0("\n------------------------------\nYear:",year,"\n"))
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"Total1.rda"))
+
+
+ job<-Total[,.(HHID,Region,HActivityState,Main_Job_Name_Pub,PubWageNetIncomeY,
+ Main_Job_Name_Prv,PrvWageNetIncomeY,
+ Main_Job_Name_Cooperative,CooperativeWageNetIncomeY,
+ AgriEarners,Main_Job_Name_Agri,BussEarners,
+ Main_Job_Name_Buss,
+ Job_Main_Code_Pub,Job_Main_Code_Prv,Job_Main_Code_Cooperative,
+ Job_Main_Code_Buss,Job_Main_Code_Agri,
+ Original_Job_Name_Cooperative,CooperativeWageNetIncomeY,
+ AgriEarners,Original_Job_Name_Agri,BussEarners,
+ Original_Job_Name_Buss,
+ Job_Original_Code_Pub,Job_Original_Code_Prv,Job_Original_Code_Cooperative,
+ Job_Original_Code_Buss,Job_Original_Code_Agri,
+ Aid,Homemade,
+ Interest,Intra,Rent,Retirement,Subsidy)]
+
+ job<-job[,job_Best:=min(Job_Main_Code_Pub,Job_Main_Code_Prv,
+ Job_Main_Code_Cooperative,
+ Job_Main_Code_Buss,Job_Main_Code_Agri)]
+
+
+ save(job,file=paste0(Settings$HEISProcessedPath,"Y",year,"job.rda"))
+
+
+}
+
+endtime <- proc.time()
+cat("\n\n============================\nIt took ")
+cat(endtime-starttime)
diff --git a/R/Archive/merge data.R b/R/Archive/merge data.R
new file mode 100644
index 00000000..c3d5d766
--- /dev/null
+++ b/R/Archive/merge data.R
@@ -0,0 +1,43 @@
+
+
+load(file=paste0(Settings$HEISProcessedPath,"Y",90,"FinalPoor.rda"))
+A90<-MD
+
+load(file=paste0(Settings$HEISProcessedPath,"Y",91,"FinalPoor.rda"))
+A91<-MD
+
+load(file=paste0(Settings$HEISProcessedPath,"Y",92,"FinalPoor.rda"))
+A92<-MD
+
+load(file=paste0(Settings$HEISProcessedPath,"Y",93,"FinalPoor.rda"))
+A93<-MD
+
+load(file=paste0(Settings$HEISProcessedPath,"Y",94,"FinalPoor.rda"))
+A94<-MD
+
+load(file=paste0(Settings$HEISProcessedPath,"Y",95,"FinalPoor.rda"))
+A95<-MD
+
+load(file=paste0(Settings$HEISProcessedPath,"Y",96,"FinalPoor.rda"))
+A96<-MD
+
+load(file=paste0(Settings$HEISProcessedPath,"Y",97,"FinalPoor.rda"))
+A97<-MD
+
+load(file=paste0(Settings$HEISProcessedPath,"Y",98,"FinalPoor.rda"))
+A98<-MD
+
+Data<-rbind(A90,A91)
+Data<-rbind(Data,A92)
+Data<-rbind(Data,A93)
+Data<-rbind(Data,A94)
+Data<-rbind(Data,A95)
+Data<-rbind(Data,A96)
+Data<-rbind(Data,A97)
+Data<-rbind(Data,A98)
+
+write.csv(Data,file="Data.csv")
+
+
+
+
diff --git a/R/Archive/nominal.R b/R/Archive/nominal.R
new file mode 100644
index 00000000..bdd96f5c
--- /dev/null
+++ b/R/Archive/nominal.R
@@ -0,0 +1,98 @@
+#170-Deciling for normal calculations.R
+#
+# Copyright © 2018:Majid Einian & Arin Shahbazian
+# Licence: GPL-3
+
+rm(list=ls())
+
+starttime <- proc.time()
+cat("\n\n================ Deciling for normal calculations =====================================\n")
+
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+#library(readxl)
+library(data.table)
+library(ggplot2)
+
+for(year in (Settings$startyear:Settings$endyear)){
+ cat(paste0("\n------------------------------\nYear:",year,"\n"))
+
+
+ # load data --------------------------------------
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"Merged4CBN3.rda"))
+
+
+ ###Nominal- Country
+ MD<- MD[order(Total_Exp_Month_Per_nondurable),by=ProvinceCode] #Deciling in Country(Nominal)
+ MD[,crw2:=cumsum(Weight*Size)/sum(Weight*Size),by=ProvinceCode] # Cumulative Relative Weight
+ MD[,Decile:=cut(crw2,breaks = seq(0,1,.1),labels = 1:10)]
+ MD[,Percentile:=cut(crw2,breaks=seq(0,1,.01),labels=1:100)]
+
+ Decile_Nominal<-MD[,.(HHID,Decile)]
+
+save(Decile_Nominal,file = paste0(Settings$HEISProcessedPath,"Y",year,"Decile_Nominal.rda"))
+
+}
+
+MD[,Pop2:=sum(Weight*Size),by=ProvinceName]
+
+Pooldar<-MD[as.numeric((Decile))>7]
+Pooldar[,sum(Weight*Size),by=ProvinceName][order(V1)]
+Pooldar[,Pop:=sum(Weight*Size)]
+a<-Pooldar[,.(sum(Weight*Size)/Pop),by=ProvinceName]
+a<-Pooldar[,.(sum(Weight*Size)/Pop2),by=ProvinceName]
+#load(file = paste0(Settings$HEISProcessedPath,"Y",year,"FinalPoor.rda"))
+
+Poor<-MD[as.numeric((Decile))<4]
+Poor[,sum(Weight*Size),by=ProvinceName][order(V1)]
+Poor[,Pop:=sum(Weight*Size)]
+a<-Poor[,.(sum(Weight*Size)/Pop),by=ProvinceName]
+a<-Poor[,.(sum(Weight*Size)/Pop2),by=ProvinceName]
+
+
+
+Pooldar[CountyCode==2301,weighted.mean(Total_Exp_Month_Per,Weight)]
+Pooldar[ProvinceCode==11,weighted.mean(Total_Exp_Month_Per,Weight)]
+
+Poor[CountyCode==2301,weighted.mean(Total_Exp_Month_Per,Weight)]
+Poor[ProvinceCode==11,weighted.mean(Total_Exp_Month_Per,Weight)]
+
+
+Pooldar[CountyCode==2301,weighted.mean(FoodExpenditure_Per,Weight)]
+Pooldar[ProvinceCode==11,weighted.mean(FoodExpenditure_Per,Weight)]
+
+Poor[CountyCode==2301,weighted.mean(FoodExpenditure_Per,Weight)]
+Poor[ProvinceCode==11,weighted.mean(FoodExpenditure_Per,Weight)]
+
+load(file=paste0(Settings$HEISProcessedPath,"Y",year,"Total2.rda"))
+
+Total<-Total[,.(HHID,Job_Main_Code_Pub,Job_Main_Code_Cooperative,Job_Main_Code_Prv,
+ Job_Main_Code_Buss,Job_Main_Code_Agri)]
+
+
+
+Total[Total==0]<-NA
+
+
+MD<-merge(MD,Total,by="HHID")
+MD[,Job_Code:=pmin(Job_Main_Code_Pub,Job_Main_Code_Cooperative,
+ Job_Main_Code_Prv,
+ Job_Main_Code_Buss,Job_Main_Code_Agri,na.rm = TRUE)]
+
+MD[,Government:=ifelse(is.na(Job_Main_Code_Pub),0,1)]
+
+Government<-MD[Government==1]
+Government2<-MD[Government==0]
+
+Government2[,weighted.mean(tenure=="OwnLandandBuilding" | tenure=="Apartment",Weight)]
+Government[,weighted.mean(tenure=="AgainstService",Weight)]
+
+Government[,Pop_G:=sum(Weight*Size)]
+Government2[,weighted.mean(car=="TRUE",Weight)]
+a<-Government[,.(a=sum(Weight*Size)/Pop_G),by=Decile]
+
+endtime <- proc.time()
+cat("\n\n============================\nIt took ")
+cat((endtime-starttime)["elapsed"])
+cat(" seconds")
diff --git a/R/Archive/poor properties.R b/R/Archive/poor properties.R
new file mode 100644
index 00000000..43dfbd64
--- /dev/null
+++ b/R/Archive/poor properties.R
@@ -0,0 +1,448 @@
+# 168-Step8-PovertyStats.R
+#
+# Copyright © 2018-2020:Majid Einian & Arin Shahbazian
+# Licence: GPL-3
+
+rm(list=ls())
+
+starttime <- proc.time()
+cat("\n\n================ Properties =====================================\n")
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+library(readxl)
+library(data.table)
+library(writexl)
+library(ggplot2)
+
+Data11 <- data.table(Year = numeric(0),FinalPoor = numeric(0))
+Data12 <- data.table(Year = numeric(0),FinalPoor = numeric(0),Region= NA_character_)
+Data13 <- data.table(Year = numeric(0),FinalPoor = numeric(0),HMarritalState= NA_character_)
+
+Data <- data.table(Year = numeric(0),House = numeric(0),car = numeric(0),Knowledge= numeric(0),
+ Meat_Gram = numeric(0),Chicken_Gram = numeric(0),Rice_Gram= numeric(0),
+ internet = numeric(0),HEduYears = numeric(0),NEmployed = numeric(0),
+ HSex = numeric(0),HActivityState = numeric(0),Job_Code_Poor = numeric(0),
+ Job_Code_Rich = numeric(0),Engle = numeric(0),TFoodKCaloriesHH_Per = numeric(0),
+ FoodProtein_Per = numeric(0),Government = numeric(0),FinalPoor= numeric(0))
+
+Data2 <- data.table(Year = numeric(0),House = numeric(0),car = numeric(0),Knowledge= numeric(0),
+ Meat_Gram = numeric(0),Chicken_Gram = numeric(0),Rice_Gram= numeric(0),
+ internet = numeric(0),HEduYears = numeric(0),NEmployed = numeric(0),
+ HSex = numeric(0),HActivityState = numeric(0),Job_Code_Poor = numeric(0),
+ Job_Code_Rich = numeric(0),Engle = numeric(0),TFoodKCaloriesHH_Per = numeric(0),
+ FoodProtein_Per = numeric(0),Government = numeric(0),FinalPoor= numeric(0)
+ ,Region= NA_character_)
+
+Data3 <- data.table(Year = numeric(0),House = numeric(0),car = numeric(0),Knowledge= numeric(0),
+ internet = numeric(0),HEduYears = numeric(0),NEmployed = numeric(0),
+ Meat_Gram = numeric(0),Chicken_Gram = numeric(0),Rice_Gram= numeric(0),
+ HSex = numeric(0),HActivityState = numeric(0),Job_Code_Poor = numeric(0),
+ Job_Code_Rich = numeric(0),Engle = numeric(0),TFoodKCaloriesHH_Per = numeric(0),
+ FoodProtein_Per = numeric(0),Government = numeric(0),FinalPoor= numeric(0)
+ ,Region2= NA_character_)
+
+Data4 <- data.table(Year = numeric(0),House = numeric(0),car = numeric(0),Knowledge= numeric(0),
+ Meat_Gram = numeric(0),Chicken_Gram = numeric(0),Rice_Gram= numeric(0),
+ internet = numeric(0),HEduYears = numeric(0),NEmployed = numeric(0),
+ HSex = numeric(0),HActivityState = numeric(0),Job_Code_Poor = numeric(0),
+ Job_Code_Rich = numeric(0),Engle = numeric(0),TFoodKCaloriesHH_Per = numeric(0),
+ FoodProtein_Per = numeric(0),Government = numeric(0)
+ ,Region3= NA_character_)
+
+year<-98
+for(year in (Settings$startyear:Settings$endyear)){
+ cat(paste0("\nYear:",year,"\t"))
+
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"FinalPoor.rda"))
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"HHHouseProperties.rda"))
+
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"Total2.rda"))
+ load( file = paste0(Settings$HEISProcessedPath,"Y",year,"BigFData.rda"))
+ load( file = paste0(Settings$HEISProcessedPath,"Y",year,"tahsil.rda"))
+
+ Total<-Total[,.(HHID,Job_Main_Code_Pub,Job_Main_Code_Cooperative,Job_Main_Code_Prv,
+ Job_Main_Code_Buss,Job_Main_Code_Agri)]
+
+ Meat<-BigFData[FoodType=="Meat"]
+ Chicken<-BigFData[FoodType=="Chicken"]
+ Rice<-BigFData[FoodType=="Rice"]
+
+ Meat[,Meat_Gram:=FGrams]
+ Chicken[,Chicken_Gram:=FGrams]
+ Rice[,Rice_Gram:=FGrams]
+
+ Meat<-Meat[,.(HHID,Meat_Gram)]
+ Chicken<-Chicken[,.(HHID,Chicken_Gram)]
+ Rice<-Rice[,.(HHID,Rice_Gram)]
+
+ Meat<-Meat[,lapply(.SD,sum),by="HHID",.SDcols=c("Meat_Gram")]
+ Chicken<-Chicken[,lapply(.SD,sum),by="HHID",.SDcols=c("Chicken_Gram")]
+ Rice<-Rice[,lapply(.SD,sum),by="HHID",.SDcols=c("Rice_Gram")]
+
+ Total[Total==0]<-NA
+
+ MD<-merge(MD,HHHouseProperties,by="HHID")
+ MD<-merge(MD,Total,by="HHID")
+ MD[,Job_Code:=pmin(Job_Main_Code_Pub,Job_Main_Code_Cooperative,
+ Job_Main_Code_Prv,
+ Job_Main_Code_Buss,Job_Main_Code_Agri,na.rm = TRUE)]
+
+ MD<-merge(MD,School[,.(HHID,Knowledge)],by="HHID")
+
+ MD<-merge(MD,Meat,by="HHID",all.x = TRUE)
+ MD<-merge(MD,Chicken,by="HHID",all.x = TRUE)
+ MD<-merge(MD,Rice,by="HHID",all.x = TRUE)
+
+ MD[is.na(Meat_Gram),Meat_Gram:=0]
+ MD[is.na(Chicken_Gram),Chicken_Gram:=0]
+ MD[is.na(Rice_Gram),Rice_Gram:=0]
+
+ MD[,Meat_Gram:=Meat_Gram/EqSizeCalory]
+ MD[,Chicken_Gram:=Chicken_Gram/EqSizeCalory]
+ MD[,Rice_Gram:=Rice_Gram/EqSizeCalory]
+
+ MD[,Government:=ifelse(is.na(Job_Main_Code_Pub),0,1)]
+
+ MD[,Region2:=ifelse(NewArea_Name=="Sh_Tehran","Sh_Tehran","Other")]
+
+ MD[,Region3:=ifelse(NewArea_Name=="Sh_Tehran","Sh_Tehran",
+ ifelse(ProvinceCode==11,"Sistan",
+ ifelse(Region=="Urban","Urban","Rural")))]
+
+ Female<-MD[HSex=="Female"]
+ Female[,Pop:=sum(Weight*Size)]
+ Female2<-Female[,.(share=sum(Weight*Size)/Pop),by=c("HMarritalState","FinalPoor")]
+ Female2[,Year:=98]
+
+ ggplot(Female2, aes(fill=factor(FinalPoor), y=share, x=factor(HMarritalState))) +
+ geom_bar(position="dodge", stat="identity") +
+ #scale_x_continuous(breaks=seq(90,98,1))+
+ scale_y_continuous(breaks=seq(0,0.7,0.1))+
+ theme(text = element_text(size=20))+
+ geom_text(aes(label=round(share,2)), position = position_dodge(width=0.9), vjust=-0.5)
+
+ Female3<-Female[,.(FinalPoor=weighted.mean(FinalPoor==1,Weight))]
+ Female3[,Year:=year]
+ Data11 <- rbind(Data11,Female3)
+ ggplot(Data11, aes(fill=factor(FinalPoor), y=FinalPoor, x=Year)) +
+ geom_bar(position="dodge", stat="identity") +
+ scale_x_continuous(breaks=seq(90,98,1))+
+ scale_y_continuous(breaks=seq(0,0.7,0.1))+
+ theme(text = element_text(size=20))+
+ geom_text(aes(label=round(FinalPoor,2)), position = position_dodge(width=0.9), vjust=-0.5)
+
+
+ Female4<-Female[,.(FinalPoor=weighted.mean(FinalPoor==1,Weight)),by="Region"]
+ Female4[,Year:=year]
+ Data12 <- rbind(Data12,Female4)
+ Data12<-Data12[Region=="Urban" | Region=="Rural"]
+ ggplot(Data12, aes(fill=factor(Region), y=FinalPoor, x=Year)) +
+ geom_bar(position="dodge", stat="identity") +
+ scale_x_continuous(breaks=seq(90,98,1))+
+ scale_y_continuous(breaks=seq(0,0.7,0.1))+
+ theme(text = element_text(size=20))+
+ geom_text(aes(label=round(FinalPoor,2)), position = position_dodge(width=0.9), vjust=-0.5)
+
+
+ Female5<-Female[,.(FinalPoor=weighted.mean(FinalPoor==1,Weight)),by="HMarritalState"]
+ Female5[,Year:=year]
+ Data13 <- rbind(Data13,Female5)
+ Data13<-Data13[Year==90 | Year==91 | Year==92 | Year==93 | Year==94 |
+ Year==95 | Year==96 | Year==97 | Year==98]
+ ggplot(Data13, aes(fill=factor(HMarritalState), y=FinalPoor, x=Year)) +
+ geom_bar(position="dodge", stat="identity") +
+ scale_x_continuous(breaks=seq(90,98,1))+
+ scale_y_continuous(breaks=seq(0,0.7,0.1))+
+ theme(text = element_text(size=15))+
+ geom_text(aes(label=round(FinalPoor,2)), position = position_dodge(width=0.9), vjust=-0.5)
+
+
+ ggplot(Female3, aes(fill=factor(FinalPoor), y=Government, x=Year)) +
+ geom_bar(position="dodge", stat="identity") +
+ scale_x_continuous(breaks=seq(90,98,1))+
+ scale_y_continuous(breaks=seq(0,0.7,0.1))+
+ theme(text = element_text(size=20))+
+ geom_text(aes(label=round(Government,2)), position = position_dodge(width=0.9), vjust=-0.5)
+
+
+ A<-MD[,.(House=weighted.mean(tenure=="OwnLandandBuilding" | tenure=="Apartment",Weight),
+ car=weighted.mean(car=="TRUE",Weight),
+ internet=weighted.mean(internet=="TRUE",Weight),
+ HEduYears=weighted.mean(HEduYears,Weight),
+ Meat_Gram=weighted.mean(Meat_Gram,Weight),
+ Chicken_Gram=weighted.mean(Chicken_Gram,Weight),
+ Rice_Gram=weighted.mean(Rice_Gram,Weight),
+ NEmployed=weighted.mean(NEmployed,Weight),
+ Government=weighted.mean(Government,Weight),
+ Knowledge=weighted.mean(Knowledge,Weight,na.rm = TRUE),
+ HSex=weighted.mean(HSex=="Female",Weight),
+ HActivityState=weighted.mean(HActivityState=="Employed",Weight),
+ Job_Code_Poor=weighted.mean(Job_Code==9,Weight,na.rm = TRUE),
+ Job_Code_Rich=weighted.mean(Job_Code==1 | Job_Code==2,Weight,na.rm = TRUE),
+ Engle=weighted.mean(FoodExpenditure/Total_Exp_Month,Weight,na.rm = TRUE),
+ TFoodKCaloriesHH_Per=weighted.mean(TFoodKCaloriesHH_Per,Weight,na.rm = TRUE),
+ FoodProtein_Per=weighted.mean(FoodProtein_Per,Weight,na.rm = TRUE)),by=FinalPoor]
+
+ A[,Year:=year]
+ Data <- rbind(Data,A)
+
+ ggplot(Data, aes(fill=factor(FinalPoor), y=Government, x=Year)) +
+ geom_bar(position="dodge", stat="identity") +
+ scale_x_continuous(breaks=seq(90,98,1))+
+ scale_y_continuous(breaks=seq(0,0.7,0.1))+
+ theme(text = element_text(size=20))+
+ geom_text(aes(label=round(Government,2)), position = position_dodge(width=0.9), vjust=-0.5)
+
+
+ ggplot(Data, aes(fill=factor(FinalPoor), y=car, x=Year)) +
+ geom_bar(position="dodge", stat="identity") +
+ scale_x_continuous(breaks=seq(90,98,1))+
+ scale_y_continuous(breaks=seq(0,0.7,0.1))+
+ theme(text = element_text(size=20))+
+ geom_text(aes(label=round(car,2)), position = position_dodge(width=0.9), vjust=-0.5)
+
+
+ ggplot(Data, aes(fill=factor(FinalPoor), y=House, x=Year)) +
+ geom_bar(position="dodge", stat="identity") +
+ scale_x_continuous(breaks=seq(90,98,1))+
+ scale_y_continuous(breaks=seq(0,0.8,0.1))+
+ theme(text = element_text(size=20))+
+ geom_text(aes(label=round(House,2)), position = position_dodge(width=0.9), vjust=-0.5)
+
+
+ ggplot(Data, aes(fill=factor(FinalPoor), y=HEduYears, x=Year)) +
+ geom_bar(position="dodge", stat="identity") +
+ scale_x_continuous(breaks=seq(90,98,1))+
+ scale_y_continuous(breaks=seq(0,10,1))+
+ theme(text = element_text(size=20))+
+ geom_text(aes(label=round(HEduYears,1)), position = position_dodge(width=0.9), vjust=-0.5)
+
+
+ ggplot(Data, aes(fill=factor(FinalPoor), y=NEmployed, x=Year)) +
+ geom_bar(position="dodge", stat="identity") +
+ scale_x_continuous(breaks=seq(90,98,1))+
+ scale_y_continuous(breaks=seq(0,1.5,0.1))+
+ theme(text = element_text(size=20))+
+ geom_text(aes(label=round(NEmployed,2)), position = position_dodge(width=0.9), vjust=-0.5)
+
+
+ ggplot(Data, aes(fill=factor(FinalPoor), y=HSex, x=Year)) +
+ geom_bar(position="dodge", stat="identity") +
+ scale_x_continuous(breaks=seq(90,98,1))+
+ scale_y_continuous(breaks=seq(0,0.5,0.05))+
+ theme(text = element_text(size=20))+
+ geom_text(aes(label=round(HSex,2)), position = position_dodge(width=0.9), vjust=-0.5)
+
+
+ ggplot(Data, aes(fill=factor(FinalPoor), y=HActivityState, x=Year)) +
+ geom_bar(position="dodge", stat="identity") +
+ scale_x_continuous(breaks=seq(90,98,1))+
+ scale_y_continuous(breaks=seq(0,1,0.1))+
+ theme(text = element_text(size=20))+
+ geom_text(aes(label=round(HActivityState,2)), position = position_dodge(width=0.9), vjust=-0.5)
+
+
+ ggplot(Data, aes(fill=factor(FinalPoor), y=Job_Code_Poor, x=Year)) +
+ geom_bar(position="dodge", stat="identity") +
+ scale_x_continuous(breaks=seq(90,98,1))+
+ scale_y_continuous(breaks=seq(0,1,0.1))+
+ theme(text = element_text(size=20))+
+ geom_text(aes(label=round(Job_Code_Poor,2)), position = position_dodge(width=0.9), vjust=-0.5)
+
+
+ ggplot(Data, aes(fill=factor(FinalPoor), y=Job_Code_Rich, x=Year)) +
+ geom_bar(position="dodge", stat="identity") +
+ scale_x_continuous(breaks=seq(90,98,1))+
+ scale_y_continuous(breaks=seq(0,1,0.1))+
+ theme(text = element_text(size=20))+
+ geom_text(aes(label=round(Job_Code_Rich,2)), position = position_dodge(width=0.9), vjust=-0.5)
+
+
+ ggplot(Data, aes(fill=factor(FinalPoor), y=Engle, x=Year)) +
+ geom_bar(position="dodge", stat="identity") +
+ scale_x_continuous(breaks=seq(90,98,1))+
+ scale_y_continuous(breaks=seq(0,1,0.1))+
+ theme(text = element_text(size=20))+
+ geom_text(aes(label=round(Engle,2)), position = position_dodge(width=0.9), vjust=-0.5)
+
+
+ ggplot(Data, aes(fill=factor(FinalPoor), y=TFoodKCaloriesHH_Per, x=Year)) +
+ geom_bar(position="dodge", stat="identity") +
+ scale_x_continuous(breaks=seq(90,98,1))+
+ scale_y_continuous(breaks=seq(0,3200,200))+
+ theme(text = element_text(size=20))+
+ geom_text(aes(label=round(TFoodKCaloriesHH_Per,1)), position = position_dodge(width=0.9), vjust=-0.5)
+
+
+ ggplot(Data, aes(fill=factor(FinalPoor), y=FoodProtein_Per, x=Year)) +
+ geom_bar(position="dodge", stat="identity") +
+ scale_x_continuous(breaks=seq(90,98,1))+
+ scale_y_continuous(breaks=seq(0,120,10))+
+ theme(text = element_text(size=20))+
+ geom_text(aes(label=round(FoodProtein_Per,1)), position = position_dodge(width=0.9), vjust=-0.5)
+
+ ggplot(Data, aes(fill=factor(FinalPoor), y=Knowledge, x=Year)) +
+ geom_bar(position="dodge", stat="identity") +
+ scale_x_continuous(breaks=seq(90,98,1))+
+ scale_y_continuous(breaks=seq(0,120,10))+
+ theme(text = element_text(size=20))+
+ geom_text(aes(label=round(Knowledge,2)), position = position_dodge(width=0.9), vjust=-0.5)
+
+
+ ggplot(Data, aes(fill=factor(FinalPoor), y=Meat_Gram, x=Year)) +
+ geom_bar(position="dodge", stat="identity") +
+ scale_x_continuous(breaks=seq(90,98,1))+
+ #scale_y_continuous(breaks=seq(0,120,10))+
+ theme(text = element_text(size=20))+
+ geom_text(aes(label=round(Meat_Gram,1)), position = position_dodge(width=0.9), vjust=-0.5)
+
+
+ ggplot(Data, aes(fill=factor(FinalPoor), y=Chicken_Gram, x=Year)) +
+ geom_bar(position="dodge", stat="identity") +
+ scale_x_continuous(breaks=seq(90,98,1))+
+ #scale_y_continuous(breaks=seq(0,120,10))+
+ theme(text = element_text(size=20))+
+ geom_text(aes(label=round(Chicken_Gram,1)), position = position_dodge(width=0.9), vjust=-0.5)
+
+
+ ggplot(Data, aes(fill=factor(FinalPoor), y=Rice_Gram, x=Year)) +
+ geom_bar(position="dodge", stat="identity") +
+ scale_x_continuous(breaks=seq(90,98,1))+
+ #scale_y_continuous(breaks=seq(0,120,10))+
+ theme(text = element_text(size=20))+
+ geom_text(aes(label=round(Rice_Gram,1)), position = position_dodge(width=0.9), vjust=-0.5)
+
+
+
+ B<-MD[,weighted.mean(FinalPoor,Weight),by=HSex]
+
+
+
+ Government<-MD[Government==1]
+ Government2<-MD[Government==0]
+
+ Government2[,weighted.mean(tenure=="OwnLandandBuilding" | tenure=="Apartment",Weight)]
+ Government[,weighted.mean(tenure=="AgainstService",Weight)]
+
+ Government[,Pop_G:=sum(Weight*Size)]
+ Government2[,weighted.mean(car=="TRUE",Weight)]
+ a<-Government[,.(a=sum(Weight*Size)/Pop_G),by=Decile]
+ Government2[,weighted.mean(TFoodKCaloriesHH_Per,Weight*Size)]
+ Government2[,weighted.mean(FoodProtein_Per,Weight*Size)]
+ Government[,weighted.mean(FinalPoor,Weight*Size)]
+
+ MD[,weighted.mean(FinalPoor,Weight*Size),by=Government]
+
+
+ B<-MD[,.(House=weighted.mean(tenure=="OwnLandandBuilding" | tenure=="Apartment",Weight),
+ car=weighted.mean(car=="TRUE",Weight),
+ internet=weighted.mean(internet=="TRUE",Weight),
+ HEduYears=weighted.mean(HEduYears,Weight),
+ Meat_Gram=weighted.mean(Meat_Gram,Weight),
+ Chicken_Gram=weighted.mean(Chicken_Gram,Weight),
+ Rice_Gram=weighted.mean(Rice_Gram,Weight),
+ NEmployed=weighted.mean(NEmployed,Weight),
+ Government=weighted.mean(Government,Weight),
+ Knowledge=weighted.mean(Knowledge,Weight,na.rm = TRUE),
+ HSex=weighted.mean(HSex=="Female",Weight),
+ HActivityState=weighted.mean(HActivityState=="Employed",Weight),
+ Job_Code_Poor=weighted.mean(Job_Code==9,Weight,na.rm = TRUE),
+ Job_Code_Rich=weighted.mean(Job_Code==1 | Job_Code==2,Weight,na.rm = TRUE),
+ Engle=weighted.mean(FoodExpenditure/Total_Exp_Month,Weight,na.rm = TRUE),
+ TFoodKCaloriesHH_Per=weighted.mean(TFoodKCaloriesHH_Per,Weight,na.rm = TRUE),
+ FoodProtein_Per=weighted.mean(FoodProtein_Per,Weight,na.rm = TRUE)),by=c("FinalPoor","Region")]
+
+ B[,Year:=year]
+ Data2 <- rbind(Data2,B)
+
+ C<-MD[,.(House=weighted.mean(tenure=="OwnLandandBuilding" | tenure=="Apartment",Weight),
+ car=weighted.mean(car=="TRUE",Weight),
+ internet=weighted.mean(internet=="TRUE",Weight),
+ HEduYears=weighted.mean(HEduYears,Weight),
+ NEmployed=weighted.mean(NEmployed,Weight),
+ Meat_Gram=weighted.mean(Meat_Gram,Weight),
+ Chicken_Gram=weighted.mean(Chicken_Gram,Weight),
+ Rice_Gram=weighted.mean(Rice_Gram,Weight),
+ Government=weighted.mean(Government,Weight),
+ Knowledge=weighted.mean(Knowledge,Weight,na.rm = TRUE),
+ HSex=weighted.mean(HSex=="Female",Weight),
+ HActivityState=weighted.mean(HActivityState=="Employed",Weight),
+ Job_Code_Poor=weighted.mean(Job_Code==9,Weight,na.rm = TRUE),
+ Job_Code_Rich=weighted.mean(Job_Code==1 | Job_Code==2,Weight,na.rm = TRUE),
+ Engle=weighted.mean(FoodExpenditure/Total_Exp_Month,Weight,na.rm = TRUE),
+ TFoodKCaloriesHH_Per=weighted.mean(TFoodKCaloriesHH_Per,Weight,na.rm = TRUE),
+ FoodProtein_Per=weighted.mean(FoodProtein_Per,Weight,na.rm = TRUE)),by=c("FinalPoor","Region2")]
+
+ C[,Year:=year]
+ Data3 <- rbind(Data3,C)
+
+
+ Z<-Data2[Region=="Urban"]
+ png(file="C:/IRHEIS/R/11.png",width=1200, height=750)
+ ggplot(Z, aes(fill=factor(FinalPoor), y=Rice_Gram, x=Year)) +
+ geom_bar(position="dodge", stat="identity") +
+ scale_x_continuous(breaks=seq(90,98,1))+
+ #scale_y_continuous(breaks=seq(0,0.7,0.1))+
+ theme(text = element_text(size=20))+
+ geom_text(aes(label=round(Rice_Gram,1)), position = position_dodge(width=0.9), vjust=-0.5)
+ dev.off()
+
+
+ Z<-Data2[Region=="Rural"]
+ png(file="C:/IRHEIS/R/12.png",width=1200, height=750)
+ ggplot(Z, aes(fill=factor(FinalPoor), y=Rice_Gram, x=Year)) +
+ geom_bar(position="dodge", stat="identity") +
+ scale_x_continuous(breaks=seq(90,98,1))+
+ # scale_y_continuous(breaks=seq(0,0.7,0.1))+
+ theme(text = element_text(size=20))+
+ geom_text(aes(label=round(Rice_Gram,1)), position = position_dodge(width=0.9), vjust=-0.5)
+ dev.off()
+
+ Z<-Data3[Region2=="Sh_Tehran"]
+ png(file="C:/IRHEIS/R/13.png",width=1200, height=750)
+ ggplot(Z, aes(fill=factor(FinalPoor), y=Rice_Gram, x=Year)) +
+ geom_bar(position="dodge", stat="identity") +
+ scale_x_continuous(breaks=seq(90,98,1))+
+ # scale_y_continuous(breaks=seq(0,0.7,0.1))+
+ theme(text = element_text(size=20))+
+ geom_text(aes(label=round(Rice_Gram,1)), position = position_dodge(width=0.9), vjust=-0.5)
+ dev.off()
+
+
+ D<-MD[FinalPoor==1,.(House=weighted.mean(tenure=="OwnLandandBuilding" | tenure=="Apartment",Weight),
+ car=weighted.mean(car=="TRUE",Weight),
+ internet=weighted.mean(internet=="TRUE",Weight),
+ HEduYears=weighted.mean(HEduYears,Weight),
+ NEmployed=weighted.mean(NEmployed,Weight),
+ Meat_Gram=weighted.mean(Meat_Gram,Weight),
+ Chicken_Gram=weighted.mean(Chicken_Gram,Weight),
+ Rice_Gram=weighted.mean(Rice_Gram,Weight),
+ Government=weighted.mean(Government,Weight),
+ HSex=weighted.mean(HSex=="Female",Weight),
+ Knowledge=weighted.mean(Knowledge,Weight,na.rm = TRUE),
+ HActivityState=weighted.mean(HActivityState=="Employed",Weight),
+ Job_Code_Poor=weighted.mean(Job_Code==9,Weight,na.rm = TRUE),
+ Job_Code_Rich=weighted.mean(Job_Code==1 | Job_Code==2,Weight,na.rm = TRUE),
+ Engle=weighted.mean(FoodExpenditure/Total_Exp_Month,Weight,na.rm = TRUE),
+ TFoodKCaloriesHH_Per=weighted.mean(TFoodKCaloriesHH_Per,Weight,na.rm = TRUE),
+ FoodProtein_Per=weighted.mean(FoodProtein_Per,Weight,na.rm = TRUE)),by=c("Region3")]
+
+ D[,Year:=year]
+ Data4 <- rbind(Data4,D)
+
+ Data4<-Data4[Region3=="Urban" | Region3=="Rural" | Region3=="Sh_Tehran" | Region3=="Sistan"]
+
+ png(file="C:/IRHEIS/R/21.png",width=1200, height=750)
+ ggplot(Data4, aes(fill=factor(Region3), y=Rice_Gram, x=Year)) +
+ geom_bar(position="dodge", stat="identity") +
+ scale_x_continuous(breaks=seq(90,98,1))+
+ # scale_y_continuous(breaks=seq(0,0.7,0.1))+
+ theme(text = element_text(size=15))+
+ geom_text(aes(label=round(Rice_Gram,1)), position = position_dodge(width=0.9), vjust=-0.5)
+ dev.off()
+
+}
+
+endtime <- proc.time()
+cat("\n\n============================\nIt took",(endtime-starttime)["elapsed"],"seconds")
diff --git a/R/Archive/refah/ActivityR.png b/R/Archive/refah/ActivityR.png
new file mode 100644
index 00000000..1b3363ff
Binary files /dev/null and b/R/Archive/refah/ActivityR.png differ
diff --git a/R/Archive/refah/ActivityU.png b/R/Archive/refah/ActivityU.png
new file mode 100644
index 00000000..3af2f5bd
Binary files /dev/null and b/R/Archive/refah/ActivityU.png differ
diff --git a/R/Archive/refah/CarR.png b/R/Archive/refah/CarR.png
new file mode 100644
index 00000000..80b6bebb
Binary files /dev/null and b/R/Archive/refah/CarR.png differ
diff --git a/R/Archive/refah/CarU.png b/R/Archive/refah/CarU.png
new file mode 100644
index 00000000..4340c646
Binary files /dev/null and b/R/Archive/refah/CarU.png differ
diff --git a/R/Archive/refah/ExpR.png b/R/Archive/refah/ExpR.png
new file mode 100644
index 00000000..6d345e08
Binary files /dev/null and b/R/Archive/refah/ExpR.png differ
diff --git a/R/Archive/refah/ExpU.png b/R/Archive/refah/ExpU.png
new file mode 100644
index 00000000..f6db1b4c
Binary files /dev/null and b/R/Archive/refah/ExpU.png differ
diff --git a/R/Archive/refah/tenureR.png b/R/Archive/refah/tenureR.png
new file mode 100644
index 00000000..32200333
Binary files /dev/null and b/R/Archive/refah/tenureR.png differ
diff --git a/R/Archive/refah/tenureU.png b/R/Archive/refah/tenureU.png
new file mode 100644
index 00000000..f4b9d9d5
Binary files /dev/null and b/R/Archive/refah/tenureU.png differ
diff --git a/R/DataChecking-01-HouseMeterPrices.R b/R/DataChecking-01-HouseMeterPrices.R
new file mode 100644
index 00000000..eb31eba1
--- /dev/null
+++ b/R/DataChecking-01-HouseMeterPrices.R
@@ -0,0 +1,125 @@
+rm(list=ls())
+
+starttime <- proc.time()
+cat("\n\n================ Nominal to Real =====================================\n")
+
+library(yaml)
+mydir <- "E:/Refah Economy/IRHEIS-master update30-9/IRHEIS-master/R"
+setwd(mydir)
+
+Settings <- yaml.load_file("Settings.yaml")
+
+library(readxl)
+library(data.table)
+library(ggplot2)
+
+bigMD <- data.table()
+for(year in (88:99)){
+ cat(paste0("\n------------------------------\nYear:",year,"\n"))
+
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"Merged4CBN3.rda"))
+
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"HHHouseProperties.rda"))
+
+ SMD <- MD[,.(HHID,Year,Quarter,Month,Region,ProvinceCode,ProvinceName,
+ CountyCode,CountyName,NewArea,NewArea_Name,Weight,House_Exp,MainHouse_Exp,MeterPrice)]
+ SMD <- merge(SMD,HHHouseProperties[,.(HHID,tenure,area)])
+
+ bigMD <- rbind(bigMD,SMD)
+}
+
+bigMD <- bigMD[!is.na(MeterPrice)]
+
+bigMD[,GenClass:=ifelse(grepl("Sh_Tehran",NewArea_Name),"Tehran",NA)]
+bigMD[is.na(GenClass),GenClass:=ifelse(grepl("Sh_",NewArea_Name),"BigUrbanCounty",NA)]
+bigMD[is.na(GenClass) & Region=="Urban",GenClass:="Urabn"]
+bigMD[is.na(GenClass) & Region=="Rural",GenClass:="Rural"]
+
+bigMD[,HouseOwner:=tenure %in% c("OwnLandandBuilding","Apartment")]
+
+bigMD[tenure=="OwnLandandBuilding",HouseStatus:="Owns"]
+bigMD[tenure=="Apartment",HouseStatus:="Owns"]
+bigMD[tenure=="Rented",HouseStatus:="Rented"]
+bigMD[tenure=="Mortgage",HouseStatus:="Rented"]
+bigMD[tenure=="AgainstService",HouseStatus:="ForService"]
+bigMD[tenure=="Free",HouseStatus:="Free"]
+bigMD[tenure=="Other",HouseStatus:="Other"]
+
+table(bigMD$GenClass)
+windowsFonts(Cal = windowsFont("Calibri"),
+ CamM = windowsFont("Cambria Math"),
+ BNZ = windowsFont("B Nazanin"),
+ XBN = windowsFont("XB Niloofar"))
+
+#den <- density(x = (bigMD$MeterPrice), weights = bigMD$Weight/sum(bigMD$Weight))
+den <- density(x = log(bigMD$MeterPrice), weights = bigMD$Weight/sum(bigMD$Weight))
+
+library(hrbrthemes)
+bigMD[,ygn:=.N,by=.(Year,GenClass)]
+bigMD[,yghn:=.N,by=.(Year,GenClass,HouseOwner)]
+bigMD[,mean(yghn/ygn),by=.(Year,GenClass,HouseOwner)]
+g1 <- ggplot(bigMD,aes(x=log(MeterPrice),group=factor(HouseOwner,levels = c(TRUE,FALSE))))+
+ geom_density(aes(color=HouseOwner,
+ fill=HouseOwner,
+ weight=Weight/sum(Weight),
+ alpha=yghn/ygn),
+ ,adjust=1.5)+
+ facet_grid(Year~GenClass)+theme_bw()
+
+ggsave("G1.png",g1,width = 20,height = 20)
+
+TehMD <- bigMD[GenClass=="Tehran" & Year %in% c(96:99)]
+TehMD[,yhn:=.N,by=.(Year,HouseStatus)]
+TehMD[,yn:=.N,by=.(Year)]
+TehMD[,mean(yhn/yn),by=.(Year,HouseStatus)]
+
+g2 <- ggplot(TehMD,aes(x=log(MeterPrice),group=factor(HouseStatus,levels=c("Owns","Rented","Free","ForService"))))+
+ geom_density(aes(color=HouseStatus,
+ fill=HouseStatus,
+ weight=Weight/sum(Weight),
+ alpha=yhn/yn),
+ adjust=1.5)+
+ facet_grid(Year~GenClass)+ theme_bw()
+
+ggsave("G2.png",g2,width = 6,height = 8)
+
+spdhhs <- bigMD[GenClass=="Tehran" & Year==99 & log(MeterPrice)<11,HHID]
+
+bigMD[HHID %in% spdhhs & Year==99,.(log(MeterPrice),tenure)]
+View(bigMD[HHID %in% spdhhs,.(HHID,GenClass,Year,HouseStatus,House_Exp,MainHouse_Exp,area,MeterPrice)])
+
+par(family="XBN", cex=1)
+plot(den,xaxt = "n",yaxt="n",main = "",xlab = "",ylab = "",lwd=2)
+
+xlbln <- c(1e2,1e3,1e4,1e5,1e6,1e8)
+xlbls <- c("صد","هزار","ده هزار","صد هزار","میلیون","صد میلیون")
+xlbls <- paste("\u202B",xlbls)
+axis(1, at=log(xlbln), labels=xlbls)
+axis(2, at=c(0,.05,.1,.15,.2,.25,.30), labels=c("۰٫۰۰","۰٫۰۵","۰٫۱۰",
+ "۰٫۱۵","۰٫۲۰","۰٫۲۵","۰٫۳۰"))
+legend(13, .25, legend=c("میانگین"
+ , "مد",
+ "میانه"),
+ col=c("red", "blue","green"),lty=1:3,lwd=1,text.font=2)
+den$xorig <- den$x
+x0 <- den$x[-length(den$x)]
+x1 <- den$x[-1]
+dx <- x1-x0
+x <- (x0+x1)/2
+maxxinD2ex <- max(which(x10,
+ weighted.mean(`71111`+`71112`+`71116`+
+ `71117`,Weight)]
+ A2<-Value[`91128`+`91129`>0,weighted.mean(`91128`+`91129`,Weight)]
+ A3<-Value[`53112`>0,weighted.mean(`53112`,Weight)]
+ A4<-Value[`53116`>0,weighted.mean(`53116`,Weight)]
+ A5<-Value[`53113`>0,weighted.mean(`53113`,Weight)]
+ A6<-Value[`82113`>0,weighted.mean(`82113`,Weight)]
+ A7<-Value[`53125`>0,weighted.mean(`53125`,Weight)]
+ A8<-Value[`91311`>0,weighted.mean(`91311`,Weight)]
+ A9<-Value[`72111`>0,weighted.mean(`72111`,Weight)]
+ if (year!=92){
+ A10<-Value[`72118`>0,weighted.mean(`72118`,Weight)]
+ }
+ A11<-Value[`72319`>0,weighted.mean(`72319`,Weight)]
+
+ Value[car=="True",Added1:=A1-Auto_Sale] ### We use 0.05 instead of 0.1
+ Value[tvcr=="True",Added2:=A2-TV_Sale]
+ Value[freezer=="True" | frez_refrig=="True" | refrigerator=="True",
+ Added3:=A3-yakhchal_Sale]
+ Value[oven=="True",Added4:=A4-ojaghgaz_Sale]
+ Value[washer=="True",Added5:=A5-lebasshooyi_Sale]
+ Value[cellphone=="True",Added6:=A6-Mobile_Sale]
+ Value[cooler_gas=="True",Added7:=A7-Coolergazi_Sale]
+ Value[computer=="True",Added8:=A8-PC_Sale]
+ Value[car=="True",Added9:=A9-lastik_Sale]
+ if (year!=92){
+ Value[car=="True",Added10:=A10]
+ }
+ Value[car=="True",Added11:=A11]
+
+
+
+
+
+ Value[,Weight:=NULL]
+ if (year!=92){
+ dep <- c( "71111", "71112","71116", "71117",
+ "91128", "91129","53112", "53116",
+ "53113", "82113","53125", "91311",
+ "72111", "72118","72319")
+ }
+ if (year==92){
+ dep <- c( "71111", "71112","71116", "71117",
+ "91128", "91129","53112", "53116",
+ "53113", "82113","53125", "91311",
+ "72111","72319")
+ }
+
+ Value[, Total_Depreciated_Durable := Reduce(`+`, .SD), .SDcols=dep]
+ #Value[is.na(Value)] <- 0
+
+ if (year!=92){
+ Value[,Added:=Added1+Added2+Added3+Added4+Added5+Added6+
+ Added7+Added8+Added9+Added10+Added11]
+ }
+ if (year==92){
+ Value[,Added:=Added1+Added2+Added3+Added4+Added5+Added6+
+ Added7+Added8+Added9+Added11]
+ }
+ #load Expenditures
+
+ for(G in c("Foods","Cigars","Cloths","Amusements","Communications",
+ "Durables", "Education", "Furnitures","HotelRestaurants",
+ "HouseandEnergys","House", "Medicals","Hygienes","Transportations","Others",
+ "Resturants"
+ ,"Durablele_Detail"
+ )){
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,G,".rda"))
+
+ }
+
+ # load(file=paste0(Settings$HEISProcessedPath,"Y",year,"Added_Food.rda"))
+
+ #load Calories
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"Food_Calories.rda"))
+ FData[,Region:=NULL]
+ #for (col in c("FoodKCaloriesHH")) FData[is.na(get(col)), (col) := 0]
+ FData <- FData[FoodKCaloriesHH>0]
+
+ #merge groups
+ MD<-merge(HHBase,HHI ,by =c("HHID"),all=TRUE)
+ FData[,Size:=NULL]
+ MD<-merge(MD,FData ,by =c("HHID"),all=TRUE)
+ MD<-merge(MD,HHWeights ,by =c("HHID"),all=TRUE)
+ MD<-merge(MD,FoodData,by =c("HHID"),all=TRUE)
+ # MD<-merge(MD,Added_Food,by =c("HHID"),all=TRUE)
+ MD<-merge(MD,CigarData,by =c("HHID"),all=TRUE)
+ MD<-merge(MD,ClothData,by =c("HHID"),all=TRUE)
+ MD<-merge(MD,AmusementData,by =c("HHID"),all=TRUE)
+ MD<-merge(MD,CommunicationData,by =c("HHID"),all=TRUE)
+ MD<-merge(MD,EducData,by =c("HHID"),all=TRUE)
+ MD<-merge(MD,HouseandEnergyData,by =c("HHID"),all=TRUE)
+ MD<-merge(MD,HouseData,by =c("HHID"),all=TRUE)
+ MD<-merge(MD,FurnitureData,by =c("HHID"),all=TRUE)
+ MD<-merge(MD,HotelRestaurantData,by =c("HHID"),all=TRUE)
+ MD<-merge(MD,HygieneData,by =c("HHID"),all=TRUE)
+ MD<-merge(MD,TransportationData,by =c("HHID"),all=TRUE)
+ #MD<-merge(MD,BenzinData,by =c("HHID"),all=TRUE)
+ #MD<-merge(MD,GazData,by =c("HHID"),all=TRUE)
+ #MD<-merge(MD,BarghData,by =c("HHID"),all=TRUE)
+ #MD<-merge(MD,NaftSefidData,by =c("HHID"),all=TRUE)
+ MD<-merge(MD,OtherData,by =c("HHID"),all=TRUE)
+ MD<-merge(MD,MedicalData,by =c("HHID"),all=TRUE)
+ # MD<-merge(MD,NonFreeDurableData,by =c("HHID"),all=TRUE)
+ MD<-merge(MD,ResturantData,by =c("HHID"),all=TRUE)
+ MD<-merge(MD,Durablele_Detail,by =c("HHID"),all=TRUE)
+ MD<-merge(MD,Value,by =c("HHID"),all=TRUE)
+ #MD<-merge(MD,InvestmentData,by =c("HHID"),all=TRUE)
+ for (col in c("OriginalFoodExpenditure","FoodOtherExpenditure", "Cigar_Exp", "Cloth_Exp", "Amusement_Exp",
+ "Communication_Exp", "Education_Exp", "HouseandEnergy_Exp",
+ "Furniture_Exp", "HotelRestaurant_Exp", "Hygiene_Exp", "Transportation_Exp",
+ "Other_Exp", "Medical_Exp",
+ "Resturant_Exp","Durable_Exp", "Durable_Pure_Exp"
+ ,"Add_to_NonDurable","Durable_Dep",
+ "Durable_NoDep","Durable_Emergency","Total_Depreciated_Durable"
+ ))
+ MD[is.na(get(col)), (col) := 0]
+ # MD<-MD[,Yaraneh:=416000*Size]
+
+ MD<-merge(MD,Calorie_Need)
+ #load(file=paste0(Settings$HEISProcessedPath,"Y",year,"Durablele_Detail.rda"))
+ #MD<-merge(MD,Durablele_Detail)
+
+
+
+
+ # "", ,"ServiceExp"
+ #,"","Durable_Dep", "","",""
+
+
+ #Calculate Monthly Total Expenditures
+ d <- c("OriginalFoodExpenditure",
+ "FoodOtherExpenditure",
+ "Cigar_Exp", "Cloth_Exp",
+ "HouseandEnergy_Exp", "Furniture_Exp", "Hygiene_Exp", "Medical_Exp", "Transportation_Exp",
+ "Communication_Exp", "Amusement_Exp", "HotelRestaurant_Exp", "Other_Exp"
+ #,"Added"
+ )
+ nd <- c("Durable_Pure_Exp"
+ ,"Education_Exp"
+ )
+ f <- c("OriginalFoodExpenditure","FoodOtherExpenditure", "Cigar_Exp")
+
+
+ h <- c("HouseandEnergy_Exp")
+ furn <- c("Furniture_Exp")
+ b<- c( "Hygiene_Exp","Medical_Exp")
+ zirs <- c("Transportation_Exp","Communication_Exp")
+ #"", # "", "Amusement_Exp", "HotelRestaurant_Exp", "Other_Exp"
+ #,"Added"
+
+ # w <- c(nw, "Medical_Exp", "NonFreeDurable_Exp")
+ #w <- c(nw, "Medical_Exp", "Durable_Pure_Exp")
+ # pw <- c(nw, "Added_Food_Exp_Month")
+ #Lw <- c(pw, "Medical_Exp", "Durable_Exp")
+
+ MD[, Total_Exp_Month_ND := Reduce(`+`, .SD), .SDcols=nd]
+ MD[, Total_Exp_Month_durable := Reduce(`+`, .SD), .SDcols=d]
+ MD[, Total_Exp_Month_food := Reduce(`+`, .SD), .SDcols=f]
+ MD[, Total_Exp_Month_house := Reduce(`+`, .SD), .SDcols=h]
+ MD[, Total_Exp_Month_furniture := Reduce(`+`, .SD), .SDcols=furn]
+ MD[, Total_Exp_Month_behdasht := Reduce(`+`, .SD), .SDcols=b]
+ MD[, Total_Exp_Month_zirs := Reduce(`+`, .SD), .SDcols=zirs]
+ #cat(MD[,weighted.mean(Total_Exp_Month,Weight)])
+# cat(MD[,weighted.mean(Total_Exp_Month_nondurable,Weight)])
+ MD<-merge(MD,HHWeights)
+ MD1 <- MD[,.(HHID,Total_Exp_Month_ND,Total_Exp_Month_durable,Weight,Region,Size, Durable_Exp,
+ Total_Exp_Month_ND ,Total_Exp_Month_durable, Total_Exp_Month_food , Total_Exp_Month_house,
+ Total_Exp_Month_furniture , Total_Exp_Month_behdasht, Total_Exp_Month_zirs
+ ,NewArea,NewArea_Name, Total_Exp_Month_food,Total_Exp_Month_house)]
+ MD1 <- MD1[,Texp:=(Total_Exp_Month_ND+Total_Exp_Month_durable)*12]
+ MD1 <- MD1[,TFexp:=Total_Exp_Month_food*12]
+
+ MD1 <- MD1[order(Region, Texp)] # I removed Region from ordering, deciling is not divided
+ #into rural/urban (M.E. 5/11/2020)
+
+
+ MD1 <- MD1[,crw:=cumsum(Weight)/sum(Weight),by=Region] # Cumulative Relative Weight
+ MD1 <- MD1[,crexp:=cumsum(Texp*Weight)/sum(Texp*Weight),by=Region] # Cumulative Relative Weight
+ MD1 <- MD1[,Decile:=cut(crw,breaks = seq(0,1,.1),labels = 1:10),by=Region]
+ MD1 <- MD1[,Decile_amar:=Decile]
+ MD_amar <- MD1[,.(HHID,Region,Decile_amar,Texp)]
+ cat(MD1[,sum(Weight*Size)])
+ save(MD_amar,file=paste0(Settings$HEISProcessedPath,"Y",year,"Decile_amar.rda"))
+
+ IncomeTable <- data.table()
+ IncomeTable<- MD1[]
+ IncomeTable<-IncomeTable[!is.na(Weight)]
+ g <- data.table()
+ g <- IncomeTable[,weighted.gini(Texp,Weight)]
+ g <- g[,Year:=year]
+ g_r <- data.table()
+ g_r <- IncomeTable[Region=="Rural",weighted.gini(Texp,Weight)]
+ g_r <- g_r[,Region:="Rural"]
+ g_r <- g_r[,Year:=year]
+ g_u <- data.table()
+ g_u <- IncomeTable[Region=="Urban",weighted.gini(Texp,Weight)]
+ g_u <- g_u[,Region:="Urban"]
+ g_u <- g_u[,Year:=year]
+ g1 <- rbind(g1,g)
+ g1_u <- rbind(g1_u,g_u)
+ g1_r <- rbind(g1_r,g_r)
+ MD1 <- MD1[,Exp_Reg:=weighted.mean(Texp,Weight)/10^6, by=c("Region")]
+ MD1 <- MD1[,Exp_h_Reg:=weighted.mean(Total_Exp_Month_house,Weight)*12/10^6, by=c("Region")]
+ MD1 <- MD1[order(Region, NewArea_Name)]
+ MD1 <- MD1[,Exp_f_Reg:=weighted.mean(TFexp,Weight)/10^6, by=c("Region")]
+ MD1 <- MD1[,food_ratio_Reg:=Exp_f_Reg/Exp_Reg]
+ MD1 <- MD1[,hous_ratio_Reg:=Exp_h_Reg/Exp_Reg]
+ MD1 <- MD1[,Exp_decile:=weighted.mean(Texp ,Weight) , by=c("Region", "Decile") ]
+ MD1 <- MD1[,Exp_f_decile:=weighted.mean(TFexp ,Weight) , by=c("Region", "Decile") ]
+ MD1 <- MD1[,Exp_h_decile:=weighted.mean(Total_Exp_Month_house ,Weight) , by=c("Region", "Decile") ]
+ MD2 <- MD1[,.(Exp_decile, Decile,Region,Exp_f_decile,Exp_h_decile,food_ratio_Reg,hous_ratio_Reg)]
+ MD2 <- unique(MD2)
+ MD2 <- MD2[,food_ratio:=Exp_f_decile/Exp_decile]
+ MD2 <- MD2[,hous_ratio:=Exp_h_decile/Exp_decile*12]
+ MD2 <- MD2[, Year:=year]
+ MDq <- rbind(MD2,MDq)
+ #MDq <- merge(MDq,g,by=c("Year"))
+ #MD2 <- MD2[,gini1:=weighted.gini(Exp_decile,Weight )]
+ #MD1 <- MD1[,Exp_decile:=weighted.mean(Texp,Weight), by=c(Region,Decile)]
+
+ #cat(MD1[Region=="Urban",weighted.mean(Exp_f_Reg,Weight,na.rm = TRUE)],"\t")
+ # cat(MD1[Region=="Urban",weighted.mean(Exp_Reg,Weight,na.rm = TRUE)],"\n")
+
+
+ #cat(MD[,weighted.mean(Added1,Weight,na.rm = TRUE)],"\n")
+
+
+ }
+
+colnames(g1_u)[colnames(g1_u) == 'Gini'] <- 'Gini_u'
+colnames(g1_r)[colnames(g1_r) == 'Gini'] <- 'Gini_r'
+Final <- data.table()
+Final <- merge(MDq,g1[,.(Gini,Year)])
+Final <- merge(Final,g1_u[,.(Gini_u,Year,Region)],by=c("Year","Region"),all =TRUE)
+Final <- merge(Final,g1_r[,.(Gini_r,Year,Region)],by=c("Year","Region"),all =TRUE)
+
+library(writexl)
+write_xlsx(Final,"E:/decile_exp.xlsx")
+
diff --git a/R/Decile/decile_nominal.R b/R/Decile/decile_nominal.R
new file mode 100644
index 00000000..73b3c492
--- /dev/null
+++ b/R/Decile/decile_nominal.R
@@ -0,0 +1,47 @@
+
+rm(list=ls())
+
+Dcile <- data.table()
+
+starttime <- proc.time()
+cat("\n\n================ Deciling for normal calculations =====================================\n")
+
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+#library(readxl)
+library(data.table)
+library(ggplot2)
+Dcile<-data.table()
+year <- 98
+for(year in (Settings$startyear:Settings$endyear)){
+ cat(paste0("\n------------------------------\nYear:",year,"\n"))
+
+
+ # load data --------------------------------------
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"Merged4CBN3.rda"))
+
+
+ ###Nominal- Country
+ MD<- MD[order(Region, Total_Exp_Month_Per_nondurable)] #Deciling in Countrym region(Nominal)
+ MD <- MD[,crw2:=cumsum(Weight*Size)/sum(Weight*Size),by=Region] # Cumulative Relative Weight
+
+ MD[,Decile:=cut(crw2,breaks = seq(0,1,.1),labels = 1:10),by=Region]
+ MD[,Percentile:=cut(crw2,breaks=seq(0,1,.01),labels=1:100),by=Region]
+ MD1 <- MD[,.(Region,crw2,Total_Exp_Month_Per_nondurable,Weight,Size,Decile)]
+ MD1 <- MD1[,.(Texp_per_Decile=sum(Total_Exp_Month_Per_nondurable*Weight*Size)/sum(Weight*Size)),by=c("Decile","Region")]
+ MD1 <- MD1[, Year:=year]
+ Dcile <- rbind(Dcile,MD1)
+
+ NRMD <- MD[,.(HHID,Decile,Percentile,Region)]
+ colnames(NRMD)[colnames(NRMD) == 'Decile'] <- 'Decile_NonReal'
+ cat(MD[,sum(Weight*Size)])
+ save(NRMD,file=paste0(Settings$HEISProcessedPath,"Y",year,"Deciles_Nonreal.rda"))
+}
+
+NRMD <- NRMD[,t:="??"]
+
+library(writexl)
+write_xlsx(Dcile[Region=="Urban",],"E:/decile_exp_96-98U.xlsx")
+write_xlsx(Dcile[Region=="Rural",],"E:/decile_exp_96-98R.xlsx")
+write_xlsx(NRMD,"E:/NRMD.xlsx")
diff --git a/R/Decile/decile_real.R b/R/Decile/decile_real.R
new file mode 100644
index 00000000..bd0c4ce1
--- /dev/null
+++ b/R/Decile/decile_real.R
@@ -0,0 +1,153 @@
+
+Decile_MD <- MD [,.(HHID,Total_Exp_Month_Per_nondurable,Size,Weight)]
+Decile_MD <- Decile_MD[order(Total_Exp_Month_Per_nondurable)]
+Decile_MD <- Decile_MD[,crw:=cumsum(Weight*Size)/sum(Weight*Size)]
+Decile_MD <- Decile_MD[,Decile_non_real:=cut(crw,breaks = seq(0,1,.1),labels = 1:10)]
+#MD <- merge(MD,Decile_MD[,c("HHID","Decile_non_real")],by="HHID")
+save(Decile_MD,file=paste0(Settings$HEISProcessedPath,"Y",year,"Decile_non_real.rda"))
+
+#164-Step 4-FindInitialPoor.R
+#
+# Copyright © 2020:Majid Einian & Arin Shahbazian
+# Licence: GPL-3
+
+rm(list=ls())
+
+starttime <- proc.time()
+cat("\n\n================ Nominal to Real =====================================\n")
+
+library(yaml)
+Settings <- yaml.load_file("Settings.yaml")
+
+library(readxl)
+library(data.table)
+#library(ggplot2)
+#library(compare)
+source("142-Calculate_OwnedDurableItemsDepreciation_FunctionDef.R")
+# Function Defs ---------------------------------------------------------------------------------
+CalcTornqvistIndex <- function(DataTable){
+
+ X <- DataTable[,.(N=.N,wi1=weighted.mean(FoodExpenditure/Total_Exp_Month,Weight,na.rm = TRUE),
+ wi2=weighted.mean(House_Exp/Total_Exp_Month,Weight,na.rm = TRUE),
+ pi1=weighted.mean(Bundle_Value,Weight,na.rm = TRUE),
+ pi2=weighted.mean(MeterPrice,Weight,na.rm = TRUE)),by=.(Region,NewArea_Name)]
+
+ X[,wi:=wi1+wi2]
+ X[,wi1:=wi1/wi]
+ X[,wi2:=wi2/wi]
+ XTeh<-X[NewArea_Name=="Sh_Tehran"]
+ wk1<-XTeh$wi1 # k == Sh_Tehran
+ wk2<-XTeh$wi2
+ pk1<-XTeh$pi1
+ pk2<-XTeh$pi2
+
+ X[,SimpleIndex:= .5 * pi1/pk1 + .5 * pi2/pk2]
+ X[,AnotherIndex:= wi1 * pi1/pk1 + wi2 * pi2/pk2]
+
+ X[,TornqvistIndex:= exp( (wk1+wi1)/2 * log(pi1/pk1) + (wk2+wi2)/2 * log(pi2/pk2) ) ]
+
+ return(X[,.(Region,NewArea_Name,PriceIndex=TornqvistIndex)])
+}
+
+
+DoDeciling <- function(DataTable,PriceIndexDT){
+
+ if("PriceIndex" %in% names(DataTable)){
+ DataTable <- DataTable[,PriceIndex:=NULL]
+ }
+ DataTable <- merge(DataTable,PriceIndexDT,by=c("Region","NewArea_Name"))
+ DataTable <- DataTable[,Total_Exp_Month_Per_nondurable_Real:=Total_Exp_Month_Per_nondurable/PriceIndex]
+ DataTable <- DataTable[order(Total_Exp_Month_Per_nondurable_Real)] # I removed Region from ordering, deciling is not divided into rural/urban (M.E. 5/11/2020)
+ DataTable <- DataTable[,crw:=cumsum(Weight*Size)/sum(Weight*Size)] # Cumulative Relative Weight
+ #Calculate deciles by weights
+ DataTable <- DataTable[,Decile:=cut(crw,breaks = seq(0,1,.1),labels = 1:10)]
+ DataTable <- DataTable[,Percentile:=cut(crw,breaks=seq(0,1,.01),labels=1:100)]
+ return(DataTable)
+}
+
+UpdateForDurableDepr <- function(DataTable,ODIDep){
+ DataTable[,OwnedDurableItemsDepreciation:=NULL]
+ DataTable <- merge(DataTable,ODIDep)
+
+ for (col in Settings$w)
+ DataTable[is.na(get(col)), (col) := 0]
+
+ DataTable[, Total_Exp_Month := Reduce(`+`, .SD), .SDcols=Settings$w]
+ DataTable[, Total_Exp_Month_nondurable := Reduce(`+`, .SD), .SDcols=Settings$nw]
+
+ DataTable[,Total_Exp_Month_Per:=Total_Exp_Month/EqSizeOECD]
+ DataTable[,Total_Exp_Month_Per_nondurable:=Total_Exp_Month_nondurable/EqSizeOECD]
+}
+
+DurableItems <- data.table(read_excel(Settings$MetaDataFilePath,
+ sheet=Settings$MDS_DurableItemsDepr))
+year<- 98
+for(year in (Settings$startyear:Settings$endyear)){
+
+ cat(paste0("\n------------------------------\nYear:",year,"\n"))
+
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"DurableData_Detail.rda"))
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"OwnsDurableItems.rda"))
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"Merged4CBN3.rda"))
+
+ SMD <- MD[,.(HHID,Region,
+ House_Exp,FoodExpenditure,Total_Exp_Month,
+ NewArea,NewArea_Name,Total_Exp_Month_Per_nondurable,TOriginalFoodExpenditure_Per,
+ TFoodKCaloriesHH_Per,Calorie_Need_WorldBank,Calorie_Need_NutritionInstitute,
+ Weight,MeterPrice,Size,EqSizeOECD
+ ,OriginalFoodExpenditure,FoodOtherExpenditure, Cigar_Exp, Cloth_Exp,
+ Amusement_Exp, Communication_Exp,
+ Energy_Exp, Furniture_Exp, Hotel_Exp,Restaurant_Exp, Hygiene_Exp,
+ Transportation_Exp, Other_Exp
+ ,Add_to_NonDurable,Medical_Exp,
+ Durable_NoDep,Durable_Emergency,OwnedDurableItemsDepreciation)]
+
+
+ #Choose one of these
+ SMD[,Bundle_Value:=TOriginalFoodExpenditure_Per*Calorie_Need_WorldBank/TFoodKCaloriesHH_Per]
+ #SMD[,Bundle_Value:=TOriginalFoodExpenditure_Per*Calorie_Need_NutritionInstitute/TFoodKCaloriesHH_Per]
+ #SMD[,Bundle_Value:=TOriginalFoodExpenditure_Per*Settings$KCaloryNeed_Adult_WorldBank/TFoodKCaloriesHH_Per]
+ #SMD[,Bundle_Value:=TOriginalFoodExpenditure_Per*Settings$KCaloryNeed_Adult_NutritionInstitute/TFoodKCaloriesHH_Per]
+
+
+ SMD <- SMD[Bundle_Value<=5000000 | TFoodKCaloriesHH_Per>=300] #arbitrary measures, TODO: check in diff years
+
+ # S1<-SMD[,.(HHID,Region,NewArea_Name,TFoodKCaloriesHH_Per,Bundle_Value)]
+
+
+ PriceDT <- CalcTornqvistIndex(SMD)
+
+ SMD <- DoDeciling(SMD,PriceDT)
+
+ OwnedDurableItemsDepreciation <-
+ Calculate_OwnedDurableItemsDepreciation(
+ DurableData_ExpDetail = DurableData_Detail,
+ DurableItems_OwningDetail = OwnsDurableItems,
+ by = c("Item","Decile"),
+ Decile = SMD[,.(HHID,Decile)],
+ DurableItems = DurableItems)
+
+ SMD <- UpdateForDurableDepr(SMD,OwnedDurableItemsDepreciation)
+
+ SMD <- SMD[,IPboPct:=ifelse(Percentile %in% Settings$InitialPoorPercentile,1,0)]
+ # IPboPct : InitialPoorBasedOnRealIterativePercentile
+ # IPboPctLI: InitialPoorBasedOnRealIterativePercentileLastIteration
+
+ SMD[,IPboPctLI:=1]
+
+ setnames(SMD,"IPboPct","InitialPoor") # or maybe InitialPoorBasedOnRealIterativePercentile !
+
+ SMD <- SMD[,setdiff(names(SMD),c("First25","IPboPctLI")),with=FALSE]
+
+ mdset <- setdiff(names(MD),names(SMD))
+ MD <- merge(MD[,c("HHID",mdset),with=FALSE],SMD,by="HHID")
+ Decile_R <- MD[,.(HHID,Percentile,Decile,Region)]
+ save(Decile_R,file=paste0(Settings$HEISProcessedPath,"Y",year,"Deciles_real.rda"))
+ cat(MD[,sum(Weight*Size)])
+
+}
+
+endtime <- proc.time()
+cat("\n\n============================\nIt took ")
+cat((endtime-starttime)["elapsed"])
+cat(" seconds")
diff --git a/R/Decile/graph_distribution of Non_real.R b/R/Decile/graph_distribution of Non_real.R
new file mode 100644
index 00000000..5cabbdbb
--- /dev/null
+++ b/R/Decile/graph_distribution of Non_real.R
@@ -0,0 +1,172 @@
+rm(list=ls())
+
+library(yaml)
+library(data.table)
+library(readxl)
+library(rworldmap)
+library(rgdal)
+Settings <- yaml.load_file("Settings.yaml")
+
+GeP_kham <- data.table(read_excel("~/GitHub/IRHEIS/IranProvinceMap/Data/GeoData.xlsx","Province")) # Data to be plotted, see the excell file
+
+
+GeP_kar2 <- data.table(read_excel("e:/dahak/decile_pro_non_real_inProvince.xlsx")) # Data to be plotted, see the excell file
+
+
+GeP_Final <- merge(GeP_kham[,.(NameEn2,ProvinceName)],GeP_kar2[,.(ProvinceName,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10)], by="ProvinceName",all=TRUE)
+GeP_Final <- GeP_Final[,p_poor:=p1+p2+p3]
+GeP_Final <- GeP_Final[,p_huge:=max(p1,p2,p3,p4,p5,p6,p7,p8,p9,p10),by="ProvinceName"]
+GeP_Final <- GeP_Final[,p_max:=ifelse(p_huge==p1,1,
+ ifelse(p_huge==p2,2,
+ ifelse(p_huge==p3,3,
+ ifelse(p_huge==p4,4,
+ ifelse(p_huge==p5,5,
+ ifelse(p_huge==p6,6,
+ ifelse(p_huge==p7,7,
+ ifelse(p_huge==p8,8,
+ ifelse(p_huge==p9,9,10)))))))))]
+
+
+GeP<- GeP_Final
+
+
+
+
+tfs <- paste0("+proj=lcc +lat_1=30 +lat_2=36 +lat_0=24 +lon_0=54 ",
+ "+x_0=0 +y_0=0 +datum=WGS84 +units=m +no_defs ",
+ "+ellps=WGS84 +towgs84=0,0,0") # Transformation to make all shapefiles in one coordinate system
+
+o <- capture.output(Seas <- readOGR("Shapefiles/1385",
+ layer = "Sea")) # Maps of Caspian Sea, Persian Gulf, & Oman Sea
+Seas <- spTransform(Seas,CRS(tfs))
+
+o <- capture.output(Lakes <- readOGR("Shapefiles/1385", # Maps of Lakes
+ layer = "Lake"))
+Lakes <- spTransform(Lakes,CRS(tfs))
+
+o <- capture.output(ProvMap <- readOGR("Shapefiles/OSM", # Maps of provinces based on latest admin. areas.
+ layer = "Iran_AL4")) # extracted from openstreetmaps.org
+ProvMap <- spTransform(ProvMap,CRS(tfs))
+
+MapData <- rworldmap::joinData2Map(GeP, # Joining the data to map
+ nameMap="ProvMap",
+ nameJoinIDMap="ENNAME", # province name in shapefile
+ nameJoinColumnData="NameEn2", # province name in data excel
+ verbose = TRUE)
+
+jpeg("e:dahak/11.jpg", width = 500)
+plot(Seas,col="lightblue", border="lightblue") # plot seas
+plot(Lakes[c(15,25),],add=TRUE,col="lightblue", border="lightblue") # plot just Urmia and Qom lakes
+
+mapParams <- rworldmap::mapPolys(MapData, add = TRUE, nameColumnToPlot = "p_poor", #select variable
+ colourPalette = "heat",
+ mapTitle = paste0("3D national poors in province"),
+ addLegend = FALSE) # Plot data
+do.call( addMapLegend, c( mapParams
+ , legendLabels = "all" # add legend
+ , digits = 2
+ , legendWidth = 0.7
+ , legendShrink = .5
+ , horizontal = TRUE))
+dev.off()
+jpeg("e:dahak/12.jpg", width = 500)
+
+plot(Seas,col="lightblue", border="lightblue") # plot seas
+plot(Lakes[c(15,25),],add=TRUE,col="lightblue", border="lightblue") # plot just Urmia and Qom lakes
+
+
+mapParams <- rworldmap::mapPolys(MapData, add = TRUE, nameColumnToPlot = "p10", #select variable
+ colourPalette = "heat",
+ mapTitle = paste0("1D national rich in province"),
+ addLegend = FALSE) # Plot data
+do.call( addMapLegend, c( mapParams
+ , legendLabels = "all" # add legend
+ , digits = 2
+ , legendWidth = 0.7
+ , legendShrink = .5
+ , horizontal = TRUE))
+dev.off()
+
+
+jpeg("e:dahak/13.jpg", width = 500)
+
+plot(Seas,col="lightblue", border="lightblue") # plot seas
+plot(Lakes[c(15,25),],add=TRUE,col="lightblue", border="lightblue") # plot just Urmia and Qom lakes
+
+
+mapParams <- rworldmap::mapPolys(MapData, add = TRUE, nameColumnToPlot = "p_max", #select variable
+ colourPalette = "heat",
+ mapTitle = paste0("huge D in province"),
+ addLegend = FALSE) # Plot data
+do.call( addMapLegend, c( mapParams
+ , legendLabels = "all" # add legend
+ , digits = 2
+ , legendWidth = 0.7
+ , legendShrink = .5
+ , horizontal = TRUE))
+dev.off()
+
+
+GeP_kar1 <- data.table(read_excel("e:/dahak/decile_pro_non_real_inDecile.xlsx")) # Data to be plotted, see the excell file
+
+
+GeP_Final <- merge(GeP_kham[,.(NameEn2,ProvinceName)],GeP_kar1[,.(ProvinceName,p,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10)], by="ProvinceName",all=TRUE)
+GeP_Final <- GeP_Final[,p_poor:=p1+p2+p3]
+
+GeP<- GeP_Final
+
+
+tfs <- paste0("+proj=lcc +lat_1=30 +lat_2=36 +lat_0=24 +lon_0=54 ",
+ "+x_0=0 +y_0=0 +datum=WGS84 +units=m +no_defs ",
+ "+ellps=WGS84 +towgs84=0,0,0") # Transformation to make all shapefiles in one coordinate system
+
+o <- capture.output(Seas <- readOGR("Shapefiles/1385",
+ layer = "Sea")) # Maps of Caspian Sea, Persian Gulf, & Oman Sea
+Seas <- spTransform(Seas,CRS(tfs))
+
+o <- capture.output(Lakes <- readOGR("Shapefiles/1385", # Maps of Lakes
+ layer = "Lake"))
+Lakes <- spTransform(Lakes,CRS(tfs))
+
+o <- capture.output(ProvMap <- readOGR("Shapefiles/OSM", # Maps of provinces based on latest admin. areas.
+ layer = "Iran_AL4")) # extracted from openstreetmaps.org
+ProvMap <- spTransform(ProvMap,CRS(tfs))
+
+MapData <- rworldmap::joinData2Map(GeP, # Joining the data to map
+ nameMap="ProvMap",
+ nameJoinIDMap="ENNAME", # province name in shapefile
+ nameJoinColumnData="NameEn2", # province name in data excel
+ verbose = TRUE)
+
+jpeg("e:dahak/21.jpg", width = 500)
+plot(Seas,col="lightblue", border="lightblue") # plot seas
+plot(Lakes[c(15,25),],add=TRUE,col="lightblue", border="lightblue") # plot just Urmia and Qom lakes
+
+mapParams <- rworldmap::mapPolys(MapData, add = TRUE, nameColumnToPlot = "p_poor", #select variable
+ colourPalette = "heat",
+ mapTitle = paste0("3D national poors in decile"),
+ addLegend = FALSE) # Plot data
+do.call( addMapLegend, c( mapParams
+ , legendLabels = "all" # add legend
+ , digits = 2
+ , legendWidth = 0.7
+ , legendShrink = .5
+ , horizontal = TRUE))
+dev.off()
+jpeg("e:dahak/22.jpg", width = 500)
+
+plot(Seas,col="lightblue", border="lightblue") # plot seas
+plot(Lakes[c(15,25),],add=TRUE,col="lightblue", border="lightblue") # plot just Urmia and Qom lakes
+
+
+mapParams <- rworldmap::mapPolys(MapData, add = TRUE, nameColumnToPlot = "p10", #select variable
+ colourPalette = "heat",
+ mapTitle = paste0("1D national rich in decile"),
+ addLegend = FALSE) # Plot data
+do.call( addMapLegend, c( mapParams
+ , legendLabels = "all" # add legend
+ , digits = 2
+ , legendWidth = 0.7
+ , legendShrink = .5
+ , horizontal = TRUE))
+dev.off()
\ No newline at end of file
diff --git a/R/Decile/graph_distribution of real.R b/R/Decile/graph_distribution of real.R
new file mode 100644
index 00000000..7ed54eda
--- /dev/null
+++ b/R/Decile/graph_distribution of real.R
@@ -0,0 +1,169 @@
+rm(list=ls())
+
+library(yaml)
+library(data.table)
+library(readxl)
+library(rworldmap)
+library(rgdal)
+Settings <- yaml.load_file("Settings.yaml")
+
+GeP_kham <- data.table(read_excel("~/GitHub/IRHEIS/IranProvinceMap/Data/GeoData.xlsx","Province")) # Data to be plotted, see the excell file
+
+
+GeP_kar2 <- data.table(read_excel("e:/dahak/decile_pro_real_inProvince.xlsx")) # Data to be plotted, see the excell file
+
+
+GeP_Final <- merge(GeP_kham[,.(NameEn2,ProvinceName)],GeP_kar2[,.(ProvinceName,p10,p1,p2,p3,p4,p5,p6,p7,p8,p9)], by="ProvinceName",all=TRUE)
+GeP_Final <- GeP_Final[,p_poor:=p1+p2+p3]
+GeP_Final <- GeP_Final[,p_huge:=max(p1,p2,p3,p4,p5,p6,p7,p8,p9,p10),by="ProvinceName"]
+GeP_Final <- GeP_Final[,p_max:=ifelse(p_huge==p1,1,
+ ifelse(p_huge==p2,2,
+ ifelse(p_huge==p3,3,
+ ifelse(p_huge==p4,4,
+ ifelse(p_huge==p5,5,
+ ifelse(p_huge==p6,6,
+ ifelse(p_huge==p7,7,
+ ifelse(p_huge==p8,8,
+ ifelse(p_huge==p9,9,10)))))))))]
+GeP<- GeP_Final
+
+
+
+
+tfs <- paste0("+proj=lcc +lat_1=30 +lat_2=36 +lat_0=24 +lon_0=54 ",
+ "+x_0=0 +y_0=0 +datum=WGS84 +units=m +no_defs ",
+ "+ellps=WGS84 +towgs84=0,0,0") # Transformation to make all shapefiles in one coordinate system
+
+o <- capture.output(Seas <- readOGR("Shapefiles/1385",
+ layer = "Sea")) # Maps of Caspian Sea, Persian Gulf, & Oman Sea
+Seas <- spTransform(Seas,CRS(tfs))
+
+o <- capture.output(Lakes <- readOGR("Shapefiles/1385", # Maps of Lakes
+ layer = "Lake"))
+Lakes <- spTransform(Lakes,CRS(tfs))
+
+o <- capture.output(ProvMap <- readOGR("Shapefiles/OSM", # Maps of provinces based on latest admin. areas.
+ layer = "Iran_AL4")) # extracted from openstreetmaps.org
+ProvMap <- spTransform(ProvMap,CRS(tfs))
+
+MapData <- rworldmap::joinData2Map(GeP, # Joining the data to map
+ nameMap="ProvMap",
+ nameJoinIDMap="ENNAME", # province name in shapefile
+ nameJoinColumnData="NameEn2", # province name in data excel
+ verbose = TRUE)
+
+jpeg("e:dahak/211.jpg", width = 500)
+plot(Seas,col="lightblue", border="lightblue") # plot seas
+plot(Lakes[c(15,25),],add=TRUE,col="lightblue", border="lightblue") # plot just Urmia and Qom lakes
+
+mapParams <- rworldmap::mapPolys(MapData, add = TRUE, nameColumnToPlot = "p_poor", #select variable
+ colourPalette = "heat",
+ mapTitle = paste0("3D national poors in province"),
+ addLegend = FALSE) # Plot data
+do.call( addMapLegend, c( mapParams
+ , legendLabels = "all" # add legend
+ , digits = 2
+ , legendWidth = 0.7
+ , legendShrink = .5
+ , horizontal = TRUE))
+dev.off()
+jpeg("e:dahak/212.jpg", width = 500)
+
+plot(Seas,col="lightblue", border="lightblue") # plot seas
+plot(Lakes[c(15,25),],add=TRUE,col="lightblue", border="lightblue") # plot just Urmia and Qom lakes
+
+
+mapParams <- rworldmap::mapPolys(MapData, add = TRUE, nameColumnToPlot = "p10", #select variable
+ colourPalette = "heat",
+ mapTitle = paste0("1D national rich in province"),
+ addLegend = FALSE) # Plot data
+do.call( addMapLegend, c( mapParams
+ , legendLabels = "all" # add legend
+ , digits = 2
+ , legendWidth = 0.7
+ , legendShrink = .5
+ , horizontal = TRUE))
+dev.off()
+jpeg("e:dahak/213.jpg", width = 500)
+
+plot(Seas,col="lightblue", border="lightblue") # plot seas
+plot(Lakes[c(15,25),],add=TRUE,col="lightblue", border="lightblue") # plot just Urmia and Qom lakes
+
+
+mapParams <- rworldmap::mapPolys(MapData, add = TRUE, nameColumnToPlot = "p_max", #select variable
+ colourPalette = "heat",
+ mapTitle = paste0("huge D national rich in province"),
+ addLegend = FALSE) # Plot data
+do.call( addMapLegend, c( mapParams
+ , legendLabels = "all" # add legend
+ , digits = 2
+ , legendWidth = 0.7
+ , legendShrink = .5
+ , horizontal = TRUE))
+dev.off()
+GeP_kar1 <- data.table(read_excel("e:/dahak/decile_pro_real_inDecile.xlsx")) # Data to be plotted, see the excell file
+
+
+GeP_Final <- merge(GeP_kham[,.(NameEn2,ProvinceName)],GeP_kar1[,.(ProvinceName,p,p10,p1,p2,p3)], by="ProvinceName",all=TRUE)
+GeP_Final <- GeP_Final[,p_poor:=p1+p2+p3]
+
+
+GeP<- GeP_Final
+
+
+
+
+tfs <- paste0("+proj=lcc +lat_1=30 +lat_2=36 +lat_0=24 +lon_0=54 ",
+ "+x_0=0 +y_0=0 +datum=WGS84 +units=m +no_defs ",
+ "+ellps=WGS84 +towgs84=0,0,0") # Transformation to make all shapefiles in one coordinate system
+
+o <- capture.output(Seas <- readOGR("Shapefiles/1385",
+ layer = "Sea")) # Maps of Caspian Sea, Persian Gulf, & Oman Sea
+Seas <- spTransform(Seas,CRS(tfs))
+
+o <- capture.output(Lakes <- readOGR("Shapefiles/1385", # Maps of Lakes
+ layer = "Lake"))
+Lakes <- spTransform(Lakes,CRS(tfs))
+
+o <- capture.output(ProvMap <- readOGR("Shapefiles/OSM", # Maps of provinces based on latest admin. areas.
+ layer = "Iran_AL4")) # extracted from openstreetmaps.org
+ProvMap <- spTransform(ProvMap,CRS(tfs))
+
+MapData <- rworldmap::joinData2Map(GeP, # Joining the data to map
+ nameMap="ProvMap",
+ nameJoinIDMap="ENNAME", # province name in shapefile
+ nameJoinColumnData="NameEn2", # province name in data excel
+ verbose = TRUE)
+
+jpeg("e:dahak/221.jpg", width = 500)
+plot(Seas,col="lightblue", border="lightblue") # plot seas
+plot(Lakes[c(15,25),],add=TRUE,col="lightblue", border="lightblue") # plot just Urmia and Qom lakes
+
+mapParams <- rworldmap::mapPolys(MapData, add = TRUE, nameColumnToPlot = "p_poor", #select variable
+ colourPalette = "heat",
+ mapTitle = paste0("3D national poors in decile"),
+ addLegend = FALSE) # Plot data
+do.call( addMapLegend, c( mapParams
+ , legendLabels = "all" # add legend
+ , digits = 2
+ , legendWidth = 0.7
+ , legendShrink = .5
+ , horizontal = TRUE))
+dev.off()
+jpeg("e:dahak/222.jpg", width = 500)
+
+plot(Seas,col="lightblue", border="lightblue") # plot seas
+plot(Lakes[c(15,25),],add=TRUE,col="lightblue", border="lightblue") # plot just Urmia and Qom lakes
+
+
+mapParams <- rworldmap::mapPolys(MapData, add = TRUE, nameColumnToPlot = "p10", #select variable
+ colourPalette = "heat",
+ mapTitle = paste0("1D national rich in decile"),
+ addLegend = FALSE) # Plot data
+do.call( addMapLegend, c( mapParams
+ , legendLabels = "all" # add legend
+ , digits = 2
+ , legendWidth = 0.7
+ , legendShrink = .5
+ , horizontal = TRUE))
+dev.off()
\ No newline at end of file
diff --git a/R/HouseHoldSurvey.Rproj b/R/HouseHoldSurvey.Rproj
new file mode 100644
index 00000000..5183317f
--- /dev/null
+++ b/R/HouseHoldSurvey.Rproj
@@ -0,0 +1,13 @@
+Version: 1.0
+
+RestoreWorkspace: Default
+SaveWorkspace: Default
+AlwaysSaveHistory: Default
+
+EnableCodeIndexing: Yes
+UseSpacesForTab: Yes
+NumSpacesForTab: 2
+Encoding: UTF-8
+
+RnwWeave: knitr
+LaTeX: XeLaTeX
diff --git a/R/Map.R b/R/Map.R
new file mode 100644
index 00000000..839c5581
--- /dev/null
+++ b/R/Map.R
@@ -0,0 +1,59 @@
+#Engle's Map
+#
+# Copyright © 2019:Majid Einian & Arin Shahbazian
+# Licence: GPL-3
+rm(list=ls())
+
+library(data.table)
+library(readxl)
+library(rworldmap)
+library(rgdal)
+library("viridis")
+
+Engle <- data.table(read_excel("Engle.xlsx","Province")) # Data to be plotted, see the excell file
+
+tfs <- paste0("+proj=lcc +lat_1=30 +lat_2=36 +lat_0=24 +lon_0=54 ",
+ "+x_0=0 +y_0=0 +datum=WGS84 +units=m +no_defs ",
+ "+ellps=WGS84 +towgs84=0,0,0") # Transformation to make all shapefiles in one coordinate system
+
+o <- capture.output(Seas <- readOGR("../IranProvinceMap/Shapefiles/1385",
+ layer = "Sea")) # Maps of Caspian Sea, Persian Gulf, & Oman Sea
+Seas <- spTransform(Seas,CRS(tfs))
+
+o <- capture.output(Lakes <- readOGR("../IranProvinceMap/Shapefiles/1385", # Maps of Lakes
+ layer = "Lake"))
+Lakes <- spTransform(Lakes,CRS(tfs))
+
+o <- capture.output(ProvMap <- readOGR("../IranProvinceMap/Shapefiles/OSM", # Maps of provinces based on latest admin. areas.
+ layer = "Iran_AL4")) # extracted from openstreetmaps.org
+ProvMap <- spTransform(ProvMap,CRS(tfs))
+
+MapData <- rworldmap::joinData2Map(Engle,nameMap="ProvMap", # Joining the data to map
+ nameJoinIDMap="ENNAME", # province name in shapefile
+ nameJoinColumnData="NameEn2", # province name in data excel
+ verbose = TRUE)
+MapData2<-MapData
+
+plot(Seas,col="lightblue", border="lightblue") # plot seas
+plot(Lakes[c(15,25),],add=TRUE,col="lightblue", border="lightblue") # plot just Urmia and Qom lakes
+
+#Urban Areas
+mapUrban <- rworldmap::mapPolys(MapData, add = TRUE, nameColumnToPlot = "MPI",
+ colourPalette = "heat",numCats = 30,
+ #catMethod ="pretty",
+ #catMethod ="fixedWidth",
+ #catMethod =c(0.04,0.06,0.08,0.1,0.12,0.14,0.16,0.18,0.2,0.22), #A
+ #catMethod =c(0.2,0.23,0.26,0.29,0.32,0.36,0.39,0.42,0.45,0.48), #AB
+ catMethod =c(0.04,0.06,0.08,0.1,0.12,0.14,0.16,0.19,0.24), #DE
+ #white2Black black2White palette heat topo
+ #terrain rainbow negpos8 negpos9
+ mapTitle = paste0("Engle Rate in Urban Areas"),
+ addLegend = FALSE) # Plot data
+do.call( addMapLegend, c( mapUrban
+ , legendLabels = "all" # add legend
+ , digits = 2
+ , legendWidth = 0.7
+ , legendShrink = 0.7
+ , horizontal = TRUE))
+
+
diff --git a/R/Poverty indexes/Behdasht.R b/R/Poverty indexes/Behdasht.R
new file mode 100644
index 00000000..ea2a2d19
--- /dev/null
+++ b/R/Poverty indexes/Behdasht.R
@@ -0,0 +1,92 @@
+#Behdasht
+
+#Zahra Shahidi
+#2021
+rm(list=ls())
+
+cat("\n\n================ Behdasht Index =====================================\n")
+
+source("168-Step8-PovertyStats.R")
+
+
+
+Settings <- yaml.load_file("Settings.yaml")
+
+library(readxl)
+library(data.table)
+library(ggplot2)
+library(stats)
+library(spatstat)
+library(writexl)
+startTime <- proc.time()
+
+Geoo <- as.data.table(read_excel("C:/HEIS/DataResults/Geo.xlsx",
+ sheet = "Sheet1"))
+Geo_O<-as.data.table(read_excel("C:/HEIS/DataResults/Geo.xlsx",
+ sheet = "Sheet2"))
+for(year in (Settings$startyear:Settings$endyear)){
+ cat(paste0("\nYear:",year,"\t"))
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"FinalPoor.rda"))
+ load(file=paste0(Settings$HEISProcessedPath,"Y",year,"FinalPovertyLine.rda"))
+
+ MD<-MD[,Behdasht:=Medical_Exp+Hygiene_Exp+Durable_Emergency]
+ MD<-MD[,TenPercent:=ifelse(Behdasht>0.1*Total_Exp_Month,1,0)]
+ MD<-MD[,TwentyfivePercent:=ifelse(Behdasht>0.25*Total_Exp_Month,1,0)]
+ MD<-MD[,Kamarshekan:=ifelse(Behdasht>0.4*(Total_Exp_Month-OriginalFoodExpenditure),1,0)]
+ FinalCountryResults<-FinalCountryResults[Year==year]
+ MD<-MD[,cluster3:=as.numeric(cluster3)]
+ FinalClusterResults<-as.data.table(FinalClusterResults[,cluster3:=as.numeric(cluster3)])
+ FinalClusterResults1<-FinalClusterResults[Year==year]
+ MD<-merge(MD,FinalClusterResults1[,.(cluster3,PovertyLine_Final)],by=c("cluster3"),all.x = TRUE)
+ MD[,BehdashtPoor:=ifelse((Total_Exp_Month_Per>PovertyLine_Final) & (Total_Exp_Month_Per-(Medical_Exp/EqSizeOECD)-(Hygiene_Exp/EqSizeOECD)0.3,1,0)]
+MD<-MD[,Kids:=ifelse(UN18All>0,1,0)]
+MD<-MD[,Room_Per:=room/Size]
+
+MD<-MD[,ZanSarparast:=ifelse(HSex=="Female",1,0)]
+MD<-MD[,DarayeKoodak:=ifelse(UN18All>0,1,0)]
+MD<-MD[,Foghara:=FinalPoor]
+#Select The desirable group--->>>
+MD<-MD[,Group:=ZanSarparast]
+#-------------------Country Resaults-------------
+Features<-MD[,.(ZagheNeshin=weighted.mean(Zaghe,Weight),
+ DoMahrumiat=weighted.mean(Namonaseb_Maskan,Weight),
+ MaskaneNamonaseb=weighted.mean(N_Maskan,Weight),
+ MaskaneEstijari=weighted.mean(Rental_House,Weight),
+ Masaleh=weighted.mean(Other_Skeleton,Weight*Size),
+ AbAshamidani=weighted.mean(Pipewater,Weight*Size),
+ FazayeKafi=weighted.mean(Space,Weight*Size),
+ Hammam=weighted.mean(Bathroom,Weight*Size))]
+#-------------------Region Resaults--------------
+Features_Region<-MD[,.(ZagheNeshin=weighted.mean(Zaghe,Weight),
+ DoMahrumiat=weighted.mean(Namonaseb_Maskan,Weight),
+ MaskaneNamonaseb=weighted.mean(N_Maskan,Weight),
+ MaskaneEstijari=weighted.mean(Rental_House,Weight),
+ Masaleh=weighted.mean(Other_Skeleton,Weight*Size),
+ AbAshamidani=weighted.mean(Pipewater,Weight*Size),
+ FazayeKafi=weighted.mean(Space,Weight*Size),
+ Hammam=weighted.mean(Bathroom,Weight*Size)),by=c("Region")]
+#-------------------Group Resaults------------
+Features_Group<-MD[,.(ZagheNeshin=weighted.mean(Zaghe,Weight),
+ DoMahrumiat=weighted.mean(Namonaseb_Maskan,Weight),
+ MaskaneNamonaseb=weighted.mean(N_Maskan,Weight),
+ MaskaneEstijari=weighted.mean(Rental_House,Weight),
+ Masaleh=weighted.mean(Other_Skeleton,Weight*Size),
+ AbAshamidani=weighted.mean(Pipewater,Weight*Size),
+ FazayeKafi=weighted.mean(Space,Weight*Size),
+ Hammam=weighted.mean(Bathroom,Weight*Size)),by=c("Group")]
+#-------------------Group Region Resaults------------
+Features_Group_Region<-MD[,.(ZagheNeshin=weighted.mean(Zaghe,Weight),
+ DoMahrumiat=weighted.mean(Namonaseb_Maskan,Weight),
+ MaskaneNamonaseb=weighted.mean(N_Maskan,Weight),
+ MaskaneEstijari=weighted.mean(Rental_House,Weight),
+ Masaleh=weighted.mean(Other_Skeleton,Weight*Size),
+ AbAshamidani=weighted.mean(Pipewater,Weight*Size),
+ FazayeKafi=weighted.mean(Space,Weight*Size),
+ Hammam=weighted.mean(Bathroom,Weight*Size)),by=c("Group","Region")]
+#---------------Build TimeSeries-----------------
+Features<-Features[,Year:=year]
+if (year==Settings$startyear){
+ Shakhes<-Features
+}else{
+ Shakhes<-rbind(Shakhes,Features)
+}
+
+Features_Region<-Features_Region[,Year:=year]
+if (year==Settings$startyear){
+ Shakhes_Region<-Features_Region
+}else{
+ Shakhes_Region<-rbind(Shakhes_Region,Features_Region)
+}
+
+Features_Group<-Features_Group[,Year:=year]
+if (year==Settings$startyear){
+ Shakhes_Group<-Features_Group
+}else{
+ Shakhes_Group<-rbind(Shakhes_Group,Features_Group)
+}
+
+Features_Group_Region<-Features_Group_Region[,Year:=year]
+if (year==Settings$startyear){
+ Shakhes_Group_Region<-Features_Group_Region
+}else{
+ Shakhes_Group_Region<-rbind(Shakhes_Group_Region,Features_Group_Region)
+}
+
+}
+
+write_xlsx(Shakhes,path=paste0(Settings$HEISResultsPath,"Shakhes_Maskan.xlsx"))
+write_xlsx(Shakhes_Region,path=paste0(Settings$HEISResultsPath,"Shakhes_Maskan_Region.xlsx"))
+write_xlsx(Shakhes_Group,path=paste0(Settings$HEISResultsPath,"Shakhes_Maskan_Group.xlsx"))
+write_xlsx(Shakhes_Group_Region,path=paste0(Settings$HEISResultsPath,"Shakhes_Maskan_Group_Region.xlsx"))
diff --git a/R/Province.csv b/R/Province.csv
new file mode 100644
index 00000000..59d5ee52
--- /dev/null
+++ b/R/Province.csv
@@ -0,0 +1,281 @@
+"","Year","HLiterate","Knowledge","tenure","area","room","car","oven","frez_refrig","electricity","bathroom","ego","pipewater","cookfuel","heatfuel","hotwater","G0451","G0452","G0453","G044","Energy_Share","Subsidy","Food_Share","Low_Calorie","Low_Protein","FoodKCaloriesHH_Per","No_Insurance","Area_Per","skeleton","House_High_Share","Tech_low","Equip_low","ProvinceCode"
+"1",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA
+"2",90,0.254998404072426,0.0657549210218781,0.733565813521495,31.6536718738631,1.12098221225296,0.652692480213078,0.0307852473175774,0.996196578108873,0,0.0333960611589356,0.715751915325726,0.00408343515631531,0.00407512026095502,0.0973542114202782,0.099512185726181,0.0182007063201739,0.0322106651134162,0.00379894122406277,0.0113211240667769,0.0655314367244298,0.143126075064839,0.290758684059916,0.362512024910644,0.218199946599708,3132.96255474484,0.257472611450904,0.14347153246151,0.0847564551872548,0.0563529597615894,0.225876800759019,0.0277489199171526,0
+"3",90,0.24715446268882,0.0528628642176889,0.768900864189417,26.5347175685371,1.17737943183711,0.73836217876622,0.0270537405176547,0.984765500124798,0.00261969455887506,0.051703111870557,0.55518687807672,0.00965414926742173,0.0107132161993759,0.210306844592885,0.21052508484318,0.017349111269754,0.0280070928753373,0.0113844594807921,0.00724511087926853,0.063985774505152,0.162170809292553,0.319704376395938,0.397646621850307,0.175452952386734,2798.96756343074,0.184453714603182,0.203902381006931,0.0766019849794028,0.0463307578507954,0.218523153233852,0.0432842750847443,1
+"4",90,0.242698792754486,0.0538522548202433,0.846515289788316,31.7926823284349,1.28398608758416,0.712433501761029,0.0149191785444497,0.99217463282607,0,0.0550926778083748,1,0.043079505084631,0.000609142240187234,0.142547792271507,0.142081172190008,0.0179674559278302,0.0379147666503673,0.0150171435093309,0.00957337445421542,0.0804727405417439,0.15881387211394,0.29520641619804,0.384700573718934,0.0986781215302803,2736.88195632616,0.206524034284682,0.124495362210615,0.0636734570146265,0.0390061649712456,0.188568515369692,0.0258025271650089,2
+"5",90,0.282836121506565,0.151273325776631,0.816999965531811,33.4965350130011,1.06855090042393,0.692385066177207,0.0399834569173505,0.983342788254949,0,0.0597924811683565,0.629776247931397,0.013482691858725,0.0050798661479319,0.0940850136608961,0.0914729176193895,0.0195429236788592,0.0587931826693588,0.00672335327062888,0.0155377402504211,0.100597199869268,0.175465779703226,0.306026309936339,0.316728124571828,0.195147615408832,2920.97571623646,0.253470663819661,0.208897814381763,0.047703513813804,0.0384612678329631,0.189688355221278,0.0589327562998554,3
+"6",90,0.34504324226793,0.15638136402438,0.812470938881801,28.2750730847383,1.00244545066175,0.658832560887239,0.0725736189422175,0.989324437185097,0.00204775936844227,0.0446146418030416,0.62545435493406,0.0163247606677685,0.00428655223065502,0.285672381267596,0.284360420964093,0.0146504802626852,0.0340150012279187,0.0163963695247505,0.0130915293321889,0.0781533803475433,0.163646395686887,0.313402527452269,0.19046586670474,0.102427728820314,3417.71453178295,0.275164702570055,0.236943237900248,0.0590663138104263,0.0189472892751085,0.276690737549115,0.0788092969640531,4
+"7",90,0.31617498442359,0.0781459888094645,0.715146863869728,27.0016894895846,1.01386904560932,0.73942777159928,0.042806507479286,0.989106662837039,0,0.0636596536778254,0.284055546319263,0.0151063854668811,0.000506138751138013,0.275577884709434,0.273805474017626,0.0125404674983263,0.020884837082094,0.011152126685742,0.010094445552285,0.0546718768184474,0.169696200730606,0.307481826302773,0.173052773145393,0.0829517064440694,3432.35452250072,0.189660006494845,0.248916316040151,0.0558823441281796,0.104512201304005,0.221926044653255,0.0636915384631936,5
+"8",90,0.267281158606797,0.186359744812111,0.694676243816144,25.4101560633286,1.0111097211838,0.703402654628558,0.028879106923237,0.993014295052259,0,0.0175508862342214,0.435867206162624,0.00446558904101925,0.00456888240030455,0.303843630411728,0.293122733326467,0.0204041932170534,0.0101763347359132,0.00173594405977245,0.0157891236261994,0.0481055956389385,0.185565260323234,0.377431275654322,0.171580366813928,0.0915754466853671,3170.34109937802,0.335125275715546,0.258011453930086,0.0480034030675121,0.0590814173261054,0.381176842951817,0.0397923090079167,6
+"9",90,0.245285761929986,0.0925610355785849,0.772631579228521,38.8013889924169,1.32472657172815,0.642474814023386,0.0124400745293633,0.98985816365286,0.00443593316826736,0.0480690082859188,0.940117595418195,0.0110548969051107,0.00423888697077204,0.263545654170496,0.264814272321631,0.0175435740860509,0.0173785144130384,0.00570733632566572,0.010039953866574,0.0506693786913291,0.160165030236807,0.285830582268381,0.281478414372586,0.199151374609203,3176.2260506996,0.155875496970726,0.126438204870475,0.0493579845410264,0.0668087376895499,0.206684796952024,0.0392835702280289,7
+"10",90,0.305584260912715,0.0896449964107307,0.760328395291891,26.3217360129144,1.03705439278915,0.569151825382134,0.0312357137196024,0.977324881732587,0.0015184381847956,0.236843802796182,1,0.0613114311410624,0.0039233980584686,0.526870028005374,0.53138797564761,0.0181600450578624,0.0141644675977307,0.00793193485393923,0.0102158715447103,0.0504723190542426,0.23471244141252,0.33007666223084,0.397229913770142,0.256543046655102,2705.131146867,0.131615290594252,0.348498993899195,0.127290732312534,0.0434359695451612,0.44427514819515,0.0654408568626612,8
+"11",90,0.270814847603704,0.171948869449823,0.721821883327008,29.6900661174487,1.08810692081539,0.695415339971543,0.0206569867257012,0.988827595477558,0.000839963603747625,0.0983049143207038,0.868536293485835,0.00877873658393401,0.00359317837797311,0.165286788101818,0.16463289873862,0.0135619028499272,0.0174780098391341,0.0064788210135566,0.00708720670975265,0.0446059404123706,0.192740546646008,0.353202743303089,0.273191742095856,0.142825432408287,2990.32169705984,0.288264388356287,0.208110014540667,0.102525280783155,0.101150798998227,0.276388250758728,0.0415501675701368,9
+"12",90,0.21420241922294,0.0355898035434488,0.738826145957293,41.0712658501102,1.34965284801612,0.553928145434628,0.0122089191948161,0.995500952591488,0,0.0187151857546407,0.496142516985742,0.00251526257469036,0.000790726724370619,0.0351187029875071,0.0353112574564138,0.0151920235978647,0.0249786742237354,0.00127731339540812,0.0112997307042179,0.0527477419212262,0.11708869781044,0.264958728109911,0.42868032043905,0.298122552179386,2725.46668178597,0.248159193782172,0.111014107842551,0.187893802691849,0.0620484632374045,0.172319045648612,0.0177861928500254,10
+"13",90,0.450981205535566,0.28827469801118,0.731146720708826,19.8910004105932,0.827628443279029,0.837779813974046,0.0459221552371004,0.960677617966619,0.00959294233055577,0.236810261129267,0.998630029129021,0.200908514568458,0.0102787754868407,1,1,0.022303532171621,0.0137546634016313,0.013268361538722,0.00866036598495868,0.057986923096933,0.446685874115597,0.468302889825969,0.434831136238617,0.403192049181617,2579.67332322981,0.229133934331577,0.50815768895609,0.277850826124895,0.0445665712994937,0.746573823402459,0.180171670301902,11
+"14",90,0.289628521309294,0.172271596946228,0.757792367111011,23.8102417188534,1.10798092221648,0.784857472238816,0.0304037332853025,0.992094902027742,0,0.0417580212452319,0.320420951292715,0.0182424228955504,0.00633867623982579,0.215933917262231,0.217957555703431,0.0176379804523977,0.0295120622483417,0.00944762170218663,0.0120768536959211,0.0686745180988471,0.189997121135694,0.366139234681682,0.132353536302083,0.039973614310879,3414.6197783746,0.337394396079105,0.311986566619546,0.105738386985996,0.0624209704152786,0.216820748101008,0.0475242882873239,12
+"15",90,0.317164847950388,0.154163798733833,0.784128160727949,31.9335846172173,1.16400166425941,0.739307190716846,0.0220774346196766,0.992589189666651,0,0.056767185110932,0.615676845828193,0.00914757757907271,0.0044082346933942,0.101058213453001,0.103126526144706,0.0169506744534959,0.0302647873768754,0.00367253539047429,0.0115571541089221,0.0624451513297676,0.224016836976739,0.311772323973873,0.394018552902956,0.244185200297396,2651.32232813115,0.209627960720829,0.15999095876577,0.0841385722867283,0.0622348863840577,0.252065117162726,0.0288809127261759,13
+"16",90,0.317314534969633,0.0648031828374352,0.787078480206695,37.5420984286652,1.10275957744443,0.653419435919442,0.0284009916664749,0.978102255672809,0.00783116912100597,0.076232713098372,0.637094709192002,0.0125979677164009,0.0213632357526375,0.104741762299987,0.102452844422068,0.0146809189487369,0.0348773643679014,0.00705953510347504,0.0122054183581986,0.0688232367783119,0.162416522321455,0.334570241428578,0.196963958272009,0.1355417179653,3518.01297791015,0.123130787929617,0.107993204701606,0.12060106939873,0.0159089358743948,0.241698195544555,0.0683881041262432,14
+"17",90,0.344986571133096,0.167587668711203,0.767436675757262,26.7435430606781,0.900425192693294,0.72614006292047,0.0246204730932815,0.991433690147725,0,0.146295162380247,0.678051882270183,0.0760283729837255,0.00201679403818055,0.299711217328777,0.299307983072551,0.0174695057806386,0.0271736994374771,0.0089485959582593,0.0136651451222883,0.0672569462986633,0.179122625540973,0.314990886749263,0.286799623496919,0.149077608548383,3159.19439259593,0.255756082646873,0.264146661090293,0.0168701227393632,0.0334587835718128,0.376556131406633,0.03811437153832,15
+"18",90,0.382912492265941,0.11253500847367,0.863460878050849,28.8423984082354,0.941379977185468,0.663757495097208,0.0253365742857454,0.992277283558495,0.000895183470312259,0.0461126525229456,0.900266319255767,0.000663373815942363,0.00132674763188473,0.592347713809177,0.591452530338865,0.0129638082376388,0.015071787597343,0.0113509507551324,0.00971112208750959,0.0490976686776238,0.16288488977969,0.349926210483509,0.138112543275421,0.0585844597210818,3545.55550706029,0.143586424268626,0.15800190732778,0.0226205858510375,0.00752267989777927,0.183634085976286,0.0392793985411153,16
+"19",90,0.342013408333187,0.0910475989143858,0.801018830843823,25.9947580854847,0.952598123008768,0.724926649727454,0.0732880431408036,0.964180238165059,0.00980319868713806,0.197791300041389,0.964244318340566,0.0423288887166259,0.041799889675702,0.366583681765183,0.363061069725637,0.00909437695997284,0.0218690519184507,0.0142024587320949,0.00498461557304021,0.0501505031835587,0.219555397781068,0.371574623263769,0.407064171220151,0.255899077194205,2621.35276641072,0.160693389496817,0.230984478115414,0.149601540472283,0.0211393341252159,0.380863780753808,0.11853534024823,17
+"20",90,0.224240128861308,0.0863458116393205,0.788247963234361,27.5318021371346,0.998599237380424,0.577766190556209,0.017017630012833,0.987202110521479,0,0.00282095829319065,1,0.00956448409068316,0.00250220922746024,0.937704102063803,0.944537661204491,0.0342608030321953,0.00799098855119194,0.00214617143221102,0.0116732534407772,0.0560712164563754,0.198860597276907,0.308522201205774,0.556474808517814,0.279143124960297,2226.71054928257,0.350859809917261,0.158088554982151,0.00669916452757124,0.0522022684675064,0.16124226218641,0.0268047947984645,18
+"21",90,0.286586146810405,0.199580557508183,0.810932700675487,30.347540286117,0.97858694323458,0.640183449182391,0.0310470249453924,0.994413959437187,0,0.0260222773419938,1,0,0.00394432367182579,0.291389121005986,0.292288937644711,0.0169395469444563,0.0352852971963304,0.016397018411051,0.0162812753002822,0.0849031378521198,0.146639005074052,0.346887523020018,0.121785496091177,0.0661432721534447,3862.0237504789,0.262345461563779,0.198634783292528,0.207209561789391,0.0261412951772621,0.213657186469229,0.0458931298955733,19
+"22",90,0.247312426188694,0.06547298089116,0.7285463072946,38.5153224290199,1.46818804595095,0.64692682911807,0.00695861326184309,0.993188905398835,0,0.0433217043418162,1,0.0017267406316419,0.0011511604210946,0.0933897879270728,0.0933897879270728,0.0276479606070191,0.0477899180518277,0.00710039154700962,0.0171051512392102,0.0996434214450666,0.169524904866472,0.270445637558587,0.373186586796041,0.26851513259314,2937.39193707046,0.224582092578,0.0984681374428401,0.0958660642220218,0.120596465560317,0.269957776702717,0.0256916214132494,20
+"23",90,0.211561867378345,0.121621485525398,0.810289247919805,42.6552621735749,1.1620312055409,0.425248687104145,0.0194840039584894,0.994207422553213,0.00132416460885905,0.0312512007708657,1,0.00416356685458654,0.00511385080682128,0.219676663500558,0.220972811161619,0.0238254194707865,0.0234653055114772,0.0035486421327905,0.0138995296889134,0.0647388968039676,0.186634751779387,0.293793050892006,0.592037070823425,0.318240022761483,2245.53267425052,0.188959668882721,0.0842423542443003,0.139918664177493,0.0615236051784725,0.200536598770138,0.0396595654754723,21
+"24",90,0.314893502278456,0.17267396783872,0.760603380896855,22.2625232102157,0.960967543509667,0.700807107202262,0.045804986419089,0.973040920056109,0.00204695224448481,0.0439562007730382,0.780751657021596,0.0820924346259415,0.0130886800727614,0.995113902840102,0.995113902840102,0.0223433277271783,0.00814341708511602,0.000964986785246401,0.014227050491784,0.0456787820893248,0.208772843590008,0.419484185509667,0.308756358139418,0.148770391789076,2785.45386302003,0.205089358875986,0.373530691002198,0.0600757185338423,0.0396520650518961,0.488751278494837,0.0789364640542618,22
+"25",90,0.145474394306794,0.0668944485119259,0.578314083228757,27.6053250946309,1.02463325297579,0.581852937089678,0.0139428029147846,0.991374899463614,0,0.0124121438898925,0.867304014540358,0.00330930656469038,0,0.0146550727855258,0.0146550727855258,0.0165171821719839,0.0203673692801567,0,0.0144430682011955,0.0513276196533362,0.101429197589928,0.199385329305003,0.522857417202198,0.262906631400838,2297.25154419774,0.34043137468749,0.27363287925072,0.00198999659781185,0.231711134999439,0.165556499980168,0.0161223456896073,23
+"26",90,0.257728609940564,0.0856315123349763,0.798418681840435,28.6425653386843,1.08164285742448,0.727684082183507,0.0291637874210263,0.988714409423983,0,0.109330103899424,0.839384373427844,0.0166065780750057,0.0165301444232252,0.206964108950663,0.206964108950663,0.0101911493162202,0.0242505359753535,0.00814068284606952,0.00691620094163662,0.0494985690792799,0.161505273788527,0.345381412495219,0.160031860018135,0.0649732907060758,3759.51406859474,0.164669582551332,0.224281111020339,0.0807932001303401,0.011993956698057,0.228689587688936,0.0398393103110517,24
+"27",90,0.217576264700982,0.167277235104508,0.68352753916044,30.6992740033433,0.857138788759215,0.656583047169766,0.00848911147544909,0.992616357218521,0,0.0148726962740767,0.982631962190088,0.000244296434001753,0.000725782153371195,0.0208116017151427,0.0207317676674643,0.0146579705527382,0.0181811624342058,0.000719959903425441,0.0117596565451675,0.0453187494355369,0.153157888893179,0.229413857234465,0.556528543562871,0.414988484940691,2211.30548752504,0.25070282126106,0.190606539527657,0.0288989620997805,0.1394142870691,0.132238019305291,0.0111789119885906,25
+"28",90,0.25773090491269,0.12356691989064,0.698865434806585,25.8377657702978,1.03245058437195,0.616732303403425,0.00574518104477556,0.993343946152906,0,0.043276708314846,0.74042750667312,0,0.00177897466510897,0.120632417592918,0.120632417592918,0.0162626524424512,0.0344462801994855,0.00467916433573768,0.0123445912050745,0.0677326881827489,0.151202078842084,0.287641340374717,0.413644422625621,0.222091845372405,2817.295083663,0.246929456737135,0.222364284564818,0.0444169408304171,0.0849483585730827,0.281858172894402,0.0164304961062616,26
+"29",90,0.315239567469287,0.181387847346568,0.784115804151732,27.2345153921897,1.09117919885975,0.710842999475264,0.0122316898183219,0.987334587309458,0,0.12884033163302,1,0.0304133540776844,0.00136719537860766,0.153834292078078,0.155204914011519,0.0244382888765575,0.0311080304472167,0.007133756011913,0.0108855217162806,0.0735655970519678,0.250344771496362,0.329817344958307,0.469487149037808,0.237191580229187,2532.49097190399,0.149129599015548,0.246692832289416,0.0261572916332764,0.0561485203333589,0.318173058291091,0.0257876297399449,27
+"30",90,0.361977760565268,0.142334254605113,0.72120488490841,25.302024717942,1.07250357497991,0.776282728583101,0.0135964911434337,0.984146537115928,0,0.225027786718836,0.880427869243836,0.0383479009656912,0.0035088132620405,0.286635681773772,0.307427122582054,0.0223035888853673,0.0344471566967601,0.0115550258719414,0.0133504938531305,0.0816562653071993,0.234683293856965,0.332837778662617,0.32280862233292,0.186223292986142,2785.77349584812,0.22308323444313,0.296023306549731,0.290788784203883,0.0334608713998691,0.36901118373336,0.0504586561371254,28
+"31",90,0.382981578426891,0.0853972274478622,0.817795832389265,32.482028046926,1.35169059365253,0.619802166354555,0.0216958361344715,0.986793237798964,0.00977563199366454,0.231477076273607,0.943573190074221,0.076920647466971,0.00340744884245922,0.576626975281516,0.577498932262701,0.0158161613403131,0.0161363459411018,0.0206186920264766,0.00746962280512021,0.0600408221130117,0.219955650093323,0.411921345567538,0.117483234282387,0.0802871488995246,3500.28166237947,0.196696532802274,0.151663653708128,0.299216099208004,0.0317547754850881,0.384672071616629,0.0636089540652092,29
+"32",90,0.109890826881882,0.0495855751751784,0.613345787288819,27.0644186535837,1.19818735089325,0.615760770083135,0.00440719909358561,0.995192243510266,0,0.0247088914940542,0.949909631787508,0.000683221701914603,0.00118216695935013,0.0328764972040896,0.0386657632068624,0.0164266077606915,0.0242400209103972,0.000885021440588549,0.0133115506074741,0.0548632007191513,0.146432606442531,0.284134261093734,0.455082040285628,0.0860417453989557,2319.64464478552,0.542902509940081,0.199691466540512,0.00756814354711999,0.214408366992212,0.217808756710153,0.0092751120175269,30
+"33",91,0.24874123546377,0.0776437164147007,0.746342717580246,32.9544572681061,1.23295505597038,0.568284292491512,0.0154840212852411,0.99544310567733,0,0.0257499723277743,0.683861009660172,0.00292205302825432,0.00457254740466183,0.0627953144640831,0.0657823052133662,0.0153843275430538,0.0217508569373507,0.00203012761198354,0.0100559333847056,0.0492212454770936,0.17468254520576,0.303187460955961,0.312272600910686,0.193216773809509,3111.41968616868,0.214714327091576,0.132147428864762,0.100506012297711,0.0421626922985216,0.231008493985105,0.0235400119347994,0
+"34",91,0.257942346226944,0.036191100064914,0.769739618710856,27.6384954832884,1.23339090687672,0.716661562180481,0.0200989373801125,0.985640885913151,0.00219174381420033,0.0470673484221206,0.550610982861641,0.00609772291969944,0.00916244761061724,0.201455289790601,0.202381513945143,0.0149928720969567,0.0191203264341407,0.0102876866052624,0.00652554075242877,0.0509264258887886,0.181857753106252,0.340888864153007,0.368107864415656,0.169428520068969,2984.81397187557,0.191505518150963,0.179840016528763,0.0750603083952256,0.0549012905810015,0.20536519627338,0.0267372142078705,1
+"35",91,0.278855295316212,0.054333111947254,0.853347936710467,32.3194388430608,1.34692288310637,0.715501197258448,0.0136850031038534,0.993967822084019,0,0.0480760581729479,1,0.0170110371974764,0.00076705112471418,0.122708691694695,0.12435575018137,0.0145059670767558,0.0234771764200559,0.0123981330459037,0.00731261722803126,0.0576938937707467,0.186580268392064,0.321998936571591,0.447647001636091,0.125683313573701,2671.23367279702,0.195677798507474,0.114544911745702,0.0641361596626583,0.0305098886103601,0.164317755382749,0.021860976667811,2
+"36",91,0.286801320815771,0.162808991044358,0.872477594317818,35.1352995835193,1.03760461198041,0.66866252040674,0.0284651887128697,0.985299992943715,0,0.0409806958882977,0.607856687314208,0.0156279143908073,0.00947817538873416,0.0755648888793041,0.0760788405944588,0.0157454352239687,0.0318547792551304,0.00425039983443571,0.0131009593491115,0.0649515736626463,0.181661567648941,0.343285687594596,0.253735992948437,0.140011399054584,3175.36335854618,0.227102143181106,0.150710050161506,0.0410589049320136,0.0219955701041643,0.169062758561615,0.0337369128823647,3
+"37",91,0.328916590029927,0.0860003046590414,0.805778522662781,29.8529864996229,1.02316636117486,0.629431642055903,0.0478034225509146,0.987597690789814,0,0.030903728161985,0.611790489285994,0.0121275349552107,0.00152146623576352,0.263075942645015,0.263381918634232,0.0136154937238952,0.0217181984616165,0.0133028793906533,0.0120996096075153,0.0607361811836802,0.19899538978965,0.344675392341464,0.208512612938849,0.131661968747048,3571.01125490607,0.288777905957114,0.194921244758287,0.0444222777796102,0.0211873229176013,0.279964384814306,0.0575578400125565,4
+"38",91,0.311941402004923,0.0717407039422917,0.704143266694591,27.2475243230137,1.05157407063589,0.720587021495524,0.0512615656241675,0.991317535623103,0,0.0575609856020086,0.282129600381827,0.0160410616398901,0,0.253079878751963,0.252573593072714,0.0127961473279675,0.0194758569017512,0.00855251423345124,0.0103748610302088,0.0511993794933787,0.192159632117902,0.326484579582219,0.183676895052344,0.0767897774529167,3464.52506723338,0.140780682135294,0.234736417873952,0.0500171159285455,0.085085823969579,0.249935770478353,0.060640376805592,5
+"39",91,0.267504997877798,0.153119271187738,0.704134913242199,26.6951222308663,1.09250338012374,0.642812050531647,0.0179878136038206,0.992853872517134,0,0.0125875772583021,0.5999038599452,0.00130583267001919,0.00222451429454538,0.266231733019918,0.276537159631509,0.0198034640263824,0.00839433036783288,0.00102001581414201,0.012098094650895,0.0413159048592523,0.189845855909304,0.413780147141864,0.152663186497822,0.0700625262399674,3392.79449326523,0.258583278967389,0.225545686471806,0.0218606228159053,0.0466169462033274,0.371367450161611,0.0277792095995669,6
+"40",91,0.223635457931403,0.0930503137615479,0.756678347754639,40.2640944047357,1.37039619078909,0.611611091027802,0.0101447404341028,0.996547428408758,0.00250837517655997,0.0366296696088462,0.927944401434521,0.0059389138337341,0.00111524111813801,0.266402999858637,0.2606490416817,0.0136974543165504,0.0126294205426085,0.00366854881071624,0.00807528149586929,0.0380707051657445,0.17595921249998,0.302519272510301,0.349539342791791,0.256269676134835,3028.73095959848,0.129961350014049,0.0945309776410573,0.107065482719761,0.0727555028510938,0.188752317777298,0.0285717697168162,7
+"41",91,0.293118187126268,0.0779044025176921,0.763595606141784,29.6931923442255,1.11414692290579,0.560429833099903,0.0234006445288921,0.984820634038702,0.00172134716227234,0.193547090704122,1,0.0396479740029345,0.00371947715240213,0.475912391176862,0.474500746952723,0.0169778238476603,0.0123518494496524,0.00858438495816934,0.010339413897518,0.048253472153,0.24752394822073,0.33096026011727,0.455177948528583,0.335406679380136,2537.95759641394,0.108241875859237,0.298827749323245,0.126076911566545,0.0306935313549948,0.425995285552171,0.0496372191318167,8
+"42",91,0.258019474861627,0.135793480997155,0.738396755290183,30.4148190641173,1.13858271934978,0.66097735720159,0.0151311968702832,0.992955093907841,0.000819525273834361,0.0799392461682095,0.851823910776592,0.00710319357407849,0.00510441833201078,0.146487295429384,0.146038001877841,0.0120771949135895,0.0146085130988871,0.00491918449727991,0.00663200127625429,0.0382368937860108,0.210839873897122,0.379834070703328,0.236744960351697,0.140042628287912,2974.32478017123,0.275352503824957,0.205499341019948,0.0964238901706759,0.0904786643206268,0.278412572492961,0.0314044919255985,9
+"43",91,0.266154394316961,0.0447632818954663,0.761089460343487,41.6043076634647,1.37455507382466,0.573585526668443,0.0193667831803509,0.996565595107278,0,0.0164302934703824,0.488619515870575,0.00168904622569234,0.00207494794500235,0.024258177757798,0.0256264688257365,0.00939974674279468,0.0149647381082805,0.000536155613267521,0.00661622869717751,0.0315168691615202,0.155027969373222,0.290159245870815,0.431938896637592,0.297086357710097,2828.01636584509,0.227536834143025,0.0759451709188286,0.183712651003025,0.0489935521448008,0.156098160261433,0.0217953599455271,10
+"44",91,0.452520573160113,0.273103734170988,0.756219274224928,20.174341088488,0.849821583075784,0.827849200555659,0.0443074401235643,0.975070138387625,0.00715219207300296,0.209016540269167,1,0.162731732704867,0.00654827771051741,1,1,0.0214887091976617,0.0131071186582609,0.0108040614858376,0.0109592454610295,0.0563591348027896,0.378118698637151,0.493022249299039,0.380110605759784,0.361131981587143,2688.8825662682,0.20150449344958,0.494273310166186,0.227285148509899,0.0306320605849028,0.791139217393894,0.173567739967772,11
+"45",91,0.291767690446574,0.130198560533453,0.754678968892563,24.8346922848906,1.06540921082145,0.775436636600707,0.0207322688717603,0.993614896281198,0,0.0364507413479271,0.308804033497878,0.0247020271738359,0.00209034612235193,0.198254360640432,0.199577096699329,0.0172366158877511,0.0235109461836388,0.00549993574741628,0.0113504675214436,0.0575979653402498,0.236142614155124,0.386943353604295,0.207557592038123,0.0793504443634986,3209.52714262674,0.3512475361434,0.265352598754818,0.107735809086981,0.0589429879971312,0.203963571433427,0.0205569508912838,12
+"46",91,0.311403811792972,0.111183913008353,0.79861954073461,32.9373783413254,1.23871393397858,0.69765326033274,0.0209766593088919,0.99444522867059,0,0.0389291200713038,0.592457764466208,0.0195252418238912,0,0.059488452879531,0.0603592395895398,0.0149812830244786,0.0202294978614345,0.00210281657216077,0.00959768636977038,0.0469112838278442,0.233148395274377,0.328861268171988,0.404174307795714,0.232175931438968,2713.12490118206,0.194595769023556,0.140264665701366,0.0611286971001868,0.0707062739700748,0.241331051140292,0.02755366426209,13
+"47",91,0.337113014392915,0.0811080838207363,0.802772736590181,38.8145496344131,1.15094404869727,0.653067669199497,0.0299162331501258,0.979473127966586,0.00389675708049421,0.0766128314305889,0.621922920703448,0.0119136045769003,0.0116261564083483,0.0886647158982606,0.0895383236368851,0.0142471300395834,0.0266305594070525,0.00670370465615645,0.0111722202829317,0.0587536143857241,0.182256783902614,0.366930109969972,0.191633254206381,0.134113643145022,3246.82876535126,0.10608754303326,0.1012727940634,0.136125570654041,0.00973672211178116,0.264874573953715,0.0558332794013269,14
+"48",91,0.315200772550556,0.0656690278399847,0.764853507436691,26.838562014546,1.00522203638609,0.711644671726928,0.0399942222888915,0.994175660976396,0,0.116027330704697,0.566380412481859,0.0363119811543442,0.00490144686899602,0.273208820060124,0.274565853540322,0.0119200046973196,0.0164820502770942,0.00745155882197612,0.0084357694877748,0.0442893832841647,0.226888376832391,0.357938159257856,0.248058828219497,0.0996254723930626,3243.00415380999,0.199848018988448,0.276968738048995,0.00941689966250192,0.030674623242178,0.434434853675499,0.0546130908799087,15
+"49",91,0.352998718101472,0.0694541518498159,0.895530870045321,29.5479907711654,0.973776946688541,0.706521162014412,0.0170283857533392,0.976413767725033,0,0.0274568361293618,0.999008250175722,0,0,0.512202090208763,0.511553246474853,0.0144164484481247,0.0118071001660796,0.00349685089646349,0.011509548558571,0.0412299480692388,0.249969957761623,0.406413778918696,0.437368380263838,0.265601287015605,2363.80717068779,0.169321890686791,0.095778853528899,0.0230666142970145,0.0142864701576032,0.220091241147925,0.0376263773352,16
+"50",91,0.328780348181033,0.117023311084779,0.753432319996386,27.8082138276191,1.01688653953216,0.756948796059362,0.110974448001599,0.968263449822408,0.0103925218909414,0.192193079177673,0.951060820061397,0.0279158108239187,0.0528033524583176,0.326424694218289,0.326899620844334,0.00748716662053128,0.0124826846950788,0.00991554019202712,0.00454576246343258,0.0344311539710698,0.244423867776859,0.391935824075136,0.457263286162068,0.300494076120015,2483.55560402802,0.18338298607317,0.187408644506812,0.0819730621780604,0.0270375955867507,0.476022234432646,0.128808059326205,17
+"51",91,0.2267700190755,0.0587081604926912,0.808321490230902,28.1588405124821,1.02804152659393,0.571212677916643,0.0318201921352386,0.985714818892763,0,0.00396824483688535,1,0.00855118275822393,0.0023720416609833,0.892928504127784,0.906535883608558,0.0405808243519004,0.00716387324633931,0.0012985528514411,0.0123857160262889,0.0614289664759697,0.250803464305239,0.346836757034226,0.642896136367969,0.382374347407631,1996.3207873414,0.29923706137548,0.168848406483715,0.00687623540316362,0.0629667733241793,0.195480012818581,0.0376935539212104,18
+"52",91,0.294529411256439,0.108134607522284,0.814551279724686,30.1737267660559,0.960849823421489,0.647047013189969,0.031216989318916,0.979371950773018,0,0.0311403074994537,0.932974134084669,0.00103201222558076,0.00441071942742856,0.266528928168757,0.266528928168757,0.0136648694449765,0.0224740188119351,0.0102753503245926,0.0115738613619982,0.0579880999435023,0.149721788263426,0.377218038555588,0.101544624069999,0.0427417643295433,4058.62306360218,0.228800646564521,0.191994092141511,0.151415814999196,0.0331102684399205,0.189464338323683,0.0407479752751138,19
+"53",91,0.257215434468774,0.0588897381254118,0.770671805599335,40.0007509145261,1.53924931806322,0.626592093327253,0.00503083689161957,0.995557480772919,0,0.0430882112970785,1,0.000655944462868062,0.00052475557029445,0.0825366648505992,0.0825366648505992,0.0242368349976608,0.0348383171792807,0.0038415206708269,0.0137899491744091,0.0767066220221774,0.18580568651258,0.295972867142387,0.38659424534039,0.30166350594088,2943.49046259093,0.196895595546752,0.0811334580157084,0.0884552987594674,0.0957123185083342,0.251905366695086,0.020488451346865,20
+"54",91,0.211462040602683,0.0989079273724078,0.859932448540832,44.9199772461764,1.31459887014919,0.390389661871039,0.0195603280647359,0.996305279103598,0.000877863695536919,0.0201617233930364,0.996896598695165,0.00510352573921926,0.00182939112615525,0.202456167730461,0.202193425467322,0.019794901446077,0.0135661291211341,0.0034624396697851,0.0121556012832038,0.0489790715202,0.186407421380539,0.318853956734038,0.489556923625105,0.295966586344694,2608.98434322705,0.154105018829615,0.057868941332008,0.123053579122103,0.0258779542330117,0.164829835904011,0.0236485916667848,21
+"55",91,0.317936635673534,0.140863505514245,0.792822416763904,23.3489321132618,0.951842088625288,0.676451248164747,0.0402477168208664,0.982469715703714,0.000668207691778855,0.0226289725756224,0.784491054494438,0.0502102519937891,0.00496733058019346,0.996923284203988,0.994906622940877,0.017230189604277,0.007538733024957,0.000230140644634317,0.0106673690324286,0.035666432306297,0.22430858203015,0.450835135255628,0.362023430722173,0.172882142892271,2514.14650414765,0.264149823027348,0.330993291447488,0.0626427425686015,0.0257251072135097,0.501435577707811,0.0570025560694932,22
+"56",91,0.131906334523749,0.070832163652369,0.579011037099342,28.9233508998812,1.14700776741477,0.543553309784729,0.0121659266810225,0.995034507043954,0,0.0143303382081706,0.740639435047106,0.00205725644400856,0.000134681580889754,0.0154934754937848,0.0154934754937848,0.0152495384263034,0.012280394053472,0.000177101048791649,0.0115940986160514,0.0393011321446185,0.115663966409922,0.212745540121671,0.590151231687592,0.367328533702982,2259.42679720445,0.299235604045732,0.255077653525413,0.00203324997958054,0.219185184288208,0.152988162834329,0.0103400350326503,23
+"57",91,0.252871641256751,0.0840489514220284,0.784840648839722,29.4749796064569,1.09824876051495,0.695617824344401,0.033192058145145,0.991031568784755,0,0.107782214538157,0.826156500351723,0.0287002519347066,0.0143985956849727,0.198503632593501,0.200042791393421,0.00764548340558557,0.0180989460773413,0.00629275555330913,0.0053675149825869,0.0374047000188229,0.187276253184985,0.3560844134169,0.184666361878758,0.0900484169816736,3579.02708993935,0.148214474579735,0.208021959050165,0.0722403801843129,0.0150747475409263,0.217376377414782,0.041618655614837,24
+"58",91,0.220726752977787,0.0891112319611099,0.685757540874869,30.5935986161661,0.955787855848978,0.637973940819581,0.00434821792140194,0.983823975693303,0,0.0068209590598113,0.915759944212426,0.000132223331951947,7.93339991711683e-05,0.0128008730154333,0.0127207984303364,0.0101006584376681,0.00934116440080212,0.000212130142479055,0.00826066846410234,0.0279146214450516,0.222076401250746,0.237024127746741,0.780788209881744,0.591726907849209,1651.90284573685,0.248973514820961,0.183840747277708,0.015364362185494,0.167579271526257,0.164985772921249,0.0146930664792286,25
+"59",91,0.220970064692365,0.0939353119469589,0.708579552721529,26.1789588321788,0.990692641749863,0.601454547763064,0.00882348707100872,0.997088655912195,0,0.022472238202201,0.660506819307757,0.00259796970644613,0.00173576709611644,0.102678846700114,0.102678846700114,0.0134948609190173,0.0181280716887088,0.00330204627032452,0.0101725878324264,0.0450975667104771,0.175049411356911,0.308093360916043,0.426728953650117,0.182252438814953,2738.58631471362,0.233251419462491,0.213094390213979,0.0231892235597889,0.0767651303374097,0.289686785327141,0.0140522499485798,26
+"60",91,0.289099400433673,0.146664110648981,0.781408199410152,28.7566068158759,1.13419642029075,0.671036635493484,0.0114904950248075,0.992498040123869,0,0.109022623429904,1,0.0274940894926147,0.0013080451888464,0.123346800740123,0.123346800740123,0.0243387380875485,0.0247836216949475,0.0030797531539497,0.00981709153750188,0.0620192044739475,0.278556063658436,0.346321336863743,0.432377006575824,0.176258565016692,2654.91312682291,0.179784105304546,0.230866143179312,0.0211266961055102,0.0312567561995757,0.315382449733424,0.0244719536459203,27
+"61",91,0.341189038257654,0.11806350914844,0.741099330601327,26.4461824657407,1.10637354392362,0.754159135801699,0.0115903101901937,0.989943504710226,0,0.175252102381374,0.869704278744842,0.0278242800784423,0.0018790919492349,0.252950495541259,0.271877423825178,0.0179211793255544,0.0205438860796739,0.0130065206549146,0.0102027121027376,0.0616742981628805,0.24608678368874,0.356173194181501,0.222885006921905,0.0955588364199396,3086.40633045702,0.190634827208171,0.274405452664117,0.270419191701945,0.0284047578516304,0.309778452296681,0.0395373434251808,28
+"62",91,0.357581540986651,0.0773634893915918,0.818652707359069,34.5852632304005,1.42109395302084,0.6078573948155,0.0179961715816336,0.991459624923274,0.000845068471328379,0.178020139770161,0.899083450213599,0.0593874057784683,0.000895155940777079,0.506949706425346,0.507554733745025,0.013045429447364,0.0119403797281807,0.0118414080469533,0.00545042393726655,0.0422776411597646,0.204997513551764,0.442589481628601,0.0481757410508063,0.0565644716225162,3944.27278686766,0.186904913567193,0.125868248936608,0.233831824300731,0.00750948551359616,0.316076889344096,0.0426428658211735,29
+"63",91,0.141505725916608,0.038675043334677,0.657753884027141,26.7718779895593,1.18941576237561,0.594383727210419,0.00320951907845061,0.999768276809678,0,0.0126809371854426,0.969513573486278,0.000731213382407133,0,0.0222781298366654,0.0221060154283873,0.0133216024157123,0.0158073400116715,0.000483347961671885,0.0112119896865372,0.0408242800755928,0.16638533694079,0.273871845730241,0.514581727670722,0.193404414142615,2226.69721060539,0.387535813852102,0.151409788875634,0.00510645401751664,0.215125356633688,0.150701012860432,0.00189600550219935,30
+"64",92,0.248471260414596,0.0960106215410441,0.697114769114837,33.3715284262543,1.22791223506303,0.608483256639505,0.0321348106474393,0.990081175701233,0.00174067552029957,0.0268024097904035,0.662456369732495,0.00382481020061111,0.00199617605515368,0.0436535289850758,0.0444523154950461,0.0155582625293606,0.022876097786493,0.00119040687874656,0.0123087647773465,0.0519335319719465,0.154436637187501,0.307527830271226,0.522702820375727,0.379320936832418,2365.96415034093,0.319613844507906,0.0936596487675634,0.0780358877370269,0.0848480876620257,0.247675781411805,0.0361399148769955,0
+"65",92,0.209617454228324,0.03540448906885,0.7572739005172,29.208536395334,1.29982728166674,0.684170154796183,0.0151515701005206,0.995436428974671,0.00130143290907059,0.0363831609015728,0.581220807944823,0.240131721229072,0.00650308711351258,0.148937457685427,0.148937457685427,0.0134294501218256,0.0190915126747878,0.00509320914700997,0.0061901057203802,0.0438042776640035,0.154346769299369,0.34443463566323,0.393042279989821,0.177712991940868,2910.02907422403,0.197522699597192,0.160215257039119,0.0624884322647832,0.0460251856118441,0.24548297216711,0.0230091925318052,1
+"66",92,0.17342894268153,0.0608118226990112,0.803655152162601,32.4602002667554,1.36508692815416,0.644058672961198,0.00494413006425341,0.990152301759726,0,0.0277941090427498,1,0.0289285853709215,0.000484920702934275,0.0996642215476521,0.100696170716899,0.0139238324848628,0.020428651318549,0.00517618244850605,0.00715996473603459,0.0466886309879524,0.142567809775113,0.316789077191415,0.416930484729151,0.0877902955045434,2671.11911656778,0.151038986268765,0.0961215909171504,0.039712326745584,0.0468635812525458,0.160191291759244,0.00980461631117934,2
+"67",92,0.237453152105375,0.175044646262366,0.760711385842282,31.3658571632739,1.11142224643867,0.624782817063898,0.038257369815947,0.980415432395853,0.00227094632465908,0.0353940429055578,0.476866845847331,0.00913160517899746,0.003993024928766,0.0797701121452516,0.0797701121452516,0.0129620546421248,0.0265436875390758,0.00406373947528093,0.0104646731768776,0.0540341548333591,0.155742452437078,0.326720565633331,0.371842163521861,0.203554530680042,2759.24335477852,0.17740681593759,0.184023726491956,0.0161262860843473,0.0403329305882619,0.164858243126015,0.034319205143945,3
+"68",92,0.255407919836234,0.1116259057434,0.720904885395016,31.6362339167456,1.0516430883691,0.581116923335223,0.0236083153869515,0.988868268207742,0.00103812537639258,0.0329286787116099,0.681717100420821,0.00961238845304549,0.0149755100638614,0.291019002430333,0.291586828033817,0.0116916699655711,0.0186882998478922,0.012825112250059,0.010617841870769,0.0538229239342913,0.168624812183501,0.339985194385845,0.253167228491056,0.153240675323614,3231.10602770485,0.266950992785621,0.150835798335237,0.0218291951797427,0.0282324400136318,0.268137865455237,0.0339478181733109,4
+"69",92,0.226808939901987,0.061241125763421,0.681712338820726,28.2803826413901,1.12673833272647,0.696285125152903,0.0353599092801123,0.996722469279921,0,0.0525785916392354,0.270929090223946,0.0284010841593398,0.00138531256685213,0.236438943394121,0.235436500824101,0.0112218418336118,0.0168787908773424,0.00645781547371333,0.00920420220428321,0.0437626503889507,0.158248978412331,0.326826586478005,0.199174281697094,0.0713330438162361,3287.55948599709,0.153911896356176,0.227085614893803,0.0468675360628927,0.0990570727474166,0.307230937233205,0.0462406269563788,5
+"70",92,0.211122091445295,0.129890301508656,0.649925270029052,26.8378559071253,1.09476970137154,0.644700941282307,0.0400808143019418,0.988975014296262,0,0.0123030836885995,0.614332831524908,0.0071467756827068,0.00532576632094349,0.258785869957218,0.273334244156408,0.0187609849396503,0.00669832401051433,0.00105834062166451,0.00926670498168534,0.0357843545535145,0.1542515033896,0.42014132067058,0.144324354807121,0.0642384774079852,3210.89257114468,0.258300052704061,0.231697145801987,0.0137126070089286,0.0469954822162101,0.466603134150595,0.0249860996386363,6
+"71",92,0.208031820914903,0.0644071827114778,0.721699134022111,37.4127500414562,1.31056276164369,0.610981395485047,0.0211592759912717,0.988508190732047,0.0058061348198775,0.0359697905925343,0.864707695615666,0.0115101282266674,0.00119816064150819,0.255904094003539,0.255440783576986,0.0131429693094204,0.0122257761949316,0.00231549522658821,0.00673847362441929,0.0344227143553595,0.171734240818517,0.311252828906226,0.463542127402363,0.280831875318333,2497.16622582581,0.125628124960987,0.0785229316202314,0.29736668763625,0.0924267783786677,0.232048791380307,0.0316959415039344,7
+"72",92,0.286721963598958,0.0772417348274438,0.810026548942508,33.1090857236398,1.14786183246531,0.560553465758679,0.0204685588676658,0.989491343056349,0.000515834533877159,0.192809787789061,0.997325693396501,0.0472273881727995,0.0025280686231003,0.497847512841205,0.49692808466593,0.0145429143207781,0.0110807977240242,0.00613677925170194,0.00577473727862048,0.0375352285751247,0.21587452969456,0.35801529340886,0.466725639864255,0.342659287766482,2537.30305540389,0.127756922143456,0.23487896024298,0.116454870016987,0.0425414380193992,0.452032702749132,0.0440091603241502,8
+"73",92,0.193944329758246,0.149686498261265,0.638698556658021,30.0555487433548,1.18633153827488,0.62219469485072,0.0296287318261866,0.992123953735017,0,0.0591790915304507,0.708650506489946,0.00374933142236948,0.0015202610098763,0.135883985118453,0.135883985118453,0.0115382351256506,0.0150607318743925,0.00340852601082753,0.00706050468036438,0.037067997691235,0.162378553849774,0.346252828919142,0.314903476103931,0.210368471554721,2825.57965075148,0.250709638642773,0.149662820084229,0.041405950539063,0.124148811552233,0.265169207588744,0.0326699077504388,9
+"74",92,0.213056734910909,0.0460781537998436,0.724589655935638,40.2304271306951,1.42066280410743,0.570137992001583,0.00756059406181194,0.998200213557869,0,0.0136672559825815,0.502537047350152,0.00110004541547731,0.00255821778647159,0.0208411993522605,0.0210632113332071,0.00877939688053879,0.015694361589262,0.000557650948557647,0.00731244460773519,0.0323438540260936,0.126294449771307,0.27500322668694,0.447539378860722,0.285985166117369,2615.74561320454,0.18573537620612,0.0674860451724711,0.250203035603192,0.0801527761016442,0.178673477864543,0.0175935098769201,10
+"75",92,0.36308199008193,0.309958017186642,0.738163790143677,20.1457126775143,0.81850219102481,0.800094257676038,0.0150739956839776,0.977566518274124,0.007667843237424,0.253258668750592,1,0.114537589246459,0.00200346588700633,1,1,0.0217523214386971,0.0141412762844413,0.00629466658185113,0.0154010812528025,0.057589345557792,0.323919947919843,0.509689357729135,0.346721031590853,0.262537857505708,2669.42593584107,0.15522259594428,0.506774061590737,0.203699604300148,0.0330035456309441,0.81434817873416,0.111081568099999,11
+"76",92,0.298558363847026,0.0981625098286504,0.686352706048353,25.1912743834855,1.02759188931266,0.733616311306246,0.0148970501144692,0.993081878485595,0,0.0196745505507878,0.315949744337096,0.0405443283336416,0.00052129800809901,0.164288234875588,0.166034994738943,0.0156974114781475,0.0234523713110053,0.00532094950221954,0.00897658927867419,0.0534473215700466,0.204149932019624,0.396883634179876,0.277940090594163,0.0825367973761479,2897.72590597234,0.380808371909889,0.223295254792067,0.0913651818392276,0.0666421442134665,0.247187818867062,0.0213391824845448,12
+"77",92,0.25523497189147,0.108482558788927,0.757795671288901,29.9986285101712,1.08748508898908,0.726999026780894,0.0175517893542375,0.99104444727834,0,0.0249104848487205,0.650528639604153,0.0264523785415934,0.00118777622705063,0.065796610128051,0.065796610128051,0.015001182678246,0.0220975393903395,0.00128088034581171,0.011181994820171,0.0495615972345682,0.244519704082588,0.336532829758159,0.541749997247054,0.323464929922193,2219.07278431634,0.186900379392447,0.151403050552268,0.0500423239756582,0.0992671280067498,0.290290419878349,0.0367166015339119,13
+"78",92,0.239530920205232,0.096918785324628,0.750853543702822,35.527719183919,1.16127239001017,0.635505004286946,0.0113952679904418,0.989435364136505,0.00397156670568444,0.0747223304069627,0.665012916919274,0.0107225119196869,0.0096386733772473,0.0961847072385442,0.0944969709350435,0.0119866262382247,0.0238335071026236,0.00384508134954095,0.00963662221766567,0.0493018369080549,0.146061855212031,0.387430447552101,0.203748342695405,0.118895011980836,3130.70158929602,0.103542615388491,0.0768812815298246,0.123656154008532,0.0132277107635084,0.308261271987122,0.0189868410318478,14
+"79",92,0.304171767518912,0.0780345280327865,0.744777923827094,28.1947966012117,1.00384334268493,0.781868282800465,0.0190642024848399,0.982500400638274,0.00315017790370151,0.0673245412699692,0.759318957961131,0.0144278439032643,0,0.2666719984996,0.2666719984996,0.0129053283336589,0.017132355008534,0.00558584237596288,0.00900899385186351,0.0446325195700193,0.213881068408477,0.390271228691705,0.362578067577903,0.116507006465772,2674.49288626094,0.368406905398141,0.230558381905867,0.0159747990024232,0.0723116216980358,0.540947930035677,0.0563965851608346,15
+"80",92,0.337442969928088,0.0822067111087286,0.801699722610288,30.0111890661409,1.01859447339547,0.665964844066006,0.0417611543033868,0.989471102718271,0.00221290693153716,0.0282277308052285,0.948875757286113,0.00724631213756106,0.00448758314533693,0.448923885711805,0.445965594963311,0.00967131621983941,0.00878748790008417,0.0052685594875458,0.00765221188744241,0.0313795754949118,0.1637388704973,0.364432739060079,0.409684068324382,0.268748219368601,2494.08686255057,0.121439556964625,0.106880183783636,0.0123399566365159,0.0203821001634772,0.427748931987194,0.0430919048805254,16
+"81",92,0.288234166266056,0.107088681184393,0.774329987477744,31.1246220371158,1.24080265618122,0.706937559088243,0.0448789500098971,0.987457814849574,0.000705679964894391,0.119495430070557,0.92429250230451,0.00692004116272641,0.00766222651876742,0.25159718365849,0.25159718365849,0.00693553300152959,0.0103243251145661,0.00458971875960279,0.00530058330428377,0.0271501601799822,0.170282986421511,0.394645676196209,0.277612596692788,0.166682545382567,2940.83711144265,0.225217286886366,0.121379448608045,0.0521990995517115,0.024711748318215,0.561561542436176,0.0778254755457821,17
+"82",92,0.175433072671449,0.0648989584351796,0.745553867658038,28.5030275774638,1.0160636271181,0.535187128814765,0.020098344693449,0.981124758672888,0,0.00830846152865738,0.993191602002327,0.00585068595258679,0.0103830805127272,0.801775176527247,0.808787606968262,0.0263748327690227,0.00468247163984391,0.00021948002446811,0.0077222480907217,0.0389990325240564,0.182125285416703,0.385878205168817,0.463302661734363,0.269060018465365,2287.31450779933,0.2200712439043,0.139813165604204,0.00511630652947603,0.0903808448497943,0.213680863905851,0.0266067499709632,18
+"83",92,0.288314088140708,0.0661682197230243,0.742060255160179,29.6538052744119,1.05311258187853,0.627188103509946,0.0223329555234425,0.998267325740601,0,0.0106034165184316,0.933269149414215,0.0239919973871387,0.00771103785401846,0.25781457604946,0.25781457604946,0.0131057966948479,0.0229479303389922,0.00879760363795186,0.0118412605728531,0.0566925912446451,0.158982531657785,0.382054788609361,0.215279869923322,0.0982438562473274,3270.57232941674,0.184959007201549,0.179523432724613,0.142470718344288,0.0249369918490959,0.199318074595896,0.0397538481638204,19
+"84",92,0.192434831330772,0.1137573737145,0.730945392963287,35.5945891652223,1.38324458299748,0.563257543684629,0.00275204682478126,0.996103434135091,0,0.0258107065911449,1,0,0,0.0833606777496643,0.0833606777496643,0.0162603038367508,0.0201524414148815,0.00251991589285513,0.0118698966877601,0.0508025578322476,0.159522137976756,0.311854188102817,0.427667625201547,0.283972818329737,2769.36513396311,0.203619585823539,0.102287194667502,0.102153391983467,0.0543430653098612,0.255070822240656,0.00949588624857338,20
+"85",92,0.15936186685311,0.0924053922629452,0.787660390058598,44.7906465067488,1.32123237878145,0.387980265347424,0.0145928117616266,0.994704631517395,0,0.00979834244118117,0.967456847025131,0.00254016276895556,0.000816998967947509,0.152801009847645,0.153451127239405,0.0174596987510347,0.0145377143750739,0.00497542643640113,0.0101877500568346,0.0471605896193443,0.163044887775755,0.324824603101521,0.554765686281177,0.31213030112414,2329.03251908091,0.176733207733097,0.0467275147251039,0.120632081748314,0.022961010705991,0.159241509252312,0.0157665795747832,21
+"86",92,0.236610939976954,0.138382216126718,0.704680649814635,27.2362368083999,0.995986102277123,0.649646472595313,0.0741891003796173,0.97565972488154,0.0044519884709146,0.0351133206482209,0.847997131892976,0.0834043238457172,0.00843118718091958,1,1,0.0207383294310436,0.00736142030305764,0.000647554459807896,0.0109392549610942,0.0396865591550034,0.181442628528071,0.4145780520412,0.51532171305962,0.335301377138217,2270.10119597344,0.349146684527177,0.185494041402186,0.0248730404096014,0.106391644691342,0.538532300113223,0.0949160955433194,22
+"87",92,0.123127832244632,0.0888587660809765,0.591717517815935,29.7219925326563,1.30092106454172,0.520114927718231,0.012122580075608,0.981499945935293,0,0.00691758091294449,0.737744095142171,0.00174543449588866,9.39578565223101e-05,0.00805389364929699,0.00805389364929699,0.0125462299864986,0.0106991322448111,0.000207231907879598,0.0100413112259163,0.0334939053651056,0.0952448214070221,0.211659630978859,0.61172738033179,0.361487690994401,2152.7455607451,0.319088868292226,0.224408541011338,0,0.236913892519159,0.180075821486052,0.0159984895181743,23
+"88",92,0.210846147574559,0.0781047622153041,0.731815224552381,29.1132839549116,1.06484597619539,0.752255710291711,0.0314990677258871,0.988549459085324,0,0.0968482734830977,0.786495589968164,0.0186390171617532,0.00494983731795205,0.193212962817759,0.193292564316738,0.00689919299569888,0.0148546528690525,0.00639298651641506,0.00542211114061947,0.0335689435217859,0.180564689157679,0.371814026135891,0.259832514918917,0.0971466774491484,3153.64889636618,0.181876662222713,0.172293465017166,0.0640992748614709,0.0203674939893342,0.259799593153124,0.0342056458743915,24
+"89",92,0.163074159083337,0.104637739764101,0.621515804197295,29.8860283345457,0.976609351288134,0.574184411740491,0.00186212173097215,0.981204601766852,0,0.00939475761770494,0.842650841103665,0.000732931852216567,0,0.00842871630049052,0.00852033278201759,0.00924683629320617,0.0115551571931168,0.000187270529556869,0.00970319937035598,0.0306924633862359,0.204746613466853,0.220394656748028,0.888060517925531,0.782576596627847,1347.57077794191,0.258638079989892,0.147414065025861,0.00783610189246065,0.209860218386809,0.153896164280625,0.0120148822193174,25
+"90",92,0.194851243570375,0.069940990401058,0.668989100465903,26.9144382534869,1.13046223211753,0.619083351452823,0.00645754506754422,0.995696146757884,0,0.0296617163663127,0.652737503889894,0.000524396705880941,0.00154862990851747,0.123167790127535,0.122667953630779,0.0116856188391346,0.0164324105805752,0.0046533093420997,0.00861180582319415,0.0413831445850036,0.149200599767873,0.300654577803887,0.500353264132566,0.232740796175983,2507.03835460407,0.191317999382619,0.188051408734218,0.0177394399221864,0.097849952205792,0.352006949316573,0.0146239766986921,26
+"91",92,0.23090890859319,0.124837229852339,0.753648689952428,27.0902113964806,1.1335970787696,0.69889961938166,0.0110578299413977,0.987586033268848,0.00108781428154812,0.0796028036810645,1,0.0161891511390303,0.00279361234005773,0.0988794694671703,0.0981039618629876,0.0193400910073954,0.0223134629365971,0.00366686933187665,0.00792715258180964,0.0532475758576788,0.24806386357092,0.358505616451603,0.419060294203166,0.143278366786213,2566.92158025995,0.16145054933629,0.216320996637162,0.0133588296403003,0.0544614222590213,0.3770711257384,0.0307712292816681,27
+"92",92,0.301697625735449,0.132108951944362,0.719431339175942,26.5920931240504,1.0933436859158,0.71371919298521,0.0211974067531653,0.985684570192947,0,0.180150035515971,0.880779840993864,0.020822112571828,0.0107634222016627,0.248859030926298,0.278622272290907,0.0139258850690214,0.0188458364890335,0.0102902445345345,0.00808848279694764,0.0511504488895371,0.211187505919652,0.367127755472351,0.23733913916188,0.0942413416235142,3053.39292623269,0.240728268396434,0.241251626929679,0.257210810720917,0.0266773570888568,0.332510267897048,0.0552001492970448,28
+"93",92,0.2856178931463,0.0514163085681888,0.782773175506326,34.5161393971978,1.44139728149932,0.575078327826785,0.0109693509364278,0.996130546351046,0.00115995546633278,0.168082003595646,0.890160995027876,0.0535769673963923,0.00231991093266556,0.512011485869146,0.512011485869146,0.0108826337428015,0.00797932914329012,0.00802380527095431,0.00451246894183463,0.0313982370988806,0.146854065745073,0.432678905935322,0.0494962982402963,0.0595329803008739,3920.95590925572,0.12816257753814,0.133119752270774,0.221321010574365,0.0030516571302211,0.302428799179501,0.0368156015513622,29
+"94",92,0.0863530433508741,0.0370819442161293,0.669948567335288,28.3413908279003,1.23820712800897,0.57079912439434,0.00366850426536709,0.998676269643053,0,0.00537399087480601,0.993593536830113,0.00115605534619475,0,0.013074276656135,0.013074276656135,0.0102629724463923,0.0127122421474239,0.000254360035051613,0.0091605638389196,0.0323901384677874,0.128421455298199,0.275733082546595,0.467093816115967,0.147866281564935,2332.03006165305,0.358321791173541,0.0952461949010616,0.0049902064672277,0.214460704374474,0.174376486484342,0.00048579125565619,30
+"95",93,0.231729595663473,0.0597267900726393,0.743264817866707,31.7465501136762,1.19649329405656,0.571139593562853,0.0181280947144379,0.993025605956905,0.00203362179030268,0.0199211422210407,0.682335720779392,0.00234869046706612,0.00158935513200188,0.0249407548636643,0.0288709531969091,0.0191117702679741,0.02870482324537,0.000722791954711213,0.0145350693230873,0.0630744547911426,0.135938551083861,0.296371100433273,0.587174678608012,0.421627222504978,2236.71999955694,0.275817047943041,0.117459764935668,0.0702489803764164,0.0714395751136944,0.20726078635996,0.0192523120055039,0
+"96",93,0.218569214811578,0.0483805891048311,0.755549198369299,29.6407137042407,1.32972841290573,0.671304369028005,0.0159214270742686,0.996794730312839,0,0.0216412076190367,0.547783304716678,0.192061964164516,0.00356827650713188,0.135164437151319,0.136194444286986,0.0159458656605956,0.0243511803452477,0.00613160705654952,0.0063378298890612,0.052766482951454,0.119017659505149,0.304083743855368,0.428401728222773,0.209417769057228,2734.35284366097,0.182053310199238,0.14576494994969,0.0569164424357141,0.0456983509226495,0.203995178018276,0.023090951517319,1
+"97",93,0.174192990977231,0.0575859741659568,0.790086940927576,33.175728778733,1.39188897622194,0.634532324257174,0.00704680793578369,0.99346619945233,0,0.0251577837275049,0.99926209629082,0.0248563328447016,0,0.0822800978919516,0.0841522311493718,0.0182355494321451,0.0260170785325334,0.00444058676503178,0.0075514968281396,0.0562447115578499,0.110799996697763,0.294926297246091,0.552741856067637,0.120016260552339,2413.2588894109,0.130993738213868,0.0766305455148404,0.0352215032819183,0.0601578440724462,0.165661066537123,0.0122188950085294,2
+"98",93,0.250869214229442,0.0861972960869209,0.774901029890479,31.4210150762497,1.13056888177284,0.627625470144012,0.0389246252782413,0.994546427883787,0,0.0366358849800512,0.56878034750933,0.0132870798889333,0.00669518472579685,0.0730116596342481,0.0715086630726734,0.0150243613410586,0.0322313773064785,0.00297075836646928,0.012369459120135,0.0625959561341414,0.127251403262706,0.302684646503467,0.421760885385674,0.269408507472147,2765.66732468308,0.197785404109329,0.165492055486221,0.0353188995642596,0.0394825747887642,0.169028238959192,0.0449230115200135,3
+"99",93,0.270383151569299,0.10451500297672,0.732635426893994,32.6602225519358,1.10825486274954,0.568235226106797,0.00800065685415209,0.994596405691313,0,0.0178941560370028,0.613185601589284,0.00638681204094258,0.0084157989636377,0.255930701662486,0.257175528627338,0.0130561181382643,0.0231593920518584,0.00851332522068987,0.0123701777269843,0.0570990131377969,0.145323658598805,0.322759642358194,0.23626020932086,0.119010285547497,3078.81757510385,0.277649484349299,0.118985951727662,0.0138418864430542,0.0488447521201587,0.279280952140075,0.0166809142207188,4
+"100",93,0.276416784435186,0.0607084562121796,0.69092906089786,28.9014207474961,1.14515959368028,0.676022562065852,0.0373159259946498,0.994890357759543,0,0.0477616241992331,0.256518245273597,0.0159780210200966,0,0.21255648503388,0.211878188982178,0.0134872385178467,0.0215927960614157,0.00671465827079878,0.0112740232905766,0.0530687161406378,0.126699531563081,0.312406449611405,0.115427129400181,0.0546100050372919,3252.29520459997,0.176680907471785,0.197206952317098,0.0453818279459056,0.111647833564699,0.318141845555316,0.0479076858683981,5
+"101",93,0.202104083299934,0.117766927247809,0.686257233090325,26.8692659297905,1.11837671331859,0.655434464078597,0.0168122120872044,0.993179948888741,0.000576266980542403,0.00906982258460069,0.554322021136194,0.00385908684672522,0.00101786946668437,0.233538051682836,0.245522452108869,0.0231625566954255,0.0097072872505794,0.000804097872493724,0.0114400581836827,0.0451140000021813,0.131196769002041,0.373547179239695,0.239563590796377,0.10379998240916,2951.66474581241,0.286164896334665,0.206952484792438,0.00676160635168976,0.0652323892774309,0.516433439371289,0.0209350724401005,6
+"102",93,0.198335815654353,0.0609802576848411,0.722403951958926,38.537478949258,1.38009297120203,0.620916429641498,0.0114887088813422,0.993946663990847,0,0.033652417313268,0.862715575354046,0.00469456167880952,0.000452651418758542,0.213821479624785,0.213792477475365,0.0153979977319245,0.0160249136496819,0.00161875578589975,0.00777284946241093,0.0408145166299171,0.136753194735804,0.304028674357373,0.499104778318239,0.259992714119069,2419.55422182712,0.199322748485595,0.0691210626575035,0.303913049186651,0.100174593323076,0.24842247957562,0.0226567462831934,7
+"103",93,0.295564771948525,0.12808284587051,0.809766498122002,33.7545408500049,1.22934075902494,0.615605393688712,0.0100369479687802,0.997979321645493,0.000623899181022007,0.182570757340428,0.999348269916863,0.0350173422094411,0.00070271013702691,0.47925644961208,0.478663728740432,0.0106082989612787,0.0163960203642134,0.00160024441974374,0.00577816143129108,0.0343827251765269,0.240860599647468,0.338961657987005,0.711134720726633,0.574999490588028,2026.82428487116,0.117394019072898,0.219293223980427,0.107466750405635,0.0630529707921699,0.467292400810293,0.022946795825532,8
+"104",93,0.194906488446921,0.114823833368715,0.664554411440483,31.7588884783834,1.24770029319349,0.612728402334099,0.0127920976045825,0.993265489872397,0,0.0377414641939809,0.736734911349566,0.0012128485685234,0.00710820185894916,0.117446545230141,0.117446545230141,0.0125704252902154,0.0192694039234903,0.00359053059080192,0.00670839624430681,0.0421387560488144,0.128361024194684,0.343156705979164,0.362536113474889,0.240085674584291,2865.57899224794,0.260363815243588,0.137731958115879,0.0554723406358183,0.126451058003043,0.272185548541587,0.0271501775448743,9
+"105",93,0.207903274551565,0.054413114399968,0.72084062949944,41.4940177373353,1.31934044279978,0.524133994300202,0.00832824168189737,0.99840705680412,0,0.00899267923346348,0.481175591989693,0.000479798440270904,0.00103214464558765,0.0160738495139183,0.0160738495139183,0.0127178399328175,0.0208640804875478,0.000175370712953244,0.00870205730610735,0.0424593484394259,0.095914851756683,0.257453270470194,0.533112921473185,0.32490296018671,2451.01567664412,0.162889212951654,0.0516325721127571,0.246061438204161,0.0661228972193669,0.166503172406361,0.00835898466779915,10
+"106",93,0.357287919828899,0.308725826110184,0.749850702125918,20.1369677666023,0.809333785627322,0.807314836430904,0.0193603004868757,0.980599017691264,0.0015669771558014,0.19053940937469,1,0.104513280593814,0.00235204988467927,1,0.998393786531631,0.0255442865229417,0.0146252326868644,0.00887162642068325,0.0124163393850558,0.0614574850155451,0.287860072188307,0.490783268443425,0.394284561611498,0.305735113196387,2503.1669211921,0.170964833657298,0.49851652688871,0.20656365854259,0.0323192529699322,0.843500557892318,0.0840706686144327,11
+"107",93,0.281592072169279,0.0758149387715503,0.715732499827413,26.9592217138391,1.1325711271596,0.713187339619472,0.00906851582670713,0.998888939150047,0,0.0225783356201823,0.303881234652579,0,0.00137911281932397,0.130862906019361,0.130862906019361,0.015213838916387,0.0279207920783734,0.00427419785819859,0.00899104285685852,0.0563998717098175,0.157299075804113,0.385825185709326,0.273184658670709,0.0815070081471094,2891.02309820567,0.414666510427013,0.187434201901386,0.080787492170767,0.0566295465756047,0.219791024866201,0.0176763879137104,12
+"108",93,0.245236059936412,0.116133353360694,0.789436405384344,30.8904359242778,1.20880234199826,0.69675965952366,0.0246789261971555,0.996420027258392,0,0.0158163743729339,0.613985609754861,0.00406273575925664,0,0.0489233226395722,0.0489233226395722,0.0148098612466472,0.0231575303036061,0.0014556914840251,0.00927075401159269,0.0486938370458711,0.168260407355263,0.36060543665122,0.298939431624574,0.102672768902885,2753.64620247038,0.0974344657604161,0.128572505806675,0.0424442543815778,0.0605994019631563,0.271895226428616,0.0237817256291227,13
+"109",93,0.23899858394482,0.0828953944106663,0.757990147878613,38.0909282326829,1.22199715309889,0.594841447700869,0.0138640893992518,0.991306180555677,0.00332425999639612,0.0724278060672835,0.615581752133463,0.00277021666366344,0.0104146120140258,0.0897230435255708,0.0886289832735923,0.0130789230219663,0.0294815519035804,0.00424112652524371,0.00847544065458041,0.0552770421053708,0.105467625335045,0.332528349980092,0.231360584488823,0.144640565817205,2943.16354900985,0.0982631212342712,0.0702198128844682,0.0834753816706482,0.00802372111437743,0.268608917902739,0.0217798742806344,14
+"110",93,0.300763124909333,0.0716964050070635,0.783038149961262,29.1810634192655,1.0386866038214,0.720453605765562,0.0206160718002479,0.989340037511646,0.00156851310094198,0.0825746020944698,0.608861894743683,0.0116122017754459,0.0055707089245258,0.246095529308781,0.24565037156013,0.0169384891649537,0.0213913080873286,0.00903728089294508,0.0105332613630924,0.0579003395083198,0.155838123895798,0.394009238270524,0.209387131640097,0.0569602010950334,2889.69766298701,0.261444660706375,0.23218115609669,0.0144185330907125,0.0629996059008274,0.616241008109882,0.0475390560350217,15
+"111",93,0.34151365069151,0.0491665316679995,0.816826368585398,30.8880249341262,1.10621915755011,0.65101149994004,0.017394116832527,0.990779283788277,0,0.0177617028078317,0.999130864292522,0.0154858390200837,0.00145904556146468,0.38051176681621,0.378166935908655,0.0134818486866687,0.0153239303849586,0.00464498335590385,0.00855118366056778,0.0420019460880989,0.173920976334216,0.346535230644126,0.541971478632056,0.384405267112563,2246.63652916793,0.23273822401414,0.0867737696988949,0.00194945702004701,0.0448853583849341,0.462901254094904,0.0324436312124142,16
+"112",93,0.280993499500372,0.120813137158718,0.761495782786569,32.4163111167112,1.29489443085505,0.712112134718341,0.00586571508773575,0.9944167240506,0,0.101215318693583,0.912519146694107,0.000833417984561836,0.00766567055085076,0.224654994408303,0.224654994408303,0.0059016080824155,0.01065485232695,0.0025379572955218,0.00471348285447956,0.0238079005593668,0.126278844823332,0.387846087192216,0.296398181433888,0.129804303168502,2886.45402513937,0.312851189614598,0.0941448524999812,0.0468108500088994,0.019308953656641,0.581494850491762,0.0228792836911967,17
+"113",93,0.190536706552213,0.0759908808691004,0.724135843689405,29.8168383348854,1.05244769962179,0.496177548974885,0.0203650540001834,0.982618905685735,0,0.0168062850300988,0.972988172885664,0.00243776313818989,0.0039268667104788,0.746215348445908,0.753033065792066,0.029007442294823,0.00670021930824815,0.000780949190675116,0.00765186195758422,0.0441404727513304,0.131585617497096,0.348508383724343,0.492475291515845,0.202957049609164,2316.77999258509,0.144923955176519,0.118871207224244,0.00233192200954235,0.0706611434673829,0.249262919568483,0.0254448938063798,18
+"114",93,0.305614508688359,0.0520167628418994,0.774911292292799,28.9482993272685,1.11360856806651,0.631636528175506,0.0177493763132056,0.997653423844826,0,0.013966491366367,0.950608920286662,0.0483414479806037,0.00416559890964222,0.22949139906094,0.22949139906094,0.016563094298163,0.0289100782994913,0.00964547034974176,0.0141147045750016,0.0692333475223977,0.139255463716238,0.329909620536573,0.401592030247556,0.156306531162067,2551.34128138871,0.210726015422843,0.177924393620095,0.147791072220582,0.0357837290168559,0.254622427310656,0.0268421320118916,19
+"115",93,0.209919673558234,0.0418632831893459,0.75492011647122,35.434304927554,1.3731215308552,0.554640810543938,0.00155882460463678,0.989564720648977,0,0.0234804232821945,1,0.000612039560540298,0,0.070580551104882,0.070580551104882,0.0167698855125231,0.0233263419479635,0.002806516762542,0.0115379885375168,0.0544407327605454,0.13120798881111,0.30904041942115,0.447865542683562,0.311084038148837,2645.14841503161,0.199703928769392,0.105840206806247,0.105914967587849,0.0554560104295486,0.211963432868441,0.0121796157538526,20
+"116",93,0.148527404359006,0.0735370368413913,0.75855067621449,48.3144283677042,1.35086248634857,0.377988923940397,0.0191766120033684,0.995557293845369,0,0.0188654130774809,0.981085824970757,0.00216050994337776,0.00132123333497141,0.144974878879174,0.145197727906676,0.0155494119612569,0.0147392109566737,0.00433240238879016,0.0091825910751761,0.0438036163818968,0.119041745825938,0.290967894461546,0.536846409397356,0.290966479749281,2410.83359688522,0.13086119499042,0.0227742207550583,0.108096394956878,0.0558872551852618,0.162484736061476,0.01494752070893,21
+"117",93,0.212594265918015,0.105471768063942,0.722092576508964,25.0804768651217,0.994884783960248,0.596572251039357,0.0395906661631182,0.973322462563253,0.00473639887966379,0.0618083777916475,0.772111310000699,0.0839009105502447,0.010317205870744,0.994163877186061,0.993257351338869,0.0332099577549881,0.00632917608721182,0.00110262955089305,0.0128012362155381,0.0534429996086311,0.164418036795134,0.341787072493731,0.507130200891719,0.299575055669909,2273.80553195807,0.21342141055181,0.286415844116089,0.0212141877694669,0.0506566434010037,0.48541761055615,0.0769080236470894,22
+"118",93,0.110875177800357,0.0768590697014691,0.591571686452387,29.6305949780305,1.2896414139776,0.494050424528852,0.00460449685272531,0.990516627220523,0,0.00726205593112215,0.618043212395744,0.00108051819274832,0.000105474659880026,0.017262926946927,0.017262926946927,0.0134458207345716,0.0111696268418683,0.000276169171539508,0.00921612684250863,0.0341077435904879,0.0676261010355116,0.204424686994194,0.580117464656245,0.274128395793374,2204.82197508841,0.307133206346435,0.226706356042425,0.000608113286560963,0.227810788658162,0.152377986388653,0.00985160184074844,23
+"119",93,0.238195041799245,0.0804916305847409,0.748059417067127,30.3841239119512,1.1284359367459,0.736464459486886,0.0187405957960115,0.980043155230729,0,0.0704462324391041,0.776291638417653,0.0199386846222722,0.00444634349446969,0.151516013805352,0.151814000680096,0.00786874567768972,0.0204360369264502,0.00613653516821143,0.00597353048294793,0.0404148482552993,0.13941543148033,0.36190090200219,0.299623899110967,0.159021987839739,2953.27667367576,0.168245145638346,0.159865987475656,0.0606675735875943,0.0406833900260823,0.25238872035838,0.0293637055853935,24
+"120",93,0.152306091088847,0.114880441433226,0.639879584209679,30.1470723169307,1.05365447127196,0.55617262495913,0.000880527813697108,0.994099227732843,0,0.00853491908006527,0.737801149700742,0,0.000440263906848554,0.00948474512866898,0.0096608506914084,0.00881770867174996,0.0110624011994384,0.000143810385858461,0.00719757699162312,0.0272214972486699,0.14467742046363,0.195255341999038,0.899313201294503,0.773093075364265,1347.00999934052,0.169001399459997,0.141544733531941,0.00292123578353753,0.190647309292884,0.129387360771861,0.00801930417231047,25
+"121",93,0.235859977510875,0.0658518956820932,0.678889118957238,29.1718122325931,1.22467309002559,0.650324950820096,0.0160099695826437,0.991375443277257,0,0.034736839516345,0.645098441836603,0.0032620476640205,0.00221763686782818,0.101163649112847,0.101163649112847,0.0143148952069309,0.0215511436280151,0.003310171908975,0.00969691242747317,0.0488731231713941,0.115715258492648,0.293652567268381,0.488040678790272,0.235974290896112,2491.97547874191,0.216812530634291,0.18086745944634,0.0170973565979797,0.077945141286693,0.371575117481981,0.0249809816588197,26
+"122",93,0.261684074349302,0.135586869581574,0.781243891433162,29.2917362515212,1.23209141498962,0.703750559051081,0.00647123749369372,0.991536209067851,0,0.0884905424864787,0.99952573806691,0.0156545743052628,0.000545546241991754,0.0703727776142445,0.0703727776142445,0.026371786082771,0.0306712456799233,0.00406064493266687,0.00876987050280511,0.0698735471981663,0.194365025601281,0.315862119310383,0.49857508667185,0.164434217480835,2368.32263752356,0.143563353446718,0.187757305874143,0.0133314955873155,0.0538484667670364,0.381371726699172,0.032943566190366,27
+"123",93,0.301463171452366,0.122215623713221,0.744166835652409,27.6857936308449,1.14043191125872,0.683488336704595,0.0188012904775077,0.982689639929407,0,0.142212386251901,0.876107344553875,0.0113579748458839,0.00770490786426584,0.199787084782018,0.232030173849447,0.0150199866170244,0.0237706464043293,0.0109769815158672,0.00842747824307029,0.0581950927802911,0.177621389049961,0.352273617107437,0.272066769095041,0.122815966170333,2947.99030203107,0.303267613958871,0.221292196026902,0.254797867309114,0.0317531813724541,0.326325219898965,0.0433401938065234,28
+"124",93,0.295837938926824,0.102734486600413,0.797645688970093,37.3867938773275,1.53683879325315,0.586362601676793,0.00374453963604773,0.997621555434806,0.00114715104237045,0.136147928510295,0.849204931951473,0.0472203939915062,0.000542538600956611,0.467872013615116,0.467872013615116,0.0152629026698588,0.0127683868849804,0.011251291069954,0.00629124932321222,0.0455738299480054,0.123441704014138,0.402318464298006,0.104615001888228,0.0739427692441766,3565.70326022517,0.16074924454627,0.114491526961695,0.223437424911488,0.00663294695464326,0.296518816645801,0.0211153461065217,29
+"125",93,0.0996034381523508,0.0260158058150964,0.675910231400787,29.283155374034,1.17411563526119,0.504865033209312,0.013433349895331,0.993790557962266,0,0.00926319412532061,0.996059078818477,0,0.0001801330840637,0.0170596580842872,0.0170596580842872,0.0100814052790762,0.0124243967464114,0.000163323726734777,0.00834423630073392,0.0310133620529563,0.0841312376445486,0.249315871263818,0.525254815876462,0.311601205499525,2352.36104450023,0.260767745634596,0.106751907344063,0.00168672467964148,0.172823579090744,0.161056359208071,0.00583908648343352,30
+"126",94,0.228108092566214,0.0850020714408204,0.761224506282591,32.0389901807998,1.23094526456505,0.578830921434415,0.0104344273622847,0.993944736527038,0,0.0278842675824991,0.63922454984183,0.000271634382618557,0.00272078507942083,0.0158043533921538,0.0159581541293285,0.0178300763726091,0.0268842141795279,0.000669632085790601,0.0122600643094173,0.0576439869473449,0.118374996106844,0.309086244977787,0.524391540400611,0.367683982262396,2398.59008344786,0.30246969384624,0.117576928909841,0.0613471224436896,0.0669246625451695,0.140226182181852,0.011663469565312,0
+"127",94,0.249066509826399,0.0400449134040227,0.791604774172441,32.3429965775663,1.44357664395373,0.673915293142952,0.0392920719745795,0.99640882227605,0,0.0238876802123149,0.540557123686108,0.169256495604897,0.00245370776730343,0.116760100935844,0.116387605021115,0.0192502966363127,0.0277467060866086,0.00629580491025673,0.00947903466289199,0.06277184229607,0.101802408594541,0.269663714029977,0.429257073127297,0.203368327653644,2790.07474729573,0.126084007296203,0.0954315424756564,0.0525317780912349,0.0445976999667386,0.202488611155394,0.0316005426176371,1
+"128",94,0.182419467997082,0.0316393591374729,0.790265446775377,33.9163932962185,1.36586836331927,0.60133635160664,0.00879369508245255,0.996183721296204,0,0.0181314341220593,0.989941081550145,0.0119665750733575,0,0.0429459989156334,0.0451569446463469,0.0193033295413405,0.0249671647605316,0.00203035090780881,0.00872743669898528,0.0550282819086662,0.0922645387429039,0.302281035684952,0.404133159566286,0.09499265217271,2758.52227682691,0.144909728560174,0.0620569916848293,0.0276531973912507,0.0456207234186541,0.138408023922564,0.0136555898906116,2
+"129",94,0.256761646501257,0.0879358257177413,0.819729480059266,31.2102368527104,1.19626946901484,0.633271392488929,0.0185274581528066,0.974534080313812,0,0.0304987101030358,0.588186129659377,0.0106830708906627,0.00349921887642266,0.060949530757984,0.0616332780321607,0.0139526126673333,0.03087597437484,0.00281524678500018,0.0124734604813716,0.0601172943085451,0.121514350022343,0.288183102698295,0.460993425462483,0.322110019973965,2654.85569038637,0.0821910806097434,0.170210992059246,0.0251137655574254,0.0414254322398361,0.131724220722361,0.0289432100804007,3
+"130",94,0.244435835807411,0.103789384674729,0.765768166171292,32.586370759046,1.12544235144049,0.520716585610281,0.00221159017533138,0.993837954434935,0,0.01083956485664,0.563273351756537,0,0,0.229401705124845,0.229401705124845,0.0146712151573199,0.0262063324199509,0.00911972186411684,0.0130067868562203,0.0630040562976079,0.128385492024137,0.313898475851474,0.260142896851025,0.103222580913419,2918.63892928364,0.0498374236417957,0.0917873028643904,0.00712029112383361,0.0395944547674891,0.35872037344628,0.00352550208982342,4
+"131",94,0.285819382594887,0.0554958291743038,0.665021344777015,28.1326036706016,1.1136178314735,0.704615514373961,0.0309960905371103,0.990320195274611,0,0.0359994282585002,0.260157015818412,0.00860569750085711,0.00101365646325588,0.179039480923095,0.177898243198052,0.0161698494830111,0.0237649118973723,0.00733720712416888,0.0113205717500847,0.058592540254637,0.115633776498123,0.291695960263105,0.172320645854326,0.0726282485403115,3178.37334334628,0.0789266359397105,0.171031224907273,0.0381232324980886,0.128987910537454,0.348085052970309,0.049014279270073,5
+"132",94,0.238652514721416,0.110529754284663,0.672706130398382,27.3111003945981,1.13240259007561,0.675783909816731,0.0165010136113997,0.991654070385136,0.001188440197965,0.0156141313696735,0.562190695959708,0.00210208597451997,0.00385284955037612,0.241965381406896,0.253327789839944,0.0268409902533062,0.011310797497834,0.000936376456489017,0.0120516383012052,0.0511398025088345,0.121925750058027,0.354211847092469,0.268276226920086,0.135056525134158,2828.57425147043,0.197602650571871,0.216686099933515,0.00670087471369307,0.0665610549076213,0.536097053793409,0.0234556553615515,6
+"133",94,0.224783407211215,0.0564994529317902,0.691037082491376,39.6083604944142,1.40848415510659,0.583049884610622,0.0258767680948391,0.991580863265019,0,0.0162319750861281,0.797776964296569,0.00792827957665324,0.000808767127997945,0.214278932022053,0.215806936088494,0.0148743112307592,0.0147301174698902,0.00302849243183471,0.00771177415557049,0.0403446952880546,0.108158743810025,0.283959580654763,0.448242751048483,0.265892264633007,2516.58650415447,0.06870403569669,0.0697433034958864,0.227117096953724,0.114424631199121,0.220903940288701,0.0201634955426952,7
+"134",94,0.27720947049456,0.0712272373222563,0.82103664863112,34.3643682592864,1.27005366605596,0.574879655921512,0.0101331147687288,0.995567819053254,0.000625204442669288,0.152942333030176,1,0.039761465680841,0.00140227346802208,0.462460982859556,0.46208975189049,0.0155815428880451,0.0194891271906376,0.0019604794729168,0.00728815090639172,0.0443193004579912,0.22777152284506,0.325329311808396,0.70518646011314,0.595508235338075,1995.0601089535,0.0712020974259789,0.218387251877092,0.107222520957667,0.0587503907147794,0.508565142764448,0.0281278788073418,8
+"135",94,0.19302828690439,0.0904021485243871,0.663085138498244,31.4259834948307,1.23566543758432,0.634571217219485,0.0127543413793283,0.993062714235355,0,0.026611600134712,0.70887648626031,0.00134315813382318,0.0221780232696724,0.104731339876753,0.104573546837343,0.0147756867824238,0.0193526367340865,0.00351524210430111,0.00760470576010191,0.0452482713809133,0.121188894250026,0.33359529782213,0.388254927062086,0.285697935290516,2748.94269918682,0.137027814152748,0.160223397045732,0.056022231659987,0.165765999709738,0.29827391202904,0.021777290329281,9
+"136",94,0.234936588711959,0.0453202458988982,0.739971518672454,40.2239906410971,1.26304348038119,0.529307822874793,0.0156773102951423,0.998351805634688,0,0.010084019643967,0.451551881288591,0.000285000839853343,0.00077371212688648,0.0117862122988121,0.0132276641780791,0.0144098670127018,0.0246610591292121,0.000129353705194182,0.0102640940258479,0.0494643738729559,0.085528760322743,0.236801991844488,0.529170975614573,0.289431239438628,2390.61158041512,0.136466873436238,0.0589161161980828,0.155377103329149,0.0648102847916963,0.158158258236638,0.0164180004203246,10
+"137",94,0.338320372260699,0.34302819562177,0.737830013543207,20.4905436390348,0.847451201455385,0.79597440908278,0.0180328041953556,0.989188478646434,0.00230245752321782,0.15049482560591,1,0.0986841321549435,0.0030143215759983,1,0.999427719884467,0.0266194947834234,0.0129912454118671,0.00776132334205683,0.00963315596638824,0.0570052195037355,0.257029637731135,0.458267267706453,0.393910339600432,0.260432243914928,2537.75243780723,0.148805609573273,0.477099520167609,0.176944941193205,0.039755876307278,0.847136102551103,0.0815589387588469,11
+"138",94,0.286657980071072,0.0799641464610413,0.667502261784962,27.0641430507928,1.14700143940584,0.718011462686977,0.00949297549301216,0.996621377287171,0,0.005896145354578,0.287038429975138,0.010204977469555,0,0.0955634838613755,0.0976792969322884,0.0157479127749588,0.0298590369835524,0.00368165766391124,0.00921138048888455,0.058499987911307,0.128291825482366,0.375548276634696,0.216564564647292,0.0766337061151781,3021.45650539327,0.315016907158613,0.179972576156569,0.0689684632338132,0.0556455763657614,0.186104266357655,0.0136477700974603,12
+"139",94,0.265517704194951,0.0914005142763497,0.796795359508869,33.1634526451247,1.23338969427299,0.630863199381726,0.041467486710204,0.980461226465736,0,0.0169710928382759,0.593191820021996,0.00467736217468916,0,0.0201244519391804,0.0201244519391804,0.0174957909915511,0.0280975787188347,0.00131179780916795,0.0118250200722918,0.0587301875918455,0.14189616064345,0.329051045587582,0.424179713792798,0.207572085035552,2535.45294481492,0.0776130741341712,0.0972322491762131,0.0548580632080143,0.0675258100985436,0.28687159681077,0.0393573267751677,13
+"140",94,0.241210368331769,0.0726250335388747,0.775258068685771,38.2909662574052,1.28133746820794,0.603798752654722,0.00657638454967322,0.992446699132108,0,0.0383064797793392,0.612628913111388,0.00489999154270267,0.00778837322407447,0.0788046307118966,0.0788046307118966,0.0138237303652024,0.0272735579712971,0.00412650299481765,0.00855500466480369,0.0537787959961208,0.0992797534660756,0.34056839098268,0.250432161943857,0.173265042637271,3106.74617741238,0.0711727141513354,0.0664351004207892,0.0802546686041196,0.0123211306756999,0.255507694537346,0.0204805804111596,14
+"141",94,0.29029050021082,0.0417802259824261,0.782190774693237,27.6858236255672,1.00908146650907,0.772399392272356,0.0152529792982592,0.984516438976179,0.00164577520446981,0.0636081632663144,0.681943567183195,0.0173551232541503,0.00475055142852446,0.210761233800984,0.210761233800984,0.0175206373604487,0.0242850870587052,0.00755566721906392,0.0121251922556684,0.0614865838938862,0.152495187378375,0.372183718089298,0.240536452854174,0.0721280355466057,2955.70028057512,0.059933972520533,0.217015046566281,0.0116700470394384,0.0698959228740295,0.528760734501314,0.025401394189125,15
+"142",94,0.335441035252817,0.0393183438907138,0.843038697465268,29.6360997149847,1.10826213909963,0.666314458219117,0.0126775097423338,0.987934047902214,0,0.0176384664862913,1,0.00337995286406931,0,0.337803911397172,0.338497549461442,0.0127506168111624,0.0174973452377332,0.00216521888641008,0.00822854332786459,0.0406417242631703,0.180302121621979,0.354811314488498,0.475310262711664,0.231984409747661,2329.22713200069,0.0793492038200565,0.0940938025513923,0,0.0556365182589832,0.566978300365246,0.0269809861498586,16
+"143",94,0.288223106824554,0.0960357343612764,0.77537343717106,32.7900441805699,1.30924966806125,0.719428152635618,0.00194890891913464,0.995882255530848,0,0.0718959921275355,0.911497945112293,0.00246883612598253,0.00373569520058346,0.193415860629803,0.192243661626805,0.00713007679285634,0.0102860032920015,0.00188596993650721,0.00584431000386088,0.0251463600252259,0.135069012405293,0.361859696745902,0.492805467684193,0.30408448809617,2407.37602477589,0.278224768380792,0.0728364385532553,0.0468129407387262,0.0429093882566665,0.514611907379259,0.0264621446379668,17
+"144",94,0.200288112522331,0.0569312407265945,0.762087057553214,31.2363155599081,1.12781801565977,0.515986105726253,0.0150352729446587,0.988769658058891,0,0.0113161158410083,0.978333928830788,0,0,0.707147396485396,0.709672702813959,0.034413369693435,0.0074210701574961,0.00068019780516402,0.00961092560635037,0.0521255632624455,0.122199295743946,0.312187319925605,0.458390452857699,0.188912308339221,2347.34795729383,0.217996953095977,0.115755274636052,0.000826809369940062,0.0495577543760397,0.270123772223665,0.0218417300917879,18
+"145",94,0.316372054945059,0.0311257758510323,0.809406355584831,30.0341342893308,1.13473364554215,0.639001208356969,0.0126599983441564,1,0,0.00901499555017038,0.982318349780093,0.0365716374475928,0.000944478255582427,0.204767882457101,0.203672532999653,0.016067504921632,0.027477478346313,0.00842331274277672,0.012338945196262,0.0643072412069838,0.127064507553388,0.313039178248991,0.431740448950754,0.18495805304599,2482.51646360873,0.068953235495235,0.144242798527405,0.154122240487347,0.0305500472067772,0.246750956350388,0.0239595831822446,19
+"146",94,0.202175377454994,0.0380961722104769,0.747450581043346,36.4806421689435,1.41431436421661,0.572335291874779,0.0044647988061275,0.99364190340851,0,0.0316254707297385,1,0,0.000888730895699075,0.0704202421064859,0.0692697164545833,0.0182205874957093,0.0257034356873603,0.00322115638338428,0.0124109683564321,0.0595561479228861,0.123016394415976,0.309494653262238,0.522043082720514,0.403402505521986,2511.08866694711,0.16579192873371,0.116192205115184,0.0865226006256082,0.0759097526351784,0.230627735531952,0.00773531152145743,20
+"147",94,0.180603252603886,0.0817932312596816,0.779395270657661,51.1751982530852,1.43616319241797,0.395417930142059,0.0137438286887154,0.994790245429191,0,0.00466816347132247,0.986431707136521,0.00144839088661192,0.000806452993098198,0.118220727127429,0.11723363056762,0.0136209156573966,0.011639828843195,0.00325385802046913,0.00787369653660703,0.0363882990576677,0.095268273261718,0.291263401715751,0.513482104655774,0.211319216613009,2332.05812611159,0.104591449574928,0.0249822784387585,0.0893893309078656,0.0460192561774708,0.143896322801871,0.0162525512138246,21
+"148",94,0.230320058104931,0.0522621123155417,0.787980661114326,24.650919172858,0.976578330714411,0.578576619219099,0.0634777880103322,0.974389658456648,0.00120047356429612,0.0184359586311203,0.778377066528949,0.0368022309958887,0.00277708262954584,0.997476247161652,0.997064963083403,0.0340264788526255,0.00603177257259634,0.000295737128201492,0.0158424290312991,0.0561964175847224,0.156612478673929,0.348063138075298,0.631686964154509,0.429325121878931,2022.36572920801,0.131150094297099,0.251116614280689,0.0125785739153572,0.0795315031959262,0.438185934959908,0.0718698748846041,22
+"149",94,0.0959648252128089,0.0861647165098946,0.60774835395098,30.1139765363586,1.30164200672767,0.458531442176566,0.00681696253277817,0.989934257573373,0,0.00484443946865642,0.694242449980336,0,0,0.00809919928528001,0.00809919928528001,0.0124672754108196,0.0121319212208393,0.000218473705284464,0.0096434011836622,0.0344610715206056,0.0610705119207934,0.200061833035389,0.516692717098123,0.272422036620792,2312.59710850068,0.29522081944587,0.215503392320583,0.000705570065623773,0.228489742332315,0.132574779448321,0.00774627969056269,23
+"150",94,0.226135837885473,0.0693684031158275,0.738995824943907,30.5873473433844,1.13821969963943,0.69350843652215,0.0186109707462732,0.983606383669924,0,0.0553125427368783,0.76147183881598,0.0226251249183476,0.00176892267271469,0.118783576621937,0.118783576621937,0.0103682580136834,0.0266097917313741,0.00578363502219679,0.00705301086247515,0.0498146956297295,0.135338696387302,0.351219420982459,0.339495633069721,0.136461870745051,2695.5927007851,0.0637579240026608,0.145960083526571,0.048165870331435,0.0381039655003542,0.2526615478153,0.0365651458632839,24
+"151",94,0.202639563575253,0.14460177974948,0.639565501820327,30.8435104152514,1.08614557363234,0.62708974699019,0.0115341204357909,0.996813335891056,0,0.00293205289059742,0.758519368182178,0,0.000510068315906005,0.00854280436556348,0.00854280436556348,0.0118294944459009,0.0123520589171418,0.000155719372746432,0.00979200332241088,0.0341292760582,0.109368318468939,0.221538502143282,0.720708048346943,0.451045495126277,1882.83968218452,0.135721125204783,0.145070196968968,0.0117519943600852,0.186116354890184,0.147095012161033,0.0158428395597261,25
+"152",94,0.204871372333977,0.0395468878566044,0.702036500929396,29.279486083317,1.22944274258745,0.627549735626309,0.0210477264718934,0.998141338085189,0,0.0159677975058934,0.594094082509428,0.00100453529415906,0.00516070379328956,0.0850401839618293,0.0850401839618293,0.0162422011518403,0.0211634180333618,0.00228031039484578,0.0106054951331998,0.0502914247132477,0.105914658853317,0.284572495613441,0.486705361926596,0.22048356153824,2519.57736477049,0.0833876222883598,0.151364419438886,0.0180800297237554,0.0671816523007554,0.364960396629737,0.0234214742296785,26
+"153",94,0.256814697756132,0.109740257567998,0.787213371211087,28.5702156729812,1.21165907013249,0.680560689487281,0.00492442716404796,0.983500032023943,0,0.0761544249183519,0.99914333437898,0.0151674638160163,0.000544615240736177,0.0640642392326029,0.0640642392326029,0.0294722496170737,0.0325476861862318,0.00322400810840109,0.00946180102876214,0.0747057449404687,0.178591229579837,0.306262320274849,0.466632313827351,0.134885842739753,2452.42759662583,0.136789819418189,0.212563603253039,0.0180311526543124,0.0444891254345606,0.421884116668965,0.0317195655095857,27
+"154",94,0.285966838227491,0.103193737626487,0.767233981737783,28.1336590653076,1.16010506829883,0.649278794276458,0.0174131693673763,0.983663407972881,0,0.13173138295466,0.888838365950566,0.0101339693779228,0.00603017530145416,0.15398993300932,0.18142544379339,0.0139891989824876,0.0230951751623613,0.00560094369669966,0.00757392848981328,0.0502592463313618,0.146699108531012,0.34278012882,0.248479413721345,0.111085402016105,3071.20872486559,0.126104564625412,0.217671195158589,0.244385937371208,0.030942931091692,0.302787915884772,0.0418997958138248,28
+"155",94,0.287326509586222,0.0750828912453476,0.82318332644994,39.7582419036986,1.60513465882838,0.564358934126494,0.0027372869818951,0.998198218216943,0.000601745780554402,0.11749119853635,0.827458092901014,0.0370437591942955,0.000601799976424699,0.434523614001351,0.434523614001351,0.0192175180897774,0.0152865784028933,0.00978483376929522,0.00792257747503681,0.0522115077370027,0.137108280750303,0.374399693575954,0.222544108282852,0.164435277861426,3085.27838979485,0.0783575707747828,0.0999155864039351,0.250184579978685,0.0100301084287913,0.279987873672721,0.0177706145865176,29
+"156",94,0.108060834171733,0.0331021272061651,0.667738034098521,28.3630769713551,1.14294324532002,0.487374033990431,0.010856663831909,0.999833948606726,0,0.0003321027865482,0.929155840672093,0,0,0.016352075794214,0.016352075794214,0.0119483252593852,0.0135251994634805,0.000450142672869559,0.0100582251471598,0.0359818925428951,0.0768475621271785,0.245412311850484,0.514152621441583,0.242948100796745,2252.3540860415,0.16847235476992,0.125267302662183,0.000830256966370513,0.143259497435989,0.16006777709686,0.00666488373405323,30
+"157",95,0.218071653845789,0.0462002428319053,0.757449373009998,33.5273954051812,1.27090763794404,0.521649721801357,0.00854312804082909,0.995314998492194,0,0.00783273324309288,0.816899487904291,0.00112559518651612,0.000143435619980816,0.0107692077931374,0.010901698526453,0.0158275623626954,0.0256627981466531,0.000364196682388578,0.0124927766467909,0.0543473338385279,0.109286020264791,0.295013886740713,0.507586368994763,0.305353118344713,2375.55220458822,0.203197794050384,0.106719235552697,0.0672787272769153,0.0716633615263968,0.135975413193436,0.0105767177897508,0
+"158",95,0.244864596641898,0.0274246706584747,0.807937095749467,34.2545137182146,1.52497037647953,0.679356888791781,0.0305638652575783,0.99532150012243,0.000660359912478918,0.0201896666060117,0.546927187791162,0.157517241818942,0.00155368904144397,0.0712030562186865,0.0707124740693102,0.0188568416203301,0.0288644831680881,0.00323414043075608,0.0088160922481963,0.0597715574673706,0.0972816791459347,0.25809398395091,0.504857989315785,0.222982206091389,2392.68902308672,0.0927798503671502,0.0796185591416399,0.0441667838453261,0.0414400041469769,0.228455698293181,0.0319995943865858,1
+"159",95,0.18217536672754,0.040270307671555,0.816010632960103,34.6973449853189,1.4020958002144,0.602626545129878,0.0326443695061785,0.997392333296765,0,0.0215295011115438,0.98407354044786,0.0259918507131833,0,0.0251661205613043,0.0251661205613043,0.0179267723832467,0.0276061775166608,0.00186189043406048,0.00859020938168978,0.0559850497156578,0.0818631368248628,0.279043863989048,0.463134640848542,0.103816898749761,2734.67426230865,0.146167458100231,0.0563672005922555,0.0184606691170145,0.0490458381581563,0.149083917651259,0.0187706521023296,2
+"160",95,0.25269459263173,0.0692983054270979,0.789914911348625,32.7472751553316,1.24225204035301,0.608349241291306,0.0108587343363052,0.996056280635832,0,0.0193697967461802,0.612500008825183,0.00540695998538024,0.000598208954976175,0.0480906671461132,0.0476770354328544,0.0130098560727311,0.0293512555632652,0.00217160571929178,0.011924203784496,0.056456921139784,0.0882082229638388,0.2789889087375,0.455170849585363,0.29436651290946,2679.44615139045,0.0760853889614729,0.153735288444298,0.0212571544891474,0.0415870187930415,0.14427580760251,0.0138971751575138,3
+"161",95,0.245195549914687,0.113150053435781,0.734059647855389,31.7845452575201,1.11792073952645,0.597430022444477,0.00853190417138831,0.997273098019531,0,0.0113755470248055,0.594774905825963,0.00067619697027847,0.00160326792300745,0.225145049531314,0.225145049531314,0.0188764531224686,0.032345942444155,0.00879240120863049,0.0182681509437951,0.0782829477190492,0.141303769870944,0.326894873855576,0.322297303167734,0.137750362496413,2695.8845155448,0.0613222044371128,0.0841698768250081,0.00588664615944012,0.0743873605910358,0.348408765897362,0.0122625047981113,4
+"162",95,0.271742348460238,0.0515059116455503,0.63155980534587,28.9642340071892,1.12073971617526,0.692012526016392,0.0219002404744831,0.98672849017067,0,0.0289340720738935,0.254028909784959,0.00717977554937018,0.00114982838400104,0.147612373751532,0.146503519311709,0.0170900066308255,0.0252317949663192,0.0053839653801474,0.014137751061434,0.0618435180387262,0.106607101138027,0.299419259617705,0.204848593602762,0.0740444287170221,3130.17936112673,0.0514462009089187,0.193900573532453,0.0323914281349293,0.112768061261069,0.363801092336126,0.0373564962903161,5
+"163",95,0.232077846894939,0.0940815119498518,0.660047838632378,27.1493529926326,1.08943964732567,0.659822750630107,0.0213871657934894,0.995760087672539,0,0.0129358667195004,0.559845939247067,0.00318165698791838,0.00263214256786615,0.214433927234408,0.213461247477153,0.0279180626854841,0.0112755912490359,0.00067183757258743,0.0136906389004759,0.0535561304075832,0.119566365520695,0.339842892311949,0.330732999562072,0.159614431604434,2682.4244320798,0.1264648012326,0.213730053222122,0.00672105462367212,0.0847126994823968,0.443891849897702,0.028325312418085,6
+"164",95,0.204072878227648,0.0301890868908802,0.709652123844732,39.3305570471839,1.34289525335253,0.565272066252732,0.0425332080540951,0.982864679867396,0.000659110317282988,0.0165195584204353,0.790010572002738,0.00753035426812883,0.0035326875962114,0.201589741844941,0.200272133279685,0.0154480837563623,0.0158184000592245,0.00239336522173242,0.010016125683512,0.0436759747208312,0.0981227945117235,0.272309068356181,0.455903291889546,0.284294486118417,2446.40610052742,0.083410558520023,0.0685721223559542,0.205274965595653,0.123324073016386,0.213711783426071,0.0534813881553116,7
+"165",95,0.249538057642654,0.0503398208606301,0.840424830435481,33.8508733847372,1.16437036823466,0.520885389102102,0.0899874796514136,0.988245446941463,0,0.146659008393478,0.998581027758961,0.0396571972189489,0.00521814497812742,0.459403050133056,0.458853325305474,0.0322489586194086,0.0204153562658179,0.00621657576408792,0.0143681704404597,0.073249061089774,0.186873908089463,0.333367626485681,0.643896163295037,0.545372681372726,2098.09686829251,0.0610279120492073,0.228130870954168,0.114586429448063,0.0586137019505641,0.537005964443597,0.0858486688952413,8
+"166",95,0.191951811751492,0.1180681942571,0.673658084356825,31.874794843307,1.19863856744039,0.607882973184253,0.00944938753886437,0.991757353159673,0,0.0246229907153613,0.698822444546953,0.00110777492732861,0.0211368267878487,0.0969023427556185,0.096706979659225,0.0155951525266003,0.0217117766096709,0.00296171397675716,0.00977045497765097,0.0500390980906794,0.104520135060486,0.336038414473002,0.320085193924891,0.219793175339183,2898.58055518974,0.0988135450442126,0.180081983019202,0.051807141869052,0.140793972851538,0.246737469298474,0.0188019893308954,9
+"167",95,0.219589016077765,0.0690144142930154,0.779485508432623,43.1844407074828,1.35281146509702,0.508424331903022,0.0115163109945399,0.996102599969908,0,0.0106894330727075,0.418521781457092,0.00120231237810042,0.000214020929346784,0.0119424389156356,0.0110094003693766,0.0170035292051436,0.0234213504260556,0.000216638422260366,0.0121608406227515,0.052802358676211,0.0808477794404634,0.231520108643829,0.52160898972077,0.306972678171731,2355.0053079689,0.14284249972415,0.0500895300759481,0.133034194103838,0.0844710318793216,0.148859540346103,0.0130635342600394,10
+"168",95,0.347096056798676,0.291577265880301,0.738585127942651,20.5237339571475,0.835338647317919,0.786689447698794,0.0104805415551976,0.991413314557239,0.00147954360417434,0.139820241916681,1,0.101591163246081,0.0041030018367975,0.991089648629597,0.991775060273475,0.0279800219192968,0.0138917299842424,0.00796342937845194,0.0122903416747436,0.0621255229567346,0.251993922333235,0.472644305216059,0.401312700761482,0.282799494887208,2537.83539253314,0.0700545415851312,0.483729023350638,0.182458468713112,0.0459238694797783,0.846085481354392,0.0988909149548349,11
+"169",95,0.251181702808351,0.0627872834446071,0.681816979610723,26.2023739717611,1.1183162816284,0.684521800899568,0.00390191156389943,0.993754271424165,0,0.00520805199772982,0.285562894025782,0,0.000779612285649791,0.0808605026377472,0.0814113809648957,0.015596627619374,0.0308946268892549,0.00301594985821969,0.0111506575935935,0.0606578619604421,0.117106739934614,0.358252971762599,0.248539572945581,0.0828904624149315,2888.39054585896,0.203406204929652,0.170859704482748,0.0485582314558554,0.0496637756781043,0.196380149107567,0.00509545225533996,12
+"170",95,0.24782783273624,0.116888358518669,0.809902508365652,33.7014133655776,1.26883589991019,0.601633166852241,0.0316124715646911,0.987410260874715,0,0.0113669983625551,0.537751163851468,0.00806017832571054,0.00114884603082294,0.00953201773857682,0.00953201773857682,0.0150256749446738,0.0265881029836568,8.18767746202173e-05,0.0111798281841267,0.0528754828870775,0.114668149095987,0.316640735774589,0.313068082990885,0.136922250414844,2790.68891716649,0.0936919454011823,0.0898581689648746,0.068697679598785,0.0394472283905034,0.227981011375897,0.0185027395824316,13
+"171",95,0.245831673837706,0.0761000713381622,0.807843258379435,38.8054601351771,1.30005977001406,0.553675404777493,0.00471633362124998,0.992747557880088,0,0.0222482566739196,0.612173210885712,0.00210798241016646,0.00688509995542796,0.0662239185785725,0.0662239185785725,0.00994776318745324,0.0207448020229845,0.00310978787021767,0.00789109981447051,0.0416934528951259,0.0914075270358848,0.349745776932471,0.243903518397936,0.141840465292967,2889.85280756514,0.105955110864986,0.0560870700541993,0.0658847259601418,0.0108582004667612,0.189007785185568,0.0148977201773971,14
+"172",95,0.28389295376219,0.0648249034111771,0.754108000629399,29.3157644182086,1.07587691132225,0.771167045439755,0.0148234636064949,0.990649961945991,0.002643070310249,0.0703211546876564,0.588129643851337,0.0211431880115497,0.00702650983644352,0.174376654607631,0.174211938258339,0.0168680024565321,0.0235100091404262,0.00686857332518082,0.0122407129238535,0.0594872978459927,0.141213305968969,0.336440122647534,0.303184306091613,0.0419471336574745,2702.31345693054,0.0639591856504392,0.192984473686996,0.00427060471469831,0.0710635077196336,0.48938885733255,0.035387657196022,15
+"173",95,0.341386045782766,0.0661239389878248,0.806544307170448,30.0158117875684,1.11349456948,0.655363502253475,0.00959638919067937,0.985630533549205,0.00191503267955609,0.0264479178141263,0.816921249560722,0.0149676321150929,0.0015928275251731,0.315513165161992,0.316415574512475,0.014950209117504,0.0145670070818251,0.0032114066110147,0.0108257283315919,0.0435543511419357,0.14701382629789,0.354472187467661,0.300772898880708,0.0991203846274949,2684.23604918397,0.0497553061961365,0.114754500006625,0.00359443189149378,0.0299022342748697,0.549483382990945,0.0359964574130172,16
+"174",95,0.291393587975174,0.0843734141565465,0.777404991332007,32.6922083125818,1.30000115676164,0.783990780793377,0.00406292624995309,0.994041801171418,0,0.0399142819371838,0.99952614249903,0.00162629949775384,0.00278454566268569,0.18143037836934,0.181963730656571,0.00729472111506633,0.0103113414787271,0.000481685328844664,0.00622270219030542,0.0243104501129435,0.131381594177528,0.379976703761374,0.588744307842272,0.386112597284086,2084.24739850791,0.355265064974949,0.0691060571415246,0.0445562866958258,0.029862069407386,0.395265917950754,0.0193938177455122,17
+"175",95,0.203976959233712,0.0496513890308547,0.767901697166556,30.1768083635565,1.15259172969975,0.494230267091372,0.0179484983582544,0.995225164804049,0,0.00474997730942287,0.99819077651696,0,0.00180922348303991,0.631729083830822,0.672484242985783,0.0372988364159254,0.0077640913343008,0.000809059315030053,0.00986274982050893,0.0557347368857651,0.113327381067912,0.308888033137298,0.425772773990658,0.161775488738411,2420.64356761169,0.163201872730153,0.108574239666735,0.00147834937129621,0.0677869278555253,0.24784062869076,0.0161067446291253,18
+"176",95,0.301228062788171,0.0439138005239678,0.79592416732206,29.9784267370769,1.15921860635751,0.674723271694502,0.0051728334323503,0.993939760402958,0,0.0141947681062526,0.963831357140926,0.0278936051518574,0.000544649225804064,0.153338717529781,0.152483287830632,0.0171930641768315,0.0291450290782913,0.00505978977571831,0.0146477986226581,0.0660456816534993,0.118079978401546,0.310926958168583,0.431221922260514,0.18427893072959,2378.3066756923,0.0605121195552348,0.143112902570051,0.147437060772398,0.0368822161799099,0.235277334350595,0.0232303362367558,19
+"177",95,0.209391278063652,0.0529059326819913,0.728097297477513,37.6909358908934,1.45314234606265,0.553871525640749,0.00809052768558865,0.997203135248438,0,0.0211553558388309,1,0,0.000348670535154498,0.0533153672029161,0.0533153672029161,0.0187900908578823,0.0270235817698165,0.00191617171848186,0.0141789873172952,0.0619088316634759,0.108811915340519,0.288934865112983,0.54430488892612,0.391004246093344,2419.18045661228,0.140985859531452,0.0908278763752073,0.0820030858527666,0.0906582618269731,0.231241342296817,0.00587459477241411,20
+"178",95,0.168167983632889,0.0581374912954017,0.774381882613176,52.0940390773454,1.57981427836218,0.375799999249769,0.00917531353535746,0.997714961303872,0,0.00610343279504344,0.908778293014682,0.00343567601901998,0.00083950744262873,0.0771477514743133,0.076918755094208,0.0120928446271581,0.0114452852898835,0.00200008621740928,0.00702687012451006,0.032565086258961,0.0797940607367736,0.285081065610144,0.455255905742532,0.211904373353543,2527.75916082228,0.135068127226469,0.0197425924250414,0.0877833839873701,0.0608554388523931,0.136592599260433,0.0123711952729707,21
+"179",95,0.206062334045331,0.0697734465603336,0.757055799068283,26.4340232391827,1.06580461320734,0.579881741961612,0.03760153199844,0.984323647938526,0,0.00609657542417692,0.714613886002479,0.0229958620211859,0.00331636105783478,0.992776730141276,0.991495604530589,0.0321377182662176,0.00628404047916019,0.000590228845937974,0.016720844720357,0.0557328323116727,0.155771802470051,0.322255225816882,0.775351228920929,0.544246198393407,1744.71693652397,0.0759466816075565,0.201329082067643,0.0152052051960621,0.0759597739838223,0.450757881449636,0.0516853033094925,22
+"180",95,0.103542501105136,0.0804306755258132,0.577661157345496,30.7336621403281,1.32349133723641,0.447081579284239,0.00766576660260503,0.986763158286111,0,0.00301896655238964,0.580562809169751,0.000269738052538819,0,0.00911257714630215,0.00911257714630215,0.0129928517896732,0.0130016149416789,8.95590184242885e-05,0.011112515512557,0.0371965412623334,0.0532609620189209,0.195825462580433,0.526282061520972,0.295080424969043,2251.47941276846,0.284259871595276,0.207601066942321,0.00183606893507104,0.255696398937299,0.135079251097462,0.00633451467657473,23
+"181",95,0.221292017485842,0.0881538978020016,0.737801405441509,32.1490027229421,1.19957135549032,0.688210265914438,0.0265048704865065,0.983024493420463,0,0.0422802033100416,0.775901818112727,0.0262646073762794,0.00256198736199435,0.0975249147638114,0.098146926767671,0.0109170148398924,0.0293244732934742,0.00408420992883051,0.00830611516798918,0.0526318132301863,0.126240078316823,0.345213511169996,0.357281501043713,0.165684910998971,2600.92600472156,0.0578218274523593,0.126574146236327,0.0481463781682708,0.0588681184210292,0.241069005325245,0.0359213370377246,24
+"182",95,0.172619037833781,0.06804768256667,0.645474134255099,30.8846976965976,1.09330408498591,0.516862929891758,0.0112558714778824,0.992266902323959,0,0.00311313871096112,0.675939743163773,0.00113575100644918,0.000324500287556908,0.00584100517602434,0.00584100517602434,0.0112771878130983,0.0118647985969279,0.000202003203305539,0.00975107070702455,0.0330950603203563,0.0853050664818633,0.231437644370171,0.630326968277582,0.404778251416379,2032.19531064753,0.112836985144502,0.161347374745706,0.0130169642732698,0.118134735012523,0.125710849813309,0.00377886980449008,25
+"183",95,0.197931993257144,0.0791838464307747,0.72893311919517,30.3780077757163,1.27205188628787,0.625962042567772,0.0195971791357343,0.991372114174575,0,0.00915144529590487,0.56802231720404,0.00157549512475269,0.00106264312686109,0.0725233449058278,0.0725233449058278,0.0152252355335788,0.0217346456489569,0.00336567722454839,0.0108793475813188,0.0512049059884029,0.0906871542989712,0.308109868046872,0.358805266386359,0.164424116405135,2831.60249376912,0.0966884752576558,0.140154656564159,0.0113438698864535,0.0569344258696252,0.302748997166663,0.0330028808727245,26
+"184",95,0.267475619417841,0.083928403356895,0.807419560210008,29.6567099818642,1.25449681113189,0.664964610899784,0.0127152501959697,0.981511548039607,0,0.0651425932774501,1,0.0155151966364953,0.00384872207657943,0.0567003945243209,0.0561388159652426,0.0255101290061304,0.0357936895830176,0.0021416886902045,0.0126149558734372,0.0760604631527897,0.156063864731146,0.281907209369235,0.467511436349801,0.143481538887578,2371.88269616988,0.0884272130924433,0.176921531516025,0.0150060834479522,0.0471621592421184,0.383036107789807,0.0412839294548049,27
+"185",95,0.262624436249764,0.0936700876152443,0.778668821952757,27.7858755056553,1.15104964127244,0.634291442068714,0.00960132260800539,0.994991379459444,0,0.102272736165904,0.870230626050565,0.00841744412190668,0.00352326231431959,0.125644534422339,0.147233361548473,0.0164003867421872,0.0301150590070172,0.00378713574880598,0.00911074573567069,0.059413327233681,0.139816565697882,0.347579039286367,0.231142622999301,0.0847573132917681,2913.323835476,0.0882792740897306,0.216636815518622,0.240933054889077,0.0267261046596453,0.309920860048966,0.0324053650887995,28
+"186",95,0.326708878108037,0.0484474200176312,0.807125320901761,43.050130986718,1.70351760066952,0.614687689038137,0.00141487040381476,0.996786610568369,0,0.0944230437044794,0.815249798208063,0.0321275169019691,0,0.406506386587427,0.406506386587427,0.0235338850712714,0.014809530079384,0.00969735257861241,0.0105526831082418,0.0585934508375097,0.130979486540876,0.376576777349833,0.153709918354476,0.110743308594105,3166.34786514389,0.079966311109703,0.0852840563509771,0.252113103326087,0.00690596623220732,0.292582239960715,0.0117434368639434,29
+"187",95,0.149195764105916,0.0296567911068748,0.635476068429277,32.2492265611082,1.24035455648631,0.47956548714384,0.0128884826263619,0.999690359540535,0,0.00775292982127352,0.948808523254671,0,0.000169652720351758,0.0168798909626039,0.0168798909626039,0.0144430697559641,0.0168774498204043,0.000415439553998866,0.0127448307250894,0.0444807898554566,0.072946386519692,0.230591785259634,0.676948076848065,0.421258955613913,1972.27057092427,0.20381983517829,0.10614872498051,0.0019619875293444,0.213029948131677,0.197854887053898,0.00240542473864463,30
+"188",96,0.232506516375013,0.0403808057453465,0.766989739919308,35.0175935473022,1.32482956228123,0.531563274319195,0.0151537068001122,0.998600256474357,0,0.00779900541846841,0.842881305553882,0.000536969242715949,0.000145331892865512,0.0139517300205031,0.0157286243357569,0.0172816928693669,0.0259194939781118,0.000449113694696686,0.0118044241685763,0.0554547247107517,0.0919062336891649,0.301067364830202,0.489898101583944,0.286733968971015,2463.12656816134,0.23942760759206,0.0875957183563086,0.0733050705926106,0.079151632635316,0.147384228908956,0.0159334292055596,0
+"189",96,0.246851555455112,0.0278509972277268,0.823114858573575,35.4270284529611,1.59897569759557,0.656697766544535,0.0119449675248438,0.994923366818272,0.0003397595167024,0.0196499459923511,0.558231769946285,0.163094133070093,0,0.0374717684216163,0.0385152205860615,0.020493913023503,0.0256327978540867,0.00150882043618187,0.00912251814476848,0.05675804945854,0.0887259035505066,0.259433535208868,0.515893400658574,0.20791825244932,2470.48392680178,0.0738214088613327,0.0757457308040651,0.0300702856329331,0.0690876767967555,0.221060785392149,0.0254964784257575,1
+"190",96,0.173071053278915,0.029278891511057,0.805744139754311,35.894606773721,1.42974790204606,0.544360980969919,0.00992540431427725,0.99840368609704,0,0.016747894413572,0.996220212657576,0.0115995030809352,0.00243351551951019,0.0146721113085166,0.0146721113085166,0.0190669301425023,0.0229480088271763,0.000898828968829486,0.00909752362196991,0.052011291560478,0.0673837759744295,0.26494373356708,0.453133540027316,0.121813017143081,2826.08665898737,0.111615959238762,0.0506563391825516,0.0222825348895886,0.0418272523035084,0.0999658861195781,0.0111080371737566,2
+"191",96,0.215504981418143,0.110823033303786,0.777300262043327,34.48682155328,1.26576017178927,0.604574197214913,0.00494733959223586,0.998635488086578,0,0.0123663658051054,0.5098689546802,0.010576635803784,0.00239598736341507,0.0386481149541235,0.0390897252914506,0.0124530520832084,0.0225856583309842,0.001557646017562,0.011450453277908,0.0480468097096626,0.091764981941999,0.273639630772989,0.465830699803821,0.328836065383909,2629.26091651143,0.0650136491574668,0.135219290969444,0.0179552052876191,0.0581017891608002,0.148049282210822,0.0133527716119663,3
+"192",96,0.244008636168604,0.139416150560051,0.753688649837819,33.0949627996359,1.15875665868162,0.541666257487268,0.00824205583307937,0.9834521091027,0,0.00493740829455982,0.610184595945305,0.00240465186660599,0,0.174068598713158,0.174068598713158,0.0192552525029373,0.030252265381064,0.00593550653088308,0.0173854269359941,0.0728284513508784,0.119159480134011,0.316883472861262,0.310465609344436,0.164160250449959,2866.153776764,0.108230347998222,0.073480932510337,0.00823454420144887,0.0708594226876316,0.299418374283793,0.00690186840307361,4
+"193",96,0.269002041641217,0.0522772281314366,0.644159463051292,30.9027377388719,1.19914638683563,0.66321789338997,0.0272662643042629,0.994138845816223,0,0.0166077517966502,0.23724848245763,0.0056952838530507,0.00074778900066588,0.0964498443355069,0.0925480827825891,0.0171785326795968,0.0219760276152332,0.00218218917234547,0.0153176912658573,0.0566544407330327,0.098661311265347,0.310171344571403,0.125488400932925,0.0284205598432561,3328.03324241754,0.0811457127910315,0.177780867349712,0.0213245255340306,0.111856892481377,0.371445758052001,0.0304572997272159,5
+"194",96,0.189547902747279,0.0840610929748583,0.656781925871081,26.7638294586512,1.08909593249386,0.613206215131715,0.0142186242943655,0.995659140616189,0.000973101230085433,0.0117948810566378,0.517859436047558,0.00267602838273494,0.00257203492866431,0.190291362854616,0.193050694132761,0.0284147885019908,0.0106120440158703,0.000756174412904976,0.0131994006822493,0.0529824076130154,0.112063686548222,0.31235585267797,0.434770251174335,0.26322460502323,2519.97180043104,0.110820718031525,0.213516826915917,0.00324771103083832,0.0708334156104028,0.275063714533728,0.0150266340873254,6
+"195",96,0.181753412179849,0.0459500249476475,0.704730308144532,37.7567677316708,1.31425576152038,0.533393329085105,0.0359630988346815,0.984243582103198,0,0.0196865986352607,0.758610199957578,0.00758057094889221,0.000934688122251078,0.16060803625289,0.16060803625289,0.0172768213511527,0.0141609927176462,0.00263851658016458,0.0107898259965847,0.0448661566455482,0.093051635508242,0.278628708602853,0.495146693891236,0.303744759805684,2408.16381737459,0.0739448201750247,0.0679926956532078,0.159493456773156,0.121228447724858,0.190958661197413,0.0348813124185003,7
+"196",96,0.232210910546316,0.126416375537963,0.853019112290504,33.3624626866831,1.11495047975045,0.455728953054155,0.0166087073603618,0.99858023490048,0,0.115112319999925,0.996880451774798,0.03658391673424,0.00319083781829175,0.435069752029644,0.436153017075556,0.0340288754277379,0.0195254800662629,0.00489411811126716,0.0163431901511216,0.0747916637563896,0.154310254536259,0.328085841356461,0.636971633654227,0.470438655425672,2088.88072896379,0.111559396425882,0.230761854998563,0.0967992851424184,0.0520224756523922,0.514776936715075,0.0305246247302925,8
+"197",96,0.181353377038132,0.135023259516977,0.686385896811732,31.3450418603079,1.22389341422894,0.577374174046376,0.0111256902769031,0.996277261285555,0.000189360435626224,0.0321754771087477,0.650040043241058,0.000757441742504895,0.00453838796333536,0.09060807894659,0.0913450990723586,0.0198695109168788,0.0199669543257874,0.00298646595572247,0.014231962398173,0.0570548935965616,0.0966168494907192,0.29199801469923,0.395877679337976,0.251220899450338,2833.46859971953,0.104995481150802,0.182339714282855,0.0535187143142173,0.128274418408041,0.237516725547917,0.0198996285786373,9
+"198",96,0.198438769840528,0.051282554680445,0.712191553444869,40.1997451702118,1.40435256410765,0.470149358241532,0.0173579931063327,0.994909651239873,0,0.00677834990719896,0.421928596059493,0.00119221481869845,0,0.00997155261995099,0.00997155261995099,0.0139336035341896,0.0195526033979159,0.000150523033463919,0.0116345382237152,0.0452712681892846,0.0660229706425254,0.230901296205202,0.519719090778463,0.298284988322376,2483.48126669075,0.117668143795479,0.0522986880679578,0.176930297767114,0.0911507478582086,0.130659737778522,0.0123059199251036,10
+"199",96,0.345763994442162,0.273468579278017,0.751792726914771,20.8721490795642,0.86432667297285,0.770167776814306,0.0130152371320914,0.986492336884206,0.000631399952413576,0.129947159828032,0.977458969342012,0.10704675070282,0.00312440652822758,0.991224679239354,0.989943610515172,0.0277437087551389,0.0134947916752892,0.005691041516628,0.0127019320236003,0.0596314739706564,0.232892266794979,0.464761976730604,0.41437714694345,0.303590116802495,2671.71894974929,0.0562781997138923,0.477658881815746,0.194664983394086,0.0372700196228745,0.772696647040609,0.108194488854764,11
+"200",96,0.243348893907364,0.0717908311849259,0.674030612413524,26.9414802628702,1.13369505744462,0.63418533488821,0.00985051507925465,0.997074226630757,0,0.00384854454945406,0.282529914497691,0.00279768254050427,0,0.070879763718211,0.0729743417936576,0.0144505034831116,0.0248218139436536,0.00168424586370029,0.0112625103346273,0.0522190736250928,0.112569673820318,0.356993590948503,0.269630901869656,0.110396371122994,2818.05654912602,0.204265300537889,0.16483316360585,0.0367716592643597,0.0553519769053432,0.190962691992871,0.0134079289214098,12
+"201",96,0.25955206368313,0.136442121884871,0.755257937070738,31.5529769247623,1.26924098974532,0.569772801161372,0.00793909247493743,0.995646295207632,0,0.0140240140297645,0.503905758799771,0.0192103338395767,0,0.00196798668935408,0.00196798668935408,0.0178333028207947,0.0285743417887133,0.000155487577294707,0.0126435364140224,0.0592066686008251,0.114388754819434,0.284106232288183,0.556247000419539,0.286485208284157,2184.20276602924,0.0561081971341859,0.087658642123539,0.00111219903623971,0.0870774849300447,0.209367478883737,0.0199955838397812,13
+"202",96,0.22326451862031,0.0552685359965838,0.766823330786605,39.4311205053886,1.31888307033506,0.513648580000329,0.0161852876781642,0.990721419182387,0,0.0239045443994044,0.583093577713345,0,0.00120025834178645,0.0385276213078169,0.039195357622962,0.00994579761704138,0.0176094649557315,0.00183646748613694,0.00722220077819287,0.0366139308371027,0.0950408585093334,0.325821309901456,0.409762492257548,0.250233448382062,2514.57946239628,0.0627890737939256,0.0644396072367003,0.0613738635275904,0.0209235959852732,0.200855507339392,0.0190541622594681,14
+"203",96,0.286842445895467,0.0445117986724436,0.780456699881971,30.3345552056164,1.11163720390964,0.690954552067193,0.016488617051417,0.980120480160412,0.00430737666124724,0.0381812384393028,0.578741119761082,0.0347264092108631,0.00318893969413458,0.130360739785328,0.130360739785328,0.0152346004614883,0.0198990355560283,0.00347453982603649,0.0116419236226519,0.0502500994662049,0.121842299098479,0.303272811956935,0.362300102192066,0.124391667527797,2692.44556943147,0.0646682401328869,0.14863543802146,0.00232504355401997,0.0474215898637488,0.40423962508138,0.0291444944554805,15
+"204",96,0.309844639023256,0.0585831734626223,0.78801107913751,31.6230713177316,1.08568681264598,0.611081113784104,0.0190789530387599,0.991591391580085,0.00113243710027873,0.0266265119333822,0.769903474540675,0.00309643698294531,0.00206552305042563,0.230468514493777,0.230072107980911,0.0153336905684988,0.0136405647258506,0.00252580370269474,0.0120944561673663,0.0435945151644104,0.122377760694955,0.361082284809818,0.233492088309941,0.0799265897954657,2792.64718002059,0.062300279904483,0.083534960245463,0.00285937300780592,0.0305614177688534,0.476233457732184,0.0346401234851773,16
+"205",96,0.282675484635012,0.10066606496513,0.791927471348833,32.0311537424096,1.28479019490792,0.779940340086846,0.00750714086613722,0.993630100767903,0,0.0378190730217727,0.996809206720148,0,0,0.157160768082189,0.157633064833871,0.00804338076172524,0.010231872242162,0.000649447824337728,0.00596093177874453,0.0248856326069695,0.117323260175078,0.340217118154527,0.590672886343326,0.40743393534943,2067.49984190738,0.325402924121203,0.0650769885819102,0.0393940909887727,0.0233734659113762,0.327138049581222,0.019080093406206,17
+"206",96,0.189429970408113,0.0437994477697887,0.745500910213396,29.2204014178517,1.19613421820271,0.46363325794286,0.00386997350219957,0.993207921115219,0,0.0021439760370008,0.999371234310501,0.00108189262570489,0,0.634714607576798,0.662424358198373,0.033523979948817,0.00681806569913903,0.000959652081236123,0.00837057108773511,0.0496722688169272,0.082548620736229,0.322272518108779,0.237634040755541,0.0666111013252752,2774.71771692144,0.164623551080499,0.115535789221137,0,0.0666096936450504,0.191432751362088,0.00949017842596671,18
+"207",96,0.298462179357292,0.0439467614534363,0.789748589477542,31.0438722946242,1.18825053851842,0.611871082696375,0.00965416814060852,0.994419630545142,0,0.0138844028460786,0.940855510308049,0.020224026988921,0.000818136051605834,0.101925665924645,0.101925665924645,0.0178564179119094,0.0296107747223557,0.00299982932797614,0.0156024957251803,0.0660695176874215,0.10505845470982,0.288676085639764,0.405993427737568,0.194319760134858,2491.41071690169,0.0209075433552367,0.11846492079666,0.110525924199418,0.0389198349521168,0.240243766436529,0.0316008900528641,19
+"208",96,0.197498740159901,0.0493753645575276,0.796209272122995,39.2275788711262,1.41894147312413,0.521218527576463,0.00635212969392758,0.993885987826535,0,0.0135195270311402,1,0,0,0.0368761257092681,0.0368761257092681,0.0197097193542824,0.0241276804296518,0.00172212722374323,0.0125475588858608,0.0581070858935382,0.0965184815079309,0.286452387927731,0.344759808885251,0.226727152161522,2703.24615690651,0.149554254650908,0.0754096598719369,0.0768558694070679,0.0705536596622547,0.201912554809793,0.0035721908962247,20
+"209",96,0.155451627465931,0.0368893028451225,0.78291909308022,52.8492106621509,1.53417170717371,0.330064045720676,0.00825491344574198,0.995496196619853,0,0.00597552460770543,0.871533746535069,0.00214727844967327,0.000615133479495948,0.0506370408722297,0.050218701222359,0.0119247097910198,0.0117621752461677,0.00104474050400637,0.00769068721365264,0.0324223127548464,0.0721300903782255,0.269314169718047,0.457492119968687,0.286054623815028,2519.2894501289,0.083785330760154,0.0261256073537432,0.0906356905283542,0.0420727923633642,0.140210160353932,0.0151101682302763,21
+"210",96,0.204109701196311,0.082180002827593,0.744144175239797,27.4693574835154,1.09910180740852,0.570028116344403,0.0341154496369566,0.979353600594242,0,0.0149086033244828,0.694887697698731,0.0271081398128205,0.0108005523488234,0.990823914905919,0.990380275098968,0.0310698606488978,0.00604882928504899,0.000863247546782874,0.0153549047931153,0.053336842273845,0.142661791127706,0.306210218099168,0.620535300208107,0.453219813719793,2068.28313288083,0.0642671077249143,0.205085469304208,0.022543069409569,0.0779402455979985,0.396999420367149,0.0521358945160047,22
+"211",96,0.100846850327818,0.0631768715373424,0.57413875762011,30.5611542562852,1.29599512084296,0.437420395672567,0.00634729931117311,0.99133322868213,0,0.0064185581677757,0.577575280586668,0.000380728645382383,0,0.00132439183305739,0.00132439183305739,0.012077906319656,0.0115355054238149,1.65640177918952e-05,0.0114478834029274,0.0350778591641901,0.0460885137918571,0.210362943688323,0.498482355074764,0.282022331121751,2352.32856337799,0.384687460908586,0.204547080480045,0,0.243916997089989,0.111001284829267,0.00487260032337872,23
+"212",96,0.189653909935025,0.0564929935295235,0.775712326758238,32.4976959096871,1.17996819857378,0.632984848989018,0.0129355531092343,0.99053652707346,0,0.028818663126115,0.757350992412456,0.0252673508089654,0.000633719315453602,0.0511253846333047,0.050840884487758,0.00905672062339362,0.0228217939481729,0.0014867111110503,0.00811435311671097,0.0414795787993277,0.111779530887362,0.337387698247906,0.265921860039008,0.124575612903552,2832.46916159251,0.0445828963642865,0.121289478420572,0.0408977080499,0.025457361664895,0.235425620787092,0.0196036110933398,24
+"213",96,0.185680341706611,0.0739400057849673,0.631816304108999,30.0228871080176,1.09660989593142,0.483174497641573,0.00998673833106056,0.991785939838894,0,0.000726536638017873,0.622139701495687,0.00166065517261228,0.000103790948288268,0.00747294827675526,0.00747294827675526,0.0113700261764734,0.0107528775419679,0.000235882426088965,0.010088210649505,0.0324469967940352,0.0758945999301858,0.229934932801002,0.590028575622316,0.408826680732329,2128.60087106829,0.123018106582592,0.154681437490682,0.00580191400931418,0.113608146267406,0.107551059864271,0.00902010182917882,25
+"214",96,0.204225263964296,0.0967492276062684,0.74683236061719,31.1102174786636,1.29132643130613,0.623753084026134,0.0101917884899491,0.991851376040285,0,0.00729050596493119,0.568765763736805,0.000770500419175826,0.00155300667187076,0.0673801143751026,0.0677653645846905,0.0142717335333978,0.0194059908368464,0.00204355467679299,0.010320653802845,0.0460419328498822,0.0827022178089968,0.315952586396847,0.295160586827851,0.127540337893988,3019.81261571789,0.0485511021141133,0.129442214122134,0.0182170372212518,0.0483134133447766,0.254700177632438,0.019587191927069,26
+"215",96,0.226874569425385,0.0801044066638304,0.781883756101713,29.1846280342404,1.20393525835177,0.633815157314299,0.00901776895620035,0.988919049459042,0,0.0470485731382379,1,0.0110096622140182,0,0.0427233129293494,0.0433541489884481,0.0259432395377697,0.0266343633641756,0.00213648207182878,0.0115225126250358,0.0662365975988099,0.131495788395326,0.289968730874833,0.440974312834559,0.17059266522797,2563.5646180846,0.0713236392326552,0.181874169617695,0.0138077845491854,0.0451316824172255,0.330968541745488,0.0278763254769513,27
+"216",96,0.254117983206179,0.0709954853347635,0.760021625943554,29.0406652293614,1.20323862104562,0.594426323306958,0.00557971639646637,0.990906041859339,0,0.0623382585550823,0.861679584038009,0.00985760281951001,0.000569572623108037,0.0830165296796709,0.114125012006839,0.0150962362658773,0.0262488305466582,0.00140306924983962,0.00938356853766195,0.0521317046000371,0.125542592632424,0.331057698119357,0.268711385483222,0.113336057763812,2838.63327238362,0.0767929031214481,0.183876861729354,0.214016876822855,0.0411013541512711,0.328180956029456,0.0280906368560086,28
+"217",96,0.296776024930835,0.100968090701824,0.824271763850667,40.117625841039,1.55323023160346,0.548993848854858,0.0105812457260925,0.994313143836878,0.0011500575290511,0.0940235093405394,0.767030279800261,0.0221317945350164,0.00372530255641052,0.34535679503557,0.344491885819604,0.0234538642990387,0.0154264889245859,0.0074105960190862,0.010179327229608,0.0564702764723187,0.170113536576318,0.386808601573372,0.319100914118582,0.216127725824674,2847.97260763149,0.0489118371128594,0.0968494747265177,0.214631783606904,0.0141958749745637,0.266061018596774,0.026604462938192,29
+"218",96,0.139353862468742,0.0944187560534752,0.652009763075719,33.3603430691153,1.19491950519089,0.477440258681376,0.0249906552339593,0.995222394223492,0,0.00698562501829634,0.861146941663765,0,0,0.0128474375358491,0.0129723206230857,0.0128037289949912,0.0136690331162525,0.000198074193590337,0.0114618580253003,0.0381326943301343,0.0592817821788454,0.249892585192623,0.502442504399485,0.302634183872126,2326.78877457137,0.25735428372151,0.0907253630754431,0.000205383350400878,0.171975717338442,0.195209780718182,0.00941582797771755,30
+"219",97,0.197784408532203,0.0423680973574905,0.770427783192815,37.031289450509,1.32579710734438,0.483328676638392,0.0144137149974726,0.994742555864343,0,0.0103421284437326,0.864006023132754,0.00233545692841558,0.000942714120876426,0.0112144589311499,0.01165808910568,0.0159970401361052,0.0212354290810681,0.0003008577401806,0.0113542538261623,0.0488875807835162,0.0729124367602167,0.33487569571399,0.437022644334437,0.253059022008749,2650.57079029243,0.214759661220111,0.0747474187335638,0.0665871829270633,0.0508383117312454,0.135976914168225,0.0163119402634907,0
+"220",97,0.240728289191634,0.0518955257242389,0.809367166299442,34.7024126367844,1.62198506536571,0.633940547492699,0.00250333605734915,0.995868001319481,0.00123672616974641,0.0139223643997568,0.569239999586225,0.178420737461194,0.000618363084873207,0.0259344696042361,0.0279884005199767,0.0183119832715165,0.0192402770186288,0.00147759764066466,0.00903133101789492,0.0480611889487048,0.078172174569962,0.27194503881719,0.621339962921202,0.25493569828479,2161.10576666227,0.0870616144793509,0.0565457410529873,0.0327893347309718,0.053898733275175,0.26605474007487,0.023652962683282,1
+"221",97,0.150586406859905,0.0486931369035364,0.775893310335224,36.4761975219281,1.50808612184335,0.537762266032422,0.0140432202742704,0.996481109658757,0,0.0171883913451648,1,0.0220494369505945,0.000305443634419904,0.013339801551474,0.013339801551474,0.0196626389074367,0.0191143437065131,0.00062228236977517,0.00804884503635962,0.0474481100200846,0.0593098094150699,0.241710651549936,0.593557834404632,0.192062058959605,2515.49722677218,0.0829593894720766,0.0568107192748409,0.0147205864517781,0.0601894648897034,0.123474690850616,0.0155165366285311,2
+"222",97,0.204974236343994,0.0706325553634137,0.770423275348925,36.7927460676272,1.2900891742069,0.568265960507617,0.0129765444124848,0.999596563577696,0,0.0129178915730929,0.422178382307133,0.00320688362404798,0.00137437869602056,0.0218125154062779,0.0241538733463268,0.0106404219224935,0.0190701658313513,0.000431572742049223,0.0115825296677071,0.0417246901636011,0.0816112476161529,0.256929975076506,0.589205024170518,0.444498958119495,2274.21553088365,0.0796806749198081,0.116564592231986,0.0195884631450128,0.054624023410409,0.126225666006954,0.0180912305286444,3
+"223",97,0.22589341660323,0.109657755307638,0.762852718958919,39.5265798666342,1.27670500535039,0.543448968706468,0.0235113175596949,0.994535671933177,0,0.0122015255790831,0.678248846494431,0.00168093336854697,0.0012790836168549,0.143936781162775,0.143936781162775,0.0173612743578226,0.0247547498204763,0.00510587641902092,0.0160848142627018,0.0633067148600217,0.100367048666152,0.323124940347154,0.492081592070717,0.331194622670333,2336.14650000687,0.0907341525682653,0.0488164592686956,0.00405474685019191,0.0607538825625172,0.310354363125107,0.0230266121890972,4
+"224",97,0.257735799659655,0.0391129295523298,0.628339257484065,30.1532012310854,1.1631936129882,0.569473673611181,0.0396716711475399,0.994933424629027,0,0.0502562656704695,0.258175495832956,0.00925375839534392,0,0.113783971564076,0.110299966771053,0.012851962789183,0.0153933257366046,0.00177699115067709,0.0114444637463738,0.0414667434228385,0.080381392288313,0.325535468379522,0.204019024411529,0.067498397290666,3189.94657716954,0.0629889941698301,0.160121570957229,0.0485159415036267,0.0962783578858334,0.355341637213736,0.0517163254825749,5
+"225",97,0.165463709061768,0.0737472973954542,0.617241258603239,29.186326011795,1.1687387949138,0.61345549851303,0.00917951861338251,0.997160121340947,0,0.00734510446776295,0.515315458905176,0.00652285793233298,0,0.157335087062055,0.160672484458125,0.0254973827193087,0.00850984227965176,0.000680732252745505,0.0110893360962828,0.0457772933479888,0.0848179875522379,0.343183283617794,0.392966068179431,0.235467127641113,2647.15680890824,0.11085953809705,0.191137314426628,0.0026551711039926,0.0818552384328756,0.252919757228731,0.0132579805952797,6
+"226",97,0.16540522113138,0.0476748454358493,0.682524004969426,39.1470991636496,1.34237800905545,0.487017239381355,0.0142271383489324,0.992289843667889,0,0.0110121028703556,0.788483408746082,0.0145714139418814,0.00149769988869995,0.158264365926553,0.158073700578599,0.0150677255847071,0.0109877446572776,0.00157338620478162,0.00924355649346005,0.0368724129402264,0.0752420909212516,0.281899477162453,0.558307215100157,0.357272501879704,2297.02535304365,0.0625483400661333,0.0565380023661368,0.145084876397651,0.144873999175356,0.1844010143666,0.0225571254941803,7
+"227",97,0.217852797585129,0.091218954202963,0.781373047286093,31.8098696788049,0.984547646941958,0.451310878727675,0.0159081691847243,0.984458373760864,0,0.186656604703454,1,0.0520265101928714,0,0.484105691682966,0.434093627594421,0.0276820992406443,0.0174519082092206,0.00569423721760308,0.0159847598648602,0.0668130045323282,0.126300379371645,0.367712546872262,0.5685645788093,0.350391441170884,2197.46069089065,0.19386733609524,0.228037968510162,0.0694881232898513,0.0553900807523884,0.528675055058447,0.0281724702633052,8
+"228",97,0.161704851244615,0.135552100998681,0.683813067963397,29.8837574853266,1.18455955576604,0.541677069833985,0.0118868571337986,0.992826273050446,0,0.0209118524771428,0.657946335509081,0.0020330761274061,0.000275931628402827,0.0680382004303939,0.0686752705814281,0.0193584148574161,0.0184268367208513,0.00146719141625482,0.0138494852562113,0.0531019282507334,0.0811111025262016,0.284679201239804,0.474225409884792,0.325818283417946,2495.38680774541,0.124491235579229,0.163104820332347,0.0437527494085056,0.122755888192702,0.268810412678786,0.015699370261605,9
+"229",97,0.193259034183266,0.0263044393014938,0.72005721985411,43.7273253594608,1.47406175994697,0.417054982935749,0.00172538201233585,0.998878230878621,0,0.0035970032395296,0.4289834087699,0,0,0.00922931933769884,0.00922931933769884,0.0130098841145564,0.015952358013883,0.00014486162398363,0.0102283925164237,0.0393354962688468,0.0574304353824688,0.243882616168888,0.625234027879333,0.370734463888844,2217.45934273099,0.143095974449662,0.034748965041606,0.166118119159082,0.0719177979142557,0.14159747385297,0.0091745548580607,10
+"230",97,0.312213641599586,0.289443750302185,0.6708553434256,21.7261173166738,0.912570767714616,0.713966724148508,0.0122143232024429,0.966417427221855,0.00708594330427433,0.148124569738196,0.978045571967038,0.136586396570174,0.00151861116601801,0.984797529871245,0.986243891134392,0.0229588597999382,0.0127862313391855,0.00351813685973685,0.0133550077708533,0.0526182357697138,0.198414374804317,0.455895914987856,0.4668570610648,0.346521439817876,2511.17906015743,0.0540674650508135,0.453987035913655,0.200609352954408,0.0592571892061372,0.739262369387853,0.131354413037699,11
+"231",97,0.209960034384281,0.0752939243385351,0.68492347053096,27.8639571779515,1.16593436383357,0.624467838067962,0.0107552727317171,0.995312901031121,0,0.00579725496107325,0.276689575940781,0.0011508956616326,0,0.0417174215048419,0.0417174215048419,0.0127305782406018,0.0201011988066756,0.000372478417874233,0.00973782673492468,0.0429420822000763,0.0849506256196984,0.362331899570698,0.282680344331686,0.126604633730002,2692.3403880091,0.134701643030868,0.141600906050248,0.0332048675757045,0.0569438729574148,0.232660178195314,0.0132770582699492,12
+"232",97,0.23906736962868,0.0478085609488168,0.734613571843521,34.164487830653,1.37824588847081,0.563193508196961,0.0043752443377579,0.993394203120947,0,0.0129266091582359,0.557009707744639,0.00757036014015396,0.000708807850960362,0.00295214816276274,0.00343442979331309,0.0191908781493776,0.0295535380380166,1.8776481681639e-05,0.0140261553447523,0.0627893480138282,0.100202641975818,0.286970251390784,0.590897299588234,0.370240665840942,2198.80493190797,0.12153314407433,0.0849783886678431,0.00310742823320509,0.0679523856499293,0.240110486337181,0.0133285105170278,13
+"233",97,0.222168545356951,0.0831466618173402,0.75938092682054,38.5577048496622,1.30698773952236,0.494320987654321,0.0138056897477187,0.98675970656647,0,0.0169225263911254,0.591504741456432,0.0107890499194847,0.00555734478439792,0.050184290570764,0.0527929862229379,0.0114246293694284,0.0191331422711896,0.0017606103825929,0.00824729468409122,0.0405656767073021,0.0814980923658816,0.331165446046519,0.461603149042763,0.304838074789766,2523.73977097262,0.0831204151010914,0.0746394703882627,0.0443692968330649,0.0194739667203435,0.210728216138844,0.0188906781177313,14
+"234",97,0.252038003356823,0.0541197647710427,0.695992196623744,30.2983482826376,1.14551334215314,0.683841333889629,0.00891025164745352,0.992568122369742,0.000929699124215805,0.0352218799354545,0.553597726047388,0.00238711680869345,0,0.11778602060198,0.113122284011652,0.0142851736225958,0.0171930078470357,0.00231911672766541,0.00941575458604246,0.0432130527833394,0.102131552525396,0.317718638528827,0.371767247538107,0.0915048742524781,2634.90221216217,0.089672147700233,0.137740259591809,0.000708705070098903,0.0855132682162922,0.414280026138262,0.0138692820169899,15
+"235",97,0.278250603831999,0.0532312898768958,0.772007492937726,34.2903766632449,1.21912051724713,0.551622365575854,0.0106611734518711,0.994705552845088,0,0.0168169470495052,0.692151087499925,0.00451142311607428,0,0.15047915047915,0.148804683688405,0.0136122813821035,0.0112648702308116,0.00160382566604935,0.0103474768845792,0.0368284541635436,0.0965096604295917,0.356807004739466,0.290917523475663,0.110165459002668,2858.73860553802,0.0441685790523,0.0417171114845533,0.00373442233907351,0.0612686194081543,0.456165711979665,0.0254241882148859,16
+"236",97,0.207312283602915,0.0599677952730377,0.738566482352333,34.5299096884374,1.26222653683457,0.70505917006873,0.0105420908480182,0.99408299312697,0,0.0256989302878404,0.908841920314196,0.00066146452379722,0.00358637796496305,0.149708025425043,0.150638209911632,0.00808865079663211,0.00701317055391561,0.00220111556476463,0.00473408392471631,0.0220370208400287,0.0862686060485207,0.333723343465253,0.608774740323498,0.414097462663428,2051.35207651001,0.20591700687303,0.07213063924345,0.0218024908273474,0.0544157924655057,0.304480388610408,0.0187793912459304,17
+"237",97,0.161808697874614,0.0753100839868736,0.704618458732436,32.2886435021798,1.22590813581341,0.40326852814582,0.00341548702637709,0.987584007620951,0.00106588753289149,0.00276201374326923,1,0.00484731959780898,0.000929384224864513,0.567391973605488,0.604343709520961,0.0264408575739625,0.00544530044794278,0.0003546514202284,0.00829232720081135,0.040533136642945,0.0728832223416818,0.324264073098371,0.360011501129783,0.127909408272681,2576.00422653068,0.184381117236011,0.118850816405955,0.00164384834772913,0.0725587690305942,0.202204964073491,0.0286598860342594,18
+"238",97,0.260086401258492,0.038522375521263,0.781634178632651,31.7976827666053,1.22752614222531,0.577387367643659,0.00902439829839356,0.999468623253887,0,0.010921743516153,0.935952590386584,0.0378118085722777,0.00158512385281164,0.0902139616988445,0.0906702852322297,0.0150981435249313,0.0219920618097594,0.00142367700885541,0.0139380259843153,0.0524519083278614,0.0773574974235829,0.27903127706039,0.427917393431943,0.223694599471025,2588.47363241386,0.0473525729742387,0.136104498089145,0.0250737773081114,0.0289435209563581,0.197588089955779,0.0218825147029244,19
+"239",97,0.184197012758196,0.0717483838520136,0.80458090963018,40.0651255495016,1.39400795085873,0.491739488432628,0.000261184449343497,0.984660947169912,0,0.0124084747713529,0.988954996591322,0,0,0.0259148096009633,0.0224087403826574,0.0199896180109444,0.0207911590205878,0.00148783536490186,0.0110501528634659,0.0533187652599,0.0808988050206599,0.291979120898426,0.304603043905549,0.205370660575314,2680.91328587854,0.110060470840306,0.0614226141464581,0.0533524573472514,0.0714361603229833,0.179942805032449,0.00498021195782093,20
+"240",97,0.112323826964235,0.0660188152589683,0.68718578145275,51.779980130755,1.64457380095072,0.296962156150117,0.0224720679021014,0.997233472455497,0,0.00933878587357671,0.854205402733385,0.00449666050634476,0.000179754073957567,0.0311620539149876,0.0318501749793564,0.0126488669294761,0.00897998626840111,0.000500713931831532,0.00854242479365447,0.0306719919233632,0.0595589404634309,0.26515875529505,0.564601928985906,0.413549525056033,2250.75312158787,0.13385780329287,0.0365153549300363,0.0875205734154959,0.07239595328641,0.148957145505306,0.020536902949652,21
+"241",97,0.203139459360038,0.0651440550974762,0.679706554622493,27.1473635132677,1.07179629325161,0.588229997106931,0.0254168606555964,0.984963702515821,0,0.0238151347768026,0.701810754937856,0.0242002387261298,0.00729398375666029,0.991167516386077,0.991516217474523,0.0284276870155271,0.00508155122750606,0.000497740378892159,0.0141386706968467,0.048145649318772,0.0913494436186847,0.296608667412531,0.618737510465822,0.489662545479627,2031.0010351008,0.0817033473388551,0.201179452692566,0.013670232231093,0.0912255693694833,0.363453826802852,0.0514774771667845,22
+"242",97,0.0978650816811648,0.0864282895033936,0.588798794771201,32.4342933198003,1.40827455967962,0.414208660852148,0.00211872069797593,0.993208681295747,0,0.00273090539758195,0.602378960975416,0.000184666357092165,0.000220611146793803,0.0026068958731113,0.0026068958731113,0.0104516156644489,0.00925547148585424,3.11609474516368e-05,0.0100319492224621,0.0297701973202169,0.038204849072213,0.214363918934025,0.535169393191293,0.297065714489187,2275.93506298392,0.421814578353014,0.174740428070994,0,0.25591522061901,0.133048515805935,0.0053209521505206,23
+"243",97,0.213213846062908,0.064291038465634,0.779040212589339,33.0801001364908,1.21202500364999,0.647842367266587,0.00984562087035186,0.985996139879262,0,0.0204339680344995,0.695464229633494,0.00751721248910968,0.00104341479336018,0.0305956973274703,0.0321171297355226,0.0105228184833607,0.0204492207072501,0.00120311549031591,0.00747455074334212,0.0396497054242688,0.0885023507036879,0.339077143346565,0.347387736535195,0.170207680663673,2774.7937609954,0.0660049806351466,0.125430794100337,0.0323972583376809,0.0360132302939808,0.238088751937128,0.0141374994538777,24
+"244",97,0.130000694713232,0.0697162363545421,0.583437540318179,31.5484743082058,1.18368032180947,0.482942309028295,0.00169212294439317,0.995826758368813,0,0.00334206687111085,0.625442879685593,0.00244886414386519,0.000116612578279295,0.0176432349817886,0.0177598475600679,0.00920811520068221,0.00767235050272391,0.000462190018539787,0.00973216049025936,0.0270748162122053,0.0646596869399674,0.257318195909403,0.607499429342702,0.389314814263455,2172.06762688058,0.152092575500442,0.185252726749437,0.0079867210527883,0.125631444705789,0.124242018241185,0.0111923263961255,25
+"245",97,0.180729987154941,0.0839912029797999,0.712820823537966,29.9704180934146,1.28769652190873,0.5406025059984,0.0088945978042219,0.996175565303798,0,0.00363539419791086,0.491982743995541,0.00235573544024624,0.00117786772012312,0.0410363297060178,0.0417440197765444,0.0125835525923956,0.014990695704205,0.00116068464755947,0.00992068512751663,0.0386556180716767,0.0648489190102896,0.289774779088423,0.342485640192918,0.173682169603257,2743.56024715107,0.078873512517874,0.128503914107753,0.0219529337631177,0.0481350427764717,0.214102905891762,0.0132619180339788,26
+"246",97,0.224299635547298,0.0710184005690152,0.777108675229243,30.026868751435,1.23757971050938,0.606140095549006,0.00754352604067717,0.991766262242107,0,0.0386152540275422,0.997291441897594,0.006034123648989,0,0.0304721501315062,0.0314935240362745,0.0244110961644628,0.0211003650533037,0.000706601752690849,0.0104011980272032,0.0566192609976606,0.0981036518759252,0.286905242109946,0.49084859439081,0.233797018494537,2438.76394393119,0.0719371419308847,0.151973813785759,0.00945206601631066,0.053160245896639,0.347673237040665,0.0278977998630034,27
+"247",97,0.203424350429754,0.101824323742061,0.703139367870686,28.341975081125,1.18638426312437,0.585772150744374,0.00415694559492959,0.994539734168269,0,0.0662261469598061,0.82096635685896,0.0108787342214656,0.00251924582215568,0.0616550267123652,0.0654851923062309,0.0140680116704899,0.0216749767005133,0.00215701600033024,0.00801634543890219,0.0459163498102357,0.102061831721299,0.338644209042386,0.313169234042877,0.157272374930654,2715.18567223284,0.0708618632539689,0.195992005289276,0.182331841291313,0.0486788208561636,0.343213995303487,0.0327729942927493,28
+"248",97,0.251071115164238,0.0701283855082659,0.781587143176695,36.6374028335287,1.44732564659522,0.522054648381713,0.00739886780115973,0.99720821790526,0.00104100349295387,0.0842008362441282,0.808192955589586,0.0471677822323933,0,0.289983997797546,0.29085293459745,0.020799604530218,0.014832837163192,0.00491786926454559,0.00960430173171483,0.0501546126896704,0.121255277274126,0.389503789487996,0.323941359671008,0.231902885558442,2816.68993563252,0.0455761653216787,0.121775900338971,0.188099007175181,0.0274016208682485,0.275418552230845,0.0162904141645302,29
+"249",97,0.0876989406729538,0.0764090213719877,0.63502842935022,34.7127228957448,1.21266336861686,0.454335602649275,0.0127540588009315,0.997608261917288,0,0.00475756473070697,0.911262348770164,0.000365013254262149,0,0.016791736280177,0.016791736280177,0.0116432213460938,0.0114586716256338,0.000245740732853774,0.0105703048736391,0.0339179385782204,0.0438725124486045,0.267444611795244,0.46160544996333,0.227577877943623,2471.8417103179,0.325893747345486,0.0854750636238381,0.000530621119621877,0.182672234996434,0.197578069462924,0.00653306130082162,30
+"250",98,0.176199933598063,0.0424416452888908,0.759477388174011,36.0148268873767,1.32236131441471,0.505510129043562,0.0149456510244626,0.995822355707252,0,0.00586076880695766,0.895844186125218,0.000206307197902691,0.00130364655057261,0.00585338542022137,0.00684740415032651,0.0138494099124568,0.0172674527537552,0.000178217565530278,0.00992753948540727,0.0412226197171496,0.0531504947475157,0.351181520966455,0.442493647491229,0.222074525652199,2664.45737734448,0.20469059395243,0.08743231416647,0.0804812383971429,0.0421239514724663,0.127988267813652,0.0108955471537028,0
+"251",98,0.230026554481252,0.0417771684505965,0.811688101780085,36.1285565402107,1.71596822395095,0.643051721395145,0.00977327538231752,0.993711165781273,0.00123714872376148,0.0107806958224565,0.561635582136938,0.17550993702869,0,0.018866686703383,0.0194852610652638,0.0159317820439705,0.0163439727011179,0.00116915034850149,0.00828419513694169,0.0417291002305315,0.0596613713349617,0.275538601610172,0.618342237324919,0.293044001176525,2123.15138253963,0.102424363681506,0.0436114376527465,0.0252359906609529,0.0771679867027634,0.229160530462245,0.0245892292590295,1
+"252",98,0.16404329269832,0.0297613657012877,0.814009747247435,38.3886646477355,1.52222225031827,0.558972029780289,0.0205439020349098,0.998752137560306,0,0.0122983193459486,1,0.0120592860641744,0,0.01201569590722,0.01201569590722,0.0157666460686744,0.0157574850995103,0.000280542450323207,0.00746855844954744,0.0392732320680553,0.0461018516352819,0.263113142631986,0.585780618258819,0.197956335898076,2448.25871934293,0.0924122155585408,0.0392906762920754,0.013208445400003,0.0562398375641628,0.11834121481834,0.0179510971735775,2
+"253",98,0.219154664546739,0.0507387883990864,0.810339933385482,36.0475367993344,1.33530091576073,0.563252615048569,0.0146861177236841,0.997968017650533,0,0.00645980030790861,0.439658623868457,0.002186675796625,0.000286432437717458,0.0131294674660021,0.0131294674660021,0.00897042162300214,0.0181319292703905,0.000591372141743173,0.0107769001459878,0.0384706231811236,0.0689834036384172,0.291195670546276,0.524399974294059,0.384890221251038,2452.12138179807,0.105531794819659,0.109018317338831,0.00679183337533074,0.0380160684732717,0.141363769286098,0.012802746238685,3
+"254",98,0.21900416438001,0.129709740710181,0.811909432749808,38.5439643338248,1.13268153508673,0.449076183984553,0.0269697070292002,0.995067644117121,0,0.0199283312753976,0.734486187920077,0.0190257318158523,0.000347080777622083,0.10216630225383,0.10216630225383,0.014204428027286,0.0221259290673083,0.00292654732979723,0.0133055027751908,0.0525624071995823,0.0821006559510355,0.29965546028074,0.652060298819123,0.478920205466769,1963.78486223517,0.0980228529887084,0.051239517966168,0.0275087279876655,0.067327165400276,0.313896490082442,0.0214256848754237,4
+"255",98,0.220330501144658,0.0456830443628029,0.657137025270151,33.2039379305254,1.25346384642126,0.575787476816279,0.0166536771634916,0.993179719712273,0.000305920939499487,0.0342342130856895,0.240075947532124,0.00400275536387934,0,0.0692558377840231,0.068970716472213,0.0133837029510061,0.0157221345256271,0.0014255375030753,0.0117041627302475,0.042235537709956,0.0593776836455425,0.332201643290173,0.229386529119363,0.0675882702529783,3057.04064231275,0.0820295615692166,0.122939519060102,0.020280023775526,0.113824511637747,0.322022710739338,0.0283089881453553,5
+"256",98,0.181305052462786,0.0756766209827537,0.650589197749113,29.3168416726464,1.16776155817633,0.600435797905006,0.0118069557072104,0.993910451369052,0,0.00430603444961205,0.501528221253031,0.0050574526339737,0,0.152688231181429,0.168055930170189,0.0204148725968313,0.00780551964461002,0.000490002242239186,0.0104129445257959,0.0391233390094764,0.0684413228791823,0.381605562284554,0.33091452411192,0.203972759718397,2641.59280025668,0.112269690470923,0.180568113253577,0.00290108328870275,0.0868260981401753,0.21848759670082,0.0113385409082879,6
+"257",98,0.153173006365795,0.0551271230679551,0.71823933763209,41.2180321848457,1.3871176767769,0.511180916592765,0.0235812960848974,0.991385572870349,0,0.0100861614690723,0.75323169929632,0.00905497896204883,0.00111248138323221,0.150029521034757,0.149745926415336,0.0138356005522407,0.0121864140360292,0.00147425832679611,0.00835381370146214,0.0358500866165281,0.0617155277910356,0.298027412231878,0.56050834353213,0.304936408112327,2221.20594896303,0.0625706399102873,0.0537775403085103,0.138022732458437,0.152505056255769,0.173986340776204,0.019213551780055,7
+"258",98,0.210400577391237,0.0326026513373259,0.780594960413908,33.1068624908685,1.11029983061665,0.458925755743088,0.00154908579036951,0.983782165959874,0,0.174675760376807,1,0.0370086628846498,0.000534306252329124,0.485954906079445,0.395799651490754,0.0220282460729526,0.0141266520462887,0.00531800468199878,0.0116950047329314,0.0531679075341716,0.104844632452115,0.396374486804187,0.534606495037626,0.390795938375458,2280.07889885647,0.175419920607649,0.213645331594093,0.0654992279895361,0.0512225159800845,0.495354605744156,0.0265347318691972,8
+"259",98,0.179695192102827,0.147349210582091,0.71760134089454,29.598082024987,1.23879467038301,0.559097120620234,0.0101175780610509,0.991740414028804,0,0.0126653215654634,0.569938157677734,0.00256028541815952,0.000227890981816197,0.0483818730371465,0.0483818730371465,0.016510658274759,0.0163662543019103,0.00101519991093712,0.0114232073274469,0.0453153198150533,0.0640986750950538,0.322946971021952,0.438347128686869,0.301602248021877,2669.89917872733,0.127971760328272,0.169091622789234,0.0433831386934298,0.100030276402422,0.245365774396327,0.0154186097637978,9
+"260",98,0.187260882243582,0.041086364309545,0.742137332936755,40.8120927914799,1.40037309353901,0.397947287524409,0.00266113484804716,0.999746487679361,0,0.00268262252966109,0.36939144027121,0.00267869444662736,0,0.00827938715786507,0.00827938715786507,0.0132077762205011,0.0166251303201695,3.08123998584012e-05,0.0098394729428096,0.0397031918833386,0.0460485800324361,0.263108496019432,0.571575630699983,0.318267022496306,2223.48813119778,0.115572607161208,0.0354833950154063,0.122349682595867,0.0679973165716437,0.107070514271803,0.00753731117597906,10
+"261",98,0.317273884692173,0.267544636339349,0.695460726164773,22.3144557539026,0.930003195540207,0.714193098432889,0.010700882598013,0.985185391056679,0.000768039621808493,0.162417749054018,0.976619841108365,0.109104649314357,0.00415072522454748,0.98303288871759,0.98370311731282,0.0200354716305701,0.0113088483625718,0.00277951486242367,0.0102771835931557,0.0444010184487213,0.144666671473467,0.478795612407345,0.468273239802707,0.317298605249754,2529.94790767095,0.0557060714361981,0.433860705948031,0.188887167906583,0.0406721109108577,0.70542082753244,0.11276857734026,11
+"262",98,0.217944765022108,0.0692664183777603,0.718043231997185,28.877757965034,1.18337024132917,0.583077188403947,0.00718040435144314,0.996257802626216,0,0.000722977694187942,0.266562008919141,0.0115827169658942,0,0.0345105533480366,0.0345105533480366,0.0125670075908274,0.0194572631398904,0.000672351048986457,0.00961569102764088,0.0423123128073452,0.0714586203949826,0.378360193833684,0.31041120502006,0.133974677652269,2686.70419918198,0.147643722054024,0.125941319311978,0.0281541387007568,0.0545233562221253,0.2269348956339,0.00579970881596936,12
+"263",98,0.234390334261588,0.0689093532072034,0.75026305531162,34.4627885664524,1.33750176303927,0.612328444713419,0.00592770534123703,0.99507755427808,0,0.00862808186590091,0.547503449701811,0.0225355941435384,0.00220242979507897,0.00359509051813348,0.00406142265074118,0.00748294300806556,0.0106964604238036,6.87671682052723e-05,0.00677512622391511,0.0250232968239896,0.0655177430354867,0.283353204636609,0.566307899163835,0.398037668659438,2326.38087946812,0.0975308479512507,0.0864268893140421,0.009880734644653,0.056709547959439,0.341514671580427,0.0206723813092152,13
+"264",98,0.25426016386065,0.076820934007888,0.766841614453461,39.3375355997106,1.34791112019347,0.539006605779067,0.00805381516952237,0.991288860238149,0,0.0147898500438462,0.60048126648721,0.00197288658981537,0.00246377312889211,0.0374111691271197,0.0385692931069243,0.0106253654469795,0.0194014236567866,0.00160090969855644,0.00737380886069852,0.039001507663021,0.0683984629476867,0.346877010339576,0.497491140230187,0.332077576680846,2513.13060970127,0.067092974288705,0.0719365335115697,0.0369938208104463,0.0263816282424965,0.210809851489399,0.021944493949672,14
+"265",98,0.280708000313315,0.0394418011730846,0.716062904026979,30.4941398598253,1.17230531705146,0.670601706124642,0.00439010242065215,0.995160976405747,0,0.0359628752579942,0.577997656244166,0.00222514471515718,0.00208254671622137,0.0844181408014568,0.0844181408014568,0.0142612630810609,0.0169454541743869,0.00205994918889259,0.0105749782590103,0.0438416447033507,0.0767464780465082,0.319488444556586,0.319757065742337,0.0928455661365763,2737.2010133492,0.0715096354161847,0.173805570008147,0.00495769746573715,0.0751736937523255,0.397407675169792,0.0256479777486439,15
+"266",98,0.291788252617772,0.0490901917691853,0.801886652733383,34.2428505654824,1.24470443774752,0.557310273904606,0.0121550280275692,0.994309448302152,0.000462949000595004,0.0116624713449124,0.767622095523515,0.00155199936878915,0.00111695170572071,0.100114391204732,0.100577340205327,0.0122184454642313,0.0109608962014843,0.00128203899460752,0.00865621323899777,0.0331175938993209,0.0757486885772378,0.377439038149754,0.273671212379917,0.118394859663634,2802.25821668178,0.0456905887219477,0.0570292845653469,0.000462949000594959,0.0582506062083858,0.451350342339753,0.0196723298062766,16
+"267",98,0.214354972826453,0.0530360807773498,0.727969308160982,37.4259131458247,1.22190539289869,0.669401142273536,0.0135145385082324,0.995103425618884,0,0.0196204343459632,0.918664460048982,0.00382231355902883,0.00454063669633534,0.119334582398493,0.120608686918169,0.00625784529333658,0.00707717436577161,0.00214205534190841,0.004462447190471,0.0199395221914876,0.0791576426323583,0.341880185538381,0.630324147839744,0.483395874249627,1984.02724268009,0.148165204442937,0.0447838085390969,0.0067234908943411,0.0875644449761441,0.339051433906176,0.0376277627168755,17
+"268",98,0.175563620870541,0.0540617962695701,0.709370997561274,32.7867551904566,1.21310926668975,0.455924342240386,0.00426240128903407,0.991228731078688,0,0.00147403334735132,0.995393064449699,0.00265022389219038,0.00225643361618907,0.520174292178535,0.586288677228078,0.0215870943577011,0.00515477094405991,0.000137526465763935,0.00644187748822095,0.0333212692557459,0.0635847512301435,0.344196145635865,0.408647157897977,0.110395592328254,2420.94726738904,0.174114468961774,0.0900598253255971,0.00141120290881069,0.078307702981523,0.187290443552703,0.0222209088756032,18
+"269",98,0.25105674106137,0.0316665591805628,0.812995137338651,34.2227194642301,1.32711136305554,0.540797913249643,0.0053115222243804,0.999033416458986,0,0.00276947487316771,0.972207513016681,0.0229522325480183,0.000515949570108384,0.0648721121749981,0.0648721121749981,0.0128811744399715,0.0198074650802452,0.000460231220020956,0.0120113313283213,0.0451602020685589,0.0670563639951202,0.282352872940324,0.541540158883337,0.365588293905267,2299.52945814652,0.0305038264642114,0.127832498793119,0.0201382934216959,0.0468402417881886,0.201119650611302,0.0141107355860158,19
+"270",98,0.164748616048682,0.0523666416072461,0.840784019669773,40.2313739808381,1.47061005548661,0.474439880890333,0.00142891094197715,0.992520728607247,0.00137781262894517,0.011285537695065,1,0.00137781262894517,0,0.0205742061324372,0.0183654186922757,0.0166969499967395,0.0179066628622594,0.000721846765388159,0.00864650473354316,0.0439719643579302,0.065549388358484,0.298066623763176,0.279763998544452,0.201476548262775,2606.24325445388,0.0972629437113461,0.0575475164090163,0.0570804302736706,0.0517708273158874,0.145185705956996,0.00588795680505083,20
+"271",98,0.111524973795455,0.0919740125842795,0.710220349813011,52.8126541153999,1.46619641857647,0.28868174352911,0.0128010482909795,0.991306368581185,0,0.00566601142591009,0.812453794512273,0.00281620378290371,0,0.0311486983338468,0.0311486983338468,0.0115419813332583,0.0102950162810056,0.000587398221677328,0.00974953033230424,0.0321739261682455,0.0501938211184402,0.265511545865984,0.680767397600057,0.545188141879947,1888.05334355196,0.122300514499425,0.0239658509746434,0.0980159974059212,0.0799212110743577,0.145893558499323,0.0179990551356582,21
+"272",98,0.199155210282688,0.0563103166369758,0.705690476945252,27.7500795208049,1.09936365128407,0.601726496907542,0.0220658770970133,0.989376907723378,0,0.0116708016782509,0.677290750892165,0.00998904280932445,0.00202054459201736,0.987599169899534,0.988250320830515,0.0245654788704525,0.00523762012055469,0.000731315060027447,0.0136712093805222,0.0442056234315568,0.0756145729163547,0.321593764129383,0.65611596397685,0.50312589265172,1905.11042253326,0.111485206868004,0.192759538046709,0.0112646935563071,0.0813391344660139,0.307575312279477,0.0449861840318959,22
+"273",98,0.0842732178361176,0.0629977874521359,0.606977297412539,31.8788268421904,1.38823878352278,0.397339815472743,0.004432927784721,0.996021729836579,0,0.00268184565782547,0.542933245714768,0.000379397483806713,0,0.00195379066517585,0.00195379066517585,0.00917206734607349,0.0086004030603434,3.57634767544636e-05,0.0095631886383095,0.0273714225214809,0.0298063946252455,0.203077811879224,0.656488314248029,0.411819269279016,2078.48037380146,0.315443655779869,0.16353426175798,0,0.243862702898119,0.0860641115182122,0.00441503301157934,23
+"274",98,0.191752010718333,0.0669761782310212,0.804981959596466,32.8548004292104,1.22202974782383,0.633784240789718,0.00724558436236774,0.988430495598191,0,0.0206232254292507,0.695735301943379,0.0119342499735351,0,0.0118204880935613,0.0118204880935613,0.00920344054908766,0.0204970636722853,0.00039364359647988,0.00688609843179823,0.036980246249651,0.0713795899804453,0.336422791370165,0.312292641749076,0.103638854477312,2698.26573386694,0.0531618931810826,0.11829195545486,0.0283530373762947,0.0511496973109435,0.24044789869705,0.0110119039709088,24
+"275",98,0.132021308070465,0.0574576178475566,0.611728907434771,30.7937557720866,1.161553666462,0.474917608822125,0.00338403910477633,0.994484372395894,0,0.00367137868412254,0.544301040758461,0.00139266211493748,0,0.00970561083450403,0.00970561083450403,0.0107257801780923,0.00797031605743461,9.06150688202857e-05,0.0095769412516029,0.0283636525559501,0.0495572493308989,0.274101903207932,0.629487589800786,0.387983015997486,2238.0700238395,0.142317586123977,0.216526468814763,0.00595663126497059,0.101511024943726,0.108957825232015,0.00803323321002642,25
+"276",98,0.189843618296473,0.0889158575084947,0.734194717096243,30.7846949553485,1.32856243776544,0.562586376484465,0.0149857881879123,0.997101275240368,0,0.00363692775719451,0.417422881975623,0,0,0.0354551803013714,0.0357382843927917,0.0114128801606745,0.0140370305818151,0.000650462289509466,0.00922902142172168,0.0353293944537207,0.0553212241245646,0.304190757461461,0.418092501613118,0.192412134331732,2691.40863360972,0.0725093324530005,0.135074841123474,0.0101473338939743,0.0711806984384796,0.200534408656656,0.0105666886595089,26
+"277",98,0.222542917384992,0.0802147941472575,0.793985844073833,31.374480774943,1.29575300695919,0.605830628080991,0.0107867568162481,0.992700143941906,0,0.0426415468810068,1,0.000675473269459424,0,0.0274138848938977,0.0274138848938977,0.0185246427142458,0.017740480812897,0.000653228608765981,0.0091779278846615,0.0460962800205703,0.077288227073168,0.301203543273628,0.531663826667495,0.261367899923919,2293.7001218521,0.081614866887262,0.145513522733102,0.00616247981194917,0.047808637602017,0.357428107955952,0.0251974008913819,27
+"278",98,0.212265483156235,0.100900379932977,0.699208356178139,29.4511842971127,1.2262309877411,0.584428621795298,0.0294329927101597,0.981244338047079,0,0.0893472740415073,0.852432074589565,0.0135913008194749,0.00178434754772723,0.0250390651888232,0.0282476607730533,0.0126877406769891,0.0198275700631516,0.000861542098398112,0.00790981741050212,0.041286670249041,0.0812402486954729,0.348248277571632,0.339060428708224,0.173666505202252,2751.05655666571,0.187355831925749,0.191590134281933,0.175156775576396,0.0520919137079022,0.361829055800533,0.0590451363766963,28
+"279",98,0.258049759323859,0.0560561781090417,0.801452201042201,38.7965512501413,1.50349004110994,0.504133508083302,0.00362986677124519,0.998156768485653,0,0.0663293641435326,0.793800776810939,0.0229442527471152,0,0.200430202049176,0.200430202049176,0.0160462508183125,0.0122534648288598,0.00348662934610975,0.00812983437818322,0.0399161793714653,0.096303389210367,0.401046468912829,0.302088650419537,0.199639345626715,2808.45219998107,0.0377320751589709,0.102473955545387,0.175067521004509,0.00860315234140197,0.225100250462937,0.0153184012812686,29
+"280",98,0.130920131174049,0.0777626108283764,0.680444461455371,33.5198079964094,1.2531511792839,0.498747568613725,0.00591387645736555,0.991993971262066,0,0.0038955094582393,0.955984396680696,0.000178294139986706,0,0.0111953533421789,0.010763093955616,0.00904800351370329,0.00980614338026571,0.000401896484663855,0.00910117037580057,0.0283572137544334,0.0337179899718755,0.241838985284734,0.585724307243131,0.337068653165156,2194.34964816972,0.322782445073847,0.0727449740700826,0.000640208079262128,0.158797662920868,0.161097673089577,0.0126000062559,30
diff --git a/R/RunAllCodes.R b/R/RunAllCodes.R
new file mode 100644
index 00000000..6226b9b9
--- /dev/null
+++ b/R/RunAllCodes.R
@@ -0,0 +1,25 @@
+#source("modifySettings.R")
+#source("104-ExtractAccessFiles.R")
+source("105-ReadWriteIntoR.R")
+source("111-HHBase.R")
+source("112-InfantMilkExpenditures.R")
+source("113-Demo.R")
+source("121-HHHouseProperties.R")
+source("131-HHFood Expenditures.R")
+source("132-HHNonFood Expenditures.R")
+source("133-HHDurableExpenditures.R")
+source("141-Breaking Durable goods in four sections.R")
+source("142-Calculate_OwnedDurableItemsDepreciation_FunctionDef.R")
+source("143-CalculateDepreciation-FirstRound-BasedOnTotalSample.R")
+source("151-Food Groups for Calorie.R")
+source('152-Total Food Calories.R')
+source("153-Specification of food original groups.R")
+source("161-Step1-MergeData.R")
+source("162-Step2-CaloryEqSize.R")
+source("163-Step3-Add_OutofHouseCalories.R")
+source("164-Step4-IterativeRealDeciles.R")
+source("165-Step5-AddClusterInfo.R")
+source("166-Step6-FoodPoor.R")
+source("167-Step7-Engel.R")
+source("168-Step8-PovertyStats.R")
+#source("170-Deciling for normal calculations.R")
\ No newline at end of file
diff --git a/R/Settings.yaml b/R/Settings.yaml
new file mode 100644
index 00000000..39b44edd
--- /dev/null
+++ b/R/Settings.yaml
@@ -0,0 +1,211 @@
+HEISPath: C:/HEIS/
+HEISCompressedPath: C:/HEIS/DataCompressed/
+HEISAccessPath: C:/HEIS/DataAccess/
+HEISRawPath: C:/HEIS/DataRaw/
+HEISProcessedPath: C:/HEIS/DataProcessed/
+HEISResultsPath: C:/HEIS/DataResults/
+HEISWeightsPath: ../Data/SamplingWeights/
+HEISWeightFileName: HHWeights
+HEISCountyCodePath: ../Data/CountyCodes8791/
+HEISCountyCodeFileName: ShCode
+startyear: 83.0
+endyear: 99.0
+startmonth: 0.0
+endmonth: 0.0
+predictionyear: 99.0
+predictionmonth: 0.0
+baseBundleyear: 95.0
+OS: Windows
+RawDataWebAddress: https://www.amar.org.ir/Portals/0/amarmozuii/re_DataRaw_63_95_Info/
+MetaDataFilePath: ../Data/MetaData.xlsx
+GeoInfoFilePath: ../Data/GeoInfo.Shahrestan.xlsx
+InflationDataFilePath: ../Data/inflation.xlsx
+PriceCodesFilePath: ../Data/PriceCodes.xlsx
+CPIPath: ../Data/CPI/
+MDS_CFN: CompressedFileNames
+MDS_P1Cols: P1Cols
+MDS_P2Cols: P2Cols
+MDS_Geo2: Geo2
+MDS_Geo4: Geo4
+MDS_GeoX: GeoX
+MDS_GeoX_New: GeoX_New
+MDS_EC_A: EduCodes-A
+MDS_EC_B: EduCodes-B
+MDS_EC_C: EduCodes-C
+MDS_EC_D: EduCodes-D
+MDS_Food: FoodTables
+MDS_FoodGroups: FoodGroupTables
+MDS_InfantMilk: InfantMilkTables
+MDS_Cigar: CigarTables
+MDS_Cloth: ClothTables
+MDS_HouseandEnergy: HouseandEnergyTables
+MDS_Energy: EnergyTables
+MDS_Furniture: FurnitureTables
+MDS_Transportation: TransportationTables
+MDS_Communication: CommunicationTables
+MDS_Amusement: AmusementTables
+MDS_Hotel: HotelTables
+MDS_Restaurant: RestaurantTables
+MDS_Other: OtherTables
+MDS_Durable: DurableTables
+MDS_DurableGroups: DurableGroups
+MDS_DurableItems: DurableItems
+MDS_DurableItemsDepr: DurableItemsDepr
+MDS_Finance: FinanceTables
+MDS_Investment: InvestmentTables
+MDS_Medical: MedicalTables
+MDS_Hygiene: HygieneTables
+MDS_Loans: LoanTables
+MDS_FinServices: FinServicesTables
+MDS_House: HouseTables
+MDS_Education: EducationTables
+MDS_Insurance: InsuranceTables
+MDS_ActivityState: ActivityStateTables
+MDS_PubWage: PubWageTable
+MDS_PrvWage: PrvWageTable
+MDS_AgriInc: AgriIncTable
+MDS_BussInc: BussIncTable
+MDS_OtherInc: OthrIncTable
+MDS_Retirement: RetirementTables
+MDS_Interest: InterestTables
+MDS_Rent: RentTables
+MDS_Aid: AidTables
+MDS_Homemade: HomemadeTables
+MDS_Intra: IntraTables
+MDS_Subsidy: SubsidyTable
+MDS_Rough_Weights: RegionWeights
+OutFoodKCXShare: 0.3
+OutFoodKCXShare12: 0.4
+OutFoodKCXShare3456: 0.2
+OutFoodKCXShare78910: 0.1
+KCaloryNeed_Adult: 2100.0
+KCaloryNeed_Adult_WorldBank: 2100.0
+KCaloryNeed_Adult_NutritionInstitute: 2400.0
+KCaloryNeed_Child: 1800.0
+KCaloryNeed_B1: 850.0
+KCaloryNeed_G1: 780.0
+KCaloryNeed_B2: 1250.0
+KCaloryNeed_G2: 1190.0
+KCaloryNeed_B3: 1430.0
+KCaloryNeed_G3: 1330.0
+KCaloryNeed_B4: 1560.0
+KCaloryNeed_G4: 1440.0
+KCaloryNeed_B5: 1690.0
+KCaloryNeed_G5: 1540.0
+KCaloryNeed_B6: 1980.0
+KCaloryNeed_G6: 1730.0
+KCaloryNeed_B7: 2370.0
+KCaloryNeed_G7: 2040.0
+KCaloryNeed_B8: 2700.0
+KCaloryNeed_G8: 2120.0
+KCaloryNeed_B9: 2460.0
+KCaloryNeed_G9: 1990.0
+KCaloryNeed_B10: 2010.0
+KCaloryNeed_G10: 1780.0
+KCaloryNeed_NutInst_B1: 705.0
+KCaloryNeed_NutInst_G1: 643.0
+KCaloryNeed_NutInst_B2: 948.0
+KCaloryNeed_NutInst_G2: 865.0
+KCaloryNeed_NutInst_B3: 1120.0
+KCaloryNeed_NutInst_G3: 1047.0
+KCaloryNeed_NutInst_B4: 1360.0
+KCaloryNeed_NutInst_G4: 1242.0
+KCaloryNeed_NutInst_B5: 1927.0
+KCaloryNeed_NutInst_G5: 1782.0
+KCaloryNeed_NutInst_B6: 3036.0
+KCaloryNeed_NutInst_G6: 2434.0
+KCaloryNeed_NutInst_B7: 3029.0
+KCaloryNeed_NutInst_G7: 2300.0
+KCaloryNeed_NutInst_B8: 2900.0
+KCaloryNeed_NutInst_G8: 2200.0
+KCaloryNeed_NutInst_B9: 2350.0
+KCaloryNeed_NutInst_G9: 2000.0
+KCaloryNeed_lactating: 500.0
+nw:
+- OriginalFoodExpenditure
+- FoodOtherExpenditure
+- Cigar_Exp
+- Cloth_Exp
+- Amusement_Exp
+- Communication_Exp
+- House_Exp
+- Energy_Exp
+- Furniture_Exp
+- Hotel_Exp
+- Restaurant_Exp
+- Hygiene_Exp
+- Transportation_Exp
+- Other_Exp
+- Add_to_NonDurable
+- OwnedDurableItemsDepreciation
+w:
+- OriginalFoodExpenditure
+- FoodOtherExpenditure
+- Cigar_Exp
+- Cloth_Exp
+- Amusement_Exp
+- Communication_Exp
+- House_Exp
+- Energy_Exp
+- Furniture_Exp
+- Hotel_Exp
+- Restaurant_Exp
+- Hygiene_Exp
+- Transportation_Exp
+- Other_Exp
+- Add_to_NonDurable
+- OwnedDurableItemsDepreciation
+- Medical_Exp
+- Durable_NoDep
+- Durable_Emergency
+InitialPoorPercentile:
+- 1
+- 2
+- 3
+- 4
+- 5
+- 6
+- 7
+- 8
+- 9
+- 10
+- 11
+- 12
+- 13
+- 14
+- 15
+- 16
+- 17
+- 18
+- 19
+- 20
+- 21
+- 22
+- 23
+- 24
+- 25
+- 26
+- 27
+- 28
+- 29
+- 30
+- 31
+- 32
+- 33
+- 34
+- 35
+SectorsNumbers:
+- 1
+- 2
+- 3
+- 4
+- 5
+SectorsNames:
+- Public
+- Cooperative
+- Private
+- BussP
+- Agri
+D80LinkSource: ../Data/D80Link.accdb
+D80LinkDest: C:/HEIS/DataAccess/D80Link.accdb
+
diff --git a/R/modifySettings.R b/R/modifySettings.R
new file mode 100644
index 00000000..aefc2562
--- /dev/null
+++ b/R/modifySettings.R
@@ -0,0 +1,156 @@
+library(yaml)
+OS <- ifelse(version$os=="linux-gnu","Linux","Windows")
+if(OS=="Linux"){
+ HEISPath = "/media/majid/Document/HEIS/"
+}else{
+ HEISPath = "C:/HEIS/"
+}
+HEISCompressedPath = paste0(HEISPath,"DataCompressed/")
+HEISAccessPath = paste0(HEISPath,"DataAccess/")
+HEISRawPath = paste0(HEISPath,"DataRaw/")
+HEISProcessedPath = paste0(HEISPath,"DataProcessed/")
+HEISResultsPath = paste0(HEISPath,"DataResults/")
+D80LinkDest = paste0(HEISAccessPath,"D80Link.accdb")
+
+
+nw <- c("OriginalFoodExpenditure","FoodOtherExpenditure", "Cigar_Exp",
+ "Cloth_Exp","Amusement_Exp", "Communication_Exp", "House_Exp",
+ "Energy_Exp", "Furniture_Exp", "Hotel_Exp","Restaurant_Exp",
+ "Hygiene_Exp", "Transportation_Exp", "Other_Exp",
+ "Add_to_NonDurable" ,"OwnedDurableItemsDepreciation")
+w <- c(nw, "Medical_Exp",
+ "Durable_NoDep","Durable_Emergency")
+
+Settings <- list(HEISPath =HEISPath,
+ HEISCompressedPath=HEISCompressedPath,
+ HEISAccessPath =HEISAccessPath,
+ HEISRawPath =HEISRawPath,
+ HEISProcessedPath =HEISProcessedPath,
+ HEISResultsPath =HEISResultsPath,
+ HEISWeightsPath ="../Data/SamplingWeights/",
+ HEISWeightFileName="HHWeights",
+ HEISCountyCodePath="../Data/CountyCodes8791/",
+ HEISCountyCodeFileName="ShCode",
+ startyear=77,
+ endyear=99,
+ baseBundleyear=95,
+ startmonth= 0,
+ endmonth= 0,
+ predictionyear= 99,
+ predictionmonth= 0,
+
+ OS=OS,
+ # RawDataWebAddress ="http://www.amar.org.ir/Portals/0/amarmozuii/hazinedaramad/",
+ RawDataWebAddress ="https://www.amar.org.ir/Portals/0/amarmozuii/re_DataRaw_63_95_Info/",
+ MetaDataFilePath = "../Data/MetaData.xlsx",
+ GeoInfoFilePath = "../Data/Archive/GeoInfo.Shahrestan.xlsx",
+ InflationDataFilePath = "../Data/inflation.xlsx",
+ MDS_CFN = "CompressedFileNames", # MetaData Sheet: Compressed File Names
+ MDS_P1Cols = "P1Cols", # MetaData Sheet: Columns of P1 Table
+ MDS_P2Cols = "P2Cols",
+ MDS_Geo2 = "Geo2",
+ MDS_Geo4 = "Geo4",
+ MDS_GeoX = "GeoX", # ClusterInfo_Old
+ MDS_GeoX_New = "GeoX_New", # ClusterInfo_New
+ MDS_EC_A = "EduCodes-A",
+ MDS_EC_B = "EduCodes-B",
+ MDS_EC_C = "EduCodes-C",
+ MDS_EC_D = "EduCodes-D",
+ MDS_Food = "FoodTables",
+ MDS_FoodGroups = "FoodGroupTables",
+ MDS_InfantMilk = "InfantMilkTables",
+ MDS_Cigar = "CigarTables",
+ MDS_Cloth = "ClothTables",
+ MDS_HouseandEnergy = "HouseandEnergyTables",
+ MDS_Energy = "EnergyTables",
+ MDS_Furniture = "FurnitureTables",
+ MDS_Transportation= "TransportationTables",
+ MDS_Communication = "CommunicationTables",
+ MDS_Amusement = "AmusementTables",
+ MDS_Hotel = "HotelTables",
+ MDS_Restaurant = "RestaurantTables",
+ MDS_Other = "OtherTables",
+ MDS_Durable = "DurableTables",
+ MDS_DurableGroups = "DurableGroups",
+ MDS_DurableItems = "DurableItems",
+ MDS_DurableItemsDepr= "DurableItemsDepr",
+ MDS_Finance = "FinanceTables",
+ MDS_Investment = "InvestmentTables",
+ MDS_Medical = "MedicalTables",
+ MDS_Hygiene = "HygieneTables",
+ MDS_Loans = "LoanTables",
+ MDS_FinServices = "FinServicesTables",
+ MDS_House = "HouseTables",
+ MDS_Education = "EducationTables",
+ MDS_Insurance = "InsuranceTables",
+ MDS_ActivityState = "ActivityStateTables",
+ MDS_PubWage = "PubWageTable",
+ MDS_PrvWage = "PrvWageTable",
+ MDS_AgriInc = "AgriIncTable",
+ MDS_BussInc = "BussIncTable",
+ MDS_OtherInc = "OthrIncTable",
+ MDS_Retirement = "RetirementTables",
+ MDS_Interest = "InterestTables",
+ MDS_Rent = "RentTables",
+ MDS_Aid = "AidTables",
+ MDS_Homemade = "HomemadeTables",
+ MDS_Intra = "IntraTables",
+ MDS_Subsidy = "SubsidyTable",
+ MDS_Rough_Weights = "RegionWeights",
+
+ OutFoodKCXShare = 0.3, # Share of Kilo-Calory content in Expenses of outdoor food
+ OutFoodKCXShare12 = 0.4, # Share of Kilo-Calory content in Expenses of outdoor food
+ OutFoodKCXShare3456 = 0.2, # Share of Kilo-Calory content in Expenses of outdoor food
+ OutFoodKCXShare78910 = 0.1, # Share of Kilo-Calory content in Expenses of outdoor food
+ KCaloryNeed_Adult = 2100,
+ KCaloryNeed_Adult_WorldBank = 2100,
+ KCaloryNeed_Adult_NutritionInstitute = 2400,
+ KCaloryNeed_Child = 1800,
+ KCaloryNeed_B1 = 850,
+ KCaloryNeed_G1 = 780,
+ KCaloryNeed_B2 = 1250,
+ KCaloryNeed_G2 = 1190,
+ KCaloryNeed_B3 = 1430,
+ KCaloryNeed_G3 = 1330,
+ KCaloryNeed_B4 = 1560,
+ KCaloryNeed_G4 = 1440,
+ KCaloryNeed_B5 = 1690,
+ KCaloryNeed_G5 = 1540,
+ KCaloryNeed_B6 = 1980,
+ KCaloryNeed_G6 = 1730,
+ KCaloryNeed_B7 = 2370,
+ KCaloryNeed_G7 = 2040,
+ KCaloryNeed_B8 = 2700,
+ KCaloryNeed_G8 = 2120,
+ KCaloryNeed_B9 = 2460,
+ KCaloryNeed_G9 = 1990,
+ KCaloryNeed_B10 = 2010,
+ KCaloryNeed_G10 = 1780,
+ KCaloryNeed_NutInst_B1 = 705,
+ KCaloryNeed_NutInst_G1 = 643,
+ KCaloryNeed_NutInst_B2 = 948,
+ KCaloryNeed_NutInst_G2 = 865,
+ KCaloryNeed_NutInst_B3 = 1120,
+ KCaloryNeed_NutInst_G3 = 1047,
+ KCaloryNeed_NutInst_B4 = 1360,
+ KCaloryNeed_NutInst_G4 = 1242,
+ KCaloryNeed_NutInst_B5 = 1927,
+ KCaloryNeed_NutInst_G5 = 1782,
+ KCaloryNeed_NutInst_B6 = 3036,
+ KCaloryNeed_NutInst_G6 = 2434,
+ KCaloryNeed_NutInst_B7 = 3029,
+ KCaloryNeed_NutInst_G7 = 2300,
+ KCaloryNeed_NutInst_B8 = 2900,
+ KCaloryNeed_NutInst_G8 = 2200,
+ KCaloryNeed_NutInst_B9 = 2350,
+ KCaloryNeed_NutInst_G9 = 2000,
+ KCaloryNeed_lactating = 500,
+ nw=nw,
+ w=w,
+ InitialPoorPercentile= 1:35,
+ SectorsNumbers = 1:5,
+ SectorsNames = c("Public","Cooperative","Private","BussP","Agri"),
+ D80LinkSource ="../Data/D80Link.accdb",
+ D80LinkDest =D80LinkDest
+)
+write(as.yaml(Settings),file = "Settings.yaml")
\ No newline at end of file
diff --git a/README.md b/README.md
new file mode 100644
index 00000000..b500ca11
--- /dev/null
+++ b/README.md
@@ -0,0 +1,18 @@
+# HouseHoldSurvey
+
+This repository provides codes and some data and meta-data to
+work with microdata of Iranian Urban and Rural Household Expenditures and Income Surveys (HEIS). HIES is conducted by Statistical Center of Iran (SCI). This repository is not in any way related to SCI. No data, definition and code represents official views of SCI nor any government office in Islamic Republic of Iran.
+
+# Official raw data
+All raw data for years 1363 to 1394 can be downloaded from:
+http://www.amar.org.ir/Portals/0/amarmozuii/hazinedaramad/XX.rar
+that XX in the range [63:94] is the Persian year in 2 digits eg. 92
+
+Official page for SCI HIES microdata downloads:
+https://www.amar.org.ir/Default.aspx?tabid=111
+
+http://www.amar.org.ir/%D8%A2%D9%85%D8%A7%D8%B1%D9%87%D8%A7%DB%8C-%D9%85%D9%88%D8%B6%D9%88%D8%B9%DB%8C/%D9%87%D8%B2%DB%8C%D9%86%D9%87-%D9%88-%D8%AF%D8%B1%D8%A2%D9%85%D8%AF-%D8%AE%D8%A7%D9%86%D9%88%D8%A7%D8%B1
+
+
+# آمارگیری از هزینه و درآمد خانوارهای ایران (بودجه خانوار)
+این مخزن جهت انباره سازی کدهای کار با دادههای خرد آمارگیری از هزینه و درآمد خانوارهای ایران (بودجه خانوار) ایران طراحی شده است.
diff --git a/bash/m-extract-HEIS.sh b/bash/m-extract-HEIS.sh
new file mode 100644
index 00000000..5f1e3632
--- /dev/null
+++ b/bash/m-extract-HEIS.sh
@@ -0,0 +1,97 @@
+#!/bin/bash
+#
+# m-extract-HEIS : extracting "Iranian Household Expenditures and Income Surveys"
+# data tables from "Statistics Centre of Iran" MDB (Access) files, and
+# tidying them up.
+#
+# depends: mdbtools >= 0.5.99 (not tested against earlier versions)
+#
+# Copyright (c) 2010-2015 Majid Einian
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+# See the GNU General Public License for more details.
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+
+wd=`pwd` # This is current working directory
+
+starttime=`date` # Just to show how much time it took to run the program
+
+# Check if mdb-tools is installed.
+type -P mdb-tables &>/dev/null || { echo "m-extract-HEIS requires mdb-tools but it's not installed. Aborting. ";echo "Try: \"sudo apt-get install mdb-tools\" in Debian/Ubuntu or appropriate program in your distro. " >&2; exit 1; }
+
+if [ -z "$1" ]; then echo Error: usage: $0 year.mdb; exit 1; fi # Check the user input.
+if [ ! -w . ]; then echo Error: Current directory access denied.; exit 2; fi # Check the current directory access.
+
+echo "m-extract-HEIS : extracting \"Iranian Household Expenditures and Income Surveys\" "
+echo "data tables from \"Statistics Centre of Iran\" MDB (Access) files, and "
+echo "tidying them up."
+echo
+echo "depends: mdbtools >= 0.5.99 (not tested againts earlier versions)"
+echo
+echo "Copyright (C) 2010-2015 Majid Einian "
+echo
+echo
+
+
+# For each of files in list provided by user.
+while [ ! -z "$1" ]
+do
+ cd $wd
+ if [ ! -r $1 ]; then pwd; echo Error: File $1 does not exist.; shift; continue; fi # Check if file exists.
+
+ year=${1%.mdb} # Drop the .mdb extension (if exists)
+# echo m-debug 01 $year
+ year=${year%.MDB} # Drop the .MDB extension (if exists)
+# echo m-debug 02 $year
+
+ echo Processing MDB Jet Database year $year.
+ # Building directory tree system.
+ if [ ! -r $year/ ] ; then mkdir $year; fi
+ if [ ! -r $year/U ] ; then mkdir $year/U; fi
+ if [ ! -r $year/R ] ; then mkdir $year/R; fi
+
+ tableslist=`mdb-tables $1` # Get the list of tables in MDB file.
+#echo m-debug 03 $tableslist
+
+ echo Exporting Tables: ...
+ for table in $tableslist; do
+ printf "%16s" $table
+ `mdb-export -Q $1 $table > $year/$table.csv`
+ done
+ echo
+
+ cd $year
+ echo Processing Tables \(Cleaning Up, ...\) : ...
+
+ urbanlist=`ls U*.csv`
+ echo Urban Tables
+ for tablefile in $urbanlist; do
+ tablename=`echo ${tablefile#U$year} | tr '[a-z]' '[A-Z]'`
+ if [ "$tablename" == ".CSV" ]; then echo OK; tablename="MONTH.CSV"; fi
+ printf "%20s" $tablename
+ `cat $tablefile | sed -e 's/@//' | sed -e 's/\r//' | sed -e 's/ي/ی/' | sed -e 's/ك/ک/' > U/$tablename`
+ `cat $tablefile | sed -e 's/@//' | sed -e 's/\r//' | sed -e 's/ي/ی/' | sed -e 's/ك/ک/' > U/$tablename`
+ done
+ echo
+
+ rurallist=`ls R*.csv`
+ echo Rural Tables
+ for tablefile in $rurallist; do
+ tablename=`echo ${tablefile#R$year} | tr '[a-z]' '[A-Z]'`
+ if [ "$tablename" == ".CSV" ]; then echo OK; tablename="MONTH.CSV"; fi
+ printf "%20s" $tablename
+ `cat $tablefile | sed -e 's/@//' | sed -e 's/\r//' | sed -e 's/ي/ی/' | sed -e 's/ك/ک/' > R/$tablename`
+ done
+ echo
+ rm U*.csv R*.csv
+ shift
+done
+echo Program started at $starttime
+echo Program ended.. at `date`
\ No newline at end of file
diff --git a/exe/7z/7-zip.chm b/exe/7z/7-zip.chm
new file mode 100644
index 00000000..fd26ca2f
Binary files /dev/null and b/exe/7z/7-zip.chm differ
diff --git a/exe/7z/7-zip.dll b/exe/7z/7-zip.dll
new file mode 100644
index 00000000..f13af69f
Binary files /dev/null and b/exe/7z/7-zip.dll differ
diff --git a/exe/7z/7-zip32.dll b/exe/7z/7-zip32.dll
new file mode 100644
index 00000000..44ccc78a
Binary files /dev/null and b/exe/7z/7-zip32.dll differ
diff --git a/exe/7z/7z.dll b/exe/7z/7z.dll
new file mode 100644
index 00000000..b32d7bf7
Binary files /dev/null and b/exe/7z/7z.dll differ
diff --git a/exe/7z/7z.exe b/exe/7z/7z.exe
new file mode 100644
index 00000000..37b8514e
Binary files /dev/null and b/exe/7z/7z.exe differ
diff --git a/exe/7z/7z.sfx b/exe/7z/7z.sfx
new file mode 100644
index 00000000..6c1d3d66
Binary files /dev/null and b/exe/7z/7z.sfx differ
diff --git a/exe/7z/7zCon.sfx b/exe/7z/7zCon.sfx
new file mode 100644
index 00000000..0eca1fd1
Binary files /dev/null and b/exe/7z/7zCon.sfx differ
diff --git a/exe/7z/7zFM.exe b/exe/7z/7zFM.exe
new file mode 100644
index 00000000..78ef9517
Binary files /dev/null and b/exe/7z/7zFM.exe differ
diff --git a/exe/7z/7zG.exe b/exe/7z/7zG.exe
new file mode 100644
index 00000000..a55c5a66
Binary files /dev/null and b/exe/7z/7zG.exe differ
diff --git a/exe/7z/History.txt b/exe/7z/History.txt
new file mode 100644
index 00000000..f76f5b65
--- /dev/null
+++ b/exe/7z/History.txt
@@ -0,0 +1,1406 @@
+HISTORY of the 7-Zip
+--------------------
+
+19.00 2019-02-21
+-------------------------
+- Encryption strength for 7z archives was increased:
+ the size of random initialization vector was increased from 64-bit to 128-bit,
+ and the pseudo-random number generator was improved.
+- Some bugs were fixed.
+
+
+18.06 2018-12-30
+-------------------------
+- The speed for LZMA/LZMA2 compressing was increased by 3-10%,
+ and there are minor changes in compression ratio.
+- Some bugs were fixed.
+- The bug in 7-Zip 18.02-18.05 was fixed: there was memory leak in xz decoder.
+- 7-Zip 18.02-18.05 used only one CPU thread for bz2 archive creation.
+
+
+18.05 2018-04-30
+-------------------------
+- The speed for LZMA/LZMA2 compressing was increased
+ by 8% for fastest/fast compression levels and
+ by 3% for normal/maximum compression levels.
+- 7-Zip now shows Properties (Info) window and CRC/SHA results window
+ as "list view" window instead of "message box" window.
+- Some improvements in zip, hfs and dmg code.
+- Previous versions of 7-Zip could work incorrectly in "Large memory pages" mode in
+ Windows 10 because of some BUG with "Large Pages" in Windows 10.
+ Now 7-Zip doesn't use "Large Pages" on Windows 10 up to revision 1709 (16299).
+- The vulnerability in RAR unpacking code was fixed (CVE-2018-10115).
+- Some bugs were fixed.
+
+
+18.03 beta 2018-03-04
+-------------------------
+- The speed for single-thread LZMA/LZMA2 decoding
+ was increased by 30% in x64 version and by 3% in x86 version.
+- 7-Zip now can use multi-threading for 7z/LZMA2 decoding,
+ if there are multiple independent data chunks in LZMA2 stream.
+- 7-Zip now can use multi-threading for xz decoding,
+ if there are multiple blocks in xz stream.
+- New localization: Kabyle.
+- Some bugs were fixed.
+
+
+18.01 2018-01-28
+-------------------------
+- 7-Zip now can unpack DMG archives that use LZFSE compression method.
+- 7-Zip now doesn't allow update operation for archives that have read-only attribute.
+- The BUG was fixed:
+ extracting from tar with -si switch didn't set timestamps for directories.
+- Some bugs were fixed.
+
+
+18.00 beta 2018-01-10
+-------------------------
+- 7-Zip now can unpack OBJ/COFF files.
+- new -sse switch to stop archive creating, if 7-Zip can't open some input file.
+- Some bugs were fixed.
+
+
+17.01 beta 2017-08-28
+-------------------------
+- Minor speed optimization for LZMA2 (xz and 7z) multi-threading compression.
+ 7-Zip now uses additional memory buffers for multi-block LZMA2 compression.
+ CPU utilization was slightly improved.
+- 7-zip now creates multi-block xz archives by default. Block size can be
+ specified with -ms[Size]{m|g} switch.
+- xz decoder now can unpack random block from multi-block xz archives.
+ 7-Zip File Manager now can open nested multi-block xz archives
+ (for example, image.iso.xz) without full unpacking of xz archive.
+- 7-Zip now can create zip archives from stdin to stdout.
+- 7-Zip command line: @listfile now doesn't work after -- switch.
+ Use -i@listfile before -- switch instead.
+- The BUGs were fixed:
+ 7-Zip could add unrequired alternate file streams to WIM archives,
+ for commands that contain filename wildcards and -sns switch.
+ 7-Zip 17.00 beta crashed for commands that write anti-item to 7z archive.
+ 7-Zip 17.00 beta ignored "Use large memory pages" option.
+
+
+17.00 beta 2017-04-29
+-------------------------
+- ZIP unpacking code was improved.
+- 7-Zip now reserves file space before writing to file (for extraction from archive).
+ It can reduce file fragmentation.
+- Some bugs were fixed. 7-Zip could crash in some cases.
+- Internal changes in code.
+
+
+16.04 2016-10-04
+-------------------------
+- The bug was fixed: 7-Zip 16.03 exe installer under Vista didn't create
+ links in Start / Programs menu.
+- Some bugs were fixed in RAR code.
+
+
+16.03 2016-09-28
+-------------------------
+- Installer and SFX modules now use some protection against DLL preloading attack.
+- Some bugs were fixed in 7z, NSIS, SquashFS, RAR5 and another code.
+
+
+16.02 2016-05-21
+-------------------------
+- 7-Zip now can extract multivolume ZIP archives (z01, z02, ... , zip).
+- Some bugs were fixed.
+
+
+15.14 2015-12-31
+-------------------------
+- 7-Zip File Manager:
+ - The code for "Open file from archive" operation was improved.
+ - The code for "Tools/Options" window was improved.
+ - The BUG was fixed: there was incorrect mouse cursor capture for
+ drag-and-drop operations from open archive to Explorer window.
+- Some bugs were fixed.
+- New localization: Yoruba.
+
+
+15.12 2015-11-19
+-------------------------
+- The release version.
+
+
+15.11 beta 2015-11-14
+-------------------------
+- Some bugs were fixed.
+
+
+15.10 beta 2015-11-01
+-------------------------
+- The BUG in 9.21 - 15.09 was fixed:
+ 7-Zip could ignore some parameters, specified for archive creation operation
+ for gzip and bzip2 formats in "Add to Archive" window and in command line
+ version (-m switch).
+- Some bugs were fixed.
+
+
+15.09 beta 2015-10-16
+-------------------------
+- 7-Zip now can extract ext2 and multivolume VMDK images.
+- Some bugs were fixed.
+
+
+15.08 beta 2015-10-01
+-------------------------
+- 7-Zip now can extract ext3 and ext4 (Linux file system) images.
+- Some bugs were fixed.
+
+
+15.07 beta 2015-09-17
+-------------------------
+- 7-Zip now can extract GPT images and single file QCOW2, VMDK, VDI images.
+- 7-Zip now can extract solid WIM archives with LZMS compression.
+- Some bugs were fixed.
+
+
+15.06 beta 2015-08-09
+-------------------------
+- 7-Zip now can extract RAR5 archives.
+- 7-Zip now doesn't sort files by type while adding to solid 7z archive.
+- new -mqs switch to sort files by type while adding to solid 7z archive.
+- The BUG in 7-Zip File Manager was fixed:
+ The "Move" operation to open 7z archive didn't delete empty files.
+- The BUG in 15.05 was fixed:
+ console version added some text to the end of stdout stream, is -so switch was used.
+- The BUG in 9.30 - 15.05 was fixed:
+ 7-Zip could not open multivolume sfx RAR archive.
+- Some bugs were fixed.
+
+
+15.05 beta 2015-06-14
+-------------------------
+- 7-Zip now uses new installer.
+- 7-Zip now can create 7z, xz and zip archives with 1536 MB dictionary for LZMA/LZMA2.
+- 7-Zip File Manager now can operate with alternate file streams at NTFS
+ volumes via "File / Alternate Streams" menu command.
+- 7-Zip now can extract .zipx (WinZip) archives that use xz compression.
+- new optional "section size" parameter for BCJ2 filter for compression ratio improving.
+ Example: -mf=BCJ2:d9M, if largest executable section in files is smaller than 9 MB.
+- Speed optimizations for BCJ2 filter and SHA-1 and SHA-256 calculation.
+- Console version now uses stderr stream for error messages.
+- Console version now shows names of processed files only in progress line by default.
+- new -bb[0-3] switch to set output log level. -bb1 shows names of processed files in log.
+- new -bs[o|e|p][0|1|2] switch to set stream for output messages;
+ o: output, e: error, p: progress line; 0: disable, 1: stdout, 2: stderr.
+- new -bt switch to show execution time statistics.
+- new -myx[0-9] switch to set level of file analysis.
+- new -mmtf- switch to set single thread mode for filters.
+- The BUG was fixed:
+ 7-Zip didn't restore NTFS permissions for folders during extracting from WIM archives.
+- The BUG was fixed:
+ The command line version: if the command "rn" (Rename) was called with more
+ than one pair of paths, 7-Zip used only first rename pair.
+- The BUG was fixed:
+ 7-Zip crashed for ZIP/LZMA/AES/AES-NI.
+- The BUG in 15.01-15.02 was fixed:
+ 7-Zip created incorrect ZIP archives, if ZipCrypto encryption was used.
+ 7-Zip 9.20 can extract such incorrect ZIP archives.
+- Some bugs were fixed.
+
+
+9.38 beta 2015-01-03
+-------------------------
+- Some bugs were fixed.
+
+
+9.36 beta 2014-12-26
+-------------------------
+- The BUG in command line version was fixed:
+ 7-Zip created temporary archive in current folder during update archive
+ operation, if -w{Path} switch was not specified.
+ The fixed 7-Zip creates temporary archive in folder that contains updated archive.
+- The BUG in 9.33-9.35 was fixed:
+ 7-Zip silently ignored file reading errors during 7z or gz archive creation,
+ and the created archive contained only part of file that was read before error.
+ The fixed 7-Zip stops archive creation and it reports about error.
+- Some bugs were fixed.
+
+
+9.35 beta 2014-12-07
+-------------------------
+- The BUG was fixed:
+ 7-Zip crashed during ZIP archive creation, if the number of CPU threads was more than 64.
+- The BUG in 9.31-9.34 was fixed:
+ 7-Zip could not correctly extract ISO archives that are larger than 4 GiB.
+- The BUG in 9.33-9.34 was fixed:
+ The option "Compress shared files" and -ssw switch didn't work.
+- The BUG in 9.26-9.34 was fixed:
+ 7-Zip File Manager could crash for some archives open in "Flat View" mode.
+- Some bugs were fixed.
+
+
+9.34 alpha 2014-06-22
+-------------------------
+- The BUG in 9.33 was fixed:
+ Command line version of 7-Zip could work incorrectly, if there is relative
+ path in exclude filename optiton (-x) and absolute path as include filename.
+- The BUG in 9.26-9.33 was fixed:
+ 7-Zip could not open some unusual 7z archives that were created by another
+ software (not by 7-Zip).
+- The BUG in 9.31-9.33 was fixed:
+ 7-Zip could crash with switch -tcab.
+
+
+9.33 alpha 2014-06-15
+-------------------------
+- 7-Zip now can show icons for 7-Zip items in Explorer's context menu.
+- "Add to archive" dialog box:
+ - new options in "Path Mode"
+ - new option "Delete files after compression"
+ - new "NTFS" options for WIM and TAR formats:
+ - Store symbolic links
+ - Store hard links
+ - Store alternate data streams
+ - Store file security
+- "Extract" dialog box:
+ - new optional field to set output folder name
+ - new option "Eliminate duplication of root folder"
+ - new option "Absolute pathnames" in "Path Mode".
+ - new option "Restore file security" (that works for WIM archives only)
+- 7-Zip File Manager:
+ - new "File / Link" dialog box in to create symbolic links and hard links.
+- Command line version:
+ - new -spd switch to Disable wildcard matching for file names
+ - new -spe switch to Eliminate duplication of root folder for extract archive command
+ - new -snh switch to store hard links as links (WIM and TAR formats only)
+ - new -snl switch to store symbolic links as links (WIM and TAR formats only)
+- NSIS support was improved.
+- The problem was fixed:
+ The command "extract to \*" with multiple archives could use same
+ output folder, if archives are placed inside PE (EXE) file.
+- The BUG of 9.31-9.32 was fixed:
+ Command line version for test and extract commands returned the
+ value 0 as exit code, if it couldn't open archive.
+- The BUG was fixed:
+ 7-Zip could not create archives with anti-items for any archive type,
+ except of 7z type
+- Some bugs were fixed.
+- New localization: Mongolian (script).
+
+
+9.32 alpha 2013-12-01
+-------------------------
+- 7-Zip now can create multivolume SFX archives in 7z format.
+ Standalone sfx module now can unpack external 7z archive with name that is
+ matched to name of sfx module. For example, sfx module renamed to archive.exe
+ can unpack archive.7z or archive.7z.001 .
+- ZIP, NSIS, HFS, AR support was improved.
+- 7-Zip now supports files larger than 4 GiB in ISO archives.
+- Improved compression ratio in 7z format with maximum or ultra level for
+ executable files (EXE and DLL) that are larger than 16 MB (improved BCJ2 filter).
+- Improved support for file pathnames longer than 260 characters.
+- CRC and SHA checksum calculation for files can be called via Explorer's context menu.
+- 7-Zip File Manager now also takes into account the numbers in filenames for sorting order.
+- 7-Zip File Manager now can use RAM buffers instead of temp files to open
+ nested archives, if temp file is smaller than 1/4 of RAM size.
+- 7-Zip File Manager can open files in "Parser" mode via "Open Archive > #" context
+ menu command. It shows the list of archives inside file.
+- Command line version:
+ - new -t# switch to open file in "Parser" mode and show the list of archives inside file.
+ - new -stx{Type} switch to exclude archive type from using.
+ - -scs switch now supports UTF-16 encoding.
+ - now it shows time and memory usage statistics at the end of execution.
+- The BUGs were fixed:
+ - 7-Zip 9.30 and early versions created ZIP archives with minor errors
+ in extra field of headers for directory items, if AES (WinZip-AES) encryption was used.
+ - 7-Zip could work incorrectly in decompression of more than one
+ multi-volume archive in one command.
+ - 7-Zip 9.24 alpha - 9.30 alpha versions could not extract ZIP archives
+ encrypted with PKWARE-AES method.
+- Minimum supported system now is Windows 2000. 7-Zip doesn't work on Windows 95/98/ME.
+- New localization: Irish.
+
+
+9.30 alpha 2012-10-26
+-------------------------
+- LZMA2 now is default compression method for .7z format.
+- 7-Zip now can update WIM archives.
+- 7-Zip File Manager now can move files to archives.
+- The default encoding for TAR format now is UTF-8. You can use -mcp=1 switch for OEM encoding.
+- Command line version:
+ - new "rn" command to rename files in archive.
+ - new -sdel switch to delete files after including to archive.
+ - new -sns switch to store NTFS alternate streams (for WIM format only).
+ - new -sni switch to store NT security information for files (for WIM format only).
+ - new -stl switch to set archive timestamp from the most recently modified file.
+- Speed optimizations for opening big archives and big disk folders.
+- 7-Zip now writes special padding blocks to headers of 7z archives for
+ faster archive opening. Note that 7-Zip 4.50 - 4.58 contain BUG,
+ so these old versions can't correctly work with such new 7z archives.
+- DMG support was improved
+- Some bugs were fixed.
+- The BUG in 7-Zip 9.26 alpha - 9.29 alpha versions was fixed.
+ These alpha versions could not open non-solid 7z archive, if
+ some files were skipped during creation of that archive.
+ That problem is also related to 7z archives created in solid mode,
+ if each solid block contains no more than one file.
+ Note: 7-Zip skips files that were open for writing by another
+ application and shows warning in that case.
+- New localization: Aragonese.
+
+
+9.25 alpha 2011-09-16
+-------------------------
+- LZMA decompression speed was improved.
+- "compress and send to email" code was improved to support more email clients.
+- New command "h" to calculate hash values CRC-32, CRC-64, SHA-256 or SHA-1 for files on disk.
+- New -spf switch to store full file paths including drive letter to archive.
+ If you use that switch with extract command, please check that file names in archive are correct.
+- Some bugs were fixed.
+
+
+9.23 alpha 2011-06-07
+-------------------------
+- The format of language files was changed.
+- Some bugs were fixed.
+- New localization: Karakalpak.
+
+
+9.22 beta 2011-04-18
+-------------------------
+
+- 7-Zip now uses progress indicator displayed on a taskbar button under Windows 7.
+- The BUG in 7-Zip 9.21 beta was fixed:
+ 7-Zip could ignore some options when you created ZIP archives.
+ For example, it could use ZipCrypto cipher instead of AES-256.
+
+
+9.21 beta 2011-04-11
+-------------------------
+- 7-Zip now can unpack UEFI BIOS files.
+- 64-bit version of 7-Zip now includes additional 32-bit shell extension DLL.
+ So other 32-bit programs can call 64-bit 7-Zip via context menu.
+- Now it's possible to associate 7-Zip with file types without Administrator rights.
+- New -mf=FilterID switch to specify compression filter. Examples:
+ 7z a -mf=bcj2 a.7z a.tar
+ 7z a -mf=delta:4 a.7z a.wav
+ 7z a -mf=bcj a.tar.xz a.tar
+- 32-bit 7-Zip running under 64-bit Windows now can use up to 4 GB of RAM.
+- Some bugs were fixed.
+- New localizations: Corsican, Kyrgyz, Ligurian.
+
+
+9.20 2010-11-18
+-------------------------
+- Some bugs were fixed.
+
+
+9.19 beta 2010-11-11
+-------------------------
+- The console version now doesn't show entered password.
+- Some bugs were fixed.
+
+
+9.18 beta 2010-11-02
+-------------------------
+- 7-Zip now can unpack SquashFS and CramFS filesystem images.
+- 7-Zip now can unpack some TAR and ISO archives with incorrect headers.
+- New small SFX module for installers (in Extra package).
+- Some bugs were fixed.
+
+
+9.17 beta 2010-10-04
+-------------------------
+- Disk fragmentation problem for ZIP archives created by 7-Zip was fixed.
+
+
+9.16 beta 2010-09-08
+-------------------------
+- 7-Zip now supports files that are larger than 8 GB in TAR archives.
+- NSIS support was improved.
+- Some bugs were fixed.
+- New localizations: Hindi, Gujarati, Sanskrit.
+
+
+9.15 beta 2010-06-20
+-------------------------
+- Some bugs were fixed.
+- New localization: Tatar.
+
+
+9.14 beta 2010-06-04
+-------------------------
+- WIM support was improved.
+
+
+9.13 beta 2010-04-15
+-------------------------
+- 7-Zip now stores NTFS file timestamps to ZIP archives.
+- New additional "Open archive >" item in context menu allows to select
+ archive type for some files.
+- Some bugs were fixed.
+- New localization: Uyghur.
+
+
+9.12 beta 2010-03-24
+-------------------------
+- ZIP / PPMd compression ratio was improved in Maximum and Ultra modes.
+- The BUG in 7-Zip 9.* beta was fixed: LZMA2 codec didn't work,
+ if more than 10 threads were used (or more than 20 threads in some modes).
+
+
+9.11 beta 2010-03-15
+-------------------------
+- 7-Zip now supports PPMd compression in ZIP archives.
+- Speed optimizations in PPMd codec.
+- The support for archives in installers was improved.
+- Some bugs were fixed.
+- New localization: Kazakh.
+
+
+9.10 beta 2009-12-22
+-------------------------
+- The BUG in 7-Zip 9.09 beta was fixed:
+ 7-Zip created incorrect ZIP archives, if ZipCrypto encryption was used.
+
+
+9.09 beta 2009-12-12
+-------------------------
+- 7-Zip now can unpack Apple Partition Map (APM) disk images.
+- Speed optimizations in AES code for Intel's 32nm CPUs.
+- Speed optimizations in CRC calculation code for Intel's Atom CPUs.
+- Some bugs were fixed.
+
+
+9.07 beta 2009-08-27
+-------------------------
+- It's possible to specify Diff program in options (7-Zip File Manager).
+- Some bugs were fixed.
+
+
+9.06 beta 2009-08-17
+-------------------------
+- 7-Zip now can unpack MSLZ archives.
+- Partial parsing for EXE resources, SWF and FLV.
+- Some bugs were fixed.
+
+
+9.04 beta 2009-05-30
+-------------------------
+- 7-Zip now can update solid .7z archives.
+- 7-Zip now supports LZMA2 compression method.
+- 7-Zip now supports XZ archives.
+- 7-Zip now can unpack NTFS, FAT, VHD and MBR archives.
+- 7-Zip now can unpack GZip, BZip2, LZMA, XZ and TAR archives from stdin.
+- 7-Zip now can open/copy/compress disk images (like \\.\c:) from \\.\ folder.
+- 7-Zip File Manager now doesn't use temp files to open nested archives
+ stored without compression.
+- New -scrc switch to calculate total CRC-32 during extracting / testing.
+- New -scc{WIN|DOS|UTF-8} switch to specify charset for console input/output (default = DOS).
+- Some bugs were fixed.
+
+
+4.65 2009-02-03
+-------------------------
+- 7-Zip File Manager now can calculate SHA-256 checksum.
+- Some bugs were fixed.
+
+
+4.64 2009-01-03
+-------------------------
+- The bug in 7-Zip 4.63 was fixed: 7-Zip could not decrypt .ZIP archives
+ encrypted with WinZip-AES method.
+
+
+4.63 2008-12-31
+-------------------------
+- 7-Zip now can unpack ZIP archives encrypted with PKWARE-AES.
+- Some bugs were fixed.
+
+
+4.62 2008-12-02
+-------------------------
+- Some bugs were fixed.
+
+
+4.61 beta 2008-11-23
+-------------------------
+- 7-Zip now supports LZMA compression for .ZIP archives.
+- Some bugs were fixed.
+- New localization: Sinhala.
+
+
+4.60 beta 2008-08-19
+-------------------------
+- Some bugs were fixed.
+
+
+4.59 beta 2008-08-13
+-------------------------
+- 7-Zip now can unpack UDF, XAR and DMG/HFS archives.
+- 7-Zip File Manager now keeps encryption when you edit encrypted file inside archive.
+- 7-Zip File Manager now allows to change current folder from the address bar drop-down list.
+- It's allowed to use -t switch for "list" and "extract" commands.
+- Some bugs were fixed.
+- New localizations: Icelandic, Kurdish Sorani.
+
+
+4.58 beta 2008-05-05
+-------------------------
+- Some speed optimizations.
+- 7-Zip now can unpack .lzma archives.
+- Unicode (UTF-8) support for filenames in .ZIP archives. Now there are 3 modes:
+ 1) Default mode: 7-Zip uses UTF-8, if the local code page doesn't contain required symbols.
+ 2) -mcu switch: 7-Zip uses UTF-8, if there are non-ASCII symbols.
+ 3) -mcl switch: 7-Zip uses local code page.
+- Now it's possible to store file creation time in 7z and ZIP archives (-mtc switch).
+- 7-Zip now can unpack multivolume RAR archives created with
+ "old style volume names" scheme and names *.001, *.002, ...
+- Now it's possible to use -mSW- and -mSW+ switches instead of -mSW=off and -mSW=on
+- Some bugs were fixed.
+- New localizations: Punjabi (Indian), Pashto.
+
+
+4.57 2007-12-06
+-------------------------
+- The BUG in command line version was fixed: -up3 switch
+ could work incorrectly.
+
+
+4.56 beta 2007-10-24
+-------------------------
+- Some bugs were fixed.
+
+
+4.55 beta 2007-09-05
+-------------------------
+- Some bugs were fixed.
+
+
+4.54 beta 2007-09-04
+-------------------------
+- Decompression speed was increased.
+
+
+4.53 beta 2007-08-27
+-------------------------
+- "Test" and "Info" buttons now work for open archives.
+- The bug in 7-Zip 4.48 - 4.52 beta was fixed:
+ 7-Zip could create .ZIP archives with broken files.
+- Some bugs were fixed.
+
+
+4.52 beta 2007-08-03
+-------------------------
+- 7-Zip now can unpack Compound files (msi, doc, ...).
+- Some bugs were fixed.
+
+
+4.51 beta 2007-07-25
+-------------------------
+- Bug was fixed: 7-Zip 4.50 beta could not open some .7z archives.
+
+
+4.50 beta 2007-07-24
+-------------------------
+- New switch for command line version:
+ -ssc[-] enables/disables case-sensitive mode for file names.
+- Speed optimizations for AES encryption.
+- Some bugs were fixed.
+
+
+4.49 beta 2007-07-11
+-------------------------
+- 7-Zip now can unpack WIM archives.
+- 7-Zip now replaces incorrect characters in filenames during extracting.
+
+
+4.48 beta 2007-06-26
+-------------------------
+- Encryption strength for .7z format was increased.
+ Now it uses random initialization vectors.
+- Some bugs were fixed.
+
+
+4.47 beta 2007-05-27
+-------------------------
+- Bugs of 7-Zip 4.46 beta were fixed: BZip2 could work incorrectly.
+
+
+4.46 beta 2007-05-25
+-------------------------
+- New fast compression mode for Deflate method in Zip and GZip.
+- New "Compress shared files" option in GUI and -ssw switch.
+- Some bugs were fixed.
+- New localization: Norwegian Nynorsk.
+
+
+4.45 beta 2007-04-17
+-------------------------
+- Now it's possible to specify the size of solid block and the number
+ of CPU threads in "Add to archive" dialog box.
+- Default dictionary size was increased: Normal: 16 MB, Max: 32 MB.
+- Speed optimizations.
+- Benchmark was improved (new "b" command in command line version).
+- The number of DLL files was reduced.
+- Now it's possible to associate 7-zip with combined types like .tbz2
+- switch -mhcf=off is not supported now.
+- If -t{Type} switch is not specified, 7-Zip now uses extension of archive to
+ detect the type of archive.
+- Some bugs were fixed.
+- New localization: Welsh.
+
+
+4.44 beta 2007-01-20
+-------------------------
+- Speed optimizations for LZMA, Deflate, BZip2 and unRAR.
+- 7-Zip now supports file pathnames longer than 260 characters.
+- Some bugs were fixed.
+- New localizations: Bangla, Bashkir, Nepali.
+
+
+4.43 beta 2006-09-15
+-------------------------
+- 7-Zip now can use multi-threading mode for compressing to .ZIP archives.
+- ZIP format supporting was improved.
+- 7-Zip now supports WinZip-compatible AES-256 encryption for .ZIP archives.
+- New context menu items for .ZIP archives creating.
+- 7-Zip now uses order list (list of extensions) for files sorting for compressing
+ to .7z archives. It can slightly increase compression ratio in some cases.
+- 7-Zip now restores modification time of folders during .7z archives extracting.
+- Some bugs were fixed.
+- New localizations: Armenian, Marathi.
+
+
+
+4.42 2006-05-14
+-------------------------
+- Compressing speed and Memory requirements were increased.
+ Default dictionary size was increased: Fastest: 64 KB, Fast: 1 MB,
+ Normal: 4 MB, Max: 16 MB, Ultra: 64 MB.
+- BZip2 compressing / decompressing now can work in multi-threading mode
+- Multi-threading mode now is default for multi-processor systems
+- 64-bit version now supports 1 GB dictionary
+- 7z/LZMA now can use only these match finders: HC4, BT2, BT3, BT4
+- Compression ratio in Zip/GZip/Deflate in Ultra mode was increased
+- 7-Zip now can unpack ISO archives and some installers created by NSIS
+- Optional "Flat View" mode in 7-Zip File Manager
+- 7-Zip File Manager now can calculate CRC checksums for files
+- -x switch with relative paths now affects files specified with absolute paths
+- New switch for 7za.exe (console version): -slt.
+ "l" (list) command with -slt shows technical information for archive.
+- New switch: -scs{WIN|DOS|UTF-8} specifies charset for list files.
+ Default charset for list files is UTF-8 now.
+- Some bugs were fixed
+- New localizations: Albanian, Kurdish
+
+
+4.32 2005-12-09
+-------------------------
+- Bug was fixed: 7-Zip 4.31 didn't work in Windows 95
+
+
+4.31 2005-12-04
+-------------------------
+- Small changes
+- New localization: Basque
+
+
+4.30 beta 2005-11-18
+-------------------------
+- Files 7zFMn.exe, 7zGn.exe, 7-zipn, 7za.exe, 7zC.sfx were removed from 7-zip package
+- 7-Zip now uses uncompressed SFX: 7z.sfx
+- Sfx modules 7z.sfx and 7zCon.sfx now use msvcrt.dll
+- Speed optimizations in LZMA maximum/ultra compressing.
+- LZMA now supports word size up to 273
+- 7-Zip now reduces dictionary size for LZMA, if you compress files
+ smaller than specified dictionary size.
+- 7-Zip now can use large memory pages:
+ GUI: 7-Zip File Manager / Options / Settings / Use large memory pages.
+ Command line version: -slp switch.
+ This feature allows to increase speed of compressing.
+ But 7-Zip can make some pause at starting of compressing for allocating large pages.
+ Also Task Manager doesn't show real memory usage of program, if 7-Zip uses large pages.
+ This feature works only on Windows 2003 / XP x64 / Vista.
+ Also you must have administrator's rights for your system.
+ Recommended size of RAM: 1 GB or more.
+ To install this feature you must run 7-Zip File Manager at least once,
+ close it and reboot system.
+- Some bugs were fixed
+
+
+4.29 beta 2005-09-28
+-------------------------
+- Bug was fixed: 7-Zip 4.28 beta worked incorrectly in Windows 95/98/Me
+
+
+4.28 beta 2005-09-27
+-------------------------
+- Bug was fixed: 7-Zip 4.27 beta created incorrect multivolume archives.
+- "Duplicate filename" collision problem between names with ligatures was fixed.
+
+
+4.27 beta 2005-09-21
+-------------------------
+- 7-Zip can unpack CHM/HXS (MS HTML HELP) archives
+- 7-Zip can unpack multivolume CAB archives
+- Now 7-Zip deletes files to the Recycle Bin by default.
+ Shift+Delete deletes files permanently.
+- Some bugs were fixed
+- New localization: Tatarish
+
+
+4.26 beta 2005-08-05
+-------------------------
+- LZH format support (extracting only)
+- Some bugs were fixed
+- New localization: Ido
+
+
+4.25 beta 2005-07-31
+-------------------------
+- 7-Zip now doesn't interrupt the compressing when it can not
+ find specified file as in version 4.24 beta. It just shows warning.
+- 7-Zip now supports standard selection mode in the file list
+- Some bugs were fixed
+
+
+4.24 beta 2005-07-06
+-------------------------
+- 7-Zip now supports right-click Drag and Drop in Explorer
+- Command line version now supports short file names (like FILENA~1.TXT)
+- If there are no wildcard names and there is no -r switch in command line,
+ 7-Zip now checks that specified files exist on disk before compressing.
+- Some bugs were fixed
+
+
+4.23 2005-06-29
+-------------------------
+- Drag and Drop support
+- 7-Zip File Manager now can copy files from one archive to another
+- Some bugs were fixed
+- New localizations: Extremaduran, Malay
+
+
+4.20 2005-05-30
+-------------------------
+- No changes
+
+
+4.19 beta 2005-05-21
+-------------------------
+- BZip2 code was rewritten. Now it supports 3 modes: Normal, Maximum and
+ Ultra. In Normal mode it compresses almost as original BZip2 compressor.
+ Compression ratio in Maximum and Ultra modes is 1-3% better for some files,
+ but Maximum Mode is about 3 times slower and Ultra Mode is about 8 times
+ slower than Normal mode.
+- Console version now prints all messages to stdout by default,
+ and if -so switch is specified, 7-Zip prints messages to stderr.
+- Some bugs were fixed
+- New localizations: Azeri, Georgian
+
+
+4.18 beta 2005-04-19
+-------------------------
+- Bug in v4.17 beta was fixed: 7-Zip File Manager could crash
+ after some operations with archives
+
+
+4.17 beta 2005-04-18
+-------------------------
+- To increase protection from viruses, 7-Zip now does not open
+ files with more than 4 continuous spaces in the name.
+ And 7-Zip changes such long spaces in name to " ... " in the file list.
+- Code size optimization
+- Some files were moved from main package to extra package:
+ - Plugin for FAR Manager
+ - SFX modules for installers (7zS.sfx and 7zSD.sfx)
+- New localizations: Asturian, Indonesian
+
+
+4.16 beta 2005-03-29
+-------------------------
+- Speed optimization (5%) for 7z / LZMA
+- 7za.exe now supports .Z archives
+- -r- switch in command line now is default for all commands
+- Some bugs were fixed
+- New localization: Uzbek
+
+
+4.15 beta 2005-01-25
+-------------------------
+- Z format supporting (extracting only)
+- 7-Zip now can extract ZIP archives compressed with "Shrink" method
+- 7-Zip now doesn't interrupt the compressing when it can not open file.
+ 7-Zip just skips that file and shows warning.
+- Some bugs were fixed
+- New localization: Frisian
+
+
+4.14 beta 2005-01-11
+-------------------------
+- 7-Zip installer was created with NSIS.
+ Now it installs 7-Zip for all users (under Windows 2000/XP).
+- Now 7-Zip can create multivolume archives
+ (switch -v for command line)
+- Some bugs were fixed
+- New localizations: Breton, Farsi
+
+
+4.13 beta 2004-12-14
+-------------------------
+- Switch "--" stops switches parsing
+- Some bugs were fixed
+
+
+4.12 beta 2004-11-18
+-------------------------
+- Bug in v4.11 beta was fixed:
+ 7-Zip created incorrect ZIP archives if file size was
+ from 3.75 GB to 4 GB.
+
+
+4.11 beta 2004-11-16
+-------------------------
+- 7-Zip now shows file names during compressing/decompressing
+- 7-Zip now supports Zip64 extension of ZIP format. So now it's
+ possible to compress files bigger than 4 GB to ZIP archives.
+- Some bugs were fixed
+- New localization: Galician
+
+
+4.10 beta 2004-10-21
+-------------------------
+- Bugs in v4.0* were fixed:
+ - Some commands in command line with "-r" switch worked incorrectly,
+ so 7-zip could skip some files during compressing
+ - Some other bugs were fixed
+- Small internal changes
+
+
+4.09 beta 2004-10-05
+-------------------------
+- Bugs in v4.0* were fixed:
+ - Renaming inside archives didn't work or worked incorrectly
+ - GUI SFX didn't show extracting dialog at start
+- Small fixes in 7-Zip GUI (7zG.exe)
+
+
+4.08 beta 2004-10-04
+-------------------------
+- Bug in installer for v4.07 was fixed: when rebooting
+ is required, it rebooted without asking user
+- Small fixes in 7-Zip GUI (7zG.exe)
+
+
+4.07 beta 2004-10-03
+-------------------------
+- Big amount of code was changed in this beta version.
+ So don't use it for important data compressing.
+ And test archive after compressing.
+
+- Unified command line interface to GUI and console versions
+- 7-Zip now can extract or test several archives in one command
+- 7-Zip now doesn't interrupt the compressing when file is locked by
+ other application. 7-Zip just skips that file and shows warning.
+ Note: previous versions of 7-Zip had bug, so they can not unpack
+ non-solid and some solid 7z archives with such skipped files.
+- Command line interface was changed:
+ - now it's possible to use absolute pathnames
+ - syntax simplification:
+ was: 7z a a Folder1\* Folder2\* -r
+ now: 7z a a Folder1 Folder2
+ - now it's possible to use complex wildcard commands, like *\*111*\*
+- More smart detection of archive type for files with unusual
+ file name extensions
+- Supporting for RAR archives with encrypted headers
+- CPIO format supporting was improved
+- For GZip and BZip2 formats you can:
+ - Compress from stdin (-si switch)
+ - Compress to stdout (-so switch)
+ - Extract to stdout (-so switch)
+- 7-Zip File Manager:
+ - Split and Combine commands
+ - new list view options: Full row select, Show grid lines
+- Internal reconstruction
+- Some bugs were fixed
+- New localizations: Friulian, Macedonian, Mongolian, Tamil, Thai
+
+
+3.13 2003-12-11
+-------------------------
+- Some small bugs were fixed
+
+
+3.12 2003-12-10
+-------------------------
+- Now you can select compression method, dictionary size
+ and word size in "Add to archive" dialog box. Also it
+ shows memory usage.
+- 7-Zip File Manager now contains toolbars.
+- New "Benchmark" command in 7-Zip File Manager.
+ It measures compressing and decompressing speeds and
+ shows rating values.
+- Some bugs were fixed.
+
+
+3.11 2003-10-06
+-------------------------
+- 7-zip now use limitations for solid block size
+ for increasing the speed of random file decompressing:
+ - in Store mode: 0 B
+ - in Fast mode: 16 MB
+ - in Normal mode: 256 MB
+ - in Maximum mode: 1 GB
+ - in Ultra mode: 4 GB
+- 7z.exe, 7za.exe and SFX modules now support Unicode
+ file names under Windows NT/2000/XP/2003.
+ 7zn.exe and 7zan.exe were removed from package.
+- Some bugs were fixed
+- New localization: Afrikaans
+
+
+3.10 2003-09-27
+-------------------------
+- Drag-and-Drop from external application
+- GUI version (7zG.exe) can compress files with absolute paths
+- Compression dialog doesn't suggest bzip2 and gzip2 types when
+ there are more than one selected file
+- Optional auto renaming for existing files during extraction
+ in command line version (-aot switch).
+- Some bugs were fixed
+
+
+3.09.02 2003-09-20
+-------------------------
+- Optional limitation for solid block size for increasing
+ the speed of random file decompressing (-ms switch)
+
+
+3.09.01 beta 2003-09-06
+-------------------------
+- Automatic compression filter for executable files:
+ dll, exe, ocx, sfx, sys, (-mf switch)
+- Compression levels in 7z now are:
+ - Fast: 32 KB dictionary, BCJ filter
+ - Normal: 2 MB dictionary, BCJ filter
+ - Maximum: 8 MB dictionary, BCJ filter, max settings
+ - Ultra: 32 MB dictionary, BCJ2 filter, max settings
+- Updating solid 7z archives now is supported, if it doesn't
+ require repacking solid blocks
+- -mhcf switch for 7z format now is default
+- Some bugs were fixed
+
+
+3.08.04 beta 2003-08-24
+-------------------------
+- Favorites menu in 7-Zip File Manager
+- Some bugs were fixed
+
+
+3.08.03 beta 2003-08-21
+-------------------------
+- Automatic adding of extension to archive name in Compress Dialog
+- Some bugs in previous 3.08.* versions were fixed:
+ - Storing columns width inside archives in File Manager
+ - Opening archive inside archive
+ - Quotes in list files in console version
+
+
+3.08.02 beta 2003-08-20
+-------------------------
+- Some bugs were fixed
+
+
+3.08 beta 2003-08-19
+-------------------------
+- Compress dialog:
+ - Supporting fast compressing mode (-mx=1 switch)
+ - Multi-threading option for Multi-Processor systems
+ or Pentium 4 with Hyper-Threading
+ - Encrypt file names option
+- New context menu items:
+ - Extract here
+ - Extract to
+ - Compress and email
+- Internal reconstruction, registry using was reduced
+- New localization: Esperanto
+
+
+2.30 Beta 32 2003-05-15
+-------------------------
+- New features in compressing / decompressing window.
+- "Show password" option.
+- Some other small changes.
+- New localization: Valencian.
+
+
+2.30 Beta 31 2003-04-29
+-------------------------
+- Some bugs were fixed.
+
+
+2.30 Beta 30 2003-04-19
+-------------------------
+- 7-Zip File Manager:
+ - Showing .. item.
+ - 1/2 Panels mode switching (F9).
+- Supporting Bzip2 compression in ZIP archives.
+- Some bugs were fixed.
+- Some optimization recompiling for reducing code size.
+
+
+2.30 Beta 29 2003-04-07
+-------------------------
+- 7-Zip File Manager:
+ - "7-Zip" and "System" submenus in "Files" menu.
+ - Path history and "Browse" button in "Copy" dialog.
+- RAR supporting was improved.
+- Some bugs were fixed.
+- Small changes in LZMA code.
+- New localizations: Hebrew, Vietnamese.
+
+
+2.30 Beta 28 2003-02-16
+-------------------------
+- Some bugs were fixed:
+ - Updating 7z archives that are larger than 4 GB.
+ - Using anti-items in 7z format.
+ - Compressing empty files with password to zip format.
+- In max mode 7z now uses 8 MB dictionary instead of 4 MB.
+- 7-Zip File Manager:
+ - Supporting file comments: Ctrl-Z.
+ - New key alias for folder bookmarks: [Shift]+Alt+Number.
+
+
+2.30 Beta 27 2003-01-24
+-------------------------
+- Two BUGs in two previous beta versions (Beta 25 and Beta 26)
+ were fixed:
+ 1. Incorrect compressing to non-solid 7z archive
+ when files have some very big sizes:
+ 4 GB, 8 GB, 12 GB, 16 GB, ...
+ 2. Incorrect percent showing in 7z compressing
+ when files are bigger than 4 GB.
+- Supporting multivolume RAR and SPLIT archives.
+- Supporting DEB archives.
+- Supporting old version of CPIO format.
+- Some bugs were fixed.
+- New localizations: Korean, Swedish.
+
+
+2.30 Beta 26 2003-01-12
+-------------------------
+- Supporting Deflate64 method in Zip archives.
+- Supporting Rar 1.50 archives.
+- Some bugs were fixed.
+
+
+2.30 Beta 25 2003-01-02
+-------------------------
+- Encryption feature for 7z format (AES-256).
+- New optional archive header compressing mode (-mhcf).
+- Archive headers now always are compressed with LZMA method.
+- Updating non-solid 7z archives without -ms=off now is allowed.
+- Folder creating and item renaming inside archive now is supported.
+- Supporting encrypted Rar3 archives.
+- Supporting Unicode names in Rar3 archives.
+- Some bugs were fixed.
+- New localizations: Lithuanian, Voro.
+
+
+2.30 Beta 24 2002-11-01
+-------------------------
+- Some internal reconstructions.
+- -m switch syntax was slightly changed.
+- Some bugs were fixed.
+- New localizations: Catalan, Norwegian, Romanian.
+
+
+2.30 Beta 23 2002-09-07
+-------------------------
+- Encryption feature for zip format.
+- Percent indicating for some operations.
+- Some bugs were fixed.
+
+
+2.30 Beta 22 2002-08-31
+-------------------------
+- New program: 7-Zip File Manager.
+- Command line version now doesn't allow absolute paths
+ for compressing files.
+- New localizations: Belarusian, Greek.
+- Bug in FAR plugin was fixed:
+ Incorrect updating when archive has no explicit
+ directory items for file items.
+- Some bugs were fixed.
+
+
+2.30 Beta 21 2002-07-08
+-------------------------
+- RAM requirements for LZMA (7z) compression were reduced.
+- Small bug in FAR plugin was fixed.
+
+
+2.30 Beta 20 2002-07-01
+-------------------------
+- RAM requirements for LZMA (7z) decompression were reduced.
+- New localization: Turkish.
+- Some bugs were fixed.
+
+
+2.30 Beta 19 2002-04-11
+-------------------------
+- Supporting RAR 3.0 archives.
+- New localizations: Danish, Ukrainian.
+
+
+2.30 Beta 18 2002-03-25
+-------------------------
+- Compressing speed in 7z format was slightly increased.
+- New localizations: Estonian, Finnish.
+- Some bugs were fixed.
+
+
+2.30 Beta 17 2002-03-03
+-------------------------
+- Supporting ARJ archives.
+- New localization: Chinese Simplified.
+
+
+2.30 Beta 16 2002-02-24
+-------------------------
+- Supporting RPM and CPIO archives.
+- New fast compression mode for LZMA: -m0a=0.
+- New match finders for LZMA: bt4b, hc3, hc4.
+- Some bugs were fixed.
+
+
+2.30 Beta 15 2002-02-17
+-------------------------
+- Compression ratio in 7z was slightly improved.
+- New localization: Dutch.
+
+
+2.30 Beta 14 2002-02-10
+-------------------------
+- Speed optimization for multiprocessor computers (-mmt switch).
+- New localizations: Czech, Japanese, Polish.
+- Some bugs were fixed.
+
+
+2.30 Beta 13 2002-01-31
+-------------------------
+- New SFX module for installers.
+- New match finder for LZMA: bt3.
+- New localizations: Portuguese, Portuguese Brazil, Serbo-Croatian.
+- Some bugs were fixed.
+
+
+2.30 Beta 12 2002-01-16
+-------------------------
+- Bug was fixed: memory leak in Beta 11.
+- New localization: Hungarian.
+
+
+2.30 Beta 11 2002-01-15
+-------------------------
+- Archive testing feature for GUI version.
+- Now 7-Zip can use more than 256 MB of RAM in all Windows versions.
+- New localizations: Bulgarian, Chinese Traditional, Latvian, Slovak.
+- Some bugs were fixed.
+
+
+2.30 Beta 10 2002-01-11
+-------------------------
+- Bugs were fixed:
+ - Updating 7z archives in Beta 8 and 9 didn't work.
+ - Unicode version in Beta 9 didn't work in Windows NT4.
+ - Some other bugs were fixed.
+- New localizations: Arabic, French, Italian, Slovenian, Spanish.
+
+
+2.30 Beta 9 2002-01-08
+-------------------------
+- Program localization: English, German, Russian.
+- Additional optimized versions of programs
+ for Windows NT4/2000/XP.
+- Two new match finders for LZMA: pat3h and pat4h.
+- Some bugs were fixed.
+
+
+2.30 Beta 8 2001-12-21
+-------------------------
+- 7-Zip now supports some zip archives that were not
+ supported by previous versions.
+- 7-Zip now supports new state (-uw switch) for cases
+ when 7-Zip can not detect whether file is newer or the same.
+- Supporting anti-items in 7z format for incremental
+ update (-u with action #3).
+- Some bugs were fixed.
+
+
+2.30 Beta 7 2001-11-04
+-------------------------
+- BCJ2: new converter for x86 code.
+- Supporting tar archives with very long file names
+ (GNU extension to 'tar' format).
+- Supporting multistream coders in 7z (-mb switch).
+- More compressing parameters for zip and gzip
+ in console version (-m switch).
+- Solid compressing option in Windows version.
+- Compressing parameters option in Windows version.
+- Auto renaming existing files feature for
+ extracting files.
+- Overwrite mode switch for extracting (-ao).
+- Some bugs were fixed.
+
+
+2.30 Beta 6 2001-10-13
+-------------------------
+- Supporting 7z format in MultiArc plugin for FAR Manager.
+- Some bugs were fixed.
+
+
+2.30 Beta 5 2001-10-02
+-------------------------
+- Creating SFX archives from explorer.
+- 7zWin.sfx: Windows version of SFX module.
+- Auto adding .exe extension to SFX archive name.
+- 7za.exe now supports 7z, bzip2, gzip, tar, zip.
+- Some bugs were fixed.
+
+
+2.30 Beta 4 2001-09-15
+-------------------------
+- Self extract capability for 7z format.
+- 7z archive format is default for 7z.exe and 7za.exe.
+- 7z in default mode now uses bt234 match finder
+ and solid compression.
+- 7z in maximum mode (-mx) now uses 4MB dictionary.
+
+
+2.30 Beta 3 2001-09-10
+-------------------------
+- Bug was fixed: decompressing .7z solid archives
+ containing empty files.
+- new 7za.exe: standalone command line version
+ (only for 7z format).
+- Speed of compressing to Deflate format (zip, gzip)
+ was slightly increased.
+
+
+2.30 Beta 2 2001-08-30
+-------------------------
+- Supporting the new 7z format with high compression ratio.
+- -bd (Disable percentage indicator) switch in
+ console version.
+- Bug in console version was fixed:
+ previous versions incorrectly execute compression
+ commands with non-recursive wildcards in combination
+ with subfolders.
+- Some other bugs were fixed.
+
+
+2.30 Beta 1 2001-05-07
+-------------------------
+- Speed of reading of archive contents was increased.
+- Bug was fixed: incorrect showing file names with
+ national charsets in some zip archives.
+- Now it is possible to compress files larger than 4GB
+ to GZip archives.
+
+
+2.24 2001-03-21
+-------------------------
+- Bugs in GZip and Cab decoders were fixed.
+
+
+2.23 2001-03-04
+-------------------------
+- Opening archive items in Explorer.
+- Context menu for archive items in Explorer.
+- Automatic adding extension to archive name in console version.
+- Some bugs were fixed.
+
+
+2.22 2001-01-21
+-------------------------
+- Supporting Zip archives containing more than 65535 files.
+- Speed of Plugin for Explorer was increased.
+- Searching start position of archive now is limited by
+ first 1MB part of file.
+- Some bugs were fixed.
+- Packet now doesn't contain 7zip.exe, far7zip.reg and
+ far7zip2.reg files. There is new far7z.reg file.
+
+
+2.21 2000-12-21
+-------------------------
+- FAR Plugin was improved:
+
+ - Showing process box during opening archives.
+ - Viewing properties of file by Ctrl-A.
+ - Alt-F6 in archive now immediately extracts selected files
+ to current directory.
+
+- Some bugs were fixed:
+
+ - Entering to archive's subfolders in Explorer by clicking
+ items in main window didn't work under Windows ME/2000.
+ - Decompressing solid Rar archives sometimes gave error.
+ - Console version 7z.exe during list operation incorrectly
+ showed file names with national (non-english) charsets.
+ - FAR Plugin didn't execute some operations.
+ - Showing percents during extracting ZIP archives sometimes
+ was incorrect.
+
+
+2.20 2000-11-20
+-------------------------
+- Supporting BZip2 and Cab.
+- New program architecture with external
+ compression and cryptographic modules.
+- Decryption support (Rar and Zip).
+- New console client.
+- Some bugs were fixed.
+
+
+2.11 2000-06-15
+-------------------------
+- Bugs were fixed:
+
+ - FAR Plugin incorrectly processed
+ names of subdirectories that use national
+ (non-english) charsets.
+ - gzip plugin could not compress empty files.
+
+
+2.10 2000-05-16
+-------------------------
+- First level 7-Zip Plugin for FAR Manager.
+- GUI version with integration to Windows Shell.
+- Compression and decompressing GZip and TAR formats.
+- Decompression RAR.
+- Install & Uninstall support.
+- Some bugs were fixed.
+
+
+2.01 1999-09-19
+-------------------------
+- Small bug was fixed.
+- Compression ratio was improved for some files.
+
+
+2.00 1999-07-18
+-------------------------
+- Release.
+- Big bug was fixed: previous versions incorrectly worked
+ during compressing with files that were referred by
+ direct(without wildcards) paths, containing subdirs parts.
+- Compression and decompression speed were improved.
+- -mx switch (maXimize compression) was added.
+- Small bugs were fixed.
+
+
+2.00 Beta 1 1999-01-02
+-------------------------
+- Original beta version.
+
+
+End of document
diff --git a/exe/7z/License.txt b/exe/7z/License.txt
new file mode 100644
index 00000000..b6ff3de5
--- /dev/null
+++ b/exe/7z/License.txt
@@ -0,0 +1,90 @@
+ 7-Zip
+ ~~~~~
+ License for use and distribution
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+ 7-Zip Copyright (C) 1999-2019 Igor Pavlov.
+
+ The licenses for files are:
+
+ 1) 7z.dll:
+ - The "GNU LGPL" as main license for most of the code
+ - The "GNU LGPL" with "unRAR license restriction" for some code
+ - The "BSD 3-clause License" for some code
+ 2) All other files: the "GNU LGPL".
+
+ Redistributions in binary form must reproduce related license information from this file.
+
+ Note:
+ You can use 7-Zip on any computer, including a computer in a commercial
+ organization. You don't need to register or pay for 7-Zip.
+
+
+ GNU LGPL information
+ --------------------
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ This library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You can receive a copy of the GNU Lesser General Public License from
+ http://www.gnu.org/
+
+
+
+
+ BSD 3-clause License
+ --------------------
+
+ The "BSD 3-clause License" is used for the code in 7z.dll that implements LZFSE data decompression.
+ That code was derived from the code in the "LZFSE compression library" developed by Apple Inc,
+ that also uses the "BSD 3-clause License":
+
+ ----
+ Copyright (c) 2015-2016, Apple Inc. All rights reserved.
+
+ Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
+
+ 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
+
+ 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer
+ in the documentation and/or other materials provided with the distribution.
+
+ 3. Neither the name of the copyright holder(s) nor the names of any contributors may be used to endorse or promote products derived
+ from this software without specific prior written permission.
+
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+ COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ ----
+
+
+
+
+ unRAR license restriction
+ -------------------------
+
+ The decompression engine for RAR archives was developed using source
+ code of unRAR program.
+ All copyrights to original unRAR code are owned by Alexander Roshal.
+
+ The license for original unRAR code has the following restriction:
+
+ The unRAR sources cannot be used to re-create the RAR compression algorithm,
+ which is proprietary. Distribution of modified unRAR sources in separate form
+ or as a part of other software is permitted, provided that it is clearly
+ stated in the documentation and source comments that the code may
+ not be used to develop a RAR (WinRAR) compatible archiver.
+
+
+ --
+ Igor Pavlov
diff --git a/exe/7z/descript.ion b/exe/7z/descript.ion
new file mode 100644
index 00000000..914077b9
--- /dev/null
+++ b/exe/7z/descript.ion
@@ -0,0 +1,14 @@
+7-zip.chm 7-Zip Help
+7-Zip.dll 7-Zip Plugin
+7-Zip32.dll 7-Zip Plugin 32-bit
+7z.dll 7-Zip Engine
+7z.exe 7-Zip Console
+7z.sfx 7-Zip GUI SFX
+7zCon.sfx 7-Zip Console SFX
+7zFM.exe 7-Zip File Manager
+7zg.exe 7-Zip GUI
+descript.ion 7-Zip File Descriptions
+history.txt 7-Zip History
+Lang 7-Zip Translations
+license.txt 7-Zip License
+readme.txt 7-Zip Overview
diff --git a/exe/7z/readme.txt b/exe/7z/readme.txt
new file mode 100644
index 00000000..b3dc5711
--- /dev/null
+++ b/exe/7z/readme.txt
@@ -0,0 +1,51 @@
+7-Zip 19.00
+-----------
+
+7-Zip is a file archiver for Windows.
+
+7-Zip Copyright (C) 1999-2019 Igor Pavlov.
+
+The main features of 7-Zip:
+
+ - High compression ratio in the new 7z format
+ - Supported formats:
+ - Packing / unpacking: 7z, XZ, BZIP2, GZIP, TAR, ZIP and WIM.
+ - Unpacking only: AR, ARJ, CAB, CHM, CPIO, CramFS, DMG, EXT, FAT, GPT, HFS,
+ IHEX, ISO, LZH, LZMA, MBR, MSI, NSIS, NTFS, QCOW2, RAR,
+ RPM, SquashFS, UDF, UEFI, VDI, VHD, VMDK, XAR and Z.
+ - Fast compression and decompression
+ - Self-extracting capability for 7z format
+ - Strong AES-256 encryption in 7z and ZIP formats
+ - Integration with Windows Shell
+ - Powerful File Manager
+ - Powerful command line version
+ - Localizations for 85 languages
+
+
+7-Zip is free software distributed under the GNU LGPL (except for unRar code).
+Read License.txt for more information about license.
+
+
+ This distribution package contains the following files:
+
+ 7zFM.exe - 7-Zip File Manager
+ 7-zip.dll - Plugin for Windows Shell
+ 7-zip32.dll - Plugin for Windows Shell (32-bit plugin for 64-bit system)
+ 7zg.exe - GUI module
+ 7z.exe - Command line version
+ 7z.dll - 7-Zip engine module
+ 7z.sfx - SFX module (Windows version)
+ 7zCon.sfx - SFX module (Console version)
+
+ License.txt - License information
+ readme.txt - This file
+ History.txt - History of 7-Zip
+ 7-zip.chm - User's Manual in HTML Help format
+ descript.ion - Description for files
+
+ Lang\en.ttt - English (base) localization file
+ Lang\*.txt - Localization files
+
+
+---
+End of document
diff --git a/exe/ReadMe.md b/exe/ReadMe.md
new file mode 100644
index 00000000..bc48362d
--- /dev/null
+++ b/exe/ReadMe.md
@@ -0,0 +1,13 @@
+# exe
+
+We keep executable files here that are used in various parts of programs.
+
+Currently this folder holds these files/folders:
+
+Folder | Description
+-------|-------------
+7z | 7-zip dll and exe files to unpack RAR files
+unrar | UnRAR executable to unpack RAR files
+
+
+for each group of files in each folder see the License file inside folder.
diff --git a/exe/unrar/UnRAR.exe b/exe/unrar/UnRAR.exe
new file mode 100644
index 00000000..329c48e1
Binary files /dev/null and b/exe/unrar/UnRAR.exe differ
diff --git a/exe/unrar/license.txt b/exe/unrar/license.txt
new file mode 100644
index 00000000..2c21c446
--- /dev/null
+++ b/exe/unrar/license.txt
@@ -0,0 +1,34 @@
+ ****** ***** ****** UnRAR - free utility for RAR archives
+ ** ** ** ** ** ** ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ ****** ******* ****** License for use and distribution of
+ ** ** ** ** ** ** ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ ** ** ** ** ** ** FREEWARE version
+ ~~~~~~~~~~~~~~~~
+
+ The UnRAR utility is freeware. This means:
+
+ 1. All copyrights to RAR and the utility UnRAR are exclusively
+ owned by the author - Alexander Roshal.
+
+ 2. The UnRAR utility may be freely distributed. It is allowed
+ to distribute UnRAR inside of other software packages.
+
+ 3. THE RAR ARCHIVER AND THE UnRAR UTILITY ARE DISTRIBUTED "AS IS".
+ NO WARRANTY OF ANY KIND IS EXPRESSED OR IMPLIED. YOU USE AT
+ YOUR OWN RISK. THE AUTHOR WILL NOT BE LIABLE FOR DATA LOSS,
+ DAMAGES, LOSS OF PROFITS OR ANY OTHER KIND OF LOSS WHILE USING
+ OR MISUSING THIS SOFTWARE.
+
+ 4. Neither RAR binary code, WinRAR binary code, UnRAR source or UnRAR
+ binary code may be used or reverse engineered to re-create the RAR
+ compression algorithm, which is proprietary, without written
+ permission of the author.
+
+ 5. If you don't agree with terms of the license you must remove
+ UnRAR files from your storage devices and cease to use the
+ utility.
+
+ Thank you for your interest in RAR and UnRAR.
+
+
+ Alexander L. Roshal
\ No newline at end of file