我试图制作一个简单的轮廓图,类似于示例here。但是,它在stat_contour()
中失败并且计算失败:没有正确的' z'矩阵指定"。
library('MASS')
library('tidyverse')
生成高斯密度:
den = kde2d(x = rnorm(10000), y = rnorm(10000), h=.5, n=100)
zdf = data.frame(den$z)
colnames(zdf) = den$y
zdf$x = den$x
融化类似于文档示例:
melted = melt(zdf, id.vars = 'x', variable.name = 'y', value.name='z')
colnames(melted)
# [1] "x" "y" "z"
dim(melted)
# [1] 10000 3
ggplot(melted, aes(x, y, z=z)) + stat_contour()
# Warning message:
# Computation failed in `stat_contour()`:
# no proper 'z' matrix specified
'熔化'似乎格式与火山示例完全相同,x为快速索引,z为x和y的每个唯一组合中的一个条目。我无法弄清楚区别是什么。
答案 0 :(得分:1)
熔化时,列名在y列中被转换为整数类型(尽管它们仍然打印得好像加倍?)添加以下行修复了问题:
melted$y = as.double(melted$y)