ترجمه کد منبع به منبع از SAS با استفاده از هوش مصنوعی شامل استفاده از تکنیکهای پردازش زبان طبیعی (NLP) و الگوریتمهای یادگیری ماشین برای تجزیه و تحلیل و درک کد منبع است.
مشکل ترجمه | مثال نحوی SAS | مثال نحوی Racket | امتیاز (۱-۱۰) |
---|---|---|---|
مرحله داده در مقابل برنامهنویسی تابعی | data new_data; set old_data; run; |
(define new-data (map process old-data)) |
۸ |
متغیرهای ماکرو در مقابل توابع | %let var = 10; |
(define var 10) |
۷ |
PROC SQL در مقابل پردازش لیست Racket | proc sql; select * from table; quit; |
(filter (lambda (row) (some-condition? row)) table) |
۶ |
مدیریت مقادیر گمشده | if missing(var) then var = 0; |
(if (null? var) 0 var) |
۵ |
دستکاری دادهها با آرایهها | array my_array(10); |
(define my-array (make-vector 10)) |
۴ |
سیستم تحویل خروجی در مقابل نمایش | proc print data=my_data; run; |
(display my-data) |
۳ |
رویههای آماری | proc means data=my_data; run; |
(mean my-data) |
۶ |
منطق شرطی | if condition then output; |
(if condition (output)) |
۲ |
در SAS، مرحله داده یک جزء اساسی برای دستکاری دادهها است. این امکان را برای پردازش ردیفی مجموعههای داده فراهم میکند. در Racket، پارادایمهای برنامهنویسی تابعی استفاده میشوند که میتواند منجر به رویکردهای متفاوتی برای دستکاری دادهها شود.
مثال SAS:
data new_data;
set old_data;
/* برخی تغییرات */
run;
مثال Racket:
(define new-data (map process old-data))
برای اطلاعات بیشتر، به مستندات مرحله داده SAS مراجعه کنید.
SAS از متغیرهای ماکرو برای تولید کد پویا استفاده میکند، در حالی که Racket به توابع برای اهداف مشابه تکیه دارد.
مثال SAS:
%let var = 10;
مثال Racket:
(define var 10)
برای جزئیات بیشتر، به مستندات ماکرو SAS مراجعه کنید.
PROC SQL در SAS امکان انجام پرس و جوهای مشابه SQL بر روی مجموعههای داده را فراهم میکند، در حالی که Racket از توابع پردازش لیست برای دستیابی به نتایج مشابه استفاده میکند.
مثال SAS:
proc sql;
select * from table;
quit;
مثال Racket:
(filter (lambda (row) (some-condition? row)) table)
برای اطلاعات بیشتر، به مستندات PROC SQL SAS مراجعه کنید.
SAS دارای توابع خاصی برای مدیریت مقادیر گمشده است، در حالی که Racket از بررسیهای null استفاده میکند.
مثال SAS:
if missing(var) then var = 0;
مثال Racket:
(if (null? var) 0 var)
برای اطلاعات بیشتر در مورد مدیریت مقادیر گمشده در SAS، به مستندات مقادیر گمشده SAS مراجعه کنید.
SAS از آرایهها برای دستکاری دادهها استفاده میکند، در حالی که Racket از وکتورها استفاده میکند.
مثال SAS:
array my_array(10);
مثال Racket:
(define my-array (make-vector 10))
برای جزئیات بیشتر، به مستندات آرایهها SAS مراجعه کنید.
سیستم تحویل خروجی (ODS) در SAS برای خروجی نتایج استفاده میشود، در حالی که Racket از توابع نمایش استفاده میکند.
مثال SAS:
proc print data=my_data;
run;
مثال Racket:
(display my-data)
برای اطلاعات بیشتر، به مستندات ODS SAS مراجعه کنید.
SAS دارای رویههای داخلی برای تحلیل آماری است، در حالی که Racket نیاز به فراخوانی توابع صریح دارد.
مثال SAS:
proc means data=my_data;
run;
مثال Racket:
(mean my-data)
برای جزئیات بیشتر، به مستندات رویههای آماری SAS مراجعه کنید.
هر دو SAS و Racket از منطق شرطی پشتیبانی میکنند، اما نحو آنها متفاوت است.
مثال SAS:
if condition then output;
مثال Racket:
(if condition (output))
برای اطلاعات بیشتر، به مستندات پردازش شرطی SAS مراجعه کنید.