我有一个数据框,并试图只选择我感兴趣的观察结果:
data[data["Var1"]>10]
Run Code Online (Sandbox Code Playgroud)
不幸的是,这个命令会破坏data.frame结构并返回一个长向量.
我想得到的是data.frame缩短了与我的标准不符的观察结果.
And*_*rie 68
您的陈述中缺少逗号.
试试这个:
data[data[, "Var1"]>10, ]
Run Code Online (Sandbox Code Playgroud)
要么:
data[data$Var1>10, ]
Run Code Online (Sandbox Code Playgroud)
要么:
subset(data, Var1>10)
Run Code Online (Sandbox Code Playgroud)
例如,在内置数据集上试一试, 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
Run Code Online (Sandbox Code Playgroud)
使用dplyr包的另一种方法:
library(dplyr)
df <- mtcars %>%
filter(mpg > 25)
Run Code Online (Sandbox Code Playgroud)
没有链(%>%)运算符:
library(dplyr)
df <- filter(mtcars, mpg > 25)
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
103466 次 |
最近记录: |