A Singh
2009-Nov-16 12:42 UTC
[R] lapply() not converting columns to factors (no error message)
Dear List, I'm having a curious problem with lapply(). I've used it before to convert a subset of columns in my dataframe, to factors, and its worked. But now, on re-running the identical code as before it just doesn't convert the columns into factors at all. As far as I can see I've done nothing different, and its strange that it shouldn't do the action. Has anybody come across this before? Any input on this strange issue much appreciated.. Hope I haven't missed something obvious. Thanks a lot, Aditi (P.s.- I've tried converting columns one by one to factors this time, and that works.>P1L55<-factor(P1L55) >levels(P1L55) >[1] "0" "1"Code: prm<-read.table("P:\\..... .csv", header=T, ...sep=",", ...) prmdf<-data.frame(prm) prmdf[2:13]<-lapply(prmdf[2:13], factor) ## action performed, no error message ##I tried to pick random columns and check>levels(P1L55) >NULL>is.factor(P1L96) >FALSE---------------------- A Singh Aditi.Singh at bristol.ac.uk School of Biological Sciences University of Bristol
A Singh
2009-Nov-16 12:50 UTC
[R] lapply() not converting columns to factors (no error message)
Sorry, my file is at: http://www.4shared.com/file/153147281/a5c78386/Testvcomp10.html ---------------------- A Singh Aditi.Singh at bristol.ac.uk School of Biological Sciences University of Bristol
Sundar Dorai-Raj
2009-Nov-16 12:59 UTC
[R] lapply() not converting columns to factors (no error message)
Works for me: x <- read.csv(url("http://dc170.4shared.com/download/153147281/a5c78386/Testvcomp10.csv?tsid=20091116-075223-c3093ab0")) names(x) x[2:13] <- lapply(x[2:13], factor)> levels(x$P1L55)[1] "0" "1"> is.factor(x$P1L96)[1] TRUE> sessionInfo()R version 2.10.0 (2009-10-26) i386-apple-darwin9.8.0 locale: [1] en_US.UTF-8/en_US.UTF-8/C/C/en_US.UTF-8/en_US.UTF-8 attached base packages: [1] stats graphics grDevices utils datasets methods base other attached packages: [1] lattice_0.17-26 loaded via a namespace (and not attached): [1] grid_2.10.0 tools_2.10.0 On Mon, Nov 16, 2009 at 4:50 AM, A Singh <Aditi.Singh at bristol.ac.uk> wrote:> Sorry, my file is at: > > > http://www.4shared.com/file/153147281/a5c78386/Testvcomp10.html > > > ---------------------- > A Singh > Aditi.Singh at bristol.ac.uk > School of Biological Sciences > University of Bristol > > ______________________________________________ > 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. >
Peter Dalgaard
2009-Nov-16 14:30 UTC
[R] lapply() not converting columns to factors (no error message)
A Singh wrote:> Dear List, > > I'm having a curious problem with lapply(). I've used it before to > convert a subset of columns in my dataframe, to factors, and its worked. > But now, on re-running the identical code as before it just doesn't > convert the columns into factors at all. > > As far as I can see I've done nothing different, and its strange that it > shouldn't do the action. > > Has anybody come across this before? Any input on this strange issue > much appreciated.. > > Hope I haven't missed something obvious. > > Thanks a lot, > > Aditi > > (P.s.- I've tried converting columns one by one to factors this time, > and that works. > >> P1L55<-factor(P1L55) >> levels(P1L55) >> [1] "0" "1" > > Code: > > prm<-read.table("P:\\..... .csv", header=T, ...sep=",", ...) > > prmdf<-data.frame(prm) > > prmdf[2:13]<-lapply(prmdf[2:13], factor) ## action performed, no error > message > > ##I tried to pick random columns and check > >> levels(P1L55) >> NULL > >> is.factor(P1L96) >> FALSEMake sure that you are looking in the same object that you changed. E.g. attach(prmdf) prmdf[2:13]<-lapply(prmdf[2:13], factor) levels(P1L55) is not going to work levels(prmdf$P1L55) should, or attaching _after_ the change. Also, make sure that you don't have P1L55 et al. sitting in the global enviromnent. -- O__ ---- Peter Dalgaard ?ster Farimagsgade 5, Entr.B c/ /'_ --- Dept. of Biostatistics PO Box 2099, 1014 Cph. K (*) \(*) -- University of Copenhagen Denmark Ph: (+45) 35327918 ~~~~~~~~~~ - (p.dalgaard at biostat.ku.dk) FAX: (+45) 35327907
Seemingly Similar Threads
- Error: length(f1) == length(f2) is not TRUE
- Differing Variable Length Inconsistencies in Random Effects/Regression Models
- Splitting massive output into multiple text files
- Error: length(f1) == length(f2) is not TRUE (fwd)
- How to block data across multiple columns?