Pages

Saturday, January 26, 2013

Animal Theory Unleashed in 2013

One year ago, in recognition of a turn in animal theory over the last several years I created a post called "Animal Theory, Going Feral in 2012." The most exciting trend included advocating for animal others from critical (Critical Theory and Animal Liberation), ecofeminist (Social Lives with Animals), and citizenship theory (Zoopolis) as matters of interspecies justice in contrast to moral rights. In addition, a collection of more nuanced explorations of the ethics of human-animal relations (Animal Kind, Beyond Animal Rights, Animals in Context) as well as an unprecedented piece on plant ethics (Plants as Persons) joined the ranks of the rigorous, groundbreaking classics (Animal Liberation, Case for Animal Rights), but arguably outdated, abstract approaches.

Innovative explorations and comprehensive presentations of human-animal relations are still a comin'. The last half of 2012 and the first half of 2013 may prove to be just as rewarding as the last few. I'm particularly excited about Margo DeMello's Animals and Society, which from a glance over the table of contents seems to map a brilliant trajectory for thinking through the history, social context, and ethics of human-animal relations. Another well-welcomed book is Ryan Hedinger's Animals and War, which touches on a much neglected subject in critical animal studies: the fraternal [sic] participation and subjection of animals as agents in human warfare. Likewise, Juliet Clutton-Brock's Animals as Domesticates seems like refreshing and comprehensive examination of the history of domestication which dos not reduce animals to the role of hapless object in the popular narrative of monolithic human domination favored by advocates and adversaries of animal rights.

In addition, several books explore the construction of the modern human subject and contemporary political systems through the non-criminal violence against animal others and biopolitics of demarcating who is a proper (human) political subject. In Animalia Americana, Colleen Glenney Bogg's tracks the construction of humanity throughout American history from bestiality trials to slave narratives to contemporary feminist theory. Karl Steel's How to Make a Human excavates the violent making of "humanity" in Medieval Europe in contrast to the larger body of literature on the emergence of "humanity" in Ancient Greece and Modern England and France. There is also Cary Wolfe's work, Before the Law, which ought to attract the attention of those interested in continental political theory. And before one assumes deconstructing the border between human and animal is sufficient, consider checking out two more books dedicated to the value of plants, from Daniel Chamovitz's fascinating presentation of plant abilities in What a Plant Knows to Michael Marder's challenging Plant-Thinking.

After so many years mucking through dense theory that doesn't offer itself to political action, I'm enthusiastic for upcoming contributions on tying lived experience with animal advocacy. More than any other animal book this year, I'm highly anticipating Defiant Daughters. The book, edited by Kara Davis and Wendy Lee, focuses on a diversity of women's relationship with a diversity of animal others, including those of queers, differently abled women, and women of color. Norm Phelp's e-book, Changing the Game, genuinely addresses the inherent challenges (and differences) of advocating on behalf of animal others as well as "the rising economic, political, and cultural power of nations such as China, India, and Brazil." Finally, if you missed it, Nick Cooney's Change of Heart might be well worth a read for its presentation of empirical evidence on how to be an effective agent for change.

If you are interested in contributing a book summary and review to be posted on this blog or in the Journal for Critical Animal Studies, please send an email or comment below.

Also, please check out the updated Critical Animal Studies Resource List!

Read more »

Thursday, January 24, 2013

Lyme disease data

The Maine Tracking Network now includes Lyme disease data.


As the third most commonly reported infectious disease in Maine, Lyme disease poses a significant health risk to people in all parts of Maine. The availability of Lyme disease data on the Maine Tracking Network will raise awareness of the disease and help promote primary prevention of the disease and recognition of the signs of early-stage Lyme disease.

The Maine Tracking Network is a web-based data portal that lets users explore some of Maine's public health data and create customized reports, by geographic area, time period, age group, etc., using analysis and visualization tools.

Maine Tracking Network now has data for 10 public health topics, including asthma, childhood lead poisoning, heart attack, carbon monoxide poisoning, and birth outcomes. Lyme disease data were made available on the network after many months of work and collaboration between members of Maine CDC’s Divisions of Environmental Health, Public Health Systems, and Infectious Disease.

These data can be accessed at: http://go.usa.gov/4Zgw For direct access to the Maine Tracking Network: https://tracking.publichealth.maine.gov

