This is'nt very elegant, and you may want to replace identical ()
with a function doing more appropiate numerical floating-point
comparison:
> midentical <-
function(...){
dots <- list(...)
n <- length(dots)
ans <- TRUE
for ( i in (1:(n-1))) {
ans <- ans && identical(dots[i], dots[i+1])
}
return(ans)
}
> x1 <- c(1,2,3,4,5)
> x2 <- c(1,3,2,4,5)
> x3 <- c(1,6,7,4,5)
> mapply(function(...) ifelse(midentical(...),1,0),x1,x2,x3)
[1] 1 0 0 1 1
Kjetil Halvorsen
F Duan wrote:
Dear All,
I have a data frame with n columns: X1, X2, ., Xn. Now I want to create a
new column: if X1 = X2 = . = Xn, the value is 1; Otherwise, the value is 0.
How to do that in a quick way instead of doing (n choose 2) comparisons?
Thank you,
Frank
[[alternative HTML version deleted]]
______________________________________________
[EMAIL PROTECTED] mailing list
https://www.stat.math.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html
______________________________________________
[EMAIL PROTECTED] mailing list
https://www.stat.math.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html