Archive by Author | Pete Larson

New chapter from myself in a Springer volume: “Access to Health Care in Sub-Saharan Africa: Challenges in a Changing Health Landscape in a Context of Development”

SpringerBook_I wrote a chapter for “Health in Ecological Perspectives in the Anthropocene” edited by Watanabe Toru and Watanabe Chiho. I have no idea if they are related. Either way, my chapter “Access to Health Care in Sub-Saharan Africa: Challenges in a Changing Health Landscape in a Context of Development” occupies pages 95-106 in the volume.

Check it out, you can buy the book through Amazon for a cool $109, or just my chapter through the Springer site for $29 or you can simply write me and I’ll give you a synopsis.

Success!

Here’s the abstract for the book:

This book focuses on the emerging health issues due to climate change, particularly emphasizing the situation in developing countries. Thanks to recent development in the areas of remote sensing, GIS technology, and downscale modeling of climate, it has now become possible to depict and predict the relationship between environmental factors and health-related event data with a meaningful spatial and temporal scale. The chapters address new aspects of environment-health relationship relevant to this smaller scale analyses, including how considering people’s mobility changes the exposure profile to certain environmental factors, how considering behavioral characteristics is important in predicting diarrhea risks after urban flood, and how small-scale land use patterns will affect the risk of infection by certain parasites, and subtle topography of the land profile. Through the combination of reviews and case studies, the reader would be able to learn how the issues of health and climate/social changes can be addressed using available technology and datasets.

The post-2015 UN agenda has just put forward, and tremendous efforts have been started to develop and establish appropriate indicators to achieve the SDG goals. This book will also serve as a useful guide for creating such an indicator associated with health and planning, in line with the Ecohealth concept, the major tone of this book.  With the increasing and pressing needs for adaptation to climate change, as well as societal change, this would be a very timely publication in this trans-disciplinary field.

Advertisements

Best Records of 2018

2018 was a fantastic year for music in just about every genre imaginable. I have tried to boil down my favorites, but I will most assuredly miss either some I might have forgotten or some great records I have yet to hear.

In any case, here we go. The list is in no particular order.

  • Seun Kuti and Egypt 80 – “Black Times” – What a monster this record is. While the record promo makes a huge deal out of Carlos Santana’s cameo on the title track, he could just as easily be any other guy with a guitar playing on the most aggressively dance-able record in years. I am normally not a fan of afrobeat, but while this record is afrobeat-esque due in no small part to the presence of Fela Kuti royalty (Fela Kutis band), Seun imbues a driving power that this music always deserved. Standouts: Bad Man Lighter, Kuku Kee Me.https://www.youtube.com/watch?v=AGtxf07vE2U
  • Yob – “Our Raw Heart” – And raw this is indeed. I barely got out of the crushing first track, which I listened to on repeat for a couple of days. The rest of the record is as good, punishing soundscapes of heavy sludge, with not an ounce of cheese. Yob has long been a favorite of mine since 2005’s “the Unreal Never Lived” and the band continues to be a mind altering exploration of sound.

    https://www.youtube.com/watch?v=DgW1HtxqNHE

  • Ammar 808 – “Maghreb United” – Someone, somewhere made the claim that Tunisian born and European based Sofyann Ben Youssef was a space alien come to earth in the search of the lowest bass imaginable. I can’t really disagree. Youssef takes traditional Tunisian tunes and merges them with modern(ish) electronics seamlessly. The songs aren’t simply academic explorations but as fresh, powerful and as exciting as one would expect the originals to be had not the cruel poison of cultural preservation put them in a stale corner. Really a fantastic record. I loved his other band Bargou 08. Can’t wait to hear more from him.

    https://youtu.be/-KqNLAnU6Mc

  • Ekuka – s/t – Holy jesus is this a good record. I can’t get enough of it really. Ekuka Morris Sirikiti is a presumably well known mbira player from Uganda, apparently so well known that people would record his performances off the radio and listen to them on repeat. It is unknown whether Ekuka actually put out his own record, but this compilation of second hand recordings is probably more than sufficient. The bent sounds of the mbira, with all it’s spider web undertones and warped resonance, along with his bizarre foot contraption for the beat, make this sound like some kind of brilliant darkwave as filtered through the shores of Lake Victoria. I have yet to convert anyone to the cult of Ekuka, but if you are willing, I am here to convert you. Fantastic.

    https://youtu.be/1rrWa48Leu4

  • Mehr Ali and Sher Ali – “Qawwali, the essence of desire” – Do you need a reason CS691529-01A-MEDto live? Then listen to side A of this record on repeat and hear the sounds of the entire human experience, from joy, to sadness, to longing to savoring what it is to be alive.
  • Deafheaven – “Ordinary Corrupt Human Love” – I like sound. I like sound a lot. I like a lot of sound. And Deafheaven do not disappoint me. While some may disregard Deafheaven as testosterone fueled dudes in tight black pants, I think they miss the point. Deafheaven are black metalish, yet subdued and atmospheric, much like another favorite of mine Ulver.

    https://youtu.be/ITgslYJhfx0

  • Sarah Davachi – “Gave in Rest” – I really liked the ambient weirdness of “All My Circles Run” so I was incredibly excited to see that Davachi had a new record out, just about the time I heard that one. Collages of acoustic and orchestral sounds reaching out to touch the sliver of light coming over the horizon on a morning in January in Michigan, just past the solstice…. that’s what I think this sounds like and I love it.

    https://youtu.be/_JrIBiqqmsw

  • Prince – “Piano and a Microphone 1983” – Yeah, so this isn’t from 2018 and had been rolling around on the bootleg circuit for quite sometime, but I am a Prince latecomer. While I always thought he was interesting, I never really got his genius until the man died, unfortunately. The first track on this, with the mighty, mighty Prince on the piano and a mic might actually bring tears to the eyes. It is just that good.
  • V/A – Music of Northern Laos – This is part of a two part series, one featuring music from Northern Laos, and the other music from the South. Without at all being dismissive of the Southern record, the Southern record wins. Haunting female chants and slow dance swing horns, this is a great collection of sounds to to send you into a haunting ethereal space that you haven’t been to before.

    https://www.youtube.com/watch?v=5IXzrbABrlQ

  • John Coltrane – “Both Directions at Once” – Not much needs to be said here.

 

