- 在线时间
- 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。
% S0 l% j9 x: J1 h! a+ F5 m: r6 V例1:seq(10, 20, 0.5)
* D, x5 y* Q, \+ f3 o/ s例2:seq(0, by = 0.03, length = 15)3 q8 e* D# }% k4 R6 |
9 t0 K9 d3 m; R m1 ^
2、rep():产生有规律的数列,重复第一个变量若干次。- Q8 q% @" T2 |* E/ q: h" [: |* h
例1:rep(1:3, 1:3)
) _5 f- H- U! t# ^' ]! B6 Y例2:rep(1:3, rep(2, 3))
; x- i( i) ~3 I! l v例3:rep(1:3, length = 10)- n& X1 }; ~2 j2 |
& c2 t1 \, H2 y) ]2 w) ]3、向量运算:一般是对应元素之间的运算,所以两个或多个向量运算时,要求它们包含的元素个素相同(或一个是另一个的整数倍)。
( t s, g9 M+ H/ y3 h例1:a <- 1:3; b <- 4:6; a * b; b^a7 B& ?4 e2 c* z( f0 ~0 \. i5 x
例2:a <- 1:3; b <- 4:9; a * b; b^a
7 ]0 B n' W' k' w( ^
! _. |. x' X, w- E/ i, B4、获取向量某一个或多个子集,向量前的负号"-"表示去除相应内容。3 c- G! S1 c/ Z* M
例1:x <- c(3, 4, 5, 2, 6); x[1:2]; x[-(1:2)]
1 s. O; k/ F4 Z6 p3 Z例2:x <- c(3, 4, 5, 2, 6); x[c(1, 2, 4, 1)]; x[-c(1, 2, 4, 1)]+ H9 A, m) i5 q( [1 W) i6 d+ ?; p
例3:xx <- seq(1, by = 3, length = 10); xx[xx > 13]
8 C: n6 s6 G1 j- g0 P M7 f/ N例4:x <- 1:20; y <- -9:11; x[y > (1)] #注意最后一个是"NA"
" l7 ~# o% Y+ ~& l
& r9 Z/ B. |+ L0 M5、主要向量运算函数。
8 V5 V2 d/ }1 J# C% A3 y例1:xx <- c(2, 6, 10, 8, 4)
" X! i+ r; u! M; `6 d% ~: Nsum(xx) #和
g6 k4 Q. J* z4 jmax(xx) #最大值* }1 i& \6 N& @/ {7 c" t
min(xx) #最小值
7 k6 J# ~* c' d* p4 X% g2 s1 }range(xx) #取值范围
. G9 @! t8 I- b0 i% w$ X$ J/ imean(xx) #平均值/ e8 j. \7 Z* k" ~
var(xx) #方差
3 x; b# N2 c9 R5 h8 E. o& `sort(xx) #从小到大排序4 Y3 T; L3 f3 p6 L5 g# B
rev(xx) #反排列, 所以从大到小排序应该是rev(sort(xx))8 q% Y+ j2 J' r* j' [& ?( b
rank(xx) #单元值大小顺序
' z6 u0 E3 V. s% ]prod(xx) #乘积,所以阶乘是prod(1:n)% o ~: K% a- b1 e; h0 j- [
例2:x <- seq(1, 15, 2)
9 ? [2 s7 V ?7 `% E( Eappend(x, 20:30, after = 5) #插入数据
' t1 x6 H$ S2 k3 U d. H" F: W( Aappend(x, 20:30) #参数after缺省默认从向量的最后插入值
5 w1 g* x6 h0 e7 V8 }3 r5 C; dreplace(x, c(2, 4, 6), -1) #替换函数0 [. y4 s4 }3 a1 i4 V: ?- h
例3:state.name' |1 I* z" d4 D( { u& Q
match(c('Ohio', 'Wyoming'), state.name) #完全匹配函数0 H& O9 G. k, s/ i' ] O
pmatch(c('Oh', 'Wy'), state.name) #部分匹配函数
3 ^* X" p/ N' e x8 `, t; `4 Ustate.name[pmatch(c('Oh', 'Wy'), state.name)]8 j# e' H- W/ p) {3 j2 }
例4:yy <- -9:10) Z" I5 m l' i. u- E& G* y- d
all(yy > 0) #判断所有) j) ^) t! ?+ t+ O1 o$ {: ^
all(yy > -10)8 i% A# ?2 z( `9 s* i$ y
any(yy == 0) #判断部分* D3 T% `) W6 h4 X
any(yy > 0)
* N. d& u# R- w3 fany(yy < -10)
5 O5 n) \- _2 r& @4 `) ^ j. w& D: D A6 N; Q
( A0 [, c* |5 t1 P1 O |
zan
|