我试图在R中创建一个三维曲面图--我读过许多其他问题,但无法找到解决办法:
我有空间内的X和Y坐标(每个X,Y对指一点),例如:
x y
10 15
11 11
8 11
15 14
15 8
13 11
50 29
29 30
90 40
55 39
我把这些点画成一个表面图,这样当附近有更多的点时,地块的密度就会更高(例如,很明显,有许多点接近(10,10),只有一个点在(90,40)。
理想的解决方案如下:
我尝试使用这个- estimation.pdf (这是我在上面找到图像的地方)。但不幸的是,我无法让示例工作-库与数据是不可用的!
这个想法是要将这个可视化与表面图像进行比较,所以我需要x和y坐标(0,0)从一个地方开始(就像在图像上,两个日志都是从一个角落开始的)。我还需要轴不相等,x轴从0到100,y轴从0到50,这样原始坐标就不会扭曲,可视化就会按比例显示数据。
我真的希望有人能帮我!
编辑:到目前为止,我已经尝试遵循上面文件中的说明,这意味着使用高斯函数来估计峰值。
test <- read.csv("test1.csv", header = TRUE)
gauss <- function(x) 1/sqrt(2*pi) * exp(-(x^2)/2)
n <- 100
h <- 10
xgrid <- seq(from = 0, to = 1280, by = 16)
bumps <- sapply(test$x, function(a) gauss((xgrid - a)/h)/(n * h))
persp(bumps, theta = 60, axes = TRUE, box = TRUE)
发布于 2016-01-31 19:56:19
请参阅常用的kde2d
库中的MASS
。假设您的数据在data
中,那么下面将生成估计密度函数的透视图。有关关联函数的帮助文件,以了解如何进行调整。
library(MASS)
with(data,persp(kde2d(x,y)))
https://stackoverflow.com/questions/35118441
复制相似问题