簡體   English   中英

具有多個條件的 dplyr 過濾器 data.frame

[英]dplyr filter data.frame with multiple criteria

我有帶列的數據框。 我想返回一個子數據框,它被多個條件從原始數據框過濾掉。 我的第一個問題是我想按兩列過濾:一列包含離散值,我想過濾包含值“打開”的行。 另一列包含日期值,我想對等於給定日期的行進行復合過濾

這是我的過濾功能,使用 dplyr

agendaReq <- function(recTable, agendaDate)
{

  openTable <- filter(recTable, recTable$reqStatus == "Open") 
  agendaTable <- filter(openTable, recTable$reqDate == agendaDate)
  return (agendaTable)

}

但是,當我在服務器中調用此函數時,如下所示

agendaToShow <- agendaReq(recordTable_CA, Sys.Date())

我收到這個錯誤

Warning: Error in : Result must have length 14, not 16
  56: <Anonymous>
Error : Result must have length 14, not 16

原始數據框中有 16 行。 正確的過濾器應該給我 14 行。 但是這個錯誤是什么意思?

最后,對於離散變量和連續變量的混合,我如何做同樣的事情? (例如,根據性別、身高等過濾...)

謝謝

如果沒有您的數據的小型可重現示例,則很難確定它是否有效,但您是否嘗試過:

library(dplyr)
recTable %>% filter(reqStatus == "Open" & reqDate == agendaDate)

如果這不起作用,請考慮提供一個可重現的數據示例,如下所述: 如何制作出色的 R 可重現示例

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM