tab2: Tabela z rodzina rozkladow warunkowych dwoch zmiennych...

View source: R/tab2.R

tab2R Documentation

Tabela z rodzina rozkladow warunkowych dwoch zmiennych (etykietowanych)

Description

Funkcja generuje rozkład łączny liczebności i rozkład łączny lub rodzinę warunkowych rozkładów częstości dwóch zmiennych. Jako pierwszy argument przyjmuje obiekt data.frame lub tbl_svy (obiekt będący połączeniem ramki danych z informacjami o - zwykle złożonym - schemacie doboru próby, tworzonym przez funkcje pakietu srvyr). Radzi też sobie ze zmiennymi etykietowanymi (konwertując je na czynniki).

Metoda as_tibble pozwala przekształcić zwracane zestawienie w ramkę danych w postaci długiej, przydatną np. do rysowania wykresów przy pomocy ggplot2 (czyli działa analogicznie,jak metoda as.data.frame dla obiektów zwracanych przez funkcję table z pakietu base). Metoda as.data.frame również jest dostępna, ale domyślnie nie przekształca tabeli (usuwa jedynie klase tab_n), gdyż inaczej przygotowanych tabel z rozkładami nie dawałyby się bezproblemowo używać w połączeniu z funkcją kable z pakietu kable (która to funkcja wywołuje wywołuje metodę as.data.frame na przekazywanym jej obiekcie).

Usage

tab2(
  x,
  zmW,
  zmK,
  sumowanie,
  liczby,
  procenty,
  etykietaSuma,
  etykietaOgolem,
  etykietaBD,
  ...
)

## S3 method for class 'data.frame'
tab2(
  x,
  zmW,
  zmK,
  sumowanie = c("brak", "kolumny", "wiersze", "ogółem"),
  liczby = TRUE,
  procenty = TRUE,
  etykietaSuma = "SUMA",
  etykietaOgolem = "OGÓŁEM",
  etykietaBD = NA,
  ...,
  w = NULL
)

## S3 method for class 'table'
tab2(
  x,
  zmW,
  zmK,
  sumowanie = c("brak", "kolumny", "wiersze", "ogółem"),
  liczby = TRUE,
  procenty = TRUE,
  etykietaSuma = "SUMA",
  etykietaOgolem = "OGÓŁEM",
  etykietaBD = NA,
  ...
)

## S3 method for class 'ftable'
tab2(
  x,
  zmW,
  zmK,
  sumowanie = c("brak", "kolumny", "wiersze", "ogółem"),
  liczby = TRUE,
  procenty = TRUE,
  etykietaSuma = "SUMA",
  etykietaOgolem = "OGÓŁEM",
  etykietaBD = NA,
  ...
)

## S3 method for class 'tbl_svy'
tab2(
  x,
  zmW,
  zmK,
  sumowanie = c("brak", "kolumny", "wiersze", "ogółem"),
  liczby = TRUE,
  procenty = TRUE,
  etykietaSuma = "SUMA",
  etykietaOgolem = "OGÓŁEM",
  etykietaBD = NA,
  ...
)

## S3 method for class 'survey.design2'
tab2(
  x,
  zmW,
  zmK,
  sumowanie = c("brak", "kolumny", "wiersze", "ogółem"),
  liczby = TRUE,
  procenty = TRUE,
  etykietaSuma = "SUMA",
  etykietaOgolem = "OGÓŁEM",
  etykietaBD = NA,
  ...
)

## S3 method for class 'svyrep.design'
tab2(
  x,
  zmW,
  zmK,
  sumowanie = c("brak", "kolumny", "wiersze", "ogółem"),
  liczby = TRUE,
  procenty = TRUE,
  etykietaSuma = "SUMA",
  etykietaOgolem = "OGÓŁEM",
  etykietaBD = NA,
  ...
)

