R 数据框


R数据框(Data Frames)使用介绍

R数据框(Data Frames)是R语言中最为常用的数据结构,和列表(List)和矩阵(Matrix)相比,它能够存储不同数据类型的数据,包括数字、字符、因子等。本文将为您介绍如何创建、操作和管理R数据框。

创建数据框

R语言中可以通过 data.frame() 函数来创建数据框。例如,我们可以创建一个包含学生姓名、年龄和性别的数据框:

# 模拟数据
name <- c("Tom", "Jerry", "Mike", "Bob")
age <- c(18, 19, 20, 18)
gender <- c("M", "M", "M", "F")

# 创建数据框
student.df <- data.frame(name, age, gender)

访问数据框

当数据框创建完毕之后,我们可以通过以下方法查看数据框的内容:

  • head(student.df):查看前6行数据
  • tail(student.df):查看后6行数据
  • str(student.df):查看数据框的结构,包括每个变量的类型等信息
  • summary(student.df):查看每个变量的基本统计信息,如均值、中位数、分位数等

此外,我们也可以通过以下方式访问数据框的内容:

  • student.df$name:访问名称变量数据
  • student.df$age:访问年龄变量数据
  • student.df[1,]:访问第一行数据
  • student.df[,2]:访问第二列的数据

修改数据框

如果需要修改数据框的内容,可以使用以下方法:

  • student.df$name[1] <- "Jack":将第一个学生的姓名修改为"Jack"
  • student.df$age[2] <- 20:将第二个学生的年龄修改为20
  • student.df[,3] <- c("F", "M", "F", "F"):将所有学生的性别修改为"F"或"M"
  • student.df$score <- c(80, 90, 85, 70):添加一个新的变量score,并为每个学生分配不同的值

子集操作

在数据分析中,我们通常需要使用子集进行分析,以下是常见的子集方法:

  • subset(student.df, age > 18):筛选大于18岁的学生
  • subset(student.df, select = c("name", "score")):只选取名称和得分这两个变量
  • subset(student.df, gender == "F" & score > 80):筛选性别为女性且得分高于80的学生

根据某一列排序

我们也可以使用以下方法根据“age”变量对学生进行排序:

student.df <- student.df[order(student.df$age),]

数据框合并

当我们需要将两个或多个数据框进行合并时,可以使用以下两个函数:

  • merge():基于两个或多个数据框共同的列进行合并
  • rbind():将两个数据框按行合并

数据框导出

在R语言中,我们可以将数据框导出为.csv 或 .txt 文件,以便在其他程序中使用。以下是两个常用的导出方法:

  • write.csv(student.df, "student.csv", row.names = FALSE):将数据框student.df导出至.csv文件中(不需要行名)
  • write.table(student.df, "student.txt", sep = "\t", row.names = FALSE):将数据框student.df导出至.txt文件中(使用Tab分隔符,不需要行名)

总结

R数据框是R语言中最常用的数据结构之一,它可以存储不同数据类型的数据,并且提供了多种数据操作和管理方法。通过本文的介绍,您应该已经掌握了如何创建、访问、修改和管理R数据框,并且可以使用数据框进行数据分析和导出等工作。