R

时间:2018-04-26 09:07:34

标签: r function

在R中,是否可以编写类似于colnames的函数?
例如。我想要一个函数,说'foo'可以用作:
    x <- foo("y")#将文件“y”的内容读入x

  foo("y") <- x#将x的内容写入文件“y”
我怎样才能发现函数是<-的第一个参数?我应该优化<-(危险)吗?以及如何按预期进行以下工作?   x -> foo("y")
......当然,我不想要两个不同的功能(读写):我的目的是引入一个受基础R启发的新语法。

由于

1 个答案:

答案 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,

也会导致错误。