HI Eliza,
Just a doubt:
YOu mentioned that
?"i then eliminated the first column as i was interested in knowing the row
wise mean of each sublist, by using" and
"afterwards when i applied the "colMeans" command i was not able
to calculate the mean as i got the following error"
Do you need colMeans or rowMeans?
From the subset of data from your earlier email, I was able to get both rowMeans
or colMeans.
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"))
lapply(res,function(x) colMeans(x[,-1]))
#$Sa
#1955 1956 1957 1958?? #didn't remove the NaN's
# NaN? NaN? NaN? NaN
#$Ta
?# ? 1966???? 1967???? 1968???? 1969
#2.355556 2.400000 2.355556 2.400000
?lapply(res,function(x) rowMeans(x[,-1]))
#$Sa
#? 1?? 2?? 3?? 4?? 5?? 6?? 7?? 8?? 9? 10? 11? 12
#NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
#
#$Ta
? # ??? 1??????? 2??????? 3
#2.400000 2.400000 2.333333
A.K.
----- Original Message -----
From: eliza botto <eliza_botto at hotmail.com>
To: "r-help at r-project.org" <r-help at r-project.org>
Cc:
Sent: Sunday, December 23, 2012 7:17 PM
Subject: [R] colmeans not working
[text file is also attached in case you find the format of email difficult to
understand]
Dear useRs,You must all the planning for the christmas, but i am stucked in my
office on the following issue
i had a file containg information about station name, year, month, day, and
discharge information. i opened it by using
following command> dat1<-read.table("EL.csv",header=TRUE,
sep=",",na.strings="NA")
then by using following codes suggested by arun and rui i managed to obtain an
output
library(reshape2)
res<-lapply(split(dat1,dat1$st),function(x)
dcast(x,month~year,mean,value.var="discharge"))> res
$EE? month? ? ? 2005? ? ? 2006? ? ? 2008? ? ? 20091? ? ? 1 1.7360776 0.8095275
1.6369044 0.81952412? ? ? 2 0.6962079 3.8510720 0.4319758 2.33044953? ? ? 3
1.0423625 2.7687266 0.2904245 0.70155274? ? ? 4 2.4158326 1.2315324 1.4287387
1.5701019
$WW? month? ? ? 2008? ? ? 2009? ? ? 20101? ? ? 1? 1.4737028? 2.314878?
2.6726612? ? ? 2? 1.6700918? 2.609722? 2.1124213? ? ? 3? 3.2387775? 7.305766?
6.9395364? ? ? 4? 6.7063592 18.745256 13.278218
i then eliminated the first column as i was interested in knowing the row wise
mean of each sublist, by using
res1 <- lapply(res, function(x)x[,-c(1) ])
$EE? ? ? ? 2005? ? ? 2006? ? ? 2008? ? ? 20091? 1.7360776 0.8095275 1.6369044
0.81952412? 0.6962079 3.8510720 0.4319758 2.33044953? 1.0423625 2.7687266
0.2904245 0.70155274? 2.4158326 1.2315324 1.4287387 1.5701019
$WW? ? ? ? 2008? ? ? 2009? ? ? 20101? 1.4737028? 2.314878? 2.6726612?
1.6700918? 2.609722? 2.1124213? 3.2387775? 7.305766? 6.9395364? 6.7063592
18.745256 13.278218
afterwards when i applied the "colMeans" command i was not able to
calculate the mean as i got the following error>'x' must be an array of at least two dimensions
i cant spot the mistake in the last 5 hours.
you help is neededthanks in advance
eliza? ??? ??? ??? ? ??? ??? ?
______________________________________________
R-help at r-project.org mailing list
stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.