just one more that seems natural but hasn't been mentioned:
library(magic)
x <- data.frame(a=c(1,2,1,2,1),b=c(1,2,2,1,2),c=c(1,2,1,2,1))
apply(x,1,minmax)
1 2 3 4 5
TRUE TRUE FALSE FALSE FALSE
[
here
minmax <-
function (x)
{
max(x) == min(x)
}
]
rksh
How about:
X<-as.matrix(yourframe)
apply(X,2, '==',X[,1])%*%rep(1,ncol(X)) == ncol(x)
avoiding the rowwise apply overhead?
Cheers,
Bert Gunter
Non-Clinical Biostatistics
Genentech
MS: 240B
Phone: 650-467-7374
"The business of the statistician is to catalyze the scientific learning
process."
-- George E.P. Box
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
--
Robin Hankin
Uncertainty Analyst
Southampton Oceanography Centre
SO14 3ZH
tel +44(0)23-8059-7743
[EMAIL PROTECTED] (edit in obvious way; spam precaution)
______________________________________________
[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