I Wrote a Blog Post in R Markdown and Posted it to WordPress

I have nothing to say, I just want to see if this works

I found this post and wanted to see if it actually works (sometimes the code included in blog posts does not…actually, this code in this one did not. I had to make some modifications to get this to work.).

Apprently, I can include images, so I’ll include the most popular image on my site:

Image by me

I can include R code

Which is great, because I do a lot of R work

So here’s some R code. You can see that it is formatted properly:

summary(mtcars)
plot(mtcars$mpg, mtcars$cyl, main="myplot", xlab="mpg", ylab="cyl")

2. I can even include videos (I think), like this horrifying clip from Slithis Survival Kit:

Cool R packages I found today

Well, two packages, at least. Having not posted in well… forever… this is a decent move back into the world of blogging (which is far harder in 2018 than it was in, say, 2009.)

I have been working on Shiny based mapping apps recently and found the Zip Radius Package potentially convenient. I even made a map of zip codes and population within 100 miles of 48104.

Zips48104

The fieldRS package provides a convenient way of classifying and mapping remote sensing data, which will be extremly handy when doing the snake project, for example. An open question was how to access localized risk based on topography and landuse. I had no convenient way of assessing this at the time.

remotesensing.png

Data Explorer package in R

While other blog posts will do a much better job of explaining the Data Explorer package in R, it still seemed useful to mention it here.

A huge hurdle to data analysis is data cleaning, and to effectively develop a strategy to efficiently prepare data for analysis, a basic snapshot of the data is helpful.

Enter the Data Explorer package, a set of tools that can provide minimal descriptive information for not much effort at all. With a single command, you can take a raw dataset, and produce a useful report that you can use to start working on your plan of data cleaning attack.

I downloaded a portion of the Social Indicators Survey from Columbia University, and picked a small subset of variables.

Using this small set of code, I produced the report below.

library(DataExplorer)

sis<-read.csv(“siswave3v4impute3.csv”)

sis_sm <- as.data.frame(with(sis, cbind(sex, race, educ_r, r_age, hispanic, pearn,
assets,poor,read,homework,black, police)))

create_report(sis_sm)

Basic Statistics

The data is 34.8 Kb in size. There are 453 rows and 12 columns (features). Of all 12 columns, 9 are discrete, 3 are continuous, and 0 are all missing. There are 1,245 missing values out of 5,436 data points.

Data Structure (Text)

## 'data.frame':    453 obs. of  12 variables:
##  $ sex     : Factor w/ 2 levels "1","2": 2 1 2 1 2 2 1 2 2 1 ...
##  $ race    : Factor w/ 4 levels "1","2","3","4": 3 1 1 2 3 3 3 4 1 4 ...
##  $ educ_r  : Factor w/ 4 levels "1","2","3","4": 4 4 2 2 2 1 1 4 4 2 ...
##  $ r_age   : num  40 28 22 24 31 42 36 63 69 24 ...
##  $ hispanic: Factor w/ 2 levels "0","1": 2 1 1 1 2 2 2 1 1 1 ...
##  $ pearn   : num  14400 14400 12000 15000 8000 9600 2400 9600 NA NA ...
##  $ assets  : num  5000 50000 4000 NA NA 6000 NA 1250 100000 NA ...
##  $ poor    : Factor w/ 2 levels "0","1": 1 1 1 2 2 2 2 2 2 2 ...
##  $ read    : Factor w/ 4 levels "1","2","3","4": NA NA NA NA NA NA NA NA NA NA ...
##  $ homework: Factor w/ 4 levels "1","2","3","4": NA NA NA NA 4 1 1 NA NA NA ...
##  $ black   : Factor w/ 2 levels "0","1": 1 1 1 2 1 1 1 1 1 1 ...
##  $ police  : Factor w/ 2 levels "0","1": 2 2 1 1 2 2 1 NA 2 2 ...

