Tena koe Toni Assume your data is in a data.frame called toniData (naming a data.frame data is not a good idea as data is a function in R - see ?data), and that Group is of class character (try str(toniData)) then:
toniData[toniData$Group %in% 'A','Group'] <- 'C' will work. But from your message below I suspect Group is of class factor. So you either need to change its class: toniData$Group <- as.character(toniData$Group) or rename the level names. For example: set.seed(0) toniG <- factor(LETTERS[sample(1:2, size=10, replace=TRUE)]) toniG [1] B A A B B A B B B B Levels: A B levels(toniG) [1] "A" "B" levels(toniG) <- c('C','B') toniG [1] B C C B B C B B B B Levels: C B Regarding your second question, see sub() (or gsub()) - again paying attention to whether or not you are dealing with factor or character variables. HTH .... Peter Alspach > -----Original Message----- > From: r-help-boun...@r-project.org [mailto:r-help-boun...@r- > project.org] On Behalf Of Toni Pitcher > Sent: Friday, 23 July 2010 9:44 a.m. > To: r-help@r-project.org > Subject: [R] Changing some values within a variable > > Hi > > I'm new to R and would like some help with a couple of problems. I > suspect the solutions are quite simple. > > I have a data.frame (data) with 40 variables and 5238 observations > created from ~150 text files using read.table. > > I would like to change some of the entries within two different > columns. > > Firstly, in the Group column I have groups A and B, I would like to > select all As and change to C. I have tried the following; > > data$Group = ifelse(data$Group == 'A', "C", data$Group) > data$Group <- as.factor(data$Group) > > This works to some extent, all As have been changes to Cs, but the Bs > have also been changed, in this case to "2", instead of remaining as > their original values. How do I get the Bs to stay the same? > > > Second problems is similar; > > I need to change some of the Subject IDs. The required format is 3 > numbers followed by 3 letters (999LLL). Some of the IDs have format > 999LLL-LL, Thus I need to delete the -LL from the IDs. > How do I generically specify "find 999LLL-LL and replace with 999LLL"? > > > Many thanks in advance > > Toni > > > > > -- > Toni Pitcher PhD > Dept. of Medicine > University of Otago, Christchurch > > Van der Veer Institute for Parkinson's and Brain Research > 66 Stewart St > Christchurch 8011 > New Zealand > > Phone: +64 3 378 6075 (internal extn 86075) > Email: toni.pitc...@otago.ac.nz > > ______________________________________________ > 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. ______________________________________________ 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.