назначить одну и ту же метку нескольким переменным с одинаковым суффиксом - R - PullRequest
0 голосов
/ 28 ноября 2018

Есть ли способ назначить метки нескольким переменным, которые, например, заканчиваются общим суффиксом?У меня есть много переменных, которые должны быть помечены одинаковым общим суффиксом.Я изучал это в dplyr и labelled, и я открыт для альтернативных способов.Примерно так? -

library(tidyverse)
library(labelled)   

df<-mtcars %>% mutate_at(vars(ends_with("p")), 
                         funs(set_variable_labels(., labels ="these things end with p")))

Редактировать: , кажется, работает с sophisthse функцией set_variable_labels, но не labelled, по крайней мере, с этим стилем синтаксиса.Добавление sophisthse в среду:

library(sophisthse)  
mtcars %>% select(ends_with("p")) %>% 
    sophisthse::set_variable_labels(., label = rep("these things end with p", length(.))) 

Редактировать: ниже, я закончил использовать setattr с data.table

Ответы [ 2 ]

0 голосов
/ 01 декабря 2018

Это решение также может работать хорошо, поскольку использование setattr из data.table позволит назначать больше типов атрибутов, кроме меток, если, например, есть интерес к хранению заметок или флагов, и все еще может использоваться с dplyr Выберите помощников, чтобы применить функцию к выбранным переменным.

library(dplyr)
library(data.table)
df<-mtcars%>% 
      mutate_at(vars(ends_with("p")),funs(setattr(.,"label","ends with p")))%>% 
      mutate_at(vars(ends_with("p")),funs(setattr(.,"description","aboutthisvariable")))%>% 
      mutate_at(vars(starts_with("c")),funs(setattr(.,"flag","watchoutforthattree")))
0 голосов
/ 29 ноября 2018

Мы можем сделать это с

library(dplyr)
library(sophisthse)
 mtcars %>% 
   select(ends_with("p")) %>% 
   set_variable_labels(., labels = rep("these things end with p", length(.))) 
...