比如说我的数据是:
Year Car Doors Cylinder Transmission
2003 Nissan 4 4 MT
2006 Nissan 4 4 MT
2003 Honda 2 6 AT
我希望Shiny返回MT显示的第一个实例。我该怎么办?
我的代码:
df_example <- cars %>%
filter(cylinder = 4,
doors = 4) %>%
slice(1)
我们可以修改代码,无需
filter
library(dplyr)
cars %>%
slice(which(Cylinder == 4 & Doors == 4)[1])
-输出
# Year Car Doors Cylinder Transmission
#1 2003 Nissan 4 4 MT
如果我们需要提取“传输”,请使用
pull
cars %>%
slice(which(Cylinder == 4 & Doors == 4)[1]) %>%
pull(Transmission)
注意:在
filter
中,使用的表达式是赋值运算符(=
)而不是比较运算符(==
)。 此外,R
区分大小写,即它需要确切的列名称,而不是小写的列名称。 根据显示的数据,列名称是 Cylinder
和 Doors
,而不是 cylinder
和 doors
cars <- structure(list(Year = c(2003L, 2006L, 2003L), Car = c("Nissan",
"Nissan", "Honda"), Doors = c(4L, 4L, 2L), Cylinder = c(4L, 4L,
6L), Transmission = c("MT", "MT", "AT")), class = "data.frame",
row.names = c(NA,
-3L))