2

Мне по-прежнему приходится вручную конвертировать мои back slashes в front slashes . Есть ли быстрый способ сделать это через функцию в R?

Пример, скопированный из Windows Explorer:

G:\Compensation Audits_Reports\Step Audit\Steps off Step.accdb

Пример фрагмента R:

testdb<-file.path("G:/Compensation Audits_Reports/Step Audit/Steps off Step.accdb")

2 ответа2

3

Кажется, что это на самом деле невозможно, потому что пути окон понимаются R таким образом, что "\" экранирует следующий символ. Что-то вроде: "foo\bar" воспринимается как некоторые символы (foo), за которыми следует специальный символ \b за которым следуют некоторые другие нормальные символы (ar).

Чтобы преобразовать одиночный "\" в "/" вы должны сначала избежать их с помощью обратной косой черты, которая будет выглядеть следующим образом: "foo\\bar" , что в большинстве случаев смешно, потому что тогда вы также можете преобразовать обратную косую черту в косую черту. вручную.

Единственное, что может помочь, - это публикация в StackOverflow, содержащая код для функции, которая непосредственно вводит данные в консоль, а затем преобразует их. Таким образом, с этим вы можете получить Rfriendly путь с помощью копирования пасты.

1

Используя sub , вы можете сделать

sub("\\\\","/","G:\\Compensation\\Step Audit\\Steps off Step.accdb")

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .