HI, May be this helps: dat1<-read.table("Eliza.txt",sep="",header=TRUE,stringsAsFactors=FALSE) library(reshape2) res<-lapply(split(dat1,dat1$st.),function(x) dcast(x,month~year,mean,value.var="population_in_million")) res $Sa # month 1955 1956 1957 1958 #1 1 2.400000 NaN NaN NaN #2 2 2.400000 NaN NaN NaN #3 3 2.266667 NaN NaN NaN #4 4 NaN 2.4 NaN NaN #5 5 NaN 2.4 NaN NaN #6 6 NaN 2.4 NaN NaN #7 7 NaN NaN 2.400000 NaN #8 8 NaN NaN 2.400000 NaN #9 9 NaN NaN 2.266667 NaN #10 10 NaN NaN 2.400000 2.4 #11 11 NaN NaN NaN 2.4 #12 12 NaN NaN NaN 2.4
#$Ta # month 1966 1967 1968 1969 #1 1 2.400000 2.4 2.400000 2.4 #2 2 2.400000 2.4 2.400000 2.4 #3 3 2.266667 2.4 2.266667 2.4 A.K. ----- Original Message ----- From: eliza botto <eliza_bo...@hotmail.com> To: "r-help@r-project.org" <r-help@r-project.org> Cc: Sent: Monday, December 17, 2012 12:11 PM Subject: [R] mean of each month in data Dear R users, [in case the format of email is changed or you dont finf it easy to understand, i have attached a text file of my question] i have the data in the following format and i want to convert it in the format given at the end. Ta ans Sa are the names of certain cities. there are 69 cities in my data. column 1 is representing station name (i am writing the data of only two cities for simplicity but actually, as i wrote, i have 69 cities and the actuall table runs down very deep.) Column 2 represnts the year for which the data is given (Actuall data for each station is of different length but atleast of 24 years). Column 3 and 4 reprent the month and the day of the data. obviously each year has 12 months and each month as different number of days, but to make table easily understable only 3 months and 3 days of each month are considered. febrary for leap years should also be considered. col5 represents population of that city st. year month day population in million Ta 1966 1 1 2.4 Ta 1966 1 2 2.4 Ta 1966 1 3 2.4 Ta 1966 2 1 2.4 Ta 1966 2 2 2.4 Ta 1966 2 3 2.4 Ta 1966 3 1 2.3 Ta 1966 3 2 2.2 Ta 1966 3 3 2.3 Ta 1967 1 1 2.4 Ta 1967 1 2 2.4 Ta 1967 1 3 2.4 Ta 1967 2 1 2.4 Ta 1967 2 2 2.4 Ta 1967 2 3 2.4 Ta 1967 3 1 2.4 Ta 1967 3 2 2.4 Ta 1967 3 3 2.4 Ta 1968 1 1 2.4 Ta 1968 1 2 2.4 Ta 1968 1 3 2.4 Ta 1968 2 1 2.4 Ta 1968 2 2 2.4 Ta 1968 2 3 2.4 Ta 1968 3 1 2.3 Ta 1968 3 2 2.2 Ta 1968 3 3 2.3 Ta 1969 1 1 2.4 Ta 1969 1 2 2.4 Ta 1969 1 3 2.4 Ta 1969 2 1 2.4 Ta 1969 2 2 2.4 Ta 1969 2 3 2.4 Ta 1969 3 1 2.4 Ta 1969 3 2 2.4 Ta 1969 3 3 2.4 Sa 1955 1 1 2.4 Sa 1955 1 2 2.4 Sa 1955 1 3 2.4 Sa 1955 2 1 2.4 Sa 1955 2 2 2.4 Sa 1955 2 3 2.4 Sa 1955 3 1 2.3 Sa 1955 3 2 2.2 Sa 1955 3 3 2.3 Sa 1956 4 1 2.4 Sa 1956 4 2 2.4 Sa 1956 4 3 2.4 Sa 1956 5 1 2.4 Sa 1956 5 2 2.4 Sa 1956 5 3 2.4 Sa 1956 6 1 2.4 Sa 1956 6 2 2.4 Sa 1956 6 3 2.4 Sa 1957 7 1 2.4 Sa 1957 7 2 2.4 Sa 1957 7 3 2.4 Sa 1957 8 1 2.4 Sa 1957 8 2 2.4 Sa 1957 8 3 2.4 Sa 1957 9 1 2.3 Sa 1957 9 2 2.2 Sa 1957 9 3 2.3 Sa 1957 10 1 2.4 Sa 1958 10 2 2.4 Sa 1958 10 3 2.4 Sa 1958 11 1 2.4 Sa 1958 11 2 2.4 Sa 1958 11 3 2.4 Sa 1958 12 1 2.4 Sa 1958 12 2 2.4 Sa 1958 12 3 2.4 ... ... uptill 69th station i want to convert the data in following format >Ta ## matrix for station Ta 1966 1967 1968 1969 AVERAGE OF MONTH 1 AVERAGE OF MONTH 1 AVERAGE OF MONTH 1 AVERAGE OF MONTH 1 AVERAGE OF MONTH 2 AVERAGE OF MONTH 2 AVERAGE OF MONTH 2 AVERAGE OF MONTH 2 AVERAGE OF MONTH 3 AVERAGE OF MONTH 3 AVERAGE OF MONTH 3 AVERAGE OF MONTH 3 ........ ........ AVERAGE OF MONTH 12 AVERAGE OF MONTH 12 AVERAGE OF MONTH 12 AVERAGE OF MONTH 12 similar operation are to be done for "Sa" and the remaining 67 stations... which means i want to have 69 matrices, in which each column (number of columns should be equal to number of years of data) should contain 12 mean monthly values of population of each year. thanks in advance eliza ______________________________________________ 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. ______________________________________________ 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.