创建一个数据框

我们可以调用 data.frame( )函数,对每一列提供相应类型的列向量来创建一个数
据框。
persons <- data.frame(Name = c("Ken", "Ashley", "Jennifer"),
Gender = c("Male", "Female", "Female"),
Age = c(24, 25, 23),
Major = c("Finance", "Statistics", "Computer Science"))
persons
## Name Gender Age Major
## 1 Ken Male 24 Finance
## 2 Ashley Female 25 Statistics
## 3 Jennifer Female 23 Computer Science
注意到,数据框的创建方式与列表完全一致。本质上讲,数据框就是一个列表,该列
表的每个成分都是一个向量,并且长度相同,以表格的形式展现。
除了根据原始数据创建数据框,我们也可以对一个列表直接调用 data.frame( )或
者 as.data.frame( )将其转换为数据框:
l1 <- list(x = c(1, 2, 3), y = c("a", "b", "c"))
data.frame(l1)
## x y
## 1 1 a
## 2 2 b
## 3 3 c
as.data.frame(l1)
## x y
## 1 1 a
## 2 2 b
## 3 3 c
也可以用同样的方式将矩阵转换为数据框:
m1 <- matrix(c(1, 2, 3, 4, 5, 6, 7, 8, 9), nrow = 3, byrow = FALSE)
data.frame(m1)
## X1 X2 X3
## 1 1 4 7
## 2 2 5 8
## 3 3 6 9
as.data.frame(m1)
## V1 V2 V3
## 1 1 4 7
## 2 2 5 8
## 3 3 6 9
注意到,这种转换会自动给新数据框赋予列名。实际上,可以验证,如果矩阵已经有
了列名或者行名,那么它们在转换中会被保留下来。

posted @ 2019-01-22 10:28  NAVYSUMMER  阅读(658)  评论(0编辑  收藏  举报
交流群 编程书籍