File: groupn.s

package info (click to toggle)
hmisc 5.2-4-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 4,044 kB
  • sloc: asm: 28,905; f90: 590; ansic: 415; xml: 160; fortran: 75; makefile: 2
file content (30 lines) | stat: -rw-r--r-- 522 bytes parent folder | download | duplicates (11)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
groupn <- function(x, y, m=150)
{
  s <- !is.na(x + y)
  x<-x[s]
  y<-y[s]
  i<-order(x)
  x<-x[i]
  y<-y[i]
  n<-length(x)
  if(n<m)
    stop("m<number of observations in groupn")
  
  start <- 1
  end <- m
  meanx <- NULL
  meany <- NULL
  while(end <= n) {
    meanx <- c(meanx,mean(x[start:end]))
    meany <- c(meany,mean(y[start:end]))
    start <- start+m
    end <- end+m
  }
  
  if(end > n) {
    meanx <- c(meanx,mean(x[n-m+1:n]))
    meany <- c(meany,mean(y[n-m+1:n]))
  }
  
  return(list(x=meanx,y=meany))
}