On Apr 8, 2010, at 1:34 PM, Jun Shen wrote:

David,

Thanks for the suggestion. Now I have worked out a general solution.

Assume "a" and "b" are two data frames with same dimensions

1. Call identical(a,b) to get an overall assessment. If you get a FALSE 2. Call which(mapply(identical,unlist(a),unlist(b))==FALSE), you will get a result like
    TIME5
     85
which means, the row 5 and the column with name "TIME" is different. This also works for missing values. Thanks for everyone.

Looks that all.equal is already set up to provide such a service:

> all.equal(df1,df2)
[1] "Component 1: 'is.NA' value mismatch: 1 in current 0 in target"

I was under the misimpression that all.equal was for approximate equality of numeric values but that only appears to be part of its design.

--
David.


Jun Shen from Millipore

On Thu, Apr 8, 2010 at 9:08 AM, David Winsemius <dwinsem...@comcast.net > wrote:

On Apr 8, 2010, at 9:47 AM, Jun Shen wrote:

Dear David, Erik and Charles,

Thank you for your input. Both mapply() and which() can do the job. Just one exception. If there is a missing value as NA in the data frame "a" and a data point (either numerical or character) in the corresponding position of "b", then mapply() only returns NA for that position rather than "FALSE",
and which() cannot pick up that position either. Thanks again.


You seem to have changed the programming challenge from identification to replicating identical(). If so then you can get closer with wrapping isTRUE(all() around the mapply("==" , attributes( ...), ...) step, and wrap the "==" call in isTRUE(all(.))

> isTRUE(all(mapply("==", df1, df2)) )
[1] FALSE  since all(c(NA, TRUE, TRUE)) == NA and isTRUE(NA) == FALSE

--
David.




Jun

On Wed, Apr 7, 2010 at 10:46 PM, Charles C. Berry <cbe...@tajo.ucsd.edu >wrote:

On Wed, 7 Apr 2010, Jun Shen wrote:

Dear all,

I understand identical (a,b) will tell me if a and b are exactly the same
or
not. But what if they are different, is there anyway to tell which
element(s) are different? Thanks.


which( a != b, arr.ind = TRUE)

HTH,

Chuck


Jun


     [[alternative HTML version deleted]]

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


Charles C. Berry                            (858) 534-2098
                                         Dept of Family/Preventive
Medicine
E mailto:cbe...@tajo.ucsd.edu               UC San Diego
http://famprevmed.ucsd.edu/faculty/cberry/ La Jolla, San Diego 92093-0901




       [[alternative HTML version deleted]]

______________________________________________
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



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