Dear WizaRds,
although this might be a trivial question to the community, I was unable to
find anything solving my problem in the help files on CRAN. Please help.
Suppose I have 4 variables and want to use all possible combinations:
1,2
1,3
1,4
2,3
2,4
3,4
for a further kmeans partitioning.
I tried permutations() of package e1071, but this is not what I need. Thank you
for your help and support.
mark.
---------------------------------------------------------------------
Additionally: For anybody who is willing to offer some advise, here is my
complete approach:
library(e1071)
mat <- matrix( c(6,7,8,2,3,4,12,14,14, 14,15,13,3,1,2,3,4,2,
15,3,10,5,11,7,13,6,1, 15,4,10,6,12,8,12,7,1), ncol=9, byrow=T )
rownames(mat) <- paste("v", 1:4, sep="" )
tmat <- t(mat)
cluster <- c(1, 2, 1, 3, 3, 3, 1, 2, 2)
centroids <- matrix( 0, ncol=3, nrow=4 )
obj <- vector(mode="list", length=3)
for (j in 1:4){
for (i in 1:3){
where <- which(cluster==i) # which obj is in which class?
centroids[j,i] <- mean( tmat[ where,j ] )
obj[[i]] <- tmat[where,]
}
}
colnames(centroids) <- paste( c("Cluster"), 1:3)
rownames(centroids) <- rownames(mat)
centroids
obj
## now I want to do kmeans of all possible variable pairs, e.g. v1 and v3
## automization in a second step later
wjk <- kmeans(tmat[,c(1,3)], centers=centroids[c(1,3),], iter.max=10,
algorithm="MacQueen") ## obviously wrong
You can try 'outer'.
Here is a way to get the index combinations that you want in a character
vector:
as.vector(outer(1:4, 1:4, paste, sep=","))
-Christos
-----Original Message-----
From: r-help-bounces at stat.math.ethz.ch
[mailto:r-help-bounces at stat.math.ethz.ch] On Behalf Of Mark Hempelmann
Sent: Saturday, March 25, 2006 12:50 PM
To: r-help at stat.math.ethz.ch
Subject: [R] pairwise combinatons of variables
Dear WizaRds,
although this might be a trivial question to the community, I was
unable to find anything solving my problem in the help files on CRAN. Please
help.
Suppose I have 4 variables and want to use all possible combinations:
1,2
1,3
1,4
2,3
2,4
3,4
for a further kmeans partitioning.
I tried permutations() of package e1071, but this is not what I need. Thank
you for your help and support.
mark.
---------------------------------------------------------------------
Additionally: For anybody who is willing to offer some advise, here is my
complete approach:
library(e1071)
mat <- matrix( c(6,7,8,2,3,4,12,14,14, 14,15,13,3,1,2,3,4,2,
15,3,10,5,11,7,13,6,1, 15,4,10,6,12,8,12,7,1), ncol=9, byrow=T )
rownames(mat) <- paste("v", 1:4, sep="" )
tmat <- t(mat)
cluster <- c(1, 2, 1, 3, 3, 3, 1, 2, 2)
centroids <- matrix( 0, ncol=3, nrow=4 )
obj <- vector(mode="list", length=3)
for (j in 1:4){
for (i in 1:3){
where <- which(cluster==i) # which obj is in which class?
centroids[j,i] <- mean( tmat[ where,j ] )
obj[[i]] <- tmat[where,]
}
}
colnames(centroids) <- paste( c("Cluster"), 1:3)
rownames(centroids) <- rownames(mat)
centroids
obj
## now I want to do kmeans of all possible variable pairs, e.g. v1 and
v3
## automization in a second step later
wjk <- kmeans(tmat[,c(1,3)], centers=centroids[c(1,3),], iter.max=10,
algorithm="MacQueen") ## obviously wrong
______________________________________________
R-help at stat.math.ethz.ch mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide!
http://www.R-project.org/posting-guide.html
See this recent post: https://www.stat.math.ethz.ch/pipermail/r-help/2006-March/091066.html On 3/25/06, Mark Hempelmann <neo27 at t-online.de> wrote:> Dear WizaRds, > > although this might be a trivial question to the community, I was unable to > find anything solving my problem in the help files on CRAN. Please help. > > Suppose I have 4 variables and want to use all possible combinations: > 1,2 > 1,3 > 1,4 > 2,3 > 2,4 > 3,4 > for a further kmeans partitioning. > > I tried permutations() of package e1071, but this is not what I need. Thank you > for your help and support. > > mark. > --------------------------------------------------------------------- > > Additionally: For anybody who is willing to offer some advise, here is my > complete approach: > library(e1071) > > mat <- matrix( c(6,7,8,2,3,4,12,14,14, 14,15,13,3,1,2,3,4,2, > 15,3,10,5,11,7,13,6,1, 15,4,10,6,12,8,12,7,1), ncol=9, byrow=T ) > rownames(mat) <- paste("v", 1:4, sep="" ) > > tmat <- t(mat) > cluster <- c(1, 2, 1, 3, 3, 3, 1, 2, 2) > centroids <- matrix( 0, ncol=3, nrow=4 ) > obj <- vector(mode="list", length=3) > > for (j in 1:4){ > for (i in 1:3){ > where <- which(cluster==i) # which obj is in which class? > centroids[j,i] <- mean( tmat[ where,j ] ) > obj[[i]] <- tmat[where,] > } > } > colnames(centroids) <- paste( c("Cluster"), 1:3) > rownames(centroids) <- rownames(mat) > > centroids > obj > > ## now I want to do kmeans of all possible variable pairs, e.g. v1 and v3 > ## automization in a second step later > wjk <- kmeans(tmat[,c(1,3)], centers=centroids[c(1,3),], iter.max=10, > algorithm="MacQueen") ## obviously wrong > > ______________________________________________ > R-help at stat.math.ethz.ch mailing list > https://stat.ethz.ch/mailman/listinfo/r-help > PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html >