簡體   English   中英

線框(x,data ...)中x的格式(R中的晶格3D繪圖包)

[英]Format of x in wireframe(x, data…) (lattice 3D plotting package in R)

問題:

我不明白x線框(x)的預期格式。 (線框位於“晶格”包中)

這是“幫助”中的解釋:“線框和雲都具有用於矩陣對象的方法,在這種情況下,x提供上述的z向量,而其行和列分別解釋為x和y向量。這類似於以下形式用於透視。”

但是我不明白MEANS-有人可以告訴我x應該是的示例數據格式。

細節:

我正在嘗試使用點陣封裝制作3D表面圖。 為什么是格子?

-我已經有了一個3D散點圖,可以與'scatterplot3d'程序包一起使用,但是據我所知,該程序包不會產生表面。

-我無法在計算機上加載“ rgl”軟件包。 每次它說我需要下載X11並中止R會話時(X11是什么?這是Mac的東西嗎?)

我的數據在一個66行3列的矩陣中,其中的列分別是x,y和z。 x和y是形成網格的整數,它們從0:10和0:5出發並涵蓋了所有可能的組合(因此它們已經是均勻間隔的網格-我不需要進行變換)

例如,矩陣的頂部如下所示:

         X    Y    Z
[1,]      0    0 17437
[2,]      0    1  3627
[3,]      0    2  2329
[4,]      0    3  1790
[5,]      0    4  1426
[6,]      0    5  1207
[7,]      1    0  2851
[8,]      1    1  1343
[9,]      1    2   967

[10,] 1 3 794 ...等,每個X / Y組合

我如何變換矩陣,以便在鍵入wireframe(MyMatrix)時不會給我帶來任何麻煩。

謝謝!!

如果您具有可以自然地強制轉換為長格式的data.frame的值的網格,那么為什么不使用wireframe的公式版本呢?

 wireframe( Z ~ X + Y, data=dat)

您沒有給出可復制的示例,但是如果該方法被阻塞,則可以將as.data.frame包裹在矩陣對象名稱周圍。 這將創建一個可用於矩陣方法的矩陣:

M <- matrix(NA, 11,6)
M[dat[,1:2] <- M[,3]
rownames(M) <- 0:10
colnames(M) <- 0:5

我使用的矩陣是3列,分別具有x,y和z值。 輸入persp()或wireframe()的正確格式是在矩陣主體中只有z值的格式,而x和y值只是行和列標簽。 例如:

如果我有:

          x y     z
     [1,] 0 0 17437
     [2,] 0 1  3627
     [3,] 0 2  2329
     [4,] 1 0  2851
     [5,] 1 1  1343
     [6,] 1 2   967
     [7,] 2 0  1681
     [8,] 2 1   906
     [9,] 2 2   689
    [10,] 3 0  1241
    [11,] 3 1   733
    [12,] 3 2   582

我需要將其更改為:

        0   1   2
    0 1343 967 794
    1  906 689 591
    2  733 582 505
    3  630 509 438

其中行名稱對應於x值,列名稱對應於y值。 要將其輸入到命令中,只需鍵入:persp(MatrixName)wireframe(MatrixName)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM