[R] variable names
Hotz, T.
th50 at leicester.ac.uk
Tue Jul 22 16:24:33 CEST 2003
Dear Luis,
you could change my previous reply to something like
lapply(dataNames,function(theName){
eval(parse(text = paste("rpart(X", ncol(get(theName)), "~., data =", theName, ")")))
})
making use of get(), ncol() and Torsten's suggestion.
HTH
Thomas
> -----Original Message-----
> From: Luis Miguel Almeida da Silva [mailto:lsilva at fc.up.pt]
> Sent: 22 July 2003 15:11
> To: Torsten Hothorn
> Cc: r-help at stat.math.ethz.ch
> Subject: RE: [R] variable names
>
>
> I didn't noticed that fact. I've already found a way to do that
>
> x <- 1:40
> colnames(df.treino) <- paste("Ncp",x,sep=".")
>
> and this generates names that I can relate with the
> variables. Thanks anyway
>
> The problem is that I use rpart in a loop and the class
> labels are in the last column. For the above example I would "type"
>
> rpart(Ncp.40~.,data=df.treino)
>
> But in the next step of the loop I can have only 35 variables
> and the class labels would be at the Ncp.36. So I have to
> refresh the formula in rpart... and that is my problem
>
> -----Original Message-----
> From: Torsten Hothorn [mailto:hothorn at ci.tuwien.ac.at]
> Sent: Tue 22/07/2003 14:57
> To: Luis Miguel Almeida da Silva
> Cc: r-help at stat.math.ethz.ch
> Subject: Re: [R] variable names
>
>
>
>
> On Tue, 22 Jul 2003, Luis Miguel Almeida da Silva wrote:
>
> > Dear helpers
> >
> > I want to use rpart several times in a loop to build
> a classification tree. My problem is that rpart needs a
> formula as argument and for that the variables need to have
> names and this doesn't happen in my case. Every iteration in
> the loop has a different dataset with several variables (ex.
> 38 or more) and so I can't type the names by hand every time.
> Is there any function that generates names for variables in a
> dataframe. If so, how can I use then the argument
> >
>
> If your data is organised in a data.frame, (dummy)
> variable names are
> available by default:
>
> R> mydata <- data.frame(matrix(rnorm(25), ncol=5))
> R> mydata
> X1 X2 X3 X4 X5
> 1 1.3806313 -0.41827136 0.9591628 -1.3351038 0.02746110
> 2 0.5114590 -1.34111439 -0.9617552 -0.8367088 -0.06913021
> 3 -1.7508089 -0.49387076 -1.7597395 2.3899490 -0.15209650
> 4 -1.6753809 -1.28381808 -1.0424903 0.1002998 0.27784949
> 5 -0.2605535 -0.09035652 -2.5786418 1.0483400 -0.70445615
> R> rpart(X1 ~ ., data = mydata)
> n= 5
>
> node), split, n, deviance, yval
> * denotes terminal node
>
> 1) root 5 7.463698 -0.3589306 *
>
> best,
>
> Torsten
>
> > rpart(classlabels~. ,.....)
> >
> > thanks
> >
> > ______________________________________________
> > R-help at stat.math.ethz.ch mailing list
> > https://www.stat.math.ethz.ch/mailman/listinfo/r-help
> >
> >
>
> ______________________________________________
> R-help at stat.math.ethz.ch mailing list
> https://www.stat.math.ethz.ch/mailman/listinfo/r-help
>
More information about the R-help
mailing list