数学建模社区-数学中国
标题:
R语言入门基础之数据框
[打印本页]
作者:
数模天下
时间:
2012-12-24 14:02
标题:
R语言入门基础之数据框
数据框(data frame)
数据框是一种矩阵形式的数据,但数据框中各列可以是不同类型的数据。数据框每列是一个变量,每行是一个观测。数据框可以看成是矩阵的推广,也可看作一种特殊的列表对象,很多高级统计函数都会用到数据框。
+ A e& r3 D' b; T
数据框用函数data.frame()生成,语法是:data.frame(data1, data2, ...)
; u( J8 g& s Z! a& N! h
1、生成一个数据框
8 P8 r, M4 ^ M6 I1 O
例1:name <- c('Mr A', 'Mr B', 'Mr C'); group <- rep(1, 3); score <- c(69, 71, 92)
6 t+ |- c/ }6 f, m! U5 ~
dd <- data.frame(name, group, score)
) B: z9 [3 i( ~$ N. X& Z) {5 b ~9 o
& n4 Q8 L! P* h- I! v- ^! z
2、合并数据框
# F9 D. v+ v; T; d
例1:name <- c('Ms C', 'Ms D'); group <- c(2, 2); score <- c(93, 99)
9 |* P6 D$ `1 G, v6 [, L: r2 |3 J
dd1 <- data.frame(name, score, group) #注意这里排列顺序与dd中不同
; o$ `. d7 r6 U; K+ O
dd2 <- rbind(dd, dd1) #行合并结果与dd排列顺序一致,说明其中有一个匹配过程。
3 A8 l; x; c/ T1 p: h, B0 ?5 d3 y
dd3 <- rbind(dd1, dd)
% X% w5 J/ C, T9 q% I
例2:age <- c(14, 15, 14, 16, 13)
* N3 m' p- J. ?% x: i1 }2 b7 n( [
dd4 <- cbind(dd2, age) #列合并
5 [6 Q5 o* Z L# q
dd4[2, 3]; dd4$score[2]
' I+ c9 P: @ w" I* w% h0 e# o( e
7 B. t- Q% D$ G ]5 L5 \ r+ U6 r
3、"连接"函数
5 p8 u5 Y h2 d( Z- L7 b
attach()和detach()函数是应用数据框时很有用的工具。attach()函数将数据框连接入当前工作空间,detach()取消连接。
) g- V- P) \' Z. `9 g: U
如果不用attach(),需要用$提取数据框内某一列数据。
" W |, P- Z* a* L5 L" L
1、attach()和detach()函数的应用
?3 ^- R4 ^# h
例1:girl1 <- read.table('d:/girl1.txt', head = T) #读取数据
) f3 `7 m* w, d6 _
WT2
5 y& X2 | r7 d& _9 ^
attach(girl1) #连接入当期工作空间
- Z9 P! A. [) H$ R5 W
WT2 <- 12:13
1 J3 l; O6 q' D% s$ K
mode(WT2) #结果时数值型
8 f; q) x# u. \5 [/ r+ _3 y
rm(WT2)
+ O6 _9 |- _) P* P% ~8 k
detach(girl1) #取消连接
, |# t' X, `0 }) C
WT2
. _% g: U2 C! X3 C( ~7 i$ x
girl1$WT2
& h' Y& Q5 r# Y1 I2 `! b- H
D9 `4 Q5 T& `- e0 P
; v, d/ F2 @% z
欢迎光临 数学建模社区-数学中国 (http://www.madio.net/)
Powered by Discuz! X2.5