数学建模社区-数学中国
标题:
R语言入门基础之数据框
[打印本页]
作者:
数模天下
时间:
2012-12-24 14:02
标题:
R语言入门基础之数据框
数据框(data frame)
数据框是一种矩阵形式的数据,但数据框中各列可以是不同类型的数据。数据框每列是一个变量,每行是一个观测。数据框可以看成是矩阵的推广,也可看作一种特殊的列表对象,很多高级统计函数都会用到数据框。
& r7 R" Z& P9 d( D9 a/ |
数据框用函数data.frame()生成,语法是:data.frame(data1, data2, ...)
: }5 b8 A& s) m8 \* i$ y0 P/ }
1、生成一个数据框
5 o+ n: D* G3 I4 p) H9 g
例1:name <- c('Mr A', 'Mr B', 'Mr C'); group <- rep(1, 3); score <- c(69, 71, 92)
, t. B& l9 m( Q! s; T
dd <- data.frame(name, group, score)
6 f, w9 l/ _4 i8 S* b
9 j5 l& l& {' i9 o$ b7 ~
2、合并数据框
! \! w( `) C6 q
例1:name <- c('Ms C', 'Ms D'); group <- c(2, 2); score <- c(93, 99)
+ \! T6 s) A0 h9 G. c" Q2 B
dd1 <- data.frame(name, score, group) #注意这里排列顺序与dd中不同
. Y5 @/ G5 B4 L! G
dd2 <- rbind(dd, dd1) #行合并结果与dd排列顺序一致,说明其中有一个匹配过程。
- m' O3 O3 u0 t0 O
dd3 <- rbind(dd1, dd)
+ ^' I2 X1 k& U0 K+ @
例2:age <- c(14, 15, 14, 16, 13)
( o# N" Z a; b& V! y
dd4 <- cbind(dd2, age) #列合并
& m1 p n; P1 X3 _
dd4[2, 3]; dd4$score[2]
: r0 |8 W' c7 }' [
E0 O4 N1 k9 k* L6 n
3、"连接"函数
6 |' s* a, \; I# @8 m: j
attach()和detach()函数是应用数据框时很有用的工具。attach()函数将数据框连接入当前工作空间,detach()取消连接。
% N) R; z# J" [# X
如果不用attach(),需要用$提取数据框内某一列数据。
1 |: ~7 @' @0 ]: ]2 S) B
1、attach()和detach()函数的应用
) k' h! N" e+ z9 j" U% n2 Z- T& E
例1:girl1 <- read.table('d:/girl1.txt', head = T) #读取数据
5 D) L5 s# l e
WT2
, W' r$ I1 T' R" v! p1 I
attach(girl1) #连接入当期工作空间
; d. ^3 O) S: ~: M8 D5 N
WT2 <- 12:13
" b) a5 D' B/ Y/ J3 F+ C
mode(WT2) #结果时数值型
& g" d$ p! b1 K5 i: d) ^ \
rm(WT2)
# [! n1 @$ [; P _# I- ]
detach(girl1) #取消连接
) Y: Q, O( P( G; V: e
WT2
/ z" R4 R7 G) ~' u% x% ^+ H
girl1$WT2
' ]# @4 p3 W* R: Q
" u/ k3 H, Q: u/ s) P1 m
" f. W: ^: N' _1 \' U* Y& x
欢迎光临 数学建模社区-数学中国 (http://www.madio.net/)
Powered by Discuz! X2.5