python: invalid value encountered in divide以及invalid value encountered in double_scalars报错
运行命令python eqtl_prepare_expression.py data.tpm.gct data.reads_count.gct --tpm_threshold 0.1 --count_threshold 2 --sample_frac_threshold 0.2 --normalization_method tmm --output data.txt
时出现了报错“invalid value encountered in divide”以及“invalid value encountered in double_scalars”的报错,问chatgpt,给了我以下的解决方案:
按照上述方案,去除无效值(如NaN或Inf):
cleaned_data <- data %>%
mutate(across(col4:coln,
~ as.numeric(.) %>% # 将列转换为 double 类型
na_if(Inf) %>% # 将 Inf 替换为 NA
na_if(NaN))) # 将 NaN 替换为 NA
再次运行命令python eqtl_prepare_expression.py data.tpm.gct data.reads_count.gct --tpm_threshold 0.1 --count_threshold 2 --sample_frac_threshold 0.2 --normalization_method tmm --output data.txt
,没啥卵用~~,还是出现相同的报错,说明不是无效值导致的。
再次检查数据,发现是某列均是0导致运行出现的报错。那就去除全是0的列:
tr1=tr %>% select(where(is.numeric)) %>% select_if(~ sum(.) != 0)
再次运行命令,总算正常了~
本文来自博客园,作者:橙子牛奶糖(陈文燕),转载请注明原文链接:https://www.cnblogs.com/chenwenyan/p/18474015