[R] transform (데이터열생성 함수) Start

BioinformaticsAndMe






transform (데이터열생성 함수)


: transform 함수는 데이터프레임에 새로운 열(변수)을 생성하는 함수

: 아래 예제는 iris 데이터의 Sepal.Length x 4 값을 갖는 새로운 변수 Sepal_multiply 열을 생성

# transform 함수 실행 result_1 <- transform( iris, Sepal_multiply = 4*Sepal.Length ) head(result_1)

Sepal.Length Sepal.Width Petal.Length Petal.Width Species Sepal_multiply 1 5.1 3.5 1.4 0.2 setosa 20.4 2 4.9 3.0 1.4 0.2 setosa 19.6 3 4.7 3.2 1.3 0.2 setosa 18.8 4 4.6 3.1 1.5 0.2 setosa 18.4 5 5.0 3.6 1.4 0.2 setosa 20.0 6 5.4 3.9 1.7 0.4 setosa 21.6

# cbind 함수를 사용해 동일한 결과를 얻을 수 있음 result_2 <- cbind(iris, data.frame(Sepal_multiply = 4*iris$Sepal.Length)) head(result_2)




[R] transform (데이터열생성 함수) End

BioinformaticsAndMe

'R' 카테고리의 다른 글

[R] Merge  (0) 2019.10.30
[R] Heatmap 시각화  (4) 2019.10.24
[R] subset (데이터추출 함수)  (0) 2019.10.17
[R] p value 보정  (0) 2019.10.14
[R Shiny] 샤이니 소개  (0) 2019.10.06

[R] subset (데이터추출 함수) Start

BioinformaticsAndMe






subset (데이터추출 함수)


: subset 함수는 조건에 맞는 matrix 혹은 data.frame 결과를 추출

: 추출하고자 하는 조건이 복잡해질수록 구문이 길어지는 문제점을 보완하기 위한 함수

: 결측치가 포함된 데이터에서 에러를 쉽게 피할 수 있음

# iris 데이터에서 'setosa' 종 추출 result_1 <- subset(iris, Species=='setosa') head(result_1)

Sepal.Length Sepal.Width Petal.Length Petal.Width Species 1 5.1 3.5 1.4 0.2 setosa 2 4.9 3.0 1.4 0.2 setosa 3 4.7 3.2 1.3 0.2 setosa 4 4.6 3.1 1.5 0.2 setosa 5 5.0 3.6 1.4 0.2 setosa 6 5.4 3.9 1.7 0.4 setosa

# Sepal.Length가 5를 넘고, 'setosa' 종 추출 result_2 <- subset(iris, Sepal.Length>5 & Species=='setosa') head(result_2)

Sepal.Length Sepal.Width Petal.Length Petal.Width Species 1 5.1 3.5 1.4 0.2 setosa 6 5.4 3.9 1.7 0.4 setosa 11 5.4 3.7 1.5 0.2 setosa 15 5.8 4.0 1.2 0.2 setosa 16 5.7 4.4 1.5 0.4 setosa 17 5.4 3.9 1.3 0.4 setosa

# Sepal.Length가 5를 넘고, 'setosa' 종 추출한 데이터에서 select된 정보만 출력 result_3 <-subset(iris, Sepal.Length>5 & Species=='setosa', select=c('Petal.Length', 'Petal.Width', 'Species') ) head(result_3)




[R] subset (데이터추출 함수) End

BioinformaticsAndMe

'R' 카테고리의 다른 글

[R] Heatmap 시각화  (4) 2019.10.24
[R] transform (데이터열생성 함수)  (0) 2019.10.17
[R] p value 보정  (0) 2019.10.14
[R Shiny] 샤이니 소개  (0) 2019.10.06
Hierarchical clustering (R 계층적 군집화)  (0) 2019.10.04

화학결합 (Chemical bond) Start

BioinformaticsAndMe






화학결합 (Chemical bond)


: 원자 집합체에서 구성 원자들 간에 작용하는 힘 혹은 결합을 의미

