- 在线时间
- 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。
$ [% {( X0 r( b8 L- w; E+ l例1:seq(10, 20, 0.5)
/ O, ^7 X9 K6 K! y% e ^- W例2:seq(0, by = 0.03, length = 15)9 R+ L! K( ^* Q1 f1 x$ n g
- _& |+ u# c E z0 N; H+ I
2、rep():产生有规律的数列,重复第一个变量若干次。" O7 U5 E: h3 ^/ m8 l
例1:rep(1:3, 1:3). m; x7 p; H& h$ N! C) e
例2:rep(1:3, rep(2, 3))
& n) V5 V/ m' Q9 f5 G6 @例3:rep(1:3, length = 10)5 v. U3 l) `* T3 J
6 N+ J' y1 R. p0 v" `$ h+ G3、向量运算:一般是对应元素之间的运算,所以两个或多个向量运算时,要求它们包含的元素个素相同(或一个是另一个的整数倍)。3 [; V5 _" {4 ~ k: x
例1:a <- 1:3; b <- 4:6; a * b; b^a- h1 W" ?3 S( i- `; B$ w
例2:a <- 1:3; b <- 4:9; a * b; b^a
; ^9 ?1 s: E' a; J/ K1 r3 J/ L' B' p
4、获取向量某一个或多个子集,向量前的负号"-"表示去除相应内容。$ y) A+ E0 R0 c
例1:x <- c(3, 4, 5, 2, 6); x[1:2]; x[-(1:2)]8 F( A0 k. j# J/ u
例2:x <- c(3, 4, 5, 2, 6); x[c(1, 2, 4, 1)]; x[-c(1, 2, 4, 1)]
; J1 l3 L2 I5 Y/ K例3:xx <- seq(1, by = 3, length = 10); xx[xx > 13]9 l4 I* p" @2 t* H% `' v d3 ^& U- v
例4:x <- 1:20; y <- -9:11; x[y > (1)] #注意最后一个是"NA". c" d- H( @+ t# a( }
2 N, M9 o2 b) y' h: r& S
5、主要向量运算函数。) |" Q( w. N* B, T3 \. O( {4 B
例1:xx <- c(2, 6, 10, 8, 4)
5 r/ T' x6 u& |! z; Z! I& xsum(xx) #和8 C$ {9 q! Q+ ~0 V" J* l
max(xx) #最大值( p* ^6 ~1 E7 K n( {$ ^
min(xx) #最小值" b6 D" \8 C& [/ K- B2 n Y
range(xx) #取值范围
* {9 f E6 J, ?* @/ @4 mmean(xx) #平均值
r( u+ ?. l/ C( Uvar(xx) #方差0 R+ B+ J) p, x* Y3 [, O: u4 O) |
sort(xx) #从小到大排序2 r9 D0 l6 \4 d) W7 H
rev(xx) #反排列, 所以从大到小排序应该是rev(sort(xx)), m( s6 d c1 J# g6 b: e
rank(xx) #单元值大小顺序
' l4 |/ H7 g i, b( U& x# ], S+ ]" Rprod(xx) #乘积,所以阶乘是prod(1:n)
3 j# E' W/ i( n% E" j" r. D例2:x <- seq(1, 15, 2)8 ~! w/ T1 M1 F# Z ~1 S
append(x, 20:30, after = 5) #插入数据) @) j4 a9 |$ {0 [# [9 q8 \
append(x, 20:30) #参数after缺省默认从向量的最后插入值
8 f v9 a( K& l1 ^; K- X! J' zreplace(x, c(2, 4, 6), -1) #替换函数
( D+ l" J+ ?( o2 g6 o例3:state.name7 n7 t2 d5 N% N: G/ O
match(c('Ohio', 'Wyoming'), state.name) #完全匹配函数% K7 |4 j4 K$ X1 q( |4 q
pmatch(c('Oh', 'Wy'), state.name) #部分匹配函数
6 a M- t: Q; g. Z$ R) [. C! Lstate.name[pmatch(c('Oh', 'Wy'), state.name)]
8 a8 c! ^9 J% _: t# s$ d3 f6 q例4:yy <- -9:10
5 X9 ]/ |4 a' ?$ o5 oall(yy > 0) #判断所有
( x: u9 Z$ V/ ?# d, {4 c Ball(yy > -10)
$ x' X8 ?% |9 F5 B2 r; gany(yy == 0) #判断部分
$ a u4 t; S/ v" X* B( n Many(yy > 0)7 y5 h3 j* N+ Z! f- H) ~
any(yy < -10)
6 p" U! Y1 M, \: d; ]0 y% o+ d$ X" V. h" W, r3 W& B2 u
6 ~3 N; s! \/ ^ O |
zan
|