Как заставить функцию выбирать последнюю доступную переменную в матрице / векторе в rstudio - PullRequest
0 голосов
/ 14 июля 2020

Я имитирую рост растений в r.

Вектор A - это вектор размером 10x1, который содержит значение для массы растения. Каждая строка представляет час. В нулевой час первая строка установлена ​​на 5, а остальные 9 состоят из нулей. В каждом часовом интервале новая переменная добавляется в следующую доступную строку.

A=matrix(nrow=10,ncol=1,0)
A[1]=5 #setting the plant's mass at time zero

В каждый временной интервал я хочу использовать массу растений в начале интервала как постоянную, а затем повторно вычислить новую массу в конце интервала.

Я создал функцию, которая использует массу растений из вектора A в качестве константы следующим образом:

    ```{r} StartRespire=function(A,Respira=66.7,Cgain){ #note Cgain is a constant determined in another loop 
RespCost=A*Respira

if(RespCost>Cgain){
NewA=0

print("Not enough C for respiration. Plant dies")

}

else{

NewA=A*Cgain } 
return(list(NewA=NewA)) 
}

Мои вопросы:

  1. Возможно ли, чтобы функция автоматически выбирала последнее ненулевое значение в векторе A?
  2. Есть ли способ сделать так, чтобы функция определяла NewA как следующее доступное значение (добавьте к следующий ряд)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...