2010-08-28 34 views
5

tôi thấy paper này trên SAS bao gồm (trên trang đầu tiên và một số bộ phận khác) các dòng mã sau đây:cú pháp z trong SAS

if trt1pn > .z then... 

tôi đã tự hỏi những gì mà mục đích của nó có thể được. Tôi chưa bao giờ thấy biểu thức ".z" trước đây. Tôi mặc dù (và một số đồng nghiệp của tôi nghĩ như vậy) đó là một lỗi đánh máy. Nhưng bạn có thể làm

data kk; 
    a = .z; 
    b = .b; 
run; 

và bạn nhận biến bằng "Z" và biến b bằng "B".

Tài liệu hướng dẫn này được thảo luận ở đâu? Nó có ý nghĩa gì? Tại sao nó được sử dụng trong bài báo theo cách như vậy?

Trả lời

5

SAS có 28 giá trị thiếu khác nhau (., ._, .A-.Z) với '.' là mặc định. các giá trị thiếu đặc biệt này có thể được đặt dựa trên lý do giá trị bị thiếu. Có phải điểm dữ liệu không áp dụng được không, sau đó '.N' có thể được sử dụng.

Ngoài ra, các giá trị còn thiếu này có thể được định dạng thông qua định dạng tùy chỉnh (định dạng proc) dễ dàng.

Proc format; 
    Value Response 
    1='Yes' 
    0='No' 
    .U='Unsure' 
    .N='Not Applicable' 
    .R='Refused to Answer'; 
Run; 
+0

và đây là thông tin khác từ SAS: http://support.sas.com/documentation/cdl/en/lrcon/62955/HTML/default/viewer.htm#/documentation/cdl/en/lrcon/62955/HTML /default/a000992455.htm –

4

Đối với một biến số, có 28 giá trị còn thiếu khác nhau (._, ., .A, .B ..., .Z). Chúng nhỏ hơn tất cả các số. Trong số đó, nhỏ nhất là dấu gạch dưới (._) và nhỏ nhất là dấu chấm-Z (.Z). Như vậy, dòng:

if trt1pn > .Z then ... 

có thể được viết lại bằng cách sử dụng chức năng missing():

if not missing(trp1pn) then ... 

đó là một chút rõ ràng hơn.