在R中,是否可以编写类似于colnames的函数?
例如。我想要一个函数,说'foo'可以用作:
x <- foo("y")
#将文件“y”的内容读入x
或
foo("y") <- x
#将x的内容写入文件“y”
我怎样才能发现函数是<-
的第一个参数?我应该优化<-
(危险)吗?以及如何按预期进行以下工作?
x -> foo("y")
......当然,我不想要两个不同的功能(读写):我的目的是引入一个受基础R启发的新语法。
由于
答案 0 :(得分:0)
实际上解析DOES支持任意函数作为赋值的LHS,但是这些函数可以在左侧使用(例如变量名但不是字符串或数字文件),所以代码:< / p>
`foo<-` <- function(x,y,value) set_foo(x,y,value)
set_foo <- function(x,y,value) UseMethod("set_foo")
set_foo.data.frame <- function(x,y,value) {print(x);print(y);print(value);x}
data(mtcars)
foo(mtcars,1)<-2
工作正常,但
foo(0,1)<-2
即使定义了set_foo.default,也会导致错误。