- 在线时间
- 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。% g; E7 Z: ]! D* { E, C( z- F
例1:seq(10, 20, 0.5)
3 U( W; a# y7 ~6 O例2:seq(0, by = 0.03, length = 15)6 ~6 j. k6 G0 |) Z
0 E+ c9 D* D9 S# i a+ g0 T4 P( W0 u* M+ Z2、rep():产生有规律的数列,重复第一个变量若干次。
2 r W& h- g& L( t例1:rep(1:3, 1:3)
1 `) s( K% m6 U+ D9 G; C. Z; A例2:rep(1:3, rep(2, 3))
7 b' f3 U* d2 H. S4 G M例3:rep(1:3, length = 10)* O; }4 n% a _9 g8 ]% L& F% c7 _
( b3 [/ T7 h) y% |3 j- o3、向量运算:一般是对应元素之间的运算,所以两个或多个向量运算时,要求它们包含的元素个素相同(或一个是另一个的整数倍)。 T# l7 J' u1 B
例1:a <- 1:3; b <- 4:6; a * b; b^a+ S( T3 {! i- `
例2:a <- 1:3; b <- 4:9; a * b; b^a' O: u0 ^, b; l2 y
0 e" M8 |* r& d/ E/ h: l
4、获取向量某一个或多个子集,向量前的负号"-"表示去除相应内容。
: `$ W" O6 {6 @例1:x <- c(3, 4, 5, 2, 6); x[1:2]; x[-(1:2)]
! P$ s% `- H5 S2 g: K例2:x <- c(3, 4, 5, 2, 6); x[c(1, 2, 4, 1)]; x[-c(1, 2, 4, 1)]. O: _, x& Y$ r
例3:xx <- seq(1, by = 3, length = 10); xx[xx > 13]1 E& [4 ^. z7 \6 g+ L
例4:x <- 1:20; y <- -9:11; x[y > (1)] #注意最后一个是"NA"
* E' }; L5 ^! `+ ^; X
* _8 N! X! p- M! I5 \/ p5、主要向量运算函数。
2 m7 P2 R' \9 j/ y2 T* J例1:xx <- c(2, 6, 10, 8, 4)
% B x3 D6 G8 X1 R1 U' Isum(xx) #和
/ H; Y) s) K2 @ N; @ L2 bmax(xx) #最大值
9 p, a- E" [' Z. Zmin(xx) #最小值# k- q) I8 r1 c0 q J6 S c+ l
range(xx) #取值范围
. G, W: o& a! g! B2 e) `) {, ymean(xx) #平均值
& f* J7 m% l* s- w; @var(xx) #方差
# H# H9 X9 d' F7 I3 {sort(xx) #从小到大排序
2 U" k, }9 d8 ]1 \6 ^+ Prev(xx) #反排列, 所以从大到小排序应该是rev(sort(xx))
x9 o" [2 v( z G3 a- hrank(xx) #单元值大小顺序+ f, N1 [6 Y! \ U. y. R+ Q
prod(xx) #乘积,所以阶乘是prod(1:n)1 K- }: ?; E* c! }/ U9 \
例2:x <- seq(1, 15, 2)
( L0 A9 `1 ?- a l, p% }) y+ \* Y# Jappend(x, 20:30, after = 5) #插入数据7 D1 }2 `' l0 {# d; j
append(x, 20:30) #参数after缺省默认从向量的最后插入值& u7 K: n- V1 J8 e/ C W
replace(x, c(2, 4, 6), -1) #替换函数
& {1 T3 N+ l/ v- P" J例3:state.name2 u+ U' {- q( D4 o4 x' ]7 ?
match(c('Ohio', 'Wyoming'), state.name) #完全匹配函数
: C" U$ p" Q- \" K$ |pmatch(c('Oh', 'Wy'), state.name) #部分匹配函数
# O- n* o# ~# l& U6 X( P2 Y8 @state.name[pmatch(c('Oh', 'Wy'), state.name)]* b. H! s+ g6 {: C' v- q
例4:yy <- -9:10
j$ u8 L. U$ K. }all(yy > 0) #判断所有; G9 b* Y) T8 Y1 m4 p7 X0 P, l7 [
all(yy > -10)
4 @7 ~5 G: | {8 ^# g( Aany(yy == 0) #判断部分
. S2 m) g o7 R' `any(yy > 0)
+ p2 G3 K7 @0 c( ]any(yy < -10)" O7 B1 z. p* z, @9 o0 Z
3 F" a- v+ b/ P# `2 M3 B6 A( l
# g. ^8 z# v/ ~& Y |
zan
|