thanks David and Ian,
let me make a better example as the first one was flawed

df.1=data.frame(round((1:10)*100+rnorm(10)), value=NA)
names(df.1) = c("time", "value")
df.1
   time value
1   101    NA
2   199    NA
3   301    NA
4   401    NA
5   501    NA
6   601    NA
7   700    NA
8   800    NA
9   900    NA
10 1000    NA

# from and to define ranges within time,
# note that from and to may not match the numbers given in time
df.2=data.frame(from=c(99,500,799),to=c(303,702,950), value=c(1,3,5))
df.2
  from  to value
1   99 303     1
2  500 702     3
3  799 950     5

what I want is:
   time value
1   101    1
2   199    1
3   301    1
4   401    NA
5   501    3
6   601    3
7   700    3
8   800    5
9   900    5
10 1000    NA

@David I don't know what you mean by 2 merges,
René





Zitat von "David Winsemius" <dwinsem...@comcast.net>:


On May 14, 2011, at 9:16 AM, Ian Gow wrote:

If I assume that the third column in data.frame.2 is named "val" then in
SQL terms it _seems_ you want

SELECT a.time, b.val FROM data.frame.1 AS a LEFT JOIN data.frame.2 AS b ON
a.time BETWEEN b.start AND b.end;

Not sure how to do that elegantly using R subsetting/merge,

Huh? It's just two merge()'s (... once you fix the error in the example.)

--
David

but you might
try a package that allows you to use SQL, such as sqldf.


On 5/14/11 8:03 AM, "David Winsemius" <dwinsem...@comcast.net> wrote:


On May 14, 2011, at 8:12 AM, René Mayer wrote:

Hello,
how can one merge

And what happened when you typed:

?merge

two data frames when in the second data frame one column defines the
start values
and another defines the end value of the to be merged range.
data.frame.1
time ...
13
24
35
46
55
...
data.frame.2
start end
24 37 ?h? ?
...

should result in this
13 NA
24 ?h?
35 ?h?
46 NA
55
?

And _why_ would that be?


thanks,
René

______________________________________________
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.

David Winsemius, MD
West Hartford, CT

______________________________________________
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.



David Winsemius, MD
West Hartford, CT



______________________________________________
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