我要在显示指定列时过滤值。
例如;
iris[iris$Sepal.Length > 6, ]
代码返回给我整行的间隔长度值大于“ 6”。如何缩小它的显示Sepal.length和sepal.width值的种类,例如其物种为弗吉尼亚州和杂色?
答案 0 :(得分:0)
基本R:
head(iris[iris$Sepal.Length > 6 & iris$Species %in% c("virginica", "versicolor"), c("Sepal.Length", "Sepal.Width")])
# Sepal.Length Sepal.Width
# 51 7.0 3.2
# 52 6.4 3.2
# 53 6.9 3.1
# 55 6.5 2.8
# 57 6.3 3.3
# 59 6.6 2.9
Dplyr:
library(dplyr)
iris %>%
filter(Sepal.Length > 6, Species %in% c("virginica", "versicolor")) %>%
select(Sepal.Length, Sepal.Width) %>%
head()
# Sepal.Length Sepal.Width
# 1 7.0 3.2
# 2 6.4 3.2
# 3 6.9 3.1
# 4 6.5 2.8
# 5 6.3 3.3
# 6 6.6 2.9
Data.table:
library(data.table)
data(iris)
setDT(iris)
head(iris[ Sepal.Length > 6 & Species %in% c("virginica", "versicolor"),
.(Sepal.Length, Sepal.Width) ])
# Sepal.Length Sepal.Width
# 1: 7.0 3.2
# 2: 6.4 3.2
# 3: 6.9 3.1
# 4: 6.5 2.8
# 5: 6.3 3.3
# 6: 6.6 2.9