- 在线时间
- 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) 数据框是一种矩阵形式的数据,但数据框中各列可以是不同类型的数据。数据框每列是一个变量,每行是一个观测。数据框可以看成是矩阵的推广,也可看作一种特殊的列表对象,很多高级统计函数都会用到数据框。; Q7 Z+ ^7 X* k% X4 ]$ o9 d$ H
数据框用函数data.frame()生成,语法是:data.frame(data1, data2, ...)5 I$ s* y: L0 Q& p* }/ Q
1、生成一个数据框5 z% [# K- p$ r, w' }
例1:name <- c('Mr A', 'Mr B', 'Mr C'); group <- rep(1, 3); score <- c(69, 71, 92)
; g* C1 g/ }! L) T. a* W" vdd <- data.frame(name, group, score)
1 i+ W- B$ f7 k. ~" ]. q
# P6 f% p+ T( M l+ h/ q; r2、合并数据框0 q* K; l# n. m @' @
例1:name <- c('Ms C', 'Ms D'); group <- c(2, 2); score <- c(93, 99)
+ _5 J3 E6 h: n$ z* {9 W; g1 j" Edd1 <- data.frame(name, score, group) #注意这里排列顺序与dd中不同. O5 e. S, {0 Z, G- e( Z& K
dd2 <- rbind(dd, dd1) #行合并结果与dd排列顺序一致,说明其中有一个匹配过程。
4 v+ h/ _. v( f# n' i/ C9 Wdd3 <- rbind(dd1, dd)
1 q, v, O2 h7 F$ T* |8 C例2:age <- c(14, 15, 14, 16, 13)/ P4 s( z" n N/ a/ z. l T0 x- m
dd4 <- cbind(dd2, age) #列合并8 C' _3 Y1 _; s; m, z4 J6 x$ g0 \
dd4[2, 3]; dd4$score[2]* J8 h3 U3 g. t7 v E5 q1 I
% v4 D1 q+ x( T$ f# c% a3、"连接"函数# l# Q' u7 J1 ?9 u6 W3 l$ y8 q
attach()和detach()函数是应用数据框时很有用的工具。attach()函数将数据框连接入当前工作空间,detach()取消连接。4 N- B" H" B8 p7 V' z3 b
如果不用attach(),需要用$提取数据框内某一列数据。% x: v+ P" K; |
1、attach()和detach()函数的应用
# Y( O( `% C: m m( i例1:girl1 <- read.table('d:/girl1.txt', head = T) #读取数据- _ n0 n$ W4 d4 D9 [! W+ G- z; q
WT2
1 k; Z. d7 g8 @2 P1 jattach(girl1) #连接入当期工作空间8 @4 |/ R; q9 _6 ^+ o5 ?
WT2 <- 12:13$ b# L5 {+ G- a+ O. ?4 ]4 {
mode(WT2) #结果时数值型6 s& G/ N' X7 T8 G
rm(WT2): {6 r0 `# n1 r: U- Q
detach(girl1) #取消连接
: w' \6 z$ U/ C9 VWT2! \ X) h( v# i$ ~. q0 I4 x
girl1$WT2
7 h g( k" G, O. ~ A! M; J$ @6 Y7 n& D) l" N6 f) c
. E) x$ W7 c& i9 q2 C) E0 d |
zan
|