I much prefer the factor function over the as.factor function for converting character to factor, since you can set the levels in the order you want them to be. -- Sent from my phone. Please excuse my brevity.
On March 4, 2016 10:07:27 AM PST, Sarah Goslee <sarah.gos...@gmail.com> wrote: >As everyone has been telling you, as.factor(). >If you like the mutate approach, you can call as.factor(test$subject) >to convert it. > >Here's a one-liner with reproducible data. > > >testdata <- structure(list(subject = structure(1:6, .Label = >c("001-002", >"002-003", "003-004", "004-005", "005-006", "006-007"), class = >"factor"), > group = structure(c(1L, 1L, 1L, 2L, 2L, 2L), .Label = c("boys", > "girls"), class = "factor"), wk1 = c(2L, 7L, 9L, 5L, 2L, > 1L), wk2 = c(3L, 6L, 4L, 7L, 6L, 4L), wk3 = c(4L, 5L, 6L, > 8L, 3L, 7L), wk4 = c(5L, 4L, 1L, 9L, 8L, 4L)), .Names = c("subject", >"group", "wk1", "wk2", "wk3", "wk4"), class = "data.frame", row.names = >c(NA, >-6L)) > >testdata$subject <- as.factor(substring(as.character(testdata$subject), >1, 3)) > >> testdata > subject group wk1 wk2 wk3 wk4 >1 001 boys 2 3 4 5 >2 002 boys 7 6 5 4 >3 003 boys 9 4 6 1 >4 004 girls 5 7 8 9 >5 005 girls 2 6 3 8 >6 006 girls 1 4 7 4 >> str(testdata) >'data.frame': 6 obs. of 6 variables: > $ subject: Factor w/ 6 levels "001","002","003",..: 1 2 3 4 5 6 > $ group : Factor w/ 2 levels "boys","girls": 1 1 1 2 2 2 > $ wk1 : int 2 7 9 5 2 1 > $ wk2 : int 3 6 4 7 6 4 > $ wk3 : int 4 5 6 8 3 7 > $ wk4 : int 5 4 1 9 8 4 > >Sarah > >On Fri, Mar 4, 2016 at 1:00 PM, KMNanus <kmna...@gmail.com> wrote: >> >> Here’s the dataset I’m working with, called test - >> >> subject group wk1 wk2 wk3 wk4 place >> 001-002 boys 2 3 4 5 >> 002-003 boys 7 6 5 4 >> 003-004 boys 9 4 6 1 >> 004-005 girls 5 7 8 9 >> 005-006 girls 2 6 3 8 >> 006-007 girls 1 4 7 4 >> >> >> if I call mutate(test, place = substr(subject,1,3), “001 is the first >observation in the place column >> >> But it’s a character and “subject” is a factor. I need place to be a >factor, too, but I need the observations to be ONLY the first three >numbers of “subject.” >> >> Does that make my request more understandable? > >______________________________________________ >R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see >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. [[alternative HTML version deleted]] ______________________________________________ R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see 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.