2016-01-31 17 views
0

我試圖R中創建一個三維表面的情節 - 我讀了一些其他的問題,但無法找到解決這一:(2D表面繪製[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)。

理想的解決方案是這樣的:

enter image description here

我已經嘗試使用這個 - https://cran.r-project.org/web/packages/HSAUR/vignettes/Ch_density_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) 
+0

包含您嘗試過的代碼總是更好。另請參閱[關於如何給出可重複的示例的這些說明](http://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example/5963610)。 – Jaap

+0

@Jaap,謝謝你的建議!剛剛更新了帖子:) – Nat

+0

仍然不可重現。 CRAN上有三種不同的HSAUR軟件包,您沒有包含完整的代碼,因爲您沒有庫調用,而且我們也無法查看包含test1.csv文件的文件。 –

回答

0

kde2d從常用MASS庫。假設你的數據在data,那麼下面將產生估計密度函數的透視圖。查看相關功能的幫助文件以瞭解如何調整。

library(MASS) 
with(data,persp(kde2d(x,y))) 
+0

這是令人難以置信的,我已經設法錯過這個圖書館!這正是我需要的!非常感謝你!你有沒有機會知道我是否創建了2個不同的圖形,並且我想直觀地比較它們,當我用persp()繪製它時,是否只是更改Z軸的比例,還是需要對kde2d進行一些更改? [我感到有點困惑,因爲目前我的軸上沒有數字......] – Nat