[R] Strange behavior with merging algorithm
Gene
gene02_rsigmac at smalltime.com
Fri May 19 02:15:02 CEST 2006
I wrote some code to merge some columns from different data frames
into a new data frame based on mapping data in one of the columns. I
know that I can use the merge function for this, and now, in
retrospect, I don't know why I didn't. However, it seems like the
code that I wrote should work but didn't. I found a work-around
which I demonstrate here. Can anyone explain why the first section
doesn't work but the second one does? And, for tuning my basic R
skills, are there better ways for doing this manually (i.e. not using
'merge') than how I do it?
Thanks.
# final resting place for data
complete.data <- data.frame(positions=good.positions)
j <- 1
# generate mapping information
map <- match( good.positions, orig.data$positions)
is.pos.present <- ! is.na(map)
good.pos <- map[ is.pos.present ]
## this doesn't seem to work
complete.data[is.pos.present,j] <- orig.data$values[good.pos]
## this does work
tmp <- rep(NA,length(is.pos.present))
tmp[is.pos.present] <- orig.data$values[good.pos]
complete.data[,j] <- z
More information about the R-help
mailing list