我多次键入MyData$Column1
,MyData$Column2
等,因此我想创建一个使它变短的函数f。
我尝试过
f1 <- function(x){
return((MyData$x))
}
但是f1(Column1)总是返回NULL,f1(“ Column2”)也是如此。
但是,当我定义
f2 <- function(y){
return(MyData[,y]
}
此方法有效,即f2(2)返回第2列。
真正令我困惑的是,如果我跑步
MyData[,2] == MyData$Column2
然后我得到相同的答案。
我研究了如何在R中定义不同的环境(即,全局环境与特定函数内部的环境不同,如果要覆盖全局,则需要使用<<-函数环境中的变量等)。
但是,这似乎与这个问题无关:如果我可以在一种情况下访问MyData,那么在另一种情况下我也应该能够这样做。
我通常也搜索Google和StackOverflow,并查看文档中的$。