- 在线时间
- 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。
* N$ v4 b, z& D$ W例1:seq(10, 20, 0.5)3 V/ A9 h/ N8 b8 R6 c. x9 S: D
例2:seq(0, by = 0.03, length = 15)
- z8 s5 }% F8 J4 b! N
+ _8 ?, j0 y, @0 V8 S* u$ X4 q5 j x2、rep():产生有规律的数列,重复第一个变量若干次。
: f; T- _3 U2 f3 K1 b6 o例1:rep(1:3, 1:3)
* k( K% _% v2 x$ Z! i例2:rep(1:3, rep(2, 3))! w7 M( u/ ^* O: w. d. E! Q: k% p
例3:rep(1:3, length = 10), ]( ^1 g6 s( @- N, C4 S( n
% Z4 R% g2 |0 C2 g% o: M
3、向量运算:一般是对应元素之间的运算,所以两个或多个向量运算时,要求它们包含的元素个素相同(或一个是另一个的整数倍)。
, W7 t. [5 K3 E+ K% I! V5 l例1:a <- 1:3; b <- 4:6; a * b; b^a: Q6 a; b" ^5 Q! U+ f! g
例2:a <- 1:3; b <- 4:9; a * b; b^a
2 ?6 q( g+ y1 f- W9 W: B. A: T! s
4、获取向量某一个或多个子集,向量前的负号"-"表示去除相应内容。
' T4 {; T$ u+ e1 s" z7 U0 n例1:x <- c(3, 4, 5, 2, 6); x[1:2]; x[-(1:2)]2 ~' ?4 e$ ^4 D, C' p7 d1 U
例2:x <- c(3, 4, 5, 2, 6); x[c(1, 2, 4, 1)]; x[-c(1, 2, 4, 1)]* f6 c5 q7 I1 O$ _, V/ I. u1 l
例3:xx <- seq(1, by = 3, length = 10); xx[xx > 13]
4 H% `5 \! w6 E例4:x <- 1:20; y <- -9:11; x[y > (1)] #注意最后一个是"NA": N" p; j% e7 c _6 t9 Q& \7 v( E
3 P, e) Q) q0 k2 ]& a0 m& ]+ b
5、主要向量运算函数。
" q/ v, x$ w7 w例1:xx <- c(2, 6, 10, 8, 4)
4 d5 u( z7 k: q$ G# S5 O! g: Vsum(xx) #和4 r- x k6 B8 ] J* t; F0 ~
max(xx) #最大值
4 J& I* w8 D \3 p+ ]9 smin(xx) #最小值# |5 L$ z2 } B% v% D3 }
range(xx) #取值范围( X6 h+ M' V! K. i7 s7 {" c
mean(xx) #平均值
1 e, ~* `# z. x' x* B: \var(xx) #方差2 O+ m* h- X0 L0 m3 T z9 S
sort(xx) #从小到大排序% Z( n; }; R% B! Z. j
rev(xx) #反排列, 所以从大到小排序应该是rev(sort(xx))( G0 j- z' q. ~; N% _7 o
rank(xx) #单元值大小顺序& n" l4 I( E) P! k, K5 m
prod(xx) #乘积,所以阶乘是prod(1:n)+ T d# A; M. u/ ^
例2:x <- seq(1, 15, 2)( s, H* V% W( ^" P5 f$ e
append(x, 20:30, after = 5) #插入数据
- c2 j0 o8 ~+ n: ?- }append(x, 20:30) #参数after缺省默认从向量的最后插入值" ]% F$ W9 D7 S8 k! T9 ~
replace(x, c(2, 4, 6), -1) #替换函数8 f" _# f" F% X8 t4 ^# m# f
例3:state.name
: D: D0 \% w$ E8 xmatch(c('Ohio', 'Wyoming'), state.name) #完全匹配函数
7 |& l/ @8 }# n9 ^9 S# Ypmatch(c('Oh', 'Wy'), state.name) #部分匹配函数+ _8 {/ F3 o/ l
state.name[pmatch(c('Oh', 'Wy'), state.name)]* c" H, S2 ^2 Q$ L+ ]
例4:yy <- -9:10
- H: W0 J! b6 `9 @" K0 v( nall(yy > 0) #判断所有
+ A) Q* S6 H' u7 Y. Aall(yy > -10)
8 C$ e: E K' M4 p5 L) I0 M( Hany(yy == 0) #判断部分" C( J8 K( H7 b. H- v. a/ ^; q0 S, l
any(yy > 0)) Y% J+ D2 Q) V8 y8 P! m
any(yy < -10)
% w+ \9 ~# v& U$ P- r/ V$ D5 `' K8 M: k# {8 L! O2 `0 _2 q
! h* e8 j& ]. [) n; E
|
zan
|