I have a data.frame as follows: v1 v2 v3 v4 v5.....v100 1 1 0 0 1 2 2 1 2 1 0 1 1 1 1 2 1 0 . . . . . . . . . . . . 1 2 2 1 1 0 so for this data set, what I wanna do is to replace all the '2' with '1', how can I do it in an efficient way? thank you, karena -- View this message in context: http://r.789695.n4.nabble.com/a-question-about-replacing-the-value-in-the-data-frame-tp2532010p2532010.html Sent from the R help mailing list archive at Nabble.com.
Joshua Wiley
2010-Sep-08 22:21 UTC
[R] a question about replacing the value in the data.frame
Hello Karena,
dat <- as.data.frame(matrix(sample(0:2, 4000000, replace = TRUE), ncol =
4000))
# if it is a data frame and has to stay that way
# the option that comes to mind is apply()
apply(dat, 2, function(x) {ifelse(x==2, 1, x)})
# if it can be or can be converted to a matrix
dat2 <- as.matrix(dat)
dat2[dat2 == 2] <- 1
On my system, the times for each method were:
> system.time(apply(dat, 2, function(x) {ifelse(x==2, 1, x)}))
user system elapsed
5.472 0.296 6.803> system.time(dat2[dat2 == 2] <- 1)
user system elapsed
0.584 0.136 0.763
Hope that helps,
Josh
On Wed, Sep 8, 2010 at 1:48 PM, karena <dr.jzhou at gmail.com>
wrote:>
> I have a data.frame as follows:
> v1 ? ? v2 ? ? v3 ? ? v4 ? ? v5.....v100
> 1 ? ? ? 1 ? ? ? 0 ? ? ? 0 ? ? ?1 ? ? ? ?2
> 2 ? ? ? 1 ? ? ? 2 ? ? ? 1 ? ? ?0 ? ? ? ?1
> 1 ? ? ? 1 ? ? ? 1 ? ? ? 2 ? ? ?1 ? ? ? ?0
> . ? ? ? ?. ? ? ? ?. ? ? ? . ? ? ? . ? ? ? ?.
> . ? ? ? ?. ? ? ? ?. ? ? ? . ? ? ? . ? ? ? ?.
> 1 ? ? ? 2 ? ? ? 2 ? ? ? 1 ? ? ? 1 ? ? ? 0
>
> so for this data set, what I wanna do is to replace all the '2'
with '1',
> how can I do it in an efficient way?
>
> thank you,
>
> karena
> --
> View this message in context:
http://r.789695.n4.nabble.com/a-question-about-replacing-the-value-in-the-data-frame-tp2532010p2532010.html
> Sent from the R help mailing list archive at Nabble.com.
>
> ______________________________________________
> R-help at 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.
>
--
Joshua Wiley
Ph.D. Student, Health Psychology
University of California, Los Angeles
http://www.joshuawiley.com/
Thanks a lot! -- View this message in context: http://r.789695.n4.nabble.com/a-question-about-replacing-the-value-in-the-data-frame-tp2532010p2533036.html Sent from the R help mailing list archive at Nabble.com.