: 생명체에서 중요한 5가지 화학결합들이 존재


1. 공유결합 (Covalent bond)

-오비탈의 전자 한 쌍을 두 원자가 서로 공유하는 결합 상태

-전기음성도 차이가 작은 원자들 사이의 결합

*전기음성도(Electronegativity): 공유결합에서 원자가 공유하는 전자를 끌어 당기는 힘

-결합력: 삼중결합>이중결합>단일결합



2. 이온결합 (Ionic bond)

-양이온과 음이온 사이에서 전자를 얻거나 읽으며, 정전기적 인력으로 이루어진 결합

*양이온(Cation): 양전하를 띠는 이온

*음이온(Anion): 음전하를 띠는 이온

-전기음성도 차이가 큰 원자들 사이의 결합



3. 수소결합 (Hydrogenic bond)

-전기음성도가 큰 F(플루오린)/O(산소)/N(질소)과 수소(H) 사이에서 작용하는 결합

-수소는 부분적인 양전하, 다른 원자들은 부분적인 음이온을 가짐

-수소결합은 약한 결합으로, 단백질과 같은 생물분자의 안정성에 관여

*수소결합은 이온결합이나 공유결합보다는 약함



4. 반데르발스힘 (Van der Waals force; 분산력)

-무극성분자 내에 전자가 국부적으로 쏠리며 전하를 띠게 되고, 분자들 사이에 인력이 작용하면서 생기는 결합

*분자의 전자밀도가 변하면서 일부 양전하와 음전하를 띠어 서로 끌리는 힘

-짧은 거리 사이에서의 인력

-각 결합은 수소결합보다 약하고 일시적이지만, 결합이 많은 경우 단백질과 같은 커다란 분자 안정화에 기여



5. 소수성상호작용 (Hydrophobic bond)

-무극성 분자들이 물속에서 발생하는 힘

-분자의 소수성 부분 주위에 물 분자들이 정렬됨

-지방과 물의 혼합물이 소수성 상호작용의 좋은 예









#Reference

1) https://socratic.org/questions/covalent-bonding-vs-ionic-bonding

2) https://namu.wiki/w/%ED%99%94%ED%95%99%20%EA%B2%B0%ED%95%A9

3) http://webcache.googleusercontent.com/search?q=cache:3L9i7xYQLw0J:cms6.cku.ac.kr/common/downLoad.do%3FsiteId%3Dopt%26fileSeq%3D140761+&cd=1&hl=ko&ct=clnk&gl=kr

4) https://chemdictionary.org/hydrogen-bond/

5) https://socratic.org/questions/how-can-van-der-waals-forces-be-either-attractive-or-repulsive

6) https://terms.naver.com/entry.nhn?docId=5141721&cid=60266&categoryId=60266

7) https://chem.libretexts.org/Bookshelves/Physical_and_Theoretical_Chemistry_Textbook_Maps/Supplemental_Modules_(Physical_and_Theoretical_Chemistry)/Physical_Properties_of_Matter/Atomic_and_Molecular_Properties/Intermolecular_Forces/Hydrophobic_Interactions





화학결합 (Chemical bond) End

BioinformaticsAndMe



'Biology' 카테고리의 다른 글

Point mutation vs Frameshift mutation  (0) 2019.10.23
비타민 (Vitamin)  (0) 2019.10.17
ABO식 혈액형 (ABO blood group)  (0) 2019.10.14
세포핵 (Cellular nucleus)  (0) 2019.10.08
눈의 구조 (Human Eye Anatomy)  (0) 2019.10.03

랜덤포레스트(Random Forest) Start

BioinformaticsAndMe







랜덤포레스트(Random Forest)


: Random Forest는 오버피팅을 방지하기 위해, 최적의 기준 변수를 랜덤 선택하는 breiman(2001)이 제안한 머신러닝 기법

: Random Forest는 여러 개의 Decision tree(의사결정나무)를 만들고, 숲을 이룬다는 의미에서 Forest라 불림

