我已经在SPSS中给出了这5个变量的数据。我尝试使用此数据库绘制热图,但我得到“错误:带宽必须严格为正”。
Brand XP Contact Impression Memorability
1 4 1 100 14
1 4 1 100 0
1 4 1 100 0
1 4 1 99 97
1 4 1 100 60
1 4 1 100 0
1 4 1 100 100
1 4 1 100 60
1 4 1 73 75
1 4 1 100 67
1 4 1 99 1
1 4 1 100 0
1 4 1 100 0
1 4 1 100 7
1 4 1 100 0
1 4 1 74 33
我用以下内容导入数据:
Heatmap.data = as.data.set(spss.system.file('database.sav'))
并且有这个代码,因为我绘制了许多热图,但问题是使用XP = 4的热图。
for (i in 1: n.brands) {
createMap <- function(map, colorMap, colorContour, beginGradX, beginGradY, endGradX, endGradY, mapTitle)
{
image(map, col = colorMap, axes = FALSE)
contour(map, add = TRUE, col = colorContour, drawlabels = FALSE)
axis(1, at = seq(beginGradX, endGradX, by=1))
axis(2, at = seq(beginGradY, endGradY, by=1))
box()
title(mapTitle)
}
Heatmap.data.sub=Heatmap.data[Heatmap.data$brand == i,]
X = na.omit(Heatmap.data.sub$impression)/100
Y = na.omit(Heatmap.data.sub$memorability)/100
这是我收到错误的地方(在此行中):
smoothedMatrix = kde2d(X, Y, n = 500, lims = c(range(X), range(Y)))
我一直在搜索网络和stackoverflow,人们说,问题是方差为0.但在我的情况下,方差不是0,但Impression的方差= 137,Memorability的方差= 1190。
任何人都可以帮助我吗?