- 在线时间
- 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 e! m7 L0 E$ v
例1:seq(10, 20, 0.5)
* w6 C. u7 W1 w% ~+ A1 `6 r例2:seq(0, by = 0.03, length = 15)" i- A5 e# ]* B4 S5 r
* Z; q* O! I, v w1 {/ B
2、rep():产生有规律的数列,重复第一个变量若干次。
7 D: z- w! F8 w; K& e& _例1:rep(1:3, 1:3)0 \% x7 w* Y. N
例2:rep(1:3, rep(2, 3))* {7 k5 Z# a: @( u' M$ S
例3:rep(1:3, length = 10)
5 [: `$ h7 k, \1 f+ I! q# N, H; p, m; H* A t1 |* P. y
3、向量运算:一般是对应元素之间的运算,所以两个或多个向量运算时,要求它们包含的元素个素相同(或一个是另一个的整数倍)。! u. q8 m4 R. Z& A- h. G
例1:a <- 1:3; b <- 4:6; a * b; b^a
9 [2 l9 d* r4 ?9 X& |3 o7 L5 G例2:a <- 1:3; b <- 4:9; a * b; b^a' \4 e; r0 k2 ]
6 y X5 z& T! e( \4、获取向量某一个或多个子集,向量前的负号"-"表示去除相应内容。/ _# y a7 L, g# t' L+ |2 J
例1:x <- c(3, 4, 5, 2, 6); x[1:2]; x[-(1:2)]8 u, k5 L# L- S8 [7 F! [+ ~
例2:x <- c(3, 4, 5, 2, 6); x[c(1, 2, 4, 1)]; x[-c(1, 2, 4, 1)]( M0 U2 ^% \. G5 O
例3:xx <- seq(1, by = 3, length = 10); xx[xx > 13]8 ^4 ~) |( K& W
例4:x <- 1:20; y <- -9:11; x[y > (1)] #注意最后一个是"NA"
7 U% I/ j" X! A# `) w% P1 @. U! Z2 N' f2 y
5、主要向量运算函数。
" ^3 X$ k; M% V$ |' J& @4 F例1:xx <- c(2, 6, 10, 8, 4)
& k6 {* O& e' G! e4 {5 y& Xsum(xx) #和
$ b/ H5 P: ^ H; emax(xx) #最大值
5 [/ w7 P; s3 t2 r. ]& Ymin(xx) #最小值
! w0 f* e+ e7 c) hrange(xx) #取值范围
7 q7 p7 V4 x1 mmean(xx) #平均值/ [ { M! y$ a! r) c
var(xx) #方差
) ~! T( F4 [6 w2 @5 y7 Ssort(xx) #从小到大排序
; t/ ]& U5 }/ Q9 v. P; U$ Q; ^rev(xx) #反排列, 所以从大到小排序应该是rev(sort(xx))2 i3 i8 [$ [7 S e8 V# ^5 n ~
rank(xx) #单元值大小顺序7 F$ S2 i: {* T
prod(xx) #乘积,所以阶乘是prod(1:n)8 k6 b* I' p) i& r
例2:x <- seq(1, 15, 2)
, Z+ i3 L4 }' g0 ^append(x, 20:30, after = 5) #插入数据
) e7 b& R9 v2 eappend(x, 20:30) #参数after缺省默认从向量的最后插入值8 a B8 o! e! u) J* Y% J
replace(x, c(2, 4, 6), -1) #替换函数( G/ e! d4 M2 |* I# w
例3:state.name" f; f6 m+ X" o* |! z) z7 w# a
match(c('Ohio', 'Wyoming'), state.name) #完全匹配函数
p# u) V6 h: u8 \: r$ y5 \' q! upmatch(c('Oh', 'Wy'), state.name) #部分匹配函数4 Q. ^. {8 k7 E1 A! F! L9 `6 B
state.name[pmatch(c('Oh', 'Wy'), state.name)]' H6 K/ U2 b4 Q' t9 @3 j
例4:yy <- -9:10
$ o3 C) |; I' P' Tall(yy > 0) #判断所有
" T- e, J% Z, V5 e8 p9 g8 C9 xall(yy > -10)
6 Z" s- }6 C/ r- yany(yy == 0) #判断部分
. [/ L! n& X' t- ]; qany(yy > 0)& H- X$ ]" ?+ Z: X2 X
any(yy < -10)
( x. x/ A4 h U# K, |, Y* r0 S1 h# L
- _" D& [! L/ N! f
|
zan
|