Constantinos Antoniou wrote: > Hello, > > The subject could be articulated better ;(, but I am stuck... > > In any case, my problem is the following: I am trying to use knn, and > it requires a classification. So I am using cmeans for this. What I > want to do is add the classification as a new column in my data.frame > (to be used for knn). Now, the trick is that I would like to name the > output of the cmeans classification based on the number of clusters > (e.g. cmeans30 for 30 clusters). To do this, I do the following: > > > [The file for this example can be downloaded from: > > http://mit.edu/costas/www/station-1-120103.txt ] > > > library(e1071) > lala <- read.csv("station-1-120103.txt",header=F) > ll <- cbind(lala$V25,lala$V22) > num.of.clust=50 > assign(paste("cmeans",num.of.clust,sep=""),cmeans(ll,num.of.clust)) > > and sure enough if I type cmeans50 I get the output of this cmeans run. > > This also works, naturally: > > llc<-cbind(ll,cmeans50$cluster) > > [and I now get three columns, where the third column is the cluster ID.] > > However, when I do what I really want (i.e. not call cmeans50 > explicitly, but through the name that I constructed programmatically): > > llc <- cbind(ll,(paste("cmeans",num.of.clust,sep=""))$cluster)
This is a FAQ: use get() Uwe Ligges > I only get two columns (the last term has no effect). > > Any ideas as to what I am doing wrong? > > Thanks a lot! > > Costas > > > ______________________________________________ [email protected] mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html