Sunday, January 20, 2013

Translating Weird R Errors


I love R. I think it's intuitive and clever and overall a great language. But I do get really annoyed sometimes at the completely ridiculous, cryptic error messages it often gives me.  This post will go over some of those seemingly nonsensical errors so you don't have to go crazy trying to find the bug in your code.

1. all arguments must have the same length

To start with, I just make up some quick data:

prob1<-as.data.frame(cbind(c(1,2,3),c(5,4,3)))
colnames(prob1)<-c("Education","Ethnicity")

And now I just want to do a simple table but I get this error:






What the heck. I look back at my dataset and make sure that both those variables are the same length, which they are. The problem here is that I misspelled "Education".  There's a missing "a" in there and instead of telling me that I referenced a variable that doesn't exist, R bizarrely tells me to check the length of my variables. Remember: Anytime you get an error, check to make sure you've spelled everything right. 

If I do this, everything works out great:
table(prob1$Education, prob1$Ethnicity)


2. replacement has 0 rows, data has 3

A very similar problem, with a very different error message. Let's say I forgot what columns were in my prob1 data and I thought I had a Sex indicator in there. So I try to recode it like this:

This error message is also pretty unhelpful. The syntax is totally correct; the problem is that I just don't have a variable named Sex in my dataset. If I do this instead to recode education, a variable that exists, everything is fine:

prob1$Educ_recode<-as.numeric(prob1$Education==2)


3. undefined columns selected

Ironically, the error we so badly wanted before comes up but for a completely different reason. See if you can find the problem here.  I'll take that same little dataset and I just want to know how many rows there are in which Education is not equal to 1.

So, if I want to know the number of rows of the dataframe prob1, I do:

nrow(prob1)

and if I want to know how many have a value of Education not equal to 1, I do the following (incorrectly) and get an error:






Now I check my variable name and I've definitely spelled Education right this time. The problem, actually, is not that I have referenced a column that doesn't exist but I've messed up the syntax to the nrow() function, in that I haven't defined what columns I want to subset.  When I do,

prob1[prob1$Education!=1]

this doesn't make any sense, because I'm saying to subset prob1 but to do this I have to specify which rows I want and which columns I want.  This just lists one condition in the brackets and it's unclear whether it's for the rows or columns.  See my post on subsetting for more details on this.

If I do it the following way, all is good since I'm saying to subset prob1 with only rows with education !=1 and all columns:

nrow(prob1[prob1$Education!=1,])

So this error message does make sense in a way, but it's still a bit cryptic in my opinion.


Monday, January 14, 2013

For loops (and how to avoid them)

My experience when starting out in R was trying to clean and recode data using for() loops, usually with a few if() statements in the loop as well, and finding the whole thing complicated and frustrating.

In this post, I'll go over how you can avoid for() loops for both improving the quality and speed of your programming, as well as your sanity.

So here we have our classic dataset called mydata.Rdata (you can download this if you want, link at the right):



And if I were in Stata and wanted to create an age group variable, I could just do:

gen Agegroup=1
replace Agegroup=2 if Age>10 & Age<20
replace Agegroup=3 if Age>=20

But when I try this in R, it fails:







Why does it fail? It fails because Age is a vector so the condition if(mydata$Age<10) is asking "is the vector Age less than 10", which is not what we want to know.  We want to ask, row by row is each element of Age<10, so we need to specify the element of the vector we're referring to. We don't specify the element and thus we get the warning (really, error), "only the first element will be used."  So when this fails, the first way people try to solve this problem is with a crazy for() loop like this:

###########Unnecessarily long and ugly code below#######
mydata$Agegroup1<-0

for (i in  1:10){
  if(mydata$Age[i]>10 & mydata$Age[i]<20){
    mydata$Agegroup1[i]<-1
  }
  if(mydata$Age[i]>=20){
    mydata$Agegroup1[i]<-2
  }
}

Here we tell R to go down the rows from i=1 to i=10, and for each of those rows indexed by i, check to see what value of Age it is, and then assign Agegroup a value of 1 or 2.  This works, but at a high cost - you can easily make a mistake with all those indexed vectors, and also for() loops take a lot of computing time, which would be a big deal if this dataset were 10000 observations instead of 10.

