From adrian_d at eskimo.com  Wed Nov  4 21:23:29 2009
From: adrian_d at eskimo.com (Adrian Dragulescu)
Date: Wed, 4 Nov 2009 12:23:29 -0800 (PST)
Subject: [Rd] inconsistent behavior for logical vectors when using apply
 (" TRUE")
In-Reply-To: <B37C0A15B8FB3C468B5BC7EBC7DA14CC62F518D98F@LP-EXMBVS10.CO.IHC.COM>
References: <Pine.LNX.4.64.0911041137150.6795@shell.eskimo.com>
	<B37C0A15B8FB3C468B5BC7EBC7DA14CC62F518D98F@LP-EXMBVS10.CO.IHC.COM>
Message-ID: <Pine.LNX.4.64.0911041222570.6795@shell.eskimo.com>


Well documented in ?as.matrix.

Ignore my previous post.

On Wed, 4 Nov 2009, Greg Snow wrote:

> The apply function was meant to work on matrices and arrays, when you use it on a data frame, the frame is first converted to a matrix.  Since your data frame has columns of different modes, the logical column is converted to character and the matrix is of the single mode character.  That is what you are seeing.
>
> -- 
> Gregory (Greg) L. Snow Ph.D.
> Statistical Data Center
> Intermountain Healthcare
> greg.snow at imail.org
> 801.408.8111
>
>> -----Original Message-----
>> From: r-devel-bounces at r-project.org [mailto:r-devel-bounces at r-
>> project.org] On Behalf Of Adrian Dragulescu
>> Sent: Wednesday, November 04, 2009 12:45 PM
>> To: r-devel
>> Subject: [Rd] inconsistent behavior for logical vectors when using
>> apply (" TRUE")
>>
>>
>> Hello,
>>
>>> X <- data.frame(letters=letters[1:3], flag=c(TRUE, FALSE, TRUE))
>>> X
>>    letters  flag
>> 1       a  TRUE
>> 2       b FALSE
>> 3       c  TRUE
>>> apply(X, 1, as.list)
>> [[1]]
>> [[1]]$letters
>> [1] "a"
>>
>> [[1]]$flag
>> [1] " TRUE"
>>
>>
>> [[2]]
>> [[2]]$letters
>> [1] "b"
>>
>> [[2]]$flag
>> [1] "FALSE"
>>
>>
>> [[3]]
>> [[3]]$letters
>> [1] "c"
>>
>> [[3]]$flag
>> [1] " TRUE"
>>
>> Notice how TRUE becomes " TRUE" and FALSE becomes "FALSE".  Not sure
>> why
>> TRUE gets an extra whitespace in front.
>>
>> Checked with R-2.10.0, but can reproduce the behavior as far back as
>> R-2.8.1.
>>
>> Adrian Dragulescu
>>
>>> sessionInfo()
>> R version 2.10.0 (2009-10-26)
>> i386-pc-mingw32
>>
>> locale:
>> [1] LC_COLLATE=English_United States.1252  LC_CTYPE=English_United
>> States.1252
>> [3] LC_MONETARY=English_United States.1252 LC_NUMERIC=C
>> [5] LC_TIME=English_United States.1252
>>
>> attached base packages:
>> [1] stats     graphics  grDevices utils     datasets  methods   base
>>
>> loaded via a namespace (and not attached):
>> [1] tools_2.10.0
>>
>> ______________________________________________
>> R-devel at r-project.org mailing list
>> https://stat.ethz.ch/mailman/listinfo/r-devel
>



[Rd] inconsistent behavior for logical vectors when using apply (" TRUE")
Adrian Dragulescu