我正在为生态学模型创建一个数据,该模型称为随机分数模型。该模型的程序:
RelAbund<-randomfraction(3,1000)
它的输出是:
RelAbund
[,1] [,2]
[1,] 0.6083835 0.004510276
[2,] 0.2792227 0.003305510
[3,] 0.1123938 0.002514014
现在我想使用该矩阵的第一列创建数据。我将此数据存储在一个名为“数据”的列表中。它是一个向量列表。向量包含连续的 +ve 数字。例如 vector1 是 (1,2,3,4,5) vector2 是(6,7,8,9,10,11,12,13) 等等。现在我编写的创建数据的程序如下:
CreateData<-function(nind,nspec)
RelAbund<-randomfraction(nspec,1000)
Data<-list()
Datavector<-c()
individuals<-c(0)
for(ii in 1:nspec-1){
**individuals<-seq(length.out=RelAbund[ii,1]*nind,from=tail(individuals,n=1)+1,by=1)**
Data<-lappend(Data,individuals)
}
Datavector<-seq(length=nind-(tail(tail(Data,n=1),n=1)),from=tail(tail(Data,n=1),n=1)+1,by=1)
Data<-lappend(Data,Datavector)
return(Data)
}
星号线显示错误:
错误如下:
Error in seq.default(length.out = RelAbund[ii, 1] * nind, from = tail(individuals, : argument 'length.out' must be of length 1
nind 是一个整数。对我来说,参数length.out的长度已经是1。那为什么会显示这个错误呢?