我不理解is.atomic()
和is.vector()
之间的区别。根据我的理解,is.vector()
返回TRUE
的同类1D数据结构。我相信is.atomic()
会为逻辑,双精度,整数,字符,复合体和原始数据返回TRUE
...但是,我也不会is.vector()
?所以我想也许差异在于它的维度,但is.atomic()
在双打数据帧上返回FALSE
,这让我更加困惑啊......
另外,原子矢量和法线矢量有什么区别?
感谢您的澄清!
答案 0 :(得分:6)
原子向量是R中向量的子集。在一般意义上,“向量”可以是原子向量,列表或表达式。 language definition种类将向量定义为“包含数据的连续单元格”。另请参阅help("is.vector")
和help("is.atomic")
,其中说明这些内容何时返回TRUE
或FALSE
。
is.vector(list())
#[1] TRUE
is.vector(expression())
#[1] TRUE
is.vector(numeric())
#[1] TRUE
is.atomic(list())
#[1] FALSE
is.atomic(expression())
#[1] FALSE
is.atomic(numeric())
#[1] TRUE
通俗地说,当我们谈论向量时,我们通常意味着原子向量(可能甚至是属性)。
答案 1 :(得分:0)
R中的向量可以有2个结构,第一个是原子向量,第二个是列表。
如果您创建一个新的空向量,则可以指定模式以获取空列表document.querySelector("#idOrderOpenTable .openCancelBtn").click()
,该列表返回与vector(mode = "list")
相同的内容。
list()
identical(vector(mode = "list"), list())
[1] TRUE
返回is.vector(vector(mode = "list"))
,而is.atomic(vector(mode =" list"))返回[1] TRUE
。