путь к файлу из объединенной строки в R

#r

#r

Вопрос:

Я получаю ошибку «нет такого файла или каталога» при использовании функции file () в R при использовании объединенной строки в качестве аргумента path.

 folder <- "Trades"
account <- "333000"
symbol <- "EURUSD"
date <- "2016.09.09"
filepath <- sprintf("%s/%s %s %s alpha count.bin",folder, account, symbol, date)
count <- file('filepath', 'rb')
  

Если я просто запишу полный путь к файлу в качестве аргумента, я не получу таких ошибок:

 count <- file('Trades/333000 EURUSD 2016.09.09 alpha count.bin', 'rb')
  

Я проверил путь к файлу в первом примере кода, и результат для сравнения тот же:

 countstring <- "Trades/333000 EURUSD 2016.09.09 alpha count.bin"
countstring == filepath
output: TRUE
  

Я вижу, что если я использую библиотеку dplyr и передаю объединенную строку в file(), то это работает.

 library(dplyr)
folder <- "Trades"
account <- "333000"
symbol <- "EURUSD"
date <- "2016.09.09"
filepath <- sprintf("%s/%s %s %s alpha",folder, account, symbol, date)
count <- paste(filepath, "count.bin") %>% file('rb')
  

Я чувствую, что неправильно понимаю фундаментальную концепцию в R в отношении манипулирования строками.
Я новичок в R и только учусь. Пожалуйста, помогите мне понять, спасибо!!!

Комментарии:

1. вы процитировали первое filepath . count <- file(‘путь к файлу’, ‘rb’). я подозреваю, что если вы удалите кавычки, это будет работать так, как вы ожидаете.

2. да, это сработало! Спасибо

3. не связанный, но взгляните на glue::glue вместо sprintf — гораздо более приятный синтаксис