- 在线时间
- 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。7 ?! O* }! g. q' L3 s
例1:seq(10, 20, 0.5); \9 ^" }: n0 u0 d1 H$ p) X2 ~
例2:seq(0, by = 0.03, length = 15)7 L# i; y9 T7 [& F! t' M- i
( E% }: t! ]0 M) K+ g! J1 _2、rep():产生有规律的数列,重复第一个变量若干次。
2 x# i. _5 i+ {( _6 L例1:rep(1:3, 1:3)
+ |$ ]! J% _5 E5 W例2:rep(1:3, rep(2, 3)); o, ^" j% a0 [, o! `
例3:rep(1:3, length = 10)
7 T" c& [) n. ]3 y9 Q; F C
4 j# M! r! Z1 v [3、向量运算:一般是对应元素之间的运算,所以两个或多个向量运算时,要求它们包含的元素个素相同(或一个是另一个的整数倍)。
% Z6 V% k8 X$ ?7 N" a, h8 a' k例1:a <- 1:3; b <- 4:6; a * b; b^a+ e1 D9 c/ w0 G7 j8 j$ @. Z
例2:a <- 1:3; b <- 4:9; a * b; b^a
: h' ^5 E K5 ?& {: Y* \9 C8 ^7 B2 {3 ]3 v# @
4、获取向量某一个或多个子集,向量前的负号"-"表示去除相应内容。
. z6 a( H% n7 O7 `! B' P6 Q5 u例1:x <- c(3, 4, 5, 2, 6); x[1:2]; x[-(1:2)], @; I; v% u; D+ t0 m$ c G
例2:x <- c(3, 4, 5, 2, 6); x[c(1, 2, 4, 1)]; x[-c(1, 2, 4, 1)]
9 s/ X8 C# h7 y3 ?例3:xx <- seq(1, by = 3, length = 10); xx[xx > 13]
D) z3 d( |; U0 L0 L' |例4:x <- 1:20; y <- -9:11; x[y > (1)] #注意最后一个是"NA"
: w4 n" {# H$ `" P. F+ r1 A: f o! V& l
5、主要向量运算函数。
! V# m1 A! L4 P5 G例1:xx <- c(2, 6, 10, 8, 4)6 t8 r9 C7 c: A! n. A7 d2 M
sum(xx) #和
3 s, e& \7 c6 y& R Smax(xx) #最大值& k# A$ s7 k% `4 y" |* ]" S2 }
min(xx) #最小值7 O2 k |6 \' t7 ]; G8 ~
range(xx) #取值范围! y# |6 y( M& W9 b
mean(xx) #平均值: ~' B2 r) x" y y& ?/ w: C
var(xx) #方差
! c0 `- _$ S7 W, f* l& Q% r) f) Ssort(xx) #从小到大排序
& l- P' G/ @/ |& [; q, srev(xx) #反排列, 所以从大到小排序应该是rev(sort(xx))* U9 ?; E- P0 [4 x. V5 y) Z3 y
rank(xx) #单元值大小顺序
2 Y( `; L) L5 g I/ fprod(xx) #乘积,所以阶乘是prod(1:n)) H3 }, L, r4 w
例2:x <- seq(1, 15, 2)! L1 I, r W) Z+ p: d
append(x, 20:30, after = 5) #插入数据 f0 K# v- D; }
append(x, 20:30) #参数after缺省默认从向量的最后插入值* S. R3 k9 f C' t: ]# W& @
replace(x, c(2, 4, 6), -1) #替换函数2 L7 J: F T1 [/ @/ L
例3:state.name5 e7 ~. }: A. [
match(c('Ohio', 'Wyoming'), state.name) #完全匹配函数& k$ k% `0 |( J2 Q! n Q
pmatch(c('Oh', 'Wy'), state.name) #部分匹配函数5 O4 y: s. _4 [" s3 Y. [
state.name[pmatch(c('Oh', 'Wy'), state.name)]
1 J: b' `( a5 j) ]% r$ {例4:yy <- -9:10
! Y: g) k% A# o1 M: Nall(yy > 0) #判断所有
' h5 E- ?9 N8 o, H& v# kall(yy > -10)
# C$ N' y: Z( @3 ]any(yy == 0) #判断部分
' T1 q. {. T, _any(yy > 0). w( L# c) s# Z8 z/ [6 I' Z* T
any(yy < -10)
/ R* c Z% A/ _/ G" N, s8 W6 X4 b3 m$ R
% l0 X4 a( r0 y1 F
|
zan
|