#r #special-characters #data-cleaning
#r #специальные символы #очистка данных
Вопрос:
Я работаю с некоторыми большими наборами данных, которые содержат специальные символы в именах столбцов. Имена столбцов выглядят примерно так: «@c_age1619_da * ((df.возраст gt;= 16) amp; (df.возраст gt; Как лучше всего работать с этими именами? Должен ли я сохранить имена такими, какие они есть, или переименовать их в более удобные для R имена? Когда я вызываю их в таких случаях, как значение df$, R ошибочно интерпретирует имя столбца как функцию!
Комментарии:
1. Я бы рекомендовал удалить их или переименовать. Возможно, есть также изменения в процессе импорта данных, которые можно внести. Если вы не знакомы
r
, код для выполнения каждогоnames(yourdata) lt;- NULL
из них илиnames(df1) lt;- c("col1", "col2", "col3")
Ответ №1:
Единственное преимущество сохранения нестандартных имен заключается в том, если вы хотите использовать их в качестве меток на графике или в таблице или в чем-то еще. Но это очень затруднит работу с данными, и эти имена могут быть повторно введены в качестве меток позже. Вы можете использовать нестандартные имена, помещая их в обратные ссылки, например,
df #r #special-characters #data-cleaning #r #специальные символы #очистка данных
Вопрос:
Я работаю с некоторыми большими наборами данных, которые содержат специальные символы в именах столбцов. Имена столбцов выглядят примерно так: "@c_age1619_da * ((df.возраст gt;= 16) amp; (df.возраст gt; Как лучше всего работать с этими именами? Должен ли я сохранить имена такими, какие они есть, или переименовать их в более удобные для R имена? Когда я вызываю их в таких случаях, как значение df$, R ошибочно интерпретирует имя столбца как функцию!Комментарии:
1. Я бы рекомендовал удалить их или переименовать. Возможно, есть также изменения в процессе импорта данных, которые можно внести. Если вы не знакомыr
, код для выполнения каждогоnames(yourdata) lt;- NULL
из них илиnames(df1) lt;- c("col1", "col2", "col3")
Ответ №1:
Единственное преимущество сохранения нестандартных имен заключается в том, если вы хотите использовать их в качестве меток на графике или в таблице или в чем-то еще. Но это очень затруднит работу с данными, и эти имена могут быть повторно введены в качестве меток позже. Вы можете использовать нестандартные имена, помещая их в обратные ссылки, например, @c_age1619_da`
Некоторые редакторы (например, RStudio) будут правильно заполнять эти нестандартные имена автоматически, что несколько упрощает работу с ними, но все равно не так приятно, как со стандартными именами.
Переименование их в стандартные имена, как правило, лучше. Многие функции, считывающие данные, будут делать это автоматически. Вы можете использовать эту make.names
функцию для преобразования нестандартных имен в стандартные имена, в основном заменяя любые специальные символы на .
s. Подобный этому:
names(my_data) = make.names(names(my_data))
Но, как правило, лучше всего создавать осмысленные имена вручную. sovtoll_available....False
тоже не очень дружелюбное имя по сравнению с чем-то вроде sovtoll_unavailable
.
Комментарии:
1. Спасибо вам за исчерпывающее объяснение. У меня есть еще один вопрос. Выполняет
clean_names
ли функция из библиотеки уборщика аналогичные изменения в именах, какmake.names
это делается?2. Я никогда не использовал его раньше, но, глядя на документацию, это звучит похоже. Звучит так, как будто он использует
_
, а не.
. Будучи более новой функцией в хорошо поддерживаемом пакете, в целом она может выполнять более приятную работу.