*Random이란 의미는 숲에 심는 의사결정나무에 쓰이는 특성들을 랜덤하게 선택하기 때문





랜덤포레스트 장점(Advantage)


ㄱ) Classification(분류) 및 Regression(회귀) 문제에 모두 사용 가능

ㄴ) Missing value(결측치)를 다루기 쉬움

ㄷ) 대용량 데이터 처리에 효과적

ㄹ) 모델의 노이즈를 심화시키는 Overfitting(오버피팅) 문제를 회피하여, 모델 정확도를 향상시킴

ㅁ) Classification 모델에서 상대적으로 중요한 변수를 선정 및 Ranking 가능






랜덤포레스트 과정


1) Training set에서 표본 크기가 n인 bootstrap sampling 수행

*bootstrap sampling - Original sample 집단에서 더 작지만 무수히 많은 집단으로 랜덤하게 뽑는 방법


2) Bootstrap sample에 대해 Random Forest Tree 모형 제작

a) 전체 변수 중에서 m개 변수를 랜덤하게 선택

b) 최적의 classifier 선정

c) classifier에서 따라 두 개의 daughter node 생성


#아래 그림은 랜덤하게 선택된 유전자를 변수로 두고 재발환자를 가르는 랜덤포레스트 모델링 과정

#OOB(Out-Of-Bag): 학습된 랜덤포레스트 모델이 우수한지의 성능 지표


3) Tree들의 앙상블 학습 결과 출력

*앙상블 학습(ensemble learning): 큰 데이터를 수많은 작은 set으로 나눠 학습시킨 후, 각 학습 모델을 연결하여 성능 좋은 머신러닝 구축





랜덤포레스트 예제


Example - R and Data Mining by Zhao

# R randomForest package 설치 및 로딩 install.package('randomForest')

library(randomForest)

# iris 데이터 사용 data(iris) str(iris)

'data.frame':	150 obs. of  5 variables:
 $ Sepal.Length: num  5.1 4.9 4.7 4.6 5 5.4 4.6 5 4.4 4.9 ...
 $ Sepal.Width : num  3.5 3 3.2 3.1 3.6 3.9 3.4 3.4 2.9 3.1 ...
 $ Petal.Length: num  1.4 1.4 1.3 1.5 1.4 1.7 1.4 1.5 1.4 1.5 ...
 $ Petal.Width : num  0.2 0.2 0.2 0.2 0.2 0.4 0.3 0.2 0.2 0.1 ...
 $ Species     : Factor w/ 3 levels "setosa","versicolor",..: 1 1 1 1 1 1 1 1 1 1 ...

# iris 데이터를 7:3 비율로 trainData 및 testData로 샘플링 ind <- sample(2, nrow(iris), replace = TRUE, prob = c(0.7, 0.3)) trainData <- iris[ind == 1, ] testData <- iris[ind == 2, ]

# randomForest 분석결과 100개의 tree가 생성

# 랜덤하게 두 개 변수를 선택하여 가지의 분류기준을 정함

rf <- randomForest(as.factor(Species) ~ ., data = trainData, ntree = 100, proximity = TRUE, importance = TRUE)


# Out-of-Bag sample의 오차율과 교차표 확인 가능 print(rf)

Call:
 randomForest(formula = as.factor(Species) ~ ., data = trainData,      ntree = 100, proximity = TRUE, importance = TRUE) 
               Type of random forest: classification
                     Number of trees: 100
No. of variables tried at each split: 2

        OOB estimate of  error rate: 4.46%
Confusion matrix:
           setosa versicolor virginica class.error
setosa         40          0         0  0.00000000
versicolor      0         35         3  0.07894737
virginica       0          2        32  0.05882353

