- 在线时间
- 27 小时
- 最后登录
- 2013-5-20
- 注册时间
- 2012-11-2
- 听众数
- 15
- 收听数
- 1
- 能力
- 0 分
- 体力
- 3870 点
- 威望
- 0 点
- 阅读权限
- 60
- 积分
- 1335
- 相册
- 0
- 日志
- 0
- 记录
- 0
- 帖子
- 347
- 主题
- 320
- 精华
- 0
- 分享
- 0
- 好友
- 6
升级   33.5% TA的每日心情 | 奋斗 2013-6-15 16:58 |
---|
签到天数: 24 天 [LV.4]偶尔看看III
 群组: 第四届数学中国美赛实 |
向量(vector) 1、seq():产生有规律的数列,间距省略时默认值为1。$ R: r+ q8 k! \/ _. l; W2 r+ J
例1:seq(10, 20, 0.5)
1 j) Q. v+ Z/ E! o2 w例2:seq(0, by = 0.03, length = 15)3 F# v7 g6 { ]% P( J; |- ]" W# ^
. ]$ j. E: i& P- k2、rep():产生有规律的数列,重复第一个变量若干次。+ r3 d8 k: Z1 {% i
例1:rep(1:3, 1:3)+ E+ S& U$ [% g* e3 ?* N! D! c
例2:rep(1:3, rep(2, 3))- x9 f. w j3 H3 z! N0 s; q
例3:rep(1:3, length = 10)7 a7 ~& U: |5 ]: ~
1 R/ _4 a9 {& V3 ]2 i$ U3、向量运算:一般是对应元素之间的运算,所以两个或多个向量运算时,要求它们包含的元素个素相同(或一个是另一个的整数倍)。
/ M4 h- H7 j6 t/ k2 O例1:a <- 1:3; b <- 4:6; a * b; b^a
, Y+ h' w" c% V2 j例2:a <- 1:3; b <- 4:9; a * b; b^a% a( A+ d( t& r8 @" `: y
: Q3 P7 X7 V$ e$ V7 [0 `" o4、获取向量某一个或多个子集,向量前的负号"-"表示去除相应内容。( T7 M5 W }% |
例1:x <- c(3, 4, 5, 2, 6); x[1:2]; x[-(1:2)]
4 Z6 m6 m6 }! ^7 p" C' R. [例2:x <- c(3, 4, 5, 2, 6); x[c(1, 2, 4, 1)]; x[-c(1, 2, 4, 1)]
% s: k1 v* F0 m! l3 f: W/ H1 F例3:xx <- seq(1, by = 3, length = 10); xx[xx > 13]# e) a& K7 E4 n3 X% I/ l
例4:x <- 1:20; y <- -9:11; x[y > (1)] #注意最后一个是"NA") }9 z G: [' U* @ Z
9 _5 z! x r, s% {& K$ ^* K7 U
5、主要向量运算函数。. W! P1 ?( n5 P3 W5 N
例1:xx <- c(2, 6, 10, 8, 4)& H% }7 ^& l4 k S% Y
sum(xx) #和" @/ \* l4 `8 _; d2 z7 \8 Z
max(xx) #最大值
4 Y1 Y/ ]) R+ hmin(xx) #最小值
4 `! ]' e% `5 D& q' T6 L* \; Yrange(xx) #取值范围
* k4 [% o. }2 x" H$ \3 m" b& x) Mmean(xx) #平均值* ^6 Z5 H1 }$ a: f
var(xx) #方差
0 n) N7 D p g% K+ {0 g; {sort(xx) #从小到大排序
3 f# u9 j1 ?9 b& [# l2 v! _, \/ arev(xx) #反排列, 所以从大到小排序应该是rev(sort(xx))
$ i' o. u; v, ]4 S6 @: vrank(xx) #单元值大小顺序 `" Z: Z$ N% ?' F& Y( b$ s7 N
prod(xx) #乘积,所以阶乘是prod(1:n)
0 _" f! u7 n' j) |6 q1 e3 d例2:x <- seq(1, 15, 2)5 b) d/ Z1 p7 I5 X, M9 H
append(x, 20:30, after = 5) #插入数据 X' X( V" ^6 X1 b
append(x, 20:30) #参数after缺省默认从向量的最后插入值* E. Z u( |" P. A3 |
replace(x, c(2, 4, 6), -1) #替换函数( _; S( l+ H7 g$ T7 q2 c
例3:state.name6 g7 @: o; ~- N- b" o! x
match(c('Ohio', 'Wyoming'), state.name) #完全匹配函数
1 n- } s* Y8 ^2 y( c+ `" F. [pmatch(c('Oh', 'Wy'), state.name) #部分匹配函数4 |4 r4 u, }$ F& a
state.name[pmatch(c('Oh', 'Wy'), state.name)]
$ q( Z7 j9 t6 Q3 W! N2 j例4:yy <- -9:10) b4 h; ] Y. k9 Y& j% C
all(yy > 0) #判断所有$ b+ P$ T7 F; K j/ s
all(yy > -10)
& w, v8 c. ^1 ~: W# Zany(yy == 0) #判断部分8 ]3 @# O4 _) K6 W9 A$ p( T
any(yy > 0)
3 [/ l9 v. V1 A8 L0 eany(yy < -10)
/ @ F, B6 F/ ~& z" E1 R
, d& W# t1 Q3 E8 [5 l
: f% O6 v2 y4 x1 Q |
zan
|