2015-07-20 1 views
0

Я думаю, что это должно иметь простой ответ, но я еще не нашел его. В принципе, я хочу сделать функцию, которая вызывает и читает в текстовом файле. Вот что я (я пишу это в ui.R файл блестящей функции, но я не думаю, что это часть проблемы): СейчасR: чтение в текстовом файле с функцией вставки

popovers <- function(pop_name){ 
    fileName <- paste0("\'",pop_name,".txt\'") 
    js <- readChar(fileName, file.info(fileName)$size)) 
    js 
} 

, я даже не могу сцепить fileName так как я получаю сообщение об ошибке «не может принуждать тип« закрывать »к вектору типа« символ »из функции paste0. Есть какие нибудь идеи как это починить? Это правильный метод чтения в различных файлах .txt?

+1

Обычно эта ошибка означает, что единственный объект, называемый 'pop_name', который может найти R, является функцией и не может принуждать это к символу. Но отладка невозможна с предоставленной вами информацией. В текстовом файле есть много способов чтения, в зависимости от того, что вы хотите. Есть 'read.table',' readLines', 'scan' и т. Д. – joran

+1

Что такое вывод' str (pop_name) '? – RHertel

+0

убедитесь, что вы передаете 'popovers (" string ")' вместо 'popovers (string)'. – MichaelChirico

ответ

0

Я получил ответ от объединения различных предложений от комментариев. Вот правильный код:

popovers <- function(pop_name){ 
    fileName <- paste0(pop_name,".txt") 
    js <- readChar(fileName, file.info(fileName)$size)) 
    js 
} 

Я удалил лишние кавычки вокруг имени текстового ____ и удостоверились, чтобы передать popovers() строку в кавычках, например popovers("string").. Пока файл ___. Txt находится в рабочем каталоге, он должен правильно прочитать его!