Vincent Detours wrote:
Dear all,
Here is an issue I often stumble on.
1- colunm types in data.frames.
-------------------------------
d <- data.frame(x=as.character(c("a", "b", "c")), y=as.numeric(c(1, 2, 3))) d
x y 1 a 1 2 b 2 3 c 3
is.numeric(d[1,2])
[1] TRUE
is.numeric(d[1,1])
[1] FALSE
apply(d, c(1,2), is.numeric)
x y 1 FALSE FALSE 2 FALSE FALSE 3 FALSE FALSE
-------------------------------
All item in column "y" should be TRUE right? What should I do to apply a function only to numerics in d? (beside using nested 'for' loops)
It is correct!
d is a data.frame, but apply() works on matrices. So d is coerced to a matrix which means that there need to be only one mode - and that is character!
Check the columns as in
sapply(d, is.numeric)
Uwe Ligges
Thanks for your help, and for all the great software.
Vincent Detours
______________________________________________ R-help@stat.math.ethz.ch mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html
______________________________________________ R-help@stat.math.ethz.ch mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html