数据框(data.frame)是R语言中常用的数据结构之一,它可以存储不同类型的数据,并以表格形式展示

创建数据框

1
2
3
4
5
6
7
8
9
10
11
12
13
# 创建一个示例数据框
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

  

查看数据结构

1
2
3
4
5
6
7
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

  

访问数据框中的元素

1
2
3
4
my_df$col1  # 访问某一列
my_df[, 1]  # 访问某一列(使用索引)
my_df[2, 1]  # 访问某一行某一列
my_df["row2", "col1"]  # 访问某一行某一列(使用行名和列名)

  

添加列到数据框

1
2
3
4
5
6
7
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

  

删除数据框中的列

1
2
3
4
5
6
7
my_df$col2 <- NULL
 
结果:
  col1  col3 new_col
1    1  TRUE       4
2    2 FALSE       5
3    3  TRUE       6

  

过滤数据框

1
2
3
4
5
6
7
8
9
10
11
12
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

  

修改数据框元素

1
2
3
4
5
6
7
my_df[1, 1] <- 10
 
结果:
  col1  col3 new_col
1   10  TRUE       4
2    2 FALSE       5
3    3  TRUE       6

合并数据框

1
2
3
4
5
6
7
8
9
10
11
12
13
14
# 创建两个数据框
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

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
# 创建两个数据框
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

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# 创建两个数据框
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

  

 

posted on   黑逍逍  阅读(34)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!



点击右上角即可分享
微信分享提示