Hi All,

I have a questions about associative list mappings in R, and if they are
possible?

I have data in the form show below, and want to make a new 'bucket' variable
called combined. Which is the sum of the control and the exposed metric
values
This combined variable is a many to many matching as values only appear in
the file if they have a value > 0.

conversion.type   filteredID        bucketID      Metric       Value
    counter            true              control           a              1
    counter            true              control           b              1
    counter            true              control           c              2
    counter            true              control           d              3

    counter            true              exposed         a             4
    counter            true              exposed         e             1

ASIDE:

At the minute i read the data into my file and and then create all the
'missing' row values
(in this case,
    counter            true              control             e             0
    counter            true              exposed           b              0
    counter            true              exposed           c              0
    counter            true              exposed           d              0)


and then run  a sort on the data, and count the number of times control
appears, and then use this as an index matcher.

saw.aggr.data <- [order(saw.aggr.data$bucketID, saw.aggr.data$metric), ]
no.of.metrics <- length(saw.aggr.data$bucketID[grep("control",
saw.aggr.data$bucketID)])

for (i in (1:no.of.metrics)) {
  assign(paste("combined", as.character(saw.aggr.data$metric[i])),
(saw.aggr.data$value[i] + saw.aggr.data$value[i + no.of.metrics]))
}

This does what i want it to but is very very weak and could be open to large
errors, ( error handling currently via grepping the names of the metric[i]
== name of metric [i + no.of.metrics])

Is there a more powerful way of doing this using some kind of list mapping?
I've looked at the older threads in this area and it looks like something
that should be possible but i can't figure out how to do this?
Ideally i'd like a final dataset  / list that is of the following form.

conversion.type   filteredID        bucketID      Metric       Value
    counter            true              control           a              1
    counter            true              control           b              1
    counter            true              control           c              2
    counter            true              control           d              3

    counter            true              exposed         a             4
    counter            true              exposed         e             1
    counter            true              combined        a             5
    counter            true              combined        b             1
    counter            true              combined        c             2
    counter            true              combined        d             3
    counter            true              combined        e             1

So i dont have to create the dummy variables.

does this make sense?

Many thanks in advance

Mike



-- 
Michael Pearmain
"I abhor averages.  I like the individual case.  A man may have six meals
one day and none the next, making an average of three meals per day, but
that is not a good way to live.  ~Louis D. Brandeis"

f you received this communication by mistake, please don't forward it to
anyone else (it may contain confidential or privileged information), please
erase all copies of it, including all attachments, and please let the sender
know it went to the wrong person. Thanks.

        [[alternative HTML version deleted]]

______________________________________________
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