So how can we avoid doing this?

One of the most useful functions I have found is one that I have referred to a number of times in my blog so far - the ifelse() function.  The ifelse() function evaluates a condition, and then assigns a value if it's true and a value if it's false.  The great part about it is that it can read in a vector and check each element of the vector one by one so you don't need indices or a loop. You don't even need to initialize some new variable before you run the statement.  Like this:

mydata$newvariable<-ifelse(Condition of some variable,
                    Value of new variable if condition is true
                    Value of new variable if condition is false)

so for example:

mydata$Old<-ifelse(mydata$Age>40,1,0)

This says, check to see if the elements of the vector mydata$Age are greater than 40: if an element is greater than 40, it assigns the value of 1 to mydata$Old, and if it's not greater than 40, it assigns the value of 0 to mydata$Old.

But we wanted to assign values 0, 1, and 2 to an Agegroup variable.  To do this, we can use nested ifelse() statements:

mydata$Agegroup2<-ifelse(mydata$Age>10 & mydata$Age<20,1,     
                  ifelse(mydata$Age>20, 2,0))

Now this says, first check whether each element of the Age vector is >10 and <20.  If it is, assign 1 to Agegroup2.  If it's not, then evaluate the next ifelse() statement, whether Age>20.  If it is, assign Agegroup2 a value of 2.  If it's not any of those, then assign it 0.  We can see that both the loop and the ifelse() statements give us the same result:


You can nest ifelse() statement as much as you like. Just be careful about your final category - it assigns the last value to whatever values are left over that didn't meet any condition (including if a value is NA!) so make sure you want that to happen.


Other examples of ways to use the ifelse() function:
  • If you want to add a column with the mean of Weight by sex for each individual, you can do this with ifelse() like this:
mydata$meanweight.bysex<-ifelse(mydata$Sex==0,  
               mean(mydata$Weight[mydata$Sex==0], na.rm=TRUE),         
               mean(mydata$Weight[mydata$Sex==1], na.rm=TRUE))



  • If you want to recode missing values:
mydata$Height.recode<-ifelse(is.na(mydata$Height),
                      9999, 
                      mydata$Height)

  • If you want to combine two variables together into a new one, such as to create a new ID variable based on year (which I added to this dataframe) and ID:
mydata$ID.long<-ifelse(mydata$ID<10, 
                paste(mydata$year, "-0",mydata$ID,sep=""), 
                paste(mydata$year, "-", mydata$ID, sep=""))



Other ways to avoid the for loop:

  • The apply functions:  If you think you have to use a loop because you have to apply some sort of function to each observation in your data, think again! Use the apply() functions instead.  For example:
  • You can also use other functions such as cut() to do the age grouping above. Here's the post on how this function works, so I won't go over it again, except to say if you convert from a factor to a numeric, *always* convert to a character before converting it to numeric:
mydata$Agegroup3<-as.numeric(as.character(cut(mydata$Age, c(0,10,20,100),labels=0:2)))


Basically, any time you think you have to do a loop, think about how you can do it with another function. It will save you a lot of time and mistakes in your code.


Sunday, January 6, 2013

Folic Acid Awareness

January 6-12 is National Folic Acid Awareness Week. Adequate folic acid intake is important for the prevention of birth defects.


Facts About Folic Acid

Folic acid is a B vitamin. Our bodies use it to make new cells. Everyone needs folic acid.


US CDC urges women to take 400 mcg of folic acid every day, starting at least one month before getting pregnant, to help prevent major birth defects of the baby's brain and spine.

Why folic acid is so important

Folic acid is very important because it can help prevent some major birth defects of the baby's brain and spine (anencephaly and spina bifida).

When to start taking folic acid

For folic acid to help prevent some major birth defects, a woman needs to start taking it at least one month before she becomes pregnant and while she is pregnant.

Every woman needs folic acid every day, whether she’s planning to get pregnant or not, for the healthy new cells the body makes daily. Think about the skin, hair, and nails. These – and other parts of the body – make new cells each day.

How a woman can get enough folic acid

There are two easy ways to be sure to get enough folic acid each day:

1. Take a vitamin that has folic acid in it every day.

Most multivitamins sold in the United States have the amount of folic acid women need each day. Women can also choose to take a small pill (supplement) that has only folic acid in it each day.

