#r #ggplot2
Вопрос:
В настоящее время я испытываю некоторые трудности, пытаясь найти эффективную концентрацию 50% для одного из моих наборов данных. Чтобы кратко резюмировать, что это такое, это данные о том, как уровень глутатиона в клетках снижается со 100% при воздействии вещества, известного как HEMA.
GSH50 lt;- read.table("Master list for all GSH data T9 TVN.csv", header = TRUE, sep = ";", dec = ",")
После некоторого дополнительного подмножества я получаю сюжет, подобный этому сюжету GSH
У меня есть еще несколько графиков в дополнение к этому, поэтому мне нужно найти значение EC50 для всех, чтобы затем сравнить их друг с другом (проблема согласована на нескольких участках, поэтому, если ее можно исправить здесь, она должна быть исправлена и на других).
Из более раннего набора данных с почти такой же настройкой (единственное отличие-значения по оси x) Мне удалось получить довольно правильный EC50, используя такую настройку:
HG lt;- approxfun(x, y) optimize(function(t0) abs(HG(t0) - 50), interval = range(x))
Где я затем получил значение EC50 из функции оптимизации. Однако по какой-то причине он не работает с этими данными, как будто я ввожу значение из optimize, вместо этого я получаю этот график GSH.
Если у кого-то есть какие-либо идеи о том, как я могу решить эту проблему, я был бы весьма признателен.
Редактировать
Если вам нужен воспроизводимый набор данных, я собрал средние значения данных, и поэтому график все равно должен быть похож на графики GSH, которые я показал:
Concentration lt;- seq(from = 0, to = 9, by=1) GSH lt;- c(100, 67.405, 47.78, 39.2325, 33.97, 28.435, 26.97, 24.5125, 23.5275, 21.565) df lt;- data.frame(Concentration, GSH) ggplot(df, aes(Concentration, GSH)) geom_smooth()
Я совершенно уверен, что доза достаточно высока, чтобы достичь более низкого уровня, но я где-то не хранил модель. Я надеюсь, что приведенных примеров достаточно.
Правка2
Я должен упомянуть, что код приближения и оптимизации работает для примера, когда мы используем geom_lines (), но по какой-то причине он не так точен в geom_smooth().
Комментарии:
1. Не забывайте, что вы должны быть уверены, что протестировали достаточно высокую дозу, чтобы достичь более низкой стадии вашей модели ; это обязательно для оценки IC50. Кроме того, есть ли у вас объект R, в котором хранится эта модель?
2. У вас » есть более высокая вероятность удовлетворительного ответа, если вы опубликуете воспроизводимый пример, например, «вывод» некоторых данных примера. ggplot предназначен для построения графиков, а не для предсказаний. Для этого используйте функции регрессии.
3. Спасибо за предложения! Я добавил пример набора данных, который, по крайней мере, чем-то похож на мои данные. Надеюсь, это облегчит объяснение того, что мне нужно сделать.