Data Structure (Network Graph)

0

Missing Values

The following graph shows the distribution of missing values.

1

Data Distribution

Continuous Features (Histogram)

2

Discrete Features (Bar Chart)

3

Correlation Analysis

4

 

 

My Children are Seven in Number

WYTfXNot sure why but for some reason over lunch I got interested in old labor songs. This one was particularly bleak. Apparently, it is intended to be sung over “My Bonnie Lies Over The Ocean.” As our administration erodes labor and environmental protections for the inexplicable sake of bringing back coal mining, it pays to have a look back at how bad it really was.

Song: My Children are Seven in Number
Lyrics: Eleanor Kellogg(1)

Music: to the tune of “My Bonnie Lies Over the Ocean”
Year: c.1933
Genre:
Country: USA

 

My children are seven in number,
We have to sleep four in a bed;
I’m striking with my fellow workers.
To get them more clothes and more bread.

CHORUS:
Shoes, shoes, we’re striking for pairs of shoes,
Shoes, shoes, we’re striking for pairs of shoes.

Pellagra(3) is cramping my stomach,
My wife is sick with TB(4);
My babies are starving for sweet milk,
Oh, there as so much sickness for me.

Milk, milk, we’re striking for gallons of milk,
Milk, milk, we’re striking for gallons of milk.

I’m needing a shave and a haircut,
But barbers I cannot afford;
My wife cannot wash without soapsuds,
And she had to borrow a board.
This song was originally posted on protestsonglyrics.net
Soap, soap, we’re striking for bars of soap,
Soap, soap, we’re striking for bars of soap.

My house is a shack on the hillside,
Its doors are unpainted and bare;
I haven’t a screen to my windows,
And carbide cans do for a chair.

Homes, homes, we’re striking for better homes,
Homes, homes, we’re striking for better homes.

They shot Barney Graham(5) our leader,
His spirit abides with us still;
The spirit of strength for justice,
No bullets have power to kill.
This song was originally posted on protestsonglyrics.net
Barney, Barney, we’re thinking of you today,
Barney, Barney, we’re thinking of you today.

Oh, miners, go on with the union,
Oh, miners, go on with the fight;
For we’re in the struggle for justice,
And we’re in the struggle for right.

Justice, justice, we’re striking for justice for all,
Justice, justice, we’re striking for justice for all.

Mapmaking with ggmap

I am always looking for free alternatives to ArcGIS for making pretty maps. R is great for graphics and the new-to-me ggmap package is no exception.

I’m working with some data from Botswana for a contract and needed to plot maps for several years of count based data, where the GPS coordinates for facilities were known. ArcGIS is unwieldy for creating multiple maps of the same type of data based on time points, so R is an ideal choice…. the trouble is the maps I can easily make don’t look all that good (though with tweaking can be made to look better.)

ggmap offered me an easy solution. It downloads a topographic base map from Google and I can easily overlay proportionally sized points represent counts at various geo-located points. This is just a map of Botswanan health facilities (downloaded from Humanitarian Data Exchange) with the square of counts chosen from a normal distribution. The results are rather nice.

BotswanaHF

library(rgdal)
library(ggmap)
library(scales)

#read in grographic extent and boundary for bots
btw <- admin<-readOGR(“GIS Layers/Admin”,”BWA_adm2″) #from DIVA-GIS

# fortify bots boundary for ggplot
btw_df <- fortify(btw)

# get a basemap
btw_basemap <- get_map(location = “botswana”, zoom = 6)

# get the hf data
HFs.open.street.map<-read.csv(“BotswanaHealthFacilitiesOpenStreetMap.csv”)
# create random counts
HFs.open.street.map$Counts<-round((rnorm(112,mean=10,sd=5))^2,0)

# Plot this dog
plot
ggmap(btw_basemap) +
geom_polygon(data=btw_df, aes(x=long, y=lat, group=group), fill=”red”, alpha=0.1) +
geom_point(data=HFs.open.street.map, aes(x=X, y=Y, size=Counts, fill=Counts), shape=21, alpha=0.8) +
scale_size_continuous(range = c(2, 12), breaks=pretty_breaks(5)) +
scale_fill_distiller(breaks = pretty_breaks(5))

%d bloggers like this: