线框中x的格式(x,数据…)(R中的晶格3D绘图包)

线框中x的格式(x,数据…)(R中的晶格3D绘图包),r,3d,lattice,wireframe,R,3d,Lattice,Wireframe,问题是: 我不明白x线框(x)的格式是什么。(线框在“晶格”包中) 这是帮助中的解释:“线框和云都有用于矩阵对象的方法,在这种情况下,x提供上述z向量,而其行和列分别解释为x和y向量。这与persp中使用的形式类似。” 但我不明白这意味着什么——有人能告诉我x应该是什么样的数据格式吗 详情如下: 我正在尝试使用lattice软件包制作一个三维曲面图。为什么是格子 -我已经得到了一个3D散点图来处理“scatterplot3d”软件包,但据我所知,该软件包不会生成曲面 -我无法将“rgl”包加载到

问题是:

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

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

但我不明白这意味着什么——有人能告诉我x应该是什么样的数据格式吗

详情如下:

我正在尝试使用lattice软件包制作一个三维曲面图。为什么是格子

-我已经得到了一个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,]13794 …等每一个X/Y组合

我需要如何变换我的矩阵,以便在我键入线框(MyMatrix)时它不会给我一些完全扭曲的东西


谢谢

如果您有一个可以自然强制为长格式data.frame的值网格,那么为什么不使用
线框的公式版本呢

 wireframe( Z ~ X + Y, data=dat)
您没有给出一个可复制的示例,但是如果该方法被阻塞,那么您可以将
包装为.data.frame
围绕矩阵对象名称。这将创建一个可用于矩阵方法的矩阵:

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

M我使用的矩阵是3列,其中包含x、y和z值。输入persp()或线框()的正确格式是矩阵体中只有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)

我无法使用线框的公式版本,因为我没有公式。我使用for循环生成了x,y,z矩阵,该循环根据特定条件检查了一个非常大的数据文件。x和y是标准,z是符合标准的次数。另外,我不熟悉dat命令,所以我很难确定丢失的括号属于哪里。我尝试了你的as.data.frame建议,但得到了以下错误:>线框(as.data.frame(OTUsSumMatrix))UseMethod中的错误(“线框”):没有适用于“线框”的方法应用于“data.frame”类的对象。你尝试了吗。。。公式界面并不意味着回归模型。这只是一种设置网格和
线框
绘图所需的响应变量的方法。我使用了
dat
作为数据帧名称的占位符,因为您没有包含数据帧名称。在你的问题中对代码进行更好的描述。使用编辑功能。