我不断收到以下这个小问题的错误:
assignment5<- read.csv(file="C:/Users/Marjolein/Desktop/assignment5data.csv",header=TRUE,se p=";")
d <- as.vector(assignment5[["demand"]])
x<-400
n <- 1461
IFunction <- function (j,d,x){
if (d[j] <= x)
{
I <- 1
} else
{
I <- 0
}
return(I)
}
for (j in 1:(n)){
I[j] <- IFunction(j,d,x)
I
}
The error is: Error in I[j] <- IFunction(j, d, x) :
object of type 'closure' is not subsettable
所以我猜有些问题; I [j]&lt; - IFunction(j,d,x)。从现在开始它将我视为一个函数,但它应该被视为一个值
有人可以帮助我吗?
亲切的问候,
Marjolein straathof
答案 0 :(得分:1)
I
是一个功能。选择另一个变量名称。
您可以通过输入变量名称来测试这一点,看看会发生什么:
> I
function (x)
{
structure(x, class = unique(c("AsIs", oldClass(x))))
}
> J
Error: object 'J' not found
“未找到的对象”对您来说是个好消息:它没有被其他任何东西使用。在开始像向量一样使用它之前,你需要让R知道你想要做什么。 NA
是初始化内容的不错选择:
J <- NA
for (j in 1:(n)){
J[j] <- IFunction(j,d,x)
J
}