- 在线时间
- 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。. }5 |2 W/ r" V6 u7 n- e; }/ e
例1:seq(10, 20, 0.5)# J) O0 ^3 d2 {! X ^* E! c2 }
例2:seq(0, by = 0.03, length = 15): v# g0 s/ c( k L: E6 B
8 k$ X) p; `6 y' c* c2、rep():产生有规律的数列,重复第一个变量若干次。
2 a4 @$ o3 f6 ]2 D6 P$ h) P% r例1:rep(1:3, 1:3)+ e A) x! r6 W1 q& h: M1 a6 Y
例2:rep(1:3, rep(2, 3))/ g+ d! L2 M; ^1 g6 ?0 R; D
例3:rep(1:3, length = 10)
4 E ]& c+ x- t% |4 y1 k
$ v( B9 k2 o5 c3、向量运算:一般是对应元素之间的运算,所以两个或多个向量运算时,要求它们包含的元素个素相同(或一个是另一个的整数倍)。
1 v I' h, H) h例1:a <- 1:3; b <- 4:6; a * b; b^a3 T" [9 i( O" K' g2 e
例2:a <- 1:3; b <- 4:9; a * b; b^a# ?; g. _2 V- V5 s6 O* `7 `
9 W6 C5 k- ?$ `2 ^+ L4、获取向量某一个或多个子集,向量前的负号"-"表示去除相应内容。* c7 h) r5 U) p$ i3 q" M! _9 ]; `
例1:x <- c(3, 4, 5, 2, 6); x[1:2]; x[-(1:2)]! m$ e9 r: n: T2 F
例2:x <- c(3, 4, 5, 2, 6); x[c(1, 2, 4, 1)]; x[-c(1, 2, 4, 1)]
! g$ T/ l& M2 k例3:xx <- seq(1, by = 3, length = 10); xx[xx > 13]4 X- g: r* a+ D w5 y K! Z* f
例4:x <- 1:20; y <- -9:11; x[y > (1)] #注意最后一个是"NA"
! H" X$ ^: V; n% v8 z# q
$ v* p# a4 q% o$ a5、主要向量运算函数。
, C5 u2 Y( X9 ^, [1 B9 R- g7 _例1:xx <- c(2, 6, 10, 8, 4): r) t% B+ u9 ^8 R+ K+ k
sum(xx) #和% A7 a8 r7 u' A
max(xx) #最大值3 b S: t. s* O0 ~- u( O
min(xx) #最小值
. j! ~3 H( x5 [- @# l1 h- x! v; J# ^range(xx) #取值范围; B5 [ x: n9 y5 N4 I
mean(xx) #平均值
" `3 B/ B0 B0 L, \! l. l& ^. Avar(xx) #方差
$ j: H$ {. h6 ] rsort(xx) #从小到大排序* K! F' u# m( p6 y$ U' x
rev(xx) #反排列, 所以从大到小排序应该是rev(sort(xx))% b; t: w. [2 h. P& {& z8 I
rank(xx) #单元值大小顺序- A% v- r% d" K- Q/ y$ D6 o
prod(xx) #乘积,所以阶乘是prod(1:n)/ k+ v; u# E' k7 O7 C
例2:x <- seq(1, 15, 2)
* ~/ q% E: s" k( b) ?append(x, 20:30, after = 5) #插入数据
% G5 `0 ^7 D% W7 K) J; a" G1 J' Fappend(x, 20:30) #参数after缺省默认从向量的最后插入值
1 v1 a0 A6 |# [+ D% m% {$ Z/ b) c6 oreplace(x, c(2, 4, 6), -1) #替换函数. F/ X7 ^; [5 o* [
例3:state.name
) \6 i4 E- ?: g9 lmatch(c('Ohio', 'Wyoming'), state.name) #完全匹配函数
# M0 a1 R. W: C! dpmatch(c('Oh', 'Wy'), state.name) #部分匹配函数
[/ r& F9 Y; V) l) jstate.name[pmatch(c('Oh', 'Wy'), state.name)]5 e) Y' E! i( [- {% b
例4:yy <- -9:10! q2 ]( [. r: E. L0 L( ` d* C- \
all(yy > 0) #判断所有
, Z- G5 I# t- j, L$ |all(yy > -10)
; V& G2 k* j( j7 jany(yy == 0) #判断部分
2 G7 c/ b" ?3 d+ Zany(yy > 0)
0 g: V& F: |- N( Many(yy < -10)1 `$ `4 i: y/ [3 |) u7 Q6 Y
( ?3 ^2 H: H: F4 V; ?. b5 C
! o( B- w) c o2 C) z5 r |
zan
|