#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
— гораздо более приятный синтаксис