This is Yuan Tian, the new developer and maintainer of ChAMP package. I am really sorry to say we find a serious bug in current (and old) version champ.SVD function, which is obviously a coding bug, not a algorithms one.
The bug exist in line 157 in current version ChAMP (1.10.0), which mistakenly ordered pd file (Sample_Sheet.csv) file, but forget to order beta matrix. The svd doconvolution is correct, but the correlation p value calculated between each covariate and latent component are relying on the matching of dataset and pd file. Thus only if your dataset is happen have its Sample_Name sorted, otherwise, the SVD plot generated by this champ.SVD() would be wrong.
The SVD plot is a useful plot for researchs to decide which factors and batches should be corrected before DMP, DMR, Block, GSEA analysis. Thus I thought it's a serious bug or user who used our package before.
As the new developer, I am really really sorry for posting this bad news here. Scientists who have encountered this problem, still stuck in this problem, or have experience with it may comment here or send email to firstname.lastname@example.org. I will do my best to solve your questions.
The original paper of ChAMP is ChAMP: 450k Chip Analysis Methylation Pipeline.
The new version of ChAMP has finished now, I am writing vignette now, which should be released in this week. And I promise I will double check the code and make sure everything is correct. The new version of ChAMP changed a lot compared with current one, and much more powerful and easier to use, will provide more function in pipeline. So please still trust ChAMP and take it as your preferred tools to analysis Methylation Array Data.
Again, I am so sorry about the mistake we made in ChAMP package. T_T