You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何不使用索引e[7, ]打印data.frame中Montreal对应的整行数据?

问题:按列值筛选数据框整行(不使用固定索引)

给定如下R数据框:

e=data.frame(Equipe = c("Washington","Dallas","Chicago","Los Angeles", "St-Louis", "Detroit", "Montréal", "Boston"),
MJ = c(55,56,57,58,56,57,56,57),
V = c(36,32,30,30,25,25,22,24),
D = c(16,19,21,22,19,21,27,31),
DP = c(3,5,6,6,12,11,7,2),
PTS = c(75,69,66,66,62,61,51,50))

要求不使用e[7, ]这类固定位置索引的方式,打印出Equipe列中值为Montréal的整行数据。


解决方法

方法1:基础R逻辑索引

直接通过列值的逻辑条件筛选,完全不依赖行的固定位置:

e[e$Equipe == "Montréal", ]

运行输出:

Equipe MJ  V  D DP PTS
7 Montréal 56 22 27  7  51

方法2:使用基础R的subset()函数

subset()函数专门用于按条件筛选数据框,语法更直观:

subset(e, Equipe == "Montréal")

输出结果与方法1一致。

方法3:tidyverse风格(dplyr包)

如果常用tidyverse工具链,可使用dplyr::filter()函数:

# 先安装并加载dplyr(首次使用需安装)
install.packages("dplyr")
library(dplyr)

# 筛选目标行
filter(e, Equipe == "Montréal")

同样会输出目标行数据。

注意:匹配字符串时要严格一致,原数据中是Montréal(带重音符号é),若写成Montreal会无法匹配到目标行。


内容的提问来源于stack exchange,提问作者nour el'houda ziane

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.15 03:25:31