R函数-缺少错误参数,没有默认值

时间:2019-09-12 14:59:16

标签: r function parameter-passing

我正在测试R中的一个简单函数,该函数应该将时间序列对象转换为数据帧。 但是,代码在函数外部工作正常,但在函数内部却给我对象错误。

>fx<-function(AMts) {
  x<-as.data.frame(AMts)
  return(x)
}
>fx()

我希望在我的环境中拥有data.frame x,但是我得到了 Error in as.data.frame(AMts) : argument "AMts" is missing, with no default

1 个答案:

答案 0 :(得分:1)

如果在函数内部,则需要使用“ <<-”作为赋值运算符,而不是传统的“ <-”。 <<-告诉R在函数完成运行后保留对象。

>fx<-function(AMts) {
  x<<-as.data.frame(AMts) # "<<-" is what saves "x" in your environment
  return(x) # remove this line; this prints data frame "x" to the console, but it doesn't save it
}
>fx(AMts)

编辑:正如注释者已经指出的那样,您未在函数中包括任何参数。上面我把它设置为fx(AMts)来明确您也需要将AMts传递给该函数。