Cách phân tích dữ liệu khảo sát của Trung tâm nghiên cứu Pew trong R

Trung tâm nghiên cứu Pew công bố dữ liệu khảo sát của mình dưới dạng tệp SPSS của IBM với phần mở rộng .sav. Nhưng nếu bạn không có quyền truy cập vào SPSS, thì có sẵn các công cụ nguồn mở miễn phí để phân tích và sử dụng dữ liệu.

Ngay cả với quyền truy cập SPSS cơ bản, làm việc với dữ liệu khảo sát yêu cầu các công cụ hoặc kỹ thuật bổ sung để xử lý chính xác các trọng số khảo sát hoặc các tính năng thiết kế khảo sát phức tạp khác. Các phân tích không tính đến các tính năng thiết kế này có thể tạo ra kết quả sai lệch và vượt quá độ chính xác của các ước tính hoặc kiểm tra thống kê. May mắn thay, các công cụ để thực hiện các loại phân tích này một cách chính xác có sẵn miễn phí với nền tảng phần mềm thống kê R.

Bài đăng này cung cấp một hướng dẫn nhanh về cách phân tích chính xác dữ liệu khảo sát của Trung tâm bằng cách sử dụng R. Đây là bài đầu tiên trong một loạt các bài đăng thỉnh thoảng nhằm giúp bạn phân tích các bộ dữ liệu khảo sát bằng R.

R là gì?

R là một ngôn ngữ và môi trường cho tính toán và đồ họa thống kê. R có sẵn dưới dạng phần mềm miễn phí dưới dạng mã nguồn theo các điều khoản của Giấy phép Công cộng Phần mềm Tự do GNU GNU. Nó biên dịch và chạy trên nhiều nền tảng UNIX và các hệ thống tương tự (bao gồm FreeBSD và Linux), Windows và MacOS. Để đọc thêm về R và cách tải xuống, hãy truy cập r-project.org.

Phân tích trong bài này sẽ dựa vào:
 - R
 - R Studio (trình soạn thảo và giao diện mã nguồn mở làm việc theo ngôn ngữ R)
 - Các gói R miễn phí có sẵn sau đây:
· ngoại quốc
· khảo sát
· Đan

Để cài đặt các gói này, sử dụng mã sau đây:

install.packages (c ("nước ngoài", "khảo sát", "đan"))

Truy cập dữ liệu của Trung tâm nghiên cứu Pew

Nhiều bộ dữ liệu khảo sát của Trung tâm nghiên cứu Pew có sẵn để tải xuống bằng cách truy cập vào tab Dữ liệu dữ liệu trên trang web của Trung tâm. Để biết thêm thông tin về loại dữ liệu mà Trung tâm phát hành và cách truy cập, hãy đọc bài đăng trên blog này.

Hầu như tất cả dữ liệu mà có sẵn để tải xuống từ Trung tâm được lưu trữ dưới dạng tệp SPSS .sav. Các tệp SPSS thường chứa cả giá trị và nhãn giá trị - ví dụ: 1 cho Đảng Cộng hòa, 2 cho Dân chủ.

Hướng dẫn này sẽ sử dụng dữ liệu từ cuộc khảo sát chính trị Center Center tháng 4 năm 2017, tập trung vào các chủ đề bao gồm quan điểm của người Mỹ về các tổ chức quốc gia và niềm tin của họ vào chính phủ.

Đang tải dữ liệu khảo sát vào R

Bước đầu tiên để phân tích dữ liệu khảo sát trong R là đọc tệp dữ liệu vào môi trường R của bạn. Vì dữ liệu được lưu trữ dưới dạng tệp .sav, nên bạn sẽ muốn sử dụng hàm read.spss () từ gói ngoại tệ của Riên. Dưới đây, trước tiên chúng tôi tải các thư viện gói và sau đó đọc dữ liệu vào một data.frame mà chúng tôi sẽ gọi là April April17. Theo mặc định, read.spss () giữ lại tất cả các nhãn biến và giá trị cho dữ liệu khảo sát, nhưng nó không tự động tạo ra một data.frame, vì vậy chúng ta phải đặt một tham số rõ ràng. Ở đây chúng tôi sử dụng to.data.frame = TRUE để tải tệp vào môi trường R của chúng tôi dưới dạng data.frame.

 thư viện (nước ngoài)
 thư viện (khảo sát)
 thư viện (đan)
 17 tháng 4 <- read.spss ("April 17 public.sav", #file đường dẫn đến tập dữ liệu
                    to.data.frame = TRUE) #sets đối tượng vào khung dữ liệu
## mã hóa lại từ CP1252

Nếu bạn chạy mã này, bạn sẽ nhận được cảnh báo cho các biến không có nhãn cho mọi danh mục - chẳng hạn như tuổi. Trong các trường hợp này, read.spss () sẽ thêm các nhãn này theo mặc định. Nếu bạn đang tìm kiếm một hành vi khác, hãy xem tùy chọn add.undeclared.levels ().
 
 Hầu hết các biến trong bộ dữ liệu của Trung tâm - như giới tính, chủng tộc, v.v. - là phân loại. Trong R, các loại biến này được gọi là các yếu tố. Bạn có thể sử dụng hàm bảng () để xem cách phân phối biến nhân tố như sau:

