【发布时间】:2020-07-22 14:55:36
【问题描述】:
我有以下数据集:crab_traps <- tibble(trap_id = 1:5, logger_1 = c(2, 3, 4, 5, 6), logger_2 = c(9, 7, 5, 3, 1), logger_3 = c(6, 5, 1, 7, 8)trap_id 标识一个特定的捕蟹器,每个 logger_* 列是到水质记录器的距离。
我想创建一个新的列(最好使用dplyr::mutate)来确定哪个记录器最接近每个陷阱。
希望新列类似于closest_logger <- c("logger_1", "logger_1", "logger_3", "logger_2", "logger_2")(使用此示例数据)
我已经尝试过crab_traps <- crab_traps %>% rowwise() %>% mutate(closest_logger = min(logger_1, logger_2, logger_3)),它给出了我是最小的测量值,但我想获取最小测量值来自的列的名称。
任何帮助都会很棒!
【问题讨论】:
-
试试
names(crab_traps[-1])[max.col(-crab_traps[-1])]