Очистка столбца с пробелами, которые получают фамилию, чтобы я мог отфильтровать его из моего фрейма данных - PullRequest
0 голосов
/ 25 июня 2019

Я в тупике.Моя проблема в том, что я хочу получить конкретные имена из данного столбца.Однако, когда я пытаюсь отфильтровать их, я получаю большинство имен, за исключением нескольких, хотя я четко вижу их имена в оригинальном файле Excel.Я думаю, что он должен делать какие-то специальные символы или пробелы в столбце имени.Я запутался в том, как я могу это исправить.

Я пытался использовать функцию excels clean (), чтобы применить это к данному столбцу.Я попытался обработать поток Alteryx для очистки данных.Все эти шаги не помогли никому.Я начинаю задаваться вопросом, если это проблема.

surveyData %>% filter(`Completed By` == "Spencer,(redbox with whitedot in middle)Amy")

surveyData %>% filter(`Completed By` == "Spencer, Amy")

в первой строке было это красное поле с белой точкой между запятой и именем.Я получил эту красную коробку с белой точкой, скопировав имя из фрейма данных и скопировав его в блокнот, а затем вставив его в r.Это на самом деле работает и возвращает то, что я хочу.Теперь второй случай - это стандартное пространство, которое не возвращает то, что я хочу.Так как я могу решить эту проблему, не копируя имя из фрейма данных и копируя его в блокнот, а затем копируя результаты из блокнота в r, который имеет красное поле с белой точкой между запятой (,) и именем.

Ожидаемые результаты: я получаю строки, которые связаны с тем именем, по которому я фильтрую.

1 Ответ

0 голосов
/ 25 июня 2019

Мне удалось найти ответ, оказалось, что пробел на самом деле является пробелом с юникодом (U + 00A0) по сравнению с обычным юникодом пространства (U + 0020). Разрывное пространство не является частью Американского стандартного кода для обмена информацией (ACSII). Таким образом, r filter () не смог получить некоторые имена, потому что у них были пробелы. Я исправил это, подставив Юникод пробела в Юникод для обычного пространства и применив его к моему столбцу. Пример ниже:

 space_fix = gsub("\u00A0", " ", surveyData$`Completed By`, fixed = TRUE) #subbing break space unicode with space unicode for the given column I am interested in

surveyData$`Completed By Clean` = space_fix 

Однажды я применил это, я мог легко отфильтровать любое имя!

Спасибо всем!

...