在带有R中的M3C的pca()中的数据帧中用“ 0”和“ -inf”进行处理

问题描述 投票:1回答:1

我有一个数据帧,其中包括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变换了矩阵...

r dataframe pca numeric rna-seq
1个回答
0
投票

[您可以尝试进行log(x + 1)之类的转换,或者尝试进行x ^(1/3)之类的立方根的转换:

© www.soinside.com 2019 - 2024. All rights reserved.