gpt4 book ai didi

r - 创建密度图时出错

转载 作者:行者123 更新时间:2023-12-04 05:33:02 26 4
gpt4 key购买 nike

我想创建 45 个样本的密度图,但由于缺少值,某些样本将无法形成密度。我遇到的错误是

Error in density.default(assayData(data.lair)$lair.predicted[, i], na.rm = TRUE) : need at least 2 points to select a bandwidth automatically



有人知道如何在函数中解决此错误。

数据的名称被提取到位列表:
c("00_11242T1.bmp", "00_7T.bmp", "01_677T.bmp", "106T.bmp", "106TV.bmp", 
"108T.bmp", "108TV.bmp", "124T.bmp", "124TV.bmp", "40T.bmp",
"4497T.bmp", "44T.bmp", "44TV.bmp", "511T.bmp", "511TV.bmp",
"514T.bmp", "514TV.bmp", "56T.bmp", "92_11145T.bmp", "94_10917T1.bmp",
"95_549T.bmp", "97_12714T1.bmp", "97_7999T.bmp", "97_8073T2.bmp",
"99_2221T.bmp", "99_6669T.bmp", "99_7417T1.bmp", "99_7417T2.bmp",
"R01_80418T2.bmp", "R01_81197T.bmp", "R02_80456T2.bmp", "R03_80356T.bmp",
"R03_80586T.bmp", "R04_80227T.bmp", "R04_80577T.bmp", "R04_80584T.bmp",
"R04_81371T.bmp", "R04_81372T1.bmp", "R04_81449T.bmp", "R05_80479T.bmp",
"R05_80481T.bmp", "R05_80611T.bmp")

我正在使用的功能:
for( i in (1:ncol(data.lair))) {
bmp(filename = bitlist[i], width = 1200, height = 1200, units = "px",bg = "white")
par(mfrow=c(1,2))
plot(density(assayData(data.lair)$lair.predicted[,i],na.rm=TRUE),main = bitlist[i])
plot(density(assayData(data.lair)$predicted[,i],na.rm=TRUE),main = bitlist[i])
cat(i,"\n")
dev.off()
}

数据可以在这里下载:
DATA

最佳答案

获得的错误消息是由包含的值不足的向量引起的。在您的数据中,一些向量包含 NA只有。

例如,索引的第二个值:

i <- 2
dat <- assayData(data.lair)$lair.predicted[ , i]
any(!is.na(dat))
# [1] FALSE

如果不为这些向量创建密度图,则可以运行循环。检查向量是否包含足够数量的数据点。这是您的代码的稍微修改版本:
for( i in (1:ncol(data.lair))) {
bmp(filename = bitlist[i], width = 1200, height = 1200, units = "px",bg = "white")
if (sum(!(is.na(assayData(data.lair)$lair.predicted[,i]))) > 1) {
par(mfrow=c(1,2))
plot(density(assayData(data.lair)$lair.predicted[,i],na.rm=TRUE))
}
plot(density(assayData(data.lair)$predicted[,i],na.rm=TRUE))
cat(i,"\n")
dev.off()
}

在某些情况下,您将仅获得循环中第二个向量的密度图。

关于r - 创建密度图时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12349371/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com