Multivitamins and folic acid pills can be found at most local pharmacy, grocery, or discount stores. Check the label to be sure it contains 100% of the daily value (DV) of folic acid, which is 400 micrograms (mcg).


2. Eat a bowl of breakfast cereal that has 100% of the daily value of folic acid every day.

Not every cereal has this amount. Check the label on the side of the box, and look for one that has “100%” next to folic acid.

Saturday, January 5, 2013

The Truth About Dietary Fat

http://kampoengtahes.blogspot.com/
Dietary fat frequently gets a bum rap. Eating fat doesn't make you overweight, just as eliminating it doesn't make you thin. There are many factors that go into a weight loss program, and understanding the different types of dietary fat is important.

Think of fat as stored energy. A calorie is a measure of energy, and for each 1 gram of dietary fat you eat, you will be consuming 9 calories. This is true of all types of fat, healthy or not. For comparison, 1 gram of carbohydrates or 1 gram of protein is 4 calories. However, just because fat is higher in calories than carbohydrates or protein, it is not necessarily bad for you or your waistline - in fact achieving a good balance between the these three macronutrients is essential to any weight loss program and many basic bodily functions rely on dietary fat to work properly; though it's still important to understand the various types.

Saturated Fat

This type of fat is solid at room temperature, meaning it's also solid inside your body. Saturated fat is most prevalent in meat and dairy products, so you should work to limit your intake by purchasing lean meats, low fat or even skim milk, and reduced fat cheeses. However, saturated fat should not be eliminated from your diet altogether - it's still vital for your survival! The CDC recommends that someone on a 2000 calorie diet eat about 20 grams of saturated fat daily.

Monounsaturated Fat (MUFAs)

MUFAs are found in a variety of foods and oils. Research suggests that this kind of fat can actually help the body regulate its blood sugar and insulin levels, and it's also been shown to help lower cholesterol.

Polyunsaturated Fat (PUFAs)

You've probably heard that omega-3 fatty acids, which are one type of polyunsaturated fat, are especially good for heart health. You can find these healthy PUFAs in vegetable based oils, nuts and some fish.

Trans Fat

I saved the worst for last - trans fat is the only type of fat you should work to completely eliminate from your diet. It is found naturally in a few foods, but you should mostly be looking out for vegetable oil that has been altered to improve its shelf life.

Nutrition for Football

http://kampoengtahes.blogspot.com/Body composition is very important for a football player. This means you should have a low percentage of body fat and good levels of muscle mass. To achieve this it is important to focus on human nutrition rather than "sports nutrition."

Being lean is important as body fat needs to be oxygenated. Having high body fat means that you have a lower percentage of oxygen going to your heart, brain and muscles essentially diminishing your V02 max. Second, the more fat you have the lower your strength to body weight ratio is meaning you have less functional strength and speed on the pitch. Lastly, fat is not just an unsightly inert reservoir of energy that sits on your love handles.

Fat releases a number of chemicals that can affect your appetite; and create inflammation and insulin resistance. They release chemicals that clot your blood, increase your blood pressure and narrow your arteries and they convert male hormones to female hormones, which is not good if you are a man.

Good human nutrition encompasses eating regular meals, with good sources of protein, lots of vegetables and cutting out junk foods that are touted as "performance foods."

Food provisions at breakfast 

Eating breakfast is paramount for football players. A study published in the European Journal of Clinical Nutrition in 2010 demonstrated that of over 4,000 UK secondary school children 32 percent did not eat breakfast and were more likely to be overweight and obese. The content of a healthy breakfast is debatable with the government, mass media and many sporting bodies promoting junk foods as healthy "sports nutrition". The Nutrition for Football Conference held at FIFA House in Zurich in September 2005included common breakfast foods such as cereal with milk, flavoured yoghurt and fruit smoothies in its list of nutrient-rich carbohydrate foods.

The Australian institute of Sport also recommends foods such as crumpets with jam or honey, flavoured milk, baked beans on toast and breakfast cereals as healthy pre training breakfasts and snacks. These foods are indeed carbohydrate rich, however what seems to be completely missed is these foods are high in processed sugar, contain gluten, dairy and other common food intolerance's and are generally poor providers of essential fats, protein, fibre, vitamins and minerals.

