- 在线时间
- 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 e- e6 b" I3 t3 x3 U* _# H数据框用函数data.frame()生成,语法是:data.frame(data1, data2, ...)
. w- P/ X& `7 a0 q/ B7 B) u% B1、生成一个数据框
" o0 C3 Q1 r' m3 G+ K* x例1:name <- c('Mr A', 'Mr B', 'Mr C'); group <- rep(1, 3); score <- c(69, 71, 92)& N6 |& h1 |1 p
dd <- data.frame(name, group, score)+ s* B e4 q+ l" W
* @5 F) a2 p" q" g$ d- ?6 m
2、合并数据框1 a3 s) h8 T; D: ^" V3 K8 d" N% |$ N1 G
例1:name <- c('Ms C', 'Ms D'); group <- c(2, 2); score <- c(93, 99)2 F. x4 f* V. \( W/ E8 M
dd1 <- data.frame(name, score, group) #注意这里排列顺序与dd中不同
4 s0 Z! |% \) k5 q7 B0 u9 ~dd2 <- rbind(dd, dd1) #行合并结果与dd排列顺序一致,说明其中有一个匹配过程。: \# ^, _: ]1 l" r. z. l
dd3 <- rbind(dd1, dd)7 r+ |9 H3 o0 o' T$ ]
例2:age <- c(14, 15, 14, 16, 13)
; A; D( |- D4 Ldd4 <- cbind(dd2, age) #列合并
% y4 o ~7 r+ J idd4[2, 3]; dd4$score[2]
9 Y& H% W# Q4 J: j1 a: Q7 }2 ]* {& q+ r2 V4 U; o
3、"连接"函数8 d" J( Q$ C# u$ z
attach()和detach()函数是应用数据框时很有用的工具。attach()函数将数据框连接入当前工作空间,detach()取消连接。
% O: z( {/ m' c$ {如果不用attach(),需要用$提取数据框内某一列数据。( ~+ w" e8 L- B2 `2 u
1、attach()和detach()函数的应用
h+ A, E2 P4 p/ F例1:girl1 <- read.table('d:/girl1.txt', head = T) #读取数据4 D& f' G5 O2 Z/ c( f; ~7 j
WT2
- T) H r- d3 }( iattach(girl1) #连接入当期工作空间
_2 S4 p$ \, H4 m+ s! f6 FWT2 <- 12:136 {( |, E+ B0 P5 [& U! T
mode(WT2) #结果时数值型
% d: n! N1 t2 L4 |rm(WT2)' X! v! \# N3 z! \3 z0 }( k
detach(girl1) #取消连接
9 L5 w/ k# \% k. e# m6 }# TWT2/ m6 s1 k8 E) k. b# x5 J. O
girl1$WT2
, I8 v7 s% `2 d0 Z0 J5 Y1 F G
" r# u$ S/ L! p2 s
$ p2 k! G8 p. ^) D6 e |
zan
|