2014-06-17 12 views
1

격자 격자 격자를 만들려고하지만 원하는대로 만들 수 없습니다. 나는 지금까지의 모습을 좋아하고, 내가 원하는 것을 정확히보기 위해 튜닝을해야한다. 나는 내가 사용하고자하는 R 코드, 그래프, 그리고 마침내 내가 만들고자하는 그래프를 줄 것이다. 여기
2 CSV File 내 R 코드 :격자의 격자 격자도 : 점과 격자 크기 변경

Infection<-read.table("stack.csv", header=TRUE, sep=",") 
attach(Infection) 
head(Infection) 
Infection.st<-stack(Infection[,2:13]) 
head(Infection.st) 
Infection.st[,"gene"]<-Infection[,1] 
head(Infection.st) 
summary(Infection.st$ind) 
Infection.st$ind<-factor(Infection.st$ind, levels=c("Disease.12h", "Control.12h", "Disease.4d", "Control.4d", 
                "Disease.3h", "Control.3h", "Disease.24h", "Control.24h", 
                "Disease.48h", "Control.48h", "Disease.72h", "Control.72h")) 
summary(Infection.st$ind) 

xyplot(values~ind|gene, xlab = NULL,layout=c(7,16), main="Gene Expression after infection", auto.key=list(columns = 6, cex = .8), 
     pch = 21, cex = .7, scales = list(x = list(draw = FALSE)), data=Infection.st, group=ind) 

3) 여기에 내가 얻을 그래프는 다음과 같습니다 1.
데이터은 https : //dl.dropboxusercontent.com/u/62277598/ Stack.pdf (콜론 뒤에 공백을 제거하십시오)
4) 마침내 원하는 그래프는 다음과 같습니다. Desired Graph
이제 내 손으로 볼 수있는 것처럼 그래프에서 다음과 같은 것을 얻고 싶습니다.
a) 기호가 다를 때마다 점을 찍지 만, 질병이 없어지면 컨트롤이 채워집니다 (같은 색은 괜찮습니다). 또 다른 옵션은 각 포인트마다 다른 유형의 항목을 가지며 질병 및 제어 (예 : 빨강 및 녹색)의 색상을 다양하게하는 것입니다.
b) x 축의 눈금을 변경하십시오. 시계열 데이터이기 때문에이를 표현하는 것이 좋습니다. 그러나 정확하지는 않습니다. 예를 들어, 12 시간에서 4 일 사이의 공간과 4 일 후보다 작은 공간이 있습니다. 각 시간대에 질병 및 컨트롤 샘플을 가까이 두는 것이 좋을 것입니다.
c) 규모를 변경할 수 있다면 마침내 좋을 것입니다. 저조한 표현이있는 유전자가 있으며 새로운 그래프에서 그려 내고 있습니다. 나는 4 일까지 표정을 분류하고 표정 수준에 의해 분류 된 유전자를 놓으려고 생각했다.
추신 : 2 개 이상의 링크 또는 이미지를 게시하는 데 10 개의 평판이 없습니다. 시간 내 주셔서 감사합니다.

답변

1

나는 언젠가이 질문을했다. 여기에 해결책이 있습니다. 내가하지 않은 유일한 것은 시간 지점 사이의 거리를 변경하는 것이 었습니다. 그것은 실제로 불필요합니다.

library("latticeExtra") 
library("scales") 

#Command sets the working directory 
setwd("/your-directory") 

