Как сгруппировать означает центрировать несколько столбцов одновременно?

#r

Вопрос:

У меня нет пролема, выполняющего групповое центрирование для одной переменной за раз, но как я могу сделать это для нескольких переменных одновременно?

 library(misty)
x<-(c(1, 2, 3, 4, 3, 1))
y<-(c(1, NA, 3, 5, 3, 2))
group<-as.factor(c(1, 2, 2, 1, 2, 1))
mydata<-data.frame(x, y, group)
mydata<-mydata%>% mutate(x_cwc = center(mydata$x, type="CWC", group=mydata$group))
mydata<-mydata%>% mutate(y_cwc = center(mydata$y, type="CWC", group=mydata$group))  
 

Комментарии:

1. Способ использования одной и той же функции для нескольких столбцов заключается в следующем across() : mydata %>% mutate(across(everything(), ~center(.x, type="CWC", group=group))

2. Спасибо!! Но моя R-студия не может найти нужную функцию??

3. @дженни королева. используйте пакет dplyr

4. Если у вас есть mutate() , но нет across() , вы должны использовать более старую версию dplyr . Я бы предложил обновить ваш dplyr, или вы могли бы изучить возможность использования функций mutate_all или mutate_each .

5. Мой предыдущий ответ неверен. Это правильно: mutate(across(a:z, ~center(.x, type="CWC", group=group))