Better examples of healthy breakfasts include porridge, scrambled eggs on whole grain (preferably gluten free) toast, an omelette or some meat or fish with nuts and vegetables.

Food provisions at lunch and dinner

Various researchers have estimated the calorie intake of footballers to be between 2,600 and 3,952 calories a day. Considering that The Department of Health recommends a calorie intake of 1940 calories per day for women and 2550 for men, it seems football players don't necessarily need to consume a great deal more than the average person.

Conventional nutrition advice is for a high carbohydrate, moderate protein and low fat diet for footballers; however this dietary advice leaves a lot to be desired. The over reliance on carbohydrates, particularly starchy and processed carbohydrate such as potatoes, pasta and rice, can leave players with high body fat, high cholesterol and problems with insulin sensitivity. There may also be nutrient deficiencies due to the huge demand on the body for zinc, magnesium and B vitamins to convert food to energy and for other nutrients that act as antioxidants that won't be provided by nutrient deficient processed carbohydrates. Functional nutrition and medicine testing has demonstrated this time and again in elite football players.

Friday, January 4, 2013

Go Organic

http://kampoengtahes.blogspot.com/It used to be that when you heard organic, you thought of dirty, long-haired, chanting, barefoot hippies running around the commune. Well, I shower a couple of times a day, I shave my head, I cannot sing, I rarely go outside without shoes, and I live in a pretty modern single-family home with just my wife. And I am organic!

When you go to the store, you will notice lots of labels, organic, natural, free-range, non-GMO, etc. We are going to focus on organic, but if you want more info visit the USDA website.

So what is organic? The USDA strictly controls what can be labeled as organic. It basically certifies that crops are free of irradiation, sewage sludge, synthetic fertilizers, prohibited pesticides, and genetically modified organisms. Livestock must meet animal health and welfare standards and be free of antibiotics, growth hormones, and have been fed 100% organic feed. Products that contain multiple ingredients have 95% or more certified organic content.

So why is this nutritionally important? All you need to do is count calories and track your percentages of fats, carbohydrates and protein, right? Well what about the chemicals and toxins? They cannot be good for you. But they could not sell it if it was not safe, right? Safe is a relative term. Companies are always looking for ways to increase profits. The methods that they use do get reviewed and approved, but do not generally enjoy long-term comprehensive studies. They are deemed safe for the general population. But what does not affect one person, might be detrimental to another. And who knows what effect the years of accumulation and combination of all those artificial compounds will have. So why take the chance?

So here is my story. My wife and I are both allergic to dust, pollen, etc. Well one summer a few years ago, she was having a lot of problems with her allergies but I was fine. She seemed to get worse after meals. So she decided to investigate potential food sources through an elimination diet (it turned out to be wheat). At the same time, we decided to eat more organic foods to try and help eliminate other sources.

After being on it for a couple of months, I had to go out of town on business. We had to eat out of course. I felt terrible after the trip. I was really run down and my stomach was bothering me. I was only gone a couple of days, and I did not leave the country. After a couple of days I was back to normal. A couple of months later I had to travel again and the same exact thing happened. It finally occurred to me that my system just was not used to all of the preservatives, hormones, dyes, etc. By eating organic, I had essentially purged myself of all of the junk. So now anytime I eat a lot of non-organic food, I can tell.

One more story. I was recently contacted by a new on-line weight loss company. They are going to sell pre-packaged foods with a point system. When I inquired as to whether they used organic ingredients or not, the response pretty much said it all.

They referred to organic as a "specialty" market. And there is the problem. How in the world can food that is so pure and in its original form be considered "special"? But that is commercialism. As long as we can promise something like weight loss, we can sell any quality of food that we like to the masses.

http://kampoengtahes.blogspot.com/They also said that their customers enjoyed "real" food. Well it does not get more "real" than organic. Side note, based on their website, they have not launched yet, so I wonder who exactly these customers were. And they would not provide me with the credentials of the people that developed the menu.

