【ggplot2/R】ELISA의 측정 결과로부터 4계수 로지스틱 곡선(4-parameter logistic curve)을 쓴다
16756 단어 ggplot2RRStudiobiostatistics
ggplot() 함수와 stat_function() 함수를 조합하여 작성합니다.
ELISA 데이터
이번에 사용할 데이터 (ELISA.csv)입니다.
Concentration
Absorbance
10
3.0802
3.333333333
3.0151
1
2.5858
0.333333333
1.5019
0.1
0.5901
0.033333333
0.207
0.01
0.0621
0
0.0039
필요한 패키지
R을 사용하여 4계수 로지스틱 회귀 분석을 위해 drc 패키지를 설치하고 로드합니다.
그리고 dplyr와 ggplot2를 일괄 적으로 읽으려면 tidyverse도 읽어 둡니다.
라이브러리 로드library(tidyverse)
library(drc)
데이터 로드 및 확인
read.csv()로 ELISA의 CSV 데이터를 읽고 glimpse()로 내용을 확인해 둡니다.
데이터를 조사하기 위한 첫 번째 플롯ELISA <- read.csv("ELISA.csv")
glimpse(ELISA)
산점도 그리기
ggplot2에서 우선 산점도를 그려 보겠습니다.
데이터를 조사하기 위한 첫 번째 플롯ggplot(ELISA, aes(x = Concentration, y = Absorbance)) +
geom_point() +
scale_x_log10()
4계수 로지스틱 회귀 분석 모델 만들기
drc 패키지의 drm()을 사용하여 4계수 로지스틱 회귀 분석 모델을 만듭니다.
y = d+\frac{c-d}{1+(\frac{e}{x})^b} \\\
drm() 함수의 fct로 LL.4()를 지정하여 회귀 모델 L4p
를 만듭니다.
네 개의 매개 변수 (b, c, d, e)는 만든 모델의 coefficients
목록에 있습니다.
따라서 네 개의 매개 변수를 회귀 모델 L4p
의 coefficients
에서 꺼냅니다.
drm()을 사용하여 4계수 로지스틱 회귀 분석 모델 만들기L4p <- drm(Absorbance ~ Concentration, data = ELISA, fct = LL.4())
a <- L4p$coefficients #回帰モデルから係数を取り出す
a #回帰係数を表示
a[1]
a[2]
a[3]
a[4]
실행 결과는 이렇게 됩니다.
> L4p <- drm(Absorbance ~ Concentration, data = ELISA, fct = LL.4())
> a <- L4p$coefficients #回帰モデルから係数を取り出す
> a #回帰係数を表示
b:(Intercept) c:(Intercept) d:(Intercept) e:(Intercept)
-1.2631086189 0.0008242024 3.1637420197 0.3374669485
> a[1]
b:(Intercept)
-1.263109
> a[2]
c:(Intercept)
0.0008242024
> a[3]
d:(Intercept)
3.163742
> a[4]
e:(Intercept)
0.3374669
마지막으로 stat_function()으로 4계수 로지스틱 회귀를 그린다
먼저 만든 산점도에 분석 모델에서 추정한 4개의 회귀 계수와 stat_function() 함수를 사용하여 회귀 곡선을 추가합니다.fun = function(x)
다음에 x 함수를 그립니다.
stat_function()으로 4계수 로지스틱 회귀를 그립니다.ggplot(ELISA, aes(x = Concentration, y = Absorbance)) +
geom_point() +
stat_function(fun = function(x) a[3] + (a[2] - a[3]) / (1 + (a[4] / x)^a[1])) +
scale_x_log10()
이렇게 하면
이런 식으로 4계수 로지스틱 회귀 곡선을 그릴 수 있었습니다.
최종 스크립트
ELISA (4 계수 로지스틱 회귀)#ELISAの測定値で4係数ロジスティック回帰分析
#Rをキレイにしておく
rm(list = ls())
#ライブラリの読み込み
library(tidyverse)
library(drc)
#データの読み込みと内容の確認
ELISA <- read.csv("ELISA.csv")
glimpse(ELISA)
#データを調べるための最初のプロット
ggplot(ELISA, aes(x = Concentration, y = Absorbance)) +
geom_point() +
scale_x_log10()
#drm()を使って4係数ロジスティック回帰分析モデルを作る
L4p <- drm(Absorbance ~ Concentration, data = ELISA, fct = LL.4())
a <- L4p$coefficients #回帰モデルから係数を取り出す
a #回帰係数を表示
a[1]
a[2]
a[3]
a[4]
#stat_function()で4係数ロジスティック回帰を描く
ggplot(ELISA, aes(x = Concentration, y = Absorbance)) +
geom_point() +
stat_function(fun = function(x) a[3] + (a[2] - a[3]) / (1 + (a[4] / x)^a[1])) +
scale_x_log10()
Reference
이 문제에 관하여(【ggplot2/R】ELISA의 측정 결과로부터 4계수 로지스틱 곡선(4-parameter logistic curve)을 쓴다), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/insilicomab/items/ac628df4cb97f2992114
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
R을 사용하여 4계수 로지스틱 회귀 분석을 위해 drc 패키지를 설치하고 로드합니다.
그리고 dplyr와 ggplot2를 일괄 적으로 읽으려면 tidyverse도 읽어 둡니다.
라이브러리 로드
library(tidyverse)
library(drc)
데이터 로드 및 확인
read.csv()로 ELISA의 CSV 데이터를 읽고 glimpse()로 내용을 확인해 둡니다.
데이터를 조사하기 위한 첫 번째 플롯ELISA <- read.csv("ELISA.csv")
glimpse(ELISA)
산점도 그리기
ggplot2에서 우선 산점도를 그려 보겠습니다.
데이터를 조사하기 위한 첫 번째 플롯ggplot(ELISA, aes(x = Concentration, y = Absorbance)) +
geom_point() +
scale_x_log10()
4계수 로지스틱 회귀 분석 모델 만들기
drc 패키지의 drm()을 사용하여 4계수 로지스틱 회귀 분석 모델을 만듭니다.
y = d+\frac{c-d}{1+(\frac{e}{x})^b} \\\
drm() 함수의 fct로 LL.4()를 지정하여 회귀 모델 L4p
를 만듭니다.
네 개의 매개 변수 (b, c, d, e)는 만든 모델의 coefficients
목록에 있습니다.
따라서 네 개의 매개 변수를 회귀 모델 L4p
의 coefficients
에서 꺼냅니다.
drm()을 사용하여 4계수 로지스틱 회귀 분석 모델 만들기L4p <- drm(Absorbance ~ Concentration, data = ELISA, fct = LL.4())
a <- L4p$coefficients #回帰モデルから係数を取り出す
a #回帰係数を表示
a[1]
a[2]
a[3]
a[4]
실행 결과는 이렇게 됩니다.
> L4p <- drm(Absorbance ~ Concentration, data = ELISA, fct = LL.4())
> a <- L4p$coefficients #回帰モデルから係数を取り出す
> a #回帰係数を表示
b:(Intercept) c:(Intercept) d:(Intercept) e:(Intercept)
-1.2631086189 0.0008242024 3.1637420197 0.3374669485
> a[1]
b:(Intercept)
-1.263109
> a[2]
c:(Intercept)
0.0008242024
> a[3]
d:(Intercept)
3.163742
> a[4]
e:(Intercept)
0.3374669
마지막으로 stat_function()으로 4계수 로지스틱 회귀를 그린다
먼저 만든 산점도에 분석 모델에서 추정한 4개의 회귀 계수와 stat_function() 함수를 사용하여 회귀 곡선을 추가합니다.fun = function(x)
다음에 x 함수를 그립니다.
stat_function()으로 4계수 로지스틱 회귀를 그립니다.ggplot(ELISA, aes(x = Concentration, y = Absorbance)) +
geom_point() +
stat_function(fun = function(x) a[3] + (a[2] - a[3]) / (1 + (a[4] / x)^a[1])) +
scale_x_log10()
이렇게 하면
이런 식으로 4계수 로지스틱 회귀 곡선을 그릴 수 있었습니다.
최종 스크립트
ELISA (4 계수 로지스틱 회귀)#ELISAの測定値で4係数ロジスティック回帰分析
#Rをキレイにしておく
rm(list = ls())
#ライブラリの読み込み
library(tidyverse)
library(drc)
#データの読み込みと内容の確認
ELISA <- read.csv("ELISA.csv")
glimpse(ELISA)
#データを調べるための最初のプロット
ggplot(ELISA, aes(x = Concentration, y = Absorbance)) +
geom_point() +
scale_x_log10()
#drm()を使って4係数ロジスティック回帰分析モデルを作る
L4p <- drm(Absorbance ~ Concentration, data = ELISA, fct = LL.4())
a <- L4p$coefficients #回帰モデルから係数を取り出す
a #回帰係数を表示
a[1]
a[2]
a[3]
a[4]
#stat_function()で4係数ロジスティック回帰を描く
ggplot(ELISA, aes(x = Concentration, y = Absorbance)) +
geom_point() +
stat_function(fun = function(x) a[3] + (a[2] - a[3]) / (1 + (a[4] / x)^a[1])) +
scale_x_log10()
Reference
이 문제에 관하여(【ggplot2/R】ELISA의 측정 결과로부터 4계수 로지스틱 곡선(4-parameter logistic curve)을 쓴다), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/insilicomab/items/ac628df4cb97f2992114
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
ELISA <- read.csv("ELISA.csv")
glimpse(ELISA)
ggplot2에서 우선 산점도를 그려 보겠습니다.
데이터를 조사하기 위한 첫 번째 플롯
ggplot(ELISA, aes(x = Concentration, y = Absorbance)) +
geom_point() +
scale_x_log10()
4계수 로지스틱 회귀 분석 모델 만들기
drc 패키지의 drm()을 사용하여 4계수 로지스틱 회귀 분석 모델을 만듭니다.
y = d+\frac{c-d}{1+(\frac{e}{x})^b} \\\
drm() 함수의 fct로 LL.4()를 지정하여 회귀 모델 L4p
를 만듭니다.
네 개의 매개 변수 (b, c, d, e)는 만든 모델의 coefficients
목록에 있습니다.
따라서 네 개의 매개 변수를 회귀 모델 L4p
의 coefficients
에서 꺼냅니다.
drm()을 사용하여 4계수 로지스틱 회귀 분석 모델 만들기L4p <- drm(Absorbance ~ Concentration, data = ELISA, fct = LL.4())
a <- L4p$coefficients #回帰モデルから係数を取り出す
a #回帰係数を表示
a[1]
a[2]
a[3]
a[4]
실행 결과는 이렇게 됩니다.
> L4p <- drm(Absorbance ~ Concentration, data = ELISA, fct = LL.4())
> a <- L4p$coefficients #回帰モデルから係数を取り出す
> a #回帰係数を表示
b:(Intercept) c:(Intercept) d:(Intercept) e:(Intercept)
-1.2631086189 0.0008242024 3.1637420197 0.3374669485
> a[1]
b:(Intercept)
-1.263109
> a[2]
c:(Intercept)
0.0008242024
> a[3]
d:(Intercept)
3.163742
> a[4]
e:(Intercept)
0.3374669
마지막으로 stat_function()으로 4계수 로지스틱 회귀를 그린다
먼저 만든 산점도에 분석 모델에서 추정한 4개의 회귀 계수와 stat_function() 함수를 사용하여 회귀 곡선을 추가합니다.fun = function(x)
다음에 x 함수를 그립니다.
stat_function()으로 4계수 로지스틱 회귀를 그립니다.ggplot(ELISA, aes(x = Concentration, y = Absorbance)) +
geom_point() +
stat_function(fun = function(x) a[3] + (a[2] - a[3]) / (1 + (a[4] / x)^a[1])) +
scale_x_log10()
이렇게 하면
이런 식으로 4계수 로지스틱 회귀 곡선을 그릴 수 있었습니다.
최종 스크립트
ELISA (4 계수 로지스틱 회귀)#ELISAの測定値で4係数ロジスティック回帰分析
#Rをキレイにしておく
rm(list = ls())
#ライブラリの読み込み
library(tidyverse)
library(drc)
#データの読み込みと内容の確認
ELISA <- read.csv("ELISA.csv")
glimpse(ELISA)
#データを調べるための最初のプロット
ggplot(ELISA, aes(x = Concentration, y = Absorbance)) +
geom_point() +
scale_x_log10()
#drm()を使って4係数ロジスティック回帰分析モデルを作る
L4p <- drm(Absorbance ~ Concentration, data = ELISA, fct = LL.4())
a <- L4p$coefficients #回帰モデルから係数を取り出す
a #回帰係数を表示
a[1]
a[2]
a[3]
a[4]
#stat_function()で4係数ロジスティック回帰を描く
ggplot(ELISA, aes(x = Concentration, y = Absorbance)) +
geom_point() +
stat_function(fun = function(x) a[3] + (a[2] - a[3]) / (1 + (a[4] / x)^a[1])) +
scale_x_log10()
Reference
이 문제에 관하여(【ggplot2/R】ELISA의 측정 결과로부터 4계수 로지스틱 곡선(4-parameter logistic curve)을 쓴다), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/insilicomab/items/ac628df4cb97f2992114
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
y = d+\frac{c-d}{1+(\frac{e}{x})^b} \\\
L4p <- drm(Absorbance ~ Concentration, data = ELISA, fct = LL.4())
a <- L4p$coefficients #回帰モデルから係数を取り出す
a #回帰係数を表示
a[1]
a[2]
a[3]
a[4]
> L4p <- drm(Absorbance ~ Concentration, data = ELISA, fct = LL.4())
> a <- L4p$coefficients #回帰モデルから係数を取り出す
> a #回帰係数を表示
b:(Intercept) c:(Intercept) d:(Intercept) e:(Intercept)
-1.2631086189 0.0008242024 3.1637420197 0.3374669485
> a[1]
b:(Intercept)
-1.263109
> a[2]
c:(Intercept)
0.0008242024
> a[3]
d:(Intercept)
3.163742
> a[4]
e:(Intercept)
0.3374669
먼저 만든 산점도에 분석 모델에서 추정한 4개의 회귀 계수와 stat_function() 함수를 사용하여 회귀 곡선을 추가합니다.
fun = function(x)
다음에 x 함수를 그립니다.stat_function()으로 4계수 로지스틱 회귀를 그립니다.
ggplot(ELISA, aes(x = Concentration, y = Absorbance)) +
geom_point() +
stat_function(fun = function(x) a[3] + (a[2] - a[3]) / (1 + (a[4] / x)^a[1])) +
scale_x_log10()
이렇게 하면
이런 식으로 4계수 로지스틱 회귀 곡선을 그릴 수 있었습니다.
최종 스크립트
ELISA (4 계수 로지스틱 회귀)#ELISAの測定値で4係数ロジスティック回帰分析
#Rをキレイにしておく
rm(list = ls())
#ライブラリの読み込み
library(tidyverse)
library(drc)
#データの読み込みと内容の確認
ELISA <- read.csv("ELISA.csv")
glimpse(ELISA)
#データを調べるための最初のプロット
ggplot(ELISA, aes(x = Concentration, y = Absorbance)) +
geom_point() +
scale_x_log10()
#drm()を使って4係数ロジスティック回帰分析モデルを作る
L4p <- drm(Absorbance ~ Concentration, data = ELISA, fct = LL.4())
a <- L4p$coefficients #回帰モデルから係数を取り出す
a #回帰係数を表示
a[1]
a[2]
a[3]
a[4]
#stat_function()で4係数ロジスティック回帰を描く
ggplot(ELISA, aes(x = Concentration, y = Absorbance)) +
geom_point() +
stat_function(fun = function(x) a[3] + (a[2] - a[3]) / (1 + (a[4] / x)^a[1])) +
scale_x_log10()
Reference
이 문제에 관하여(【ggplot2/R】ELISA의 측정 결과로부터 4계수 로지스틱 곡선(4-parameter logistic curve)을 쓴다), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/insilicomab/items/ac628df4cb97f2992114
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
#ELISAの測定値で4係数ロジスティック回帰分析
#Rをキレイにしておく
rm(list = ls())
#ライブラリの読み込み
library(tidyverse)
library(drc)
#データの読み込みと内容の確認
ELISA <- read.csv("ELISA.csv")
glimpse(ELISA)
#データを調べるための最初のプロット
ggplot(ELISA, aes(x = Concentration, y = Absorbance)) +
geom_point() +
scale_x_log10()
#drm()を使って4係数ロジスティック回帰分析モデルを作る
L4p <- drm(Absorbance ~ Concentration, data = ELISA, fct = LL.4())
a <- L4p$coefficients #回帰モデルから係数を取り出す
a #回帰係数を表示
a[1]
a[2]
a[3]
a[4]
#stat_function()で4係数ロジスティック回帰を描く
ggplot(ELISA, aes(x = Concentration, y = Absorbance)) +
geom_point() +
stat_function(fun = function(x) a[3] + (a[2] - a[3]) / (1 + (a[4] / x)^a[1])) +
scale_x_log10()
Reference
이 문제에 관하여(【ggplot2/R】ELISA의 측정 결과로부터 4계수 로지스틱 곡선(4-parameter logistic curve)을 쓴다), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/insilicomab/items/ac628df4cb97f2992114텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)