Я пытаюсь выполнить рабочий процесс на основе dplyr (вместо того, чтобы использовать в основном data.table, к которому я привык), и я столкнулся с проблемой, что я не могу найти эквивалент dplyr решение. Я обычно запускаю сценарий, где мне нужно условно обновлять/заменять несколько столбцов на основе одного условия. Вот пример кода с моим решением data.table:
library(data.table)
# Create some sample data
set.seed(1)
dt <- data.table(site = sample(1:6, 50, replace=T),
space = sample(1:4, 50, replace=T),
measure = sample(c('cfl', 'led', 'linear', 'exit'), 50,
replace=T),
qty = round(runif(50) * 30),
qty.exit = 0,
delta.watts = sample(10.5:100.5, 50, replace=T),
cf = runif(50))
# Replace the values of several columns for rows where measure is "exit"
dt <- dt[measure == 'exit',
`:=`(qty.exit = qty,
cf = 0,
delta.watts = 13)]
Есть ли простое решение dplyr для этой же проблемы? Я бы хотел избежать использования ifelse, потому что я не хочу вводить условие несколько раз - это упрощенный пример, но иногда есть много назначений, основанных на одном условии.
Заранее благодарим за помощь!