[datatable-help] zero length list component in j

Eduard Antonyan eduard.antonyan at gmail.com
Sat May 18 00:51:11 CEST 2013


nm, looks like the above is the doing of `ifelse` and is a different issue


On Fri, May 17, 2013 at 5:45 PM, Eduard Antonyan
<eduard.antonyan at gmail.com>wrote:

> Actually, looking at this example:
>
> > dd[, ifelse(a < 2, a, integer(0)), by = a]
>    a V1
> 1: 1  1
> 2: 2 NA
> 3: 3 NA
>
> I don't quite understand the output. I don't have a coherent story for
> this and your examples - either your second example should print NA's or
> this one shouldn't have the last two rows imo.
>
>
> On Fri, May 17, 2013 at 5:36 PM, Gabor Grothendieck <
> ggrothendieck at gmail.com> wrote:
>
>> Yes, I understand all that but its not inevitable that it had to be
>> that way.  If we perform a computation that results in a list with
>> zero length component then the corresponding row won't show up but
>> another possibility might have been that it would show up filled in
>> with NAs.
>>
>> At any rate, the question remains whether this behavior is intended or
>> not.
>>
>>
>>
>>
>>
>> On Fri, May 17, 2013 at 4:47 PM, Eduard Antonyan
>> <eduard.antonyan at gmail.com> wrote:
>> > well numeric(0) is no data, but because in the first case there was
>> other
>> > data to output and you also asked to output `y`, what else was it
>> supposed
>> > to do? ( it might help to look at the output of c(numeric(0),
>> numeric(0)) )
>> >
>> >
>> > On Fri, May 17, 2013 at 3:38 PM, Gabor Grothendieck
>> > <ggrothendieck at gmail.com> wrote:
>> >>
>> >> In the first case it replaced the zero length component with NA and in
>> >> the second case it did not.  Why the difference?
>> >>
>> >> On Fri, May 17, 2013 at 4:33 PM, Eduard Antonyan
>> >> <eduard.antonyan at gmail.com> wrote:
>> >> > Maybe I'm missing smth, but what else did you expect? Looks like it
>> did
>> >> > it's
>> >> > best to compensate for the user not supplying full data in the first
>> >> > example, and there really was nothing to do in the second one.
>> >> >
>> >> >
>> >> >
>> >> > On Fri, May 17, 2013 at 3:27 PM, Gabor Grothendieck
>> >> > <ggrothendieck at gmail.com> wrote:
>> >> >>
>> >> >> Is this intended?  If we use j = list(x = "X", y = numeric(0)) we
>> get
>> >> >> a row but if we use just list(y = numeric(0)) then we do not get a
>> >> >> row.  In the first case it filled in the zero length component with
>> NA
>> >> >> and in the second case it just omitted the row entirely:
>> >> >>
>> >> >> > dd <- data.table(a = 1:3)
>> >> >> > dd
>> >> >>    a
>> >> >> 1: 1
>> >> >> 2: 2
>> >> >> 3: 3
>> >> >> > dd[, list(x = "X", y = numeric(0)), by = a]
>> >> >>    a x  y
>> >> >> 1: 1 X NA
>> >> >> 2: 2 X NA
>> >> >> 3: 3 X NA
>> >> >> > dd[, list(y = numeric(0)), by = a]
>> >> >> Empty data.table (0 rows) of 2 cols: a,y
>> >> >>
>> >> >>
>> >> >> --
>> >> >> Statistics & Software Consulting
>> >> >> GKX Group, GKX Associates Inc.
>> >> >> tel: 1-877-GKX-GROUP
>> >> >> email: ggrothendieck at gmail.com
>> >> >> _______________________________________________
>> >> >> datatable-help mailing list
>> >> >> datatable-help at lists.r-forge.r-project.org
>> >> >>
>> >> >>
>> >> >>
>> https://lists.r-forge.r-project.org/cgi-bin/mailman/listinfo/datatable-help
>> >> >
>> >> >
>> >>
>> >>
>> >>
>> >> --
>> >> Statistics & Software Consulting
>> >> GKX Group, GKX Associates Inc.
>> >> tel: 1-877-GKX-GROUP
>> >> email: ggrothendieck at gmail.com
>> >
>> >
>>
>>
>>
>> --
>> Statistics & Software Consulting
>> GKX Group, GKX Associates Inc.
>> tel: 1-877-GKX-GROUP
>> email: ggrothendieck at gmail.com
>>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.r-forge.r-project.org/pipermail/datatable-help/attachments/20130517/12693d6d/attachment-0001.html>


More information about the datatable-help mailing list