【发布时间】:2018-12-04 04:29:43
【问题描述】:
开始学习 R,如果能帮助我理解 R 如何决定不同向量的类别,我将不胜感激。我初始化vec <- c(1:6),当我执行class(vec)时,我得到'整数'。为什么它不是“数字”,因为我认为 R 中的整数看起来像这样:4L
还有vec2 <- c(1,'a',2,TRUE),为什么是class(vec2)'字符'?我猜 R 会识别字符并自动将其他所有内容分配为字符......所以它实际上看起来像 c('1','a','2','TRUE') 我是正确的吗?
【问题讨论】:
-
如果向量中的至少一个值是字符,则所有向量都被视为字符。
-
如果您希望单个元素以不同的类型存储,请使用
list -
来自
?c:“输出类型由层次结构中组件的最高类型确定 NULL -
integer的表示通常与近似的numeric的表示无法区分。L仅用于定义一个整数,而不是用于查看它们。 (也许澄清一下或冒着搅浑水的风险:is.integer(4L) && is.numeric(4L)是真的,因为integer确实是numeric的特例,即使内部存储和精度有很大不同。) -
@r2evans,发表您的评论作为答案...?
标签: r vector integer character numeric