Dear Micheal,

Thank you. So to make a zoo which has factors in into a numeric,we have to
go from factor to character to numeric. The coredata goes fine from factor
to character. In the numeric conversion we need a new zoo object.

Best,
Ashim

On Tue, Sep 27, 2011 at 4:21 PM, R. Michael Weylandt <
michael.weyla...@gmail.com> wrote:

> It's just a guess from playing around with a few things. The author of the
> package is on this list and he could both confirm that I'm right and say why
> exactly it is implemented like this.
>
> My hunch is that it ultimately comes from the fact that
>
> coredata(z) != z
>
> Consider this:
>
> x = letters[1:5]
> x2 <- x1 <- x
>
> mode(x)
>
> x1[1:5] <- 1:5 # Modify the values of x1 without changing the mode
> print(x1)
>
> x2 <- 1:5 # Replace x2
> print(x2)
>
> Michael Weylandt
>
>
> On Tue, Sep 27, 2011 at 6:41 AM, Ashim Kapoor <ashimkap...@gmail.com>wrote:
>
>> Dear Michael,
>>
>> I don't think this is mentioned in the zoo FAQ. May I ask where you read
>> this? Some references ?
>>
>> Thank you for your help,
>> Ashim
>>
>>
>> On Tue, Sep 27, 2011 at 4:06 PM, R. Michael Weylandt <
>> michael.weyla...@gmail.com> wrote:
>>
>>> Yes, once made into a character zoo, the core data is marked to be of
>>> mode "character" and most attempts to modify involve implicit coercion to
>>> that mode.
>>>
>>> The following however works:
>>>
>>> library(zoo)
>>>
>>> z <- zoo(1:4, order.by=1:4)
>>> str(z)
>>>
>>> z.Str <- z
>>> coredata(z.Str) <- as.character(coredata(z))
>>> str(z.Str)
>>>
>>> z.Num <- z.Str
>>> mode(z.Num) <- "numeric"
>>> str(z.Num)
>>>
>>> However, I prefer to use this sort of line of code:
>>>
>>> z.Num <- zoo(as.double(z.Str), index(z.Str))
>>>
>>> finding it a little more transparent.
>>>
>>> Hope this helps,
>>> Michael Weylandt
>>>
>>> On Tue, Sep 27, 2011 at 5:56 AM, Ashim Kapoor <ashimkap...@gmail.com>wrote:
>>>
>>>> Dear R-helpers,
>>>>
>>>> It seems to me that a character zoo cannot be coerced to a numeric zoo.
>>>> Below is a minimal example. Can someone tell me what I have done wrong?
>>>>
>>>> > z<-zoo(1:4,order.by=1:4)
>>>> > coredata(z)<-as.character(coredata(z))
>>>> > str(z)
>>>> ‘zoo’ series from 1 to 4
>>>>  Data: chr [1:4] "1" "2" "3" "4"
>>>>  Index:  int [1:4] 1 2 3 4
>>>> > coredata(z)<-as.numeric(coredata(z))
>>>> > str(z)
>>>> ‘zoo’ series from 1 to 4
>>>>  Data: chr [1:4] "1" "2" "3" "4"
>>>>  Index:  int [1:4] 1 2 3 4
>>>>
>>>>
>>>> Many thanks,
>>>> Ashim
>>>>
>>>>        [[alternative HTML version deleted]]
>>>>
>>>>
>>>> ______________________________________________
>>>> R-help@r-project.org mailing list
>>>> https://stat.ethz.ch/mailman/listinfo/r-help
>>>> PLEASE do read the posting guide
>>>> http://www.R-project.org/posting-guide.html
>>>> and provide commented, minimal, self-contained, reproducible code.
>>>>
>>>>
>>>
>>
>

        [[alternative HTML version deleted]]

______________________________________________
R-help@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.

Reply via email to