- 在线时间
- 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。
+ } p' p8 I d( ?例1:seq(10, 20, 0.5)% U* [# R1 R/ ?4 s2 U
例2:seq(0, by = 0.03, length = 15): r9 ~0 V. F( l& R+ p8 c
! R7 V$ Q# S, B7 U# S
2、rep():产生有规律的数列,重复第一个变量若干次。
8 g$ f& C- x3 U* N* x4 c例1:rep(1:3, 1:3)3 E7 T& O. D4 p1 Z" v. v: {( c
例2:rep(1:3, rep(2, 3))$ t5 ~( [7 ~( s
例3:rep(1:3, length = 10)6 G, N" J9 W4 u6 D/ d
+ U/ L4 y1 B* P4 H) x& e% N& T3、向量运算:一般是对应元素之间的运算,所以两个或多个向量运算时,要求它们包含的元素个素相同(或一个是另一个的整数倍)。7 v9 `# o* y3 o. m4 j( P& \$ f
例1:a <- 1:3; b <- 4:6; a * b; b^a
/ W- B1 |0 L- B5 _# l: x9 E例2:a <- 1:3; b <- 4:9; a * b; b^a
7 v% t+ v% Z7 |3 k& O8 ]) o
+ L3 @) W8 L, ~4、获取向量某一个或多个子集,向量前的负号"-"表示去除相应内容。, }7 p3 e2 B* t+ c
例1:x <- c(3, 4, 5, 2, 6); x[1:2]; x[-(1:2)]( @, w. M' D6 d8 J9 F1 R( e0 a
例2:x <- c(3, 4, 5, 2, 6); x[c(1, 2, 4, 1)]; x[-c(1, 2, 4, 1)]6 d( b4 B! Y$ F/ j# Z% L' M
例3:xx <- seq(1, by = 3, length = 10); xx[xx > 13]
m5 u* ~/ o$ y+ W, O. k4 ~例4:x <- 1:20; y <- -9:11; x[y > (1)] #注意最后一个是"NA"
% S: k* O; ~' X- o: Y& ]- q# a) ?) E3 G ]9 a. B( q3 F
5、主要向量运算函数。4 S# {: N% H' [% X2 W* |+ |
例1:xx <- c(2, 6, 10, 8, 4)2 F' m+ P- O2 E6 Q! \ p( C
sum(xx) #和7 x4 m; y5 v/ ]
max(xx) #最大值
( C. _8 d: H$ {8 ]0 T2 f; _- emin(xx) #最小值0 }- {1 s" A7 L
range(xx) #取值范围8 O" x6 Z% a! S6 K4 g$ f
mean(xx) #平均值2 i6 [9 J. T7 y* }8 Q h; x
var(xx) #方差
5 x( T9 ~! P1 R# [2 l" a% I. P7 Xsort(xx) #从小到大排序0 k0 }) Z* C* l: o
rev(xx) #反排列, 所以从大到小排序应该是rev(sort(xx))
+ q3 u+ p+ h0 b& O1 |rank(xx) #单元值大小顺序
& D) {: K* ^9 L) F" y) Rprod(xx) #乘积,所以阶乘是prod(1:n)
; G! w- A0 c' V: y2 F0 U6 X+ I例2:x <- seq(1, 15, 2)6 D0 e8 T# A# V) \7 }
append(x, 20:30, after = 5) #插入数据2 ?- F# i @4 q0 a% t* X
append(x, 20:30) #参数after缺省默认从向量的最后插入值! W5 R7 [4 ^; Q3 a4 |
replace(x, c(2, 4, 6), -1) #替换函数
% m C" _( u* K& _; V例3:state.name
# G" \& F" q8 dmatch(c('Ohio', 'Wyoming'), state.name) #完全匹配函数
3 _2 b7 s8 t4 \: S8 dpmatch(c('Oh', 'Wy'), state.name) #部分匹配函数
. J! c* d. h, b/ t" ~2 [state.name[pmatch(c('Oh', 'Wy'), state.name)]. T5 c. B& v7 r0 R/ {! ~6 u
例4:yy <- -9:10
. K' I# {7 m) h+ J" oall(yy > 0) #判断所有' c, R |: L2 Z. B2 M
all(yy > -10)
8 [1 g% k1 P8 Q, Many(yy == 0) #判断部分$ J9 j: I. J; F0 I( Y+ H
any(yy > 0)* \% T( o$ H$ T4 {2 K& S9 @
any(yy < -10)
: B% ^3 I9 C* L+ X5 M3 @* K$ `+ J3 E! r# W3 n. d, n( i4 B' \4 y
3 X3 ^: ^2 V+ j5 t0 y
|
zan
|