微信扫一扫 分享朋友圈

已有 223 人浏览分享

开启左侧

R语言基础(5)-数据框取子集

[复制链接]
223 0
1.先生成一个数据框
  1. # 创建数据框
  2. df <- data.frame(
  3.   Name = c("Alice", "Bob", "Carol", "David"),
  4.   Age = c(25, 30, 45, 22),
  5.   Occupation = c("Doctor", "Artist", "Engineer", "Student")
  6. )

  7. # 打印原始数据框
  8. print(df)
复制代码





2.然后这些代码段提供了多种方式来检查和理解你的数据框的结构和内容:
  • colnames() 和 rownames() 分别用于获取列名和行名。
  • dim() 返回一个向量,包含数据框的行数和列数。
  • nrow() 和 ncol() 分别返回行数和列数。
  • str() 提供了数据框中每列的详细结构信息,包括数据类型和前几个数据点。
  • summary() 提供了每列的摘要统计,如最小值、第一四分位数、中位数、平均值、第三四分位数和最大值,对于因子型数据,还会显示每个级别的计数。


  1. # 获取和打印列名
  2. column_names <- colnames(df)
  3. print(paste("Column names:", toString(column_names)))

  4. # 获取和打印行名
  5. row_names <- rownames(df)
  6. print(paste("Row names:", toString(row_names)))

  7. # 获取和打印数据框的维度(行数和列数)
  8. dimensions <- dim(df)
  9. print(paste("Dimensions: Rows =", dimensions[1], ", Columns =", dimensions[2]))

  10. # 单独打印行数
  11. number_of_rows <- nrow(df)
  12. print(paste("Number of rows:", number_of_rows))

  13. # 单独打印列数
  14. number_of_columns <- ncol(df)
  15. print(paste("Number of columns:", number_of_columns))

  16. # 使用 str() 查看数据框的结构
  17. print("Structure of the dataframe:")
  18. str(df)

  19. # 使用 summary() 查看数据框的摘要信息
  20. print("Summary of the dataframe:")
  21. summary(df)
复制代码



3..假设我们要选取年龄大于 25 岁的人,用$符号

  1. # 选取年龄大于 25 的行
  2. subset_df <- df[df$Age > 25, ]

复制代码




4.我们还可以结合多个条件来选取子集。比如,我们想找到年龄大于 25 并且职业为“Engineer”的人:


  1. # 使用 & 连接多个条件
  2. subset_df <- df[df$Age > 25 & df$Occupation == "Engineer", ]

复制代码


5.R 还提供了一个便捷的 subset() 函数,可以更简洁地进行子集选取:

  1. subset_df <- subset(df, Age > 25 & Occupation == "Engineer")
复制代码

6.按列取

  1. df$Age
复制代码


7.按坐标


  1. df[2,2]     # 打印第二行第二列的元素
  2. df[2,]       # 打印第二行的所有元素
  3. df[,2]        # 打印第二列的所有元素
  4. df[c(1,3),1:2] # 打印第一行和第三行的第一列和第二列
  5. df[2]  # 打印第二列
  6. df[, c(1, 3)]  # 选择多列
复制代码


8.按列名


  1. df[["Name"]]  
  2. df[, "Name"]
  3. df[, "Name", drop = FALSE]
  4. df[, c("Name", "Occupation")]
复制代码


您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

0

关注

0

粉丝

17

主题
精彩推荐
热门资讯
网友晒图
图文推荐

免责声明|手机版|小黑屋|BIOFUN.CLOUD ( 苏ICP备2022022893号-2 )

GMT+8, 2025-1-3 05:28 , Processed in 0.124560 second(s), 30 queries .

Powered by Discuz! X3.5

© 2020-2030 Biofun Team. 苏ICP备2022022893号-2