- 在线时间
- 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。) F* p1 r7 b6 h$ F5 L
例1:seq(10, 20, 0.5)- ^' O! R& @4 ` A' C1 C& r' w
例2:seq(0, by = 0.03, length = 15)
I4 [. A( x+ a0 a1 w+ T
. R, r* ]% R L; s+ s2、rep():产生有规律的数列,重复第一个变量若干次。 O7 ^4 U7 ^) a
例1:rep(1:3, 1:3)
/ y; ?6 A9 W5 k2 S6 f例2:rep(1:3, rep(2, 3))
5 F q4 s0 B9 @7 x1 d例3:rep(1:3, length = 10): D& H) u; o2 P: l% u* |' o
$ F4 g5 M6 v) {; p4 N; Y( q3、向量运算:一般是对应元素之间的运算,所以两个或多个向量运算时,要求它们包含的元素个素相同(或一个是另一个的整数倍)。
' T# R/ P' }) J. [1 b' k( R例1:a <- 1:3; b <- 4:6; a * b; b^a
; S0 g( k* ~$ q: c例2:a <- 1:3; b <- 4:9; a * b; b^a
3 F5 W5 O4 e/ I' g3 |% } l& M# L) M3 ]7 ~/ n" ?; I
4、获取向量某一个或多个子集,向量前的负号"-"表示去除相应内容。
/ l/ I, _+ H) V; `6 X, _/ ~例1:x <- c(3, 4, 5, 2, 6); x[1:2]; x[-(1:2)]
6 ^+ Q; k+ o9 o8 o. k8 Y8 M例2:x <- c(3, 4, 5, 2, 6); x[c(1, 2, 4, 1)]; x[-c(1, 2, 4, 1)]
; F. U. j! n- J. Y' }: o9 G例3:xx <- seq(1, by = 3, length = 10); xx[xx > 13]
$ S0 G9 ]4 Z3 N4 {7 \$ z! w例4:x <- 1:20; y <- -9:11; x[y > (1)] #注意最后一个是"NA"
5 ]4 `5 B1 w" e; _! }; i- q) C. U( y! R# h3 [
5、主要向量运算函数。; n2 d5 x- y$ L! b
例1:xx <- c(2, 6, 10, 8, 4). O# f1 F" n; G2 ~: i
sum(xx) #和
3 Q; ?/ _# L+ R5 v; ?0 o% R" K) wmax(xx) #最大值
. b9 i: J) r U! Y% O$ F$ Cmin(xx) #最小值( P4 B9 x" h' [7 b# U3 v' n5 d
range(xx) #取值范围+ a4 J& K& _4 L R, ^
mean(xx) #平均值
: p/ ?* r9 r6 @ hvar(xx) #方差
8 C- K* ]) e3 M& r( M" \/ Asort(xx) #从小到大排序
# }- D" O# n0 w" U4 L7 grev(xx) #反排列, 所以从大到小排序应该是rev(sort(xx))
1 ?8 i+ i' s: I8 A2 mrank(xx) #单元值大小顺序* M5 G. }& C, t7 G9 |
prod(xx) #乘积,所以阶乘是prod(1:n)
$ y+ o. ~- o# [& q2 s! A2 b例2:x <- seq(1, 15, 2)' G( \3 Q# `1 K* z& A* G
append(x, 20:30, after = 5) #插入数据4 d5 _% R! z/ K) s; m
append(x, 20:30) #参数after缺省默认从向量的最后插入值
$ P" z8 y! U( o& j' D0 Mreplace(x, c(2, 4, 6), -1) #替换函数
# \* ]# ^/ u! C; x# P; Q例3:state.name
7 ~- m9 P/ K5 ~3 h7 D5 @match(c('Ohio', 'Wyoming'), state.name) #完全匹配函数 e0 j# h4 [/ h0 L
pmatch(c('Oh', 'Wy'), state.name) #部分匹配函数9 |: t, t: ~) j2 U. h4 f4 @
state.name[pmatch(c('Oh', 'Wy'), state.name)]
% M' ~8 {0 i9 |6 h/ l" m例4:yy <- -9:10* g' @. j9 G/ j7 P0 G
all(yy > 0) #判断所有# ?$ c# _( ~1 ]: T
all(yy > -10)& y, P) E1 G) Q! N& F4 M! ^" W
any(yy == 0) #判断部分
& K, t& y4 N$ h! n0 n; |7 xany(yy > 0)* [' z" t, t5 t- W3 @8 a* S
any(yy < -10)6 J) b9 C3 o) J0 T! |
5 z* c8 h8 q5 ~6 N* V
# }) s* O @7 z |
zan
|