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.

Reply via email to