[R] Need help on dataframe

arun smartpink111 at yahoo.com
Sat Jan 5 17:49:36 CET 2013


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!

-- 
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