- 在线时间
- 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。* k" g" ]9 E4 U" O$ C6 k
例1:seq(10, 20, 0.5)
2 C) Z2 q8 I) C, [* l; Q4 J例2:seq(0, by = 0.03, length = 15)
# Q# w" R. `5 \: o1 K
0 F1 G0 C* t- d2、rep():产生有规律的数列,重复第一个变量若干次。/ A( f0 ?- X) Y' k/ k" H8 Y
例1:rep(1:3, 1:3)
7 N u% `- P( s1 E d1 t例2:rep(1:3, rep(2, 3))
% c2 @: `' j# B# l5 Y9 j例3:rep(1:3, length = 10)
% u4 J9 n0 X7 E' P, ?6 h; ?$ X
+ |/ j5 ?' }3 ~2 y/ F5 |7 N- _3、向量运算:一般是对应元素之间的运算,所以两个或多个向量运算时,要求它们包含的元素个素相同(或一个是另一个的整数倍)。: J: a! T# v7 q: J ?
例1:a <- 1:3; b <- 4:6; a * b; b^a) n k" x0 n2 A7 | d/ X
例2:a <- 1:3; b <- 4:9; a * b; b^a
! X5 }' Z# f1 ], B. ^2 ]( c! P; c. L+ U8 [4 ~. K R
4、获取向量某一个或多个子集,向量前的负号"-"表示去除相应内容。( o# `9 D. i3 R
例1:x <- c(3, 4, 5, 2, 6); x[1:2]; x[-(1:2)]
8 J+ D7 Q* R6 t* A' m4 V: K- z例2:x <- c(3, 4, 5, 2, 6); x[c(1, 2, 4, 1)]; x[-c(1, 2, 4, 1)]
) l% J$ p& e. R& |) m/ A例3:xx <- seq(1, by = 3, length = 10); xx[xx > 13]
& w3 g# r0 ~+ r7 z O3 q. H例4:x <- 1:20; y <- -9:11; x[y > (1)] #注意最后一个是"NA"
- `! w& Y1 ]0 z' U& |6 H5 H, k% k0 y Y& ^
# t9 t# B( \, D6 x# y* H' ]& u8 ~5、主要向量运算函数。7 ?/ T7 R2 _* ?; x8 F. z
例1:xx <- c(2, 6, 10, 8, 4)! V8 h& G4 ~( x" x
sum(xx) #和
7 ^2 X$ i; |: H9 u5 t7 j7 w2 Bmax(xx) #最大值" w% Y& C0 Z1 x' W) w b
min(xx) #最小值
. N. g, H; H# A$ _5 Wrange(xx) #取值范围
/ Z; {, i& e5 ?! I/ P# ]* O. Qmean(xx) #平均值
0 C, I5 @2 r+ {" r7 @8 _3 K6 D2 Zvar(xx) #方差
* n+ T8 ^9 k& S5 U8 R1 W9 Isort(xx) #从小到大排序6 R, A3 c4 a% J( M5 k
rev(xx) #反排列, 所以从大到小排序应该是rev(sort(xx))
- w3 I! I3 t' `rank(xx) #单元值大小顺序9 b3 y& M/ q' u2 V: ?6 p- s( u3 _
prod(xx) #乘积,所以阶乘是prod(1:n)% q7 e: `7 D% ~' F: s
例2:x <- seq(1, 15, 2); R) p2 \, |2 V: m8 b
append(x, 20:30, after = 5) #插入数据2 d" m% p! z# U7 U8 ?7 N# Q
append(x, 20:30) #参数after缺省默认从向量的最后插入值! m l# N1 T% A* Q2 _, v _
replace(x, c(2, 4, 6), -1) #替换函数/ @8 g" T, N0 _3 h0 T- o
例3:state.name$ r; E1 K7 J4 {0 u. p. N% _
match(c('Ohio', 'Wyoming'), state.name) #完全匹配函数" S. u+ ]' W+ ]' p/ ?5 \3 @
pmatch(c('Oh', 'Wy'), state.name) #部分匹配函数 V) H0 b; K) c+ W7 Q$ K+ ?' y
state.name[pmatch(c('Oh', 'Wy'), state.name)]! v' ]1 k" E6 }- ]2 n
例4:yy <- -9:105 F. Z: ^' O2 v6 t2 U
all(yy > 0) #判断所有
3 h6 Y' {2 A- L* `7 b7 qall(yy > -10)+ i2 ]! J9 p! R0 e8 p1 r9 M
any(yy == 0) #判断部分& `/ ?& { b9 m5 G
any(yy > 0)
+ \3 A8 w2 ]% E# r" E6 Iany(yy < -10)) E' n. R5 M2 \& @
4 _. l. q' j- ~5 W" }: H( q
/ Y/ H7 L$ G- r2 w1 t
|
zan
|