向量-字符/整数类(在后台)

时间:2018-06-25 14:42:38

标签: r vector integer character numeric

开始学习R,希望能帮助您理解R如何确定不同向量的类别。我初始化vec <- c(1:6),当我执行class(vec)时得到“整数”。为什么不是'数字',因为我认为R中的整数看起来像这样:4L

同样对于vec2 <- c(1,'a',2,TRUE),为什么class(vec2)是“字符”?我猜R会拾取字符并自动将其他所有字符分配为字符...所以实际上看起来像c('1','a','2','TRUE')正确吗?

1 个答案:

答案 0 :(得分:4)

键入以下内容,您将看到冒号运算符的帮助页面。

?`:`

这里是一个段落。

  

对于数字参数,为数字向量。这将是整数类型   如果from是整数值,并且结果可以在R中表示   整数类型,否则为“ double”类型(又名“ numeric”模式)。

因此,在您的示例c(1:6)中,由于1参数的from在R中可以表示为整数,因此结果序列变为整数。

在这种情况下,c不需要创建向量。

对于第二个问题,由于向量中的所有元素都必须具有相同的类型,因此R将自动将所有元素转换为相同的类型。在这种情况下,可以将所有内容转换为字符,但无法将“ a”转换为数字,因此会产生字符向量。