为什么值是向量?

时间:2019-04-10 17:41:03

标签: r

这只是让我tom脚。我正在测试某个东西是值,向量还是列表,对我来说这没有意义:

v <- 2
is.vector(v)
[1] TRUE

v是一个向量吗?我如何测试该值是否只是数字?

1 个答案:

答案 0 :(得分:1)

这是TRUE,因为2是数字。尝试更改v的模式。 参见class(v)

原因:来自?is.vector

  如果x是指定模式的矢量,且除名称之外没有任何属性,则

is.vector返回TRUE。否则返回FALSE。   也:   对于is.vector,为TRUE或FALSE。 is.vector(x,mode =“ numeric”)对于“整数”或“ double”类型的向量为true,而is.vector(x,mode =“ double”)仅对“ double”类型的向量为true

进一步:我们可以使用as.numeric正常定义数字,但是请注意:

  

如果is.numeric的默认方法的参数为模式“ numeric”(类型“ double”或“ integer”)而不是因数,则返回TRUE,否则返回FALSE。即is.integer(x)|| is.double(x)或(mode(x)==“数字”)&&!is.factor(x)。

因此,数字实际上是模式数字的向量。 那么问题是什么定义了向量。