R语言学习-基础概念-向量的运算

x <- 1:10
x
 [1]  1  2  3  4  5  6  7  8  9 10
x+1    #每个元素都会+1,因为R的最基本数据单位是向量
 [1]  2  3  4  5  6  7  8  9 10 11
x-3
 [1] -2 -1  0  1  2  3  4  5  6  7
x <- x+1
x
 [1]  2  3  4  5  6  7  8  9 10 11

y <- seq(1,100,length.out=10)
y
 [1]   1  12  23  34  45  56  67  78  89 100
x+y    #对应相加
 [1]   3  15  27  39  51  63  75  87  99 111
x*y    #对应相乘
 [1]    2   36   92  170  270  392  536  702  890 1100
x**y    #幂运算
 [1]  2.000000e+00  5.314410e+05  7.036874e+13  5.820766e+23  1.039456e+35
 [6]  2.115876e+47  3.213876e+60  2.697216e+74  1.000000e+89 1.378061e+104
y%%x    #求余运算
 [1] 1 0 3 4 3 0 3 6 9 1
y%/%x    #整除运算
 [1] 0 4 5 6 7 8 8 8 8 9

z <- c(1,2)
x
 [1]  2  3  4  5  6  7  8  9 10 11
x+z
 [1]  3  5  5  7  7  9  9 11 11 13    #z中的数据会循环使用


z <- 1:3
x
 [1]  2  3  4  5  6  7  8  9 10 11
x*z    #会报错,长向量元素个数必须是短向量的倍数

逻辑运算

x > 5
 [1] FALSE FALSE FALSE FALSE  TRUE  TRUE  TRUE  TRUE  TRUE  TRUE
x > y
 [1]  TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
c(1,2,3) %in% c(1,2,2,4,5,6)
[1]  TRUE  TRUE FALSE
x==y
 [1] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE

计算函数

x <- -5:5
x
 [1] -5 -4 -3 -2 -1  0  1  2  3  4  5
abs(x)    #返回绝对值
 [1] 5 4 3 2 1 0 1 2 3 4 5
sqrt(25)    #计算平方根
[1] 5
log(16,base=2)    #取对数,base为底数
[1] 4
log(16)    #不加base默认为e
[1] 2.772589
log10(10)
[1] 1
exp(x)    #计算指数
 [1] 6.737947e-03 1.831564e-02 4.978707e-02 1.353353e-01 3.678794e-01 1.000000e+00
 [7] 2.718282e+00 7.389056e+00 2.008554e+01 5.459815e+01 1.484132e+02
ceiling(c(-2.3,3.1415))    #不小于x的最小整数
[1] -2  4
floor(c(-2.3,3.1415))    #不大于x最大整数
[1] -3  3
trunc(c(-2.3,3.1415))    #返回整数
[1] -2  3
round(c(-2.3,3.1415))    #四舍五入
[1] -2  3
round(c(-2.3,3.1415),digits=2)    #两位小数
[1] -2.30  3.14
signif(c(-2.3,3.1415),digits=2)    #保留两位有效数字
[1] -2.3  3.1
sin(x)
 [1]  0.9589243  0.7568025 -0.1411200 -0.9092974 -0.8414710  0.0000000  0.8414710
 [8]  0.9092974  0.1411200 -0.7568025 -0.9589243
cos(x)
 [1]  0.2836622 -0.6536436 -0.9899925 -0.4161468  0.5403023  1.0000000  0.5403023
 [8] -0.4161468 -0.9899925 -0.6536436  0.2836622

统计函数

vec <- 1:100
sum(vec)    #求和
[1] 5050
max(vec)    #最大值
[1] 100
min(vec)    #最小值
[1] 1
range(vec)    #最小 最大值
[1]   1 100
mean(vec)    #均值
[1] 50.5
var(vec)    #方差
[1] 841.6667
sd(vec)    #标准差
[1] 29.01149
prod(vec)    #连乘
[1] 9.332622e+157
median(vec)    #中位数
[1] 50.5
quantile(vec)    #分位数
    0%    25%    50%    75%   100% 
  1.00  25.75  50.50  75.25 100.00 
quantile(vec,c(0.4,0.5,0.8))
 40%  50%  80% 
40.6 50.5 80.2 

t <- c(1,4,2,5,7,9,6)    #which返回索引值
which.max(t)
[1] 6
which.min(t)
[1] 1
which(t==7)
[1] 5
which(t>5)
[1] 5 6 7

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值