从数据表的列中选择数据

问题描述 投票:0回答:1

比如说我的数据是:

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)
r dataframe
1个回答
0
投票

我们可以修改代码,无需

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))
© www.soinside.com 2019 - 2024. All rights reserved.