On Sep 21, 2009, at 2:14 PM, Dimitri Liakhovitski wrote:
Hello, dear R-ers!
I built a data frame "grid" (below) with 4 columns. I want to exclude
all rows that have equal values in ANY 2 columns. Here is how I am
doing it:
index<-expand.grid(1:4,1:4,1:4,1:4)
dim(index)
# Deleting rows that have identical values in any two columns (1
line of code):
index<-index[!(index$Var1==index$Var2)&!(index$Var1==index$Var3)&!
(index$Var1==index$Var4)&!(index$Var2==index$Var3)&!(index
$Var2==index$Var4)&!(index$Var3==index$Var4),]
What "worked" seems longer that it needs to be, but here is where I
ended up:
index[sapply(apply(index, 1, unique), function(x) length(x)==4), ]
Same output as:
library(e1071)
permutations(4)
David Winsemius, MD
Heritage Laboratories
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.