📜  R数据帧(1)

📅  最后修改于: 2023-12-03 15:19:54.137000             🧑  作者: Mango

R数据帧简介

R数据帧是一种非常常见的数据结构,它类似于表格,由多个有关联的向量组成。R数据帧的每一列可以是不同的数据类型,例如字符型数据、数值型数据、布尔型数据等等。R数据帧是R语言中用来处理数据的基本工具之一,它在数据清洗、数据分析及机器学习中都有广泛的应用。

创建数据帧

创建数据帧可以通过调用data.frame()函数,该函数可以按列或者按行来赋值,具体见以下例子:

# 按列赋值
df_column <- data.frame(name = c("Alice", "Bob", "Cindy"), age = c(25, 30, 35), married = c(FALSE, TRUE, TRUE))
df_column

# 按行赋值
df_row <- data.frame(t(data.frame(c("Alice", "Bob", "Cindy"), c(25, 30, 35), c(FALSE, TRUE, TRUE))))
df_row

以上两种方法都可以创建一个与列名和列中元素类型匹配的数据帧。

操作数据帧
切片与索引

针对数据帧的切片与索引与数组非常相似,具体见以下例子:

# 索引列
df_column$name
df_column[, 1]
df_column[1:3, 1]

# 索引行
df_row[2, ]
数据操作

R语言提供了非常好用的数据操作程序包dplyrtidyr,它们可以在不丢失数据的前提下进行数据清洗、转换和整理。以下例子演示了使用dplyr进行筛选、排序的操作:

library(dplyr)
df_column %>% filter(age > 25) %>% arrange(desc(age))
数据聚合

数据聚合是数据分析中最常见的操作之一,dplyr包提供了丰富的数据聚合函数,例如summarise()group_by()等等。以下例子演示了一个简单的聚合操作:

df_column %>% group_by(married) %>% summarise(avg_age = mean(age))

以上代码按照婚姻状况分组,统计了每个分组内的平均年龄。

总结

本文介绍了R数据帧的创建、切片、索引和数据操作的基本方法,同时也讲解了如何使用dplyr包进行数据聚合和操作,R数据帧是R语言中一个非常重要的数据结构,如果您要进行数据分析或机器学习,掌握数据帧的使用是必不可少的。