- 在线时间
- 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。1 G# _) \. T" ?$ p! M
例1:seq(10, 20, 0.5)6 d( W I4 x2 h7 r9 ]% J. g# m- Y
例2:seq(0, by = 0.03, length = 15)
! e0 @. n1 ?' c1 j( u: a: \" r2 I. P# Y& y4 o( V7 d
2、rep():产生有规律的数列,重复第一个变量若干次。/ P! |0 w x7 m; ]' Q
例1:rep(1:3, 1:3)
7 h/ Z( J: c; e- D% h" p+ W例2:rep(1:3, rep(2, 3))
J, S( N, s$ r4 |, _' {% N9 _; B [例3:rep(1:3, length = 10)" F Q# ?7 ~# T: s$ e/ [/ A
: s8 i3 [, g+ b! }/ ~" l9 I+ z3、向量运算:一般是对应元素之间的运算,所以两个或多个向量运算时,要求它们包含的元素个素相同(或一个是另一个的整数倍)。- Z8 E, O2 _# K( W5 w. d8 h
例1:a <- 1:3; b <- 4:6; a * b; b^a8 ], |4 `; ]% w
例2:a <- 1:3; b <- 4:9; a * b; b^a2 @- C9 |. W0 t+ y: y/ s' Y8 ~
% k4 S0 A( X% C1 s: w/ d+ M4 u4、获取向量某一个或多个子集,向量前的负号"-"表示去除相应内容。
* H {" x# S2 j4 U; U! J: y$ j例1:x <- c(3, 4, 5, 2, 6); x[1:2]; x[-(1:2)]
' V0 F+ a* Y v r3 |, Q" Y例2:x <- c(3, 4, 5, 2, 6); x[c(1, 2, 4, 1)]; x[-c(1, 2, 4, 1)]
2 j! e. F& m" o( l1 z例3:xx <- seq(1, by = 3, length = 10); xx[xx > 13]
* z% ?3 O, F1 f' ]- m+ i例4:x <- 1:20; y <- -9:11; x[y > (1)] #注意最后一个是"NA"
1 C" H+ j! _ N. f1 a* A3 x9 E' T' M6 D7 b
5、主要向量运算函数。
$ B, [1 [6 |3 ^4 ^- Z例1:xx <- c(2, 6, 10, 8, 4)
4 t; u" r/ C) c; r5 L- O3 Qsum(xx) #和
8 Z, t3 G+ O0 pmax(xx) #最大值
/ f1 f5 T: v3 J1 f* G5 dmin(xx) #最小值
: A$ t! E# e B( X2 Erange(xx) #取值范围
( |, w& @ \: E, I+ q2 T4 amean(xx) #平均值
$ C- c& C, m+ ?9 i. zvar(xx) #方差: n2 s# \+ {: |
sort(xx) #从小到大排序
2 O! M( v9 g2 U7 w* e( Orev(xx) #反排列, 所以从大到小排序应该是rev(sort(xx))
+ [9 x/ g8 w9 vrank(xx) #单元值大小顺序
1 o& Q, u! B% ~' l! gprod(xx) #乘积,所以阶乘是prod(1:n)& u: m4 A% Q! w2 T
例2:x <- seq(1, 15, 2)
5 Z8 X9 w# |: ?append(x, 20:30, after = 5) #插入数据
6 p. Q! Q/ n+ s4 \append(x, 20:30) #参数after缺省默认从向量的最后插入值8 n) s0 Z# F" G, U: Z; S$ i: ^
replace(x, c(2, 4, 6), -1) #替换函数9 K. q8 L" ]" D. P# V8 L. v, X
例3:state.name1 Y4 P) p! C8 A+ K
match(c('Ohio', 'Wyoming'), state.name) #完全匹配函数- W; Q9 \8 j$ l* w/ a
pmatch(c('Oh', 'Wy'), state.name) #部分匹配函数# I5 S7 M8 v- F0 ]( K
state.name[pmatch(c('Oh', 'Wy'), state.name)]5 d9 H9 B! h; z9 b5 t+ M% O2 C4 }
例4:yy <- -9:10
0 Z0 q' K# {9 ~all(yy > 0) #判断所有
, M: D/ u6 n2 {( I/ Y% H/ Hall(yy > -10)
$ D1 w: U* X% }# wany(yy == 0) #判断部分2 b/ Q7 z: M: l5 b
any(yy > 0)" F- N& u; U% R9 {, _6 [' p$ \+ C' h
any(yy < -10)
- \* A% y5 {. I3 U/ |0 f* P$ @6 g, _9 I4 N& l; W0 ?
, k6 o4 z; ^0 ~# q# [ |
zan
|