Message-ID: <1357404224.385.YahooMailNeo@web142605.mail.bf1.yahoo.com>
Date: 2013-01-05T16:43:44Z
From: arun
Subject: Need help on dataframe
In-Reply-To: <CAHR3agr=9TUn9Zkyhdw5pT4RYdUqgUDdjRLVODKHoO+Q5Dg0dw@mail.gmail.com>
HI,
May be this helps:
dat1<-read.table(text="
ID? V1? V2? V3? V4
1??? 6??? 5??? 3??? 2
2??? 3??? 2??? 2??? 1?
3??? 6??? 5??? 3??? 2
4??? 12? 15? 3??? 2?
5??? 6??? 8??? 3??? 2
6??? 3??? 2??? 4??? 1?
7??? 6??? 5??? 3??? 3
8??? 12? 15? 3??? 1?
9??? 6??? 5??? 3??? 3
10??? 3??? 2??? 7??? 5?
11??? 6??? 5??? 8??? 2
12??? 12? 19? 3??? 2?
13??? 6??? 5??? 3??? 2
14??? 3??? 4??? 2??? 1?
15??? 6??? 5??? 6??? 2
16??? 12? 15? 5??? 2?
17??? 6??? 5??? 5??? 2
18??? 3??? 2??? 8??? 1?
19??? 6??? 5??? 3??? 9
20??? 12? 15? 3??? 10?
21??? 6??? 5??? 3??? 2
22??? 3??? 2??? 2??? 11?
23??? 6??? 5??? 3??? 4
24??? 12? 15? 9??? 2
",sep="",header=TRUE,stringsAsFactors=FALSE)
dat1$newID<-rep(1:(nrow(dat1)/12),each=12) #if nrow(dat1)/12 is integer
?with(dat1,aggregate(cbind(V1,V2,V3,V4),by=list(newID),mean))
#? Group.1?? V1?????? V2?????? V3?????? V4
#1?????? 1 6.75 7.333333 3.750000 2.166667
#2?????? 2 6.75 6.916667 4.333333 4.000000
#or
aggregate(.~newID,data=dat1[,-1],mean)
#? newID?? V1?????? V2?????? V3?????? V4
#1???? 1 6.75 7.333333 3.750000 2.166667
#2???? 2 6.75 6.916667 4.333333 4.000000
A.K.
----- Original Message -----
From: Simonas Kecorius <simolas2008 at gmail.com>
To: r-help at r-project.org
Cc:
Sent: Saturday, January 5, 2013 8:33 AM
Subject: [R] Need help on dataframe
Dear R users, I came up to a problem by taking means (or other summary
statistics) of a big dataframe.
Suppose we do have a dataframe:
ID? V1? V2? V3? V4 ........................ V71
1? ? 6? ? 5? ? 3? ? 2? ........................? 3
2? ? 3? ? 2? ? 2? ? 1? ........................? 1
3? ? 6? ? 5? ? 3? ? 2? ........................? 3
4? ? 12? 15? 3? ? 2? ........................? 100
........................................................
........................................................
288 10? 20? 30? 30 .......................... 499
I need to find out the way, how to calculate a mean of every 12 lines to
get:
V1? ? ? ? ? ? ? ? ? ? ? ? ? ? ? V2? ? ? ? ? ? ? ? V3? ? ? ? ? ? ? ? V4
........................... V71
mean from 1 to 7? ? ? same as V1? ? same as V1
mean from 8 to 14? ? same as V1? ? same as V1
etc.
I can do it column by column using:
y.ts <- ts(y$V1, frequency=12)
aggregate(y.ts, FUN=mean)
Bu this is a hardcore... Can anyone suggest a better way to compute all the
dataframe at once and get a result as matrix?
Thank you in advance!
--
Simonas Kecorius
**
??? [[alternative HTML version deleted]]
______________________________________________
R-help at 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.