data.frame, data types, and apply
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 at 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