[R] summarise subsets of a vector
Jessica Streicher
j.streicher at micromata.de
Wed Jan 23 17:35:51 CET 2013
Or...
fs<-rep(1:ceiling(length(test)/10),each=10)[1:length(test)]
result<-by(test,fs,mean)
which will get you the version with the 101st as a single datapoint
so many possibilities..
On 23.01.2013, at 16:43, David L Carlson wrote:
> You didn't indicate what you want to do with the 101st observation. Arun's
> solution creates an 11th group and divides by the number in the group(1),
> while Jessica's solution creates an 11th column and divides by 10.
>
>> test[101] <- 100
>> unlist(lapply(split(test,((seq_along(test)-1)%/% 10)+1),mean))
> 1 2 3 4 5 6 7
>
> 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000
>
> 8 9 10 11
> 0.146375 0.000000 0.194500 100.000000
>> x<-matrix(test,nrow=10)
> Warning message:
> In matrix(test, nrow = 10) :
> data length [101] is not a sub-multiple or multiple of the number of rows
> [10]
>> apply(x,2,mean)
> [1] 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000
> [8] 0.146375 0.000000 0.194500 10.000000
>
> Another approach would be to use aggregate:
>
>> Groups <- gl(ceiling(length(test)/10), 10)[1:length(test)]
>> aggregate(test, list(Groups), mean)
> Group.1 x
> 1 1 0.000000
> 2 2 0.000000
> 3 3 0.000000
> 4 4 0.000000
> 5 5 0.000000
> 6 6 0.000000
> 7 7 0.000000
> 8 8 0.146375
> 9 9 0.000000
> 10 10 0.194500
> 11 11 100.000000
>
> ----------------------------------------------
> David L Carlson
> Associate Professor of Anthropology
> Texas A&M University
> College Station, TX 77843-4352
>
>
>> -----Original Message-----
>> From: r-help-bounces at r-project.org [mailto:r-help-bounces at r-
>> project.org] On Behalf Of Jessica Streicher
>> Sent: Wednesday, January 23, 2013 6:13 AM
>> To: Wim Kreinen
>> Cc: r-help
>> Subject: Re: [R] summarise subsets of a vector
>>
>> Or maybe
>>
>> x<-matrix(test,nrow=10)
>> apply(x,2,mean)
>>
>>
>> On 23.01.2013, at 00:09, Wim Kreinen wrote:
>>
>>> Hello,
>>>
>>> I have vector called test. And now I wish to measure the mean of the
>> first
>>> 10 number, the second 10 numbers etc
>>> How does it work?
>>> Thanks Wim
>>>
>>>> dput (test)
>>> c(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
>>> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
>>> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
>>> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.71, 0.21875, 0, 0.27375, 0.26125,
>>> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.84125,
>>> 0.0575, 0.92625, 0.12, 0, 0)
>>>
>>> [[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.
>>
>> ______________________________________________
>> 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