r - 如何过滤数据框

标签 r filter r-faq

我有一个数据框,并尝试通过此方法仅选择我感兴趣的观测值:

data[data["Var1"]>10]

不幸的是,此命令破坏了data.frame结构并返回一个长vector

我想要得到的是通过与我的标准不符的观察而缩短的data.frame

最佳答案

您在声明中缺少逗号。

尝试这个:

data[data[, "Var1"]>10, ]

要么:
data[data$Var1>10, ]

要么:
subset(data, Var1>10)

作为示例,请在内置数据集mtcars上尝试
data(mtcars)

mtcars[mtcars[, "mpg"]>25, ]

                mpg cyl  disp  hp drat    wt  qsec vs am gear carb
Fiat 128       32.4   4  78.7  66 4.08 2.200 19.47  1  1    4    1
Honda Civic    30.4   4  75.7  52 4.93 1.615 18.52  1  1    4    2
Toyota Corolla 33.9   4  71.1  65 4.22 1.835 19.90  1  1    4    1
Fiat X1-9      27.3   4  79.0  66 4.08 1.935 18.90  1  1    4    1
Porsche 914-2  26.0   4 120.3  91 4.43 2.140 16.70  0  1    5    2
Lotus Europa   30.4   4  95.1 113 3.77 1.513 16.90  1  1    5    2


mtcars[mtcars$mpg>25, ]

                mpg cyl  disp  hp drat    wt  qsec vs am gear carb
Fiat 128       32.4   4  78.7  66 4.08 2.200 19.47  1  1    4    1
Honda Civic    30.4   4  75.7  52 4.93 1.615 18.52  1  1    4    2
Toyota Corolla 33.9   4  71.1  65 4.22 1.835 19.90  1  1    4    1
Fiat X1-9      27.3   4  79.0  66 4.08 1.935 18.90  1  1    4    1
Porsche 914-2  26.0   4 120.3  91 4.43 2.140 16.70  0  1    5    2
Lotus Europa   30.4   4  95.1 113 3.77 1.513 16.90  1  1    5    2

subset(mtcars, mpg>25)

                mpg cyl  disp  hp drat    wt  qsec vs am gear carb
Fiat 128       32.4   4  78.7  66 4.08 2.200 19.47  1  1    4    1
Honda Civic    30.4   4  75.7  52 4.93 1.615 18.52  1  1    4    2
Toyota Corolla 33.9   4  71.1  65 4.22 1.835 19.90  1  1    4    1
Fiat X1-9      27.3   4  79.0  66 4.08 1.935 18.90  1  1    4    1
Porsche 914-2  26.0   4 120.3  91 4.43 2.140 16.70  0  1    5    2
Lotus Europa   30.4   4  95.1 113 3.77 1.513 16.90  1  1    5    2

关于r - 如何过滤数据框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7106330/

相关文章:

Rserve - 一台服务器上有多个实例?

r - 如何在 R v3.1.2 上安装多核软件包?

r - 如何更改 ggplot 图中某个因素的 1 个级别的美观和外观

r - 如何将单个列扩展为宽格式,其中 0 和 1 作为有条件定义的值?

python - 什么会阻止过滤器返回 0?

grails - 如何在 Grails 中取消过滤?

r - 当某些数字包含逗号作为千位分隔符时如何读取数据?

javascript - 过滤下划线中的对象

r - 使用 ggplot2 并排绘图

r - %op% 运算符是什么意思?例如 "%in%"?