- 在线时间
- 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) 数据框是一种矩阵形式的数据,但数据框中各列可以是不同类型的数据。数据框每列是一个变量,每行是一个观测。数据框可以看成是矩阵的推广,也可看作一种特殊的列表对象,很多高级统计函数都会用到数据框。
$ I s& d! |% z" k数据框用函数data.frame()生成,语法是:data.frame(data1, data2, ...)
4 ^5 ?9 K2 v' o. E+ X' i; `) ~/ ]1、生成一个数据框
/ K% Z) T- t* C Y例1:name <- c('Mr A', 'Mr B', 'Mr C'); group <- rep(1, 3); score <- c(69, 71, 92)0 v, ]; u/ T0 f) @5 K+ q4 c
dd <- data.frame(name, group, score)% v: H: G, N( i# h
2 M$ q/ N& w: ^
2、合并数据框
p# v, Z4 Q% I5 Q0 }- D% F例1:name <- c('Ms C', 'Ms D'); group <- c(2, 2); score <- c(93, 99)6 Y8 \ E- l, Y. R; i1 K6 u
dd1 <- data.frame(name, score, group) #注意这里排列顺序与dd中不同
( R, h1 T9 z9 o3 T3 A) ndd2 <- rbind(dd, dd1) #行合并结果与dd排列顺序一致,说明其中有一个匹配过程。8 i% p* I; n+ f) N8 Y* I1 x7 E
dd3 <- rbind(dd1, dd)
6 x9 A' O) h& `; @例2:age <- c(14, 15, 14, 16, 13)( c9 w T- c5 _) d t+ E
dd4 <- cbind(dd2, age) #列合并5 j. O1 O& L$ F1 j" L1 G- z- a( X/ ?
dd4[2, 3]; dd4$score[2]6 W: F3 y6 M0 O3 ] X |* E6 b V
: G* p# L: h- u+ J# a F5 _
3、"连接"函数
& D1 w8 f6 u) e0 H0 m$ Y, ^! P. } attach()和detach()函数是应用数据框时很有用的工具。attach()函数将数据框连接入当前工作空间,detach()取消连接。6 ]# _! b5 B( e1 e0 p
如果不用attach(),需要用$提取数据框内某一列数据。$ S3 q5 { s. O; U. F2 z; l# V
1、attach()和detach()函数的应用, m; c$ y$ ~0 Z, G7 a
例1:girl1 <- read.table('d:/girl1.txt', head = T) #读取数据9 ~! Z( Z. o) }4 l# `
WT2
: y7 {) N) W4 b# d7 D) i6 Oattach(girl1) #连接入当期工作空间
; n# X5 {, I, h% X0 e8 y& V8 ?WT2 <- 12:13
0 m; p" k0 s8 y) [, w* d5 `mode(WT2) #结果时数值型
8 e! t6 F$ c3 Z6 ~2 Frm(WT2)
- ^; A/ x0 Q" V% u3 w; Jdetach(girl1) #取消连接
2 `$ ^- \$ T8 ]! U) f# @2 \WT2
- q! L9 R7 Z' U6 N! W4 K, V6 a1 }girl1$WT2
! s: t8 |/ H9 G% U5 ]5 [
* w2 J; V L" ]3 a/ X$ C; B; m% S ^1 z1 F
|
zan
|