- 在线时间
- 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) 数据框是一种矩阵形式的数据,但数据框中各列可以是不同类型的数据。数据框每列是一个变量,每行是一个观测。数据框可以看成是矩阵的推广,也可看作一种特殊的列表对象,很多高级统计函数都会用到数据框。6 Z0 v* e: j% K" D5 @7 x
数据框用函数data.frame()生成,语法是:data.frame(data1, data2, ...)
# n' ^* q) H& T8 p* y. {1、生成一个数据框8 i8 S1 u, j& b, r; V) G* h" P6 @
例1:name <- c('Mr A', 'Mr B', 'Mr C'); group <- rep(1, 3); score <- c(69, 71, 92)5 W4 U' I; ?3 N: i- U+ q' \
dd <- data.frame(name, group, score)* Z0 f+ j5 K2 z# q
5 W$ ?1 }" q* \
2、合并数据框% L. F6 Q( g$ z' R4 m4 Y% o% h
例1:name <- c('Ms C', 'Ms D'); group <- c(2, 2); score <- c(93, 99)
4 ^: G2 W2 L) F1 N; w- n( ydd1 <- data.frame(name, score, group) #注意这里排列顺序与dd中不同7 Y! w+ B5 j8 {% E
dd2 <- rbind(dd, dd1) #行合并结果与dd排列顺序一致,说明其中有一个匹配过程。
! b8 l2 L" Y ]4 t, I. }dd3 <- rbind(dd1, dd)
- |9 J) V3 ~. r例2:age <- c(14, 15, 14, 16, 13)' y& w0 ^1 L, `) t0 O3 j
dd4 <- cbind(dd2, age) #列合并
# `, c, ~ N- `" X3 N7 ydd4[2, 3]; dd4$score[2]/ ]( N4 R9 P& w' C
# h: Y" U3 W( g( S3 M2 |( ^
3、"连接"函数
! Q, {( \6 u' p* E) z: V attach()和detach()函数是应用数据框时很有用的工具。attach()函数将数据框连接入当前工作空间,detach()取消连接。. T/ i8 ?: t, y) \; Z( P
如果不用attach(),需要用$提取数据框内某一列数据。% | D* R, r+ k; U$ \% F5 G3 G% C
1、attach()和detach()函数的应用
; p! G& K* A* X7 S例1:girl1 <- read.table('d:/girl1.txt', head = T) #读取数据
8 c, a8 S: c4 B2 r7 V# KWT2+ n6 X, X. B' o
attach(girl1) #连接入当期工作空间& b6 g# B/ T/ m3 s3 g; q4 f
WT2 <- 12:13( i7 a; W: p& x* r0 t& U
mode(WT2) #结果时数值型1 T! `1 ^" a+ x" r9 L) H
rm(WT2)' u5 ?: @6 {# Y- ?$ m
detach(girl1) #取消连接
; t$ Z7 s( o( EWT23 t0 M7 w. {2 d% k; n
girl1$WT2
3 |- T M6 G: O" D/ L) Q" r! V* `2 n
7 z2 V+ {% p' I& z7 P% h1 h$ C: E9 j& c, j R" G1 `7 X
|
zan
|