[R] getting a variable from an object named using paste

From: Constantinos Antoniou <costas_at_mit.edu>
Date: Sat 09 Jul 2005 - 21:01:55 EST


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 ]

lala <- read.csv("station-1-120103.txt",header=F) ll <- cbind(lala$V25,lala$V22)

and sure enough if I type cmeans50 I get the output of this cmeans run.

This also works, naturally:


[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)

I only get two columns (the last term has no effect).

Any ideas as to what I am doing wrong?

Thanks a lot!


Constantinos Antoniou, Ph.D.
Massachusetts Institute of Technology
Intelligent Transportation Systems Program
77 Massachusetts Ave., Rm. 1-249, Cambridge, MA 02139

R-help@stat.math.ethz.ch mailing list
PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html
Received on Sat Jul 09 21:20:48 2005

This archive was generated by hypermail 2.1.8 : Fri 03 Mar 2006 - 03:33:26 EST