## S3 method for class 'twophase2'
tab2(
  x,
  zmW,
  zmK,
  sumowanie = c("brak", "kolumny", "wiersze", "ogółem"),
  liczby = TRUE,
  procenty = TRUE,
  etykietaSuma = "SUMA",
  etykietaOgolem = "OGÓŁEM",
  etykietaBD = NA,
  ...
)

## S3 method for class 'tab_lbl2'
print(x, dProcenty = 1, dLiczby = 0, decimal.mark = ",", scipen = 100, ...)

## S3 method for class 'tab_lbl2'
as_tibble(
  x,
  ...,
  .rows = NULL,
  .name_repair = c("check_unique", "unique", "universal", "minimal"),
  rownames = NULL,
  usunSuma = FALSE,
  usunOgolem = FALSE,
  wartoscBD = NULL
)

## S3 method for class 'tab_lbl2'
as.data.frame(
  x,
  row.names = NULL,
  optional = FALSE,
  ...,
  usunSuma = FALSE,
  usunOgolem = FALSE,
  wartoscBD = NULL,
  niePrzeksztalcaj = TRUE
)

Arguments

x

ramka danych lub obiekt klasy tbl_svy

zmW

kolumna obiektu x, której wartości mają zostać umieszczone w wierszach zwróconego rozkładu

zmK

kolumna obiektu x, której wartości mają zostać umieszczone w kolumnach zwróconego rozkładu

sumowanie

w którą stronę, jeśli w ogóle, powinno zostać dokonane sumowanie lub procentowanie? (wystarczy podać pierwszą literę)

liczby

wartość logiczna - czy zwracana tabela ma zawierać rozkłady liczebności?

procenty

wartość logiczna - czy zwracana tabela ma zawierać rozkłady częstości?

etykietaSuma

ciąg znaków - etykieta dla wiersza lub kolumy z sumą (argument jest ignorowany, jeśli sumowanie równe "brak" lub NULL)

etykietaOgolem

ciąg znaków - etykieta dla wiersza lub kolumny z rozkladem brzegowym zmiennej, której rodzina rozkładów warunkowowych jest tworzona (argument jest ignorowany, jeśli sumowanie równe "brak", "ogółem" lub NULL); podanie wartości NA lub NULL oznacza, że odpowiedni wiersz/kolumna nie powinna znaleźć się w zwróconym zestawieniu

etykietaBD

ciąg znaków - etykieta, którą w przygotowanym zestawieniu mają być opisane braki danych (NA); domyślna wartość oznacza, że zostaną one opisane jako "NA"; podanie NULL będzie skutkować usunięciem kolumn i wierszy opisujących braki danych ze zwracanego zestawienia

...

tylko jeśli x jest ramką danych - kolumna, której rozkład ma zostać wygenerowany

w

opcjonalnie kolumna obiektu x, której wartości zawierają wagi obserwacji, które powinny zostać uwzględnione przy obliczaniu rozkładu

dProcenty

liczba miejsc dziesiętnych, do jakiej zostaną zaokrąglone wartości kolumn z rozkładami częstości

dLiczby

liczba miejsc dziesiętnych, do jakiej zostaną zaokrąglone wartości kolumn z rozkładami liczebności (to mogą być liczby niecałkowite, jeśli przy tworzeniu rozkładu stosowano ważenie)

decimal.mark

znak miejsca dziesiętnego - przekazywany do format

scipen

liczba całkowita decydująca o skłonności R do zapisywania liczb w notacji naukowej (czym większa, tym rzadziej R sosuje notację naukową - p. options)

.rows

wyłącznie dla zgodności ze wzorcem (generic) metody as_tibble

.name_repair

przekazywana jako argument names_repair do pivot_longer

rownames

wyłącznie dla zgodności ze wzorcem (generic) metody as_tibble

usunSuma

wartość logiczna - czy usunąć ze zwróconej ramki danych wiersze opisujące sumy rozkładów?

usunOgolem

