Как стандартизировать выбранные столбцы во фрейме данных панели

Как стандартизировать ВЫБРАННЫЕ столбцы во фрейме данных, если фрейм данных представляет собой панель? Допустим, я хочу только стандартизировать столбцы X2, X4, X6, X7 и X9, явно выбрав их в примере фрейма данных ниже, в то время как я учитываю структуру данных панели.

df <- data.frame(unit=rep(1:250, 4),  
             year=rep(c(2012, 2013, 2014, 2015), each=250),
             replicate(10,sample(0:50000,1000,rep=TRUE)))

Чтобы быть уверенным: под стандартизацией я имею в виду обычную процедуру вычитания среднего и деления на стандартное отклонение.


person BeSeLuFri    schedule 28.04.2018    source источник


Ответы (1)


Мы можем использовать mutate_at

library(dplyr)
df %>%
   group_by(unit) %>%
   mutate_at(vars(X2, X4, X6, X7, X9), funs(as.vector(scale(.))))
person akrun    schedule 28.04.2018
comment
Спасибо! И если я хочу стандартизировать по группам, я просто добавляю group_by(unit) %›% - person BeSeLuFri; 29.04.2018