- 在线时间
- 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。- q1 N4 J$ M. x/ S0 x( o% P, |
例1:seq(10, 20, 0.5)
y+ Q# P# C u- a% `2 X( Q例2:seq(0, by = 0.03, length = 15)( B* G8 I3 a B( \+ J3 S9 g2 @+ A# V4 A
2 N1 Y; B) }; i" u2、rep():产生有规律的数列,重复第一个变量若干次。
* z6 D7 l8 d* M' O例1:rep(1:3, 1:3)8 T" U! J7 \0 F, A b8 K: S$ j& b2 K
例2:rep(1:3, rep(2, 3))8 l0 Q% j" R2 H) O; i$ h
例3:rep(1:3, length = 10)$ c+ d5 v+ }+ w7 o& ]3 l) k, r
& @7 s7 s& V2 B5 Q. z+ g
3、向量运算:一般是对应元素之间的运算,所以两个或多个向量运算时,要求它们包含的元素个素相同(或一个是另一个的整数倍)。: k1 t; Z8 u" k) K7 q C t
例1:a <- 1:3; b <- 4:6; a * b; b^a( N# f/ a" c3 Z1 \0 a& ?9 x$ F
例2:a <- 1:3; b <- 4:9; a * b; b^a, [2 L. n: J5 N7 J. q
" X# t8 q3 F- s" V) d
4、获取向量某一个或多个子集,向量前的负号"-"表示去除相应内容。1 }6 W( c( S+ M& S b$ X
例1:x <- c(3, 4, 5, 2, 6); x[1:2]; x[-(1:2)]
$ l9 h* \) ^2 |6 D5 d$ D, b; Z- Z例2:x <- c(3, 4, 5, 2, 6); x[c(1, 2, 4, 1)]; x[-c(1, 2, 4, 1)]
) q( l; i$ u; m2 Q& }% Y% P& ~7 p; s例3:xx <- seq(1, by = 3, length = 10); xx[xx > 13]
G( Y# m: t, [4 h! n, V& @% j例4:x <- 1:20; y <- -9:11; x[y > (1)] #注意最后一个是"NA"8 {+ k3 Z& @: O' O. H7 c/ O8 S
: d3 O1 x0 K8 x3 O; E
5、主要向量运算函数。# S8 h) s9 y1 F' _8 c& n! g
例1:xx <- c(2, 6, 10, 8, 4)6 Z: J( K# @# T4 M, f
sum(xx) #和! A" ]0 a7 R3 ~
max(xx) #最大值
$ i# U/ b+ M5 ~7 a* B# Jmin(xx) #最小值
3 O- x: ]' [) W1 \range(xx) #取值范围% y3 O3 q2 A9 @& v
mean(xx) #平均值
( _6 R k$ f- X0 {$ wvar(xx) #方差! j9 a4 j6 ^( ?7 A8 [
sort(xx) #从小到大排序
% ?9 {3 m' L& Irev(xx) #反排列, 所以从大到小排序应该是rev(sort(xx))
}1 A+ B7 f, f! I+ D0 C h; K: _* frank(xx) #单元值大小顺序
; O/ T( s1 m% o* K) U ^prod(xx) #乘积,所以阶乘是prod(1:n)% C: W9 r+ g" H
例2:x <- seq(1, 15, 2)
' j- N. W9 i* r7 }7 vappend(x, 20:30, after = 5) #插入数据: F- y1 Y( }. d- }2 K4 V
append(x, 20:30) #参数after缺省默认从向量的最后插入值
3 a' Y3 g' U0 b$ W: i* K$ treplace(x, c(2, 4, 6), -1) #替换函数
) u% F9 h2 `- z, U例3:state.name
a: n& L% j3 O$ y" w( Q9 k6 e+ ]match(c('Ohio', 'Wyoming'), state.name) #完全匹配函数
( r4 |1 o$ b3 i0 h! Epmatch(c('Oh', 'Wy'), state.name) #部分匹配函数
3 t- P) B% B: F8 O' d% Pstate.name[pmatch(c('Oh', 'Wy'), state.name)]% b/ \* Q* k- Z/ @. d% P
例4:yy <- -9:10# l9 E* M' U9 D y9 N+ {* v
all(yy > 0) #判断所有
' N! v# f/ N& q. U6 T) b4 _8 u. Kall(yy > -10)
; ~& l! b4 H7 {: [7 ~any(yy == 0) #判断部分( @; E2 `6 w1 L) U& _
any(yy > 0)* W, t$ _" r$ s1 e7 \
any(yy < -10)) G" k4 q2 g' q, o# W% Z9 h
# p; g [& W# o7 Z6 k+ w7 K q! p ^1 W
% p; j- K% F" z, H7 p
|
zan
|