如何在R中导入CSV为数据框并进行行筛选与列选择操作?
在R中处理CSV文件:加载与数据筛选
一、加载CSV文件到数据框
基础标准方法:read.csv()
你使用的read.csv()是R原生的标准加载方法,完全可靠,语法简单直接:
# 文件在当前工作目录时直接加载 df <- read.csv("data.csv") # 文件不在工作目录时,传入完整路径 # Windows路径示例 df <- read.csv("C:/Users/xxx/Documents/data.csv") # Linux/macOS路径示例 df <- read.csv("/home/xxx/data.csv")
大文件高效替代方案
如果你的CSV数据量较大,推荐用以下两个工具包提升加载速度:
- data.table包的
fread():加载速度远快于原生方法,支持自动识别列类型
# 首次使用先安装包 install.packages("data.table") library(data.table) # 加载后默认是data.table对象,可转成标准数据框 df <- fread("data.csv") df <- as.data.frame(df)
- readr包的
read_csv():属于tidyverse生态,输出为增强版数据框(tibble),自带列类型推断
install.packages("readr") library(readr) df <- read_csv("data.csv")
查看加载后的数据
- 查看前N行:
head(df)(默认前6行),head(df, 10)可指定看前10行 - 查看后N行:
tail(df) - 查看数据结构(列类型、样本数据):
str(df) - 查看数值列的统计摘要:
summary(df) - RStudio环境中:直接点击环境面板里的
df对象,会弹出交互式数据查看器
二、筛选行与选择特定列
选择特定列
原生方括号语法
# 按列名选择 selected_cols <- df[, c("列名1", "列名2")] # 按列位置选择(比如第1、3列) selected_cols <- df[, c(1, 3)]
dplyr包(tidyverse)语法(更直观)
install.packages("dplyr") library(dplyr) # 选择指定列 selected_cols <- df %>% select(列名1, 列名2) # 排除指定列 selected_cols <- df %>% select(-列名3)
筛选行
原生方括号语法
# 单条件筛选:比如"年龄"列大于30 filtered_rows <- df[df$年龄 > 30, ] # 多条件筛选(&表示且,|表示或) filtered_rows <- df[df$年龄 > 30 & df$性别 == "男", ]
dplyr包(tidyverse)语法
# 单条件筛选 filtered_rows <- df %>% filter(年龄 > 30) # 多条件筛选(逗号等价于&) filtered_rows <- df %>% filter(年龄 > 30, 性别 == "男")
内容的提问来源于stack exchange,提问作者Dalabul Cilmi
相关产品推荐
相关产品推荐

