Dear R users, Could someone help me on this? I have this kind of data set:
structure(list(Year = c(1971L, 1971L, 1971L, 1971L, 1971L, 1971L, 1971L, 1971L, 1971L, 1971L, 1971L, 1971L, 1971L, 1971L, 1971L, 1971L, 1971L, 1971L, 1971L, 1971L, 1971L, 1971L, 1971L, 1971L, 1971L, 1971L, 1971L, 1971L, 1971L, 1971L, 1971L, 1971L, 1971L, 1971L, 1971L, 1971L, 1971L, 1971L, 1971L, 1971L, 1971L, 1971L, 1971L, 1971L), Month = c(1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L), Rain = c(58.9, 74.6, 17.7, 7.8, 1.2, 1, 5.3, 0.7, 1.2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10.4, 17.5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0)), .Names = c("Year", "Month", "Rain"), class = "data.frame", row.names = c(NA, -44L )) I want to count data in "Rain" that is greater and equal to 0.1 mm according to their "Month" and "Year". I have used this code, but it seems so wrong. raindat <- read.csv('my data set',header=TRUE) yearcorr<-min(raindat$Year)-1 years<-unique(raindat$Year) rainmonth<-as.data.frame(matrix(0,nrow=2,ncol=12)) for(year in years) { for(month in 1:12) { if(any(raindat$Year==year&raindat$Month==month)) rainmonth[year-yearcorr,month]<- length((which(raindat$Rain >= 0.1))[raindat$Year==year&raindat$Month==month]) } } rownames(rainmonth)<-years names(rainmonth)<-month.abb rainmonth Thank you so much. Arshad [[alternative HTML version deleted]] ______________________________________________ R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see 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.