我正在尝试使用Yeo-Johnson转换数据。但是,错误消息间歇出现。
我有一个细菌丰度数据框,其中包含19个观察值和47个变量。列1-5包含元数据。下面是几列的示例。
Clostridium_asparagiforme Anaerostipes.genus
1 0.0338700068 0.007199999
2 0.0004600178 0.138300041
3 0.0411229650 2.512119498
4 0.0186591966 0.056815952
5 0.1820031139 0.235399058
6 0.0000000000 0.042770004
7 0.0106419879 1.690746339
8 0.0786799373 0.710000000
9 0.0000000000 0.000000000
10 0.0000000000 0.018690002
11 0.5881898235 0.000000000
12 0.0000000000 0.093455813
13 0.0006700001 0.091900028
14 0.0433818307 0.000400000
15 0.0487599756 0.002689999
16 0.0000000000 0.078040728
17 0.4164300000 1.682430000
18 0.0000000000 1.030049794
19 0.0758699772 0.333700000
这是我用来转换数据的代码
Anaerostipes.genus <- abundance %>% select(Anaerostipes.genus)
Anaerostipes.genus <- as.data.frame(Anaerostipes.genus)
preprocessAnaerostipes.genus <- preProcess(Anaerostipes.genus, method=c("YeoJohnson"))
print(preprocessAnaerostipes.genus)
对于某些列,它可以完美运行(Anaerostipes.genus)。其他列我收到此错误消息(Clostridium_asparagiforme):
Lambda estimates for Yeo-Johnson transformation:
Error in round(lmbda[!is.na(lmbda)], 2) :
non-numeric argument to mathematical function
我的数据集包含很多0,但我认为Yeo-Johnson能够处理数据集中的0值。我正在将转换后的数据用于线性混合模型
任何帮助将不胜感激。