Hi Mohan,

Mohan L <l.mohanphys...@gmail.com> 09-Nov-10 15:17:
 
> I want to merge ip,bsent,breceived column to "main" , If the name in
> the the "main" data frame is there in the "other" data frame . some
> thinng like this:
> 
> name    id  memory   storage  ip       bsent     breceived
> 
> mohan    1    100      20         1         12.00     0.01
> ram        1    200      100        0         00.00    0.00
> kumar    1    400      50          1         1.00      1.00
> xxx        1    100      40          1         00.00    1.110
> aaa         1    800      45         0               00.00    00.00
> mount    1    200      80          0         00.00    00.00
> 
> 
> If in case the name in the "main" data frame does not there in the
> "other" data frame, simple I want to add zero to ip,bsent,breceived
> value.

Is this what you want?

newdat <- merge(main,other,by="name",all.x=T)

   name id memory storage ip bsent breceived
1   aaa  1  800.0    45.0 NA    NA        NA
2 kumar  1  400.0    50.0 NA    NA        NA
3 mohan  1  100.2     1.1  1    12      0.01
4 mount  1  200.0    80.0 NA    NA        NA
5   ram  1  200.0   100.0 NA    NA        NA
6   xxx  1  100.0    40.0  1     0      1.11

newdat[is.na(newdat)] <- 0

newdat

   name id memory storage ip bsent breceived
1   aaa  1  800.0    45.0  0     0      0.00
2 kumar  1  400.0    50.0  0     0      0.00
3 mohan  1  100.2     1.1  1    12      0.01
4 mount  1  200.0    80.0  0     0      0.00
5   ram  1  200.0   100.0  0     0      0.00
6   xxx  1  100.0    40.0  1     0      1.11

Marianne

-- 
Marianne Promberger PhD, King's College London
http://promberger.info
R version 2.12.0 (2010-10-15)
Ubuntu 9.04

______________________________________________
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