数学建模社区-数学中国
标题:
R语言入门基础之数组和列表
[打印本页]
作者:
数模天下
时间:
2012-12-24 14:04
标题:
R语言入门基础之数组和列表
数组(array)
一维数据是向量,二维数据是矩阵,数组是向量和矩阵的直接推广,是由三维或三维以上的数据构成的.
7 @" J z% Z1 J5 \8 e
数组函数是array(),语法是:array(dadta, dim),其中data必须是同一类型的数据,dim是各维的长度组成的向量。
% }. G. r9 ]: A% N. O- Z& M
1、产生一个三维和四维数组。
4 `9 @0 \* q, I
例1:xx <- array(1:24, c(3, 4, 2)) #一个三维数组
; \: ^" Z }; a+ V2 K% I2 ^
例2:yy <- array(1:36, c(2, 3, 3, 2)) #一个四维数组
, ~/ l) B w6 ?# f* V+ Y3 \
9 V0 x) t- R5 l
2、dim()函数可将向量转化成数组或矩阵。
1 p* S4 u; u$ f6 I; y( l# Y
例1:xx <- 1:24; dim(xx) <- c(3, 4, 2); xx #效果同array(1:24, c(3, 4, 2))
; J$ ^+ Z2 {% Q# q L* {1 R" V
例2:zz <- 1:10; dim(zz) <- c(2, 5); zz #效果同matrix(1:10, 2, 5)
1 a( I1 k6 P6 b# @
. V2 Y: y# f0 A! E% B+ h" i! y
列表(list)
4 y' M' E" L+ ^: } W2 O
向量、矩阵和数组的元素必须是同一类型的数据。一个数据对象需要包含不同的数据类型,它可以采用列表这种形式。
9 D0 W+ s# W5 Y# \9 b3 T
创建列表可用list()函数,语法是:list(name1 = component1, name2 = component2, ...)。
" i$ i0 K- C: w* c
1、创建一个列表
9 M. r7 ^7 p( n8 Q* S( x) k
例1: xx <- rep(1:2, 3:4)
+ Z- x& j3 l( Q$ p3 G
yy <- c('Mr A', 'Mr B', 'Mr C', 'Mr D', 'Mr E', 'Mr D', 'Mr F')
2 Y3 t( W, e: L% S. B1 u1 Q
zz <- 'discussion group'
) l! F L5 ^" Y' G! @
name.list <- list(group = xx, name = yy, decription = zz) #创建了一个名为"name.list"的列表
- Q: D" [4 ?5 f" ~1 K3 T/ E0 Q" z
name.list$n[name.list$g == 2]
. X+ x3 e! ~) `. `" E
length(name.list)
& Z( i$ k! @3 t* ~6 d! C
mode(name.list)
' ^& C& o, a; Y- K) j
names(name.list)
" ~, u' X5 u0 i" b( o/ h# ~
" [* t5 m, E. K8 j: _
欢迎光临 数学建模社区-数学中国 (http://www.madio.net/)
Powered by Discuz! X2.5