Try adding simplify=FALSE to the call to by(). -Bill
On Tue, Nov 16, 2021 at 4:04 AM Ofek Shilon <ofekshi...@gmail.com> wrote: > Take this toy code: > df <- data.frame(a=seq(10), b=rep(1:2, 5)) > df.empty <- subset(df, a>10) > byy <- by(data=df, INDICES=df$b, FUN=function(x) x[1,]) > byy.empty <- by(data=df.empty, INDICES=df.empty$b, FUN=function(x) x[1,]) > > class(byy) # "by" > class(byy.empty) # "by" > > is.list(byy) # TRUE > is.list(byy.empty) # FALSE! > > > This behavior already messed up stuff elsewhere: > https://github.com/Rdatatable/data.table/issues/5258 > > I'd say any questions about the class of an object (whether 'class' or > indirectly by 'is.**') > should not have the answers depend on the specific contents of the object. > > Does this qualify as an R bug? Am I missing something? > > [[alternative HTML version deleted]] > > ______________________________________________ > R-devel@r-project.org mailing list > https://stat.ethz.ch/mailman/listinfo/r-devel > [[alternative HTML version deleted]] ______________________________________________ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel