I have a code chunk which gets stuck while knitting and gives the following error:
boxplot(rawdata_order, frame.plot=F, cex.axis=0.7, main="Raw data",border=NULL)
boxplot(affy_normalised_data, frame.plot=F,cex.axis=0.7, main="Normalized data",border=NULL)
hist(rawdata_order, cex.axis=0.7, frame.plot=F, main="Raw data")
hist(affy_normalised_data, cex.axis=0.7, frame.plot=F, main="Normalized data")
***Error in sort.int(x, na.last = na.last, decreasing = decreasing, ...) :
'x' must be atomic
Calls: <Anonymous> ... boxplot.stats -> <Anonymous> -> sort -> sort.default -> sort.int***
The code chunk runs fine on its own. However, when I knit the document, I am unable to get past the first line of this code chunk. Can anyone help me resolve this issue?
It makes sense. I tried this, but I still end up with the same error. Am I missing something?
What are
affy_normalized_data
andrawdata_order
? They appear not to beExpressionSets
.They are expression sets.
The codes for boxplot and hist runs fine on their own. Its only when I knit the file that it gets stuck at that line.
Ugh. My bad. I meant
AffyBatch
. There might be a boxplot method that dispatches onExpressionSet
objects, but it's not inBiobase
, noraffy
. You could load whatever you have loaded when it works interactively and then doTo see where it's coming from. As an example, for
AffyBatch
objects we getAnd you can see there is a defined method in
affy
to do this. ButFor
ExpressionSet
objects it's just dispatching to the S3 method ingraphics
, which doesn't know how to handle it.Alternatively (and maybe easier?) would be to do things by hand, by extracting the
exprs
slot directly: