case_when
не дает ожидаемых результатов:
Мой список:
library(tidyverse)
1:6%>%
str_c('var',.)%>%
map(~assign(.,runif(30,20,100),envir=globalenv()))
tibble<-as_tibble(
bind_cols(mget(ls(pattern='*v')))
)
cluster<-kmeans(tibble,centers=3)
cluster
tibble$kmeans<-as.factor(cluster[['cluster']])
mylist<-split(tibble,tibble$kmeans)
names(mylist)<-str_c('dataset',seq_along(mylist))
Мой код:
variables<-str_c('var',1:6)
mylist%>%
map(~mutate_at(.,.vars=vars(variables),
.funs=funs(.=case_when(
.%in%c(1:50)~'less',
.%in%c(51:100)~'more'
))))
Выходные данные выдают NAs
в новые переменные, а не less
или more
. Что не так с этой функцией?