缺少R参数,没有默认值

时间:2017-09-22 02:55:23

标签: r csv

我想计算数据的日志返回值。我定义了一个函数,并希望加载数据。但系统总是提到第二个因素缺失。否则它只计算行号的日志。

#read data
data <- read.csv(file="E:/Lect-1-TradingTS.csv",header=TRUE)
mode(data)
p<-data["Price"]


#func1
func1 <- function(x1,x2)
{
  result <- log(x2)-log(x1)
  return(result)
} 


#calculate log return
log_return<-vector(mode="numeric", length=(nrow(data)-1))
for(i in 2:nrow(p))
{
  log_return[i-1] <- func1(p[(i-1):i])
}
  

func1中的错误(p [(i - 1):i]):参数&#34; x2&#34;缺少,没有默认

2 个答案:

答案 0 :(得分:0)

您的函数func1被定义为接受两个参数,但您传递的是一个参数:向量p[(i-1):i],它有两个元素但仍被视为单个对象。要解决此问题,您需要传递两个单独的参数p[i-1]p[i]。或者,修改func1的定义以接受双元素向量:

func1 <- function(v)
{
  x1 <- v[1]
  x2 <- v[2]
  result <- log(x2)-log(x1)
  return(result)
} 

答案 1 :(得分:0)

谢谢你们,你们所有的答案都激励着我。我想我找到了解决方案。

log_return[i-1] <- func1(p[(i-1),"Price"],p[(i),"Price"])