OR<-read.table("stack.csv", header=TRUE, sep=",") 
attach(OR) 
head(OR) 
OR.st<-stack(OR[,2:13]) 
head(OR.st) 
OR.st[,"gene"]<-OR[,1] 
head(OR.st) 
summary(OR.st$ind) 
OR.st$ind<-factor(OR.st$ind, levels=c("Disease-12h", "Disease-4d", "Control-4d", "Disease-3h", "Control-3h", "Disease-24h","Control-24h", "Disease-48h", "Control-48h", "Disease-72h","Control-72h") 
summary(OR.st$ind) 

#comand to make symbols for each time point 
supsym <- trellis.par.get("superpose.symbol") 
supsym$col <- c("gold","gold","coral","coral","green","green","red","red","blueviolet","blueviolet","cornflowerblue","cornflowerblue","azure4", "azure4") #this is the line around the symbol 
supsym$fill <- c("gold","gold","coral","coral","green","green","red","red","blueviolet","blueviolet","cornflowerblue","cornflowerblue","azure4", "azure4") #this is the color to fill the symbols 
supsym$pch <- c(15,19,23, 24, 15,19,15,19,15,19,15,19,15,19,15,19) #here is where you can change the type of symbol you are using 
supsym$cex <- c(.8,.8,.8,.7,.8,.8,.8,.8,.8,.8,.8,.8,.8,.8,.8,.8,.8) #here you can change the size of each symbol 
trellis.par.set("superpose.symbol",supsym) 
colors() 
options(scipen=10) 
options(digits=10) 

#below is just setting the color of each panel headings 
bgColors <- c("gray44", "gray80", "gray44", "gray80", "gray44", 
       "gray44", "gray80", "gray44", "gray80", "gray44", 
       "gray44", "gray80", "gray44", "gray80", "gray44", 
       "gray44", "gray80", "gray44", "gray80", "gray44", 
       "gray44", "gray80", "gray44", "gray80", "gray44", 
       "gray44", "gray80", "gray44", "gray80", "gray44", 
       "gray44", "gray80", "gray44", "gray80", "gray44", 
       "gray44", "gray80", "gray44", "gray80", "gray44", 
       "gray44", "gray80", "gray44", "gray80", "gray44", 
       "gray44", "gray80", "gray44", "gray80", "gray44", 
       "gray44", "gray80", "gray44", "gray80", "gray44", 
       "gray44", "gray80", "gray44", "gray80", "gray44", 
       "gray44", "gray80", "gray44", "gray80", "gray44", 
       "gray44", "gray80", "gray44", "gray80", "gray44", 
       "gray44", "gray80", "gray44", "gray80", "gray44", 
       "gray44", "gray80", "gray44", "gray80", "gray44", 
       "gray44", "gray80", "gray44", "gray80", "gray44", 
       "gray44", "gray80", "gray44", "gray80", "gray44", 
       "gray44", "gray80", "gray44", "gray80", "gray44", 
       "gray44", "gray80", "gray44", "gray80", "gray44", 
       "gray44", "gray80", "gray44", "gray80", "gray44", 
       "gray44", "gray80", "gray44", "gray80", "gray44", 
       "gray44", "gray80", "gray44", "gray80", "gray44", 
       "gray44", "gray80", "gray44", "gray80", "gray44", 
       "gray44", "gray80", "gray44", "gray80", "gray44", 
       "gray44", "gray80", "gray44", "gray80", "gray44", 
       "gray44", "gray80", "gray44", "gray80", "gray44", 
       "gray44", "gray80", "gray44", "gray80", "gray44", 
       "gray44", "gray80", "gray44", "gray80", "gray44", 
       "gray44", "gray80", "gray44", "gray80", "gray44", 
       "gray44", "gray80", "gray44", "gray80", "gray44") 

txtColors <- c("white", "black", "white", "black", "white", 
       "white", "black", "white", "black", "white", 
       "white", "black", "white", "black", "white", 
       "white", "black", "white", "black", "white", 
       "white", "black", "white", "black", "white", 
       "white", "black", "white", "black", "white", 
       "white", "black", "white", "black", "white", 
       "white", "black", "white", "black", "white", 
       "white", "black", "white", "black", "white", 
       "white", "black", "white", "black", "white", 
       "white", "black", "white", "black", "white", 
       "white", "black", "white", "black", "white", 
       "white", "black", "white", "black", "white", 
       "white", "black", "white", "black", "white", 
       "white", "black", "white", "black", "white", 
       "white", "black", "white", "black", "white", 
       "white", "black", "white", "black", "white", 
       "white", "black", "white", "black", "white", 
       "white", "black", "white", "black", "white", 
       "white", "black", "white", "black", "white", 
       "white", "black", "white", "black", "white", 
       "white", "black", "white", "black", "white", 
       "white", "black", "white", "black", "white", 
       "white", "black", "white", "black", "white", 
       "white", "black", "white", "black", "white", 
       "white", "black", "white", "black", "white", 
       "white", "black", "white", "black", "white", 
       "white", "black", "white", "black", "white", 
       "white", "black", "white", "black", "white", 
       "white", "black", "white", "black", "white", 
       "white", "black", "white", "black", "white") 


# Create a function to be passes to "strip=" argument of xyplot 
myStripStyle <- function(which.panel, factor.levels, ...) { 
    panel.rect(0, 0, 1, 1, 
      col = bgColors[which.panel], 
      border = 1) 
    panel.text(x = 0.5, y = 0.5, 
      font=2, 
      lab = factor.levels[which.panel], 
      col = txtColors[which.panel]) 
}  



print(xyplot(values~ind|Gene,groups=ind,data=OR.st, 
      layout=c(5,7),as.table=TRUE, 
      type="p", 
      par.strip.text=list(custBgCol=bgColors, 
           custTxtCol=txtColors), 
      strip=myStripStyle, 
      auto.key=list(text=c("Disease-12h", "Disease-4d", "Control-4d", "Disease-3h", 
      "Control-3h", "Disease-24h","Control-24h", "Disease-48h", "Control-48h", "Disease-72h","Control-72h"), 
          space="bottom", columns=7, pch=8, cex=.8), 
      relation="same", 
      #use relation="sliced", to have same scales across panels 
      #scales = list(x = list(draw = FALSE),y=list(log=TRUE)), 
      scales = list(x = list(draw = FALSE, abbreviate = FALSE), y = list(log = 10)), 
      yscale.components = yscale.components.log10ticks, 
      #aspect = "y", 
      #scales=list(alternating=FALSE), 
      #between=.5,#space between 
      main="Gene Expression after Infection", 
      #ylim=c(0,1000),#this changes the y limits 
      xlab="", 
      ylab=expression('RPKMs'))) 

질문이 있으면 알려주세요.