#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))