긴 코드로 무서워하지 마십시오. 내가 궁금한 점은 마지막 부분 인 음모 (단계 재미 ... 부분.) 내가 이것을 Rstudio에 입력하면 "stepfun"x "점점 커야합니다"Stepfun function markov
내가 여기있는 any1이 누구인지 알고 있습니다. 을 제대로 마무리해야?
bd_process <- function(lambda, mu, initial_state = 0, steps = 100) {
time_now <- 0
state_now <- initial_state
time <- 0
state <- initial_state
for (i in 1:steps) {
if (state_now == 3) {
lambda_now <- 0
} else {
lambda_now <- lambda
}
if (state_now == 0) {
mu_now <- 0
} else {
mu_now <- mu
}
time_to_transition <- rexp(mu, rate = 1) + rexp(lambda, rate = 1)
X <- rexp(mu, rate = 1)
Y <- rexp(lambda, rate = 1)
if (X < Y) {
state_now <- state_now - 1
} else {
state_now <- state_now + 1
}
time_now <- time_now + time_to_transition
time <- c(time, time_now)
state <- c(state, state_now)
}
list(time = time, state = state) }
set.seed(19930628)
proposal1 <- bd_process(lambda = 2, mu = 10)
proposal2 <- bd_process(lambda = 6, mu = 10)
proposal3 <- bd_process(lambda = 10, mu = 10)
time1 <- proposal1$time
state1 <- proposal1$state
plot(stepfun(time1[-1], state1),
do.points = FALSE,
xlab = "Tid",
ylab = "Tillstånd",
main = "",
yaxt = "n")
axis(2, at = c(0, 1, 2, 3), las = 2)
글쎄,'stepfun' 함수가 데이터 정렬을 기대하기 때문에 오류 메시지가 들린다. 너 그거 해봤 니? 어쩌면'? stpfun'에 대한 도움말 페이지를 읽으십시오. 원하는 결과가 무엇인지 전혀 설명하지 않으면 도움이되지 않습니다. "올바른"것이 무엇을 의미하는지는 알 수 없습니다. – MrFlick
질문은 정말 길고 마지막으로 제가 설명하려고했을 때 투표가 끝났습니다. – PeterNiklas
나는 변화가 필요한 것을 알고 싶을뿐입니다. 그래서 나는 KNIT 할 수 있습니다. 예를 들어 time1 [-1], state1 및 time1 [100], state1 [100] 등을 시도했습니다. – PeterNiklas