You are amazing, thank you very much for the help! It works now, couldn't have done it with your help!
Hi all,
I want to use enhancedvolcanoes package to produce volcanoes plot, but the example is so confusing with its input data in 'S4' type, obj oriented. I have been looking for an example that shows simple data format that I need to have before inputing them in and use the package. Nowhere to be found!
I just have an excel sheet with 3 columns: Gene, log2FoldChange, pvalue
When input into R as VC_data, can we seen as:
My code is as following:
EnhancedVolcano(VC_data,
lab = VC_data$Gene,
x = 'log2FoldChange',
y = 'pvalue',
xlim = c(-5, 8))
I keep getting this error saying that
'Error in EnhancedVolcano(VC_data, lab = VC_data$Gene, x = "log2FoldChange", :
log2FoldChange is not numeric!'
When I did is.numeric(VC_data$log2FoldChange), I get true.
I am very frustrated. Please help!
1 answer
Seems to be an issue with your input being a tibble:
tb <- tibble(log2fc = c(2,3), pval = c(0.01, 0.007))
## this returns the error you have:
EnhancedVolcano(toptable = tb, x = 'log2fc', y = 'pval', lab = "foo")
## this one does it properly:
EnhancedVolcano(toptable = data.frame(tb), x = 'log2fc', y = 'pval', lab = "foo")
=> Convert tibble to data.frame
Edit: The way EnhancedVolcano checks if data are numeric is (source code line 76-78):
if(!is.numeric(toptable[,x])) {
stop(paste(x, " is not numeric!", sep=""))
}
Problem is that e.g. tb[,1] does not automatically reduces dimensions to directly access the data but returns:
> tb[,1]
# A tibble: 2 x 1
log2fc
<dbl>
1 2
2 3
whereas:
tb[,1][[1]]
[1] 2 3
returns the numeric data.
Log in to answer this question.
Please embed images properly ( How to add images to a Biostars post ) and use the code option to highlight code, data examples and error messages. I made the changes for you this time.
look at
colnames(VE_data)to make sure that excel hasn't added any whitespace.