# trainData의 randomForest model을 이용한 예측값 출력 predict(rf)

         1          2          3          4          6          7          8          9         10         11         12         13         15         17         18         19 
    setosa     setosa     setosa     setosa     setosa     setosa     setosa     setosa     setosa     setosa     setosa     setosa     setosa     setosa     setosa     setosa 
        20         21         22         23         24         25         27         30         31         32         33         34         35         37         38         41 
    setosa     setosa     setosa     setosa     setosa     setosa     setosa     setosa     setosa     setosa     setosa     setosa     setosa     setosa     setosa     setosa 
        42         43         44         45         46         47         48         49         51         52         54         55         56         57         59         62 
    setosa     setosa     setosa     setosa     setosa     setosa     setosa     setosa versicolor versicolor versicolor versicolor versicolor versicolor versicolor versicolor 
        63         64         65         67         68         69         70         71         73         75         76         77         78         79         80         82 
versicolor versicolor versicolor versicolor versicolor versicolor versicolor  virginica versicolor versicolor versicolor versicolor  virginica versicolor versicolor versicolor 
        83         84         85         87         88         89         91         93         94         95         96         97         98         99        101        102 
versicolor  virginica versicolor versicolor versicolor versicolor versicolor versicolor versicolor versicolor versicolor versicolor versicolor versicolor  virginica  virginica 
       103        104        105        106        107        108        109        110        112        114        115        118        119        125        126        127 
 virginica  virginica  virginica  virginica versicolor  virginica  virginica  virginica  virginica  virginica  virginica  virginica  virginica  virginica  virginica  virginica 
       128        129        130        132        133        134        136        138        139        141        143        144        145        146        148        150 
 virginica  virginica  virginica  virginica  virginica versicolor  virginica  virginica  virginica  virginica  virginica  virginica  virginica  virginica  virginica  virginica 

Levels: setosa versicolor virginicaa

# 실제 trainData값과 예측값을 비교하는 교차표 출력 table(predict(rf), trainData$Species)

             setosa versicolor virginica
  setosa         40          0         0
  versicolor      0         35         2
  virginica       0          3        32

# trainData의 randomForest model을 이용한 testData에 적합한 예측값 출력 irisPred <- predict(rf, newdata = testData) irisPred

         5         14         16         26         28         29         36         39         40         50         53         58         60 
    setosa     setosa     setosa     setosa     setosa     setosa     setosa     setosa     setosa     setosa versicolor versicolor versicolor 
        61         66         72         74         81         86         90         92        100        111        113        116        117 
versicolor versicolor versicolor versicolor versicolor versicolor versicolor versicolor versicolor  virginica  virginica  virginica  virginica 
       120        121        122        123        124        131        135        137        140        142        147        149 
versicolor  virginica  virginica  virginica  virginica  virginica  virginica  virginica  virginica  virginica  virginica  virginica 
Levels: setosa versicolor virginica

# 실제 testData값과 예측값을 비교하는 교차표 출력 table(irisPred, testData$Species)

irisPred     setosa versicolor virginica
  setosa         10          0         0
  versicolor      0         12         1
  virginica       0          0        15

# randomForest 분석결과 변수별 중요도 확인 importance(rf)

                setosa versicolor virginica MeanDecreaseAccuracy MeanDecreaseGini
Sepal.Length  1.550198   2.904545  5.359329             6.234686         6.863905
Sepal.Width   1.616085   1.750807  1.932415             2.689961         1.582434
Petal.Length  8.829176  11.694845 11.303180            12.970271        30.346106
Petal.Width  10.915855  13.094225 14.000101            15.456179        35.045996

# 변수의 중요도를 dot 형식의 플롯팅 varImpPlot(rf)

#MeanDecreaseAccuracy: 정확도

#MeanDecreaseGini: 노드 불순도 개선



#Reference

1) https://towardsdatascience.com/understanding-random-forest-58381e0602d2

2) https://wikidocs.net/34086

3) http://rstudio-pubs-static.s3.amazonaws.com/4944_b042d59e3b174ec395bf2a20eab939d3.html

4) https://www.edureka.co/blog/random-forest-classifier/

5) https://www.codingame.com/playgrounds/7163/machine-learning-with-java---part-6-random-forest

