Hi,

I'm having difficulty coming up with a good way to subest some data to generate 
statistics.

My data frame has multiple observations by group.

Here is an overly-simplified toy example of the data
==========================
code    v1      v2
G1              1.2     2.3
G1              0       2.4
G1              1.4     3.4
G2              2.9     2.3
G2              4.3     4.4
etc..
=========================

I want to normalize the data *by group*  for certain variable.  But, I want to 
ignore 0 values when calculating the mean and standard deviation.

What I *want* to do is something like this:
=======================
         for (code in unique (d$code) ){ 
                 mu <- mean( d[which(d[d$code==code,v1] !=0 ), v1] ) 
                 sig <- sd( d[which(d[d$code==code,v1] !=0 ), v1] ) 
                 d[which(d[d$code==code,v1] !=0 ), cname] <- 
(d[which(d[d$code==code,v1] !=0 ), v1] - mu) / sig
         }
=======================

My goal, if it isn't apparent, is to replace values with their normalized 
value.  (But, the statistics used for normalization are calculated skipping 
zero values.)

This doesn't work as the indexing from the which command is relative (1,2,3, 
etc.)


Suggestions?



--
Noah Silverman
UCLA Department of Statistics
8208 Math Sciences Building
Los Angeles, CA 90095

______________________________________________
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
and provide commented, minimal, self-contained, reproducible code.

Reply via email to