函数始终返回数字(0)

icz*_*icz 4 r

我对R很新,所以如果这是一个简单易懂的问题我会道歉.我尝试了谷歌搜索,但找不到似乎完全相关的例子(大多数例子只有1个函数参数).

我有一个简单的函数,表示2维的基本线性模型:

y <- function(x, w) {
  temp <- w[0] + x*w[1]
  return(temp)
}
Run Code Online (Sandbox Code Playgroud)

当我以我期望的方式使用它时,我得到:

> y(1,c(-0.3,0.5))
numeric(0)
Run Code Online (Sandbox Code Playgroud)

当我尝试不正确的输入时,同样的事情!

> y(1,2)
numeric(0)
Run Code Online (Sandbox Code Playgroud)

最终,我的目标是能够有一个向量X,可以作为参数传入.例如:

> y(c(1,2,3,4),c(1,2))
Run Code Online (Sandbox Code Playgroud)

icz*_*icz 5

正如joran所指出的那样,这是因为R中的向量是1索引的.

谢谢,朱兰!(还有!)