wartość logiczna - czy usunąć ze zwróconej ramki danych wiersze opisujące rozkład brzegowy zmiennej zależnej?

wartoscBD

wektor jedno- lub dwuelementowy: wartości, przy pomocy których mają być reprezentowane ew. braki danych w zróconej ramce danych; jeśli zostanie podany tylko jeden element, zostanie użyty zarówno w odniesieniu do zmiennej prezentowanej w wierszach, jak i zmiennej prezentowanej w kolumnach; jeśli zostaną podane dwa elementy, pierwszy zostanie zastosowany do zmiennej prezentowanej w wierszach, a drugi do zmiennej prezentowanej w kolumnach

row.names

wyłącznie dla zgodności ze wzorcem (generic) metody as.data.frame

optional

wyłącznie dla zgodności ze wzorcem (generic) metody as.data.frame

niePrzeksztalcaj

wartość logiczna - czy funkcja ma tylko usunąć z obiektu klasę tab_lbl2 i zwrócić go jako zwykłą ramkę danych, bez dokonywania przekształcenia z postaci szerokiej do długiej)? (domyślnie funkcja dokonuje przekształcenia)

Value

tab2 data.frame (klasy tab_lbl2) z rozkładami:

  • pierwsza kolumna zawiera wartości zmiennej podanej argumentem zmW i ma taką samą nazwę, jak ta zmienna,

  • nazwy kolejnych kolumn zaczynające się od "n_" opisują rozkład liczebności,

  • nazwy kolejnych kolumn zaczynające się od "pct_" opisują rozkład częstości,

  • nazwy tych kolumn powstały przez połącznie przedrostka "n_" lub "pct_" z wartościami zmiennej podanej argumentem zmK oraz ew. etykietą podaną argumentem etkietaSuma.

Pierwsza zwracana kolumna rozkładu co do zasady jest czynnikiem, chyba że jednocześnie:

  • jako argument sumowanie zostało podane "brak" lub "wiersze" (ew. NULL),

  • nie został podany argument etykietaSumy (ew. został podany jako NA),

  • kolumna podana argumentem zmW jest klasy "character", "integer", "numeric" lub "logical".

W takim przypadku będzie mieć ona takiego typu, jaki kolumna miała w danych wejściowych. metoda as_tibble W zależności od wartości parametru niePrzeksztalcaj:

  • tibble z rozkładami przekształconymi do postaci długiej,

  • obiekt klasy data.frame (i tylko tej jednej) z rozkładami w postacie szerokiej.

Examples

mtcars$cyl = haven::labelled(mtcars$cyl,
                             c("cztery" = 4, "sześć" = 6, "osiem" = 8),
                             "liczba cylindrów")
tab2(mtcars, carb, cyl, "k")
tab2(mtcars, carb, cyl, "w")
tab2(mtcars, carb, cyl, "o")
tab2(mtcars, carb, cyl)
tab2(mtcars, carb, cyl, "k", liczby = FALSE)
tab2(mtcars, carb, cyl, "k", procenty = FALSE)
tab2(mtcars, carb, cyl, "k", etykietaSuma = "Suma")
mtcars$carb[1:2] = NA
tab2(mtcars, carb, cyl, "k")
tab2(mtcars, carb, cyl, "k", etykietaBD = "brak danych")

# choć hp jako wagi obserwacji są bez sensu
tab2(mtcars, carb, cyl, "k", w = hp)

as.data.frame(tab2(mtcars, cyl, carb, "k"))
# aby uzyskać obiekt nadający się do wykorzystania
# jako źródło danych do wykresu tworzonego przy pomocy pakietu ggplot2:
dplyr::as_tibble(tab2(mtcars, cyl, carb, "k"), usunSuma = TRUE)
# lub
dplyr::as_tibble(tab2(mtcars, cyl, carb, "k"), usunSuma = TRUE, usunOgolem = TRUE)

tzoltak/daneIBE documentation built on June 2, 2025, 12:51 p.m.