- 在线时间
- 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) 数据框是一种矩阵形式的数据,但数据框中各列可以是不同类型的数据。数据框每列是一个变量,每行是一个观测。数据框可以看成是矩阵的推广,也可看作一种特殊的列表对象,很多高级统计函数都会用到数据框。
7 S# c& A2 ^2 ?" z" r数据框用函数data.frame()生成,语法是:data.frame(data1, data2, ...)6 O% x, Q. ~! H: Z; T' C1 ~
1、生成一个数据框
9 ]; L4 L. o2 X5 U! [例1:name <- c('Mr A', 'Mr B', 'Mr C'); group <- rep(1, 3); score <- c(69, 71, 92)6 m3 F1 D6 b8 b2 x
dd <- data.frame(name, group, score)
2 Z% e0 K: Y% \/ v4 i' i4 h$ {* z. o6 y
2、合并数据框
& D0 g' I8 Q0 e8 D! k4 b0 O例1:name <- c('Ms C', 'Ms D'); group <- c(2, 2); score <- c(93, 99)+ O+ G4 ~$ z2 Q3 |- o. i$ P5 Q( F' L& W
dd1 <- data.frame(name, score, group) #注意这里排列顺序与dd中不同
Y$ K, K( T8 N6 }: odd2 <- rbind(dd, dd1) #行合并结果与dd排列顺序一致,说明其中有一个匹配过程。5 {+ \- T+ @. t
dd3 <- rbind(dd1, dd)
/ x$ e$ k' D& J9 e; C, V例2:age <- c(14, 15, 14, 16, 13)# I7 U2 N4 d! q' l$ _5 i$ B
dd4 <- cbind(dd2, age) #列合并5 S0 v/ Z! ]- I& {1 e
dd4[2, 3]; dd4$score[2]
# w, P& j+ [: R- P7 X# e9 u3 h1 e$ k4 ?" o# w0 E, a; A
3、"连接"函数
. @6 b$ T, t: O" H N4 U attach()和detach()函数是应用数据框时很有用的工具。attach()函数将数据框连接入当前工作空间,detach()取消连接。
e( I4 |$ l% p: a6 Q/ l& d, b( g- H7 }如果不用attach(),需要用$提取数据框内某一列数据。, \+ O1 \" Z) R, d U( F9 d
1、attach()和detach()函数的应用 O( n9 H$ o5 `6 i
例1:girl1 <- read.table('d:/girl1.txt', head = T) #读取数据
/ ? J7 _7 x9 c4 \WT2
$ m( |7 J/ ^( J5 T/ B4 c3 @. ]attach(girl1) #连接入当期工作空间7 P$ N# ]- y% e* X6 w: A# C6 c
WT2 <- 12:13
& B" `3 @4 `5 ]/ r9 ^4 Smode(WT2) #结果时数值型1 C5 N- r! d2 ]6 }; |: A
rm(WT2)
1 t. A$ g5 q2 T$ m# mdetach(girl1) #取消连接
2 Q \; ]2 ~7 ^ p. d2 S7 e BWT2- I4 l8 m; L- s( D- z& H, b4 E
girl1$WT2 \9 |/ J' _7 s5 ^1 o
9 s+ u& |, Q# W3 \: }/ w* {9 c! i2 n( E
|
zan
|