- 在线时间
- 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。
+ |$ F7 B* e2 ]6 ~! ~; z( Y例1:seq(10, 20, 0.5)% }" ?5 B) M K3 X$ Q0 O1 b) n
例2:seq(0, by = 0.03, length = 15)
2 E* c/ W7 ?. F* y9 C0 T _# {/ H4 O& K
( [1 ^6 L; M) k2、rep():产生有规律的数列,重复第一个变量若干次。
4 ?6 m4 Y5 ~0 g. A% m; R例1:rep(1:3, 1:3)
# Q: y5 q' C( L' J' `例2:rep(1:3, rep(2, 3))5 E) Z# h/ c& q' E0 D
例3:rep(1:3, length = 10)
5 ^! ]- C" e6 [4 B- W$ {1 z1 |/ O" d3 c4 H- a$ y
3、向量运算:一般是对应元素之间的运算,所以两个或多个向量运算时,要求它们包含的元素个素相同(或一个是另一个的整数倍)。* t/ i) t$ p( F% e
例1:a <- 1:3; b <- 4:6; a * b; b^a; f7 H9 D: R* L
例2:a <- 1:3; b <- 4:9; a * b; b^a
" J/ K, z! M9 g! P* f' W; w" G/ [) U5 Z: ^# c
4、获取向量某一个或多个子集,向量前的负号"-"表示去除相应内容。
3 Z( H/ J6 k" Y$ R5 g) r; z例1:x <- c(3, 4, 5, 2, 6); x[1:2]; x[-(1:2)]
# B( h. _+ x) }3 D& {7 U5 R% Y例2:x <- c(3, 4, 5, 2, 6); x[c(1, 2, 4, 1)]; x[-c(1, 2, 4, 1)]
; E, M; R. T: J例3:xx <- seq(1, by = 3, length = 10); xx[xx > 13]
2 \/ u& ~ \1 h3 e. u$ M8 ?; B例4:x <- 1:20; y <- -9:11; x[y > (1)] #注意最后一个是"NA"
, |9 Q+ m+ r" _
1 a5 V! F$ P; v: A+ P% A5、主要向量运算函数。" |- b* z5 r/ D, j
例1:xx <- c(2, 6, 10, 8, 4)+ k2 l. \- G# l# {' c h) U2 ]
sum(xx) #和
, T5 y6 n" z- V6 Y. Amax(xx) #最大值
5 j% m! o u# {' {: ]3 Emin(xx) #最小值
; L8 u0 B3 E1 X0 Wrange(xx) #取值范围9 g. t7 C$ U) O9 c: w
mean(xx) #平均值6 K2 T" G" D1 P6 z
var(xx) #方差
: t5 s& Q5 w( esort(xx) #从小到大排序: p+ T$ [! W) J2 d* J
rev(xx) #反排列, 所以从大到小排序应该是rev(sort(xx))7 ]. E. j- d# W) J' B- h; w( a% {* u$ t
rank(xx) #单元值大小顺序
; t# i$ [! H' T* Y+ W B+ bprod(xx) #乘积,所以阶乘是prod(1:n)
* U' N3 {7 v1 T8 j1 M, n例2:x <- seq(1, 15, 2)
9 y) g" ]3 v; K/ Q+ k7 vappend(x, 20:30, after = 5) #插入数据3 N4 h) k0 P5 V4 c0 h
append(x, 20:30) #参数after缺省默认从向量的最后插入值! b4 T, ] q# B4 y, p" ?8 _1 d
replace(x, c(2, 4, 6), -1) #替换函数
# F N& {0 u5 |例3:state.name
0 b' S& ^+ T% y& Q! Rmatch(c('Ohio', 'Wyoming'), state.name) #完全匹配函数
* P2 Y+ |" X( ]$ u; cpmatch(c('Oh', 'Wy'), state.name) #部分匹配函数8 ]+ u- L& I0 F: l
state.name[pmatch(c('Oh', 'Wy'), state.name)]1 }# D2 G2 W2 H" R/ o7 m; h2 `
例4:yy <- -9:10. `2 j* z e2 @% e
all(yy > 0) #判断所有: g1 T$ j$ O/ a% c: A! @, t1 j
all(yy > -10)6 @; K% i# Y8 n0 \3 A
any(yy == 0) #判断部分. d9 j w3 @9 p) B6 X+ O) s
any(yy > 0)
% J+ j% R7 y7 M" i$ M( qany(yy < -10)! e: t1 _+ ]- m: ^0 p) a
; u! `8 o9 Y# K A5 g% f6 U) ^
4 @/ G6 ?7 f# k- u
|
zan
|