私は一連のベクトルを持っていて、それらを繰り返し印刷したいです(これまではハードコーディングしましたが、1つずつやり直すのは避けたいです)。ベクトルの名前を保持する変数の名前は「遺伝子」(char)に保存されますが、ls()を使用して変数を確認できます(これまでのところ新しいことは何もありません)各ベクトルは可変長であり、印刷したい値 (y 軸) に対するインデックス (x 軸)。ダウンロードしているデータは TCGA データベースから取得され、R パッケージでアクセスできます。私がこれまでに持っているものは次のとおりです。
library(cgdsr)
#create object
mycgds = CGDS("http://www.cbioportal.org/public-portal/")
genes <- c("AGPAT1", "CDIPT", "CDS1", "CEL", "CEPT1", "DGKA", "LCAT", "LCLAT1", "LPCAT3", "LPIN1", "LPL", "MOGAT3", "PEMT", "PISD", "PLA2G4B", "PLD1","PTDSS1", "PTDSS2", "ATX", "PLA2") # list of my gene names
# get z score about these genes for kidney cancer
data <- getProfileData(mycgds, genes, "kirc_tcga_pub_rna_seq_v2_mrna_median_Zscores", "kirc_tcga_pub_3way_complete" )
data <- t(data)
#set z-value cutoff (equivalent to p<0.05)
i <- -1.96
j <- 1.96
# select only samples that have values lower than i and higher than j
AGPAT1 <- data[1,which(data[1,] < i | data[1,] > j)]
CDIPT <- data[2,which(data[2,] < i | data[2,] > j)]
CDS1 <- data[3,which(data[3,] < i | data[3,] > j)]
CEL <- data[4,which(data[4,] < i | data[4,] > j)]
CEPT1 <- data[5,which(data[5,] < i | data[5,] > j)]
DGKA <- data[6,which(data[6,] < i | data[6,] > j)]
LCAT <- data[7,which(data[7,] < i | data[7,] > j)]
LCLAT1 <- data[8,which(data[8,] < i | data[8,] > j)]
LPCAT3 <- data[9,which(data[9,] < i | data[9,] > j)]
LPIN1 <- data[10,which(data[10,] < i | data[10,] > j)]
LPL <- data[11,which(data[11,] < i | data[11,] > j)]
MOGAT3 <- data[12,which(data[12,] < i | data[12,] > j)]
PEMT <- data[13,which(data[13,] < i | data[13,] > j)]
PISD <- data[14,which(data[14,] < i | data[14,] > j)]
PLA2G4B <- data[15,which(data[15,] < i | data[15,] > j)]
PLD1 <- data[16,which(data[16,] < i | data[16,] > j)]
PTDSS1 <- data[17,which(data[17,] < i | data[17,] > j)]
PTDSS2 <- data[18,which(data[18,] < i | data[18,] > j)]
ATX <- data[19,which(data[19,] < i | data[19,] > j)]
PLA2 <- data[20,which(data[20,] < i | data[20,] > j)]
#setup page for the 18graphs, not 20 cause there are no values for the last two
par(mfrow= c(3,6))
color <- function(x){
ifelse(x > 1.96, "red", "green")
}
for (k in seq(1,length(ls()),1)) #iterate through ls()
for(z in seq(1, length(genes),1)) #iterate through my list of genes
if(genes[z] == ls()[k]) #if they match print them out
plot(ls()[k], pch=15, col=color(ls()[k]), main =genes[z], ylim=c(-3,30))
「色」機能は、値に基づいて色を割り当てることです
ただし、これを機能させることはできません。すべてのグラフを印刷するのではなく、ほんの一部を印刷し、適切な色を適用しません。
ありがとう :)