В настоящее время у меня есть очень длинный и повторяющийся бит кода для нормализации и инверсии данных ((x-min) / (max-min) * - 1) +1), который я хочу немного очистить.
Это небольшой пример того, как он выглядит в настоящее время:
W3_E1_Norm_New <- W3_E1_Average%>%
mutate(W3_E1_Norm_New = ((W3_E1_zoo-W3_E1_Min)/(W3_E1_Max-W3_E1_Min)*-1)+1)
W3_E2_Norm_New <- W3_E2_Average%>%
mutate(W3_E2_Norm_New = ((W3_E2_zoo-W3_E2_Min)/(W3_E2_Max-W3_E2_Min)*-1)+1)
W3_E3_Norm_New <- W3_E3_Average%>%
mutate(W3_E3_Norm_New = ((W3_E3_zoo-W3_E3_Min)/(W3_E3_Max-W3_E3_Min)*-1)+1)
Каждый «W3_E1» относится к идентификатору образца, и в настоящее время каждый идентификатор образца требует, чтобы две строки кода были выписывается каждый раз. В идеале я хотел бы написать функцию, которая может вызывать символьную строку (Sample_IDs) в имена каждого фрейма данных, поэтому что-то вроде
a_Norm_New
вернет
W3_E1_Norm_New
затем
W3_E2_Norm_New
et c.
Есть ли способ написать функцию, которая могла бы выполнить sh это?
Большое спасибо