R 如何探索八度音阶中物体的结构和尺寸?

R 如何探索八度音阶中物体的结构和尺寸?,r,database,matlab,data-structures,octave,R,Database,Matlab,Data Structures,Octave,Im Matlab听起来像是R中的一个可能的有效等效命令,它使您熟悉工作环境中的特定对象,提供有关其结构(data.frame、matrix、list、vector)和变量类型(字符、数字)(例如,使用R命令str())以及尺寸的信息(可能使用调用dim())和变量名(names()) 但是,此功能在倍频程中不可用: >> properties(data) warning: the 'properties' function is not yet implemented in Oct

Im Matlab听起来像是R中的一个可能的有效等效命令,它使您熟悉工作环境中的特定对象,提供有关其结构(data.frame、matrix、list、vector)和变量类型(字符、数字)(例如,使用R命令
str()
)以及尺寸的信息(可能使用调用
dim()
)和变量名(
names()

但是,此功能在倍频程中不可用:

>> properties(data)
warning: the 'properties' function is not yet implemented in Octave
for s=fieldnames(data)'
   s=s{1};
   tmp=data.(s);
   disp([s,' - ',class(tmp),' - ',mat2str(size(tmp))])
end
我安装了包
dataframe
,正如上面链接的帖子中的评论所建议的:

pkg安装-伪造数据帧
并加载它
pkg加载数据帧

但是我找不到一种方法来获得工作区中datset
data.mat
的结构和维度的摘要

我相信这是一个由4 x 372550数字矩阵、两个4 x 46568数字矩阵和一个256 x 1字符矩阵组成的结构。为了获得这些信息,我必须在数据打印输出的许多页面上滚动

此信息在倍频程IDE上不可用,我从中获得:

Name      Class     Dimensions
data      struc     1 x 1
与对象
数据的复杂性相去甚远

以八度音阶获取工作区中对象相关信息的智能方法是什么


根据提供的第一个答案,以下是我从
whos
中得到的信息:

>> whos
Variables in the current scope:

   Attr Name        Size                     Bytes  Class
   ==== ====        ====                     =====  =====
        data        1x1                    7452040  struct

Total is 1 element using 7452040 bytes
这并不是关于
数据
真正包含的内容的特别信息。事实上,我刚刚找到了一种提取
数据
中名称的方法:

>> fieldnames(data)
ans =
{
  [1,1] = testData
  [2,1] = trainData
  [3,1] = validData
  [4,1] = vocab
}
现在如果我打电话

>> size(data)
ans =

   1   1
输出不是很有用。另一方面,知道
data
中矩阵的名称我可以做到

>> size(data.trainData)
ans =

        4   372550

这确实提供了信息。

如果您键入变量的名称,您将看到有关它的信息。在您的情况下,它是一个结构,因此它将告诉您字段名称。相关函数有:
大小
ndims
字段名
,等等

size(var)
class(var)
等等

您可以参考
.mat
。可能您有一个mat文件,可以使用
加载文件名
加载该文件。加载后,您可以检查并使用文件中的变量

whos
打印内存中变量的简单信息,最有助于查看存在哪些变量


继续你编辑的问题。这在八度音阶中起作用:

>> properties(data)
warning: the 'properties' function is not yet implemented in Octave
for s=fieldnames(data)'
   s=s{1};
   tmp=data.(s);
   disp([s,' - ',class(tmp),' - ',mat2str(size(tmp))])
end
它打印结构的每个成员的基本信息。它确实假设
数据
是1x1结构数组。请注意,结构可以是数组:

data(2).testData = [];
使您的
数据
结构成为2x1数组。这就是为什么
大小(数据)
是相关的。
也很重要(它显示在
whos
的输出中)。变量可以是
(普通数组)类型,也可以是其他数字类型,
逻辑
结构
单元格
(一个数组数组)或您可以自己编写的自定义类


我强烈建议阅读MATLAB/Octave上的介绍性文本,因为它的工作方式与R非常不同。它不仅仅是一种不同的语言风格,它是一个完全不同的世界。

如果您键入变量的名称,您将看到有关它的信息。在您的示例中,它是一个结构,因此它将告诉您字段名称。相关函数包括:de>大小
NDIM
字段名
,等等

size(var)
class(var)
等等

您可以参考
.mat
。可能您有一个mat文件,可以使用
加载文件名
加载该文件。加载后,您可以检查并使用文件中的变量

whos
打印内存中变量的简单信息,最有助于查看存在哪些变量


继续你编辑的问题。这在八度音阶中起作用:

>> properties(data)
warning: the 'properties' function is not yet implemented in Octave
for s=fieldnames(data)'
   s=s{1};
   tmp=data.(s);
   disp([s,' - ',class(tmp),' - ',mat2str(size(tmp))])
end
它打印结构的每个成员的基本信息。它确实假设
数据
是1x1结构数组。请注意,结构可以是数组:

data(2).testData = [];
使您的
数据
结构成为2x1数组。这就是为什么
大小(数据)
是相关的。
也很重要(它显示在
whos
的输出中)。变量可以是
(普通数组)类型,也可以是其他数字类型,
逻辑
结构
单元格
(一个数组数组)或您可以自己编写的自定义类


我强烈建议阅读MATLAB/Octave上的介绍性文本,因为它的工作原理与R非常不同。它不仅仅是一种不同的语言风格,它是一个完全不同的世界。

谢谢。除非我调用
数据中的特定矩阵(见编辑的OP),不太有效。哦,我现在明白了。我只是在倍频程中尝试了这个方法,实际上它可以打印
结构
中的所有矩阵。如果包含的矩阵多于几个值,MATLAB就不会这样做,所以只需键入
数据
的输出在那里更有用。@Toni。我在回答中添加了一些,我希望这能澄清一些问题ttle位。谢谢。除非我调用
数据中的特定矩阵(参见编辑的OP),不太有效。哦,我现在明白了。我只是在倍频程中尝试了这个方法,实际上它可以打印
结构
中的所有矩阵。如果包含的矩阵多于几个值,MATLAB就不会这样做,所以只需键入
数据
的输出在那里更有用。@Toni。我在回答中添加了一些,我希望这能澄清一些问题ttle位。
[1 1]
对于标量结构的输出很有用。它告诉您有标量结构,而不是有多个元素的结构数组。标量结构的
[1 1]
的输出很有用。它告诉您有标量结构,而不是有多个元素的结构数组。