[R] Need help on dataframe

arun smartpink111 at yahoo.com
Sat Jan 5 20:32:36 CET 2013


HI,
Sorry, there was a mistake, which I noticed after seeing David's post.
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
25    6    5    3    2
26    3    2    2    1
27   6    5    3    2
28    12  15  3    2
29    6    8    3    2
30    3    2    4    1
31    6    5    3    3
32    12  15  3    1
33    6    5    3    3
34    3    2    7    5
35    6    5    8    2
36    12  19  3    2
37    6    5    3    2
38    3    4    2    1
",sep="",header=TRUE,stringsAsFactors=FALSE)
res<-aggregate(.~(1:nrow(dat1)-1)%/%12,data=dat1[,-1],mean)
  names(res)[1]<-"group"
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.





More information about the R-help mailing list