[R] how to change the class of a group of objects

Ben Mazzotta benjamin.mazzotta at tufts.edu
Mon Nov 23 23:51:06 CET 2009


Dear R users,

I would like to change the class of a group of objects in R memory from
"numeric" to "dist". I can manipulate the class using

class(foo) <- bar

but I cannot get the same command to work on groups of variables. When I
use for() loops and lists of names, inevitably I have to specify

class(get("foo")) <- bar

which causes class() to return an error. Could anyone offer some advice
how to manipulate classes and attributes of a list of objects in memory?

Many thanks,
Ben




a <- c(1:5)
b <- c(1:10)
c <- c(1:20)

# What I would like to do is coerce all of these to class "dist".
# How can I write a command that changes the class of a, b, AND c to 
"dist"?
# Most of my answers include a list or a for() loop over (a, b, c)
# How can I write a command that changes attributes of a, b, and c all
at the same time?
# I can force the process to work for a few objects, but it is
time-consuming.
# For reference, I am including the following commands.

class(a)
class(get(letters[1]))
class(a) <- "dist"
class(a) <- NULL
class(a)
class(get(letters[1])) <- "dist"


-- 
Ben Mazzotta
PhD Candidate
Fletcher School, Tufts University
160 Packard Ave, Medford MA 02155
benjamin.mazzotta at tufts.edu
+1.617.462.4486




More information about the R-help mailing list