R 关于类数组变量的typeof()

R 关于类数组变量的typeof(),r,R,我正在处理一个给定的R程序,如果我键入,它将生成一个结果变量,例如$video\u log$ video_log$size 它输出一个1000大小的数组,部分输出如下所示 > typeof(video_log$size) [1] "double" 但是,当我尝试按如下方式打印其类型信息时,它反而输出“double”。我很好奇为什么类型信息不是“list”、“array”或“dataframe”,而是“double”。此外,如何将此变量video_log$size强

我正在处理一个给定的R程序,如果我键入,它将生成一个结果变量,例如$video\u log$

video_log$size
它输出一个1000大小的数组,部分输出如下所示

> typeof(video_log$size)
[1] "double"
但是,当我尝试按如下方式打印其类型信息时,它反而输出“double”。我很好奇为什么类型信息不是“list”、“array”或“dataframe”,而是“double”。此外,如何将此变量v
ideo_log$size
强制为数字数组,并将其保存为csv文件

> typeof(video_log$size)
[1] "double"

您会发现
typeof()
class()
将为同一对象输出不同的值。例如,数据帧属于类
dataframe
,但属于类型
list
(数据帧是list的特例,其中每个元素都是相同长度的向量)。类似地,类型为
double
的对象将具有类
numeric
。对于类型和类之间的区别,这可以作为一个开始:在R中,没有标量。基本上,一切都是一个原子向量或列表。
typeof()
将始终告诉您向量类型,而不仅仅是说“vector”。但实际上,如果您想知道对象的行为而不是数据的存储方式,请使用
class()
。我从未发现
typeof()
的用途。请注意,CSV文件只是文本文件,不是强类型文件。没有标准的方法将类型信息放入CSV中。哈德利·威克姆做了一个很好的演示,其中,他讨论了这些原子向量。链接为,相关部分为12分钟。