## Week9 과제 

library(readr)
url <- "https://raw.githubusercontent.com/jeongmoonwon/jm/main/%5BWeek9%5D%20aminoAcid.csv"
dat <- read.csv(url)
dat
##     AminoAcid dose response
## 1  methionine   10     15.0
## 2  methionine   10     16.0
## 3  methionine   10     14.5
## 4  methionine   20     17.0
## 5  methionine   20     19.0
## 6  methionine   20     18.5
## 7  methionine   30     14.0
## 8  methionine   30     13.5
## 9  methionine   30     14.5
## 10     lysine   10     30.0
## 11     lysine   10     32.0
## 12     lysine   10     29.0
## 13     lysine   20     33.5
## 14     lysine   20     34.5
## 15     lysine   20     36.0
## 16     lysine   30     42.0
## 17     lysine   30     43.0
## 18     lysine   30     44.0
#독립변수: aminoacid+dose, 중속변수: response

# 범주형 변수 지정 
dat$AminoAcid<-as.factor(dat$AminoAcid) 
dat$dose<-as.factor(dat$dose) 
#as factor는 categorical에만! response는 numerical -- categorical아님!
str(dat)
## 'data.frame':    18 obs. of  3 variables:
##  $ AminoAcid: Factor w/ 2 levels "lysine","methionine": 2 2 2 2 2 2 2 2 2 1 ...
##  $ dose     : Factor w/ 3 levels "10","20","30": 1 1 1 2 2 2 3 3 3 1 ...
##  $ response : num  15 16 14.5 17 19 18.5 14 13.5 14.5 30 ...
# 범주형 변수 재지정
dat$AminoAcid<-relevel(dat$AminoAcid, "methionine") #relevel함수는 우리가 원하는거를 원하는 숫자로
dat$dose<-relevel(dat$dose,"10") 
#하지만 다 잘돼있어서 할 필요없음 
str(dat)
## 'data.frame':    18 obs. of  3 variables:
##  $ AminoAcid: Factor w/ 2 levels "methionine","lysine": 1 1 1 1 1 1 1 1 1 2 ...
##  $ dose     : Factor w/ 3 levels "10","20","30": 1 1 1 2 2 2 3 3 3 1 ...
##  $ response : num  15 16 14.5 17 19 18.5 14 13.5 14.5 30 ...
pairs(dat)

# 로지스틱 회귀 모형 생성
#중속변수 ~ 독립변수 
model <- lm(response ~ AminoAcid + dose, data = dat, family = binomial()) 
## Warning: In lm.fit(x, y, offset = offset, singular.ok = singular.ok, ...) :
##  extra argument 'family' will be disregarded
summary(model)
## 
## Call:
## lm(formula = response ~ AminoAcid + dose, data = dat, family = binomial())
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -4.8889 -2.9861  0.0833  2.6111  5.3889 
## 
## Coefficients:
##                 Estimate Std. Error t value Pr(>|t|)    
## (Intercept)       12.639      1.729   7.309 3.85e-06 ***
## AminoAcidlysine   20.222      1.729  11.695 1.30e-08 ***
## dose20             3.667      2.118   1.731   0.1053    
## dose30             5.750      2.118   2.715   0.0168 *  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 3.668 on 14 degrees of freedom
## Multiple R-squared:  0.9116, Adjusted R-squared:  0.8926 
## F-statistic: 48.11 on 3 and 14 DF,  p-value: 1.275e-07
#가장 관련있는 두 변수는 aminoacid과 response다.aminoacid 에 따라서 response는 한 level로 일정하다. (1.0 또는 2.0)
#이 둘은 통계적으로 유의하다 (***세개이기때문에)