|
|
Quản lý, phân tích số liệu |
|
|
|
|
Trang chủ
>
Main menu
>
Phương pháp luận
>
Quản lý, phân tích số liệu | Chuyển biến dạng chữ có chứa ngày tháng sang biến dạng ngày tháng trong Stata | Ngày tháng năm (date) là một trong các dạng biến
đặc biệt và quan trọng trong quá trình phân tích số liệu, nhất là trong các điều
tra dinh dưỡng vì liên quan đến tuổi của bà mẹ, tuổi của trẻ nhỏ. Tuy nhiên trong
quá trình thu thập số liệu hay nhập liệu thì biến ngày
tháng đã không được định dạng đúng về dạng ngày tháng (date) mà lại ở dạng chữ
(string) hay dạng số (numberic) do đó chúng ta không thể tính tuổi của ĐTNC (bà
mẹ, trẻ nhỏ) hay những giá trị khác liên quan đến biến ngày tháng được. Phần
này thongke.info xin giới thiệu tới các bạn cách để chuyển
biến dạng chữ (String variable) có chứa ngày tháng năm sang dạng ngày tháng năm
chuẩn (date) trong stata.
Trường
hợp 1: Biến ngày tháng dạng chữ (string variable có chứa 4 chữ cho trường
năm, ví dụ 2007)
Ví
dụ: biến date với format dạng chữ, có chứa số liệu ngày tháng như sau:
Khi chúng ta muốn chuyển biến dạng chữ
(string variable) sang biến dạng ngày tháng (date) theo đúng thứ tự như biến
ban đầu là ngày/tháng/năm, do file sẽ
như sau:
Với
stata phiên bản từ 10 trở lêngen date2 = date(date, "DMY") format date2 %td
Với stata phiên bản 9
gen date2 = date(date, "dmy") format date2 %td Sau khi các bạn chạy lệnh
trên, kết quả như sau:
Dạng biến số đã được chuyển từ string
thành float, với định dạng %td.
Trường
hợp 2: Khi biến ngày tháng được
định dạng ở dạng chữ (string variable) với trường năm có 2 số
Ví
dụ: biến date với format dạng chữ, có chứa số liệu ngày tháng như sau:
Khi chúng ta muốn chuyển biến dạng chữ
(string variable) sang biến dạng ngày tháng (date) theo đúng thứ tự như biến
ban đầu là ngày/tháng/năm, do file sẽ
như sau:
Với stata phiên bản từ 10 trở lên
gen date3 = date(date, "DM20Y") format date3 %td
Với stata phiên bản 9
gen date3 = date(date, "dm20y") format date3 %td
Mặc dù biến date
trên có bao gồm cả giá trị có đầy đủ 4 số trong trường năm (23/04/2012), tuy
nhiên điều này không hề ảnh hưởng do đó lệnh trên vẫn được giữ nguyên, được sử
dụng khi tất cả các năm có 2 chữ số thuộc cùng một thế kỷ.
Sau
khi các bạn chạy lệnh trên, kết quả như sau:
Dạng biến số đã được chuyển từ string
thành float, với định dạng %td.
Note: Với những
giá trị năm từ 2000 trở lên (2000, 2001, 2002....) thì các bạn sẽ sử dụng lệnh
như trên, tuy nhiên với những giá trị năm từ 1900 đến 1999 thì các bạn sẽ thay
thành “dm19y” hoặc “DM20Y” tùy thuộc vào từng phiên bản Stata bạn dùng. Tương tự
với các giá trị năm khác như 1800, 1700....
Trường hợp 3: Khi biến ngày tháng được định dạng ở dạng chữ (string variable) với trường
năm bao gồm cả 2 chữ số, 4 chữ số và thuộc 2 thế kỷ khác nhau như các năm:
1990, 2000...
Tuy
nhiên trường hợp này phụ thuộc rất nhiều vào bộ số liệu của bạn. Ví dụ bạn có số
liệu biến date ở dạng chữ như sau:
Khi chúng ta muốn chuyển biến dạng chữ
(string variable) sang biến dạng ngày tháng (date) theo đúng thứ tự như biến
ban đầu là ngày/tháng/năm, do file sẽ
như sau:
Với stata phiên bản từ 10 trở lên
gen date4 = date(date, "DMY", 2012) format date4 %td
Với stata phiên bản 9
gen date4 = date(date, "dmy", 2012) format date4 %td
Các bạn lưu ý, trong trường hợp này 2012 là số năm lớn nhất có thể xảy ra
do đó chúng ta sẽ ghi 2012 ở trọng lệnh như trên. Do đó các bạn sẽ thay 2012 bằng
một năm khác sao cho phù hợp với data của bạn.
Kết quả
sẽ như sau:
Dạng biến số đã được chuyển từ string
thành float, với định dạng %td.
Phần sau,
thongke.info sẽ giới thiệu tới các bạn cách chuyển biến ngày tháng (date) ở các
dạng rời rạc (ví dụ: biến c1 là ngày,
biến d1 là tháng và e1 là năm) thành biến ngày tháng dạng chuẩn (date:
ngày/tháng/năm).
Một số thông tin
được tham khảo từ UCLA Academic
Technology Services. Nguyễn Thị Linh Nguyễn Trương Nam - Thongke.info
|
|
|
|
|
|
|
|