Good morning!
I have two datasets with the same structure, one containing all my values and the second one that update same of these values (see example below). I want to create a data.frame with all the values of the first dataset except when an entry is present in the second dataset, in which case the second dataset value is taken.

Is there a better method than my last line kludge?
Thanks for your help!
                        mario


t1 <- textConnection("AAA 1
BBB 2
CCC 3")
a <- read.table(t1, stringsAsFactors=FALSE)
close(t1)
t2 <- textConnection("BBB 22")
u <- read.table(t2, stringsAsFactors=FALSE)
close(t2)
m <- merge(a, u, by="V1", all.x=TRUE)
out <- data.frame(V1=m$V1, V2=ifelse(is.na(m$V2.y), m$V2.x, m$V2.y))


--
Ing. Mario Valle
Data Analysis and Visualization Group | http://www.cscs.ch/~mvalle
Swiss National Supercomputing Centre (CSCS)      | Tel:  +41 (91) 610.82.60
v. Cantonale Galleria 2, 6928 Manno, Switzerland | Fax:  +41 (91) 610.82.82

______________________________________________
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