티스토리 뷰
R 이 통계처리에 강점을 가지고 있다고 하지만 또한가지의 강점은 Visualization이다. 그래프를 그릴때 필요한 사소한 수정과 반복을 생각해보면 R을 통해 그래프를 그리는 것이 얼마나 강력한지 느끼게 된다. 처음에는 조금 어렵게 느껴 질 수 있지만 익숙해 지면 편하다
R을 설치하고 실행하는 방법은 여기를 참고.
먼저 작업하는 폴더를 지정해 준다.
setwd("~/Desktop")
데이터를 읽는다. 데이터는 첨부파일에 있음
dat <- read.csv("plot_sample.csv")
reshape을 이용해 데이터 테이블을 적절하게 변형시켜준다.
library(reshape)
melted <- melt(dat, id = c("treatment", "time"))
ggplot을 이용해 그래프를 그린다.
첫번째 방법으로 박스플랏을 그리는 방법
library(ggplot2)
ggplot(melted, aes(x=as.factor(time), y=value))+
geom_boxplot(aes(fill=treatment),position= position_dodge(0.9))+
labs(x="Time(hr)", y="Concentration (mg/ml)")
그러면 아래와 같은 그래프가 그려진다
두번째 바 플랏을 그리는 방법.
바플랏은 평균과 standard deviation을 자동으로 계산해 주지 않으므로 이를 계산해 주는 함수를 읽어준다.
data_summary <- function(data, varname, groupnames){
require(plyr)
summary_func <- function(x, col){
c(mean = mean(x[[col]], na.rm=TRUE),
sd = sd(x[[col]], na.rm=TRUE))
}
data_sum<-ddply(data, groupnames, .fun=summary_func,
varname)
data_sum <- rename(data_sum, c("mean" = varname))
return(data_sum)
}
그리고 함수를 실행해서 평균와 starndard deviation을 계산
df <- data_summary(melted, varname="value",
groupnames=c("treatment", "time"))
마지막으로 바플랏을 그린다.
p <- ggplot(df, aes(x=time, y=value, fill=treatment)) +
geom_bar(stat="identity", position=position_dodge()) +
geom_errorbar(aes(ymin=value-sd, ymax=value+sd), width=.2,
position=position_dodge(.9))
plot(p)
이렇게 하면 아래와 같은 그래프가 그려진다
전체 코드는 첨부파일에 있다.
'바이오 인포매틱스 > R' 카테고리의 다른 글
R 설치하고 실행하는 방법 (1) | 2017.02.08 |
---|---|
Phyloseq에서 QIIME 결과 불러오기 (0) | 2017.01.19 |