apply(mydataframe,2,function(x){ print(x);is.factor(x)}) [1] "1" "2" "3" "4" [1] "16.99" "10.34" "21.01" "23.68" [1] "1.01" "1.66" "3.50" "3.31" [1] "Male" "Male" "Male" "Female" X total_bill tip sex FALSE FALSE FALSE FALSE
> sapply(mydataframe,function(x){ print(x);is.factor(x)}) [1] 1 2 3 4 [1] 16.99 10.34 21.01 23.68 [1] 1.01 1.66 3.50 3.31 [1] Male Male Male Female Levels: Female Male X total_bill tip sex FALSE FALSE FALSE TRUE Seems like sapply converts the stuff and apply keeps the strings... > Dear people, > > I am including an example of a dataframe: > > mydataframe<-data.frame(X=c(1:4),total_bill=c(16.99,10.34,21.01,23.68),tip=c(1.01,1.66,3.50,3.31),sex=c("Male","Male","Male","Female")) > > When I use the sapply function getting the information about the factors > works: > > sapply(mydataframe,function(x)is.factor(x)) > > X total_bill tip sex > FALSE FALSE FALSE TRUE > > > But if I use the apply function it doesn't work: > > apply(mydataframe,2,function(x)is.factor(x)) > > X total_bill tip sex > FALSE FALSE FALSE FALSE > > > I don't understand why, because I have used the apply function for > dataframes before e.g. using sum(x) instead of is.factor(x) and it did work. > > Could anyone help me with this? > > Thank you very much for your help in advance! > > Marion > > [[alternative HTML version deleted]] > > ______________________________________________ > 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. [[alternative HTML version deleted]] ______________________________________________ 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.