bàn (bữa tiệc ngày 17 tháng 4)
 ##
 ## Dân chủ Cộng hòa
 ## 375 466
 ## Độc lập Không có ưu tiên (TẬP)
 ## 616 28
 ## Bên khác (TẬP) Không biết / Từ chối (TẬP)
 ## 9 7

Thiết lập thiết kế khảo sát

Bước tiếp theo trong việc phân tích dữ liệu khảo sát là sử dụng chức năng svydesign từ gói khảo sát Rftime, để tạo ra một đối tượng thiết kế khảo sát. Bước này rất quan trọng ở chỗ nó nêu rõ thiết kế khảo sát để sử dụng đúng trọng lượng khảo sát và các thành phần thiết kế khác để ước tính. Hàm Svydesign chấp nhận nhiều dạng thiết kế khảo sát phức tạp khác nhau. Để đọc thêm chi tiết về chức năng, bấm vào đây.

Đối với phần lớn các khảo sát của Trung tâm nghiên cứu Pew, bao gồm bộ dữ liệu tháng 4 năm 2017 được sử dụng trong hướng dẫn này, người dùng cần chỉ định ba mục khi khai báo thiết kế khảo sát:
 
 1. Các định danh cụm với ids =. Hầu như tất cả các khảo sát tại Hoa Kỳ từ Trung tâm không có số nhận dạng cụm. Sử dụng công thức ~ 0 để chỉ ra khảo sát này không có bất kỳ cụm nào.
 2. Tập dữ liệu khảo sát với dữ liệu =
 3. Trọng lượng khảo sát với trọng số =

17/03/design = svydesign (
         ids = ~ 0, #formula cho biết không có cụm
         data = 17 tháng 4, #this là bộ dữ liệu
         trọng số = ~ trọng lượng) # đây là biến số 'trọng lượng'
                            # từ bộ dữ liệu ngày 17 tháng 4

Ước tính tần số với trọng số khảo sát

Sau khi thiết kế khảo sát được khai báo, bạn có thể thu được các ước tính có trọng số bằng cách sử dụng hàm svymean (). Các đối số cốt lõi của svymean () là công thức xác định biến bạn quan tâm và đối tượng thiết kế khảo sát.

Hàm svymean () có thể được sử dụng để tính các phương tiện có trọng số, phương sai, tỷ lệ, tổng và hơn thế nữa. Thống kê trả về phụ thuộc vào lớp của biến được gọi. Ví dụ: để ước tính phê duyệt công việc của Tổng thống Donald Trump, (q1- một biến nhân tố), hãy sử dụng mã sau:

svymean (~ q1, #variable để ước tính
         thiết kế = Apr17_design #survey đối tượng thiết kế
                                # được điều trị với svydesign ()
         )
 ## có nghĩa là SE
 ## q1Appriver 0.394008 0.0144
 ## q1Được chấp nhận 0,542368 0,0147
 ## q1Không biết / Từ chối (TẬP) 0,063624 0,0078

Để xem xét phê duyệt công việc của Trump, giữa các nhóm nhỏ khác nhau, bạn có thể sử dụng hàm svyby (), tính toán số liệu thống kê cho các nhóm con của bộ dữ liệu. Hàm svymean () có thể được sử dụng cùng với hàm svyby () để tính toán các ước tính có trọng số trên các tập hợp con của dữ liệu được xác định bởi các biến nhân tố khác. Hàm kable () từ gói đan sẽ hiển thị số liệu thống kê ở dạng bảng.

Ví dụ, để ước tính sự chấp thuận của tổng thống giữa nam và nữ, bạn có thể sử dụng mã này:

q1_by_sex = svyby (~ q1, #variable để ước tính
                   ~ giới tính, biến #subgroup
                   thiết kế = 17/03/2016,
                   FUN = svymean, #feft để sử dụng trên mỗi nhóm nhỏ
                   keep.names = FALSE #does không bao gồm row.names
                                       # cho biến nhóm con
      )
 
 đanr :: kable (q1_by_sex, chữ số = 2)

Bài đăng này chỉ làm trầy xước bề mặt của các loại phân tích bạn có thể thực hiện trong R với gói khảo sát, nhưng tôi hy vọng nó đủ để giúp bạn bắt đầu. Trong tương lai, chúng tôi dự định viết thêm các bài đăng về phân tích và trực quan hóa dữ liệu khảo sát với R. Nếu bạn có câu hỏi về bài đăng này hoặc nếu có những điều khác với dữ liệu khảo sát và R bạn muốn biết cách làm, hãy cho chúng tôi biết tại info@pewresearch.org.

Nick Hatley là một nhà phân tích nghiên cứu tại Trung tâm nghiên cứu Pew.