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.