Я пытаюсь помочь моей девушке с заданием на класс с R. У меня нет идеи о коде, я знаю C++, но я не знаю.Процесс Пуассона с R, abind и другими функциями работает?
Я читал документацию, но если вы можете мне помочь, это было бы здорово!
Следующий код: this сайт.
Часть I Кодекса:
# rm(list=ls(all=TRUE))
# It's discourteous to wipe out your responder's entire workspace
install.packages("abind")
library(abind)
simHPP<-function(lambda,T,N){
# lambda: scalar, intensity of the Poisson process
# T: scalar, time horizon
# N: scalar, number of trajectories
EN <- rpois(N,lambda*T)
y <- matrix(T,nrow=2*max(EN)+2,ncol=N)*matrix(1,nrow=2*max(EN)+2,ncol=N)
yy <- abind(y,matrix(1,nrow=2*max(EN)+2,ncol=N)*EN,along=3)
i=1
while(i<=N){
if(EN[i]>0){
yy[1:(2*EN[i]+1),i,1] <- c(0,rep(sort(T*runif(EN[i])),each=2))
} else {
yy[1,i,1]=0
}
yy[1:(2*EN[i]+2),i,2] <- c(0,floor((1:(2*EN[i]))/2),EN[i])
i=i+1
}
return(yy)
}
Функция abind
, как это работает? Оператор присваивания (=) в R выглядит как (< -)?
И, например, что это такое?
yy[1:(2*EN[i]+1),i,1] <- c(0,rep(sort(T*runif(EN[i])),each=2))
'<-' и' = 'обычно можно считать эквивалентными, за исключением в контексте списка аргументов к функции. Этот автор переменил свободно, что не считается лучшей практикой R. –