R u bankarstvu
  • Zbirka riješenih zadataka
  • O Zbirci
  • 1. Import podataka
    • .csv & .txt
    • Microsoft Excel
    • Microsoft Access
    • SAS
    • .RData
  • 2. Manipulacije i agregacije podataka
    • str
    • ifelse & if
    • Nedostupne vrijednosti
    • %in%
    • as.Date
    • Petlje
    • Agregacije podataka
  • 3. Eksport podataka
    • .csv & .txt
    • Microsoft Excel
    • Microsoft Access
    • SAS
    • .RData
    • Eksport tabela i grafika u Microsoft PowerPoint
    • Eksport tabela i grafika u Microsoft Word
  • 4. Ostalo
    • ODBC konekcije
    • Sistemsko manipulisanje fajlovima i folderima
    • Pozivanje R funkcija i programa iz SAS-a
    • Pozivanje SAS programa iz R-a
    • Korisničke funkcije
    • Neto sadašnja vrijednost
    • Plan otplate kredita
    • Efektivna kamatna stopa
    • Moratorijum na otplatu kredita
    • Restrukturiranje kredita kroz produženje roka otplate
    • WoE & IV
    • WoE transformacije u regresionim modelima
    • Kalibracija rejting skale
    • Monotono grupisanje numeričkih risk faktora
  • Biografija
Powered by GitBook
On this page

Was this helpful?

  1. 4. Ostalo

Pozivanje SAS programa iz R-a

Funkcijasystem predstavlja R funkciju za pozivanje i izvršenje sistemskih komandi i kao takva može se iskoristiti za izvršenje SAS programa.

Zadatak: Sačuvati, u nastavku, dati SAS program (SAS_from_R.sas) i isti pozvati iz R-a putem funkcije system.

SAS progam:

/* definisati makro varijable od sistemski proslijedjenih argumenata */
%let lib_path = %scan(&sysparm., 1, " ");
%let nrow = %scan(&sysparm., 2, " ");

/* definisati putanju do biblioteke */
libname wd "&lib_path.";

/* kreirati tabelu test */
data wd.test;
	do i = 1 to &nrow.;
		x = i;
		output;
	end;
	drop i;
run;

Napomena: Kako bi zadatak bio uspješno riješen, neophodno je prilagoditi putanje do SAS exe fajla, putanju do sačuvanog SAS programa (SAS_from_R.sas) kao i putanju prvog sistemski proslijeđenog argumenta.

R sesija:

> #definisati putanju do SAS exe fajla
> sas.exe <- "C:\\Program Files\\SASHome\\SASFoundation\\9.4\\sas.exe"
> #definisati putanju do SAS programa
> sas.prg <- "C:\\Users\\adjurovic\\Desktop\\SAS_from_R.sas"
> #definisati prvi argument: putanju do SAS biblioteke
> arg.1 <- "C:\\Users\\adjurovic\\Desktop\\"
> #deinisati drugi argument: broj redova tabele
> arg.2 <- 10
> 
> #definisati konacnu komandu za izvrsenje (cmd)
> exe.prg <- paste0(shQuote(sas.exe), " ", shQuote(sas.prg))
> arg.list <- paste0("-sysparm ", "'", arg.1, " ", arg.2, "'") 
> cmd <- paste(exe.prg, arg.list)
> 
> #izvrsiti SAS program u odnosu na poslate argumente
> system(cmd)
[1] 0

> #provjera
> #narednu komandu izvrsiti ukoliko haven paket vec nije instaliran
> #install.packages("haven")
> library(haven)
> #SAS data set import
> read_sas(paste0(arg.1, "test.sas7bdat"))
# A tibble: 10 x 1
       x
   <dbl>
 1     1
 2     2
 3     3
 4     4
 5     5
 6     6
 7     7
 8     8
 9     9
10    10

PreviousPozivanje R funkcija i programa iz SAS-aNextKorisničke funkcije

Last updated 4 years ago

Was this helpful?