Entering edit mode
I'm trying to run the ChAMP SVD analysis, however I get an error which I don't fully understand. Anyone who does and knows how to solve?
dir.create('./CHAMP_SVDimages')
champ.SVD(beta = mynormSPN,
rgSet=NULL,
pd=myloadSPN$pd,
RGEffect=FALSE,
PDFplot=TRUE,
Rplot=TRUE,
resultsDir="./CHAMP_SVDimages/SPN")
[===========================]
[<<<<< ChAMP.SVD START >>>>>]
-----------------------------
champ.SVD Results will be saved in ./CHAMP_SVDimages/SPN .
[SVD analysis will be proceed with 731946 probes and 15 samples.]
[ champ.SVD() will only check the dimensions between data and pd, instead if checking if Sample_Names are correctly matched (because some user may have no Sample_Names in their pd file),thus please make sure your pd file is in accord with your data sets (beta) and (rgSet).]
<< Following Factors in your pd(sample_sheet.csv) will be analysised: >>
<ï..Research.Number>(character):RD-17-592, RD-17-593, RD-17-594, RD-17-595, RD-17-596, RD-17-597, RD-17-598, RD-17-599, RD-17-600, RD-17-601, RD-17-602, RD-17-603, RD-17-604, RD-17-605, RD-17-606
<Stock.Conc..ng.uL>(numeric):11.3, 19, 11.8
<Slide>(numeric):202226320010, 202226320016
<Array>(character):R01C01, R02C01, R03C01, R04C01, R05C01, R06C01, R07C01, R08C01
[champ.SVD have automatically select ALL factors contain at least two different values from your pd(sample_sheet.csv), if you don't want to analysis some of them, please remove them manually from your pd variable then retry champ.SVD().]
<< Following Factors in your pd(sample_sheet.csv) will not be analysis: >>
<Array.Type>
<Sample_Name>
[Factors are ignored because they only indicate Name or Project, or they contain ONLY ONE value across all Samples.]
<< PhenoTypes.lv generated successfully. >>
Error in summary(lm(svd.o$v[, c] ~ PhenoTypes.lv[[f]]))$coeff[2, 4] :
subscript out of bounds
In addition: Warning message:
In if (class(beta) == "data.frame") { :
the condition has length > 1 and only the first element will be used
In fact, I found that the author may have caused the problem
u can code this
champ.SVD(beta=myNorm %>% as.data.frame(), pd=myLoad$pd)
to avoid it