R 如何探索八度音阶中物体的结构和尺寸?
Im Matlab听起来像是R中的一个可能的有效等效命令,它使您熟悉工作环境中的特定对象,提供有关其结构(data.frame、matrix、list、vector)和变量类型(字符、数字)(例如,使用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
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加载数据帧
但是我找不到一种方法来获得工作区中datsetdata.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]
的输出很有用。它告诉您有标量结构,而不是有多个元素的结构数组。