From 7904dc357a021a69a2ae82f714588700fda82a91 Mon Sep 17 00:00:00 2001 From: Waldir Leoncio Date: Mon, 9 Nov 2020 14:30:09 +0100 Subject: [PATCH] added matlab2r() --- R/matlab2r.R | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 R/matlab2r.R diff --git a/R/matlab2r.R b/R/matlab2r.R new file mode 100644 index 0000000..12403d0 --- /dev/null +++ b/R/matlab2r.R @@ -0,0 +1,31 @@ +#' @title Convert Matlab function to R +#' @description Performs basic syntax conversion +#' @param filename name of the file +#' @param saveOutput if `TRUE`, `filename` is overwritten. Defaults to `FALSE` +#' @return text converted to R +#' @author Waldir Leoncio +#' @export +matlab2r <- function(filename, saveOutput = FALSE) { + # Verification + if (!file.exists(filename)) stop("File not found") + # Reading file into R + txt <- readLines(filename) + # Replacing text + txt <- gsub(";", "", txt) + txt <- gsub("for (.+)=(.+)", "for (\\1 in \\2) {", txt) + txt <- gsub("end", "}", txt) + # Returning converted code + if (!saveOutput) { + return(cat(txt, sep="\n")) + } else { + return( + write.table( + x = txt, + file = filename, + quote = FALSE, + row.names = FALSE, + col.names = FALSE + ) + ) + } +} \ No newline at end of file