Вы можете просто использовать write.table для создания двух CSV-файлов, таких как:
Минимальный рабочий пример:
с использованием r-скрипта с именем "Rfile.r "в каталоге" adir "в моей папке" Документ ". Сценарий считывает первые два ввода, число c в качестве входного аргумента для функции, а также строку символов с каталогом output-target-directory. (Вы также можете указать имена файлов и т. д., конечно, c)
Rfile.r ::
# set arguments, to later specifiy in terminal ,
# one numeric and one target directory
arg <- commandArgs(trailingOnly = TRUE)
n<-as.numeric(arg[1])
path<-as.character(arg[2])
## A random function two create two csv 's
fun <- function(n) {
data.a <-data.frame(rep("Some Data", n))
data.b<-data.frame(rnorm(1:n))
data<-list(data.a,data.b)
return(data)
}
# create data using input arg[1], aka 'n'
data<-fun(n)
# now the important Part: using write.table with the arg[2] aka 'path'
# :
write.table(data[1],file =paste(path,"/data_a.csv", sep = ""))
write.table(data[2],file =paste(path,"/data_b.csv", sep = ""))
## write terminal output message using cat()
cat(paste("Your input was :" ,arg[1],sep="\t"),
paste( "your target path was:" ,arg[2] ,sep="\t"), sep = "\n")
, затем запустить в терминале:
$ Rscript ~/Dokumente/adir/Rfile.r 3 ~/Dokumente/bdir
создает два csv в каталоге "bdir" с именем "data_a.csv" и "data_b.csv" где 3 был цифрой c, введенной для функции в Rfile.r