数学建模社区-数学中国

标题: R语言入门基础之数组和列表 [打印本页]

作者: 数模天下    时间: 2012-12-24 14:04
标题: R语言入门基础之数组和列表

数组(array)

一维数据是向量,二维数据是矩阵,数组是向量和矩阵的直接推广,是由三维或三维以上的数据构成的.3 f+ ^  I4 C, x% ^8 ?+ H% {( G
数组函数是array(),语法是:array(dadta, dim),其中data必须是同一类型的数据,dim是各维的长度组成的向量。
( n6 V$ r1 L/ M. D1 M. R, F4 T1、产生一个三维和四维数组。
. U7 v  V/ t, v$ o& q& u9 |, B2 _例1:xx <- array(1:24, c(3, 4, 2)) #一个三维数组
' {5 u, J8 R- q1 }8 H例2:yy <- array(1:36, c(2, 3, 3, 2)) #一个四维数组. d8 `( m) ?$ n; o# z
+ X3 _: \9 }4 }! Z6 c: S
2、dim()函数可将向量转化成数组或矩阵。) ]: N: M3 c+ J+ p" o" g/ I6 G
例1:xx <- 1:24; dim(xx) <- c(3, 4, 2); xx #效果同array(1:24, c(3, 4, 2))
& y5 q8 W0 b/ i; ?& \3 h* `例2:zz <- 1:10; dim(zz) <- c(2, 5); zz #效果同matrix(1:10, 2, 5)
: F. ^0 F! k3 \+ q
$ ^8 q, {' w* L  z列表(list)
( H; W# _3 K0 `* \: ]( P; R$ X8 H向量、矩阵和数组的元素必须是同一类型的数据。一个数据对象需要包含不同的数据类型,它可以采用列表这种形式。
( e4 M% D% h8 f6 q创建列表可用list()函数,语法是:list(name1 = component1, name2 = component2, ...)。- s+ b) v4 L- C" [
1、创建一个列表
/ G. h" |) W: }( T" H0 X3 I- M$ s例1: xx <- rep(1:2, 3:4)
: r% g0 G$ v* k3 r2 s5 Dyy <- c('Mr A', 'Mr B', 'Mr C', 'Mr D', 'Mr E', 'Mr D', 'Mr F'), I  t8 H% `0 a
zz <- 'discussion group', O* {2 [. Q1 v% J( z8 [: j
name.list <- list(group = xx, name = yy, decription = zz) #创建了一个名为"name.list"的列表
1 ^& Z1 ~. V$ oname.list$n[name.list$g == 2]
! \, D, o" c; @) N5 K' olength(name.list)
5 Z( E$ x6 m: D' Z. N8 Z( A+ b- g# Gmode(name.list)# d2 D/ K: ~9 E8 L& A
names(name.list)
3 B! ]( H8 M8 O. T( Y1 |& s& L& l5 m# X  u





欢迎光临 数学建模社区-数学中国 (http://www.madio.net/) Powered by Discuz! X2.5