Trong bài trước, chúng ta đã tìm hiểu cách SAS hợp nhất các tập dữ liệu , hôm nay chúng ta sẽ tìm hiểu cách nhập & đọc dữ liệu thô trong SAS. Giống như chúng ta đã thảo luận trước đó, tệp dữ liệu thô là tệp được SAS lưu trữ tạm thời để thực hiện một chương trình.
Các bài viết liên quan:
Vì vậy, chúng ta hãy bắt đầu hành trình Nhập & Đọc Dữ liệu Thô trong Lập trình SAS.
6 cách tốt nhất để nhập và đọc dữ liệu thô trong SAS
Dưới đây là một số cách chúng ta có thể nhập và đọc Dữ liệu thô trong SAS.
Xem thêm Split trong python
Dữ liệu trong dòng
Nếu bạn dự định nhập một lượng nhỏ dữ liệu, sẽ thuận tiện khi nhập dữ liệu vào chương trình SAS hơn là đọc từ tệp khác. Đây được gọi là dữ liệu trong luồng . Đây là một cách nhanh chóng và dễ dàng để nhập dữ liệu vào SAS để phân tích.
Bạn sẽ cần 4 loại câu lệnh cơ bản để nhập dữ liệu kiểu này:
- data
- input
- Thẻ hoặc dòng dữ liệu
- Dấu chấm phẩy trên một dòng để kết thúc dữ liệu
Lưu ý: Phải có ít nhất một khoảng trống giữa mỗi giá trị dữ liệu. Nhiều hơn một ô trống là thích hợp. Điều quan trọng là phải có thứ gì đó làm trình giữ chỗ cho mỗi biến, ngay cả khi giá trị bị thiếu.
Dấu chấm (.) Sẽ dùng để chỉ ra một giá trị bị thiếu cho cả biến số và ký tự được nhập theo cách này. Dữ liệu không cần phải được xếp chính xác theo từng cột.
Thí dụ
data salary; input lname $ id sex $ salary age; cards; Smith 1028 M . . Williams 1337 F 3500 49 Brun 1829 . 14800 56 Agassi 1553 F 11800 65 Vernon 1626 M 129000 60 ; proc print data=salary; run;
Xem thêm Tập dữ liệu trong SAS – hướng dẫn cơ bản
Nhập dữ liệu cho nhiều trường hợp trên cùng một dòng
Nếu bạn muốn nhập dữ liệu thô trong SAS trên cùng một dòng cho một số trường hợp, bạn có thể sử dụng ký hiệu @@ :
Thí dụ:
data test; input x y group @@; cards; 1 2 A 3 12 A 15 22 B 17 29 B 11 44 C 13 29 C 7 21 D 11 29 D 16 19 E 25 27 E 41 12 F 17 19 F ; proc print data=test; run;
Điều này dẫn đến kết quả sau, cho thấy rằng dữ liệu đã được nhập cho 12 trường hợp:
OBS | X | OBS | Y |
1 | 1 | 2 | A |
2 | 3 | 12 | A |
3 | 15 | 22 | B |
4 | 17 | 29 | B |
5 | 11 | 44 | C |
6 | 13 | 29 | C |
7 | 7 | 21 | D |
8 | 11 | 29 | D |
9 | 16 | 15 | E |
10 | 25 | 27 | E |
11 | 41 | 12 | F |
12 | 17 | 19 | F |
Đọc dữ liệu từ các tệp bên ngoài
Đọc Dữ liệu thô trong SAS, các tệp (đôi khi được gọi là tệp ascii, tệp phẳng, tệp văn bản hoặc tệp chưa định dạng) có thể đến từ nhiều nguồn khác nhau: khi được xuất từ chương trình cơ sở dữ liệu, chẳng hạn như Access, từ chương trình bảng tính, chẳng hạn như Excel.
Bước đầu tiên là đảm bảo rằng bạn biết các đặc điểm của tệp dữ liệu thô trong SAS. Bạn có thể kiểm tra và đọc dữ liệu thô trong SAS bằng cách sử dụng trình soạn thảo văn bản hoặc chương trình xử lý văn bản.
Đối với các tệp nhỏ, bạn có thể sử dụng Windows Notepad, đối với các tệp lớn hơn, bạn có thể sử dụng Microsoft Word hoặc Word Perfect (hãy đảm bảo nếu bạn mở tệp dữ liệu thô của mình bằng chương trình xử lý văn bản, bạn chỉ lưu nó dưới dạng văn bản hoặc văn bản chưa định dạng khi bạn thoát ).
Để có thể đọc một tệp dữ liệu thô, bạn sẽ cần một sổ mã cung cấp thông tin về dữ liệu có trong tệp. Một số loại tệp dữ liệu thô thường được sử dụng là:
- Các giá trị được phân tách trống (với dữ liệu ở dạng danh sách)
- Các giá trị được phân tách bằng dấu phẩy (tệp .csv – những giá trị này thường đến từ Excel)
- Các giá trị được phân tách bằng tab (tệp .txt – những giá trị này có thể đến từ một số ứng dụng khác nhau, bao gồm cả Excel)
- Dữ liệu cột cố định (thường là dạng dữ liệu từ các cơ quan chính phủ hoặc các nhóm nghiên cứu, chẳng hạn như ICPSR – Hiệp hội Liên trường Đại học Nghiên cứu Chính trị và Xã hội)
- Phần của SAS tạo tập dữ liệu mới là bước dữ liệu như chúng ta đã thảo luận trước đây. Bước dữ liệu để đọc dữ liệu thô từ một tệp có 3 câu lệnh quan trọng:
- Dữ liệu
- Trong tập tin
- Đầu vào
Các câu lệnh khác có thể được thêm vào bước dữ liệu để tạo biến mới, thực hiện biến đổi dữ liệu hoặc mã hóa lại các biến.
Xem thêm split trong java
Đọc các giá trị trống được phân tách (danh sách hoặc dữ liệu dạng tự do)
Các giá trị dữ liệu thô được phân tách bằng khoảng trống thường được gọi là dữ liệu danh sách hoặc dữ liệu dạng tự do. Mỗi giá trị được phân tách với giá trị tiếp theo bằng một hoặc nhiều ô trống. Nếu có bất kỳ giá trị nào bị thiếu, chúng phải được chỉ ra bằng trình giữ chỗ, chẳng hạn như dấu chấm.
Lưu ý rằng một dấu chấm có thể được sử dụng để chỉ ra một giá trị bị thiếu cho các biến ký tự hoặc số. Các giá trị bị thiếu cũng có thể được biểu thị bằng mã giá trị bị thiếu, chẳng hạn như 99 hoặc 999. Dữ liệu không cần phải được xếp theo cột, vì vậy các dòng có thể có độ dài không bằng nhau và có thể xuất hiện “rách rưới”.
Đây là một đoạn trích từ một tệp dữ liệu thô được phân tách bằng các khoảng trống. Lưu ý rằng các giá trị trong tệp không được xếp theo cột. Tên của tệp dữ liệu thô là class.dat. Các giá trị bị thiếu biểu thị bằng dấu chấm (.), Với khoảng trống giữa các dấu chấm cho các giá trị bị thiếu liền kề.
Warren F 29 68 139
Kalbfleisch F 35 64 120
Pierce M. . 112
Walker F 22 56 133
Rogers M 45 68 145
Baldwin M 47 72 128
Mims F 48 67 152
Lambini F 36. 120
Gossert M. 73 139
Bước dữ liệu SAS để đọc dữ liệu thô trong SAS rất đơn giản. Câu lệnh dữ liệu đặt tên cho tập dữ liệu cần tạo và câu lệnh infile chỉ ra tệp dữ liệu thô để đọc. Câu lệnh đầu vào liệt kê các biến cần đọc theo thứ tự xuất hiện trong tệp dữ liệu thô.
Không có biến nào có thể bỏ qua ở đầu danh sách biến, nhưng bạn có thể ngừng đọc các biến trước khi đến cuối danh sách. Dưới đây là các lệnh SAS để đọc dữ liệu này:
data class; infile "class.dat"; input lname $ sex $ age height sbp; run;
Xem thêm Split trong JavaScript là gì ?
Đọc dữ liệu thô được phân tách bằng dấu phẩy (tệp .csv):
Đọc dữ liệu thô trong SAS, tệp sẽ ở dạng tệp CSV (Giá trị được phân tách bằng dấu phẩy). Các tệp này được tạo bằng Excel và rất dễ đọc dữ liệu thô trong Lập trình SAS. Phần trích dẫn của tệp CSV có tên PULSE.CSV thảo luận bên dưới.
Lưu ý rằng dòng dữ liệu đầu tiên chứa các tên biến.
pulse1,pulse2,ran,smokes,sex,height,weight,activity
64,88,1,2,1,66,140,2
58,70,1,2,1,72,145,2
62,76,1,1,1 , 73.160,3
66,78,1,1,1,73,190,1
Các lệnh SAS để đọc trong tệp dữ liệu thô này:
data pulse; infile "pulse.csv" firstobs=2 delimiter = "," dsd; input pulse1 pulse2 ran smokes sex height weight activity; run;
Có một số sửa đổi đối với câu lệnh infile trong ví dụ trước:
- delimiter = “,” hoặc dlm = ”,” cho SAS biết rằng dấu phẩy sử dụng để phân tách các giá trị trong tệp dữ liệu thô, không phải mặc định, là khoảng trống.
- firstobs = 2 cho SAS bắt đầu đọc tệp dữ liệu thô ở dòng 2, đây là nơi bắt đầu các giá trị thực.
- dsd cho phép SAS đọc các dấu phẩy liên tiếp như một dấu hiệu của các giá trị bị thiếu.
Tùy chọn dấu phân cách có thể rút ngắn thành dlm, như được hiển thị bên dưới:
data pulse; infile "pulse.csv" firstobs=2 dlm = "," dsd; input pulse1 pulse2 ran smokes sex height weight activity; run;
Xem thêm explode trong php là gì ?
Đọc dữ liệu thô được phân tách bằng các tab (tệp .txt):
Ở đây chúng ta có thể đọc dữ liệu thô trong SAS, bằng các tab riêng biệt có thể được tạo bởi Excel (lưu tệp với tùy chọn văn bản) hoặc bởi các ứng dụng khác. Ví dụ bên dưới cho thấy dữ liệu được phân tách bằng tab xuất hiện như thế nào khi được xem mà không hiển thị các tab. Đây là một phần của tệp dữ liệu thô, iris.txt:
51 38 15 3 Setosa
54 34 17 2 Setosa
51 37 15 4 Setosa
52 35 15 2 Setosa
53 37 15 2 Setosa
65 28 46 15 Versicolor
62 22 45 15 Versicolor
59 32 48 18 Versicolor
61 30 46 14 Versicolor
Rõ ràng là không thể nhìn thấy bằng mắt thường rằng có các tab phân tách các giá trị trong tệp này, nhưng bạn vẫn cần chỉ định điều này để sửa dữ liệu thô đã đọc trong SAS.
Để thực hiện việc này, hãy sửa đổi câu lệnh infile để cho SAS biết rằng các dấu phân cách là các tab. Vì không có ký tự tương đương với tab, tương đương thập lục phân của tab chỉ ra trong tùy chọn dấu phân tách = , như được hiển thị bên dưới:
data iris; infile "c:\temp\labdata\iris.txt" dsd missover dlm="09"X ; length species $ 10; input sepallen sepalwid petallen petalwid species $; run; proc print data=iris; run;
Lưu ý rằng LOÀI đọc như một biến ký tự. Chúng tôi cũng sử dụng câu lệnh độ dài để đảm bảo rằng chúng tôi nhận được độ dài chính xác của các LOÀI biến.
Mặc dù biến này xuất hiện cuối cùng trong dữ liệu thô, nhưng nó sẽ xuất hiện đầu tiên trong tập dữ liệu SAS, vì câu lệnh độ dài được đưa ra trước khi dữ liệu được đọc vào. Chúng ta sẽ thảo luận về kết quả một phần từ các lệnh này:
Obs species sepallen sepalwid petallen petalwid
1 Setosa 50 33 14 2
2 Setosa 46 34 14 3
3 Setosa 46 36 10 2
4 Setosa 51 33 17 5
5 Setosa 55 35 13 2
6 Setosa 48 31 16 2
7 Setosa 52 34 14 2
Đây là tất cả, Cách Nhập và Đọc Dữ liệu Thô trong Hướng dẫn SAS. Hy vọng bạn thích giải thích của chúng tôi.
Tổng kết về dọc và nhập dữ liệu trong SAS
Vì vậy, đây là tất cả về cách nhập và đọc dữ liệu thô trong SAS và các cách khác nhau để đọc dữ liệu thô trong Ngôn ngữ lập trình SAS. Tiếp theo chúng ta sẽ tìm hiểu về cách ghi dữ liệu trong SAS.
Hơn nữa, nếu bạn có bất kỳ câu hỏi nào về cách nhập và đọc dữ liệu thô trong SAS, hãy bình luận bên dưới và tiếp tục theo dõi để biết thêm.