2016-12-21 3 views
1

Это глупый пример, но я не уверен, как решить эту проблему. Надеюсь, это иллюстрирует мою проблему. Я работаю в окнах 10. У меня есть данные, содержащиеся в этом каталоге:Доступ к файлу за пределами рабочего каталога без ссылки на полный путь

C:/Project/Attempt1/RCode/Data/data.txt

Если мой R сценарий в C:/Project/Attempt1/RCode я могу читать в данных, как так:

read.table(./Data/data.txt)

но если мои данные остаются в том же месте, но у меня есть еще один сценарий здесь:

C:/Project/Attempt2/RCode

Как получить доступ к файлу data.txt без ссылки на весь путь? Но это не работает: .Attempt1/RCode/Data/data.txt, если мой рабочий каталог C:/Project/Attempt2/RCode.

Ради вопроса пожалуйста эти три вещей, как верно:

  • Не хочет дублировать data.txt
  • не могут использовать полный путь в этой части (в частности, диск) будет переменным
  • Невозможно переместить данные

Я надеюсь, что это имеет смысл

+5

Вы можете перемещаться "вверх" директории с '..':' read.table ("../../ Attempt1/RCODE/Data/data.txt") ' – sirallen

+1

Заметьте, что что синтаксис в приведенном выше комментарии выполняется для многих/большинства языков программирования и ОС (исключены окна). Он обычно упоминается как относительный путь и относится к текущему рабочему каталогу. Это противоречит абсолютному пути, где описывается полный путь. – lmo

+1

@sirallen Вы должны ответить на этот вопрос. Он идеально подходит для моих пурпурных растений. – boshek

ответ

1

Вы можете перемещаться по «вверх» каталогам с помощью ... Попробуйте это:

dat = read.table('../../Attempt1/RCode/Data/data.txt') 
1

Используйте ../ для перемещения вверх (или из) текущего каталога. Вы можете использовать ../../ для увеличения вверх и так далее по мере необходимости.

Смежные вопросы