- 在线时间
- 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) 数据框是一种矩阵形式的数据,但数据框中各列可以是不同类型的数据。数据框每列是一个变量,每行是一个观测。数据框可以看成是矩阵的推广,也可看作一种特殊的列表对象,很多高级统计函数都会用到数据框。
' Q3 O" M2 k; _8 s数据框用函数data.frame()生成,语法是:data.frame(data1, data2, ...)
( C0 u2 \- I3 Q' M9 A v1、生成一个数据框
! n* `6 j% p# K* X0 {& r8 I' u例1:name <- c('Mr A', 'Mr B', 'Mr C'); group <- rep(1, 3); score <- c(69, 71, 92); u6 b0 `2 a; W% x6 x/ W
dd <- data.frame(name, group, score)
+ N) m) {" ~6 S ?* V6 Y% d5 ?: l/ e1 B* S4 ]
2、合并数据框# s* R3 @$ n5 I) g9 _
例1:name <- c('Ms C', 'Ms D'); group <- c(2, 2); score <- c(93, 99)/ g4 f5 w f0 x+ f X; r
dd1 <- data.frame(name, score, group) #注意这里排列顺序与dd中不同0 D# O- G2 M2 \6 L y7 N
dd2 <- rbind(dd, dd1) #行合并结果与dd排列顺序一致,说明其中有一个匹配过程。: q/ S( r7 [. F. X* i. r
dd3 <- rbind(dd1, dd)
0 q- X: l; s# C, R+ {例2:age <- c(14, 15, 14, 16, 13). J: L, B* C, v# u9 Z
dd4 <- cbind(dd2, age) #列合并8 C- H! {* l2 y1 x0 b
dd4[2, 3]; dd4$score[2]
- ?( L( Q# g; t, N, I z& z6 |& d8 k+ J' l
3、"连接"函数 Y k* f* x/ T/ c; p/ f! r. h
attach()和detach()函数是应用数据框时很有用的工具。attach()函数将数据框连接入当前工作空间,detach()取消连接。
3 Y4 I/ D: p/ u( _8 g4 y3 B; P1 Z# s如果不用attach(),需要用$提取数据框内某一列数据。
7 J) }& s0 Z6 i) `$ t' _! y1、attach()和detach()函数的应用7 Y1 y+ o. \9 r4 A/ @3 I
例1:girl1 <- read.table('d:/girl1.txt', head = T) #读取数据
9 b. o* @2 c; _5 L3 x5 L r+ B7 iWT2
4 H; s6 J& K# [- Iattach(girl1) #连接入当期工作空间. b/ v% H% H8 J) A. V
WT2 <- 12:13
1 K( G5 r% b9 j) Emode(WT2) #结果时数值型) N* n7 o- P6 N: G" Z- }: a* G
rm(WT2)4 V4 [# P6 ?4 r+ L+ G0 g7 e; u ~
detach(girl1) #取消连接
, {# |$ w& p& x+ e+ d; U! xWT26 b& r: d7 Q0 {, H, ?; B' d& u
girl1$WT2
8 \+ B4 h3 P% t% m2 f8 R; o. @( A3 S4 t0 v$ C# w
: f) ?4 p# U6 c3 }6 e
|
zan
|