Skip to content

Conditional operation on multiple columns from two data frames

5 messages · Tim Sippel, Peter Dalgaard, jim holtman

#
The suggestion below was made.

df1$Date <- as.Date(df1$Date)
df2$Date <- as.Date(df2$Date)
 
ifelse(df1$ID==df2$ID & df1$Date-df2$Date<0.5,df1$y-df2$y, NA)

However, because my dataframe rows do not align, I need the conditionals to
be tested on every combination of cells.  I'm starting to think I need to
use tapply?  

Tim
#
tsippel wrote:
I'd look at outer() or try a merge() before the operation to get things 
aligned. It is not clear to me what form of output you desire if you 
look at "every combination of cells".
#
Merge will give you an output like below and you should be able to
find the value you need:
ID              Date.x       y.x       x.x              Date.y
 y.y      x.y
1   1                <NA>        NA        NA 2007-05-31 23:00:00
-20.82907 217.7022
2   1                <NA>        NA        NA 2007-06-01 11:00:00
-20.82500 217.6980
3   1                <NA>        NA        NA 2007-06-01 23:00:00
-20.82236 217.7012
4   2 2007-05-30 20:21:56        NA        NA 2007-02-19 00:00:00
-37.40960 178.3060
5   2 2007-05-30 20:21:56        NA        NA 2007-02-19 12:00:00
-37.37515 178.3360
6   2 2007-05-30 20:21:56        NA        NA 2007-02-20 00:00:00
-37.27700 178.3780
7   2 2007-05-30 20:21:56        NA        NA 2007-02-20 12:00:00
-37.17855 178.3845
8   2 2007-05-30 20:21:56        NA        NA 2007-02-21 00:00:00
-37.07595 178.3890
9   2 2007-05-30 20:21:56        NA        NA 2007-02-21 12:00:00
-36.91965 178.3965
10  2 2007-05-30 20:21:56        NA        NA 2007-02-22 00:00:00
-36.74345 178.3910
11  2 2007-05-30 20:21:56        NA        NA 2007-02-22 12:00:00
-36.49245 178.5090
12  2 2007-05-30 20:21:56        NA        NA 2007-02-23 00:00:00
-36.24150 178.5750
13  2 2007-05-30 20:21:56        NA        NA 2007-02-23 12:00:00
-35.95500 178.6280
14  2 2007-05-30 18:48:20        NA        NA 2007-02-19 00:00:00
-37.40960 178.3060
15  2 2007-05-30 18:48:20        NA        NA 2007-02-19 12:00:00
-37.37515 178.3360
16  2 2007-05-30 18:48:20        NA        NA 2007-02-20 00:00:00
-37.27700 178.3780
17  2 2007-05-30 18:48:20        NA        NA 2007-02-20 12:00:00
-37.17855 178.3845
18  2 2007-05-30 18:48:20        NA        NA 2007-02-21 00:00:00
-37.07595 178.3890
19  2 2007-05-30 18:48:20        NA        NA 2007-02-21 12:00:00
-36.91965 178.3965
20  2 2007-05-30 18:48:20        NA        NA 2007-02-22 00:00:00
-36.74345 178.3910
21  2 2007-05-30 18:48:20        NA        NA 2007-02-22 12:00:00
-36.49245 178.5090
22  2 2007-05-30 18:48:20        NA        NA 2007-02-23 00:00:00
-36.24150 178.5750
23  2 2007-05-30 18:48:20        NA        NA 2007-02-23 12:00:00
-35.95500 178.6280
24  2 2007-06-05 08:34:37        NA        NA 2007-02-19 00:00:00
-37.40960 178.3060
25  2 2007-06-05 08:34:37        NA        NA 2007-02-19 12:00:00
-37.37515 178.3360
26  2 2007-06-05 08:34:37        NA        NA 2007-02-20 00:00:00
-37.27700 178.3780
27  2 2007-06-05 08:34:37        NA        NA 2007-02-20 12:00:00
-37.17855 178.3845
28  2 2007-06-05 08:34:37        NA        NA 2007-02-21 00:00:00
-37.07595 178.3890
29  2 2007-06-05 08:34:37        NA        NA 2007-02-21 12:00:00
-36.91965 178.3965
30  2 2007-06-05 08:34:37        NA        NA 2007-02-22 00:00:00
-36.74345 178.3910
31  2 2007-06-05 08:34:37        NA        NA 2007-02-22 12:00:00
-36.49245 178.5090
32  2 2007-06-05 08:34:37        NA        NA 2007-02-23 00:00:00
-36.24150 178.5750
33  2 2007-06-05 08:34:37        NA        NA 2007-02-23 12:00:00
-35.95500 178.6280
34  2 2007-06-02 09:39:58 -20.10100 -134.4210 2007-02-19 00:00:00
-37.40960 178.3060
35  2 2007-06-02 09:39:58 -20.10100 -134.4210 2007-02-19 12:00:00
-37.37515 178.3360
36  2 2007-06-02 09:39:58 -20.10100 -134.4210 2007-02-20 00:00:00
-37.27700 178.3780
37  2 2007-06-02 09:39:58 -20.10100 -134.4210 2007-02-20 12:00:00
-37.17855 178.3845
38  2 2007-06-02 09:39:58 -20.10100 -134.4210 2007-02-21 00:00:00
-37.07595 178.3890
39  2 2007-06-02 09:39:58 -20.10100 -134.4210 2007-02-21 12:00:00
-36.91965 178.3965
40  2 2007-06-02 09:39:58 -20.10100 -134.4210 2007-02-22 00:00:00
-36.74345 178.3910
41  2 2007-06-02 09:39:58 -20.10100 -134.4210 2007-02-22 12:00:00
-36.49245 178.5090
42  2 2007-06-02 09:39:58 -20.10100 -134.4210 2007-02-23 00:00:00
-36.24150 178.5750
43  2 2007-06-02 09:39:58 -20.10100 -134.4210 2007-02-23 12:00:00
-35.95500 178.6280
44  2 2007-06-02 17:36:20        NA        NA 2007-02-19 00:00:00
-37.40960 178.3060
45  2 2007-06-02 17:36:20        NA        NA 2007-02-19 12:00:00
-37.37515 178.3360
46  2 2007-06-02 17:36:20        NA        NA 2007-02-20 00:00:00
-37.27700 178.3780
47  2 2007-06-02 17:36:20        NA        NA 2007-02-20 12:00:00
-37.17855 178.3845
48  2 2007-06-02 17:36:20        NA        NA 2007-02-21 00:00:00
-37.07595 178.3890
49  2 2007-06-02 17:36:20        NA        NA 2007-02-21 12:00:00
-36.91965 178.3965
50  2 2007-06-02 17:36:20        NA        NA 2007-02-22 00:00:00
-36.74345 178.3910
51  2 2007-06-02 17:36:20        NA        NA 2007-02-22 12:00:00
-36.49245 178.5090
52  2 2007-06-02 17:36:20        NA        NA 2007-02-23 00:00:00
-36.24150 178.5750
53  2 2007-06-02 17:36:20        NA        NA 2007-02-23 12:00:00
-35.95500 178.6280
54  2 2007-06-03 20:31:35        NA        NA 2007-02-19 00:00:00
-37.40960 178.3060
55  2 2007-06-03 20:31:35        NA        NA 2007-02-19 12:00:00
-37.37515 178.3360
56  2 2007-06-03 20:31:35        NA        NA 2007-02-20 00:00:00
-37.27700 178.3780
57  2 2007-06-03 20:31:35        NA        NA 2007-02-20 12:00:00
-37.17855 178.3845
58  2 2007-06-03 20:31:35        NA        NA 2007-02-21 00:00:00
-37.07595 178.3890
59  2 2007-06-03 20:31:35        NA        NA 2007-02-21 12:00:00
-36.91965 178.3965
60  2 2007-06-03 20:31:35        NA        NA 2007-02-22 00:00:00
-36.74345 178.3910
61  2 2007-06-03 20:31:35        NA        NA 2007-02-22 12:00:00
-36.49245 178.5090
62  2 2007-06-03 20:31:35        NA        NA 2007-02-23 00:00:00
-36.24150 178.5750
63  2 2007-06-03 20:31:35        NA        NA 2007-02-23 12:00:00
-35.95500 178.6280
64  3 2007-03-23 06:33:26        NA        NA                <NA>
  NA       NA
65  3 2007-03-23 17:02:21        NA        NA                <NA>
  NA       NA
66  3 2007-02-19 00:00:00 -37.40822  178.3440                <NA>
  NA       NA
67  3 2007-03-10 19:58:18        NA        NA                <NA>
  NA       NA
68  3 2007-03-25 06:41:03 -31.18100  178.7700                <NA>
  NA       NA
69  3 2007-03-24 04:27:44 -31.16400  178.7650                <NA>
  NA       NA
70  3 2007-03-24 11:35:47        NA        NA                <NA>
  NA       NA
On Sat, Dec 27, 2008 at 11:55 PM, Tim Sippel <tsippel at gmail.com> wrote: