- 在线时间
- 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+ G& e7 g3 m$ I
例1:seq(10, 20, 0.5)# J4 k* o) u' I
例2:seq(0, by = 0.03, length = 15)5 v( x8 ]1 q8 ?
7 a, a% r+ Y5 |" ^. e2、rep():产生有规律的数列,重复第一个变量若干次。' r. j6 T& ]9 ?2 k: X
例1:rep(1:3, 1:3)' [7 M0 E. s: h3 V! M
例2:rep(1:3, rep(2, 3)). L" @- V! }6 C5 C
例3:rep(1:3, length = 10)6 L4 H6 w: ?# B8 H5 n. {
$ Z; g; K1 V- g0 F3 O
3、向量运算:一般是对应元素之间的运算,所以两个或多个向量运算时,要求它们包含的元素个素相同(或一个是另一个的整数倍)。
3 i5 `8 x+ p( `1 a# E% r例1:a <- 1:3; b <- 4:6; a * b; b^a9 F/ r" m6 ^. T1 a0 M) E
例2:a <- 1:3; b <- 4:9; a * b; b^a, Q# V/ l& F: V7 N
7 U; o) j4 R: Q2 V* Y4、获取向量某一个或多个子集,向量前的负号"-"表示去除相应内容。5 E, G3 k! f* y5 F
例1:x <- c(3, 4, 5, 2, 6); x[1:2]; x[-(1:2)]
1 Q' m! L. I+ I2 r. L5 S/ Q0 h& R例2:x <- c(3, 4, 5, 2, 6); x[c(1, 2, 4, 1)]; x[-c(1, 2, 4, 1)]
% v; p+ x: i' i7 Q) E例3:xx <- seq(1, by = 3, length = 10); xx[xx > 13]% X; T6 v4 t$ p; l8 g* m& ?: N
例4:x <- 1:20; y <- -9:11; x[y > (1)] #注意最后一个是"NA"
% D3 Y1 P, F$ v8 J; j0 q4 P/ q. a. `7 s
5、主要向量运算函数。7 x: j3 ~7 @! U+ r( Y6 q H
例1:xx <- c(2, 6, 10, 8, 4)
6 o" y9 H* i H6 Q9 `6 asum(xx) #和2 J# g! R. S' W4 R2 s
max(xx) #最大值
' ^0 N5 u8 \: s, ]( ]* Tmin(xx) #最小值) B* K" F, x2 m1 W- q5 `
range(xx) #取值范围
' |+ d6 ?) H- m+ Zmean(xx) #平均值 h8 P% R4 U I$ K4 P. b
var(xx) #方差: Q! @7 c% a7 o9 L2 i
sort(xx) #从小到大排序- ]) }1 q( A; ]0 N5 w
rev(xx) #反排列, 所以从大到小排序应该是rev(sort(xx))
3 ~/ }. \4 @9 R' d e+ P0 Drank(xx) #单元值大小顺序% y0 x( j0 r5 Q4 c/ a
prod(xx) #乘积,所以阶乘是prod(1:n)
% m3 q; J: L2 R# R7 u7 F例2:x <- seq(1, 15, 2)
' o/ h$ Z. t, g$ E1 E0 dappend(x, 20:30, after = 5) #插入数据2 V$ ~) s/ e! \9 E
append(x, 20:30) #参数after缺省默认从向量的最后插入值& R9 z0 j7 Q4 N, p
replace(x, c(2, 4, 6), -1) #替换函数' o8 k* Y( I! \& T
例3:state.name
0 e8 }: \8 P( x$ I; L; fmatch(c('Ohio', 'Wyoming'), state.name) #完全匹配函数) C. b3 Y+ G, q4 x8 t4 o, s5 D- `
pmatch(c('Oh', 'Wy'), state.name) #部分匹配函数0 X5 H3 R* a4 G ?2 k5 X) ~) d
state.name[pmatch(c('Oh', 'Wy'), state.name)]) s; _7 I) w3 u7 \
例4:yy <- -9:103 b4 R+ S: a1 F1 |) I# s
all(yy > 0) #判断所有
0 Y" i, C" r7 a( m2 Tall(yy > -10)+ h$ e$ q* j# C- r
any(yy == 0) #判断部分
" v) a) b7 g; P* Z8 bany(yy > 0)2 Y6 u( V; h4 ~6 A$ M" l
any(yy < -10)
2 Q! _' a* O+ g% Z) w1 r1 w( k4 y9 H# w8 O
7 Q3 W3 r! n$ P |
zan
|