On Feb 15, 2010, at 1:22 AM, milton ruser wrote:

Hi Raging Jim

may be this is a starting point.

myDF<-read.table(stdin(),head=T,sep=",")

Those "yyyymm" entries will become factors, which can lead to confusion for newbies. Might be more straightforward to always use stringsAsFactors=FALSE in the read.table arguments. I see that the yyymm column later gets thrown away so it may not matter here.

yyyymm,Rainfall
1977-02,17.4
1977-03,34.0
1977-04,26.2
1977-05,42.6
1977-06,58.6
1977-07,23.2
1977-08,26.8
1977-09,48.4
1977-10,47.0
1977-11,37.2
1977-12,15.0
1978-01,2.6
1978-02,6.8
1978-03,9.0
1978-04,46.6


When I did a very similar maneuver, I added an extra NA entry at the beginning:

myDF <- rbind(list(yyyymm="1977-01", Rainfall=NA), myDF)

... so the columns would start with January. (The warning is harmless.)

myDF$yyyy<-substr(myDF$yyyymm,1,4)
myDF$mm<-substr(myDF$yyyymm,6,7)
myDF<-subset(myDF, select=c(yyyy,mm,Rainfall))
myDF.reshape<-reshape(myDF,v.names="Rainfall",idvar="yyyy",
timevar="mm",direction="wide")
myDF.reshape
best regards

When the time comes to rename those columns, knowing that there is a system constant called month.names may come in handy. Perhaps (untested):

names(myDF.reshape) <- c("Year", month.names[1:12])


milton
--

David Winsemius, MD
Heritage Laboratories
West Hartford, CT

______________________________________________
R-help@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.

Reply via email to