数学建模社区-数学中国

标题: R语言入门基础之数据框 [打印本页]

作者: 数模天下    时间: 2012-12-24 14:02
标题: R语言入门基础之数据框

数据框(data frame)

    数据框是一种矩阵形式的数据,但数据框中各列可以是不同类型的数据。数据框每列是一个变量,每行是一个观测。数据框可以看成是矩阵的推广,也可看作一种特殊的列表对象,很多高级统计函数都会用到数据框。
- b$ N& q0 C. [6 ^0 Q1 P数据框用函数data.frame()生成,语法是:data.frame(data1, data2, ...)4 M- H4 N5 S* H
1、生成一个数据框
0 Z, Q  B# T' J6 r/ Y例1:name <- c('Mr A', 'Mr B', 'Mr C'); group <- rep(1, 3); score <- c(69, 71, 92)' u7 g( |" _! e/ a2 O
dd <- data.frame(name, group, score)* o3 W# [  [0 p" C: L
. F" c0 r) `, V& D
2、合并数据框
; I3 P; Q3 V. A4 `# u& [+ d& D9 }例1:name <- c('Ms C', 'Ms D'); group <- c(2, 2); score <- c(93, 99)
4 o6 j. U: c* ]0 Q% m0 e3 jdd1 <- data.frame(name, score, group) #注意这里排列顺序与dd中不同8 K6 F# O* r: E
dd2 <- rbind(dd, dd1) #行合并结果与dd排列顺序一致,说明其中有一个匹配过程。
& d, ~! x% ]* Pdd3 <- rbind(dd1, dd)0 E" u) e& r% \$ k% I9 d5 n
例2:age <- c(14, 15, 14, 16, 13)
6 V/ o! M8 r' z/ N' Ddd4 <- cbind(dd2, age) #列合并. a$ B6 ~0 G; y
dd4[2, 3]; dd4$score[2]: [/ ~* w5 L4 R+ z3 F+ `1 r9 ~
+ ?6 n7 ^9 h+ o7 ^: _" U. U
3、"连接"函数
4 U7 X' t4 n% q    attach()和detach()函数是应用数据框时很有用的工具。attach()函数将数据框连接入当前工作空间,detach()取消连接。
, w) D# c+ [6 P9 t! K+ ?如果不用attach(),需要用$提取数据框内某一列数据。8 b4 z2 A* Q4 f- Z
1、attach()和detach()函数的应用8 ~* ?7 Q0 n* X$ O6 t2 Z, K
例1:girl1 <- read.table('d:/girl1.txt', head = T) #读取数据3 D& ^: z4 U* m
WT2
9 X5 [9 M0 S0 F% D# g/ ]attach(girl1) #连接入当期工作空间: ^! [# r: u8 V2 O7 C
WT2 <- 12:138 a1 n* J2 E/ }2 t  w
mode(WT2) #结果时数值型
# J* f2 u/ O, `" A" O& E3 u( N  zrm(WT2)
% t5 C2 m$ k. N) R3 r7 I: Jdetach(girl1) #取消连接
. m# p3 _3 N2 c" ]- HWT2: F) w0 h6 U' Q# E% L: o
girl1$WT2/ Z# a* D+ G7 U+ u
( j& _$ t. _5 `

0 [; q4 N, k( h0 {) K: m




欢迎光临 数学建模社区-数学中国 (http://www.madio.net/) Powered by Discuz! X2.5