如何在read.csv函数中直接筛选数据框,排除tm列值为TOT的行?
问题解答
read.csv()本身没有内置参数支持读取时直接过滤行,所以没法单独靠这个函数完成移除tm列值为TOT的行的操作,但可以用更紧凑的链式写法或者其他读取工具实现类似"读取时过滤"的效果:
- 用基础R的索引写法,比
subset更简洁:nba <- read.csv("~/Desktop/NBA Data/Advanced.csv")[tm != "TOT", ] - 要是用tidyverse生态的工具,
readr::read_csv()配合dplyr::filter()的组合更直观:library(tidyverse) nba <- read_csv("~/Desktop/NBA Data/Advanced.csv") |> filter(tm != "TOT") - 处理大数据的话,推荐用data.table的
fread(),它支持读取后直接链式过滤,效率更高:library(data.table) nba <- fread("~/Desktop/NBA Data/Advanced.csv")[tm != "TOT"]
内容的提问来源于stack exchange,提问作者TCapi22
相关产品推荐
相关产品推荐