6) https://www.researchgate.net/figure/An-example-of-bootstrap-sampling-Since-objects-are-subsampled-with-replacement-some_fig2_322179244

7) https://www.biostars.org/p/86981/

8) https://thebook.io/006723/ch10/03/04/03/




랜덤포레스트(Random Forest) End

BioinformaticsAndMe

'Machine Learning' 카테고리의 다른 글

Feature selection vs Feature extraction  (0) 2019.10.29
K-NN(최근접이웃) 알고리즘  (0) 2019.10.23
[TensorFlow] Logistic Regression  (0) 2019.10.09
[TensorFlow] Linear Regression  (0) 2019.10.05
[TensorFlow] 기본 연산  (0) 2019.10.04

OncoKB (Precision Oncology Knowledge Base) Start

BioinformaticsAndMe







OncoKB (Precision Oncology Knowledge Base)


: OncoKB는 정밀 종양학 지식 기반으로 암 변이에 따른 약물 치료 효과 정보를 모은 임상 데이터베이스

: 뉴욕 암병원이자 연구기관인 Memorial Sloan Kettering Cancer Center에서 개발

: FDA/NCCN/ASCO/ClinicalTrials.gov/논문 등에서 642개 암 유전자 변이 정보를 모았고, 임상팰로우/교수진들에 의해 검토됨

: https://www.oncokb.org/






Levels of Evidence


: 약물 치료 정보는 임상적 활용성 근거에 따라 각각의 레벨 구간으로 분류됨

ㄱ) Level 1~2 → FDA에서 승인된 항암 변이 혹은 FDA 승인 약물 반응을 예측하는 치료 바이오 마커

ㄴ) Level 3    → 임상시험에서 테스트 중인 유망한 임상 효과를 가진 변이

ㄷ) Level 4    → 임상시험에서 테스트 중인  생물학 기전의 근거가 있는 변이

*해당 정보를 정확하게 활용하기 위해서는 문헌 참조

https://ascopubs.org/doi/full/10.1200/PO.17.00011









#Reference

1) https://www.oncokb.org/

2) https://ascopubs.org/doi/full/10.1200/PO.17.00011





OncoKB (Precision Oncology Knowledge Base) End

BioinformaticsAndMe

'Public Database' 카테고리의 다른 글

CIVIC (Clinical Interpretation of Variants in Cancer)  (0) 2019.10.29
GWAS Catalog  (0) 2019.10.23
Clinvar (Clinically relevant variant)  (0) 2019.09.22
GWASdb (SNP annotation database)  (0) 2018.09.11
SNPnexux (SNP Annotation database)  (0) 2018.08.23

[Methylation] RnBeads Start

BioinformaticsAndMe






RnBeads for DNA methylation


: DNA methylation은 후성유전학의 갈래로 질병과 발달에서 주요한 Epignentic mark로 알려짐

: RnBeads는 DNA methylation을 보는 Infinium microarray와 bisulfite sequencing에서 쉽게 분석해주는 R 패키지

*RnBeads 2.0 (https://rnbeads.org/

: RnBeads에서는 주요 Metylation mark를 찾는 다양한 방법과 시각화 과정을, 단지 R script 10줄 이내로 끝낼 수 있음

: 국내 DNA methylation 분석에서 표준 분석 툴로 자리 잡음





450K analysis pipeline


: 450K는 Infinium HumanMethylation450 BeadChip을 의미하며, DNA methylation 연구에서 가장 많이 사용됨

*485,512 probes 가 심어져 있어서 450K array로 불림 (현재는 100만개 정도 볼 수 있는 EPIC array도 출시)

: 아래 그림은 RnBeads를 포함하여 여러 DNA methylation 분석 툴을 비교한 것 (R패키지)

: RnBeads 분석 과정

1) 칩 데이터를 로딩 (IDAT 파일)

2) 부정확한 프로브 필터링 (detection p-value가 유의하지 않은 프로브 제거)

