Summary : 다음을 R을 통하여 실습합니다. (1) R 활용하기 (2) Survival analysis를 위한 R의 기본 문법 (3) R markdown
R Programming에 관한 자료들이 상당히 많습니다. R Cookbook, The Art of R Programming과 같은 세련된 유료 컨텐츠들이 있습니다만, 그에 상응하는 수준의 무료 컨텐츠가 많습니다. 시간이 허락한다면 http://www.r-project.org의 ‘Manuals’ 코너를 한 번 둘러보길 추천 합니다.
-> R 입문에 좋은 재료입니다. (아래 R 기본 문법은 여기서 참고 했습니다.)
-> 아주 유용한 함수들과 간략한 설명이 있습니다.
참고로 Survival analysis를 위한 자료는 다음을 추천합니다.
-> 필요하실 때 마다 찾아보시면 될 듯 합니다.
-> 구글에서 검색한 자료인데 상당히 좋습니다. (앞으로 실습 시간에 많은 부분을 참고할 예정입니다.)
Scrpit, Console, Prompt의 개념 알기.
산술연산
R에서는 계산기로서의 산술연산을 할 수 있습니다.
3 + 2; #더하기
3 - 2; #빼기
3 * 2; #곱하기
3 / 2; #나누기
3 ^ 2; #제곱
9 %% 2; #나머지
exp(1); #지수함수
log10(1000); #로그함수
결과가 TRUE or FALSE인 논리연산을 할 수 있습니다. 나중에 if 문을 작성할 때 논리를 작성할 때 유용합니다.
5 < 5; #크기비교 1
5 <= 5; #크기비교 2
5 > 5; #크기비교 3
5 >= 5; #크기비교 4
5 == 5; #동등비교 1
5 != 5; #동등비교 2
x <- TRUE; y = FALSE; #T/F 할당
x | y; #OR 함수
x & y; #AND 함수
isTRUE(x); #TRUE 확인 함
my.vector.1 = c(1,2,3,4,5,6);
my.vector.2 = 1:6;
my.vector.3 = seq(1,6);
my.vector.4 = rep(1,6);
my.vector.1;my.vector.2;my.vector.3;my.vector.4;
length(my.vector.1); #vector 길이
my.vector.1[3]; #vector index 이용하기1
my.vector.1[c(2,4,6)]; #vector index 이용하기2
my.vector.1[-c(2,4,6)]; #vector index 이용하기3
my.matrix.1 = matrix(my.vector.1, nrow=2); #Matrix 만들기1
my.matrix.2 = matrix(my.vector.1, nrow=3); #Matrix 만들기2
my.matrix.1;my.matrix.2;t(my.matrix.1);
dim(my.matrix.1); #Matrix 크기 확인1
nrow(my.matrix.1); #Matrix 크기 확인2
ncol(my.matrix.1); #Matrix 크기 확인3
my.matrix.1 * 2; #Matrix 연산1
my.matrix.1 * my.matrix.1; #Matrix 연산2
my.matrix.1 %*% my.matrix.2; #Matrix 연산3
name <- c("철수", "영희", "길동")
age <- c(21, 20, 31)
gender <- factor(c("M", "F", "M"))
my.list = list(name, age, gender, 1:7)
my.list[[1]];my.list[[2]];my.list[[3]];my.list[[4]];
my.list[[1]][2];
character <- data.frame(name, age, gender)
character;character$name;character$age;character$gender;
character[character$gender == "F", ];
character[character$age < 30 & character$gender=="M", ];
Question, 남자 데이터는 어떻게 가져올 수 있을까요?
str(Puromycin)
PuroTrt <- subset(Puromycin, state=="treated")
PuroUnTrt <- subset(Puromycin, state=="untreated")
plot(rate ~ conc, data=PuroTrt);
plot(rate ~ conc, data=PuroTrt, xlim=c(0, 1.2), ylim=c(40, 210), xlab="concentration(ppm)", ylab="rates(counts/min/min)", cex.lab=1.2)
plot(rate ~ conc, data=PuroTrt, pch=16, col=3, cex=1.5)
legend("bottomright", col=3, pch=16, "green point") ;
par(mfrow=c(1, 3))
plot(rate ~ conc, data=PuroTrt, type="p");
plot(rate ~ conc, data=PuroTrt, type="l");
plot(rate ~ conc, data=PuroTrt, type="b");
R markdown은 R code와 설명을 pdf나 html 파일과 같이 통합된 문서로 만드는 것을 도와줍니다. 기존의 R-Gui 환경에서 문서 작성은 꽤 직관적이지 못했습니다만, RStudio에서는 knitr라는 Package를 이용하여 손쉽게 만들 수 있습니다. 자세한 설명은 아래의 홈페이지로 대신하고, 수업시간에 예제를 다루겠습니다.
-> 빠른 영문 자료
-> 빠른 한글 자료
Disclaimer : 이 자료는 최영근 조교님의 2013년 가을 Survival anlysis 실습 수업자료를 바탕으로 만들어졌습니다.