- 在线时间
- 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。/ D3 p2 Q: b1 P3 Y& @
例1:seq(10, 20, 0.5)
& Z5 P" E1 ^' ~/ u0 ]例2:seq(0, by = 0.03, length = 15)
, w) D; ?( G0 `5 U7 R" L
J8 v) q5 d" F) u6 Z# r2、rep():产生有规律的数列,重复第一个变量若干次。
: _8 ^$ l2 W* [+ _- \例1:rep(1:3, 1:3)
9 D a$ \: U% H8 l! P2 F% g8 S9 O例2:rep(1:3, rep(2, 3))3 Z: W: V+ Q) h& m* D3 S
例3:rep(1:3, length = 10)# d/ k2 b8 {3 V) r, c
# V7 I- g! M3 }- a t( t3、向量运算:一般是对应元素之间的运算,所以两个或多个向量运算时,要求它们包含的元素个素相同(或一个是另一个的整数倍)。. n7 t) x. K9 z6 F$ v/ Q
例1:a <- 1:3; b <- 4:6; a * b; b^a
& Q/ H9 g ~; K: p) r( i$ K+ A+ X例2:a <- 1:3; b <- 4:9; a * b; b^a
" n" v2 q7 y: o4 Y8 Z8 Q3 e8 t& v1 Y% P/ @, z* G+ N
4、获取向量某一个或多个子集,向量前的负号"-"表示去除相应内容。
3 \5 [ o. Q% ]* `例1:x <- c(3, 4, 5, 2, 6); x[1:2]; x[-(1:2)]% _7 k* s: P9 C! T0 i. V/ U
例2:x <- c(3, 4, 5, 2, 6); x[c(1, 2, 4, 1)]; x[-c(1, 2, 4, 1)], I+ M& m7 s* Y( H
例3:xx <- seq(1, by = 3, length = 10); xx[xx > 13]/ e: }, X3 f% n( Q& j2 n
例4:x <- 1:20; y <- -9:11; x[y > (1)] #注意最后一个是"NA"
$ E/ q, U7 v5 E
+ ]& c6 t- z o! n, T- _+ j5、主要向量运算函数。
2 C. w4 v/ ?- D3 Z- e/ T例1:xx <- c(2, 6, 10, 8, 4)
3 D: I) y7 F, B& D4 a1 M+ m, x3 ysum(xx) #和% X: m& H. O u3 M$ U( |6 W
max(xx) #最大值4 q2 T6 i$ B5 T5 B3 Y# ]4 g8 t
min(xx) #最小值+ D/ y) ]: i% U6 }
range(xx) #取值范围 D" r% g' V+ V7 ^
mean(xx) #平均值
. [* I6 E& s- r" m) b/ M# nvar(xx) #方差
8 m7 l: e. |* q. [) g4 L* fsort(xx) #从小到大排序4 m) ]8 h& n, U
rev(xx) #反排列, 所以从大到小排序应该是rev(sort(xx))
1 l9 O+ `4 ~/ Y4 irank(xx) #单元值大小顺序
* |! ]2 X4 |( D+ Yprod(xx) #乘积,所以阶乘是prod(1:n)
! q" h% o5 E( a+ o, ^0 ^例2:x <- seq(1, 15, 2)9 M U' ^+ u j% Q" W& w, W
append(x, 20:30, after = 5) #插入数据
5 o% p' |% k/ ~ [, u& Jappend(x, 20:30) #参数after缺省默认从向量的最后插入值
' j. V9 c1 z7 M) preplace(x, c(2, 4, 6), -1) #替换函数
8 s" R8 j! h3 S例3:state.name
4 |0 Q9 Q6 v5 gmatch(c('Ohio', 'Wyoming'), state.name) #完全匹配函数" o8 l6 |" r3 z; P5 g# K
pmatch(c('Oh', 'Wy'), state.name) #部分匹配函数4 p8 y7 K- R4 c& }* W% D) ]+ w
state.name[pmatch(c('Oh', 'Wy'), state.name)]! J( x! o7 W+ u, F
例4:yy <- -9:10% r9 w6 j" \8 G
all(yy > 0) #判断所有
7 r* s: B9 Z+ E# @all(yy > -10)
1 |% g" a, B$ f! r7 Y9 _9 Hany(yy == 0) #判断部分% y4 ~/ G- a, N/ ?3 E% Y- @
any(yy > 0)
6 H) ]: {# q/ Y: Vany(yy < -10)- q+ y, l, @4 i5 e
( `+ B" b- L6 {3 o
; Q8 }4 d* S# J+ {/ y |
zan
|