3) 450K는 Infinium I probe과  Infinium II probe가 함께 있으므로 보정 필요

4) DNA methylation 분석 자체가 환경적 요인이 강하므로 샘플의 cell composition에 대한 보정도 필요

5) 분석 결과는 DMP(특정 위치; genomics position), DMR(특정 지역; 프로모터 등)의 DNA methylation mark로 얻어짐

6) DNA methylation value로 copy number도 볼 수 있으나, 정확성은 의문





#Reference

1) https://genomebiology.biomedcentral.com/articles/10.1186/s13059-019-1664-9

2) https://www.sciencedirect.com/science/article/pii/S1046202314002692

3) http://www.incodom.kr/RnBeads

4) http://www.rnbeads.org/materials/example_1/index.html





[Methylation] RnBeads End

BioinformaticsAndMe

'Bioinformatics Tool' 카테고리의 다른 글

[Annotation] ANNOVAR  (1) 2019.10.30
[GenomeStudio] Genotyping module  (0) 2019.10.24
[Cloud] BIO-Express  (0) 2019.05.23
[BLAST] BLAST result  (0) 2018.11.26
[NGS Fusion] Fusion Tools  (0) 2018.09.09

#생물정보학 교육정보


[Python] 자료형(Data type) Start

BioinformaticsAndMe






Python data type (자료형)


: 자료형이란 프로그래밍에 사용되는 숫자, 문자열 등 자료 형태의 모든 것

: 파이썬은 정수/실수/문자/논리형 등의 기본 자료형 형태를 처리함

# 정수형(Integer type): 양 또는 음의 정수 1, 2, -8, -42

data_int = 150 #정수형 선언

# 실수형(Float type): 소수점이 포함된 실수 6.8, -13.5, 24e12

data_flo = 9.0 #실수형 선언

# 문자형(String type): 따옴표[ ' 또는 " ]에 들어간 문자형 'abc', "defg", 'ab12cd'

data_str = 'abcd' #문자형 선언

#논리형(Boolean type): 참 또는 거짓 True, False

data_boo = True #논리형 선언 (대소문자 구분해야함 → true는 error 발생)





Python type conversion (자료형 변환)


: 파이썬에서는 자료형의 타입을 매우 간단하게 변환할 수 있음

# int(): 정수형 변환

x = int(1) y = int(2.8)

z = int("3")

print(x) print(y) print(z)

1

2

3

# float(): 실수형 변환

x = float(1) y = float(2.8) z = float("3") w = float("4.2") print(x) print(y) print(z) print(w)

1.0 2.8 3.0 4.2

# str(): 문자형 변환

x = str("s1") y = str(2) z = str(3.0) print(x) print(y) print(z)

s1 2 3.0





#Reference

1) https://wikidocs.net/11

2) https://www.slideshare.net/TonyNguyen197/python-language-data-types-61715303

3) https://www.w3schools.com/python/python_casting.asp

4) http://www.techgeekbuzz.com/python-type-conversion-type-casting/





[Python] 자료형(Data type) End

BioinformaticsAndMe

'Python' 카테고리의 다른 글

[Python] 문자열(String)  (0) 2019.10.24
[Python] 연산자(Operator)  (0) 2019.10.18
[Python] 주석 처리  (0) 2019.10.15
Anaconda 설치  (0) 2019.10.08
Python JSON  (0) 2019.10.02

[Python] 주석 처리 Start

BioinformaticsAndMe






주석(Comment)


: 주석(comment)이란 무엇을 하는지 자연어로 기록하는 것 (프로그래밍에서 내용을 메모하는 목적)

: 소스 코드를 쉽게 이해되도록 하며, 프로그램 실행에 영향을 주지 않음



[Python] 주석 처리 (한 줄)


: ‘#’ 기호를 사용 (‘#’ 뒤의 모든 것은 무시되기 때문에 프로그램에는 아무런 영향이 없음)

# 단순 연산 결과 구하기 Result_1 = 1 + 1

Result_2 = 150 + 150


print(Result_1)

