- 在线时间
- 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) 数据框是一种矩阵形式的数据,但数据框中各列可以是不同类型的数据。数据框每列是一个变量,每行是一个观测。数据框可以看成是矩阵的推广,也可看作一种特殊的列表对象,很多高级统计函数都会用到数据框。
, S9 q- e3 s4 t Y1 @2 {数据框用函数data.frame()生成,语法是:data.frame(data1, data2, ...)- m7 Q' I( {0 `& g
1、生成一个数据框
. p y9 |5 }' g' b9 W例1:name <- c('Mr A', 'Mr B', 'Mr C'); group <- rep(1, 3); score <- c(69, 71, 92)2 J0 A; V) s4 i
dd <- data.frame(name, group, score); O- w& k; R! |6 S! t* i+ P
( |' ]4 U6 D5 J Z- L: ~! U2、合并数据框
' e. l& {; B! F% Y+ O例1:name <- c('Ms C', 'Ms D'); group <- c(2, 2); score <- c(93, 99)7 p! L3 e+ a/ \- D4 ~; `$ }
dd1 <- data.frame(name, score, group) #注意这里排列顺序与dd中不同9 q8 g) _! W5 p1 K3 v
dd2 <- rbind(dd, dd1) #行合并结果与dd排列顺序一致,说明其中有一个匹配过程。
+ g! K! F: P( |$ }dd3 <- rbind(dd1, dd)- `9 r* a! O0 L
例2:age <- c(14, 15, 14, 16, 13)
7 C% q, p- k/ d% I7 S2 @+ Ndd4 <- cbind(dd2, age) #列合并; c0 g$ O) j) i- U8 E/ \4 B) k
dd4[2, 3]; dd4$score[2]( V" q/ E. Q0 b
2 s$ M7 l$ ]: ], y3、"连接"函数
! G& r% M h& q0 O5 ]( k4 H attach()和detach()函数是应用数据框时很有用的工具。attach()函数将数据框连接入当前工作空间,detach()取消连接。" O4 t4 t" y- Q9 f$ t8 k/ \( q0 k
如果不用attach(),需要用$提取数据框内某一列数据。
" E w. |3 J9 p/ k9 j& h1、attach()和detach()函数的应用) }; f) C8 a1 J# Q$ J: s( Q) V
例1:girl1 <- read.table('d:/girl1.txt', head = T) #读取数据: g: Z4 A- O2 Y. I$ t- m
WT2
- j9 N" ]6 j0 k4 f) \% i' `attach(girl1) #连接入当期工作空间
: _! D$ P" m/ v" ?+ |3 e1 Y, J! A" FWT2 <- 12:13
( P: B( _2 `7 u8 D, O0 Vmode(WT2) #结果时数值型
P# T8 u% V# x) ~ D/ ^rm(WT2)
: ]0 z+ a# U+ B9 r% T" jdetach(girl1) #取消连接9 L$ l* D7 L/ x C8 E# B
WT29 K9 H( d6 [) p2 G' v: @; F
girl1$WT2
0 {& c6 U, c& a; d2 e, h3 P$ J" ]# n; {
7 {& @) B5 ^( k6 U& D! K" r& F9 H
|
zan
|