- 在线时间
- 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。- S3 Y) C% C8 Q: ~
例1:seq(10, 20, 0.5)
% K5 u* L! n: u' e; j( j例2:seq(0, by = 0.03, length = 15)
3 }% Z! Q, X3 E
1 c( a! J' W; G: q2 E2 ?' m) x2、rep():产生有规律的数列,重复第一个变量若干次。
( J. w3 _) e) S/ ]例1:rep(1:3, 1:3)6 _& X( j% D( i: X
例2:rep(1:3, rep(2, 3))( ^3 J3 g1 d# t* D5 m
例3:rep(1:3, length = 10)
, M$ Y: X/ R9 u' h% `6 e6 U8 V
) r j5 |7 j7 D3、向量运算:一般是对应元素之间的运算,所以两个或多个向量运算时,要求它们包含的元素个素相同(或一个是另一个的整数倍)。
0 q' M+ f. J+ M6 g) T' b, R例1:a <- 1:3; b <- 4:6; a * b; b^a
6 S$ i; z6 R2 P/ F6 f例2:a <- 1:3; b <- 4:9; a * b; b^a4 E& n8 E9 o" L3 a; W4 B
& ^6 ]5 D) d3 M3 {( B# j. h
4、获取向量某一个或多个子集,向量前的负号"-"表示去除相应内容。
& S. r8 ?8 f2 }& t, M例1:x <- c(3, 4, 5, 2, 6); x[1:2]; x[-(1:2)]
7 n$ |; j5 w. X: s& M例2:x <- c(3, 4, 5, 2, 6); x[c(1, 2, 4, 1)]; x[-c(1, 2, 4, 1)]6 {* H' G/ C$ n. N
例3:xx <- seq(1, by = 3, length = 10); xx[xx > 13]9 x& c' |( x# i" O& P" i9 H' a3 k" W
例4:x <- 1:20; y <- -9:11; x[y > (1)] #注意最后一个是"NA"' [# s) d% g! C& {6 e$ r
# H3 g# T L6 a1 E1 Y- ^0 j- p T/ n5、主要向量运算函数。: X* ?4 E1 d; s9 k$ k
例1:xx <- c(2, 6, 10, 8, 4)
# ?: f, a1 A- A! csum(xx) #和3 F. b$ w5 y3 u4 d3 M1 C, l
max(xx) #最大值
; P$ {/ V5 }0 _5 ]5 Vmin(xx) #最小值
& _. @1 r$ F5 C. Urange(xx) #取值范围
6 B" U5 @6 a9 i4 Y' `; k |mean(xx) #平均值
% L( J2 J9 t) l# e6 M$ s4 Svar(xx) #方差
0 r4 w, X0 I% e2 I5 F' m1 usort(xx) #从小到大排序
; k( h" i) J; g# G. b9 L1 ]% e' U& frev(xx) #反排列, 所以从大到小排序应该是rev(sort(xx))
4 d7 E q2 O8 Xrank(xx) #单元值大小顺序
- g- |( R( p9 `. O: sprod(xx) #乘积,所以阶乘是prod(1:n)7 X. \4 [" v' g3 I
例2:x <- seq(1, 15, 2)
0 \; _1 Q6 v P4 g/ gappend(x, 20:30, after = 5) #插入数据0 ]' D7 U! o7 Z7 k
append(x, 20:30) #参数after缺省默认从向量的最后插入值
3 z% N7 x- Y: R+ L" Y* n* zreplace(x, c(2, 4, 6), -1) #替换函数- s5 y& B- a) H- W6 R4 E9 g7 f
例3:state.name
- d7 `0 J" I4 d a4 W, P7 B: }match(c('Ohio', 'Wyoming'), state.name) #完全匹配函数& |6 O8 O8 U! `( N$ H1 x. c
pmatch(c('Oh', 'Wy'), state.name) #部分匹配函数7 _; g' x$ I# X4 R/ Y, e
state.name[pmatch(c('Oh', 'Wy'), state.name)]
0 z' [8 U* _5 M5 V8 W) e% ?) D% j例4:yy <- -9:10
9 X+ ^# A1 L" D% B6 f( z5 h' xall(yy > 0) #判断所有
% I3 Q' f+ H7 n9 Y: N0 [all(yy > -10)
: |& ]/ a. I2 a6 }' Vany(yy == 0) #判断部分
1 w9 j' X2 S7 h4 Zany(yy > 0)5 H N. Y) s$ F1 ~) T
any(yy < -10)# ?% H9 Y/ `( E4 f6 I! F
$ n! V9 B# E" `# i" i) H# g, D y5 O; t( L; ~
|
zan
|