#print(Result_2) # 주석 처리됐으므로 Result_2는 출력되지 않음

2




[Python] 주석 처리 (여러 줄)


: 작은따옴표( ' ) 혹은 큰따옴표( " )를 아래 형태로 사용하면, 여러 줄을 한번에 주석처리 가능





#Reference

1) https://ko.wikipedia.org/wiki/%EC%A3%BC%EC%84%9D_(%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%B0%8D)

2) https://www.zentut.com/python-tutorial/python-comments/





[Python] 주석 처리 End

BioinformaticsAndMe

'Python' 카테고리의 다른 글

[Python] 연산자(Operator)  (0) 2019.10.18
[Python] 자료형(Data type)  (0) 2019.10.15
Anaconda 설치  (0) 2019.10.08
Python JSON  (0) 2019.10.02
Python API  (0) 2019.09.30

피셔정확검정 (Fisher exact test) Start

BioinformaticsAndMe






피셔정확검정 (Fisher exact test)


: 피셔제곱검정은 범주형 데이터에서 초기하분포 기반의 정확한 p-value를 계산하는 방법

*초기하 분포(Hypergeometric distribution) - 모집단 비복원추출에서, 뽑은 n개 중 추출한 것이 x개인 확률변수 갖는 확률분포


: 샘플 수가 너무 적거나, 카테고리가 너무 많아서 테이블의 도수가 극도로 작아지는 상황에 주로 사용 

*구체적으로 기대빈도가 5 이하의 셀이 20%를 넘는 경우 피셔제곱검정 사용 (해당 조건에 카이제곱검정은 정확도 떨어짐)





피셔정확검정 R 예제


: 피셔정확검정의 예로서 한 바리스타가 '차를 먼저 따르고 우유를 나중에 넣는지, 우유를 먼저 따르고 차를 나중에 넣는지'의 문제

: 어느 것을 먼저 넣은 차인지 감별하는 바리스타의 능력이 통계적으로 유의한지 피셔정확검정 실시

*테스트를 반복할수록 바리스타 미각이 떨어지므로 총 10번의 실험 데이터를 얻음

추측

사실 

Milk first

Tea first

Milk first

 4

Tea first

 2


# 피셔정확검정을 위한 2x2 contingency matrix 생성 TeaTasting_matrix <- matrix( c(4,2,1,3), nrow=2 ) TeaTasting_matrix

[,1] [,2] [1,] 4 1 [2,] 2 3

# 피셔정확검정 함수 사용 fisher.test(TeaTasting_matrix)

Fisher's Exact Test for Count Data data: TeaTasting_matrix p-value = 0.5238 alternative hypothesis: true odds ratio is not equal to 1 95 percent confidence interval: 0.218046 390.562917 sample estimates: odds ratio 4.918388

# 피셔정확검정 결과 p-value가 0.5238로 유의하지 않으므로

   이 바리스타는 우유가 먼저인지, 차가 먼저인지 감별하는 능력이 있다고 보기 어려움







#Reference

1) http://work.thaslwanter.at/Stats/html/statsCategorical.html

2) https://litfl.com/fishers-exact-test/

3) https://slideplayer.com/slide/4937227/

4) https://www.scalelive.com/fishers-exact-test.html

5) https://techntalk.tistory.com/entry/%ED%94%BC%EC%85%94%EC%9D%98-%EC%A0%95%ED%99%95%EB%8F%84-%EA%B2%80%EC%A0%95Fishers-Exact-Probability-Test





피셔정확검정 (Fisher exact test) End

BioinformaticsAndMe

'Statistics' 카테고리의 다른 글

Z-검정 (Z-test)  (0) 2019.10.28
경향분석 (Cochran-Armitage Trend test)  (0) 2019.10.22
1종, 2종 오류 (Type 1, 2 error)  (0) 2019.10.07
카이제곱검정 (Chi square test)  (0) 2019.10.01
FDR (False Discovery Rate)  (1) 2019.09.23

+ Recent posts