Я хочу упростить мой код и свести к минимуму ручные настройки в зависимости от набора данных, который я запускаю через него. Т.е. я получаю пакеты данных по странам, но каждая страна немного отличается с точки зрения полей и названий полей, поэтому требует настройки каждый раз, когда я запускаю новую страну. Я хотел бы устранить твики и сделать выборочное кодирование. (Многие из проблем, которые я легко решаю с помощью ifelse (), но я не смог, например, выполнить условное изменение).
Это вопрос логики c, поэтому, пожалуйста, дайте мне знать, если я должен был загрузить набор данных.
Это новый пример, который я только что добавил. Я понял, так как тот, который я использовал, был мутатным, было много инструментов, чтобы ответить на вопрос. В этом примере я имею дело с данными из разных стран, каждая из которых имеет разную размерность, которые я хочу сохранить. Я, конечно, мог бы использовать разные коды для каждого, но я думаю, что было бы чище, если бы я использовал один и тот же код, но он учитывал данные разных стран.
Я создал эту версию, используя mutate с ifelse, создавая переменные для этих необычных измерений, и это работает. Мне интересно, есть ли альтернатива в R, где я могу запустить отборные фрагменты кода (и хороший ответ может быть, такой опции нет внутри каналов). [Я знаю, как делать с отдельными наборами кода и если {} else {}.
Имейте в виду, это часть гораздо большего блока кода, который мне нужен для запуска всех стран ... это всего лишь иллюстративное подмножество.
# As you can see, I comment out each countries unique variables (and spelling!)
P_Region_HP_Brand <- P_Region_HP %>%
left_join(M_brand) %>%
left_join(M_prodcat) %>%
group_by(Calendar_Year, Calendar_Quarter, Calendar_Month, Calendar_Month_txt, Date,
region_b_frcst5, region_b_frcst7, Country, country_b,
BrandSummary, rank_m, Launch_Year, Launch_Month, Model, PriceSegment, SumProdCat, ProductCategory, True_Wireless, ProductType,
# SPORTS, VOICE.ASSISTANT.FUNCTION # JPN
# Sports, Heart.Rate.Sensor # EU3
# HEARTMON, WTRRSST # USA
Sports, DIST_TYP # CHN
) %>%
summarize(Dollars = sum(Dollars), # ALL (inc USA)
Local_Currency = sum(Local_Currency), # ALL
Units = sum(Units)) %>%
select(Calendar_Year, Calendar_Quarter, Calendar_Month, Calendar_Month_txt, Date, Launch_Year, Launch_Month,
region_b_frcst5, region_b_frcst7, Country, country_b,
BrandSummary, Model, PriceSegment, SumProdCat, ProductCategory, True_Wireless, ProductType,
Units, Dollars, Local_Currency, rank_m, # ALL (inc USA)
# HEARTMON, WTRRSST, # USA
# SPORTS, VOICE.ASSISTANT.FUNCTION # JPN
# Sports, Heart.Rate.Sensor # EU3
Sports, DIST_TYP # CHN
) %>%
as.data.frame() %>%
arrange(Country, desc(Date), desc(Local_Currency))
Кто-нибудь знает решение для этого, которое позволит мне сделать мой код достаточно простым? & запустить выбранные строки для заданных стран?