R语言数据结构5:dataframe
由于不同的列可以包含不同模式(数值型、字符型等)的数据,数据框的概念较矩阵来说更为一般。数据框是R中最常处理的数据结构。
1.创建数据框
1.1 基础创建方法:使用data.frame()
data.frame(..., row.names = NULL, check.rows = FALSE,
check.names = TRUE, fix.empty.names = TRUE,
stringsAsFactors = FALSE)
...输入列向量:可以是向量、列表、矩阵或其他数据框。所有列必须长度相同(或可循环扩展至相同长度)。row.names:NULL或单个整数或字符字符串,指定行名的向量或列名。check.rows:如果 TRUE,则检查行在长度和名称上的一致性。通常无需启用(保持默认 FALSE)。check.names:逻辑值。如果 TRUE,则检查数据框中变量的名称,以确保它们是语法有效的变量名称且不重复。fix.empty.names:逻辑值,是否自动命名未命名的列。默认 TRUE:无名列命名为 Var1, Var2 等。stringsAsFactors:逻辑值:是否将字符向量转换为因子。若为 TRUE,字符向量自动转换为因子(Factor)。
# 创建等长向量
id <- 1:5
name <- c("张三", "李四", "王五", "赵六", "钱七")
age <- c(28, 32, 25, 41, 36)
salary <- c(8500, 12000, 6800, 15000, 11000)
hired <- as.Date(c("2020-01-15", "2018-03-22", "2022-05-30", "2015-11-10", "2019-07-15"))
# 创建数据框
df <- data.frame(
员工ID = id,
姓名 = name,
年龄 = age,
薪资 = salary,
入职日期 = hired
)
df
1.2 tibble()
tibble(
..., # 列数据(名称 = 值)
.rows = NULL, # 预分配行数(可选)
.name_repair = "check_unique" # 列名处理规则
)
tibble_row(
..., # 列数据(名称 = 值)
.name_repair = "check_unique" # 列名处理规则
)
1.3. tibble vs data.frame 关键区别
| 特性 | tibble | data.frame |
|---|---|---|
| 字符串转因子 | 永不自动转换 | 默认转换(需设 stringsAsFactors=FALSE) |
| 列名修正 | 保留原样(可选修复) | 默认自动修正(check.names=TRUE) |
| 打印输出 | 简洁(显示类型) | 全部输出(可能卡顿) |
| 部分匹配 | 禁止(df$col 必须全名) | 允许(df$co 可能匹配 df$col) |
| 循环补齐 | 警告(除非长度为1) | 静默补齐 |

被折叠的 条评论
为什么被折叠?



