R语言基础学习:向量

#创建向量
#数字向量
x<-c(1,3,4,1)
x
#字符向量
y<-c("apple","panda","dds")
y
#逻辑向量
z<-c(TRUE,FALSE)
z

#向量的四则运算
x<-c(1,3,2,4)
y<-c(6,5,4,3)
z1<-c("q","a","d")
z2<-c("l","d","f")
###加法运算
x+y	#数字向量 与 数字向量 可以加法运算;对应元素相加

xx<-c(1,3,4,5,6,8)
x+xx	#“长度较长的向量 长度” 不是“短的向量 长度”的整数倍:不能加法运算

x+z	#数字向量 与 字符向量 不能加法运算
z1+z2 #字符序列 与 字符向量 不能加法运算

###减法运算
x-y	#数字向量 与 数字向量 可以减法运算;对应元素相减

xx<-c(1,3,4,5,6,8)
xx-x	#“长度较长的向量 长度” 不是“短的向量 长度”的整数倍:不能减法运算

x-z	#数字向量 与 字符向量 不能减法运算
z1-z2 #字符序列 与 字符向量 不能减法运算
###乘法
x*y
###除法
x/y
###相除取整
x%%y
#总结:字符向量不能参与四则运算,参与运算的两个向量的长度必须是整数倍关系



#向量的生成
#seq()函数: seq(起始位置,结束位置,by=步长:相当于公差)
x<-seq(0,9,by=2)	#可以是整数步长

y<-seq(0,9,by=0.5)#可以是小数步长

#seq()函数: seq(起始位置,结束位置,length=整数:要生成的元素个数)    规定输出(等距离步长)的个数
x<-seq(1,9,length=10)   #注意:by 与 length 不能同时在seq()中出现

#直接生成步长等于1的向量
y<-1:10

y<-0.1:9.8

y<-10:1   #可以方向

#循环生成向量
#rep()函数:rep(c(基本向量),length=长度)
x<-rep(c(1,3,4),length=100)  #将c(1,3,4)循环生成一个长度为100的向量
输出结果:[1] 1 3 4 1 3 4 1 3 4 1 3 4 1 3 4 1 3 4 1 3 4 1 3 4 1 3 4 1 3 4 1 3 4 1 3 4
 [37] 1 3 4 1 3 4 1 3 4 1 3 4 1 3 4 1 3 4 1 3 4 1 3 4 1 3 4 1 3 4 1 3 4 1 3 4
 [73] 1 3 4 1 3 4 1 3 4 1 3 4 1 3 4 1 3 4 1 3 4 1 3 4 1 3 4 1

#rep()函数:rep(c(基本向量),each=长度)  #“each=长度”每一个元素生成数量
x<-rep(c(1,3,4),each=5)
输出结果:[1] 1 1 1 1 1 3 3 3 3 3 4 4 4 4 4
 
#随机取样
#sample(x,y)函数:sample(x(已有向量名),y(取样个数,整数)) 从向量x中随机选取y个元素构成向量,乱序
z<-sample(x,10)

#条件选取
x<-11:60
x[x>30&x<55] #"&":且
x[x<20|x>50] #"|":或
x[x!=30] #"!":非
x[c(4,5,16,2,80)] #选区确定的位置的元素,超出向量长度的位置返回"NA"
x[c(1.6,3.4,18.8)] #选区小数位置时,直接取整数的位置,不四舍五入
x[c(2,2,2)] #重复选取同一个位置
x>30 #对每个元素进行逻辑判断,(TRUE or FALSE)

#复合条件
x <- 1:100
y <- sample(10^5,100)#10^5随机取100个数
y
x[y>1000&y<2000]#选取x中对应y元素中符合条件的位置的相同位置的元素









  • 6
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值