数据框(data.frame)是R语言中常用的数据结构之一,它可以存储不同类型的数据,并以表格形式展示
创建数据框
# 创建一个示例数据框
my_df <- data.frame(
col1 = c(1, 2, 3),
col2 = c("A", "B", "C"),
col3 = c(TRUE, FALSE, TRUE)
)
结果:
col1 col2 col3
1 1 A TRUE
2 2 B FALSE
3 3 C TRUE
查看数据结构
str(my_df) 结果: 'data.frame': 3 obs. of 3 variables: $ col1: num 1 2 3 $ col2: Factor w/ 3 levels "A","B","C": 1 2 3 $ col3: logi TRUE FALSE TRUE
访问数据框中的元素
my_df$col1 # 访问某一列 my_df[, 1] # 访问某一列(使用索引) my_df[2, 1] # 访问某一行某一列 my_df["row2", "col1"] # 访问某一行某一列(使用行名和列名)
添加列到数据框
my_df$new_col <- c(4, 5, 6) 结果: col1 col2 col3 new_col 1 1 A TRUE 4 2 2 B FALSE 5 3 3 C TRUE 6
删除数据框中的列
my_df$col2 <- NULL 结果: col1 col3 new_col 1 1 TRUE 4 2 2 FALSE 5 3 3 TRUE 6
过滤数据框
filtered_df <- my_df[my_df$col1 > 2, ]
subset_df <- my_df[1:2, c("col1", "col3")]
结果:
# filtered_df:
col1 col3 new_col
3 3 TRUE 6
# subset_df:
col1 col3
1 1 TRUE
2 2 FALSE
修改数据框元素
my_df[1, 1] <- 10 结果: col1 col3 new_col 1 10 TRUE 4 2 2 FALSE 5 3 3 TRUE 6
合并数据框
# 创建两个数据框
df1 <- data.frame(ID = c(1, 2, 3),
Name = c("Alice", "Bob", "Charlie"))
df2 <- data.frame(ID = c(2, 3, 4),
Age = c(25, 30, 35))
# 使用 merge() 函数按照共有的列(ID)进行合并
merged_df <- merge(df1, df2, by = "ID")
结果:
ID Name Age
1 2 Bob 25
2 3 Charlie 30
# 创建两个数据框
df1 <- data.frame(ID = c(1, 2, 3),
Name = c("Alice", "Bob", "Charlie"))
df2 <- data.frame(Age = c(25, 30, 35))
# 使用 cbind() 函数按列合并数据框
merged_df <- cbind(df1, df2)
结果:
ID Name Age
1 1 Alice 25
2 2 Bob 30
3 3 Charlie 35
# 创建两个数据框
df1 <- data.frame(ID = c(1, 2, 3),
Name = c("Alice", "Bob", "Charlie"))
df2 <- data.frame(ID = c(4, 5, 6),
Name = c("Dave", "Eve", "Frank"))
结果:
ID Name
1 1 Alice
2 2 Bob
3 3 Charlie
4 4 Dave
5 5 Eve
6 6 Frank
浙公网安备 33010602011771号