Rate this post

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:

OBSXOBSY
112A
2312A
31522B
41729B
51144C
61329C
7721D
81129D
91615E
102527E
114112F
121719F

Đọ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:

  1. 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.
  2. 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.
  3. 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.

Xem thêm Thiết lập Môi trường SAS – Cấu hình & Cài đặt SAS

Để lại một bình luận

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *

Contact Me on Zalo
Call now