Skip to content
Prev 314691 / 398502 Next

Need help on dataframe

Hi,

One more way:
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)
res<-aggregate(.~1:nrow(dat1)%/%13,data=dat1[,-1],mean)
?names(res)[1]<-"group"
?res
#? group?? V1?????? V2?????? V3?????? V4
#1???? 0 6.75 7.333333 3.750000 2.166667
#2???? 1 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!