Skip to content

[R-Forge #5070] lapply "[" without anonymous function #500

@arunsrinivasan

Description

@arunsrinivasan

Submitted by: Garrett See; Assigned to: Nobody; R-Forge link

From an e-mail to the list

I have a list of data.tables and I am trying to extract a subset from each of them. I can achieve what I want with this:

L <- list(data.table(BOD), data.table(BOD))
lapply(L, function(x) x[Time==3L])
# [[1]]
#    Time demand
#1:    3     19
# 
# [[2]]
#    Time demand
#1:    3     19

However, I'd rather not type have to create an anonymous function. I tried the below, but [.data.frame is being dispatched.

lapply(L, "[", Time==3L)
# Error in `[.data.frame`(x, i) : object 'Time' not found

Even if I am explicit, [.data.table does not get dispatched:

lapply(L, data.table:::`[.data.table`, Time==3L)
# Error in `[.data.frame`(x, i) : object 'Time' not found

Metadata

Metadata

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions