- 在线时间
- 27 小时
- 最后登录
- 2013-5-20
- 注册时间
- 2012-11-2
- 听众数
- 15
- 收听数
- 1
- 能力
- 0 分
- 体力
- 3870 点
- 威望
- 0 点
- 阅读权限
- 60
- 积分
- 1335
- 相册
- 0
- 日志
- 0
- 记录
- 0
- 帖子
- 347
- 主题
- 320
- 精华
- 0
- 分享
- 0
- 好友
- 6
升级   33.5% TA的每日心情 | 奋斗 2013-6-15 16:58 |
|---|
签到天数: 24 天 [LV.4]偶尔看看III
 群组: 第四届数学中国美赛实 |
|
数据框(data frame) 数据框是一种矩阵形式的数据,但数据框中各列可以是不同类型的数据。数据框每列是一个变量,每行是一个观测。数据框可以看成是矩阵的推广,也可看作一种特殊的列表对象,很多高级统计函数都会用到数据框。
4 ^5 h" `! i. l; \, C D3 O* Q! \数据框用函数data.frame()生成,语法是:data.frame(data1, data2, ...)% ~2 c3 m, W, ?. {+ h2 E9 w
1、生成一个数据框
6 U8 I8 V% D2 F7 b/ I ]5 |例1:name <- c('Mr A', 'Mr B', 'Mr C'); group <- rep(1, 3); score <- c(69, 71, 92)% t2 e& g H* E: U$ T \. b8 Y
dd <- data.frame(name, group, score)
* F2 k# x- S9 K
& h2 [7 h1 q6 p' y' F2、合并数据框
0 a8 H, v8 {- L+ g' p例1:name <- c('Ms C', 'Ms D'); group <- c(2, 2); score <- c(93, 99)
( U7 q6 x v" w' a0 }dd1 <- data.frame(name, score, group) #注意这里排列顺序与dd中不同
9 A# `' k- f: r1 }* ^1 v$ K- c `dd2 <- rbind(dd, dd1) #行合并结果与dd排列顺序一致,说明其中有一个匹配过程。" j1 J, F1 j# s
dd3 <- rbind(dd1, dd)
6 P/ a, I. Z0 w例2:age <- c(14, 15, 14, 16, 13): W) N4 m; A) `1 j/ `
dd4 <- cbind(dd2, age) #列合并
! ~1 I& C% [, _ i. s' i5 T9 S' }dd4[2, 3]; dd4$score[2]* W% e% Q \4 l$ r w) i8 |7 s& H
4 d5 P1 d$ L$ D. m x3、"连接"函数
/ I3 H8 | c7 J2 f, L( P1 M attach()和detach()函数是应用数据框时很有用的工具。attach()函数将数据框连接入当前工作空间,detach()取消连接。4 d4 P" o x& ?6 P7 z
如果不用attach(),需要用$提取数据框内某一列数据。" O7 X- ?% G; R% L
1、attach()和detach()函数的应用' V" F6 d) m7 X
例1:girl1 <- read.table('d:/girl1.txt', head = T) #读取数据& U+ [- Y1 \( w/ d$ P$ c
WT22 ?1 v+ M9 m2 }9 T+ W6 F
attach(girl1) #连接入当期工作空间
9 H9 Y3 i* `4 j ?2 |" {WT2 <- 12:13
# ?) q8 D( m5 @' f5 H. b/ smode(WT2) #结果时数值型- M0 R4 [& X4 W- H& O
rm(WT2) |" [+ {" |% j# K0 u* ?
detach(girl1) #取消连接
* k# y5 R, B% g) ]( uWT2
% Q* t8 E+ f: A: N' E% G% o' Ygirl1$WT2, O2 S0 o7 Q6 o# B( F" k; J. l8 y
+ A! r0 {8 B' n) e9 c( v2 h: A$ {3 d# L) L; V' `' c
|
zan
|