是否可以在R中定义自己的基元? (或看起来,感觉和像原始一样工作的东西)
我正在谈论新版$
,[
,for(){}
等。
例如,我可能想要一个与£
类似的原始$
,但它会从像这样的列表列表中访问元素
list_of_lists<-lapply(1:10,function(x){list(a=1,b=2)})
list_of_lists£a
# return a list of all elements called `a` from list_of_lists
我最接近的是:
`%£%`<- function(x,y){
lapply(x,function(x){x[[y]]})
}
list_of_lists<-lapply(1:10,function(x){list(a=1,b=2)})
list_of_lists%£%"a"
# return a list of all elements called `a` from list_of_lists
有没有办法定义它,使它的工作方式与“真实”原语完全相同?
我对这个具体问题不感兴趣,我想知道原则上我是如何定义$
,[
,for(){}
等我自己的版本