- 在线时间
- 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) 数据框是一种矩阵形式的数据,但数据框中各列可以是不同类型的数据。数据框每列是一个变量,每行是一个观测。数据框可以看成是矩阵的推广,也可看作一种特殊的列表对象,很多高级统计函数都会用到数据框。
3 L$ s& b' m q& {4 F# Y! ]' t9 T数据框用函数data.frame()生成,语法是:data.frame(data1, data2, ...)2 A4 }7 S- q, {/ T$ t4 `
1、生成一个数据框7 _3 s$ i" {$ m! f
例1:name <- c('Mr A', 'Mr B', 'Mr C'); group <- rep(1, 3); score <- c(69, 71, 92)6 o! |2 m5 |7 b7 i' s0 t) _$ t
dd <- data.frame(name, group, score)
. ~" M/ c9 k$ R; L% i* A& v$ r8 {- ~7 V7 V: W; u
2、合并数据框
, {, k) W$ _/ B% ?4 U例1:name <- c('Ms C', 'Ms D'); group <- c(2, 2); score <- c(93, 99)$ h' I$ j# y0 R9 ?
dd1 <- data.frame(name, score, group) #注意这里排列顺序与dd中不同
" i4 B7 ]% \& idd2 <- rbind(dd, dd1) #行合并结果与dd排列顺序一致,说明其中有一个匹配过程。$ V5 E9 W& t; Q n" t* g- F
dd3 <- rbind(dd1, dd)9 [* H- J* ^5 _2 G) L
例2:age <- c(14, 15, 14, 16, 13)
' y `# n. d. a2 B) d4 S8 mdd4 <- cbind(dd2, age) #列合并 |) Y4 P- E9 L# _1 V: n
dd4[2, 3]; dd4$score[2]
9 E1 j' \- C6 X/ k5 Q1 b
" E: k6 D5 e& `9 B/ l0 g3、"连接"函数8 x* @" I1 u! h0 a
attach()和detach()函数是应用数据框时很有用的工具。attach()函数将数据框连接入当前工作空间,detach()取消连接。; u8 F$ j/ a! F' g2 [3 f: O X3 |
如果不用attach(),需要用$提取数据框内某一列数据。% J2 o, d% s( z8 N# N
1、attach()和detach()函数的应用6 B9 ~/ {! g/ p, ~5 }* B
例1:girl1 <- read.table('d:/girl1.txt', head = T) #读取数据
8 u4 M0 e" x% Y& Z8 ^' YWT2
( P7 k: C: e2 Cattach(girl1) #连接入当期工作空间
! @% E, ]( u# ~+ C1 W. e' nWT2 <- 12:136 C- Q4 C3 R% T( O
mode(WT2) #结果时数值型
2 i# z6 }% @( b5 {0 nrm(WT2)
; p* T, G- Q% [4 fdetach(girl1) #取消连接
% @& \' Z y# W; \$ z( N9 G- A: jWT27 q2 _1 r2 T |, y
girl1$WT2; ?4 N0 Q& q4 k6 _- B; k
8 t) G0 H+ q6 Y9 ^& F- D
/ o% i# r' B, g4 u2 a |
zan
|