数据框(Data frame)可以理解成我们常说的"表格"。
数据框是 R 语言的数据结构,是特殊的二维列表。
数据框每一列都有一个唯一的列名,长度都是相等的,同一列的数据类型需要一致,不同列的数据类型可以不一样。
R 语言数据框使用 data.frame() 函数来创建,语法格式如下:
data.frame(…, row.names = NULL, check.rows = FALSE, check.names = TRUE, fix.empty.names = TRUE, stringsAsFactors = default.stringsAsFactors())
- …: 列向量,可以是任何类型(字符型、数值型、逻辑型),一般以 tag = value 的形式表示,也可以是 value。
- row.names: 行名,默认为 NULL,可以设置为单个数字、字符串或字符串和数字的向量。
- check.rows: 检测行的名称和长度是否一致。
- check.names: 检测数据框的变量名是否合法。
- fix.empty.names: 设置未命名的参数是否自动设置名字。
- stringsAsFactors: 布尔值,字符是否转换为因子,factory-fresh 的默认值是 TRUE,可以通过设置选项(stringsAsFactors=FALSE)来修改。
以下创建一个简单的数据框,包含姓名、工号、月薪:
实例
table = data.frame( 姓名 = c("张三", "李四"), 工号 = c("001","002"), 月薪 = c(1000, 2000)
) print(table) # 查看 table 数据
执行以上代码输出结果为:
姓名 工号 月薪 1 张三 001 1000 2 李四 002 2000
数据框的数据结构可以通过 str() 函数来展示:
实例
table = data.frame( 姓名 = c("张三", "李四"), 工号 = c("001","002"), 月薪 = c(1000, 2000) ) # 获取数据结构 str(table)
执行以上代码输出结果为:
'data.frame': 2 obs. of 3 variables: $ 姓名: chr "张三" "李四" $ 工号: chr "001" "002" $ 月薪: num 1000 2000
summary() 可以显示数据框的概要信息:
实例
table = data.frame( 姓名 = c("张三", "李四"), 工号 = c("001","002"), 月薪 = c(1000, 2000)
) # 显示概要 print(summary(table))
执行以上代码输出结果为:
姓名 工号 月薪 Length:2 Length:2 Min. :1000 Class :character Class :character 1st Qu.:1250 Mode :character Mode :character Median :1500 Mean :1500 3rd Qu.:1750 Max. :2000
我们也可以提取指定的列:
实例
table = data.frame( 姓名 = c("张三", "李四"), 工号 = c("001","002"), 月薪 = c(1000, 2000) ) # 提取指定的列 result