[R] apply and sapply oddity
Duncan Murdoch
murdoch.duncan at gmail.com
Wed Oct 24 01:06:40 CEST 2012
On 12-10-23 6:56 PM, Brian wrote:
> Hi List,
>
> why are the results of the two bits of below code different?
>
> > sapply(1:ncol(d.f), function(i) mode(d.f[,i]))
> [1] "character" "character" "numeric" "numeric" "numeric" "numeric"
> [7] "numeric" "numeric" "numeric" "numeric" "numeric" "numeric"
> [13] "numeric" "numeric" "character"
> > apply(d.f, 2, mode)
> stn time gre000z0 prestas0 tre200s0 ure200s0
> "character" "character" "character" "character" "character"
> "character"
> usp200s0 fve010z0 dkl010z0 chron CO_sync
> CO2_dry_sync
> "character" "character" "character" "character" "character"
> "character"
> CH4_dry_sync H2O_sync wd.bin
> "character" "character" "character"
>
> I am a bit vexed. I thought those two would be equivalent.
As the man page says, apply coerces a dataframe to a matrix before doing
the calculations. In a matrix, all the columns are the same type.
Duncan Murdoch
More information about the R-help
mailing list