immunomethylomics / FlowSorted.Blood.EPIC

This package includes a new cell reference for adult peripheral blood deconvolution arrayed using Illumina HumanMethylationEPIC
7 stars 5 forks source link

Fix factor coercion error #3

Closed lardenoije closed 4 years ago

lardenoije commented 4 years ago

I encountered an error when using RGsets with factor columns in their colData:

Error in (function (object, Class, strict = TRUE, ext = possibleExtends(thisClass, : no method or default for coercing "character" to "factor"

This improvised modification prevents that error.

lucassalas commented 4 years ago

Hi @lardenoije,

Thank you for looking at this issue. This is an issue that was present from the original minfi function, but in some cases (logical and factors) the coercion in my code was not solving the problem and crashing the code. I will work on cleaning your code to comply with Bioconductor requirements, in the next days and integrate the solution into our package.

lucassalas commented 4 years ago

Hi @lardenoije , I have checked your code, and it is very elegant solution for most of the class coercion problems. However, there are some instances in which there could be still some issues during the combination. Although I explored several potential issues (logical to factor, factor to character, logical to numeric, character to numeric, matrix to numeric, and a very long etc.), the combinations are too many to really ascertain that they will work in all the cases. Thus, I decided to use a slightly longer (and less elegant) code to force the pData slot to match when conflicts appear. The changes are now on github and they will migrate to both the developing and the stable 3.11 branch soon. Thanks.

lardenoije commented 4 years ago

Hi @lucassalas, Thank you for looking into this and fixing the issue! I understand that a more generally applicable solution is desired over the one I suggested and am happy this issue will be resolved in the next version.