У меня возникают проблемы с ведущими и конечными пробелами в data.frame. Например, я хотел бы взглянуть на определенной row
в data.frame
на основе определенного условия:Как обрезать ведущие и конечные пробелы в R?
> myDummy[myDummy$country == c("Austria"),c(1,2,3:7,19)]
[1] codeHelper country dummyLI dummyLMI dummyUMI
[6] dummyHInonOECD dummyHIOECD dummyOECD
<0 rows> (or 0-length row.names)
Я задавался вопросом, почему я не получил ожидаемого результата, так как страна Австрия, очевидно, существовала в моей data.frame
. После просмотра моей истории коды и пытаюсь выяснить, что пошло не так, я попробовал:
> myDummy[myDummy$country == c("Austria "),c(1,2,3:7,19)]
codeHelper country dummyLI dummyLMI dummyUMI dummyHInonOECD dummyHIOECD
18 AUT Austria 0 0 0 0 1
dummyOECD
18 1
Все, что я изменил в команде есть дополнительный пробел после Австрии.
Возможны дальнейшие неприятные проблемы. Например, когда мне нравится объединять два кадра на основе столбца страны. Один data.frame
использует "Austria "
, а другой - "Austria"
. Совпадение не работает.
- Есть ли хороший способ «показать» пробелы на экране, чтобы я знал о проблеме?
- И могу ли я удалить ведущие и завершающие пробелы в R?
До сих пор я использовал, чтобы написать простой Perl
скрипт, который удаляет пробела, но было бы хорошо, если бы я что-то могу сделать это внутри R.
Я только что увидел, что 'sub()' также использует нотацию Perl. Извини за это. Я попытаюсь использовать эту функцию. Но для моего первого вопроса у меня пока нет решения. – mropa
Как заметил он, это регулярное выражение «^ \\ s + | \\ s + $» будет определять начальное и конечное пробелы. так что x <- gsub («^ \\ s + | \\ s + $", "", x) многие из функций чтения R, которые имеют эту опцию: strip.white = FALSE – Jay