- 在线时间
- 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。% M6 z% T* f2 a. r' I+ n0 `) T
例1:seq(10, 20, 0.5)1 ~3 b+ L$ a8 Z0 O* F
例2:seq(0, by = 0.03, length = 15)- g( X7 ~- B7 A, b4 c* U$ o
/ Q' l- m+ ~5 t8 w2、rep():产生有规律的数列,重复第一个变量若干次。/ `# x M; l9 I0 ? _2 b% Y
例1:rep(1:3, 1:3)
4 [9 Z8 y2 _3 m4 B R# N r例2:rep(1:3, rep(2, 3))! |6 M4 Q4 O1 V
例3:rep(1:3, length = 10)
- v# g1 U+ }0 z( ~! |
% g! T) c' `# A8 ?" k( l0 m- R' z3、向量运算:一般是对应元素之间的运算,所以两个或多个向量运算时,要求它们包含的元素个素相同(或一个是另一个的整数倍)。; W6 i. x$ v5 D' M- V
例1:a <- 1:3; b <- 4:6; a * b; b^a
& H3 N3 z; Q h: L例2:a <- 1:3; b <- 4:9; a * b; b^a5 D V- i- _" j8 j& q
3 b3 S% L1 m) s# B7 O4、获取向量某一个或多个子集,向量前的负号"-"表示去除相应内容。8 }4 v0 w. O$ D. n4 j* ^7 b
例1:x <- c(3, 4, 5, 2, 6); x[1:2]; x[-(1:2)]
/ u7 w$ A2 E8 d5 K9 d) E例2:x <- c(3, 4, 5, 2, 6); x[c(1, 2, 4, 1)]; x[-c(1, 2, 4, 1)]* E3 f5 V2 H$ c& L9 S A
例3:xx <- seq(1, by = 3, length = 10); xx[xx > 13]
/ G. b$ c4 H }例4:x <- 1:20; y <- -9:11; x[y > (1)] #注意最后一个是"NA"! q! O: ]0 K5 X. @4 @( f5 ]
2 q" o; y8 B2 x! Q7 S) v5、主要向量运算函数。* G/ T$ W: Q+ m, M8 v; U
例1:xx <- c(2, 6, 10, 8, 4)6 O; M/ n7 E B3 w
sum(xx) #和
0 n' T: v1 A3 ~4 Vmax(xx) #最大值6 u1 N6 {9 p( c2 h( t
min(xx) #最小值) T0 ^! X' B7 `1 Q! E9 F
range(xx) #取值范围
' | V7 M3 h! x: s7 omean(xx) #平均值
7 T$ }: ^ E$ J/ V; G1 W3 kvar(xx) #方差
% \. M, @8 j" w* ~sort(xx) #从小到大排序1 |& ~" ]' I5 i+ ^* \( v
rev(xx) #反排列, 所以从大到小排序应该是rev(sort(xx))
* R( V% }. \# G$ ?1 Mrank(xx) #单元值大小顺序
' A& d8 Q& A2 @7 z2 Aprod(xx) #乘积,所以阶乘是prod(1:n)2 b# h- H3 ]2 c' ^( C2 s
例2:x <- seq(1, 15, 2)8 ^# w3 K3 I; b% f8 D( G
append(x, 20:30, after = 5) #插入数据
% O7 N. W5 A6 s f& J# A* J0 iappend(x, 20:30) #参数after缺省默认从向量的最后插入值
" p5 Q0 i2 H, h: G" W8 ~replace(x, c(2, 4, 6), -1) #替换函数
6 t3 w- Q- Q' s$ I! [3 k- L例3:state.name9 a. O7 E# ]* Q( p* R3 m! E+ D5 z
match(c('Ohio', 'Wyoming'), state.name) #完全匹配函数
6 i( ]# Z3 }6 A! [. ipmatch(c('Oh', 'Wy'), state.name) #部分匹配函数- E3 K5 Y+ @ t6 X
state.name[pmatch(c('Oh', 'Wy'), state.name)]) Q6 ^* ^- t( q" V4 E& u2 b
例4:yy <- -9:10 I3 `8 l0 V8 l0 G
all(yy > 0) #判断所有: q9 e% Y$ O/ c
all(yy > -10)0 {7 ]& R) `0 O
any(yy == 0) #判断部分' b- x" J2 k; Q: q+ ~5 Y
any(yy > 0)
3 m5 N& G& Q7 M$ O6 F1 Dany(yy < -10)
7 G% c$ K9 a1 |9 _4 F
) ?- n- L5 m2 O. g7 J. {% O I# W. M/ M: e2 J* N
|
zan
|