- 在线时间
- 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) 数据框是一种矩阵形式的数据,但数据框中各列可以是不同类型的数据。数据框每列是一个变量,每行是一个观测。数据框可以看成是矩阵的推广,也可看作一种特殊的列表对象,很多高级统计函数都会用到数据框。! }1 l3 b" T, b# Z9 g
数据框用函数data.frame()生成,语法是:data.frame(data1, data2, ...)/ }; f5 |* l0 C& l- l
1、生成一个数据框
: V7 Y2 E/ b7 S9 g( B例1:name <- c('Mr A', 'Mr B', 'Mr C'); group <- rep(1, 3); score <- c(69, 71, 92)& u& y0 c7 E6 x
dd <- data.frame(name, group, score)9 g) y8 E; Q& Q5 M! n6 e
+ |1 m. x- J- C" g4 j2、合并数据框
, _. [& R8 \* E例1:name <- c('Ms C', 'Ms D'); group <- c(2, 2); score <- c(93, 99)3 R, C9 p/ @% E! r
dd1 <- data.frame(name, score, group) #注意这里排列顺序与dd中不同
, x, x0 |: r+ p, U! W/ udd2 <- rbind(dd, dd1) #行合并结果与dd排列顺序一致,说明其中有一个匹配过程。
7 t! p" a- |+ @0 tdd3 <- rbind(dd1, dd)
* l7 D' w6 L5 e5 w) F% F) G例2:age <- c(14, 15, 14, 16, 13)
9 Y6 u. u9 G2 F( E0 gdd4 <- cbind(dd2, age) #列合并( |, Q* k2 T, S. |" c
dd4[2, 3]; dd4$score[2]
5 G+ [ \1 x& A" f6 ~( l. e7 n8 e4 M
3、"连接"函数
2 h! e3 ` I4 ^& q% [ attach()和detach()函数是应用数据框时很有用的工具。attach()函数将数据框连接入当前工作空间,detach()取消连接。2 Z8 J3 e9 X8 K( ?
如果不用attach(),需要用$提取数据框内某一列数据。2 p! r4 k+ O1 _
1、attach()和detach()函数的应用! w* {) y9 _. \$ l( o
例1:girl1 <- read.table('d:/girl1.txt', head = T) #读取数据4 `# P5 I( s2 e, V* W: I1 q9 n
WT2% _; b# T% x, ]2 L, I5 j9 \0 ]
attach(girl1) #连接入当期工作空间5 `0 A5 Y* h- P+ ]% \5 i9 \* Q
WT2 <- 12:13
* J% K { v: ` [1 j6 K( l- g& Bmode(WT2) #结果时数值型, y" d1 g0 h3 r0 y" G: U5 [/ V) I
rm(WT2)
; E) b" z O0 [! H$ sdetach(girl1) #取消连接
1 W( [2 X4 r0 ?7 u# fWT2
$ X4 Q; d. q4 q& X/ egirl1$WT2
/ n3 Y5 J% L! h, ~) N1 T6 Z( m+ I% Z3 R0 c8 n& w& F
% X3 \: N5 k6 b
|
zan
|