- 在线时间
- 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。, d: ~" K; w% V8 N
例1:seq(10, 20, 0.5)
; s0 j; m3 \7 v0 m例2:seq(0, by = 0.03, length = 15)
( ?7 g+ w# R& j# ~ T' m
; x& A4 [, W( q5 `2、rep():产生有规律的数列,重复第一个变量若干次。
6 |2 f5 Q# V- N例1:rep(1:3, 1:3)
0 u& R: I4 Z* r" J* u- T例2:rep(1:3, rep(2, 3))! B( p1 _! m5 D
例3:rep(1:3, length = 10)
) N5 [$ n3 s& d$ X
- Z+ R5 g& {4 i+ M; H/ N3、向量运算:一般是对应元素之间的运算,所以两个或多个向量运算时,要求它们包含的元素个素相同(或一个是另一个的整数倍)。
! Y {) q+ T" M: t5 A7 A! R+ U例1:a <- 1:3; b <- 4:6; a * b; b^a
; u; V, a# w0 H例2:a <- 1:3; b <- 4:9; a * b; b^a
! n! k @! t& L% A( n: m
, Q7 D+ \* v* w0 j# p; ]4、获取向量某一个或多个子集,向量前的负号"-"表示去除相应内容。7 ?5 F& }( U: ?8 g
例1:x <- c(3, 4, 5, 2, 6); x[1:2]; x[-(1:2)]
' s- C- _2 J- A& v# H9 u. C* C例2:x <- c(3, 4, 5, 2, 6); x[c(1, 2, 4, 1)]; x[-c(1, 2, 4, 1)]) A8 \8 f s. O, I$ G/ ~
例3:xx <- seq(1, by = 3, length = 10); xx[xx > 13], p4 P! D2 k$ L: f8 D
例4:x <- 1:20; y <- -9:11; x[y > (1)] #注意最后一个是"NA"" @7 c& {) @/ Q3 L: R: d( t6 y
m0 c) U5 Z4 ~- C5、主要向量运算函数。1 a% U/ [- t/ U( U4 i
例1:xx <- c(2, 6, 10, 8, 4)
! {6 H9 m6 {5 l! Nsum(xx) #和
6 d3 }% }) R8 \- r0 w2 Qmax(xx) #最大值
1 K6 a- U$ S3 t! b& P5 }9 imin(xx) #最小值
- H$ x9 R' T' P0 `, Wrange(xx) #取值范围+ R4 a& w6 P0 K) _7 s; y1 _4 X
mean(xx) #平均值
8 i' N) }6 Z# u6 Z& l& bvar(xx) #方差
& Z! `& ^4 D& E4 ksort(xx) #从小到大排序5 O# |1 V. x% _5 ~
rev(xx) #反排列, 所以从大到小排序应该是rev(sort(xx))* i1 I7 C/ f7 B/ i" i$ `
rank(xx) #单元值大小顺序9 J. r9 ~+ o2 c: S. m+ L
prod(xx) #乘积,所以阶乘是prod(1:n)
/ n7 W. a8 V2 F1 s) [8 E7 R) h" {; C例2:x <- seq(1, 15, 2)+ w/ o6 L l; ^4 A' `; V
append(x, 20:30, after = 5) #插入数据
! A9 r8 i4 e3 N3 h. j% e( T& Bappend(x, 20:30) #参数after缺省默认从向量的最后插入值6 @, p9 ?8 z% W; T
replace(x, c(2, 4, 6), -1) #替换函数
+ ~$ n& J: B, ?. g7 {( W例3:state.name
8 ?6 n& B' L" J7 M7 Mmatch(c('Ohio', 'Wyoming'), state.name) #完全匹配函数% `, H+ ?; Y- k. E( |
pmatch(c('Oh', 'Wy'), state.name) #部分匹配函数
j) e) _) J) k H4 W. @* _3 \" Z. cstate.name[pmatch(c('Oh', 'Wy'), state.name)]+ G0 d, U# C' m! F
例4:yy <- -9:10# C4 M* h! J+ D
all(yy > 0) #判断所有
) C) s4 N& o; d9 D% b# oall(yy > -10)
! ?6 |; d3 t! \ y* h" F4 J& Z/ kany(yy == 0) #判断部分. |) w& R X! n) J0 ?
any(yy > 0)5 F0 y. }6 Y, K& O: v$ r% z
any(yy < -10)" A0 I% }2 i3 U2 \
5 h: u8 J5 P7 U% o: A# D( k4 E0 ^. r# f
|
zan
|