Есть ли способ сохранить данные в виде CSV-файла в сантехнических кодах?

Я новичок в использовании пакета водопроводчика и RESTful API. Когда я работаю на локальном компьютере, можно добавить строку в функцию @get для записи в файлы данных в папке. Кажется, я не могу заставить то же самое работать, когда размещаю его на виртуальной машине. В чем может быть проблема?

Я использовал write.table() ниже, который отлично работал на моей локальной машине. то есть я могу добавить данные в "data.csv" соответственно. Разве это невозможно в случае запуска скрипта на виртуальной машине?

#* @get /predict_petal_length
get_predict_length <- function(petal_width){
# convert the input to a number
petal_width <- as.numeric(petal_width)
# create the prediction data frame
input_data <- data.frame(Petal.Width=as.numeric(petal_width))
write.table(input_data,"data.csv",append = TRUE,col.names = FALSE)
# create the prediction
predict(model,input_data)
}

person kf007    schedule 31.05.2019    source источник


Ответы (1)


Возможно, у вас нет прав на запись в папку, в которую вы пытаетесь записать? Какова конфигурация вашей виртуальной машины?

Попробуйте использовать полный путь, используйте путь, который, как вы уверены, процесс R может записывать на виртуальной машине.

вместо "data.csv", "/tmp/plumber/data.csv" или что-то в этом роде

person Bruno Tremblay    schedule 07.06.2019
comment
я работаю над этим, используя Docker. Так что я думаю, что это может быть проблемой. Кажется, что запись файлов в Docker практически невозможна. Во всяком случае, я нашел это: digitalocean.com/community/tutorials/ Если есть решение, буду рад попробовать. Спасибо. - person kf007; 12.06.2019
comment
Поскольку он находится в Docker, решение состоит в том, чтобы смонтировать том. здесь есть пример cascadia-analytics.com/2018 /07/23/docker-r-p3.html - person kf007; 12.06.2019