[R] Data length mismatch.

Don MacQueen macq at llnl.gov
Sun Jul 27 03:33:37 CEST 2008


I think the
     merge()
function should be adequate for this task. Here is an example.

>  A <- data.frame(day=1:5, x=runif(5))
>  B <- data.frame(day=3:7, x=runif(5))
>  A
   day         x
1   1 0.9764534
2   2 0.9693998
3   3 0.1324933
4   4 0.8311153
5   5 0.3264465

>  B <- data.frame(day=3:8, x=runif(6))
>  B
   day         x
1   3 0.5096328
2   4 0.6043132
3   5 0.7947639
4   6 0.7619096
5   7 0.1571041
6   8 0.3473159
>  D <- merge(A,B, by='day',all=TRUE)
>  D$diff <- D$x.x - D$x.y

>  D
   day       x.x       x.y       diff
1   1 0.9764534        NA         NA
2   2 0.9693998        NA         NA
3   3 0.1324933 0.5096328 -0.3771395
4   4 0.8311153 0.6043132  0.2268022
5   5 0.3264465 0.7947639 -0.4683174
6   6        NA 0.7619096         NA
7   7        NA 0.1571041         NA
8   8        NA 0.3473159         NA

-Don

At 2:26 PM -0700 7/26/08, <rkevinburton at charter.net> wrote:
>I have two vectos (list) that represent a years of data.  Each "row" 
>is represented by the day of year and the quantity that was sold for 
>that day. I would like to form a new vector that is the difference 
>between the two years of data. A sample of A (and similarly B) looks 
>like:
>
>>  A[1:5,]
>   DayOfYear    x
>1         1 1429
>2         2 3952
>3         3 3049
>4         4 2844
>5         5 2219
>>
>
>D <- A - B
>
>This works just fine if A and B are both the same length. How is the 
>best way to handle the situation where A and B are of different 
>lengths? If the day of year exists in both vectors (lists) then I 
>just want the coorespondng "row" in D to be the difference btween A 
>and B values. If the "row" doesn't exist in either A or B then the 
>difference should be treated as if the missing "row" was zero. Is 
>this feasible?
>
>Thank you.
>
>Kevin
>
>______________________________________________
>R-help at 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.


-- 
---------------------------------
Don MacQueen
Lawrence Livermore National Laboratory
Livermore, CA, USA
925-423-1062
macq at llnl.gov



More information about the R-help mailing list