- 在线时间
- 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。
- F3 t6 i- N9 K* ]3 \例1:seq(10, 20, 0.5)
a4 p, G& m$ M8 H& q例2:seq(0, by = 0.03, length = 15)
2 Z9 }/ A) T/ }4 x# i: b R& E
" T0 _+ b$ ?8 d* w- Y2、rep():产生有规律的数列,重复第一个变量若干次。6 g6 i+ w/ l& g
例1:rep(1:3, 1:3)
: Y: q6 w) h7 h, ?+ ]( B( C例2:rep(1:3, rep(2, 3))
0 R) N9 D5 _# @% d$ o例3:rep(1:3, length = 10)% J" M% D+ z3 k
; E6 A/ M- z3 [* f, O+ n" S9 V3、向量运算:一般是对应元素之间的运算,所以两个或多个向量运算时,要求它们包含的元素个素相同(或一个是另一个的整数倍)。
/ x/ `1 a) l+ H4 U- X+ K& o% i例1:a <- 1:3; b <- 4:6; a * b; b^a% [; M+ ~# t" z# N& U/ C
例2:a <- 1:3; b <- 4:9; a * b; b^a
) t" i0 T9 }# f! N1 e
" {5 q7 |) g# Y8 J' o. i! ?4、获取向量某一个或多个子集,向量前的负号"-"表示去除相应内容。
/ R. x1 ]8 Z0 t5 g/ t1 z, i, p' {例1:x <- c(3, 4, 5, 2, 6); x[1:2]; x[-(1:2)]
; a r" h7 H/ r例2:x <- c(3, 4, 5, 2, 6); x[c(1, 2, 4, 1)]; x[-c(1, 2, 4, 1)]% f/ h$ N( r$ T) c3 P
例3:xx <- seq(1, by = 3, length = 10); xx[xx > 13]* C2 L3 Q" ^+ m/ [) e3 P
例4:x <- 1:20; y <- -9:11; x[y > (1)] #注意最后一个是"NA"4 N) g) M5 [+ h7 A/ h
7 d' Q! c9 T2 [: R" @
5、主要向量运算函数。( a4 @; f# I4 A$ W! j
例1:xx <- c(2, 6, 10, 8, 4)& R) R3 x" m3 {2 M3 W5 @) [3 R0 S* [
sum(xx) #和
Y \: [. V* Z3 k3 `& m3 Emax(xx) #最大值' b6 U: P* q4 d O1 A
min(xx) #最小值
) h0 X0 `# h. A) t1 erange(xx) #取值范围! H$ g5 Y/ _ ]
mean(xx) #平均值
0 k$ \3 ]; p' u/ U: B8 U* T, U7 qvar(xx) #方差
( l$ [% q- b$ m% L+ c: y! K8 vsort(xx) #从小到大排序
R; Y2 ]9 o, r9 C% p3 d0 Qrev(xx) #反排列, 所以从大到小排序应该是rev(sort(xx))8 u( K3 `: A7 ] k
rank(xx) #单元值大小顺序5 B: ^9 l" z; r9 ?$ B: h
prod(xx) #乘积,所以阶乘是prod(1:n)1 ]6 m% u! Q8 E0 N( B
例2:x <- seq(1, 15, 2); R; `, m) X- C3 n1 E7 u9 q. [
append(x, 20:30, after = 5) #插入数据$ q. F! K+ [1 p- t/ T, q
append(x, 20:30) #参数after缺省默认从向量的最后插入值
$ B Z/ E, y4 x$ n5 Sreplace(x, c(2, 4, 6), -1) #替换函数
. W' t9 @4 V3 N' H- J5 `例3:state.name( s7 L" `; G; ]+ B/ w U% J" X
match(c('Ohio', 'Wyoming'), state.name) #完全匹配函数
: m7 O# x# K! G N! _) O! Wpmatch(c('Oh', 'Wy'), state.name) #部分匹配函数
, w) Z0 @$ v. @! |4 Xstate.name[pmatch(c('Oh', 'Wy'), state.name)]. x3 y2 b) b5 s6 A. T& Z
例4:yy <- -9:10% G! Q& |3 ]9 q0 C4 }# V+ l
all(yy > 0) #判断所有
. T7 F: a6 M6 x) Sall(yy > -10)1 q H& ^" h4 X8 J5 }& P3 N
any(yy == 0) #判断部分
+ R$ ^. \/ O4 V/ many(yy > 0)( w, _& n8 H& j+ J4 d$ z$ p* g
any(yy < -10)4 K- K! L3 d& J
& n" o6 {. ~0 N* V, s$ |2 E% T) b. J
|
zan
|