小编Qia*_*Qin的帖子

关于R,在定义替换函数时,参数必须命名为/ like"x"和"value"吗?

通过"替换函数"我的意思是在这个线程中提到的什么是R中的替换函数?,看起来像'length<-'(x, value).当我使用这些功能时,我遇到了一些奇怪的东西.似乎替换函数仅在根据特定规则命名变量时才起作用.

这是我的代码:

a <- c(1,2,3)
Run Code Online (Sandbox Code Playgroud)

我将尝试a使用下面的3个替换函数之一更改第一个元素.

'first0<-' <- function(x, value){
  x[1] <- value
  x
}

first0(a) <- 5
a
# returns [1] 5 2 3.
Run Code Online (Sandbox Code Playgroud)

第一个工作得很好......但是当我更改定义中的参数名称时,

'first1<-' <- function(somex, somevalue){
  somex[1] <- somevalue
  somex
}

first1(a) <- 9
# Error in `first1<-`(`*tmp*`, value = 9) : unused argument (value = 9)
a
# returns [1] 5 2 3
Run Code Online (Sandbox Code Playgroud)

它无法工作,但以下代码没问题:

a <- 'first1<-'(a, 9)
a
# returns [1] 9 2 3
Run Code Online (Sandbox Code Playgroud)

其他一些名字很好地工作也是如此,如果它们类似于x和 …

r function

5
推荐指数
1
解决办法
421
查看次数

标签 统计

function ×1

r ×1