Очень плохо знаком с кодированием. Я пытался ввести значения из итерации для l oop в фрейм данных. Я посмотрел на многие заданные вопросы, но, похоже, они не помогли моей ситуации. Когда my для l oop завершено, my cat () выводит все значения итерации. Я попытался создать фрейм данных, используя имена переменных, как вы можете видеть в коде, однако он выводит только одну строку с последней итерацией. Мне сказали создать фрейм данных до моего for-l oop, чтобы сохранить выходные значения, но я не могу понять это. Если кто-нибудь может показать мне правильный код, который будет очень признателен! Спасибо
Numyears<- 0
NumLynxes<-0
NumHares<-0
flag<- F
NumBabyLynxes<-0
NumBabyHares<-0
NumDeadHares<-0
NumDeadLynxes<-0
NumHaresEaten<-0
while(flag !=T) {
ask <-readline(prompt = "Simulate the population of Lynx and Hares in Canada?
Type 1 for yes, Type anything else to exit:")
response<- as.integer(ask)
if (response ==1) {
variable1 <- readline(prompt = "Input the number of years for the simulation sample:")
Numyears <- as.integer(variable1)
variable2 <- readline(prompt="Enter the number of Lynxes in this simulation:")
NumLynxes <- as.integer(variable2)
variable3 <-readline("Enter the number of Hares in this simulation:")
NumHares <-as.integer(variable3)
DF <- data.frame(Numyears,NumHares,
NumLynxes,NumBabyHares,
NumBabyLynxes,
NumDeadHares,
NumDeadLynxes,
NumHaresEaten,stringsAsFactors = F)
for (years in 1:Numyears) {
if ( (NumLynxes/NumHares) < 0.20) {
NumDeadLynxes<-round(NumLynxes * 0.02)
NumBabyLynxes <- round(0.15*NumLynxes)
}
if ((NumLynxes/NumHares) >= 0.20) {
NumDeadLynxes <- round(0.50*NumLynxes)
NumBabyLynxes <- round(0.15*NumLynxes)
}
NumBabyHares<- round(0.75*NumHares)
NumDeadHares <- round(NumDeadHares*0.01)
NumHaresEaten <- round((NumLynxes*NumHares)*0.025)
years <- years
NumLynxes <- ((NumLynxes + NumBabyLynxes) - NumDeadLynxes)
NumHares <- ((NumHares + NumBabyHares) - (NumHaresEaten + NumDeadHares))
if ((NumLynxes/NumHares) < 0){
break
}
cat("Year #Hares #Lynxes babyH babyL deadHare deadLynx","\n",
years," ","\t",NumHares," ","\t",NumLynxes, " ","\t",NumBabyHares,
" ","\t",NumBabyLynxes," ","\t",NumDeadHares," ","\t",NumDeadLynxes,
" ", "\t",NumHaresEaten)
}
} else{
flag <- T
}
}
DF