volcanoGraph <- function(dataSet, title) {
thresholdData <- dataSet$qColumn < 0.05
length(which(thresholdData))
dataSet$threshold <- thresholdData
dataSetOrdered <- dataSet[order(dataSet$qColumn), ]
dataSetOrdered$geneLabels <- ""
dataSetOrdered$geneLabels[1:10] <- rownames(dataSetOrdered)[1:10]
view(dataSetOrdered)
ggplot(dataSetOrdered) +
geom_point(aes(x=MeanDiff, y=-log10(qColumn), colour=threshold)) +
geom_text_repel(aes(x = MeanDiff, y = -log10(qColumn), label = ifelse(geneLabels == T, rownames(dataSetOrdered),""))) +
ggtitle(title) +
xlab("WT - Mutation Mean Difference") +
ylab("-log10 adjusted q-value") +
#scale_y_continuous(limits = c(0,50)) +
theme(legend.position = "none",
plot.title = element_text(size = rel(1.5), hjust = 0.5),
axis.title = element_text(size = rel(1.25)))
}
我试图使用geom_text_repel来检测哪些行的基因标签列被填充(最低的10个q值)。但是,行名似乎没有出现。我的数据表的格式是GeneName,MeanDiff,qColumn,threshold,geneLabels列。本质上,我尝试将来自此this link的volcanoplot代码合并为一个函数,并且似乎没有标记这些点。
geom_text_repel中的ifelse块似乎出了问题。 geneLabels包含行名,您正在检查一些未定义的“ T”。