我有一个数据帧,其中包括colnames中的sample_id,行名中的基因名和值矩阵(rnaseq tpm)。我想从M3C包中执行pca()。我首先使用以下方法将log2转换为矩阵:
df_log2 <- mutate_if(df, is.numeric, log2)
然后使用以下方法带回行名:
rownames(df_log2) <- rownames(df)
但是,当我尝试PCA时,出现以下错误:
> PCA <- pca(df) ***PCA wrapper function*** running... Error in colMeans(x, na.rm = TRUE) : 'x' must be numeric
我检查了df,由于第一个df的log2(0),有些列包含“ -inf”作为值。
“-inf”是问题吗?如果是的话,我该如何处理?
我有一个数据帧,其中包括colnames中的sample_id,行名中的基因名和值矩阵(rnaseq tpm)。我想从M3C包中执行pca()。我首先用log2变换了矩阵...
[您可以尝试进行log(x + 1)之类的转换,或者尝试进行x ^(1/3)之类的立方根的转换: