Chúng ta đã thảo luận về Tập dữ liệu SAS trong hướng dẫn trước, bây giờ chúng ta sẽ thảo luận về Biến SAS, các thuộc tính của Biến SAS, các loại Biến SAS và cách chúng ta có thể tạo biến trong SAS. Biến mới dựa trên các biến khác. SAS tạo các biến ký tự mới và sử dụng chúng trong một chương trình.
Hơn nữa, chúng ta sẽ thấy một số ví dụ về Biến trong Ngôn ngữ lập trình SAS.
Vì vậy, hãy bắt đầu với Biến SAS.
Biến trong SAS là gì?
Trong ngôn ngữ lập trình SAS, biến đóng vai trò cốt lõi trong việc lưu trữ và xử lý dữ liệu trong quá trình phân tích. Biến trong SAS được định nghĩa là tên được gán cho dữ liệu mà bạn muốn lưu trữ và thao tác, giống như cách các biến hoạt động trong các ngôn ngữ lập trình khác. Mỗi biến trong SAS đại diện cho một thuộc tính của dữ liệu, chẳng hạn như tuổi, giới tính, thu nhập, v.v., và mỗi quan sát (hoặc dòng dữ liệu) trong tập dữ liệu SAS sẽ có giá trị cho mỗi biến này.
Biến trong SAS có thể được phân loại thành hai loại chính:
- Biến Số (Numeric Variables): Biến này chứa dữ liệu số, có thể bao gồm cả số nguyên và số thực. Biến số được sử dụng để thực hiện các phép tính toán học và thống kê, và là loại biến phổ biến trong phân tích dữ liệu.
- Biến Ký Tự (Character Variables): Biến này chứa dữ liệu dạng văn bản hoặc chuỗi ký tự. Dữ liệu có thể bao gồm từ, câu, hoặc bất kỳ chuỗi ký tự nào không dùng cho mục đích tính toán, như tên, địa chỉ, hoặc bất kỳ thông tin dạng văn bản nào khác.
SAS lưu trữ và xử lý các loại biến này theo cách đặc biệt:
- Đối với Biến Số: SAS lưu trữ các giá trị số trong định dạng dấu chấm động, cho phép biểu diễn cả số rất lớn và rất nhỏ. Tuy nhiên, điều này cũng có nghĩa là cần phải cẩn thận với vấn đề làm tròn và độ chính xác số học khi thao tác với biến số.
- Đối với Biến Ký Tự: Dữ liệu được lưu trữ dưới dạng chuỗi ký tự và không được sử dụng cho các phép toán toán học trực tiếp. Khi làm việc với biến ký tự, có thể sử dụng các hàm và thủ tục trong SAS để thao tác chuỗi, chẳng hạn như cắt, ghép, hoặc tìm kiếm mẫu trong dữ liệu văn bản.
Sự phân biệt rõ ràng giữa biến số và biến ký tự trong SAS giúp người phân tích xác định cách tốt nhất để xử lý và phân tích dữ liệu, dựa trên bản chất và mục tiêu của dữ liệu đang được nghiên cứu. Việc hiểu rõ về các loại biến và cách chúng được lưu trữ và xử lý trong SAS là nền tảng cơ bản cho bất kỳ phân tích dữ liệu nào sử dụng phần mềm này.
Tạo biến SAS
Trong SAS, bạn có thể tạo biến mới bằng hai phương pháp chính: tạo biến trong một tập dữ liệu mới hoặc thêm biến vào một tập dữ liệu đã có.
Tạo Biến Mới:
Hãy tưởng tượng bạn có dữ liệu về chiều dài và chiều rộng và muốn tạo một tập dữ liệu mới từ đó. Dưới đây là cách bạn có thể làm điều đó:
data length; input length breadth; cards; 65 130 70 150 67 145 72 180 62 110 ; run;
Mã trên sẽ tạo một tập dữ liệu có tên là length
với hai biến: length
và breadth
, chứa 5 quan sát. Câu lệnh input
được dùng để định nghĩa các biến, và cards;
được dùng để nhập giá trị cho chúng.
Thêm Biến vào Tập Dữ liệu Đã Có:
Giả sử bạn muốn thêm một biến mới, ví dụ như “Diện tích”, vào tập dữ liệu bạn đã có. Biến này sẽ được tính toán từ chiều dài và chiều rộng. Bạn chỉ cần đặt tên biến mới và sử dụng phép tính phù hợp để gán giá trị cho nó.
Ví dụ, để tính diện tích từ chiều dài và chiều rộng:
data length; input length breadth; area = length * breadth; /* Tính diện tích */ cards; 65 130 70 150 67 145 72 180 62 110 ; run;
Mã trên sẽ tạo một tập dữ liệu length
với ba biến: length
, breadth
, và area
– diện tích được tính bằng length * breadth
. Lưu ý rằng câu lệnh tính toán area
được đặt sau câu lệnh input
và trước cards;
.
Như vậy, trong SAS, việc tạo và thêm biến vào tập dữ liệu là một quá trình đơn giản, cho phép bạn dễ dàng tính toán và thêm các biến dẫn xuất từ dữ liệu hiện có.
Xem thêm Tập dữ liệu trong SAS – hướng dẫn cơ bản
Thuộc tính biến SAS
Các biến có 5 thuộc tính quan trọng, tên, kiểu, độ dài, định dạng và nhãn, giúp chúng ta xác định chúng và xác định cách chúng có thể được sử dụng.
Tên biến SAS
Khi đặt tên cho một biến, có một số quy tắc bạn phải tuân theo:
- Tên không được chứa nhiều hơn 32 ký tự.
- Tên không được bắt đầu bằng số mà phải bắt đầu bằng chữ cái (az) hoặc dấu gạch dưới (_). Các số có thể được sử dụng sau ký tự đầu tiên.
- Không được có Khoảng trống hoặc khoảng trống. Ví dụ: bạn không thể đặt tên cho một biến là “Họ” vì nó sẽ không nhận ra chỗ trống. Thay vào đó, hãy sử dụng “LastName” hoặc “last_name”.
Tránh đặt tên dài cho biến của bạn. Ngoài ra, hãy thử và tránh các tên biến chung chung như a1, a2, vì điều đó không cung cấp nhiều thông tin và có thể gây nhầm lẫn.
Loại biến SAS
Có hai loại biến SAS: số và ký tự.
- Biến số SAS
Số cửa hàng của Biến SAS này. Biến có thể được sử dụng để thực hiện các phép tính số học như cộng, trừ. Ngoài ra, các biến ngày-giờ cũng được coi là số trong SAS. Các giá trị bị thiếu cho các biến số xuất hiện dưới dạng dấu chấm (.).
Cú pháp:
INPUT VARIABLE1 VARIABLE2 ; #Define numeric variables in the data set.
INPUT ID, SALARY, COMMISSION;
- Biến ký tự SAS
Biến SAS này còn được gọi là biến chuỗi, chứa thông tin mà hệ thống nhận dạng là văn bản. Các biến này trong SAS được xác định bằng cách đặt một ký hiệu đô la ($) ở cuối.
Chúng có thể bao gồm các chữ cái, các ký tự đặc biệt (chẳng hạn như &,%, (), $) và số chẵn. Các giá trị bị thiếu cho các biến ký tự xuất hiện dưới dạng khoảng trống (“”).
Cú pháp:
INPUT VAR1 $ VAR2 $ VAR3 $; # Xác định các biến ký tự trong tập dữ liệu.
Thí dụ:
INPUT $ LNAME $ ĐỊA CHỈ $;
- Độ dài biến SAS
“Độ dài” của một biến SAS tương ứng với số byte để lưu trữ các biến. Số byte mặc định cho cả biến số và ký tự là 8.
- Định dạng biến SAS
Định dạng của một biến hướng dẫn SAS cách nó phải in trong đầu ra SAS. Trong SAS, điều này bao gồm:
- Số vị trí thập phân để hiển thị cho các biến số (ví dụ: 1 so với 1,00)
- Định dạng ngày tháng (ví dụ: 16/05/2013 so với 2013MAY16 so với 2013-05-16)
Định dạng rất quan trọng để giúp người đọc hiểu dữ liệu của bạn và đầu ra của bạn. Các định dạng có thể thay đổi có đủ thông tin chi tiết mà chúng tôi đã chia chúng thành các hướng dẫn riêng.
- Nhãn biến SAS
Thêm nhãn vào biến SAS là một cách thú vị để làm cho tập dữ liệu trông dễ dàng hơn và diễn giải nó một cách dễ dàng. Nhãn cung cấp thêm thông tin. Ví dụ: hãy xem xét dữ liệu sinh viên trong đó chúng tôi đã lấy ngày sinh của sinh viên làm một biến và ngày nhập học của sinh viên làm biến thứ hai.
Bây giờ, giả sử chúng ta muốn tạo hai biến trong SAS, một cho độ tuổi hiện tại của chúng và một cho độ tuổi của chúng khi chúng bắt đầu học đại học, chúng ta sẽ đặt tên cho nó như “age_now” và “age_start”.
Tuy nhiên, nếu ai đó muốn xem dữ liệu của chúng tôi, anh ta sẽ nhầm lẫn giữa hai biến vì những tên biến như vậy có thể khó hiểu. Do đó, chúng tôi có thể muốn đặt tên chúng là “tuổi hiện tại của học sinh” và “tuổi của học sinh tại thời điểm bắt đầu vào đại học”.
SAS Các nhãn biến có thể gán trong một bước dữ liệu hoặc một bước proc. Khi một nhãn chỉ định trong một bước chiếu lệ, nó chỉ là tạm thời; nó sẽ chỉ liên kết với biến đó trong quá trình thực hiện bước proc mà nó chứa bên trong. (Nghĩa là, nhãn sẽ chỉ xuất hiện trong đầu ra của thủ tục mà nó bao gồm trong.) Khi một nhãn gán trong một bước dữ liệu, nó sẽ trở thành một phần vĩnh viễn của tập dữ liệu.
Một câu lệnh nhãn biến trông giống như sau:
LABEL variable_name = "Variable label";
Ví dụ về nhãn biến:
Hãy thêm nhãn vào biến bday trong tập dữ liệu mẫu của chúng tôi.
Nhãn biến SAS
Bây giờ, hãy tạm thời thêm nhãn vào biến “bday” trong bước proc. Chúng tôi sẽ chứng minh điều này bằng cách sử dụng câu lệnh PROC PRINT.
Điều quan trọng cần lưu ý là bạn có thể đặt một câu lệnh nhãn trong bước proc để gán nhãn cho biến mà bạn tạo ra trong bước proc. Điều này sẽ không thay đổi nhãn của biến trong tập dữ liệu.
PROC PRINT DATA=sample LABEL; VAR bday; LABEL bday = "Date of Birth"; RUN;
Lưu ý rằng trong đầu ra, tên biến trước đó là “bday” sẽ thay đổi thành “ngày sinh”. Điều này là tạm thời và do đó, tên biến sẽ không thay đổi trong tập dữ liệu.
Nhãn biến SAS
Bây giờ, nếu chúng ta muốn thêm vĩnh viễn một nhãn vào tập dữ liệu, chúng ta sẽ đặt nó trong một bước dữ liệu.
DATA students; LABEL bday = "Date of Birth"; RUN;
Biến Tạm và Biến Thường
Trong SAS, biến được phân thành hai loại chính: biến thường và biến tạm. Sự khác biệt giữa chúng nằm ở việc lưu trữ và phạm vi sử dụng trong quy trình làm việc của SAS.
Biến Thường:
Biến thường là những biến được lưu trữ trong tập dữ liệu và có thể được truy cập hoặc sử dụng lại trong các bước DATA hoặc PROC khác nhau trong một phiên làm việc SAS. Chúng được tạo và gán giá trị trong một bước DATA và sau đó được lưu trữ trong tập dữ liệu kết quả. Ví dụ, trong đoạn mã sau, age
và height
là biến thường:
data patient_info; input age height; datalines; 25 175 30 180 ; run;
Biến Tạm:
Biến tạm, thường được bắt đầu bằng một dấu gạch dưới (_), chỉ tồn tại trong quá trình thực hiện bước DATA hoặc PROC mà chúng được tạo ra và không được lưu trữ trong tập dữ liệu cuối cùng. Biến tạm thường được sử dụng cho các mục đích tạm thời, như tính toán trung gian hoặc điều kiện kiểm tra. Ví dụ về biến tạm:
data _null_; set patient_info; _temp_height = height * 0.01; /* Chuyển đổi chiều cao từ cm sang m */ if _temp_height > 1.7 then put "Tall patient"; run;
Trong ví dụ trên, _temp_height
là một biến tạm được sử dụng để chuyển đổi chiều cao từ cm sang mét và kiểm tra điều kiện. Biến này không được lưu trữ trong bất kỳ tập dữ liệu nào sau khi bước DATA hoàn tất.
Quản lý Biến Tạm:
- Khi sử dụng biến tạm, hãy nhớ rằng chúng chỉ tồn tại trong bước DATA hoặc PROC hiện tại. Điều này có nghĩa là sau khi bước đó hoàn tất, biến tạm sẽ không còn khả dụng.
- Biến tạm là công cụ hữu ích cho các tính toán trung gian và không làm thay đổi dữ liệu gốc trong tập dữ liệu của bạn.
- Sử dụng biến tạm một cách cẩn thận để tránh nhầm lẫn với các biến thường, đặc biệt khi tên biến tạm giống hoặc liên quan đến các biến thường trong tập dữ liệu của bạn.
Biến tạm và biến thường cung cấp sự linh hoạt và hiệu quả trong quy trình xử lý dữ liệu của SAS, cho phép bạn thực hiện các thao tác phức tạp mà không làm thay đổi dữ liệu gốc.
Các biến đặc biệt và Hàm Biến
Trong SAS, bạn sẽ gặp hai loại biến đặc biệt và cách sử dụng các hàm để tạo hoặc biến đổi dữ liệu. Dưới đây là ví dụ minh họa:
Biến Đặc Biệt:
- N – Đếm số lần lặp trong bước DATA:
data count_loops; do _N_ = 1 to 5; output; end; run;
Trong ví dụ này, _N_
được sử dụng để kiểm soát vòng lặp, lặp qua bước DATA 5 lần và tạo ra 5 quan sát.
- ERROR – Kiểm tra lỗi trong quá trình xử lý dữ liệu:
data check_error; input age; if age < 0 then _ERROR_ = 1; datalines; 25 -5 30 ; run;
Trong đoạn mã trên, _ERROR_
được sử dụng để đánh dấu dữ liệu không hợp lệ (tuổi nhỏ hơn 0).
Hàm Biến:
- Tạo Biến Mới:
data new_variable; set old_data; new_var = sum(var1, var2); run;
Ở đây, new_var
được tạo là tổng của var1
và var2
.
- Biến Đổi Dữ Liệu Ký Tự:
data transform_text; set text_data; upper_name = UPCASE(name); run;
Câu lệnh này chuyển đổi tất cả ký tự trong biến name
thành chữ hoa và lưu vào biến mới upper_name
.
- Xử Lý Dữ Liệu Số:
data process_numeric; set numeric_data; rounded_price = ROUND(price, 0.01); run;
Ví dụ này làm tròn giá trị của price
đến hai chữ số thập phân.
Sử dụng các biến đặc biệt và hàm trong SAS giúp bạn kiểm soát quy trình xử lý dữ liệu và tối ưu hóa phân tích, từ việc đơn giản là đếm số lần lặp đến biến đổi dữ liệu phức tạp.
Bản tóm tắt
Do đó, hôm nay chúng ta đã tìm hiểu biến SAS là gì, các loại biến trong SAS: Biến số, Biến ký tự SAS, Các thuộc tính khác nhau của biến trong lập trình SAS: Tên biến, độ dài, định dạng & nhãn của biến và cách chúng ta có thể tạo biến trong SAS.