Как l oop функция в r? - PullRequest
       8

Как l oop функция в r?

1 голос
/ 28 апреля 2020
Example: 
a <- function(b,c,d,e,f){ 
if(f == 1){
  Value1 <- b * c * d * e
  return(Value1)
}else if(f == 2){
  Value2 <- b * c * d
  return(Value2) 
}else{
  Value3 <- 0 
}
}

Предположим, что я хотел бы проанализировать взаимосвязь между Value2 и d для d = seq (0,2,0.05), если b, c, e зафиксированы, и я не могу изменить функцию. Поэтому я хотел бы построить график с Value2 на оси Y и D на оси X. Что я пробовал: Построить вектор и объединить их с seq (0,2,0.05)

ValueChange <- c() 

for( i in seq(0,2,0.05)){
  ValueChange <- a(10,2,i,5,2)
}
ValueChange 

К сожалению, это не сработало

1 Ответ

1 голос
/ 28 апреля 2020

Может быть, ваш for l oop должен быть таким, как показано ниже

for( i in seq(0,2,0.05)){
  ValueChange <- c(ValueChange,a(10,2,i,5,2))
}

, где вновь сгенерированное значение a(10,2,i,5,2) будет обновлено и добавлено к ValueChange


Или более эффективный способ через sapply

ValueChange <- sapply(seq(0,2,0.05),function(i) a(10,2,i,5,2))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...