数学建模社区-数学中国
标题:
R语言入门——向量
[打印本页]
作者:
数模天下
时间:
2012-12-24 14:05
标题:
R语言入门——向量
向量(vector)
1、seq():产生有规律的数列,间距省略时默认值为1。
9 n$ E, W% P2 t7 m& O7 R/ k
例1:seq(10, 20, 0.5)
4 s( J4 X$ \) r* a! M7 L( K; P
例2:seq(0, by = 0.03, length = 15)
1 [5 {( p f j# p+ s
+ ^; s/ ]! E0 n4 s
2、rep():产生有规律的数列,重复第一个变量若干次。
- \5 b/ F1 ~+ h" n6 Y! R- j
例1:rep(1:3, 1:3)
6 L$ j+ \/ s5 }
例2:rep(1:3, rep(2, 3))
) l$ O' O* z" F6 V& a
例3:rep(1:3, length = 10)
, B4 N( ?; _3 q) m6 l4 s
; X E( T V8 J3 P/ x! {
3、向量运算:一般是对应元素之间的运算,所以两个或多个向量运算时,要求它们包含的元素个素相同(或一个是另一个的整数倍)。
! d! F. o6 Z6 V: T4 {3 J- Z
例1:a <- 1:3; b <- 4:6; a * b; b^a
: i n7 M7 n6 [, W; v9 z" i; g- u
例2:a <- 1:3; b <- 4:9; a * b; b^a
: j9 U) U9 q, a) ?
. X7 z( l" e P
4、获取向量某一个或多个子集,向量前的负号"-"表示去除相应内容。
. J6 { @. ?) K% F! ]
例1:x <- c(3, 4, 5, 2, 6); x[1:2]; x[-(1:2)]
# _+ b( A3 U" ^, o) _, q, L
例2:x <- c(3, 4, 5, 2, 6); x[c(1, 2, 4, 1)]; x[-c(1, 2, 4, 1)]
* c% g+ @' v; C/ |9 u* a1 o
例3:xx <- seq(1, by = 3, length = 10); xx[xx > 13]
/ q' C% x5 N; u! C4 N# w% x
例4:x <- 1:20; y <- -9:11; x[y > (1)] #注意最后一个是"NA"
" }' P2 b" t( H. F9 C# A0 g6 ?7 v
* B2 I4 Y2 p; k1 J
5、主要向量运算函数。
/ ~# d2 c j8 c- R/ F' p
例1:xx <- c(2, 6, 10, 8, 4)
- `7 h4 D7 A" v. e- C1 Z
sum(xx) #和
* D L& L1 |/ ^/ H
max(xx) #最大值
, [) I2 S8 c% e2 p; R3 K' `) [
min(xx) #最小值
+ u1 T" K1 G9 G+ S& c5 {
range(xx) #取值范围
9 S, O) t( o: v. v. E
mean(xx) #平均值
$ w4 K' n q6 j) L
var(xx) #方差
% i: t% t/ {2 L6 O" t
sort(xx) #从小到大排序
4 k' n4 i# H2 @8 R4 e
rev(xx) #反排列, 所以从大到小排序应该是rev(sort(xx))
; r1 A7 `5 v, L9 z
rank(xx) #单元值大小顺序
1 b$ d9 N# b9 v
prod(xx) #乘积,所以阶乘是prod(1:n)
5 h+ |* M& Z0 D& A1 {
例2:x <- seq(1, 15, 2)
+ l% R" t1 U' ~/ v
append(x, 20:30, after = 5) #插入数据
, q2 o! B! w- N# F) `. H" t
append(x, 20:30) #参数after缺省默认从向量的最后插入值
$ O. n3 w* `; B9 {% I0 y7 ?
replace(x, c(2, 4, 6), -1) #替换函数
" f* F! ?7 g b. b
例3:state.name
) W' e* i* U: @! d# k! b6 S( \
match(c('Ohio', 'Wyoming'), state.name) #完全匹配函数
6 }/ V* L/ ?+ N3 w: L
pmatch(c('Oh', 'Wy'), state.name) #部分匹配函数
$ h& W/ v1 H% j
state.name[pmatch(c('Oh', 'Wy'), state.name)]
6 \. A# V( T/ i# x) e$ b4 z
例4:yy <- -9:10
4 Z: q0 k7 |$ f9 ^: E: ?
all(yy > 0) #判断所有
, }+ O% U! a6 S5 n5 g
all(yy > -10)
% N' N; B' O$ q" t
any(yy == 0) #判断部分
! |5 F" a' t3 o1 M
any(yy > 0)
- m! I1 O) n) J, `
any(yy < -10)
- E. `( U( l3 M; l/ Y9 S5 `
/ G! C( Y" U1 M
& U; Q0 i% ~7 J z
作者:
winxblast
时间:
2013-1-31 11:28
好像看的人不多~
作者:
度过无风
时间:
2013-4-28 07:34
不错噢噢噢噢噢噢噢噢噢噢噢噢噢噢噢噢
作者:
maybelu9
时间:
2013-6-9 20:40
学到了
作者:
空木葬花
时间:
2014-3-4 18:20
非常感谢楼主的福利!
作者:
mvmmvmmvm
时间:
2014-6-6 12:01
这个用的不是很多吧,尤其是做数据分析的时候,一半数据都是存在数据文件里,而不是通过向量调用
作者:
添添向善
时间:
2014-7-14 10:33
不错啊,楼主继续啊!!!支持你!
欢迎光临 数学建模社区-数学中国 (http://www.madio.net/)
Powered by Discuz! X2.5