Description
在 R/GuitarPlot.R 的 .generate_guitar_coordinates 函数中(第4-10行),使用了 suppressWarnings(is.na(...)) 的模式来检查NA值:
suppressWarnings(
if (is.na(GuitarCoordsFromTxDb)&is.na(txdb)&is.na(genome)) {
stop(...)
}
)
if ( suppressWarnings(is.na(GuitarCoordsFromTxDb))){
if (suppressWarnings(is.na(txdb))) {
Impact
is.na() 对复杂对象(如TxDb、GRangesList)会产生警告
- 这种检查方式不够健壮
Suggested Fix
使用 is.null() 或自定义检查函数:
# 更好的方式
.is_missing <- function(x) {
is.null(x) || (length(x) == 1 && is.na(x))
}
if (.is_missing(GuitarCoordsFromTxDb) && .is_missing(txdb) && .is_missing(genome)) {
stop(...)
}
File
R/GuitarPlot.R lines 4-14
Description
在
R/GuitarPlot.R的.generate_guitar_coordinates函数中(第4-10行),使用了suppressWarnings(is.na(...))的模式来检查NA值:Impact
is.na()对复杂对象(如TxDb、GRangesList)会产生警告Suggested Fix
使用
is.null()或自定义检查函数:File
R/GuitarPlot.Rlines 4-14