[R] unwanted coercion using apply
David Winsemius
dwinsemius at comcast.net
Sun May 22 21:40:06 CEST 2011
On May 22, 2011, at 2:11 AM, Jeroen Ooms wrote:
> I need to convert a dataframe to a record-structure, to be able to
> encode it
> later in JSON. Suppose this is the data:
>
> mydata <- data.frame(foo=1:3, bar=c("M","M","F"));
>
> I would like to convert this to a unnamed list (json array) of key-
> value
> pairs. For example like this:
>
> apply(data.frame(foo=1:3, bar=c("M","M","F")),1,as.list)
>
> However, when I do this, all the numeric values are converted to
> strings. I
> don't understand why this is, because when I try to convert one record
> simulataniously, this does not happen:
>
> as.list(mydata[1,]);
>
> I am not sure if this is indended behaviour or not, but is there an
> elegant
> way to apply 'as.list' to all of the dataframe rows without coercing
> everything to strings?
?pairlist
pairlist( letters[1:3], 1:3)
pairlist(mydata$bar, ydata$foo) # assuming the numbers were values
for letter names.
--
David Winsemius, MD
West Hartford, CT
More information about the R-help
mailing list