Now let's talk dollars and cents. Organic foods get a bad rap for being more expensive. My counter-argument is always, why not take the money spent on doctors, prescriptions, sick days and use it up front to buy better food? Prevention through shifting your expenses. And on top of that you will probably feel better. How can you put a price on that? Now if you are not in a position to go full on, I would certainly advocate mixing them in. If you cannot eliminate, reduce. Change your fruits and vegetables or your milk or get the occasional package of organic chicken breasts. Think about personal products like shampoo or toothpaste as well. Another source of nasty chemicals being absorbed into your body.

So all I ask is that you give it some thought and try to work some organic food into your life as much as you can. Hopefully I have given you some food for thought.

Wednesday, January 2, 2013

Water - The Other Drink

http://kampoengtahes.blogspot.com/The human body is mostly made of water. The brain is 95% water, blood is 83% water, the lungs 90% water, muscles are 75% even the bones are 25% water. In order for all the body processes to function at a high capacity, we must take in adequate amounts of water every day. The body starts to feel the effects of water loss, or dehydration, at as little as 1% dehydration. At this point, our earliest symptom is thirst, which is often mistaken as hunger. At this point we may also experience other symptoms which may not be recognized as dehydration. The various symptoms include headaches, muscle fatigue, darkening of urine, decreased reaction time, and sugar cravings. As dehydration levels increase, from 5% to 9%, the symptoms experienced worsen. Urine output decreases greatly, dry mouth, problems breathing, extreme fatigue and dizziness while standing can occur. At 10% dehydration and higher, medical attention is usually required. Vision is weakened, the tongue swells, urine output ceases or is very painful, fainting can occur as well as death.

Drinking adequate amounts of water not only helps prevent dehydration, but it gives other benefits. Some back pain and headaches can be the result of inadequate fluid intake. Not drinking enough water can also halt weight loss. Losing weight requires a reduction in calories but also the body must be flushed of fat and toxins. If you are on a weight loss plan, and you're caloric intake is adequate, perhaps you aren't losing weight because your body needs to get rid of the fat, and water can assist in this. Water is vital for colon health. Eating your daily recommended intake of fiber is fantastic, but without water, the results you desire won't be achieved. Fiber helps move food and waste through body and aids in digestion by attracting water to small and large intestines. Without adequate water it can't move through body and the result is more constipation. Your bladder and kidneys are also helped when you drink water. Someone who drinks lots of water is at a lower risk for urinary tract infections or kidney infections, because toxins are constantly being flushed out of the body.

Birth Defects Prevention

January 2013 is National Birth Defects Prevention Month! The theme is "Birth defects are common, costly, and critical.”

Birth defects affect 1 in every 33 babies born in the United States and are a leading cause of infant mortality. Put another way, Every 4.5 minutes, a baby is born with a birth defect. Major birth defects are conditions present at birth that cause structural changes in one or more parts of the body. They can have a serious, adverse effect on health, development, or functional ability. Babies who survive and live with birth defects are at increased risk for developing many lifelong physical, cognitive, and social challenges. Medical care and support services only scrape the surface of the financial and emotional impact of living with birth defects.

Not all birth defects can be prevented. But, a woman can increase her own chances of having a healthy baby, by managing health conditions and adopting healthy behaviors before becoming pregnant. This is important because many birth defects happen very early during pregnancy, sometimes before a woman even knows she is pregnant. Here are some steps a woman can take to get ready for a healthy pregnancy The good news is awareness efforts offer hope for reducing the number of birth defects in the future:
  • consume 400 micrograms of folic acid daily
  • manage chronic maternal illnesses such as diabetes, seizure disorders, or phenylketonuria (PKU)
  • reach and maintain a healthy weight
  • talk to a health care provider about taking any medications, both prescription and over-the-counter
  • avoid alcohol, smoking, and illicit drugs
  • see a health care provider regularly
  • avoid toxic substances at work or at home
  • ensure protection against domestic violence
  • know their family history and seek reproductive genetic counseling, if appropriate
Research and Tracking:
Accurately tracking birth defects is the first step in preventing them and reducing their effect. Birth defects tracking systems are vital to help us find out where and when birth defects occur and who they affect. This gives us important clues about preventing birth defects and allows us to evaluate our efforts. We base our research on what we learn from tracking. By analyzing the data collected, we can identify factors that increase or decrease the risk of birth defects and identify community or environmental concerns that need more study. In addition, research helps the Centers for Disease Control and Prevention (CDC) answer critical questions about the causes of many of these birth defects.