数学建模社区-数学中国

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

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

数组(array)

一维数据是向量,二维数据是矩阵,数组是向量和矩阵的直接推广,是由三维或三维以上的数据构成的." c" g6 w: b. b) @, J3 o' Q: i
数组函数是array(),语法是:array(dadta, dim),其中data必须是同一类型的数据,dim是各维的长度组成的向量。
! a9 Y+ g; N0 m  o* ]* F  ]# e1、产生一个三维和四维数组。
% S9 h5 M& b5 u# @% y例1:xx <- array(1:24, c(3, 4, 2)) #一个三维数组; y: ~' D6 n9 Y1 {4 r
例2:yy <- array(1:36, c(2, 3, 3, 2)) #一个四维数组0 D8 d4 ^; a& P- k1 v

: {/ _5 m( |7 X1 I  g9 y& @2、dim()函数可将向量转化成数组或矩阵。
: x0 m# p" G- p! d% s例1:xx <- 1:24; dim(xx) <- c(3, 4, 2); xx #效果同array(1:24, c(3, 4, 2))
$ y: H5 b8 L/ S6 {例2:zz <- 1:10; dim(zz) <- c(2, 5); zz #效果同matrix(1:10, 2, 5)! N- I1 C$ @% B

3 _4 J5 C9 A: @列表(list)
7 y  }9 e% s4 o- g. M) E向量、矩阵和数组的元素必须是同一类型的数据。一个数据对象需要包含不同的数据类型,它可以采用列表这种形式。( j# e9 c8 H  Q# f5 k8 T) D
创建列表可用list()函数,语法是:list(name1 = component1, name2 = component2, ...)。) u# R; d* i9 j5 R% G7 ?3 y
1、创建一个列表
- d) }! N% S' R, @9 }0 o例1: xx <- rep(1:2, 3:4). J8 g# a% u6 |+ C- x& {, J
yy <- c('Mr A', 'Mr B', 'Mr C', 'Mr D', 'Mr E', 'Mr D', 'Mr F')
3 U, y, y& _( I6 d5 f) n1 o8 ezz <- 'discussion group'$ d! n/ w8 p: ~6 K* R5 Z6 i2 j
name.list <- list(group = xx, name = yy, decription = zz) #创建了一个名为"name.list"的列表
2 r8 b! ]+ o8 t1 z/ aname.list$n[name.list$g == 2]
- I" S: O3 s5 r# ?9 Wlength(name.list)
6 N4 l; J- m+ s0 w! o( i! t7 ]mode(name.list)
& B. H& u6 [+ Fnames(name.list): m8 R+ v0 [& X8 k0 D; t

6 n4 W( S" N$ [  V  V




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