3
是否有一種方法可以使用dplyr的過濾器函數從數據幀中打印每個過濾器操作過濾器的行數?打印由dplyr的過濾器函數過濾的行數
考慮將其過濾的簡單示例數據幀:
test.df <- data.frame(col1 = c(1,2,3,4,4,5,5,5))
filtered.df <- test.df %>% filter(col1 != 4, col1 != 5)
我想這一段代碼,以輸出:
- '使用篩選出2行:!COL1 = 4'
- '過濾出3行使用:col1!= 5'
我到目前爲止嘗試過創建自己的fu n
print_filtered_rows <- function(dataframe, ...) {
dataframe_new <- dataframe
for(arg in list(...)) {
print(arg)
dataframe <- dataframe_new
dataframe_new <- dataframe %>% filter(arg)
rows_filtered <- nrow(dataframe) - nrow(data_fram_new)
print(sprintf('Filtered out %s rows using: %s', rows_filtered, arg)
}
return(dataframe_new)
}
但我不能真正掌握什麼......實際上是和如何使用它。我讀過:
http://adv-r.had.co.nz/Functions.html#function-arguments
但是,這並沒有真的幫了我。
另外,看看purrr :: walk(),它將打印函數的副作用並傳輸數據。 –