[R] creating a derived variable in a data frame

Avram Aelony aavram at mac.com
Thu Oct 20 02:09:08 CEST 2005


Hello,

I have read through the manuals and can't seem to find an answer.

I have a categorical, character variable that has hundreds of values.  I want to group the existing values of this variable into a new, derived (categorical) variable by applying conditions to the values in the data.

For example, suppose I have a data frame with variables: date, country, x, y, and z.  

x,y,z are numeric and country is a 2-digit character string.  I want to create a new derived variable named "continent" that would also exist in the data frame. The Continent variable would have values of "Asia", "Europe", "North America", etc...   

How would this best be done for a large dataset (>10MB) ?  
I have tried many variations on following without success (note in a real example I would have a longer list of countries and continent values):

> mydata$continent <- mydata[ mydata$country==list('US','CA','MX'), ] -> "North America"

I have read about factors, but I am not sure how they apply here.  

Can anyone help me with the syntax?  I am sure it is trivial and a common thing to do.
The ultimate goal is to compute percentages of x by continent.

Thanks for any help in advance.

-Avram




More information about the R-help mailing list