Code : Tout sélectionner
obj <- list(data = data.frame(id = 1:2, val1 = 11:12, val2 = 101:102))
class(obj) <- "ma_classe"
`[.ma_classe` <- function(x, i, j, drop = TRUE) {
# if (missing(j)) return(`[.list`(x, i))
`[.data.frame`(x$data, i, j, drop)
}
Ça fonctionne quand j'utilise deux arguments dans le crochet : obj[2, "val1"]
Par contre, j'aimerais que lorsque je n'utilise qu'un argument obj[1], je souhaiterais une sélection "standard" sur la liste.
D'où ma ligne en commentaire, mais je n'arrive pas à trouver la méthode par défaut pour une liste, même après avoir consulté
Code : Tout sélectionner
methods("[")