如何有效地过滤数据框? [英] How to efficiently filter a data frame?
本文介绍了如何有效地过滤数据框?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有一个数据框,试图只选择我感兴趣的观测数据:
data [data [Var1]> 10]
不幸的是,这个命令破坏了data.frame结构并返回一个很长的向量。
我想要的是data.frame缩短了与我的标准不符的观察值。
<您在您的声明中缺少逗号。
试试这个: $ b $ b
data [data [,Var1]> 10,]
或者:
data [data $ Var1> 10,]
或者:
子集(数据,Var1> 10)
例如,在内置的数据集 mtcars
data (mtcars)
mtcars [mtcars [,mpg]> 25,]
mpg cyl disp hp drat wt qsec vs am gear碳
菲亚特128 32.4 4 78.7 66 4.08 2.200 19.47 1 1 4 1
本田思域30.4 4 75.7 52 4.93 1.615 18.52 1 1 4 2
丰田卡罗拉33.9 4 71.1 65 4.22 1.835 19.90 1 1 4 1
菲亚特X1-9 27.3 4 79.0 66 4.08 1.935 18.90 1 1 4 1
保时捷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汽油发动机重量qsec与中间齿轮碳水化合物
菲亚特128 32.4 4 78.7 66 4.08 2.200 19.47 1 1 4 1
本田思域30.4 4 75.7 52 4.93 1.615 18.52 1 1 4 2
丰田卡罗拉33.9 4 71.1 65 4.22 1.835 19.90 1 1 4 1
菲亚特X1-9 27.3 4 79.0 66 4.08 1.935 18.90 1 1 4 1
保时捷914-2 26.0 4 120.3 91 4.43 2.140 16.70 0 1 5 2
莲花欧洲30.4 4 95.1 113 3.77 1.513 16.90 1 1 5 2
子集(mtcars,mpg> 25)
mpg cyl disp hp drat wt qsec vs am gear carb
菲亚特128 32.4 4 78.7 66 4.08 2.200 19.47 1 1 4 1
本田思域30.4 4 75.7 52 4.93 1.615 18.52 1 1 4 2
丰田卡罗拉33.9 4 71.1 65 4.22 1.835 19.90 1 1 4 1
菲亚特X1-9 27.3 4 79.0 66 4.08 1.935 18.90 1 1 4 1
保时捷914-2 26.0 4 120.3 91 4.43 2.140 16.70 0 1 5 2
荷花欧罗巴30.4 4 95.1 113 3.77 1.513 16.90 1 1 5 2
I have a data frame and tried to select only the observations I'm interested in by this:
data[data["Var1"]>10]
Unfortunately, this command destroys the data.frame structure and returns a long vector.
What I want to get is the data.frame shortened by the observations that don't match my criteria.
解决方案
You are missing a comma in your statement.
Try this:
data[data[, "Var1"]>10, ]
Or:
data[data$Var1>10, ]
Or:
subset(data, Var1>10)
As an example, try it on the built-in dataset, 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
这篇关于如何有效地过滤数据框?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文