У меня есть case_when
утверждение, которое слишком длинное, и я думаю, что его можно легко сократить с помощью регулярного выражения в именах столбцов
Ввод
de<- dd %>%
#Check that Fraction is % Time Spent in Reflux
mutate(
AcidRefluxBRAVO = case_when(
ReflDay1FractionTimepHLessThan4Supine > 4.2 ~ "SupineAcid",
ReflDay1NumberofRefluxesSupine > 73 ~ "SupineAcid",
ReflDay1FractionTimepHLessThan4Upright> 4.2 ~ "UprightAcid",
ReflDay1NumberofRefluxesUpright > 73 ~ "UprightAcid",
ReflDay1FractionTimepHLessThan4Total > 4.2 ~ "TotalAcid",
ReflDay1NumberofRefluxesTotal > 73 ~ "TotalAcid",
ReflDay2FractionTimepHLessThan4Supine > 4.2 ~ "SupineAcid",
ReflDay2NumberofRefluxesSupine > 73 ~ "SupineAcid",
ReflDay2FractionTimepHLessThan4Upright > 4.2 ~ "UprightAcid",
ReflDay2NumberofRefluxesUpright > 73 ~ "UprightAcid",
ReflDay2FractionTimepHLessThan4Total > 4.2 ~ "TotalAcid",
ReflDay2NumberofRefluxesTotal > 73 ~ "TotalAcid",
ReflDay3FractionTimepHLessThan4Supine > 4.2 ~ "SupineAcid",
ReflDay3NumberofRefluxesSupine > 73 ~ "SupineAcid",
ReflDay3FractionTimepHLessThan4Upright > 4.2 ~ "UprightAcid",
ReflDay3NumberofRefluxesUpright > 73 ~ "UprightAcid",
ReflDay3FractionTimepHLessThan4Total > 4.2 ~ "TotalAcid",
ReflDay4NumberofRefluxesTotal > 73 ~ "TotalAcid",
ReflDay4FractionTimepHLessThan4Supine > 4.2 ~ "SupineAcid",
ReflDay4NumberofRefluxesSupine > 73 ~ "SupineAcid",
ReflDay4FractionTimepHLessThan4Upright > 4.2 ~ "UprightAcid",
ReflDay4NumberofRefluxesUpright > 73 ~ "UprightAcid",
ReflDay4FractionTimepHLessThan4Total > 4.2 ~ "TotalAcid",
ReflDay4NumberofRefluxesTotal > 73 ~ "TotalAcid",
ReflDayTotalFractionTimepHLessThan4Supine > 4.2 ~ "SupineAcid",
ReflDayTotalNumberofRefluxesSupine > 73 ~ "SupineAcid",
ReflDayTotalFractionTimepHLessThan4Upright > 4.2 ~ "UprightAcid",
ReflDayTotalNumberofRefluxesUpright > 73 ~ "UprightAcid",
ReflDayTotalFractionTimepHLessThan4Total > 4.2 ~ "TotalAcid",
ReflDayTotalNumberofRefluxesTotal > 73 ~ "TotalAcid",
TRUE ~ "NoAcid"
)
)
Используемое регулярное выражение:
ReflDay\dNumber.*Supine
ReflDay\dNumber.*Upright
ReflDay\dNumber.*Total
ReflDay\dFraction.*Supine
ReflDay\dFraction.*Upright
ReflDay\dFraction.*Total
Однако я не уверен, как использовать регулярное выражение для имен столбцов в операторе case_when
.