数学建模社区-数学中国
标题:
R语言入门基础之数组和列表
[打印本页]
作者:
数模天下
时间:
2012-12-24 14:04
标题:
R语言入门基础之数组和列表
数组(array)
一维数据是向量,二维数据是矩阵,数组是向量和矩阵的直接推广,是由三维或三维以上的数据构成的.
2 u) E# F. }1 `1 `2 b% ~6 M
数组函数是array(),语法是:array(dadta, dim),其中data必须是同一类型的数据,dim是各维的长度组成的向量。
- F) J6 K$ h: T( P* v
1、产生一个三维和四维数组。
2 X+ d& @0 g; k. ?
例1:xx <- array(1:24, c(3, 4, 2)) #一个三维数组
; b0 I: `) {% N+ ~
例2:yy <- array(1:36, c(2, 3, 3, 2)) #一个四维数组
9 a& n1 f1 I: X% j2 [' |6 u
' W* N3 H6 o4 l# s
2、dim()函数可将向量转化成数组或矩阵。
& d R* w" q( x4 _; o% N
例1:xx <- 1:24; dim(xx) <- c(3, 4, 2); xx #效果同array(1:24, c(3, 4, 2))
+ D. R0 K" R2 n- h# X/ u2 X; }* |
例2:zz <- 1:10; dim(zz) <- c(2, 5); zz #效果同matrix(1:10, 2, 5)
" s/ Q' L4 b9 X2 z5 q
/ k1 k9 ]8 `& N9 s- p
列表(list)
2 u' I8 F. N7 }
向量、矩阵和数组的元素必须是同一类型的数据。一个数据对象需要包含不同的数据类型,它可以采用列表这种形式。
% ~4 d, m* g: O, t& h/ C4 x2 U$ ~! x
创建列表可用list()函数,语法是:list(name1 = component1, name2 = component2, ...)。
8 J% A S2 n n. l+ i' T; }
1、创建一个列表
& j( ]! M* Z; K
例1: xx <- rep(1:2, 3:4)
! y: o2 c) E8 V. s' n( u9 n' A
yy <- c('Mr A', 'Mr B', 'Mr C', 'Mr D', 'Mr E', 'Mr D', 'Mr F')
8 v- _' F' s( {! o; K8 E6 [% p' ?* w
zz <- 'discussion group'
3 X2 t/ u' T: ]$ c/ ]. y
name.list <- list(group = xx, name = yy, decription = zz) #创建了一个名为"name.list"的列表
! J! k! T% J% ]2 u! l9 n
name.list$n[name.list$g == 2]
# h+ D) l+ @9 g5 {. H
length(name.list)
% K; x' ~0 {% p! }* E7 o! ]
mode(name.list)
: e, J8 ]3 o f( k2 {9 e
names(name.list)
1 l, E3 S1 ?% w, E6 \
; ^% K! ]" x0 e0 e2 W4 h; g; h
欢迎光临 数学建模社区-数学中国 (http://www.madio.net/)
Powered by Discuz! X2.5