Thanks for answering.
I performed a differential expression analysis of microarray data. Now, I have a top table (tT) of results. The tT has logFC, adj.P.Val, GENE-SYMBOL columns. I want to plot a volcano plot by EnhancedVolcano: Publication-ready volcano plots with enhanced colouring and labeling so I enter these codes:
library(EnhancedVolcano)
EnhancedVolcano(tT, lab = tT$GENE_SYMBOL, x = 'logFC', y = 'adj-P-Val', xlim = c(-6, 6),title = 'Volcano plot', pCutoff = 0.01, FCcutoff = 1.5,pointSize = 2.0,labSize = 2.0)
and I get this error:
Error in EnhancedVolcano(tT, lab = tT$GENE_SYMBOL, x = "logFC", y = "adj-P-Val", :
adj-P-Val is not numeric!
But actually the class of adj-P-Val is numeric
class(tT$adj.P.Val)
[1] "numeric"
How can I fix it?
1 answer
Hello, the column name in your dataframe is adj.P.Val, not adj-P-Val. Therefore, when you call EnhancedVolcano, you should use:
EnhancedVolcano(tT, lab = tT$GENE_SYMBOL, x = 'logFC', y = 'adj.P.Val', xlim = c(-6, 6),title = 'Volcano plot', pCutoff = 0.01, FCcutoff = 1.5,pointSize = 2.0,labSize = 2.0)
If you want to preserve the name adj-P-Val with the hyphens instead of periods, when you first create your data frame, you should use the parameter: check.names=FALSE. This will permit the code you wrote in your original post to work.
Please don't delete a question after you received help. The content might be useful for someone else. We don't answer questions just for you but for the entire community.
Please upvote helpful answers and mark the answer as accepted if it solved your problem.
I already have up-voted to the answer and ticked accept and after that, I deleted the post because I thought that it was not useful for the entire community.
Log in to answer this question.