tag:blogger.com,1999:blog-124875772024-03-13T10:12:14.990-04:00Wooded PathsGardening in New England (Zone 5), local events, politics, whatever I might be thinking about.DWPittellihttp://www.blogger.com/profile/02809996471988559374noreply@blogger.comBlogger87125tag:blogger.com,1999:blog-12487577.post-13294716883007317032022-01-26T15:05:00.002-05:002022-01-26T15:06:15.823-05:00Tornadoes and Global Warming<p><span style="font-size: large;">Global warming is real, but the journalists and politicians warning
us about the dangers of climate change are as prone to making false claims as are
their opponents ("skeptics").</span><span style="font-size: large; mso-spacerun: yes;"> </span><span style="font-size: large;">Most
recently, we saw this with respect to tornadoes.</span></p>
<p class="MsoNormal"><span style="font-size: medium;">On December 10-11, 2021, several powerful tornadoes hit the
central United States, reportedly making for "the deadliest December
tornado outbreak in United States history". The next day, Deanne Criswell, head of the Federal
Emergency Management Agency (FEMA), said that "This is going to be our new
normal. The effects we are seeing of
climate change are the crisis of our generation." President Biden echoed her claims.</span></p><p class="MsoNormal"><span style="font-size: medium;"><o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size: medium;">But not every weather disaster is about anthropogenic
climate change. It's possible that
global warming could affect tornadoes, but the data is telling us that strong
tornadoes are actually declining over the last half century. If global warming has been affecting the number
or strength of tornadoes, then it appears to be weakening them.</span></p><p class="MsoNormal"><span style="font-size: medium;"><o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size: medium;">We have had good data on tornado counts and strength since
about 1970, and it is an uncontestable fact that the official and scientific
data we have shows that F2, F3, F4, and F5 tornadoes have all been decreasing
over the last 50 years. ("Strong"
tornadoes are usually considered to be F3 or higher.)</span></p><p class="MsoNormal"><span style="font-size: medium;"><o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size: medium;"><o:p></o:p></span></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEi1UNn5E7P78D9jUXExgOpNjj-e1gpCPXmnjfkMjhyO4ZYJqo5_8qpgtxpGsZTNdv-4aTbC3nU1p7sofXZYF4ACDSD237Q02ftIKaXlxt38WanJL53XJs0Lr52-vx3o3kxUzrNDGUlaGMxqKus8JZV6ARiUS-3g7Wh1B_VZxrndflPpuWI6_A=s614" style="margin-left: 1em; margin-right: 1em;"><span style="font-size: medium;"><img border="0" data-original-height="370" data-original-width="614" height="390" src="https://blogger.googleusercontent.com/img/a/AVvXsEi1UNn5E7P78D9jUXExgOpNjj-e1gpCPXmnjfkMjhyO4ZYJqo5_8qpgtxpGsZTNdv-4aTbC3nU1p7sofXZYF4ACDSD237Q02ftIKaXlxt38WanJL53XJs0Lr52-vx3o3kxUzrNDGUlaGMxqKus8JZV6ARiUS-3g7Wh1B_VZxrndflPpuWI6_A=w640-h390" width="640" /></span></a></div><span style="font-size: medium;"><br />Only the weakest (FU, F0, and F1) tornadoes' count has gone
up. This is an artifact of increasingly
good detection of weaker tornadoes.* And
even those weak tornadoes have gone down since peaking in 2004. </span><p></p><p class="MsoNormal"><span style="font-size: medium;"><o:p></o:p></span></p>
<p class="MsoNormal"><o:p><span style="font-size: medium;"> </span></o:p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEi0_0bb5CX8yCWzXR1X_WlKum29k56vvH_ZBrimZcqNHZ23Wn3ErMA6kGQ4J9ekTZC85Oyst5rHiRc3cmzwgaUpEaXwJqt_i8koiA0qiG9fQ_qbM45gYm7HR4G4PcKxT6aFixvPxmxgxs5938bZmYXmcI0jJMX5u6rknJYEcSsAL8H1x94Z7g=s614" style="margin-left: 1em; margin-right: 1em;"><span style="font-size: medium;"><img border="0" data-original-height="370" data-original-width="614" height="386" src="https://blogger.googleusercontent.com/img/a/AVvXsEi0_0bb5CX8yCWzXR1X_WlKum29k56vvH_ZBrimZcqNHZ23Wn3ErMA6kGQ4J9ekTZC85Oyst5rHiRc3cmzwgaUpEaXwJqt_i8koiA0qiG9fQ_qbM45gYm7HR4G4PcKxT6aFixvPxmxgxs5938bZmYXmcI0jJMX5u6rknJYEcSsAL8H1x94Z7g=w640-h386" width="640" /></span></a></div><p></p><p class="MsoNormal"><o:p><span style="font-size: medium;"> </span></o:p></p>
<p class="MsoNormal"><span style="font-size: medium;">I find it rather shocking that demonstrably false claims on
this matter are so broadly and credulously covered by the largest media sources.<span style="mso-spacerun: yes;"> </span>I think that skepticism and corrections are
avoided because few journalists want to be seen as doing anything to "fuel
skepticism".<span style="mso-spacerun: yes;"> </span>Ironically, this
attitude ends up fueling skepticism.<o:p></o:p></span></p><p class="MsoNormal"><span style="font-size: medium;"><br /></span></p><p class="MsoNormal"><span style="font-size: medium;">* Note this article on improvements in tornado detection</span>.</p><p class="MsoNormal"></p><div class="separator" style="clear: both; text-align: center;"><a href="https://lh3.googleusercontent.com/-01yuNU4Xk8g/YfGow83PswI/AAAAAAAAAgw/3OUluzp9_-Yq69NOLHgIpxkowlBYa9hxQCNcBGAsYHQ/image.png" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="608" data-original-width="975" height="400" src="https://lh3.googleusercontent.com/-01yuNU4Xk8g/YfGow83PswI/AAAAAAAAAgw/3OUluzp9_-Yq69NOLHgIpxkowlBYa9hxQCNcBGAsYHQ/w640-h400/image.png" width="640" /></a></div><br /><br /><p></p><p class="MsoNormal"><br /></p><p class="MsoNormal"><br /></p>DWPittellihttp://www.blogger.com/profile/02809996471988559374noreply@blogger.com0tag:blogger.com,1999:blog-12487577.post-6430188265472491172020-12-17T23:32:00.011-05:002020-12-23T08:05:36.766-05:00Some States Are Better Than Others<p class="MsoNormal"><span style="font-family: arial; font-size: medium;">Someone on Twitter:
"Tell me the best state without telling me Texas."<o:p></o:p></span></p><p class="MsoNormal"><span style="font-family: arial; font-size: medium;">Several people answered that
they don't know, but they did know that the worst state is Florida.<o:p></o:p></span></p><p class="MsoNormal"><span style="font-family: arial; font-size: medium;"><span>There are things to like and
dislike about every state.</span><span> </span><span>But perhaps the most objective and broadest measure of how good or appealing a place is, is based on the people who have voted with their feet, leaving places with little
appeal or opportunity, to migrate to places which are more appealing and
provide much opportunity.</span><span> </span><span>By that
measure, Florida is clearly the best state over the last decade – the only
state with very strong positive international and domestic migration for
2010-2019, which is why it is top right (blue circle) in the scatter graph
below. (DC is not far behind, and Texas is doing fairly well by both measures.)</span></span></p><p class="MsoNormal"><span style="font-family: arial; font-size: medium;"><span>The distance from the sloping
red line is each state's total (international and domestic) migration.</span><span> </span><span>The upper right states are the most popular,
the lower left the least popular. (Click for higher resolution.)</span></span></p><p class="MsoNormal">
</p><div><span><div class="separator" style="clear: both; text-align: center;"><div class="separator" style="clear: both; text-align: center;"><a href="https://1.bp.blogspot.com/-IwYU8WnJpYA/X-M--125uMI/AAAAAAAAAdc/RIJsq5Rz3roP_2mBqevhwdSQWcTG1yyRQCLcBGAsYHQ/s1200/Migration%2BUS%2BStates.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="677" data-original-width="1200" height="362" src="https://1.bp.blogspot.com/-IwYU8WnJpYA/X-M--125uMI/AAAAAAAAAdc/RIJsq5Rz3roP_2mBqevhwdSQWcTG1yyRQCLcBGAsYHQ/w640-h362/Migration%2BUS%2BStates.png" width="640" /></a></div><div class="separator" style="clear: both; text-align: center;"><br /></div></div><div><b style="font-family: arial; font-size: large;">Domestic</b></div>
<p class="MsoNormal"><span style="font-family: arial; font-size: medium;">Domestic migration is,
necessarily, evenly balanced. When you
include state population (the size of the dots), the graph is evenly balanced
on the vertical blue zero line.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: arial; font-size: medium;"><span>The states with the worst
domestic outmigration (negative migration) are: Alaska, New York, Illinois,
Connecticut, New Jersey.</span><span> </span><span>In general,
people have been leaving the Midwest and Northeast for the West and South.</span><span> </span><span>The one Midwestern (here, red) state
attracting significant numbers is North Dakota, mostly due to an oil boom.</span><span> </span><span>Only two Northeastern states have seen even
slightly positive migration: Maine and New Hampshire.</span></span></p>
<p class="MsoNormal"><span style="font-family: arial; font-size: medium;"><span>While the Northwest and
Mountain West saw gains, Alaska and Hawaii saw substantial outmigration.</span><span> </span><span>California's outmigration was smaller as a
percentage of population, but the largest in the country in absolute terms.</span></span></p>
<p class="MsoNormal"><span style="font-family: arial; font-size: medium;"><span><b>International</b></span></span></p><p class="MsoNormal"><span style="font-family: arial; font-size: medium;"><span>For international migration (height above the blue horizontal line),
the US regions are more evenly distributed. West Virginia has the weakest
international migration; there are not a lot of West Virginia jobs attracting
people from overseas.</span><span> </span><span>Massachusetts has
attracted a lot of foreign workers, even as domestic outmigration has been
considerable.</span><span> </span><span>Boston and its suburbs
have been performing very well economically, but this has also made real estate
there among the most expensive in the country, pricing a lot of people out.</span></span></p>
<p class="MsoNormal"><span style="font-family: arial; font-size: medium;"><span><b>2020</b></span></span></p><p class="MsoNormal"><span style="font-family: arial; font-size: medium;"><span>For 2019-2020, components of
population change won’t be available until February, 2021.</span><span> </span><span>In the face of the coronavirus pandemic, the
raw percentage changes in population (map and link below) show that most of
these trends continued.</span></span></p>
<div class="separator" style="clear: both; text-align: center;"><div class="separator" style="clear: both; text-align: center;"><a href="https://lh3.googleusercontent.com/-BkfvlgX0GYw/X-M69lrXc0I/AAAAAAAAAdE/vlvzYRkQXFAjknaL8Vv0YWn7s00ozfEGgCLcBGAsYHQ/image.png" style="margin-left: 1em; margin-right: 1em;"><span style="font-family: arial; font-size: medium;"><img alt="" data-original-height="707" data-original-width="869" height="325" src="https://lh3.googleusercontent.com/-BkfvlgX0GYw/X-M69lrXc0I/AAAAAAAAAdE/vlvzYRkQXFAjknaL8Vv0YWn7s00ozfEGgCLcBGAsYHQ/w400-h325/image.png" width="400" /></span></a></div><span style="font-family: arial; font-size: medium;"><br /></span><br /></div></span></div>DWPittellihttp://www.blogger.com/profile/02809996471988559374noreply@blogger.com0tag:blogger.com,1999:blog-12487577.post-27469127566914272872020-07-06T15:57:00.001-04:002020-07-06T15:58:36.043-04:00Graphing COVID-19<span style="font-size: 10pt;">There's been a lot of debate online about how
various countries have fared in the face of the COVID-19 pandemic.</span><span style="font-size: 10pt;"> </span><span style="font-size: 10pt;">Often the countries chosen are cherry-picked,
or the measure of deaths (i.e., totals, not rates) says more about the size of
the countries' populations than their success or failure in any meaningful
sense.</span><br />
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="font-size: 10.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;">There are just 6 major countries with higher
reported death rates than the US.<span style="mso-spacerun: yes;"> </span>But
the fact that all of them are well-functioning economies and democracies in
Western Europe would tend to refute the notion that economic or political
backwardness is the key to their high death rates.<o:p></o:p></span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="font-size: 10.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;">In my opinion, the key disadvantages that the
US and Western Europe have, relative to less wealthy countries and isolated islands
like New Zealand, is that the former are so large and interconnected (in terms
of travel).<span style="mso-spacerun: yes;"> </span>A Western, especially US,
reluctance to wear masks is also a major disadvantage relative to East Asian
countries.<o:p></o:p></span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="font-size: 10.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;">To illustrate such comparisons, I've written
an R script to download the latest daily data from the European Centre for
Disease Prevention and Control (ECDC), and turn daily death rates for selected
countries into a line graph, such as here (click on graph for higher
resolution; the graph is followed by my R script).<o:p></o:p></span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="font-size: 10.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;">Note that Spain has revised figures downward for
a reputed overcount of prior deaths; rather than go back and alter prior days'
numbers, they did this by logging 1,918 "negative deaths" on May
25.<span style="mso-spacerun: yes;"> </span>Later they revised numbers upward by
1,179 on June 19.<o:p></o:p></span></div>
<div class="MsoNormal">
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://1.bp.blogspot.com/-jAMhCnlr3dU/XwOCEGq90hI/AAAAAAAAAbM/ylkNtJQji9QTNjBcxjX29F0z6gahvdzfwCLcBGAsYHQ/s1600/US%2BEurope%2B2020%2B07%2B06.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="677" data-original-width="1200" height="360" src="https://1.bp.blogspot.com/-jAMhCnlr3dU/XwOCEGq90hI/AAAAAAAAAbM/ylkNtJQji9QTNjBcxjX29F0z6gahvdzfwCLcBGAsYHQ/s640/US%2BEurope%2B2020%2B07%2B06.png" width="640" /></a></div>
<br /></div>
<div class="MsoNormal">
<span style="font-size: 10.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;"># **********************<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-size: 10.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;"># R Code to download and graph ECDC historical
daily data<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-size: 10.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;"># David Pittelli -- woodedpaths.blogspot.com<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-size: 10.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;"># https://www.ecdc.europa.eu/en/publications-data/download-todays-data-geographic-distribution-covid-19-cases-worldwide<o:p></o:p></span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="font-size: 10.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;">setwd("C:/Users/YourDirectory")<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-size: 10.0pt;">rm(list=ls())<o:p></o:p></span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="font-size: 10.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;"># Load functions************<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-size: 10.0pt;">library(ggplot2)<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-size: 10.0pt;">library(scales)<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-size: 10.0pt;">library(RColorBrewer)<o:p></o:p></span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<div class="MsoNormal">
<span style="font-size: 10.0pt;"># Manual color
adjust****************<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-size: 10.0pt;">ggplotColours <- 360="" function="" h="c(0," n="6," o:p=""></-></span></div>
</div>
<div class="MsoNormal">
<span style="font-size: 10.0pt;"> if ((diff(h)%%360) < 1) h[2] <- -="" 360="" h="" n="" o:p=""></-></span></div>
<div class="MsoNormal">
<span style="font-size: 10.0pt;"> hcl(h = (seq(h[1], h[2], length = n)), c =
100, l = 65)<o:p></o:p></span></div>
<br />
<div class="MsoNormal">
<span style="font-size: 10.0pt;">}<o:p></o:p></span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="font-size: 10.0pt;"># Download data from web</span><span style="font-size: 10.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;">************</span><span style="font-size: 10.0pt;"><o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-size: 10.0pt;">df = read.csv("https://opendata.ecdc.europa.eu/covid19/casedistribution/csv",
na.strings = "", fileEncoding = "UTF-8-BOM", </span><span style="font-size: 10.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;">stringsAsFactors=FALSE</span><span style="font-size: 10.0pt;">)<o:p></o:p></span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="font-size: 10.0pt;"># convert date info in format
'mm/dd/yyyy'<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-size: 10.0pt;">df$date2 =
as.Date(df$dateRep, "%d/%m/%Y")<o:p></o:p></span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="font-size: 10.0pt;"># Subset rows and add columns
***********************<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-size: 10.0pt;"># eliminate NAs in countryterritoryCode<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-size: 10.0pt;">df =
df[!is.na(df$countryterritoryCode),]<o:p></o:p></span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="font-size: 10.0pt;"># Add deaths per 100 Million
column<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-size: 10.0pt;">df$DPC = (df$deaths * 100000000)
/ df$popData2019<o:p></o:p></span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="font-size: 10.0pt;"># Add cases per 100 Million
column<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-size: 10.0pt;">df$CPC = (df$cases * 100000000)
/ df$popData2019<o:p></o:p></span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="font-size: 10.0pt;"># Add 7-day moving averages <o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-size: 10.0pt;"># vectors are reversed since
MA can only look upwards (or in both directions)<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-size: 10.0pt;">df$DPCMA = rev(filter(rev(df$DPC),
rep(1/7,7), sides = 1))<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-size: 10.0pt;">df$CPCMA = rev(filter(rev(df$CPC),
rep(1/7,7), sides = 1))<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-size: 10.0pt;">df$deathsMA = rev(filter(rev(df$deaths),
rep(1/7,7), sides = 1))<o:p></o:p></span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="font-size: 10.0pt;"># Add day of week <span style="mso-spacerun: yes;"> </span>and 1-7 *****************************<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-size: 10.0pt;">df$dayOfWeek =
weekdays(as.Date(df$date2))<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-size: 10.0pt;">df$dayNum = setNames(0:6,
c("Sunday", "Monday", "Tuesday",
"Wednesday", "Thursday", "Friday",
"Saturday"))[weekdays(as.Date(df$date2))]<o:p></o:p></span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="font-size: 10.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;"># Save with a file name including today's
date***********<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-size: 10.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;">today = paste(substr(date(), 5, 10),
substr(date(), 21, 24))<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-size: 10.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;">filename = paste(today, "ECDC COVID
table.csv")<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-size: 10.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;">write.csv(df, filename)<o:p></o:p></span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="font-size: 10.0pt;"># Just look since March 1<o:p></o:p></span></div>
<div class="MsoNormal">
<div class="MsoNormal">
<span style="font-size: 10.0pt;">df = df[df$date2 > as.Date("2020-02-29"),
]<o:p></o:p></span></div>
</div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="font-size: 10.0pt;"># Graph
***************************************<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-size: 10.0pt;"># Select Countries <o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-size: 10.0pt;">df2 = df[df$geoId == "ES"
| df$geoId == "IT" | df$geoId == "UK" | df$geoId == "SE"
| df$geoId == "US" | df$geoId == "DE" |<span style="mso-spacerun: yes;"> </span>df$geoId == "KR"|<span style="mso-spacerun: yes;"> </span>df$geoId == "NZ",]<o:p></o:p></span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="font-size: 10.0pt;"># Annotated plot, 7-day
Moving Average, linear scale<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-size: 10.0pt;">p = ggplot(data = df2, aes(x
= date2, y = DPCMA, group = geoId, color = geoId)) +<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-size: 10.0pt;"><span style="mso-spacerun: yes;"> </span>geom_line(size = 1.2) +<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-size: 10.0pt;"><span style="mso-spacerun: yes;"> </span><span style="mso-spacerun: yes;"> </span>theme_bw() +<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-size: 10.0pt;"><span style="mso-spacerun: yes;"> </span><span style="mso-spacerun: yes;"> </span>ggtitle(paste("Daily Death Rate from
COVID-19, 7-Day smoothing,", today)) +<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-size: 10.0pt;"><span style="mso-spacerun: yes;"> </span><span style="mso-spacerun: yes;"> </span>theme(plot.title
= element_text(size = 24)) +<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-size: 10.0pt;"><span style="mso-spacerun: yes;"> </span>theme(axis.title.x =
element_text(size=14)) +<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-size: 10.0pt;"><span style="mso-spacerun: yes;"> </span>theme(axis.title.y =
element_text(size=14)) +<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-size: 10.0pt;"><span style="mso-spacerun: yes;"> </span>theme(axis.text.x = element_text(size=14))
+<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-size: 10.0pt;"><span style="mso-spacerun: yes;"> </span>theme(axis.text.y =
element_text(size=14)) +<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-size: 10.0pt;"><span style="mso-spacerun: yes;"> </span><span style="mso-spacerun: yes;"> </span>theme(legend.text
= element_text(size = 14)) +<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-size: 10.0pt;"><span style="mso-spacerun: yes;"> </span><span style="mso-spacerun: yes;"> </span>xlab("Date") + ylab("Daily Deaths
per 100 Million People") + <o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-size: 10.0pt;"><span style="mso-spacerun: yes;"> </span><span style="mso-spacerun: yes;"> </span>theme(legend.title=element_blank())<o:p></o:p></span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="font-size: 10.0pt;"># Manual colors; black for US<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-size: 10.0pt;">p + <span style="mso-spacerun: yes;"> </span>scale_colour_manual(breaks=c("ES",
"IT", "UK", "SE", "US", "DE",
"KR", "NZ"), labels=c("Spain", "Italy",
"UK", "Sweden", "US", "Germany",
"S. Korea", "New Zealand"),<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-size: 10.0pt;"><span style="mso-spacerun: yes;"> </span><span style="mso-spacerun: yes;"> </span>values =c(ggplotColours(7),
"black")) +<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-size: 10.0pt;"><span style="mso-spacerun: yes;"> </span><span style="mso-spacerun: yes;"> </span>annotate("text", x = as.Date(18425,
origin="1970-01-01"), y = 1750, label="David Pittelli --
woodedpaths.blogspot.com\nData from ecdc.europa.eu", col =
"black")<o:p></o:p></span></div>
<br />DWPittellihttp://www.blogger.com/profile/02809996471988559374noreply@blogger.com0tag:blogger.com,1999:blog-12487577.post-79980333066829135342020-04-24T15:43:00.000-04:002020-07-06T17:24:31.662-04:00Mapping the World of COVID-19<br />
<div class="MsoNormal">
A few days ago I was looking at the COVID-19 data at <a href="https://www.worldometers.info/coronavirus/">https://www.worldometers.info/coronavirus/</a></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
The website has a table showing data on cases, deaths, recoveries and testing for almost every country in the world. You can sort the table by any of its columns, but I wanted to be able to see geographic patterns by looking at a map. So, I decided to practice my R skills by writing code to webscrape the table data and produce a world choropleth map with colors coded to per capita death rates. (Click on map for higher resolution.)</div>
<div class="MsoNormal">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="MsoNormal">
<div class="separator" style="clear: both; text-align: center;">
<a href="https://1.bp.blogspot.com/-Kz2sH_qVMbg/XwODV6yZB4I/AAAAAAAAAbU/0Wm2ozANuxUXXSmVOpl1GEXJts-AkTUGwCLcBGAsYHQ/s1600/COVID%2B2020%2B07%2B06.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="677" data-original-width="1200" height="360" src="https://1.bp.blogspot.com/-Kz2sH_qVMbg/XwODV6yZB4I/AAAAAAAAAbU/0Wm2ozANuxUXXSmVOpl1GEXJts-AkTUGwCLcBGAsYHQ/s640/COVID%2B2020%2B07%2B06.png" width="640" /></a></div>
<br /></div>
<div class="MsoNormal">
Here is the R code. I hope it is sufficiently documented to follow, and also that you can see how to modify it to make a choropleth from just about any website's table of country-level data:</div>
<div class="MsoNormal">
<span style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;"><br /></span></div>
<div class="MsoNormal">
<br />
<div class="MsoNormal">
<span style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;"># Webscrape COVID<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;"># David Pittelli -- woodedpaths.blogspot.com<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;"># Some code from SNHU IT 697 II<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;"># http://selectorgadget.com/ will give CSS codes such as 'td' for
table data.<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;"># Data source: https://www.worldometers.info/coronavirus/<o:p></o:p></span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;">#install.packages('rvest')<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;">#install.packages'rworldmap')<o:p></o:p></span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;"># Load functions************<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;">library(rvest)<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;">library(rworldmap)<o:p></o:p></span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;">setwd("C:/Users/David/Documents/2020 Choropleth")<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;">rm(list=ls())<o:p></o:p></span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;">#scrape table data************<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;">url='https://www.worldometers.info/coronavirus/'<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;">d=read_html(url)<o:p></o:p></span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;">#extract the table data ('td' in html) ************<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;">scraped_td = html_nodes(d, 'td')<o:p></o:p></span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;"># convert the html data to text ************<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;">Tab = html_text(scraped_td)<o:p></o:p></span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;"># extract table head and convert to text for column names
************<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;"># scraped_th = html_nodes(d, 'th')<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;"># TabHead = html_text(scraped_th)<o:p></o:p></span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;"># Remove non-country leading info.<span style="mso-spacerun: yes;">
</span>Start with the "1" followed by the Country with most Deaths***<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;">first = min(grep("^1$", Tab)) # The first "1"
as whole string in Tab is probably where we want to start<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;"># Use anchors. ^ is the start. $ is the end.<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;"># The start position was 115, then went to 153 on or slightly
before 2020 06 01 run.<o:p></o:p></span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;">last = min(grep("Total", Tab)) - 2<o:p></o:p></span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;">Tab2 = Tab[first:last]<o:p></o:p></span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;">#build matrix of data, then convert to data frame************<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;">df=data.frame(matrix(Tab2, ncol=19,byrow=T),
stringsAsFactors=FALSE)<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;">df=df[, c(2:16)]<o:p></o:p></span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;">colnames(df) = c("Country", "TotalCases",
"NewCases", "TotalDeaths", "NewDeaths", "TotalRecovered",
"NewRecovered", "ActiveCases", "CriticalCases",
"CPM", "DPM", "TotalTests", "TPM", "Population",
"Region")<o:p></o:p></span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;"># Clear out unneeded variables************<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;"># rm(list=setdiff(ls(), "df"))<o:p></o:p></span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;"># Fix countries with abbreviated names************<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;">df[df$Country == "S. Korea", "Country"] =
"South Korea"<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;">df[df$Country == "UAE", "Country"] =
"United Arab Emirates"<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;">df[df$Country == "DRC", "Country"] =
"Democratic Republic of the Congo"<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;">df[df$Country == "CAR", "Country"] =
"Central African Republic"<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;">df[df$Country == "Czechia", "Country"] =
"Czech Republic"<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;">df[df$Country == "North Macedonia", "Country"]
= "Macedonia"<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;">df[df$Country == "Eswatini", "Country"] =
"Swaziland"<o:p></o:p></span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;"># Add countries with missing data************<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;"># df = rbind(df, c("Turkmenistan", rep(0, 9), NA, rep(0,
4))) # claims no cases, obviously untrue<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;"># df = rbind(df, c("North Korea", rep(0, 15))) # claims
no cases, obviously untrue<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;">df = rbind(df, c("Antarctica", rep(0, 15)))<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;">df = rbind(df, c("Kosovo", rep(0, 9), 66/1.845, 0, 0, 1845000,
'Europe')) # deaths / millions 7/4/20<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;"># source: https://en.wikipedia.org/wiki/COVID-19_pandemic_in_Kosovo#Cases<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;"># df = rbind(df, c("Kazakhstan", rep(0, 15))) # they got
data by July<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;"># df = rbind(df, c("Tajikistan", rep(0, 15))) # they got
data by July<o:p></o:p></span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;"># Remove commas from text-numbers and change from chr to numeric************<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;">for (i in 2:14) {<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;">df[ , i] = as.numeric(gsub(",","",df[ , i]))<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;">}<o:p></o:p></span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;"># Change NA values to 0<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;">df[is.na(df$DPM), "DPM"] = 0<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;">df[is.na(df$CPM), "CPM"] = 0<o:p></o:p></span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;"># Find highest DPM for country with Population > 1 million<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;"># Only San Marino has higher DPM (as of 4/24/2020)<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;">hmax = max(df[df$Population > 1000000 & !is.na(df$Population)
& !is.na(df$DPM), "DPM"])<o:p></o:p></span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;"># Save with a file name including today's date************<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;">today = paste(substr(date(), 5, 10), substr(date(), 21, 24))<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;">filename = paste(today, "COVID table.csv")<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;">write.csv(df, filename)<o:p></o:p></span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;">#join data to a map************<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;">COVIDMap = joinCountryData2Map(df, <o:p></o:p></span></div>
<div class="MsoNormal">
<span style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;"><span style="mso-spacerun: yes;"> </span><span style="mso-spacerun: yes;"> </span>nameJoinColumn="Country", <o:p></o:p></span></div>
<div class="MsoNormal">
<span style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;"><span style="mso-spacerun: yes;">
</span>joinCode="NAME",<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;"><span style="mso-spacerun: yes;">
</span>verbose=TRUE)<o:p></o:p></span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;"># plot the map************<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;">colorbreaks = c(0, 0.01, 0.1, 5, hmax/32, hmax/16, hmax/8, hmax/4,
hmax/2, hmax/2 + 0.01, hmax/2 + 0.02, hmax)<o:p></o:p></span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;">mapCountryData(COVIDMap, <o:p></o:p></span></div>
<div class="MsoNormal">
<span style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;"><span style="mso-spacerun: yes;"> </span>nameColumnToPlot='DPM',
<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;"><span style="mso-spacerun: yes;"> </span>catMethod = colorbreaks,
<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;"><span style="mso-spacerun: yes;"> </span>colourPalette =
"heat",<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;"><span style="mso-spacerun: yes;"> </span>oceanCol = "light
sky blue",<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;"><span style="mso-spacerun: yes;"> </span>missingCountryCol =
"dimgrey",<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;"><span style="mso-spacerun: yes;"> </span>borderCol =
"black",<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;"><span style="mso-spacerun: yes;"> </span>mapTitle =
paste("COVID-19 Deaths per Million People,", today))<o:p></o:p></span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;"># Add labels, note that lat/lon is set to erroneous number to be
in right place for zoomed graphic<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;">text(x=155, y=45, label="?", col = "dark red",
cex = 2)<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;">text(x=100,y=-90, label="David Pittelli -- woodedpaths.blogspot.com",
col = "black", cex = 0.8)<o:p></o:p></span></div>
<br /></div>
DWPittellihttp://www.blogger.com/profile/02809996471988559374noreply@blogger.com0tag:blogger.com,1999:blog-12487577.post-32669750166084720412019-12-02T07:47:00.001-05:002019-12-03T08:58:42.818-05:00Law School: Choose Wisely<br />
<div class="MsoNormal">
<span style="font-size: 10pt;">The new US Dept of Education
data on university graduates' incomes and debt levels illustrate some enormous
differences between programs, and particularly problems with the For-profit
sector (red dots below).</span><span style="font-size: 10pt;"> </span><span style="font-size: 10pt;">For the majority of students who
have any federal loans or grants, the median debt level and income in the first
calendar year after graduation are shown here (click on graph for better resolution):</span></div>
<div class="MsoNormal">
<span style="font-size: 10.0pt;"><o:p><br /></o:p></span></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://1.bp.blogspot.com/-jzaRK13lCW0/XeXwcVSdozI/AAAAAAAAAYA/lID4-98gi0YBQGkGS-FyVHsnhdIUkUbTgCLcBGAsYHQ/s1600/Law%2BSchool%2B1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="677" data-original-width="1200" height="360" src="https://1.bp.blogspot.com/-jzaRK13lCW0/XeXwcVSdozI/AAAAAAAAAYA/lID4-98gi0YBQGkGS-FyVHsnhdIUkUbTgCLcBGAsYHQ/s640/Law%2BSchool%2B1.png" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="font-size: 10.0pt;"><o:p><br /></o:p></span></div>
<div class="MsoNormal">
<span style="font-size: 10.0pt;">There is almost a bifurcated
market for law schools.<span style="mso-spacerun: yes;"> </span>Income in the
first calendar year after graduation is closely correlated with the average
LSAT scores for the schools' graduates (shown as color in the next graph).<span style="mso-spacerun: yes;"> </span>Debt is high at a few elite law schools,
whose graduates are well compensated for taking on this debt, as well as some
of the least elite schools, especially the few for-profits, whose graduates see
little or no economic advantage for having gone to law school.<span style="mso-spacerun: yes;"> </span><o:p></o:p></span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<div class="separator" style="clear: both; text-align: center;">
<a href="https://1.bp.blogspot.com/-uaKl3jD_9Ic/XeXwi5mX6PI/AAAAAAAAAYE/7j5pj6vhlfgwg2TTqPKbAof4DOU9dykCwCLcBGAsYHQ/s1600/Law%2BSchool%2B2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="677" data-original-width="1200" height="360" src="https://1.bp.blogspot.com/-uaKl3jD_9Ic/XeXwi5mX6PI/AAAAAAAAAYE/7j5pj6vhlfgwg2TTqPKbAof4DOU9dykCwCLcBGAsYHQ/s640/Law%2BSchool%2B2.png" width="640" /></a></div>
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="MsoNormal">
<span style="font-size: 10.0pt;"><o:p><br /></o:p></span></div>
<div class="MsoNormal">
<div class="MsoNormal">
<span style="font-size: 10.0pt;">To get a better handle on how
LSAT scores relate to income out of law school, the next graph shows LSAT
scores as the left-right axis (and average debt is shown as color). Here we can see exactly how dependent first-year
income is on the average LSAT score of the schools' students. Bottom-line: If you can't get
into a top-20 (or so) law school, go to a state school and consider law like an
advanced degree in English Literature or History -- do it only if you love it
and don't need the salary bump.<o:p></o:p></span></div>
</div>
<div>
<br /></div>
<div class="MsoNormal">
<div class="separator" style="clear: both; text-align: center;">
<a href="https://1.bp.blogspot.com/-Bgjvx6mgODg/XeXwoSYdcVI/AAAAAAAAAYI/AAmIz5FZBrkgPHfwJplYqCoR_1zo-mWqACLcBGAsYHQ/s1600/Law%2BSchool%2B3.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="677" data-original-width="1200" height="360" src="https://1.bp.blogspot.com/-Bgjvx6mgODg/XeXwoSYdcVI/AAAAAAAAAYI/AAmIz5FZBrkgPHfwJplYqCoR_1zo-mWqACLcBGAsYHQ/s640/Law%2BSchool%2B3.png" width="640" /></a></div>
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="MsoNormal">
<span style="font-size: 10pt;"><br /></span></div>
<div class="MsoNormal">
<span style="font-size: 13.3333px;">Note that deviations above or below the trend line may be for varying reasons, good and bad. For example, Harvard and Yale are the upper right of the graph, but somewhat below the trend line because some of their strongest graduates start their law careers by clerking for a judge, which is prestigious and often leads to a lucrative career, but is not itself very highly paid.</span></div>
<div class="MsoNormal">
<span style="font-size: 10pt;"><br /></span></div>
<div class="MsoNormal">
<span style="font-size: 10.0pt;">Data Sources:<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-size: 10.0pt;">https://collegescorecard.ed.gov/data/<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-size: 10.0pt;">https://www.ilrg.com/rankings/law/<o:p></o:p></span></div>
<br />
<br />
<br />DWPittellihttp://www.blogger.com/profile/02809996471988559374noreply@blogger.com0tag:blogger.com,1999:blog-12487577.post-84093438100825065062019-09-29T09:20:00.002-04:002019-09-29T10:01:41.997-04:00Child Mortality around the World<br />
<div class="MsoNormal">
The enormous progress in life expectancy, almost everywhere
in the world over the past 200 years, is primarily due to the reduction in
child mortality.<span style="mso-spacerun: yes;"> </span>It used to be common
for close to half of all children to die by age 5, and this figure was still
10% in the US as late as 1928.<span style="mso-spacerun: yes;"> </span>Here's a
graph showing child mortality and GDP per capita since 1900, with each dot
representing a country, and the size of the dot proportionate to
population.<span style="mso-spacerun: yes;"> </span>The US is the largest red
dot, China and India are the largest yellow dots, the countries with even lower
mortality rates than the US are mostly in Europe (blue dots) or on the western edge
of the Pacific (yellow dots for Japan, South Korea).<span style="mso-spacerun: yes;"> </span>Africa continues to have the highest death
rates, but it too has seen major improvements.<o:p></o:p></div>
<div class="MsoNormal">
<o:p><br /></o:p></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://1.bp.blogspot.com/-6sQHCCNS3v8/XZCvnBdZWKI/AAAAAAAAAWs/NXzO6_ZyP5gyzqnOtHF7HXzveD3pz4i1ACLcBGAsYHQ/s1600/child%2Bmortality%2B1900-2015.gif" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="480" data-original-width="480" height="640" src="https://1.bp.blogspot.com/-6sQHCCNS3v8/XZCvnBdZWKI/AAAAAAAAAWs/NXzO6_ZyP5gyzqnOtHF7HXzveD3pz4i1ACLcBGAsYHQ/s640/child%2Bmortality%2B1900-2015.gif" width="640" /></a></div>
<div class="MsoNormal">
<o:p><br /></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
This graphic is not an original idea.<span style="mso-spacerun: yes;"> </span>Hans Rosling famously narrated a similar
graph showing life expectancy rather than childhood mortality.<span style="mso-spacerun: yes;"> </span>I built the graph primarily to practice some
R skills.<span style="mso-spacerun: yes;"> </span>Making a graph with the ggplot
and gganimate packages takes just a couple minutes, but combining the data from
4 separate files (with population, mortality, and GDP files each having 216 columns
for the 216 years of data) took me some time to figure out and get just right.<span style="mso-spacerun: yes;"> </span>After cleaning the data files and putting the
continent information in the income file, I merged them with the following bit
of code.<span style="mso-spacerun: yes;"> </span>(Note that "k"
increments with every loop, leading to a dataframe of 43392 rows and just 6
columns.)<o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="font-family: "trebuchet ms" , sans-serif;"># build main dataframe "df" used by ggplot<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: "trebuchet ms" , sans-serif;">df = data.frame(country=character(), continent=character(), year=integer(),
income=integer(), population=integer(), mortality=double(),
stringsAsFactors=FALSE)<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: "trebuchet ms" , sans-serif;"><br /></span></div>
<div class="MsoNormal">
<span style="font-family: "trebuchet ms" , sans-serif;"># Loop through 192 countries & 216 Years (1800-2015) + 10
duplicate years. <o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: "trebuchet ms" , sans-serif;">k = 0<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: "trebuchet ms" , sans-serif;">for(i in 1:192){<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: "trebuchet ms" , sans-serif;">for(j in 2:227){<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: "trebuchet ms" , sans-serif;"><span style="mso-spacerun: yes;"> </span>k = k + 1<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: "trebuchet ms" , sans-serif;"><span style="mso-spacerun: yes;"> </span>df[k, 1] = df_inc[i,
1]<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: "trebuchet ms" , sans-serif;"><span style="mso-spacerun: yes;"> </span>df[k, 2] = df_inc[i,
2]<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: "trebuchet ms" , sans-serif;"><span style="mso-spacerun: yes;"> </span>df[k, 3] = 1798 + j<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: "trebuchet ms" , sans-serif;"><span style="mso-spacerun: yes;"> </span>df[k, 4] = df_inc[i,
j+1]<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: "trebuchet ms" , sans-serif;"><span style="mso-spacerun: yes;"> </span>df[k, 5] = df_pop[i,
j]<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: "trebuchet ms" , sans-serif;"><span style="mso-spacerun: yes;"> </span>df[k, 6] =
df_mort[i, j] / 1000<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: "trebuchet ms" , sans-serif;">}}</span><o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
Data source: https://www.gapminder.org/data/<o:p></o:p></div>
<div class="MsoNormal">
Hans Rosling video: https://www.youtube.com/watch?v=BPt8ElTQMIg<o:p></o:p></div>
<br />DWPittellihttp://www.blogger.com/profile/02809996471988559374noreply@blogger.com0tag:blogger.com,1999:blog-12487577.post-27513737572269097102019-05-06T12:56:00.004-04:002019-05-07T20:42:26.316-04:00Phonics Works<br />
<div class="MsoNormal">
<span style="font-size: large;">Phonics is an intervention
that works – at least in Bethlehem, PA, where the portion of kindergarteners
testing at benchmark increased from 47% to 84% from 2015 to 2018 as the District
moved from “whole word” to phonics instruction.
What's more, every kindergarten in the District showed marked
improvements, with similar gains regardless of 2015 performance and regardless
of the percent of students who are low income.
In the graph below, vertical distance above the red line indicates gain
in percentage points.<o:p></o:p></span></div>
<div class="MsoNormal">
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://1.bp.blogspot.com/-JS03U_0_rko/XNIl5TCsQRI/AAAAAAAAAVY/MuFgYHmrVXgYXiscA4jU1GlT-cUwtlgpgCLcBGAs/s1600/Phonics%2B2.gif" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="677" data-original-width="1144" height="378" src="https://1.bp.blogspot.com/-JS03U_0_rko/XNIl5TCsQRI/AAAAAAAAAVY/MuFgYHmrVXgYXiscA4jU1GlT-cUwtlgpgCLcBGAs/s640/Phonics%2B2.gif" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<br /></div>
<div class="MsoNormal">
<o:p><span style="font-size: large;"><br /></span></o:p></div>
<div class="MsoNormal">
<span style="font-size: large;">Phonics remains controversial among educators (as does Whole Word). </span><span style="font-size: large;">For a good read on this topic, see </span><a href="https://www.apmreports.org/story/2018/09/10/hard-words-why-american-kids-arent-being-taught-to-read" style="font-size: x-large;">this article</a><span style="font-size: large;"> from
APM Reports.</span></div>
<br />DWPittellihttp://www.blogger.com/profile/02809996471988559374noreply@blogger.com0tag:blogger.com,1999:blog-12487577.post-65722500815174064822019-01-13T15:33:00.005-05:002022-01-26T15:07:53.925-05:00The Wrong Birthday May Cause ADHD<span style="font-size: medium;"><span>A recent study of 407,846 children, published in the </span><i>New England Journal of Medicine</i><span> (</span><i>NEJM</i><span>),
showed that the older children within each grade are about 30% less likely to
be labeled as having attention deficit–hyperactivity disorder (ADHD). </span><br />
</span><div class="MsoNormal" style="line-height: normal; margin-bottom: 0in;">
<div class="MsoNormal" style="line-height: normal; margin-bottom: 0in;">
<span style="font-size: medium;"><br /></span></div>
<div class="MsoNormal" style="line-height: normal; margin-bottom: 0in;">
<span style="font-size: medium;">Most U.S. school systems group children together in one-year cohorts
based on a cutoff date, usually August 31 / September 1. For those school systems, the <a href="http://www.nejm.org/doi/full/10.1056/NEJMoa1806828"><i>NEJM</i> article</a> looked at rates of ADHD
diagnosis for all of the children, grouped by month of birth. The analysis primarily compared ADHD rates
for adjacent months, as here:<o:p></o:p></span></div>
</div>
<div class="MsoNormal" style="line-height: normal; margin-bottom: 0in;">
<span style="font-size: medium;"><span><br /></span>
<br />
</span><div class="separator" style="clear: both; text-align: center;">
<a href="https://4.bp.blogspot.com/-Hark3r2mlF8/XKOLa20rYxI/AAAAAAAAATg/q-ZexbPjz84qky5NmtSKlTXEF7nT3WodACLcBGAs/s1600/ADHD%2BNEJM%2Btable.png" style="margin-left: 1em; margin-right: 1em;"><span style="font-size: medium;"><img border="0" data-original-height="910" data-original-width="1112" height="521" src="https://4.bp.blogspot.com/-Hark3r2mlF8/XKOLa20rYxI/AAAAAAAAATg/q-ZexbPjz84qky5NmtSKlTXEF7nT3WodACLcBGAs/s640/ADHD%2BNEJM%2Btable.png" width="640" /></span></a></div>
<span style="font-size: medium;"><span><br /></span>
<span><br /></span></span></div>
<div class="MsoNormal" style="line-height: normal; margin-bottom: 0in;">
<div class="MsoNormal" style="line-height: normal; margin-bottom: 0in;">
<span style="font-size: medium;">The graphic above shows that the rate difference between August-born
children and September-born children is statistically significant (p < .05;
note the 95% error bar clearing the dotted “zero” line), but that no other
adjacent months show a statistically significant difference.<o:p></o:p></span></div>
<div class="MsoNormal" style="line-height: normal; margin-bottom: 0in;">
<span style="font-size: medium;"><br /></span></div>
<span style="font-size: medium;"><br />
</span><div class="MsoNormal" style="line-height: normal; margin-bottom: 0in;">
<span style="font-size: medium;">I believed that one could show stronger evidence from a more holistic
look at the data. Using the table of
data from above, I made a graph using r. <o:p></o:p>In the graph below, blue columns show the rate of ADHD diagnosis by birth
month. The oldest students, at left,
have birthdays in September. The graph also
shows a red curved regression line, and orange 95% error bars for each month, based on a
binomial distribution on each month's sample size.</span></div>
<div class="MsoNormal" style="line-height: normal; margin-bottom: 0in;">
<span style="font-size: medium;"><o:p></o:p></span></div>
<div class="MsoNormal" style="line-height: normal; margin-bottom: 0in;">
<span style="font-size: medium;"><br /></span></div>
</div>
<div class="MsoNormal" style="line-height: normal; margin-bottom: 0in;">
<span style="font-size: medium;"><o:p></o:p></span></div>
<span style="font-size: medium;"><span><br /></span>
<br />
</span><div class="separator" style="clear: both; text-align: center;">
<a href="https://1.bp.blogspot.com/-a1zYAs7aaeg/XD4oIfDDqUI/AAAAAAAAASI/iBG3HA6tZJQ8IXyd1-tk6MtFPt5cEaitgCLcBGAs/s1600/ADHD%2Bcolumn%2B3.png" style="margin-left: 1em; margin-right: 1em;"><span style="font-size: medium;"><img border="0" data-original-height="677" data-original-width="1144" height="378" src="https://1.bp.blogspot.com/-a1zYAs7aaeg/XD4oIfDDqUI/AAAAAAAAASI/iBG3HA6tZJQ8IXyd1-tk6MtFPt5cEaitgCLcBGAs/s640/ADHD%2Bcolumn%2B3.png" width="640" /></span></a></div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<span style="font-size: medium;"><span><span><br /></span>
</span><br />
</span><div class="MsoNormal" style="line-height: normal; margin-bottom: 0in;">
<div class="MsoNormal" style="line-height: normal; margin-bottom: 0in;">
<span style="font-size: medium;">To put this in narrative form, it is not so much that the youngest
(August birthday) children have elevated ADHD rates, as that the older half of
the class on the left has increasingly lower ADHD rates. It appears that about a third of the oldest
have matured out of the level of behavior which would result in an ADHD
diagnosis. Teachers and pediatricians
might wish to take this into account especially before concluding that a child
in the younger half of his class has ADHD, at least in borderline cases.<o:p></o:p></span></div>
<div class="MsoNormal" style="line-height: normal; margin-bottom: 0in;">
<span style="font-size: medium;"><br /></span></div>
<div class="MsoNormal" style="line-height: normal; margin-bottom: 0in;">
<span style="font-size: medium;">The younger half of the class at right shows a less clear trend. This nonlinearity is shown by the curved
regression line, which is upward sloping and downward curving. Of course, humans make note of patterns, and
random effects may look like a pattern.
To calculate whether these patterns are statistically significant, a
regression looking at both the linear and squared features showed strong
significance, with <i>p</i> < .001 for
the upward sloping linear feature, and <i>p</i>
= .001 for the squared feature (the downward curve). Further analysis, considering that the actual
statistical deviation of the measured samples is smaller than their apparent
deviation compared to each other, brought <i>p</i>
<< .001. <o:p></o:p></span></div>
<div class="MsoNormal" style="line-height: normal; margin-bottom: 0in;">
<span style="font-size: medium;"><br /></span></div>
<div class="MsoNormal" style="line-height: normal; margin-bottom: 0in;">
<span style="font-size: medium;">Recent Twitter correspondence with coauthor Timothy Layton provided a
plausible explanation for the flattening on the right side of the graph:
Children born in the summer are more likely to be held back a year, and thus to
become the oldest children in a new cohort – especially if they exhibit less
mature behavior. This holding back may
replace an ADHD diagnosis as a solution to behavioral issues, and/or may reduce
later ADHD diagnoses as the child is now compared to a younger, less mature
cohort.<o:p></o:p></span></div>
<div class="MsoNormal" style="line-height: normal; margin-bottom: 0in;">
<span style="font-size: medium;"><br /></span></div>
<div class="MsoNormal" style="line-height: normal; margin-bottom: 0in;">
<span style="font-size: medium;">Apart from what the data is about in this case, this analysis presented
some interesting exercises for understanding the use of data:</span></div>
<div class="MsoNormal" style="line-height: normal; margin-bottom: 0in;">
</div>
<ul>
<li><span style="font-size: medium;">that is categorized or grouped by range;</span></li>
<li><span style="font-size: medium;">where the sampling error of the measured samples is smaller than their
apparent deviation when compared to each other; and</span></li>
<li><span style="font-size: medium;">where Monte Carlo simulations may prove helpful.</span></li>
</ul>
<span style="font-size: medium;"><span><o:p></o:p></span><br />
</span><div class="MsoNormal" style="line-height: normal; margin-bottom: 0in;">
<span style="font-size: medium;"><o:p></o:p></span></div>
<div class="MsoNormal" style="line-height: normal; margin-bottom: 0in;">
</div>
<div class="MsoNormal" style="line-height: normal; margin-bottom: 0in;">
<span style="font-size: medium;"><o:p></o:p></span></div>
</div>
<div class="MsoNormal" style="line-height: normal; margin-bottom: 0in;">
<span style="font-size: medium;"><o:p></o:p></span></div>
<div class="MsoNormal" style="line-height: normal; margin-bottom: 0in;">
<span style="font-size: medium;"><br /></span></div>
<br />DWPittellihttp://www.blogger.com/profile/02809996471988559374noreply@blogger.com0tag:blogger.com,1999:blog-12487577.post-39701174425678047192018-11-20T11:17:00.002-05:002020-07-06T16:09:52.511-04:00Global Cooling?<br />
<div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;">
I was reading "The 1970s Global Cooling Consensus was not a Myth"
at https://wattsupwiththat.com/2018/11/19/the-1970s-global-cooling-consensus-was-not-a-myth/<o:p></o:p></div>
<div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;">
<br /></div>
<div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;">
And so I decided to make a quick graph in R showing the extent of this
consensus.<span style="mso-spacerun: yes;"> </span>Here, -1 depicts a
peer-reviewed scientific article predicting global cooling, 0 is a neutral
article, and 1 predicts global warming.<span style="mso-spacerun: yes;"> (Dots are spread out a bit with the jitter command.) Conclusion: While far from unanimous, the majority position in the late 1960s through early 1970s appears to be that global cooling is the likelier trend. (Not that that tells us much about the strength of current science.)</span><br />
<span style="mso-spacerun: yes;"><br /></span>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://www.blogger.com/blogger.g?rinli=1&pli=1&blogID=12487577" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"></a><a href="https://4.bp.blogspot.com/-4RKsof3wkK8/W_Q0jAht76I/AAAAAAAAARQ/5uGNaDorHLEFTpPfuwiGApSj-541kaaZwCLcBGAs/s1600/climate%2Bconsensus%2Bscatter.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="677" data-original-width="1144" height="377" src="https://4.bp.blogspot.com/-4RKsof3wkK8/W_Q0jAht76I/AAAAAAAAARQ/5uGNaDorHLEFTpPfuwiGApSj-541kaaZwCLcBGAs/s640/climate%2Bconsensus%2Bscatter.png" width="640" /></a></div>
<span style="mso-spacerun: yes;"></span></div>
DWPittellihttp://www.blogger.com/profile/02809996471988559374noreply@blogger.com0tag:blogger.com,1999:blog-12487577.post-40078630683378665102016-04-23T16:22:00.002-04:002016-04-23T16:22:32.137-04:00<div class="MsoNormal">
<b><span style="font-family: "Times New Roman","serif"; font-size: 12.0pt;">Prep Schools and
Test Scores<o:p></o:p></span></b></div>
<div class="MsoNormal">
<span style="font-family: "Times New Roman","serif"; font-size: 12.0pt;">How
do we rate teachers and schools? One
way, which has the advantage of being objective, but which is still
controversial, is to consider their students’ test scores, and how much they go
up while the students are being taught by a given teacher or at a given
school. The No Child Left Behind Act has
likewise mandated tests for most public school students at a few points in
their schooling. We don’t have such
mandated tests at private schools, but many private high schools (“prep
schools”) require Secondary School Admission Tests (SSATs) of all their
applicants, and have graduates who almost uniformly are applying to colleges
and taking the SAT test.<o:p></o:p></span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="font-family: "Times New Roman","serif"; font-size: 12.0pt;">This
scatter graph shows information on the students’ testing at several prep
schools which might be of interest to a student living in Massachusetts or New
Hampshire, and which have released testing information to Boarding School
Review (n.d.).<o:p></o:p></span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="font-family: "Times New Roman","serif"; font-size: 12.0pt;">For
each school, the horizontal location of the bubble marking the school shows how
well the school’s students tested when they applied to the school (the average
SSAT score, measured as a percentile, of incoming students). And the vertical location of the bubble shows
how well the school’s students test in their senior year at the school (the
average SAT score, on a scale which goes to 2400) of graduates.<o:p></o:p></span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="font-family: "Times New Roman","serif"; font-size: 12.0pt;">Since
the SSAT and SAT test essentially the same thing (preparation for academic
schoolwork, a combination of intelligence and learning measured mostly with
regard to mathematical understanding, vocabulary and reading skill), we should
not be surprised to see a fairly strong correlation between the two statistics. This correlation can be expressed by an r<sup>2</sup>
of 78%, or by noting how nearly the schools’ bubbles fall along the best-fit
diagonal trend line, as shown:<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: "Times New Roman","serif"; font-size: 12.0pt;"><br /></span></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://4.bp.blogspot.com/-3_EfQv6ZxjY/VxvZDQcXRfI/AAAAAAAAAPo/9kEB7QBaqM4hk3T3QIVOwRaWnAy01QAQACLcB/s1600/Prep%2BSchools%2BScatter%2B2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://4.bp.blogspot.com/-3_EfQv6ZxjY/VxvZDQcXRfI/AAAAAAAAAPo/9kEB7QBaqM4hk3T3QIVOwRaWnAy01QAQACLcB/s1600/Prep%2BSchools%2BScatter%2B2.png" /></a></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="font-family: "Times New Roman","serif"; font-size: 12.0pt; mso-no-proof: yes;"><v:shapetype coordsize="21600,21600" filled="f" id="_x0000_t75" o:preferrelative="t" o:spt="75" path="m@4@5l@4@11@9@11@9@5xe" stroked="f">
<v:stroke joinstyle="miter">
<v:formulas>
<v:f eqn="if lineDrawn pixelLineWidth 0">
<v:f eqn="sum @0 1 0">
<v:f eqn="sum 0 0 @1">
<v:f eqn="prod @2 1 2">
<v:f eqn="prod @3 21600 pixelWidth">
<v:f eqn="prod @3 21600 pixelHeight">
<v:f eqn="sum @0 0 1">
<v:f eqn="prod @6 1 2">
<v:f eqn="prod @7 21600 pixelWidth">
<v:f eqn="sum @8 21600 0">
<v:f eqn="prod @7 21600 pixelHeight">
<v:f eqn="sum @10 21600 0">
</v:f></v:f></v:f></v:f></v:f></v:f></v:f></v:f></v:f></v:f></v:f></v:f></v:formulas>
<v:path gradientshapeok="t" o:connecttype="rect" o:extrusionok="f">
<o:lock aspectratio="t" v:ext="edit">
</o:lock></v:path></v:stroke></v:shapetype><v:shape id="Picture_x0020_1" o:spid="_x0000_i1025" style="height: 393pt; mso-wrap-style: square; visibility: visible; width: 400.5pt;" type="#_x0000_t75">
<v:imagedata o:title="" src="file:///C:\Users\David\AppData\Local\Temp\msohtmlclip1\01\clip_image001.emz">
</v:imagedata></v:shape></span><span style="font-family: "Times New Roman","serif"; font-size: 12.0pt;"><o:p></o:p></span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="font-family: "Times New Roman","serif"; font-size: 12.0pt;">To
the extent each school deviates above the trend line, we can say that the
school is doing an above-average job of educating its students (at least, to
the extent that SAT scores reflect education), and schools below the trend line
appear to not be doing so well on this measure.
(The size of each circle indicates the number of students at the school;
the color green indicates a girls-only school, blue a coed school, orange a day school.)<o:p></o:p></span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="font-family: "Times New Roman","serif"; font-size: 12.0pt;">However,
the information in this graphic should be a rather small part of judging a
school’s academics, and academic strength may not be the most important factor
when judging how happy or successful a particular child will be at a particular
school.<o:p></o:p></span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="font-family: "Times New Roman","serif"; font-size: 12.0pt;">Further,
the height of the dots above the diagonal line may not be as important in
choosing a school as is where the school falls along the diagonal line. Although most people want to go to the most selective
prep school (or college) that they get into, it is unclear whether this is the
ideal choice in terms of academic progress, let alone social life. Imagine a student who scores at the 90<sup>th</sup>
percentile on the SSAT. At a school near the center or on
the left of the chart she will be among the stronger students; this may lead to
increased self-confidence and self-identification as a scholar; on the other
hand, it may instead lead to laziness as a moderate effort may be all that is
necessary to have average or even above-average grades. At an academically tougher school on the
right of the chart, the 90<sup>th</sup>-percentile scorer will likely not be
among the stronger students; this may lead to harder work to keep up with
peers, or it may lead to frustration and burnout. So in choosing a school, one might have to
guess whether one’s child is more likely to suffer from laziness or from low
self-esteem.<o:p></o:p></span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="font-family: "Times New Roman","serif"; font-size: 12.0pt;">A
final caveat: With any system of measurement, the accuracy of the measurement
goes down to the extent that the measured entity or the measurer has a stake in
the outcome. And as with public schools,
colleges and law schools, prep schools have in the past sometimes fudged input
and outcomes statistics. One wouldn’t
want to penalize a school for being honest.<o:p></o:p></span></div>
<div class="MsoNormal">
<br /></div>
<div align="center" class="MsoNormal" style="text-align: center;">
<u><span style="font-family: "Times New Roman","serif"; font-size: 12.0pt;">References<o:p></o:p></span></u></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal" style="margin-left: .5in; text-indent: -.5in;">
<span style="font-family: "Times New Roman","serif"; font-size: 12.0pt;">Boarding School
Review. (n.d.). Retrieved from http://www.boardingschoolreview.com/<o:p></o:p></span></div>
<div class="MsoNormal" style="margin-left: .5in; text-indent: -.5in;">
<br /></div>
<div class="MsoNormal" style="margin-left: .5in; text-indent: -.5in;">
<span style="font-family: "Times New Roman","serif"; font-size: 12.0pt;">SSAT.org.
(2013). Scores: How to read your score report. Retrieved from www.ssat.org/scores/read-score-report<o:p></o:p></span></div>
<div class="MsoNormal" style="margin-left: .5in; text-indent: -.5in;">
<br /></div>
<br />
<div class="MsoNormal">
<br /></div>
DWPittellihttp://www.blogger.com/profile/02809996471988559374noreply@blogger.com0tag:blogger.com,1999:blog-12487577.post-18396616011863842016-02-09T17:22:00.000-05:002016-02-20T10:20:39.025-05:00Brookings and the Uses and Abuses of Economic Statistics<div class="MsoNormal">
<span style="font-family: 'times new roman', serif; font-size: 12pt;">A
pet peeve of mine is the use of slipshod social science and statistics as a
mantle to conceal a weakly supported claim. I sometimes see this with the output of
ideological think tanks, organizations whose dissemination model usually
involves getting mainstream publishers to credulously disseminate their “reports,”
or press releases. Sometimes I feel
compelled to debunk such reports (e.g., Pittelli, 2016).</span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="font-family: "times new roman" , "serif"; font-size: 12.0pt;">This
week I noticed an article in the <i>Washington Post Wonkblog</i> (Badger, 2016). This <i>Wonkblog</i>
article reported on an economic analysis from the Brookings Institution. It claims that a look at the changes in some
economic statistics for America’s 100 largest cities over the past five years shows
that economic growth does not do much to help the poor and working classes.<o:p></o:p></span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="font-family: "times new roman" , "serif"; font-size: 12.0pt;">To
test the validity of this claim, I downloaded the statistics used by Brookings
and did some work on them in Excel and Tableau, an excellent visualization
program I am currently learning for a course in the Data Analytics program at
Southern New Hampshire University (SNHU.edu).<o:p></o:p></span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="font-family: "times new roman" , "serif"; font-size: 12.0pt;">The
Brookings article pointed out that “On average, the faster a metro economy
grew, the more likely it was to experience improvements in inclusion
[Brookings’ term for how well the poor are doing]” but then went on to refute a
ridiculous strawman: “Yet growth in metro economies did not reliably improve
all residents’ economic fortunes.” Perhaps
more important, the article’s headline was “In metro areas, growth isn’t
reliably trickling down.” (Berube, 2016)<o:p></o:p></span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="font-family: "times new roman" , "serif"; font-size: 12.0pt;">The
<i>Washington Post Wonkblog</i> picked up
the story with an even drearier headline (“All the people being left behind in
America’s booming cities”). The article disapprovingly
quoted various business and Republican sources claiming that economic growth is
the best way to help the poor and working class, told us that the Brookings
report shows they are all mistaken, and ended by quoting an author of the
Brookings report telling us that the report shows that the key to improving
“inclusion” is increased government spending on the poor.<o:p></o:p></span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal" style="page-break-after: avoid;">
<b><span style="font-family: "times new roman" , "serif"; font-size: 12.0pt;">The
Data<o:p></o:p></span></b></div>
<div class="MsoNormal">
<span style="font-family: "times new roman" , "serif"; font-size: 12.0pt;">So
what was all this based on? Brookings took
nine economic statistics, grouped them together in three groups of three, and gave
the three statistics groups names which sound meaningful and important, namely:
“growth,” “prosperity” and “inclusion.”
As these coinages are idiosyncratic, I will continue to put quotes
around them. In addition, Brookings’ and
<i>Wonkblo</i>g’s pessimistic reading of the
Brookings statistics (primarily, that “growth” is not reliably leading to
“inclusion”) is overblown for both statistical reasons and because the
Brookings’ coinages are not meaningful or well-constructed. I have three major issues with their
conclusions:<o:p></o:p></span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<b><span style="font-family: "times new roman" , "serif"; font-size: 12.0pt;">First Issue<o:p></o:p></span></b></div>
<div class="MsoNormal">
<span style="font-family: "times new roman" , "serif"; font-size: 12.0pt;">The
Brookings “growth” measure covers the size of each city’s economy, whereas the
“prosperity” and “inclusion” measures cover the per capita economy. Naturally, growing cities attract workers
from other cities with slower growth rates, and these workers – failed by their
previous cities of residence – also benefit from a successful city’s growing
economy. But the positives of a city
attracting new workers are overlooked by most of these statistics. Indeed, to the extent a city is attracting
new workers, its “prosperity” and “inclusion” measures will lag its “growth”
measure, but these discrepancies are not a measure of urban failure, but rather
of urban attractiveness.<o:p></o:p></span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<b><span style="font-family: "times new roman" , "serif"; font-size: 12.0pt;">Second Issue<o:p></o:p></span></b></div>
<div class="MsoNormal">
<span style="font-family: "times new roman" , "serif"; font-size: 12.0pt;">Brookings
claims of its “inclusion” statistic that:<o:p></o:p></span></div>
<div class="MsoNormal" style="margin-left: .5in;">
<i><span style="font-family: "times new roman" , "serif"; font-size: 12.0pt;">Inclusion indicators
measure how the benefits of growth and prosperity in a metropolitan economy are
distributed among people. Inclusive growth enables more people to invest in
their skills and to purchase more goods and services.<o:p></o:p></span></i></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="font-family: "times new roman" , "serif"; font-size: 12.0pt;">But
these claims are not reasonably supported by the three statistics in question. <o:p></o:p></span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="font-family: "times new roman" , "serif"; font-size: 12.0pt;">Two
of the parts of “inclusion” are Median wage and the Employment-to-population
ratio (the share of all individuals aged 18 to 65 who are employed). Neither of these measures tell us much about
the bottom tier or working class or non-college graduates. Median wage is a useful statistic, showing
how the middle is doing. Employment-to-population
ratio is also meaningful, and it is perhaps troubling that today the level
nationally is close to a 30-year low.
But people also can be unemployed due to prosperity, in the case of
couples who can afford to have a stay-at-home parent, or people retiring before
age 65.<o:p></o:p></span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="font-family: "times new roman" , "serif"; font-size: 12.0pt;">The
last of the statistics making up “inclusion” is the “Relative income poverty
rate” (RIPR), which is “The share of people in a metropolitan economy who earn
less than half of the local median wage.”
If a city saw everyone’s wages double, with no other changes, then RIPR would
be unchanged. But the low-earning people
would certainly benefit from a doubling of real earnings, and they would be
better able “to invest in their skills and to purchase more goods and services.” Like other inequality measures, this one
shows negative numbers when better off people see growth in their incomes, even
when the people at the bottom are seeing the same or somewhat better
incomes. </span><span style="font-family: "times new roman" , serif; font-size: 12pt;">But this measure of inequality is worse than
some others because the “well-off” whose income growth definitionally becomes a
bad thing are merely those at the 50</span><sup style="font-family: 'Times New Roman', serif;">th</sup><span style="font-family: "times new roman" , serif; font-size: 12pt;"> percentile, not some category
of rich which is divorced from “the people.”</span><span style="font-family: "times new roman" , serif; font-size: 12pt;">
</span><span style="font-family: "times new roman" , serif; font-size: 12pt;">In essence, as Median Wage is a denominator here, it will tend to cancel
out much of the effect of the Median Wage statistic which is ostensibly one of
the three parts of "inclusion."</span><span style="font-family: "times new roman" , serif; font-size: 12pt;"> </span><span style="font-family: "times new roman" , serif; font-size: 12pt;">Also, the RIPR statistic
only looks at people with earnings, which means that someone going from no
earnings (e.g., unemployed, on welfare, or in prison) to low earnings makes
their city look worse off.</span><span style="font-family: "times new roman" , serif; font-size: 12pt;"> </span><span style="font-family: "times new roman" , serif; font-size: 12pt;">Further, a
low-income person forced to move because he is priced out of, say, San Jose,
California, makes that city look better off.</span><br />
<div class="MsoNormal">
<span style="font-family: "times new roman" , "serif"; font-size: 12.0pt;"><o:p></o:p></span></div>
</div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="font-family: "times new roman" , "serif"; font-size: 12.0pt;">A
more meaningful measure of inclusion, or how “benefits… are distributed” to the
poor or working class, would look at a group such as the bottom quintile, and
would measure whether this lowest-earning portion of the people saw increases
or decreases in income (or consumption).
In the absence of such data, the median wage tells us more about the
average person’s economic benefits and ability “to invest in their skills and
to purchase more goods and services” than does Brookings’ “Relative income
poverty rate.”<o:p></o:p></span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal" style="page-break-after: avoid;">
<b><span style="font-family: "times new roman" , "serif"; font-size: 12.0pt;">Third
Issue<o:p></o:p></span></b></div>
<div class="MsoNormal">
<span style="font-family: "times new roman" , "serif"; font-size: 12.0pt;">One
cannot say flatly that a rising tide lifts all boats, or that it doesn’t; such
a reality falls along a continuum. I
downloaded the three Brookings ranks for each of the100 cities, used Excel to
semi-automatically put the tabular data into rows, and made scatter graphs in Excel
and then Tableau. I found that there is
indeed a positive correlation between Brookings’ ranks of 5-year “growth” and
“inclusion” measures, with a slope of 0.33 and an r-squared of 11%, meaning that one would expect that if one city has a "growth" that is 30 ranks better than a second city, then that first city will most likely have an "inclusion" that is 10 ranks better than the second city. Further, 11% of all of the
variation in the cities’ change of rank in “inclusion” may be explained by the
variation in the cities’ change of rank in Brookings’ “growth” measure (P < 0.001).<o:p></o:p></span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="font-family: "times new roman" , "serif"; font-size: 12.0pt;">Below
is a scatter graph I constructed in Tableau using the Brookings rank data. It shows the same dots as the scatter graph shown
in the <i>Wonkblog</i> and Brookings articles,
but with the addition of city names, where Tableau found room for them (note
that the scales are reversed, as 100 is the worst score, and 1 is the best):<o:p></o:p></span></div>
<div class="MsoNormal">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://1.bp.blogspot.com/-oeJYRGrq3rs/VrplwHesXVI/AAAAAAAAAPQ/84wkUdzVPgA/s1600/Growth%2BInclusion%2BScatter.gif" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://1.bp.blogspot.com/-oeJYRGrq3rs/VrplwHesXVI/AAAAAAAAAPQ/84wkUdzVPgA/s1600/Growth%2BInclusion%2BScatter.gif" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<br />
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="font-family: "times new roman" , "serif"; font-size: 12.0pt;">A
quick glance at the scatter graph does not show any obvious pattern of correlation,
and <i>Wonkblog</i> describes it as a “weak
relationship.” The article goes on to
say that “This non-pattern is notable precisely because the rising-tide theory
remains so alluring, particularly among Republicans.” Those foolish Republicans! It may be reasonable to describe a slope of 0.33 and a correlation of 11% as a
weak <span style="font-family: "times new roman" , serif;">relationship</span>, but it is certainly not a “non-pattern,” not evidence with
which to refute people who discern the pattern, and in particular not evidence
that some other policies would work better than policies aimed at improving
economic growth.<o:p></o:p></span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal" style="page-break-after: avoid;">
<b><span style="font-family: "times new roman" , "serif"; font-size: 12.0pt;">Note
on Nonparametric Statistics<o:p></o:p></span></b></div>
<div class="MsoNormal">
<span style="font-family: "times new roman" , "serif"; font-size: 12.0pt;">The
cities are listed and graphed above by rank, not by the actual underlying
statistics. A list of ranks by
definition has rank or ordinal scale, but not interval scale (i.e., adjacent
cities always have a rank difference of one, but are not equally far apart from
each other in terms of the underlying statistics.) For normal statistical measures, such as
those underlying the ranks, one would expect something close to a normal
distribution, and that the interval between two adjacent cities which are
ranked very high or very low would generally be greater than the interval
between two adjacent cities near the middle of the distribution. (Imagine that we have 100 people chosen at
random, arranged by height; we are almost certain to see a greater height
difference between the tallest person and the second-tallest person than
between two adjacent people near the middle of the line.)<o:p></o:p></span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<div class="MsoNormal">
<span style="font-family: "times new roman" , "serif"; font-size: 12.0pt;">Because
a rank difference of one does not rigorously translate to any particular
difference in the data underlying the ranking process, a correlation of ranks
is not as rigorous a measure as is the correlation of the underlying data. Likewise, with ranked data, the associated scatter graph will have the appearance of a square which is relatively full of data points, right up to the edges of the square. For these reasons, a correlation based on ranks
could show significantly different values than a correlation based on the
underlying statistics.<o:p></o:p></span></div>
<div class="MsoNormal">
<br /></div>
<span style="font-family: "times new roman" , "serif"; font-size: 12.0pt;">So given only rank data, a mathematical purist
should prefer to use nonparametric statistics.
A person coming at the problem from the opposite standpoint – that is,
with little knowledge of statistics – might also prefer the simplest or crudest of
these nonparametric methods to determine correlation. Looking again at the preceding scatter graph,
it is visually divided into 4 quadrants, with 50 cities on either side of center,
and 50 cities each above and below the center.
Each quadrant will have 25 cities if there is zero correlation by this
measure. But in fact, the quadrant
counts are:</span></div>
<div class="MsoNormal">
<br /></div>
<table border="1" cellpadding="0" cellspacing="0" class="MsoTableGrid" style="border-collapse: collapse; border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 0in 5.4pt 0in 5.4pt; mso-yfti-tbllook: 1184;">
<tbody>
<tr style="height: 31.0pt; mso-yfti-firstrow: yes; mso-yfti-irow: 0;">
<td style="border: solid windowtext 1.0pt; height: 31.0pt; mso-border-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 1.2in;" valign="top" width="115"><div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="font-family: "times new roman" , "serif"; font-size: 12.0pt;">UL
= 18<o:p></o:p></span></div>
<div class="MsoNormal">
<br /></div>
</td>
<td style="border-left: none; border: solid windowtext 1.0pt; height: 31.0pt; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 94.5pt;" valign="top" width="126"><div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="font-family: "times new roman" , "serif"; font-size: 12.0pt;">UR
= 32<o:p></o:p></span></div>
<div class="MsoNormal">
<br /></div>
</td>
</tr>
<tr style="height: 35.5pt; mso-yfti-irow: 1; mso-yfti-lastrow: yes;">
<td style="border-top: none; border: solid windowtext 1.0pt; height: 35.5pt; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 1.2in;" valign="top" width="115"><div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="font-family: "times new roman" , "serif"; font-size: 12.0pt;">LL
= 32<o:p></o:p></span></div>
<div class="MsoNormal">
<br /></div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; height: 35.5pt; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 94.5pt;" valign="top" width="126"><div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="font-family: "times new roman" , "serif"; font-size: 12.0pt;">LR
= 18<o:p></o:p></span></div>
<div class="MsoNormal">
<br /></div>
</td>
</tr>
</tbody></table>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="font-family: "times new roman" , "serif"; font-size: 12.0pt;">With
64/36 times as many cities at bottom left and upper right than at upper left
and bottom right, there is clearly a positive correlation between the two
variables. The (simple and crude) quadrant
count ratio is n(LL) + n(UR) - n(UL) - n(LR) all divided by N, and gives a
number similar to r (the Pearson product-moment correlation coefficient),
ranging from -1 to 1. In this case: (64
– 36) / 100 = 0.28, which is, at the least, on the stronger side of “weak
relationships.”<o:p></o:p></span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="font-family: "times new roman" , "serif"; font-size: 12.0pt;">Further,
one can see in the scatter graph that there are no cities very near to the
upper left and bottom right extreme corners of the whole graph, while there are
a few cities very near the bottom left and upper right corners. In other words, cities with a poor ranking
for “growth” also have a poor ranking for “inclusion,” while cities with an
excellent ranking for “growth” also have an excellent ranking for “inclusion.”<o:p></o:p></span></div>
<div class="MsoNormal">
<br />
<b>Alternative Methods</b></div>
<div class="MsoNormal">
<span style="font-family: "times new roman" , "serif"; font-size: 12.0pt;">All
of the preceding correlations analysis is based on the assumption that the
Brookings “growth” and “inclusion” statistics are meaningful and well-named
constructs. But as I noted in my First
and Second points above, this is not the case.
So how would I show the relationship between economic growth and
benefits to the people?<o:p></o:p></span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="font-family: "times new roman" , "serif"; font-size: 12.0pt;">From
the Brookings report, I obtained the nine separate statistics for each of the
100 largest metropolitan areas in the United States. These are all rates of increase/decrease for
the last 5 years, the period emphasized in the <i>Wonkblog</i> article. Note that
I will use the Greek delta symbol Δ to denote change in a statistic, in this
case change over the last 5 years expressed as a percentage (e.g., if a
statistic increased by 10%, then it was multiplied by 1.10).<o:p></o:p></span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="font-family: "times new roman" , "serif"; font-size: 12.0pt;">After
cleaning up the data and putting it in row format in Excel, I noted the Pearson
coefficients and r-squared figures for the pairings of these statistics.<o:p></o:p></span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="font-family: "times new roman" , "serif"; font-size: 12.0pt;">So
how much does economic growth in a city help the poor? Just looking at the cities’ Δ Gross Domestic
Product (GMP) as the proper measure of economic growth, we see:<o:p></o:p></span></div>
<div class="MsoListParagraphCxSpFirst" style="mso-list: l1 level1 lfo1; text-indent: -.25in;">
<!--[if !supportLists]--><span style="font-family: "symbol"; font-size: 12.0pt;">·<span style="font-family: "times new roman"; font-size: 7pt; font-stretch: normal;">
</span></span><!--[endif]--><span style="font-family: "times new roman" , "serif"; font-size: 12.0pt;">an
r-squared of 0.67 with Δ Aggregate Wages<o:p></o:p></span></div>
<div class="MsoListParagraphCxSpMiddle" style="mso-list: l1 level1 lfo1; text-indent: -.25in;">
<!--[if !supportLists]--><span style="font-family: "symbol"; font-size: 12.0pt;">·<span style="font-family: "times new roman"; font-size: 7pt; font-stretch: normal;">
</span></span><!--[endif]--><span style="font-family: "times new roman" , "serif"; font-size: 12.0pt;">an
r-squared of 0.56 with Δ Jobs<o:p></o:p></span></div>
<div class="MsoListParagraphCxSpMiddle" style="mso-list: l1 level1 lfo1; text-indent: -.25in;">
<!--[if !supportLists]--><span style="font-family: "symbol"; font-size: 12.0pt;">·<span style="font-family: "times new roman"; font-size: 7pt; font-stretch: normal;">
</span></span><!--[endif]--><span style="font-family: "times new roman" , "serif"; font-size: 12.0pt;">an
r-squared of 0.32 with Δ Average Wage<o:p></o:p></span></div>
<div class="MsoListParagraphCxSpLast" style="mso-list: l1 level1 lfo1; text-indent: -.25in;">
<!--[if !supportLists]--><span style="font-family: "symbol"; font-size: 12.0pt;">·<span style="font-family: "times new roman"; font-size: 7pt; font-stretch: normal;">
</span></span><!--[endif]--><span style="font-family: "times new roman" , "serif"; font-size: 12.0pt;">an
r-squared of 0.25 with Δ Median Wage<o:p></o:p></span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="font-family: "times new roman" , "serif"; font-size: 12.0pt;">I
switched to Tableau at this point because it makes it easy to create a
calculated field combining statistics and then to check a correlation with the
calculated field.<o:p></o:p></span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="font-family: "times new roman" , "serif"; font-size: 12.0pt;">Aggregate
Wages is by definition equal to Average Wage * Jobs, which means that (1+ Δ Aggregate
Wages) = (1+ Δ Average Wage) * (1+ Δ Jobs).<o:p></o:p></span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="font-family: "times new roman" , "serif"; font-size: 12.0pt;">In
other words, if a city’s Average Wage increases by 10% while its number of Jobs
increases by 5%, then its Aggregate Wages increase by 15.5%. (We multiply a 10% increase in one statistic
by a 5% increase in a second statistic by multiplying 1.10 by 1.05 = 1.155 = an
increase of 15.5%.)<o:p></o:p></span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="font-family: "times new roman" , "serif"; font-size: 12.0pt;">It
is no surprise that again looking at the cities’ Δ Gross Domestic Product
(GMP), we see:<o:p></o:p></span></div>
<div class="MsoListParagraphCxSpFirst" style="mso-list: l1 level1 lfo1; text-indent: -.25in;">
<br />
<ul>
<li><span style="font-family: "symbol"; font-size: 12pt; text-indent: -0.25in;"><span style="font-family: "times new roman"; font-size: 7pt; font-stretch: normal;"> </span></span><span style="font-family: "times new roman" , "serif"; font-size: 12pt; text-indent: -0.25in;">an
r-squared of 0.67 with Δ Average Wage * Δ Jobs – exactly the same as for Δ
Aggregate Wages, as we should expect</span></li>
<li><span style="font-family: "symbol"; font-size: 12pt; text-indent: -0.25in;"><span style="font-family: "times new roman"; font-size: 7pt; font-stretch: normal;"> </span></span><span style="font-family: "times new roman" , "serif"; font-size: 12pt; text-indent: -0.25in;">an
almost-as-high r-squared of 0.61 with Δ Median Wage * Δ Jobs</span></li>
</ul>
<!--[if !supportLists]--></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="font-family: "times new roman" , "serif"; font-size: 12.0pt;">Furthermore,
the beta or slope of the regression line is 0.82 for Δ Average Wage * Δ Jobs
and 0.85 for Δ Median Wage * Δ Jobs.<o:p></o:p></span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="font-family: "times new roman" , "serif"; font-size: 12.0pt;">In
other words, if one city has a GMP increase that is 10% higher than a second
city, that first city will have Aggregate Wages growing on average 8.2% higher
than the second city, and 67% of the variation in the growth in the 100 cities’
Aggregate Wages will be explained by growth in GMP alone.<o:p></o:p></span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="font-family: "times new roman" , "serif"; font-size: 12.0pt;"><span style="font-family: "times new roman" , serif; font-size: 12pt;">Now, Average Wage can
go up substantially just because the top 1% saw huge gains, so to see the improvement
in wages of the typical person, we use the Median Wage.</span><span style="font-family: "times new roman" , serif; font-size: 12pt;"> </span>And
when one city has a GMP increase that is 10% higher than a second city, that
first city will have (Median Wage * Jobs) growing on average 8.5% higher than
the second city, and 61% of the variation in the growth in the 100 cities’
(Median Wage * Jobs) will be explained by growth in GMP alone. Note this scatter graph of change in (Median
Wage * Jobs) vs. change in GMP:<o:p></o:p></span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="font-family: "times new roman" , "serif"; font-size: 12.0pt;"><v:shape id="Picture_x0020_2" o:spid="_x0000_i1026" style="height: 391.5pt; mso-wrap-style: square; visibility: visible; width: 408.75pt;" type="#_x0000_t75">
<v:imagedata o:title="" src="file:///C:\Users\David\AppData\Local\Temp\msohtmlclip1\01\clip_image002.emz">
</v:imagedata></v:shape></span><span style="font-family: "times new roman" , "serif"; font-size: 12.0pt;"><o:p></o:p></span></div>
<div class="MsoNormal">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://1.bp.blogspot.com/-8MgRqeAru_A/VrplwNM4XZI/AAAAAAAAAPY/KLjcSffR4wM/s1600/MWJ%2Bv%2BGMP%2Bscatter.gif" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://1.bp.blogspot.com/-8MgRqeAru_A/VrplwNM4XZI/AAAAAAAAAPY/KLjcSffR4wM/s1600/MWJ%2Bv%2BGMP%2Bscatter.gif" /></a></div>
<br />
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<div class="MsoNormal">
<span style="font-family: "times new roman" , "serif"; font-size: 12.0pt;">So
it seems to me that the best way to describe the way in which relative growth
in a city’s GMP correlates to relative growth in Wages and Jobs is “quite
reliably.” Sometimes there is more
growth in Wages and sometimes more growth in Jobs. But as noted above, when the number of Jobs has
increased in a city, the people in that city have also benefited, either
because the Employment ratio is higher than it would otherwise be (a factor
which Brookings attempts to add separately), or because some of the people in
that city are migrants who came to the city for a job and situation which is
generally better than they could have gotten in the city they left behind (a
factor which Brookings ignores).<o:p></o:p></span></div>
</div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<b><span style="font-family: "times new roman" , "serif"; font-size: 12.0pt;">Conclusion<o:p></o:p></span></b></div>
<div class="MsoNormal">
<span style="font-family: "times new roman" , "serif"; font-size: 12.0pt;">The Brookings authors used questionable methods to combine and create
statistics <o:p></o:p></span><span style="font-family: "times new roman" , serif; font-size: 16px;">when there are singular statistics which are more meaningful and give more meaningful correlations.</span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="font-family: "times new roman" , serif; font-size: 12pt;">The
more complicated a statistical measure, the easier it is to fool oneself (or
others) about the meaning of the statistic.
More complicated statistics also allow for more options for comparing
the statistics, and more chances of finding what you want to find in a
correlation or other comparison. In this
case, Brookings was looking at correlations of the statistics which they termed
“growth” and “inclusion.” Each of these
statistics was formed by:</span></div>
<div class="MsoListParagraphCxSpFirst" style="mso-list: l0 level1 lfo2; text-indent: -.25in;">
<br />
<ul>
<li><span style="font-family: "symbol"; font-size: 12pt; text-indent: -0.25in;"><span style="font-family: "times new roman"; font-size: 7pt; font-stretch: normal;"> </span></span><span style="font-family: "times new roman" , "serif"; font-size: 12pt; text-indent: -0.25in;">Ranks,</span></li>
<li><span style="font-family: "symbol"; font-size: 12pt; text-indent: -0.25in;"><span style="font-family: "times new roman"; font-size: 7pt; font-stretch: normal;"> </span></span><span style="font-family: "times new roman" , "serif"; font-size: 12pt; text-indent: -0.25in;">of
Sums,</span></li>
<li><span style="font-family: "symbol"; font-size: 12pt; text-indent: -0.25in;"><span style="font-family: "times new roman"; font-size: 7pt; font-stretch: normal;"> </span></span><span style="font-family: "times new roman" , "serif"; font-size: 12pt; text-indent: -0.25in;">of
differences from the three different Means,</span></li>
<li><span style="font-family: "symbol"; font-size: 12pt; text-indent: -0.25in;"><span style="font-family: "times new roman"; font-size: 7pt; font-stretch: normal;"> </span></span><span style="font-family: "times new roman" , "serif"; font-size: 12pt; text-indent: -0.25in;">divided
by three different Standard Deviations,</span></li>
<li><span style="font-family: "symbol"; font-size: 12pt; text-indent: -0.25in;"><span style="font-family: "times new roman"; font-size: 7pt; font-stretch: normal;"> </span></span><span style="font-family: "times new roman" , "serif"; font-size: 12pt; text-indent: -0.25in;">of
Rates of change in,</span></li>
<li><span style="font-family: "symbol"; font-size: 12pt; text-indent: -0.25in;"><span style="font-family: "times new roman"; font-size: 7pt; font-stretch: normal;"> </span></span><span style="font-family: "times new roman" , "serif"; font-size: 12pt; text-indent: -0.25in;">underlying
statistics which were themselves, in some cases, the quotient of two statistics
(i.e., one statistic divided by another).</span></li>
</ul>
<!--[if !supportLists]--></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="font-family: "times new roman" , "serif"; font-size: 12.0pt;">These
manipulations of the statistics could be defensible if <span style="font-family: "times new roman" , "serif"; font-size: 12.0pt;">the statistics </span>were used for other
purposes, but the manipulations (particularly the use of Ranks) made Brookings’ use of a scatter graph and related claims about
correlation untenable. <o:p></o:p></span></div>
<div class="MsoNormal">
<br />
<div class="MsoNormal">
<span style="font-family: "times new roman" , "serif"; font-size: 12.0pt;">Why did Brookings convert absolute values to measures of standard deviation
from the mean? If one merely multiplies
together different statistics (or 1+ Δ statistics), then the statistic which
has more volatility has more effect on the compounded measure than does a
statistic which has less volatility. For
some manipulations it may be helpful to eliminate these differences between the
measures so they are equally weighted in effect. But for the purposes of making up a “growth,”
“prosperity” and “inclusion” measure, it would have been preferable to combine
the three statistics without resort to the standard-deviations-from-the-mean manipulation. If one statistic is close to the same for all
the cities, then that statistic is indeed a less important contributor to any
meaningful measure of a city. If all
cities are within 1% of each other in some measure, then that is a reason to
note that the measure in question does not vary much and so is not an important
way to distinguish the cities. It is not
a reason to multiply that measure’s contribution ten-fold because we are
combining it with some other measure which varies by 10%.<o:p></o:p></span></div>
<br /></div>
<div class="MsoNormal">
<div class="MsoNormal">
<span style="font-family: "times new roman" , serif; font-size: 12pt;">But all in all, the biggest problem with the Brookings “inclusion” measure is that it
has little to do with “how the benefits of growth and prosperity in a
metropolitan economy are distributed among people” and even less to do with how
able the cities’ people are to “invest in their skills and to purchase more
goods and services.” A correlation of more
straightforward statistics shows that a city’s Growth (ΔGMP) in fact reliably
drives (slope = 0.85; r-squared = 0.61; P < 0.0001) its ΔMedian Wage and ΔJobs.</span></div>
</div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<br /></div>
<div align="center" class="MsoNormal" style="text-align: center;">
<u><span style="font-family: "times new roman" , "serif"; font-size: 12.0pt;">References<o:p></o:p></span></u></div>
<div class="MsoNormal" style="margin-left: .5in; text-indent: -.5in;">
<br /></div>
<div class="MsoNormal" style="margin-left: .5in; text-indent: -.5in;">
<span style="font-family: "times new roman" , "serif"; font-size: 12.0pt;">Badger, E.
(2016, February 2). All the people being left behind in America’s booming
cities. <i>Washington Post Wonkblog</i>.
Retrieved from
www.washingtonpost.com/news/wonk/wp/2016/02/02/all-the-people-being-left-behind-in-americas-booming-cities/<o:p></o:p></span></div>
<div class="MsoNormal" style="margin-left: .5in; text-indent: -.5in;">
<br /></div>
<div class="MsoNormal" style="margin-left: .5in; text-indent: -.5in;">
<span style="font-family: "times new roman" , "serif"; font-size: 12.0pt;">Berube, A. (2016,
January 29). In metro areas, growth isn't reliably trickling down. Retrieved
from www.brookings.edu/blogs/the-avenue/posts/2016/01/29-growth-isnt-reliably-trickling-down-in-metro-areas-aberube<o:p></o:p></span></div>
<div class="MsoNormal" style="margin-left: .5in; text-indent: -.5in;">
<br /></div>
<div class="MsoNormal" style="margin-left: .5in; text-indent: -.5in;">
<span style="font-family: "times new roman" , "serif"; font-size: 12.0pt;">Brookings.
(2016). Metro monitor. Retrieved from www.brookings.edu/research/reports2/2016/01/metro-monitor#V0G37980<o:p></o:p></span></div>
<div class="MsoNormal" style="margin-left: .5in; text-indent: -.5in;">
<br /></div>
<div class="MsoNormal" style="margin-left: .5in; text-indent: -.5in;">
<span style="font-family: "times new roman" , "serif"; font-size: 12.0pt;">Pittelli, D.
(2016, January-February). Cambridge 02138 – Letters to the Editor. <i>Harvard Magazine</i>. Retrieved from
http://harvardmagazine.com/2015/12/cambridge-02138<o:p></o:p></span></div>
<div class="MsoNormal" style="margin-left: .5in; text-indent: -.5in;">
<br /></div>
<div class="MsoNormal" style="margin-left: .5in; text-indent: -.5in;">
<span style="font-family: "times new roman" , "serif"; font-size: 12.0pt;">Sullins, B.
(n.d.). Enterprise business intelligence with Tableau Server. Pluralsight. Retrieved
from
https://app.pluralsight.com/library/courses/enterprise-business-intelligencetableau-server/table-of-contents<o:p></o:p></span></div>
<div class="MsoNormal" style="margin-left: .5in; text-indent: -.5in;">
<span style="font-family: "times new roman" , "serif"; font-size: 12.0pt;"><o:p></o:p></span></div>
<br />
<div class="MsoNormal" style="margin-left: .5in; text-indent: -.5in;">
<br /></div>
DWPittellihttp://www.blogger.com/profile/02809996471988559374noreply@blogger.com0tag:blogger.com,1999:blog-12487577.post-232004208344745112012-05-19T17:04:00.001-04:002019-04-17T09:54:19.683-04:00Mexican Oatmeal SoupI saw a recipe for Mexican Oatmeal Soup that Elizabeth Warren, Senate hopeful, had published in a Native American Cookbook, but which can also reportedly be found in The New York Times Bread and Soup Cookbook (1972). I made a few alterations for health, convenience and flavor. It was delicious (of course, or I wouldn’t be posting it!). My picky son thought he’d hate it, but when cajoled into a taste, said he liked it too. The soup is vegan, unless of course you pour it over meatballs or use chicken instead of vegetable broth.<br />
<br />
2 Tbsp Extra Virgin Olive Oil<br />
½ Yellow Onion, chopped fine<br />
1 Clove Garlic, chopped fine<br />
½ Serrano Pepper, chopped fine<br />
½ cup rolled oats<br />
1 can (15 oz.) Petite Cut Tomatoes, drained<br />
2 cups vegetable broth<br />
½ tsp salt (If broth is low sodium or unsalted)<br />
Handful of Cilantro (perhaps a tenth of a supermarket bundle), chopped<br />
<br />
Heat the Olive Oil in a saucepan at medium heat.<br />
Add the Onions and cook until they get translucent, about 5 minutes, stirring a couple times.<br />
Add the Garlic and Hot Pepper and cook for about 5 more minutes, occasionally stirring.<br />
Add the Oatmeal and cook for about 3 more minutes, occasionally stirring.<br />
<br />
Then add the Tomatoes, Broth, Salt, and Cilantro. Bring to a boil and boil for at least 5 minutes over medium heat, occasionally stirring and checking texture. (Naturally, the oatmeal will get softer and the liquid will get thicker over time.) Remove from heat when texture is as desired; serve hot.
Optionally, ladle soup into bowls over chopped meatball or chicken.DWPittellihttp://www.blogger.com/profile/02809996471988559374noreply@blogger.com0tag:blogger.com,1999:blog-12487577.post-58348141619599947512011-04-17T12:14:00.004-04:002011-09-21T22:11:01.079-04:00Obama Against PokerIf Obama can play poker with his Chicago cronies, how come the rest of us can't play it on line?<br /><br />Click on the headline for a news link from Reason.com. (The story was covered more dispassionately by most major news sources.)<br /><br />Fortunately, I only use play money online. So I haven't had any funds frozen by the Feds. But it pisses me off that I can't go to Poker Tilt any more. Its software and game options were far superior to games elsewhere. I also doubt that any of the real money players will be better off -- indeed, they are likely to be screwed -- because of this "fraud" investigation. Players were not defrauded, but their credit card charges said something other than "poker" because they wanted it that way, just as people using cards for sex or porn have more discreet charges shown; to my knowledge this is the only "fraud" in question.<br /><br />*******Update 9/21/11******* Now the Feds are claiming that Full Tilt was a ponzi scheme -- that the owners took out a lot of money and didn't maintain the account balances necessary for the players to actually have the money shown in their balance statements. I don't know if this will be claimed for, or shown, for the other two major sites shut down by the Feds, but obviously this is not a frivolous charge. I have found a pretty good site for play money (PokerStars); they still have cash games, but not for "my area." (Presumably the U.S. I personally wouldn't play for real money on line anyway.)DWPittellihttp://www.blogger.com/profile/02809996471988559374noreply@blogger.com0tag:blogger.com,1999:blog-12487577.post-60903099322905742732010-06-20T20:44:00.004-04:002010-06-21T00:58:48.219-04:00If The Windmill-Powered Casino on Greylock Never Gets Built<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_XoVeSLPbJ4o/TB7Kt8jpX-I/AAAAAAAAALE/wEuL3XNUROM/s1600/lunaring.jpg"><img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 320px; height: 132px;" src="http://1.bp.blogspot.com/_XoVeSLPbJ4o/TB7Kt8jpX-I/AAAAAAAAALE/wEuL3XNUROM/s320/lunaring.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5485044286882406370" /></a><br />A band of solar cells all around the moon? Beaming energy in the form of microwaves at the earth? A Lunatic idea. And Murphy's law would seem to dictate that we'd want to design a system so that, even if the beam were deliberately pointed at Manhattan, no one would suffer much inconvenience or heating (let alone instant, smoking death).<br /><br />But it's an idea that just might work, someday. At any rate, it's great that the modern world can fund and support NASA and academic (and even Japanese construction firm) scientists working on theoretically possible methods of achieving such a sustainable power source.<br /><br />Why solar power in space and not on Earth?<br />Clouds.<br /><br />Why the moon and not in closer, easier to get to, orbit?<br />1) Crowded space in the lowest orbits and in geosynchronous orbit.<br /><br />2) Panels in space would considerably shade Earth (but that might be a good thing if global warming becomes a problem).<br /><br />3) Cost. Cost. Cost.<br />Theoretically, at least, it could be cheaper to do it on the moon than closer to Earth.<br /><br />That's because even low-earth orbit is very expensive to obtain (at least $2,000 per pound of payload to low orbit), and geosynchronous orbit costs about 5 times as much. And costs are not going to fall much until or unless we have a cabled space elevator (for geosynchronous).<br /><br />It is, course, much more work to bring things and people to the moon. (We haven't done it recently, making cost estimates speculative.)<br /><br />The moon is 250,000 miles away, versus ~200 miles for a rather low orbit and 22,000 miles for geosynchronous orbit; but bringing the material to the moon would not be proportionately more expensive, as we see with geosynchronous orbit being 100 times higher, but only 5 times more expensive, than low orbit. (That's because the cost of getting a mass to low orbit is more set by the need to obtain 18,000 MPH orbital velocity, than by the need to merely lift it 200 miles.)<br /><br />More important, the Moon, unlike space, is filled with stuff. The trick is to design a system of mines and factories so that a modest amount of materials, robots and people sent to the moon can be be used to mine, smelt and manufacture that stuff into the materials needed to build a massive belt of solar cells all the way around the Moon's equator. (Half of the cells would be in the daylight at any given time; the power would be sent to the main Moon base, which position would always be facing the Earth.)<br /><br />Consider one way to bootstrap materials: instead of shipping all the water that the base would need, ship hydrogen, which could be used to grab the oxygen from various moon rocks, producing water weighing 9 times as much as the brought hydrogen, and simultaneously producing metals and other elements (e.g., aluminum, titanium, silicon) of perhaps twice the weight of the hydrogen.<br /><br />With silicon for solar cells, aluminum for electric transmission lines, and titanium for structural elements, you've got essentially everything you need to manufacture your enormous belt of solar cells.<br /><br />Once the moon base was making more solar power than needed to maintain itself and keep its humans alive, this power could be used to separate minerals without much need for additional resources from Earth. Then a growing proportion of the growing power supply could be sent to Earth by some form of electromagnetic radiation, such as light (laser) or microwaves. Lasers sound rather dangerous to me, whereas there ought to be some radio or microwave frequency that could be picked up by giant antennas, but which would mostly bounce off the Earth if they missed the antenna.<br /><br />While the Moon transmitter would need only one location (since the moon always keeps the same face to us), the Earth would have to have receivers in three locations, with each getting energy for about 1/3 of each 25-hour "day" when the moon was overhead. The energy received at each would in part be delivered as electricity for immediate use, and in part be stored, perhaps as synthesized fuels such as hydrogen or natural gas (used to generate electricity for the 2/3 of the time that no Moon energy would be arriving), or it could be delivered around the Earth by intercontinental electric transmission line.<br /><br />So, there are a few problems yet to solve... But this concept is the first I've ever heard that justifies the manned space program as more than just bread and circuses, but without the bread.DWPittellihttp://www.blogger.com/profile/02809996471988559374noreply@blogger.com0tag:blogger.com,1999:blog-12487577.post-62646111249219781462010-06-11T19:42:00.003-04:002010-06-11T19:52:41.257-04:00The Circle GameSometimes I'm amazed at what my children know, and sometimes I'm amazed at what they don't know.<br /><br />I attended a middle-school graduation ceremony today. The younger students, including my 8-year-old daughter, made up a chorus. Their last song was, as the music teacher informed us, a real tear-jerker -- "The Circle Game" by Joni Mitchell, with the chorus:<br /><br /><span style="font-style:italic;">And the seasons they go round and round<br />And the painted ponies go up and down<br />We're captive on the carousel of time<br />We can't return we can only look<br />Behind from where we came<br />And go round and round and round<br />In the circle game</span><br /><br />Women were wiping their eyes, and I was probably close to sobbing as well. The kids performed quite nicely, but I sensed that they had little idea of what the song was about. I asked my daughter later, "why do you think the song was sad?" Her answer: "because a man is stuck on a carousel?"DWPittellihttp://www.blogger.com/profile/02809996471988559374noreply@blogger.com0tag:blogger.com,1999:blog-12487577.post-11205155480132105922010-06-04T23:27:00.003-04:002010-06-04T23:51:19.800-04:00NY Times Says Circulation Holding Up to WSJ AssaultThat's the headline in a Bloomberg story of June 4 based on an interview with New York Times CEO Janet Robinson.<br /><br />"We are definitely not seeing any effect in regard to the circulation," Robinson is quoted. But if you read to paragraph 7 of the story, you learn that "The New York Times’s nationwide circulation fell 8.5% to 951,063 in the six months through March, while circulation at the Journal, which includes paying Internet readers, rose less than 1% to 2.09 million, data from the Audit Bureau of Circulations show."<br /><br />How can such a juxtaposition earn the headline "NY Times Says Circulation Holding Up to WSJ Assault" instead of something like "NY Times Official Puts Desperate Spin on Plummeting Circulation Figures"? (Which would itself be a pretty soft way of calling her a liar.)<br /><br />It's part of a pattern which could make left- and right-wing talking heads on Fox News look objective. Take a similar article from April 26, which includes this:<br /><br /><blockquote>Diane McNulty, a Times spokeswoman, attributed the lost print readership to a focus on “quality circulation and high retention rates,” saying the newspaper has kept most readers who have subscribed for two years or more. In an e-mail to employees today, New York Times Co. Chief Executive Officer Janet Robinson and Chairman Arthur Sulzberger Jr. said that “readers and advertisers are very loyal.” <br /><br />The Journal “will soon discover the intensity of that dedication,” they wrote. </blockquote><br /><br />So they haven't this year lost more than 50% of "readers who have subscribed for two years or more"? Is there anyone who would guess that things could be worse than that?<br /><br />The Times and sister-paper Boston Globe, like many other newspapers, are going down the tubes; demonstrating that they are run by fantasists certainly can't help matters, even if they have Bloomberg headline writers and the Obama Administration eager to bail them out.DWPittellihttp://www.blogger.com/profile/02809996471988559374noreply@blogger.com0tag:blogger.com,1999:blog-12487577.post-42482369865694890382010-03-28T19:55:00.009-04:002010-05-05T08:57:27.043-04:0016 Bean SoupI recently bought a bag of Goya’s “16 Bean Soup Mix.” It's basically a pound of mixed beans, with wonderful variation in size, color and texture. But when the soup was made as directed on the package, it was insipid. I fixed it by adding a chopped up onion, fried with spices. The soup was then delicious, but it called for some more vegetables, which I added the next time I made it.<br /><br />This is now the best and most nutritious vegan soup I’ve ever had. (And for this carnivore, pretty damn good even compared to a meaty soup.)<br /><br />Although I gave considerable thought to the pairing of flavors, I'd have to say that other than the beans, water and olive oil, you can probably get away with skipping any (or several) of the soup's ingredients. It is a bit labor intensive, but you also get a lot of soup, either for a big group meal, or for leftovers.<br /><br /><span style="font-weight:bold;">Ingredients:</span><br />1-lb. bag of 15- or 16-bean mix, e.g., Goya.<br /><br />2 or 3 bay leaves<br />1 or 2 cans vegetable [or chicken] broth<br /><br />1 large or 2 medium yellow onions, to be finely chopped<br />[optional serrano or other hot pepper, if you like your food spicy, to be finely chopped]<br />1/2 tsp ground pepper<br />1½ tsp cumin<br />1 tsp paprika<br />1½ tsp flour<br />2 Tbsp olive oil<br /><br />3 stalks celery, to be bisected and chopped into 1/8-1/4 inch thick pieces<br />15 ounce can Petite Cut or diced tomatoes<br />1 tsp salt<br /><br />3 carrots, to be chopped about 1/8-1/4 inch, and bisected if fat.<br />½ tsp curry<br />~1 Tbsp olive oil<br /><br />½ pound butternut squash, to be diced<br />1 tsp cinnamon<br /><br />1 bundle asparagus. Throw out base 40%. Chop the rest 1 cm long, except very tip, ~2 cm<br />1 cup cider<br /><br /><span style="font-weight:bold;">Preparation:</span><br />Soak beans that morning (if for dinner), or overnight (lunch).<br /><br />About 2½ hours before serving: Drain the beans; put in a soup pot; add bay leaves, broth and water to bring liquid to 4 cups; bring to a boil and then simmer, covered. Throughout, stir occasionally, adding water if necessary.<br /><br />Now you have a half hour or so to chop everything.<br /><br />In a bowl, combine onion [and pepper] with spices. In a large frying pan on medium heat, add 2 tablespoons of olive oil, and when hot, the onion mixture. Mix/flip with a spatula as needed. After frying to some brownness, add onion mixture to soup pot, leaving behind what oil you can. Also add celery, salt, and tomato to pot. It is now perhaps 1½ hours before serving.<br /><br />Now add olive oil to frying pan to bring it back to about 2 Tbsp. Brown the carrot/curry mixture, and then add to soup pot.<br /><br />Again add olive oil to bring back to about 2 Tbsp. Brown the diced squash/cinnamon mixture, and then add to soup pot.<br /><br />Continue to occasionally stir the simmering, covered pot.<br /><br />About 20 minutes before serving, add cup of cider and asparagus directly to the soup (no frying). Taste a spoonful (no asparagus, of course) and ponder the salt level and flavor. Keep the soup covered unless you think it needs to boil down.<br /><br />Most people will find the soup could use some more salt, so you can add some more if you know you don’t have anyone used to low-salt eating, or put a shaker on the table. If you like your food spicy you may also want to put a hot sauce or hot Indian cilantro chutney on the table, especially if you didn’t chop in hot pepper with the onions.DWPittellihttp://www.blogger.com/profile/02809996471988559374noreply@blogger.com0tag:blogger.com,1999:blog-12487577.post-69754666365888499802010-01-26T20:39:00.003-05:002010-01-26T20:50:56.723-05:00Moscow's Stray Dogs Evolving Greater Intelligence, Including a Mastery of the SubwayThis seems worrying:<br /><br /><span style="font-style:italic;">Poyarkov has studied the dogs, which number about 35,000, for the last 30 years. Over that time, he observed the stray dog population lose the spotted coats, wagging tails, and friendliness that separate dogs from wolves, while at the same time evolving social structures and behaviors optimized to four ecological niches occupied by what Poyarkov calls guard dogs, scavengers, wild dogs, and beggars.<br /><br />The guard dogs follow around, and receive food from, the security personnel at Moscow's many fenced in sites. They think the guards are their masters, and serve as semi-feral assistants. The scavengers roam the city eating garbage. The wild dogs are the most wolf-like, hunting mice, rats, and cats under the cover of night.<br /><br />But beggar dogs have evolved the most specialized behavior. Relying on scraps of food from commuters, the beggar dogs can not only recognize which humans are most likely to give them something to eat, but have evolved to ride the subway. Using scents, and the ability to <span style="font-weight:bold;">recognize the train conductor's names for different stops</span>, they incorporate many stations into their territories.<br /><br />Additionally, Poyarkov says the pack structure of the beggars reflects a reliance on brain over brawn for survival. In the beggar packs, <span style="font-weight:bold;">the smartest dog, not the most physically dominant, occupies the alpha male position</span>. <br /></span><br />Those Russians. Haven't they seen Planet of the Apes? What's to keep us from Planet of the Dogs? How quickly can intelligence and brain structures evolve? Does the Precautionary Principle require that we <span style="font-weight:bold;">kill them all</span>, before they enslave or kill us?DWPittellihttp://www.blogger.com/profile/02809996471988559374noreply@blogger.com2tag:blogger.com,1999:blog-12487577.post-35102706294677607822009-08-19T16:47:00.002-04:002009-08-19T16:58:04.529-04:00ProvincetownMy wife and I just spent two days in Provincetown (Cape Cod MA). It's one place where the bed & breakfasts' guests aren't stuffy couples in their 60s. Most of them did seem to be married, from Massachusetts or California before Prop 8.<br /><br />It's hot even on the Cape. I noticed most of the gays are wearing cargo shorts (with trimmer Madras shorts also fairly common) and sleeveless T-shirts, so I can continue to wear my fading collection without fear that I am hopelessly out of style.DWPittellihttp://www.blogger.com/profile/02809996471988559374noreply@blogger.com0tag:blogger.com,1999:blog-12487577.post-41599611224218644122008-12-15T19:19:00.004-05:002008-12-16T10:23:47.046-05:00Spinach and Egg Pie with BaconMy daughter ate a healthy meal tonight. Usually one has to point out that dessert is conditional on eating at least a serving of dinner, including vegetable, but tonight she ate so much dinner she had no room for pumpkin pie (a first in this house).<br /><br />This Spinach and Egg Pie is basically a quiche, except it makes its own crust. I have been experimenting with variants on such egg pies; this is my most successful by far:<br /><br />SPINACH and EGG PIE<br /><br />INGREDIENTS<br />* 5 pieces bacon<br />* 1/2 yellow onion<br /><br />* 8 large eggs<br />* 3 Tbsp flour<br />* 1 oz. parmesan, grated<br />* 1/2 cup milk<br />* 1/4 tsp salt<br />* 1/8 tsp nutmeg<br />* 2 grinds pepper<br /><br />* Butter<br /><br />* 2/3 bag of fresh baby spinach<br /><br />* 2 oz. cheddar<br /><br />DIRECTIONS<br /><br />* Preheat oven to 375F. (Or 340F if you don’t have a microwave.)<br />* Put steamer on stove with water to boil.<br /><br />* Put bacon in skillet at medium.<br />* Finely chop onion and fry with bacon<br /><br />* Remove the onion bits when lightly browned, to cool.<br />* Chop the bacon when cooked.<br />* Meanwhile, combine egg group 7 ingredients in bowl.<br /><br />* Add cooled onion to egg bowl.<br />* Puree with immersion blender, or whisk (if eaters don’t mind little pieces of onion).<br /><br />* Butter 2 liter Pyrex pan (11” * 7”)<br /><br />* Pour a thin layer of egg mixture into pan, put in oven until set.<br /><br />* Meanwhile, steam the spinach until just limp.<br /><br />* Add bacon on top of set egg layer<br />* Add spinach on top of bacon.<br />* Pour rest of egg mixture over spinach.<br />* Grate cheddar on top.<br /><br />* Microwave for 2 minutes on high, turn and microwave a second 2 minutes.<br />* Bake for 15 minutes at 375 F, then check for doneness.<br />(If no microwave, instead cook at 340 F for 30 minutes).DWPittellihttp://www.blogger.com/profile/02809996471988559374noreply@blogger.com0tag:blogger.com,1999:blog-12487577.post-9773883014625174932008-06-18T22:59:00.004-04:002008-12-09T02:55:28.854-05:00Pink and Purple Season<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_XoVeSLPbJ4o/SFnNAWjA6EI/AAAAAAAAAHA/H_imPB-je8U/s1600-h/HPIM2847.JPG"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://1.bp.blogspot.com/_XoVeSLPbJ4o/SFnNAWjA6EI/AAAAAAAAAHA/H_imPB-je8U/s320/HPIM2847.JPG" alt="" id="BLOGGER_PHOTO_ID_5213423449594193986" border="0" /></a>The early yellows (Narcissus) are gone, and now it's pink and purple (and mauve) season, at least in my garden, featuring Dianthus (pinks, lower left), Iris, Allium (chives), Lupinus, and Tradescantia (purple near the center, bright pink to extreme right). Not shown: Perovskia (Russian sage), Nepeta (catmint), Digitalis (foxglove). Photo taken June 12; today the clumps of low Sedum (in wall, lower right) showed visible yellow buds, and Alchemilla (ladies' mantle) was starting its chartreuse bloom. Warmer yellows, reds and oranges will become more common over the summer, with Hemerocallis (daylily) and various daisies taking the lead. This seems the most common color progression. Perhaps you have a different scheme?DWPittellihttp://www.blogger.com/profile/02809996471988559374noreply@blogger.com3tag:blogger.com,1999:blog-12487577.post-25270052598780252712008-05-05T21:38:00.003-04:002008-05-05T22:16:52.463-04:00Frost, Death and GrowthPlant growth is most notable at this time of year, when above-ground growth is just taking off. It was clear in my garden, as from the weather report, that today was the first significant growing day in about a week. For most plants, growth follows temperature in an almost linear response, from zero growth at 40F to maximum growth at 80F (leveling off suddenly, with distress beginning at 86F.)<br /><br />What had shut things down, of course, was that after weeks with much warmth and without frost, we got a 25F frost in Adams last week, followed by cold and clouds. The frost had been predicted at least 5 days ahead of time on weather.com, and so I was ready, and put inverted buckets over the two Weigela "bushes" (a few inches high) I made from cuttings last June. The plants had overwintered successfully, and are generally considered hardy to zone 4, but I wanted to be sure of their safety. Fresh spring growth is far more sensitive to frost than is a dormant plant (if that weren't true, the plants wouldn't bother going dormant now, would they?), and tiny cuttings are less likely to have reserves of energy and bud tissue if they lose their growing ones.<br /><br />As it happens, none of my other bushes or perennials suffered any significant setback -- a trivial one is mentioned below -- so I probably hadn't needed to protect the Weigelas. (Not that there was a downside to doing so.)<br /><br />But I had forgotten to protect the one plant obviously sensitive to cold - a just-planted blooming pot marigold (<span style="font-style: italic;">Calendula</span>), which was entirely turned to mush. Not valuing annuals much, or at any rate, not being afraid of losing them, I did not give any thought to that plant even though it was the only thing I had really blooming except for some of my daffodils, and even though it's native to the Mediterranean and Middle East.<br /><br />So what was damaged? The bleeding heart (<span style="font-style: italic;">Dicentra spectabilis</span>), the one plant which was just starting to open its blooms (the earliest blooming perennial of significant size, to my knowledge, and a great plant in part for this timing), seemed to have had its flowers shriveled a bit even though the plant itself is hardy to zone 3. The flowers and top-growth are still a bit small and limp, but not dead.<br /><br />Finally, most of the pink magnolia trees in the area saw their magnificent flowers turn to brown mush overnight. Perhaps they had another week in them. <span style="font-style: italic;">Magnolia x soulangeana</span> is hardy to zone 5, but those ratings refer to the plant's reliably not dying, not to its never losing flower buds.<br /><br />Speaking of hardiness, I once had a conversation with a local woman who told me that she had planted some Gladioli and then never lifted their bulbs, and yet they came back strong for a couple years, until a (probably colder) winter killed them off. I left some Glads in the ground last fall, since the late-planted ones would probably not have the energy to bloom again this year anyway, I felt like trying something else in their place, I am always looking to experiment, and I am lazy.<br /><br />As it happens, those Gladioli in the normal ground position and in turf all died (nothing came up), while one I had planted in the best-drained position possible (in loose earth just inside the loose rock wall of a 2-foot-high raised bed) has come back this spring, although apparently having split into separate little bulbs (there are several growing points). This makes sense. I had read (e.g., by the late Christopher Lloyd, IMHO the greatest of garden writers) that for many such Mediterranean plants, hardiness is more a matter of drainage than of absolute temperatures. (This winter's snow cover may also have helped.)<br /><br />Does anyone know of anything else damaged by last week's frost, or have a surprising tale of hardiness?DWPittellihttp://www.blogger.com/profile/02809996471988559374noreply@blogger.com1tag:blogger.com,1999:blog-12487577.post-29659889326649992752008-04-23T20:21:00.002-04:002008-04-23T20:24:37.079-04:00Forsythia Time, And the Garden is NeedyWell, tree budding seems to be about two weeks earlier than average. More specifically: The Forsythia are blooming – and this is perhaps the most useful harbinger of spring, and of several spring chores. <p class="MsoNormal">When the Forsythia are blooming it is time to:</p> <p class="MsoNormal">1) Spread pre-emergent herbicide on your lawn, if you do it at all.</p> <p class="MsoNormal">2) Divide Hostas and most other perennials.</p> <p class="MsoNormal">3) Fertilize your bushes, if you do it at all.</p> <p class="MsoNormal">4) Prune your bushes, which you really ought to do if it has been more than a couple years.</p> <p class="MsoNormal"><span style="font-weight: bold;">1) Lawn Work</span><br />If, unlike me, you care about having a green, uniform grass lawn, you may choose to spread pre-emergent herbicide on your lawn. Such chemicals kill the sprouting seeds which annual weeds rely upon to regenerate, but do not kill lawn grass or other perennials. Still, they are potentially toxic chemicals. Except for corn gluten. Regular corn gluten is an effective pre-emergent herbicide, which also provides Nitrogen and Phosphorus (NPK of 9-1-0). It is sold in garden centers, but not, the last time I looked, in places like Home Depot. If you are to use corn gluten or any pre-emergent herbicide, you really should do it this weekend, before most of the weeds have sprouted.</p> <p class="MsoNormal"><span style="font-weight: bold;">2) Divide Hostas</span><br />Most Hostas are an inch or two tall as of today. It’s easy to see where they are, and even which ones are variegated, dark blue, etc. Now is the time to cut a chunk out of a Hosta, and plant it somewhere else, preferably with half-sun or less, in rich and humusy earth. (A week ago was fine too, but the job becomes much more destructive of the plants once they are all up and flopping about.) <span style=""> </span>Fill the hole up with rich soil, or soil mixed with composted cow manure, water immediately, and water every couple days in dry weather (which we have been having).</p> <p class="MsoNormal">Most other perennials can be similarly treated. There are perennials which don’t like to be disturbed, but all those which spread, and/or form “donut” shapes by expanding while their middle goes into decline, are suitable for propagation by shovel, and most even benefit from the shovel and subsequent soil enrichment. (Throw out the dead middle of any donut-shaped plant.)</p> <p class="MsoNormal"><span style="font-weight: bold;">3) Fertilize Bushes</span><br />This is most important with sheared plants such as hedges and most foundation plantings of yew, because shearing removes a lot of nutrients over time. But most shrubs in most locations would benefit from some fertilizer, be it a top-dressing of composted cow manure, some other rich compost, or a granular product (ideally, with at least some leaf compost or peat moss or a natural bark mulch which can break down and add organic material to the soil). If you have Rhododendrons (that includes azaleas), Pieris/andromeda, Kalmia/mountain laurel, Vaccinium (e.g., blueberry) and Erica & Calluna/heath & heather (apart from variegate Euonymous, most broad-leaved evergreens are in this family, the Ericaceae), then I recommend the Holly-Tone acidifying fertilizer, especially if you garden in a limestone area, such as most sites in the Northern Berkshires. Read the instructions. Don’t apply more than recommended. Instead, apply that amount, or half as much. You may repeat such treatment in early summer, but for most plants this second treatment should not be delayed past mid-July, lest you encourage lush growth which will fail to harden before an early frost. Note that many shrubs, notably Rhododendrons, have very shallow roots, so you should not try to dig fertilizers in.</p> <p class="MsoNormal"><span style="font-weight: bold;">4) Prune Bushes – Especially Hydrangeas</span><br />Pruning bushes is especially important for those with a tendency to build up congested and dead wood, such as most Hydrangeas. But almost any shrub needs pruning if it hasn’t gotten it in the last 2 or 3 years.</p> <p class="MsoNormal">Pruning is needed for a number of overlapping reasons:<br />To remove dead, diseased or damaged wood<br />Remove rubbing or crossed branches<br />Open up the center to air and light<br />Make physical space for new buds to grow<br />Increase flowering or fruiting<br />Remove non-variegated reversions<br />Make the shrub more compact or a certain shape, to fit a spot or allow views out a window.<br />Make the shrub more compact, to look less scraggly<br />Deal with a fungal, bacterial or insect problem</p> <p class="MsoNormal"><span style="font-weight: bold;">Don’t Fear Radical Pruning</span><br />Even more so than with carpentry, there are several tools for removing wood, none for putting it back. But shrubs are far more forgiving than trees. You don’t have to worry about making multiple cuts so the branch won’t tear out of the trunk. You don’t have to worry about killing yourself. And you don’t have nearly as much reason to worry even about killing the plant. Shrubs aren’t just smaller than trees, they also tend to have multiple stems, and the ability to readily sprout new stems from the ground or close to the ground. </p> <p class="MsoNormal">It is very hard to kill a shrub or permanently make one ugly due to pruning. Cutting a shrub all the way to the ground could kill it if hot dry weather ensues and you don’t water it daily, or if the shrub has no dormant buds near its base. But any shrub without such buds would be short-lived anyway, as it would not be able to replace old or damaged stems (e.g., lavender and some other woody herbs, and brooms, quick-growing plants most of which aren’t reliably hardy here anyway.)</p> <p class="MsoNormal">There are a few rules to follow, but usually there’s no need to commit to a particular course of action when you start pruning. You first cut out the dead wood, clean out any refuse, and remove any intruders (weeds, seedlings, aggressive neighbors). With the lines of the shrub’s living wood revealed, you may now see that it’s a hideous misshapen mess. In that case, you may go straight to “radical pruning” – to cutting the plant to within an inch of the ground, or to a foot or so of trunk for those with a single trunk at their base (Rhodies, again). More likely, you’ll be merciful to the plant, because a hideous bunch of stems in April can still become a beautiful shrub once it’s leafed out and made new growth. But you will likely see that the remaining plant could still be reduced by a third (or perhaps even two-thirds). So you will remove some of the oldest stems (thicker, or with rougher bark), and you will remove stems with ugly scars or possible signs of disease or infestations.</p> <p class="MsoNormal">If the plant is in leaf, and has leaves which are variegated or in colors other than green, you should remove any reversions to solid green. Most variegated cultivars will show such reversions over time. Even if you like the striking combination of areas of green contrasting with areas of a finer two-tone look, it is often best to remove the sold-green leaves since they will likely out-compete the rest of the plant.</p> <p class="MsoNormal">For shrubs, like most Hydrangeas, with branches sprouting from the ground, almost all of your cuts will be to the ground. Easy, apart from the possible difficulty of reaching your clippers into the space. For other shrubs, with one or a few trunks which divide as they go up, you will be cutting higher up. Just remember not to cut a branch to some random point along its length, or to where you think that will make the shrub the right overall size. Instead, cut to where the branch sprouts from a larger branch, to just outside any branch collar (the swelling around the base of a branch).</p>DWPittellihttp://www.blogger.com/profile/02809996471988559374noreply@blogger.com4tag:blogger.com,1999:blog-12487577.post-48887452289449658142008-01-05T11:43:00.000-05:002008-01-05T11:50:10.831-05:00Ode to My LazinessI'd like to say<br />that I've been busy.<br />Putting up Yule lights<br />and trimming trees.<br />But the house was dark,<br />we holidayed on the Cape,<br />My only active pursuit<br />cooking a few meals,<br />and donating old toys and clothes<br />in time for a 2007 tax deduction.<br />The firebush can wait.<br />My wife is a redhead,<br />but that's not what I meant and you have a dirty mind.<br />Perhaps 2008 will be different.DWPittellihttp://www.blogger.com/profile/02809996471988559374noreply@blogger.com1tag:blogger.com,1999:blog-12487577.post-90073726081329021582007-11-19T21:48:00.001-05:002008-12-09T02:55:29.382-05:00Who does this look like?What is up with the U.S. Mint? Is commemorating the infamous Ron Jeremy some sort of sick joke? Should the citizens of Massachusetts start dressing up like Native Americans and throwing these coins into the sea? I'm just asking...<br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_XoVeSLPbJ4o/R0JLLD8sKCI/AAAAAAAAAGQ/Ewyb3XtLWfI/s1600-h/JohnAdams.jpg"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 173px; height: 201px;" src="http://1.bp.blogspot.com/_XoVeSLPbJ4o/R0JLLD8sKCI/AAAAAAAAAGQ/Ewyb3XtLWfI/s320/JohnAdams.jpg" alt="" id="BLOGGER_PHOTO_ID_5134749178566289442" border="0" /></a><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_XoVeSLPbJ4o/R0JLGT8sKBI/AAAAAAAAAGI/qF55BYqv3D0/s1600-h/pic4Presidents.jpg"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://2.bp.blogspot.com/_XoVeSLPbJ4o/R0JLGT8sKBI/AAAAAAAAAGI/qF55BYqv3D0/s320/pic4Presidents.jpg" alt="" id="BLOGGER_PHOTO_ID_5134749096961910802" border="0" /></a><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_XoVeSLPbJ4o/R0JLTD8sKDI/AAAAAAAAAGY/WLEKNVsXdzQ/s1600-h/ron-jeremy.jpg"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://1.bp.blogspot.com/_XoVeSLPbJ4o/R0JLTD8sKDI/AAAAAAAAAGY/WLEKNVsXdzQ/s320/ron-jeremy.jpg" alt="" id="BLOGGER_PHOTO_ID_5134749316005242930" border="0" /></a>DWPittellihttp://www.blogger.com/profile/02809996471988559374noreply@blogger.com6