1

问题:

我不明白 x 线框(x)的格式是什么。(线框在“格子”包中)

这是帮助中的解释:“wireframe 和 cloud 都有矩阵对象的方法,在这种情况下 x 提供上述 z 向量,而它的行和列分别解释为 x 和 y 向量。这类似于形式在 persp 中使用。”

但我不明白那是什么意思 - 有人可以告诉我 x 应该是的数据示例格式。

细节:

我正在尝试使用 lattice 包制作 3-D 曲面图。为什么是格子?

-我已经获得了一个 3D 散点图,可以与“scatterplot3d”包一起使用,但据我所知,该包不会产生曲面。

-我无法将“rgl”包加载到我的计算机上。每次它说我需要下载 X11 并中止我的 R 会话(X11 是什么??这是一些 mac 的东西?)

我的数据位于 66 行 x 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 组合

当我输入线框(MyMatrix)时,我需要如何转换我的矩阵,以便它不会给我带来完全混乱的东西。

谢谢!!

4

2 回答 2

1

If you have a grid of values that can be naturally coerced to a data.frame in long format, then why not use the formula version of wireframe?

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

You didn't give a reproducible example, but if that method choked then you could just wrap as.data.frame around the matrix object name. This would create a matrix that could be used for the matrix method:

M <- matrix(NA, 11,6)
M[dat[,1:2] <- M[,3]
rownames(M) <- 0:10
colnames(M) <- 0:5
于 2014-02-19T02:42:32.880 回答
1

我使用的矩阵是具有 x、y 和 z 值的 3 列。输入 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)

于 2014-02-20T23:03:46.710 回答