【发布时间】:2020-11-20 22:25:43
【问题描述】:
我正在尝试为我编写一个自动过滤过程的函数。考虑这个专注于数据数据框的示例:
#generate mock dataframe
set.seed(1)
number <-c("4","5","6")
##groups
colors <- c("red","orange","green")
fruit <- c("apple","tomato","banana")
animal <- c("chicken","pork","cow")
vector_colors <-map(colors, ~ str_c(.,number, sep = "_")) %>% reduce(c)
vector_fruit <-map(fruit, ~ str_c(.,number, sep = "_")) %>% reduce(c)
vector_animal <-map(animal, ~ str_c(.,number, sep = "_")) %>% reduce(c)
vector <- c(vector_colors,vector_fruit,vector_animal)
#dataframe I'll be working with
data <- tibble(name = vector,
rank = runif(27, 1, 99))
我想要一个函数或 tidyverse/base R 工作流程,每组打印一个项目(即颜色、水果和动物),以便打印的项目与其组中的所有其他项目相比排名最低。在那个种子示例中,想要的结果将是以下向量:
wanted_result <-c("orange_5","apple_6","cow_6")
【问题讨论】:
标签: r conditional-statements filtering tidyverse