Нечисловой аргумент ошибки бинарного оператора - PullRequest
0 голосов
/ 04 апреля 2019

Я получаю сообщение об ошибке «Вычисление не удалось в stat_function(): нечисловой аргумент для двоичного оператора», когда я пытаюсь построить эту функцию.Когда я удаляю два опыта, я вместо этого получаю сообщение об ошибке «Вычисление не удалось в stat_function(): не удалось найти функцию« y2 <- »« Что я делаю не так?</p>

Я пробовал различные конфигурации функции ggplot, показанные в Интернете, но получаю «отображение должно быть в aes () или aes_ ()». Я не знаю больше, чтобы попробовать, так как я новичок в R.

Library(tidyverse)

calculate_blood_amount <- function(t, parms){

c_0 <- parms[1]
k_a <- parms[2]
k_c <- parms[3]

y2(t) <- ((k_a * c_0)/(k_c - k_a)) * exp^(-k_a * t) + ((-k_a * c_0)/(k_c - 
k_a)) * exp^(-k_c * t)

return(y2(t))

}

Time1 = data.frame(t = c(0, 24))

parms1 = c(500, 0.168, 1.436)

ggplot(data = Time1, aes(x = t)) +
stat_function(fun = calculate_blood_amount,
            args = list(parms = parms1)) +
 theme_bw()

Это должно обеспечить график y2 (t), когда t равно 0 и 24

1 Ответ

0 голосов
/ 04 апреля 2019

Я думаю, у вас просто есть пара синтаксических ошибок в вашем коде. Ниже приведена рабочая версия.

exp ^ (xyz) изменено на exp (xyz), а имя переменной y2 (t) изменено на y2_t.

library(tidyverse)

calculate_blood_amount <- function(t, parms){

  c_0 <- parms[1]
  k_a <- parms[2]
  k_c <- parms[3]

  y2_t <- ((k_a * c_0)/(k_c - k_a)) * exp(-k_a * t) + ((-k_a * c_0)/(k_c - k_a)) * exp(-k_c * t)

  return(y2_t)

}

Time1 = data.frame(t = c(0, 24))

parms1 = c(500, 0.168, 1.436)

ggplot(data = Time1, aes(x = t)) +
  stat_function(fun = calculate_blood_amount,
                args = list(parms = parms1)) +
  theme_bw()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...