On Dec 7, 2010, at 2:31 PM, Erik Iverson wrote:

Hello,

To do what you want, see ?toupper :

levels(dat$target) <- toupper(levels(dat$target))

However, for clarity,

dat$target is not a "string variable", it is a factor,
which you can verify with

> str(dat)

And to further clarify, it is a factor because of the default behavior of read.table and data.frame in creating factors when offered streams of character data. The stringsAsFactors=FALSE argument can be used within these functions or can be set globally with options().

--
David.


Factors are enumerated types, and have a discrete
set of 'levels' associated with them,
which can be queried with the ?levels function.

'Behind the scenes', R is storing this variable
as numeric codes, not the character string associated
with each numeric code.

This contrasts with character vectors.


--Erik

Jahan wrote:
Hello,
Here is the data set I am working with:
dat=read.csv('http://dl.dropbox.com/u/1852742/relexpressions.csv')
names(dat)
#Under the 'target' column, I want to change all of the values into
all capital letters (e.g. fgf2 becomes FGF2).  I have taken a loop
approach but I think my Python background is confusing me.  Here is
what I attempted:
for(line in dat[,1]){if(line=='fgf2'){line<-'FGF2'}}
#I made sure that it was looping through each line by entering:
for(line in dat[,1]){if(line=='fgf2'){print(line)}} #Which did exactly
what I thought it would.
#This doesn't change anything, though.  Also, after reading the
documentation I am still confused how to add multiple "if"
statements.  I would need that because I need to change the names of
fgf2, fgf7, and fgf10.
#I am sure there is a built-in function to do what I need, but I
haven't found it yet so I tried this loop method. Any help is greatly
appreciated!
Jahan


David Winsemius, MD
West Hartford, CT

______________________________________________
R-help@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.

Reply via email to