- 在线时间
- 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。8 ~( Y% `5 z4 Q. O% `1 i2 K X
例1:seq(10, 20, 0.5)
$ w3 _8 b, s) c: E7 z6 A! N* j例2:seq(0, by = 0.03, length = 15)4 \. c9 f7 S& \% e3 }: {. l! R
4 T: j2 w; u. w3 \
2、rep():产生有规律的数列,重复第一个变量若干次。
& N) b. j5 K2 i* I1 K- Q# V3 D例1:rep(1:3, 1:3)4 l# Q, d( Y( W3 @( ^/ E- H8 a
例2:rep(1:3, rep(2, 3))* C7 Q" Y% a" L# \; l
例3:rep(1:3, length = 10)8 p# p; m1 B# Z1 P8 K1 e* Q
+ o8 u9 X/ Z9 ?" D& t$ s8 A
3、向量运算:一般是对应元素之间的运算,所以两个或多个向量运算时,要求它们包含的元素个素相同(或一个是另一个的整数倍)。 _+ h# y' z V+ v) \$ K
例1:a <- 1:3; b <- 4:6; a * b; b^a( E/ C. ^3 ^: [6 c
例2:a <- 1:3; b <- 4:9; a * b; b^a v' ?) J( I% K* b) {' Y3 |6 f/ m
3 i$ r ?* R& K4 K. E
4、获取向量某一个或多个子集,向量前的负号"-"表示去除相应内容。
% P6 S2 v2 V- T0 t; N: T2 _2 j例1:x <- c(3, 4, 5, 2, 6); x[1:2]; x[-(1:2)] E- Q8 q0 l+ f
例2:x <- c(3, 4, 5, 2, 6); x[c(1, 2, 4, 1)]; x[-c(1, 2, 4, 1)]. V' [; B) ~+ G% I1 H
例3:xx <- seq(1, by = 3, length = 10); xx[xx > 13]
6 I' p$ P4 I$ M例4:x <- 1:20; y <- -9:11; x[y > (1)] #注意最后一个是"NA"
- t& a& q2 l, n4 |0 a7 ]6 ?0 ~" a# [) N2 r* P' b- t7 B; |
5、主要向量运算函数。
$ a; F9 d/ Q4 j5 I) c& H) p例1:xx <- c(2, 6, 10, 8, 4); @" \, E3 \" |
sum(xx) #和* ^* ^! A8 P4 p' R; Y8 e$ V
max(xx) #最大值4 y: Z% x* \/ U" V# J. s
min(xx) #最小值& d8 a; A$ c6 X/ w4 Z d# U5 ]
range(xx) #取值范围) ?( K. D* j( g0 b
mean(xx) #平均值
# ]7 l& M; ~; D. m5 S' [6 \- Uvar(xx) #方差7 @! T# C' w, n, \: e+ _
sort(xx) #从小到大排序
. ~3 D3 z9 |( E; Q( yrev(xx) #反排列, 所以从大到小排序应该是rev(sort(xx))
& X9 B% X& I; f* N1 y Yrank(xx) #单元值大小顺序6 [) q. d/ c+ _ q9 {1 c
prod(xx) #乘积,所以阶乘是prod(1:n)' H {: P5 Y, _5 h6 b( i1 o
例2:x <- seq(1, 15, 2)
1 \: @0 R8 {% V; D( {! eappend(x, 20:30, after = 5) #插入数据6 N$ k8 [- T' h; i2 N) \) g+ m
append(x, 20:30) #参数after缺省默认从向量的最后插入值) T' e! d8 i9 R( j
replace(x, c(2, 4, 6), -1) #替换函数
0 |# ~$ Y: o( j例3:state.name
9 n9 r/ r \9 w O( v! _4 w# umatch(c('Ohio', 'Wyoming'), state.name) #完全匹配函数' Z- n, L& I- h1 }7 s
pmatch(c('Oh', 'Wy'), state.name) #部分匹配函数
& |2 t( k: M. O8 K7 R) |state.name[pmatch(c('Oh', 'Wy'), state.name)]* |& n& N J$ r
例4:yy <- -9:10
; h* d$ D( a7 M6 a5 Z% Qall(yy > 0) #判断所有0 u3 l! M# A1 A1 u
all(yy > -10)
+ m2 D& C! _) Cany(yy == 0) #判断部分; ~3 Z' b r, }& R
any(yy > 0); m4 H2 p+ `5 D0 V0 t; F% Q" L
any(yy < -10)# H# Z6 x1 Z1 B! W$ ?; d
5 o% R- {# S. n7 R. o# ]2 P3 w. Z( N
) F: ?$ {) b7 ]/ n0 N
|
zan
|