Is this what you want:

> w <- c(1.20, 1.34, 2.34, 3.12, 2.89, 4.67, 2.43,
+       2.89, 1.99, 3.45, 2.01, 2.23, 1.45, 1.59)
> g <- rep(c("a", "b"), each=7)
> df <- data.frame(g, w)
> df
   g    w
1  a 1.20
2  a 1.34
3  a 2.34
4  a 3.12
5  a 2.89
6  a 4.67
7  a 2.43
8  b 2.89
9  b 1.99
10 b 3.45
11 b 2.01
12 b 2.23
13 b 1.45
14 b 1.59
> # add coefficient to use
> vari <- c(b=0.08, a=0.41)
> result <- by(df, list(df$g), function(x){
+     # convert $g to character since it is a factor
+     x$w[(x$w > mean(x$w) - vari[as.character(x$g)]) &
+         (x$w < mean(x$w) + (1 - vari[as.character(x$g)]))]
+ })
> result
: a
[1] 2.34 3.12 2.89 2.43
------------------------------------------------------------------------------

: b
[1] 2.89 2.23
>
>

On Sat, May 17, 2008 at 2:04 PM, Patrick Hausmann <
Patrick.Hausmann@uni-bremen.de> wrote:

> Hello all,
>
> I have a df like this:
>
> w <- c(1.20, 1.34, 2.34, 3.12, 2.89, 4.67, 2.43,
>       2.89, 1.99, 3.45, 2.01, 2.23, 1.45, 1.59)
> g <- rep(c("a", "b"), each=7)
> df <- data.frame(g, w)
> df
>
> # 1. Mean for each group
> tapply(df$w, df$g, function(x) mean(x))
>
> # 2. Range for each group - fix value 0.15
> tapply(df$w, df$g,
>       function(x)
>       x[(x > mean(x) - 0.15) &
>         (x < mean(x) + ( 1 - 0.15 ))])
>
> Now my question: How can I use different values of 0.15 for
> each group. As a result of a calculation I have an object
> "vari":
>
>  > vari
>    a    b
>  0.41 0.08
>
>  > str(vari)
>  num [, 1:2] 0.41 0.08
>  - attr(*, "dimnames")=List of 1
>   ..$ : chr [1:2] "a" "b
>
> So, I wanted to use 0.41 for group "a" and 0.08 for "b"
> instead of 0.15...
>
> Thanks for any help!!
> Patrick
>
> ______________________________________________
> R-help@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<http://www.r-project.org/posting-guide.html>
> and provide commented, minimal, self-contained, reproducible code.
>



-- 
Jim Holtman
Cincinnati, OH
+1 513 646 9390

What is the problem you are trying to solve?

	[[alternative HTML version deleted]]

