Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/mi2-warsaw/pisa2012
Co młody statystyk jest w stanie wyczytać z danych PISA2012?
https://github.com/mi2-warsaw/pisa2012
Last synced: about 17 hours ago
JSON representation
Co młody statystyk jest w stanie wyczytać z danych PISA2012?
- Host: GitHub
- URL: https://github.com/mi2-warsaw/pisa2012
- Owner: mi2-warsaw
- Created: 2014-04-27T23:00:27.000Z (over 10 years ago)
- Default Branch: master
- Last Pushed: 2014-05-21T10:24:29.000Z (over 10 years ago)
- Last Synced: 2024-08-23T00:26:00.609Z (3 months ago)
- Language: R
- Homepage:
- Size: 816 KB
- Stars: 1
- Watchers: 9
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
PISA2012
========Poligon Doświadczalny
Czyli co młody statystyk jest w stanie wyczytać z danych PISA2012?Twórcy projektu
- Marcin Kosiński,
- Marcin Kania,
- Marta Szczerbień,
- Magda Waśniowska,
- Patrycja Wiśniewska> Kontakt: [email protected]
Cel !
Poniższe repozytorium przedstawia raport [na temat] stworzony przez członków Koła Zarządzania Projektami Statystycznymi Uniwersytetu Warszawskiego. Dane niezbędne do analizy zostały zaczerpnięte z badania **PISA2012** - Programme for International Student Assesment, przeprowadzanego przez Organisation for Economic Co-operation and Development (OECD).
Raport jest w trakcie tworzenia. Każdy zainteresowany może
dopisać swój rozdział bądź podrozdział i zostanie uwzględniony w spisie autorów w ostatecznej wynikowej wersji
naszych eksperymentalnych potyczek ze zbiorem danych z **PISA2012**.[Nasza strona internetowa](http://kzps.github.io/info/)
WCZYTANIE PISA2012 DO R
Poniżej mała instrukcja jak dokopać się do danych z PISA2012, aby działały w **R**.
Dane w formacie `.txt` pobieramy [stąd](http://pisa2012.acer.edu.au/downloads/INT_STU12_DEC03.zip). Następnie w systemie **SAS** tworzymy nowy program, którego 3 pierwsze linie można (ale nie trzeba) wpisać jak poniżej:
```{Ruby}
libname MD "D:\PISA 2012";
filename STU "D:\PISA 2012\INT_STU12_DEC03.txt";
options nofmterr;
```
Kolejne linie w programie powinny byc przekopiowane [z tego pliku](http://pisa2012.acer.edu.au/downloads/INT_STU12_SAS.sas). W tym momencie można już wywołać cały program w **SAS**, aby uzyskać pełną bazę danych **PISA2012**. Ponieważ baza zajmuje około 1,5 GB, ograniczymy się jedynie do danych dotyczących Polski, dzięki czemu program **R** będzia działał sprawniej na mniej pojemnym pliku. Posłuży do tego zapytanie **SQL**, które prezentuję poniżej:
```{Ruby}
proc sql;
create table POL as
select *
from Md.Stu
where CNT = 'POL'
;
```
Pomimo, że pierwsza kolumna bazy, z której wybieramy jedynie Polskę, ma widniejący podpis `Country code 3-character`, to jednak po wyświetleniu atrytbutów kolumny widać, że jej nazwa to `CNT`, a `Country code 3-character` to jedynie etykieta. Dodatkowo można w ten sposób odczytać informację o długości znaków w tej kolumnie, która wynosi 3, dlatego ostatecznie w zapytaniu **SQL** widnieje linia `where CNT = 'POL'`.
Tak pomniejszoną bazę danych eksportuję do formatu `.csv` (możliwe, że bezmyślnie), dzięki procedurze `export`. Wszystkie dotychczasowe komendy i operacja odbywały się w systemie **SAS**.
```{Ruby}
proc export data=Pol
outfile='D:\PISA 2012\polska.csv'
dbms=csv
replace;
run;
```
Ostatecznie z pliku `.csv` można już "tradycyjnie" wczytać dane do pakietu **R**, używając prostego polecenia **read.csv**.
```{Ruby}
POL <- read.csv("D:/PISA 2012/polska.csv", sep=",", h=TRUE)
```Opisy poszczególnych kolumn można znaleźć w [Codebook'u](http://pisa2012.acer.edu.au/downloads/M_stu_codebook.pdf). Należy pamiętać, że powyższa baza danych dotyczyła jedynie kwestionariuszy wypełnianych przez uczniów.
Więcej na ten temat można znaleźć na stronie [PISA2012](http://pisa2012.acer.edu.au/downloads.php).Wyniki uzyskane przez uczniów w Polsce
Podobne kroki wykonuję się, aby wgrać do pakietu **R** wyniki uzyskane przez Polskich szesnatolatków. Dane w formacie `.txt` pobieramy [stąd](http://pisa2012.acer.edu.au/downloads/INT_COG12_S_DEC03.zip). Przy użyciu tych samych komend w **SAS**, tworzę plik o rozszerzeniu `.csv` zawierający wyniki. Następnie wgrywam je do **R** i łączę z poprzednią ramką danych (być może bezmyślnie).
```{Ruby}
Wyn <- read.csv("D:/PISA 2012/wyniki.csv", sep=",", h=TRUE)polo <- merge(POL, Wyn)
```
Następnie, by można było ewentualnie przetransportować połączone dane, używam poniższych komend do zapisu scalonej bazy danych w formacie `.txt` i `.csv`
```{Ruby}
write.csv(polo, "D:/PISA 2012/polaczone.csv")write.table(polo, "D:/PISA 2012/polaczone.txt", sep="\t")
```
Obecnie dane można wczytać poleceniami:
```{Ruby}
ponowne <- read.table("D:/PISA 2012/polaczone.txt", sep="\t", header=TRUE)
ponowne2 <- read.csv("D:/PISA 2012/polaczone.csv", sep=",", h=TRUE)
```
Zbiór danych wczytanych z pliku `.csv` zawiera na początku jedną dodatkową kolumnę zawierającą liczbę porządkową danego gimnazjalisty.Więcej o PISA2012 można obejrzeć na Konferencji Umiejętności 15-latków: PISA 2012