- 在线时间
- 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。) e, C9 Y* U0 |5 U5 ^$ ]" [
例1:seq(10, 20, 0.5)5 Y3 y9 Y0 F/ E- U* Q
例2:seq(0, by = 0.03, length = 15)
- Y- Y* \0 ?: ]
$ J; G" m% B; J/ Q& \: G2、rep():产生有规律的数列,重复第一个变量若干次。- t! J2 L2 f+ I8 E* q: K/ j, J* L& m
例1:rep(1:3, 1:3)
/ k( S7 l" ~" g! `. S+ ^例2:rep(1:3, rep(2, 3)) x. S$ j, k2 \
例3:rep(1:3, length = 10)
7 {* \, R, {) o: I; S$ h2 X9 d* s7 A4 _' Z3 ^2 [ v
3、向量运算:一般是对应元素之间的运算,所以两个或多个向量运算时,要求它们包含的元素个素相同(或一个是另一个的整数倍)。# y3 @( {1 ~( T6 B. }6 q
例1:a <- 1:3; b <- 4:6; a * b; b^a
( Z! x1 F- ^' V; {, S: o4 G例2:a <- 1:3; b <- 4:9; a * b; b^a
% K/ U& R3 H! m2 K
5 `9 [$ }* X- c& H/ S! U/ f4、获取向量某一个或多个子集,向量前的负号"-"表示去除相应内容。; J' |, p% h' [' Z1 Z6 C
例1:x <- c(3, 4, 5, 2, 6); x[1:2]; x[-(1:2)]; P1 b& u/ }; r& `. V5 L7 a
例2:x <- c(3, 4, 5, 2, 6); x[c(1, 2, 4, 1)]; x[-c(1, 2, 4, 1)]
& G5 N( y. r- s5 @* N例3:xx <- seq(1, by = 3, length = 10); xx[xx > 13]$ u7 x' z3 E3 N
例4:x <- 1:20; y <- -9:11; x[y > (1)] #注意最后一个是"NA"
. [: d C& H0 S0 ^& j5 |
1 F Q, o8 x# h$ f* I! N# M5、主要向量运算函数。
- K, V5 Q* x* [9 R例1:xx <- c(2, 6, 10, 8, 4)6 G2 ^! J( y" x3 z. L
sum(xx) #和
( `; n" `" R( b$ v6 X: d) Rmax(xx) #最大值
6 {; P9 U- o5 b3 T3 h( a% Omin(xx) #最小值; ] G/ B. E( h: R: e% Q
range(xx) #取值范围: i; E4 J+ A8 S
mean(xx) #平均值
8 K5 m6 ]2 e: F& N4 Q2 E$ |8 Rvar(xx) #方差
. R6 z$ J- R. M, ~sort(xx) #从小到大排序
/ H; _5 Q. h# g/ s# _5 frev(xx) #反排列, 所以从大到小排序应该是rev(sort(xx))
' S3 R: h; @9 `6 srank(xx) #单元值大小顺序$ I" D* @9 o' b, s! O
prod(xx) #乘积,所以阶乘是prod(1:n)
# R) E! @, h r1 E( c8 @$ J例2:x <- seq(1, 15, 2)6 T0 ?! N) a# B) u. n3 w( z; K0 M7 R
append(x, 20:30, after = 5) #插入数据0 a; }" e% R5 _9 M
append(x, 20:30) #参数after缺省默认从向量的最后插入值& S; f3 t5 R% W! a* |3 g
replace(x, c(2, 4, 6), -1) #替换函数( F, C* q' S) b' j( A* F @
例3:state.name4 \# S$ T6 Y5 Z" O5 ]
match(c('Ohio', 'Wyoming'), state.name) #完全匹配函数$ K5 b4 {8 G' b, U. I
pmatch(c('Oh', 'Wy'), state.name) #部分匹配函数
7 ?5 R- S- i7 V- }state.name[pmatch(c('Oh', 'Wy'), state.name)]7 ^+ P: A1 O5 A' Z( a( }" S: V- m
例4:yy <- -9:10$ ?# v. s, g: }6 S ^# e3 e" p
all(yy > 0) #判断所有
" F* V* [; T; Q1 ^all(yy > -10)
& Q1 `0 u0 V& G& ] Zany(yy == 0) #判断部分
6 g" H) ^2 U S3 [) Dany(yy > 0)1 Q4 z+ h7 }# t6 v. u5 Y
any(yy < -10)
8 l) [9 Y7 r4 }$ x+ f" L( w
9 D8 x- h B/ h5 T% q# e6 p; S2 Z2 u0 i( k% b" R( v
|
zan
|