前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【R语言经典实例2】如何生成一个向量?

【R语言经典实例2】如何生成一个向量?

作者头像
统计学家
发布2019-04-10 10:33:23
2.8K0
发布2019-04-10 10:33:23
举报
文章被收录于专栏:机器学习与统计学

问题

如何生成一个向量。

解决方案

通过c(...)命令对给定的值构建一个向量。

讨论

向量不仅是R的一种数据结构,它还是贯通R软件的重要组成部分。向量中可以包含数值、字符串或者逻辑值,但不能由多种格式混合组成。

在c(...)命令中添加元素对向量进行赋值: > c(1,1,2,3,5,8,13,21) [1] 1 1 2 3 5 8 13 21 > c(1*pi, 2*pi, 3*pi, 4*pi) [1] 3.141593 6.283185 9.424778 12.566371 > c("Everyone", "loves", "stats.") [1] "Everyone" "loves" "stats." > c(TRUE,TRUE,FALSE,TRUE) [1] TRUE TRUE FALSE TRUE

如果c(...) 中的参数自身是向量,那么c(...) 命令会将多个向量合为一个向量: > v1 <- c(1,2,3) > v2 <- c(4,5,6) > c(v1,v2) [1] 1 2 3 4 5 6

对于一个向量来说,其中的内容不能由多种数据格式混合组成,如在一个向量中同时包含数值和字符串。R软件对于混合型向量会进行如下的格式转换: > v1 <- c(1,2,3) > v3 <- c("A","B","C") > c(v1,v3) [1] "1" "2" "3" "A" "B" "C"

这里,用户希望将一组数值数据和一组字符串数据同时赋值给一个新的向量。对于这种情况,R软件会先将数值数据转换为字符串数据,使得两组数据的类型得以统一。

理论上来说,两组数据能同时赋值于一个向量的条件,在于两组数据具有相同的类型 (mode)。例如3.1415和"foo"分别为数值型和字符型: > mode(3.1415) [1] "numeric" > mode("foo") [1] "character"

上述两者的类型不同。为了生成新的向量,R软件将3.1415转换为字符类型,使得3.1415的类型与"foo"的类型一样: > c(3.1415, "foo") [1] "3.1415" "foo" > mode(c(3.1415, "foo")) [1] "character"

警告:c是一个通用的运算符,这意味着它不仅应用于向量,同时也应用于其他的数据类型。但是,它可能不是那么精确地与用户预期相一致。因此在将c命令用于其他数据类型和对象前,要查看它的效果。

求个红包

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2015-08-07,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 机器学习与统计学 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档