- 在线时间
- 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。5 `/ j! D+ ^2 m' a0 W
例1:seq(10, 20, 0.5)) Y4 m% T& O. c
例2:seq(0, by = 0.03, length = 15)% G3 K! s5 ?" ], H/ @
4 s3 M$ d% m2 B2、rep():产生有规律的数列,重复第一个变量若干次。0 M# G# L" T. L: M. y$ L
例1:rep(1:3, 1:3)
+ {9 F4 G9 x) Q2 R$ F' m例2:rep(1:3, rep(2, 3)), {; X' F1 a E) o: ^. H5 s
例3:rep(1:3, length = 10)+ m o. [& Q. o- S" {
" @) ^3 D' `+ V3、向量运算:一般是对应元素之间的运算,所以两个或多个向量运算时,要求它们包含的元素个素相同(或一个是另一个的整数倍)。" O/ b9 y/ Q1 `% w: K4 y. j
例1:a <- 1:3; b <- 4:6; a * b; b^a3 L( A9 W8 g- _: h
例2:a <- 1:3; b <- 4:9; a * b; b^a1 k* ?+ `. P4 D# z& u
2 G, w! S- N h( Z4、获取向量某一个或多个子集,向量前的负号"-"表示去除相应内容。
/ |) K: ]# o+ m: e) X# s例1:x <- c(3, 4, 5, 2, 6); x[1:2]; x[-(1:2)]" A1 n* q/ w+ w5 j- T
例2:x <- c(3, 4, 5, 2, 6); x[c(1, 2, 4, 1)]; x[-c(1, 2, 4, 1)]6 u U- M4 j# z7 a1 ]
例3:xx <- seq(1, by = 3, length = 10); xx[xx > 13]3 }% @! U" S2 v# {: y. n
例4:x <- 1:20; y <- -9:11; x[y > (1)] #注意最后一个是"NA"
+ U' g* N' `2 w3 q0 i1 L3 G% e" O$ E6 G+ `1 p
5、主要向量运算函数。% e6 L1 c& L/ o) y1 H1 J* ?9 h
例1:xx <- c(2, 6, 10, 8, 4)7 |0 i1 Y" { q. y
sum(xx) #和6 o: r/ u b0 F3 E
max(xx) #最大值# z* I6 g7 v( x' n1 T
min(xx) #最小值, ?1 N3 L2 g* B5 R1 @' c3 ^
range(xx) #取值范围
4 x+ F& m- C: O8 D+ v% E& xmean(xx) #平均值' w0 V: K9 j) }2 p
var(xx) #方差
7 c. U) \ k1 i! S+ gsort(xx) #从小到大排序6 [: @# L; u; e, M" {5 F1 m' {
rev(xx) #反排列, 所以从大到小排序应该是rev(sort(xx))
$ c/ R' T" ]/ _ U2 s1 r0 trank(xx) #单元值大小顺序
8 b# A$ o0 a6 p. Z3 ^8 jprod(xx) #乘积,所以阶乘是prod(1:n)0 m u5 ?7 j0 ]. \; H
例2:x <- seq(1, 15, 2)
- J8 O% `' g, x, a$ cappend(x, 20:30, after = 5) #插入数据* l- f6 d/ ?$ A; }
append(x, 20:30) #参数after缺省默认从向量的最后插入值) ]7 g2 I! L( T, [0 }1 e% j
replace(x, c(2, 4, 6), -1) #替换函数
# x( @' P3 j) B例3:state.name
) N o+ N: P# K- d3 Dmatch(c('Ohio', 'Wyoming'), state.name) #完全匹配函数* e+ q$ p6 P6 I5 S8 x
pmatch(c('Oh', 'Wy'), state.name) #部分匹配函数
* E& f1 ]6 F E6 Gstate.name[pmatch(c('Oh', 'Wy'), state.name)]% |8 P0 v9 u, h5 \- ?5 a
例4:yy <- -9:10% n! q; K% B' W$ ?8 ?. _: b
all(yy > 0) #判断所有; u! R1 g1 Q! o( b& L. v1 F0 o; g( C
all(yy > -10) ~5 k2 y# f6 z4 W* \+ W
any(yy == 0) #判断部分
* v& a7 T& M8 I+ a) Oany(yy > 0)- O$ E& I: L; m9 B
any(yy < -10)
# `* ~/ {0 G) U/ T2 b# F4 R [ x0 b. y0 t/ p- X2 u% L
- V! r: x! ?8 }: B( _2 \* O* Y
|
zan
|