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(),它将打印函数的副作用并传输数据。 –