这只是让我tom脚。我正在测试某个东西是值,向量还是列表,对我来说这没有意义:
v <- 2
is.vector(v)
[1] TRUE
v
是一个向量吗?我如何测试该值是否只是数字?
答案 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)。
因此,数字实际上是模式数字的向量。 那么问题是什么定义了向量。