Scripting Contest

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
Benutzeravatar
tegula
Beiträge: 440
Registriert: 04.06.2004 13:51:04
Lizenz eigener Beiträge: MIT Lizenz

Re: Scripting Contest

Beitrag von tegula » 07.11.2022 20:01:43

inne hat geschrieben: ↑ zum Beitrag ↑
07.11.2022 18:51:14
Also funktionieren tut es:

Code: Alles auswählen

── Attaching packages ─────────────────────────────────────── tidyverse 1.3.2 ──
✔ ggplot2 3.3.6      ✔ purrr   0.3.5 
✔ tibble  3.1.8      ✔ dplyr   1.0.10
✔ tidyr   1.2.1      ✔ stringr 1.4.1 
✔ readr   2.1.2      ✔ forcats 0.5.2 
── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──
✖ dplyr::filter() masks stats::filter()
✖ dplyr::lag()    masks stats::lag()

Attache Paket: ‘magrittr’

Das folgende Objekt ist maskiert ‘package:purrr’:

    set_names

Das folgende Objekt ist maskiert ‘package:tidyr’:

    extract

   Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
   6174    6174    6174    6174    6174    6174 
   Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
      0       0       0       0       0       0 
 
Kann man sich das auch grafisch anzeigen lassen? Und wäre es in R einfach auch Konstanten-Reihen zu erkennen? Ich will da immer zwei Arrays übereinander legen und abgleichen, habe das aber noch nicht in Code formuliert bekommen.
Vorschlag:

Code: Alles auswählen

# Datensatz erstellen aus Liste aller vierstelligen Zahlen (numbers)
df <- tibble::tibble(zahl = numbers)

# Neue Variable für Kaprekar-Konstante: c_Kaprekar
df <- df %>% 
  select(zahl) %>%
  group_by(zahl) %>%
  mutate(c_kaprekar = kaprekar(zahl))

# Neue Variable, die anzeigt, dass es sich um eine Schnappszahl handelt:
df$schnapszahl = ifelse(test = df$zahl %in% repdigits,
                        yes = "Schnapszahl",
                        no = "Keine Schnapszahl")


# Kreuztabelle
## R-Konsole
summarytools::ctable(x = df$schnapszahl,
                     y = df$c_kaprekar)
## Grafisch (HTML)
summarytools::ctable(x = df$schnapszahl,
                     y = df$c_kaprekar) %>%
  summarytools::view()

# "Nebeneinanderlegen" (Datensatz sichten)
## Grafisch
df %>% View()
## In der R-Konsole
df %>%
  print (n = Inf)

Code: Alles auswählen

> # Kreuztabelle
> ## R-Konsole
> summarytools::ctable(x = df$schnapszahl,
+                      y = df$c_kaprekar)
Cross-Tabulation, Row Proportions  
schnapszahl * c_kaprekar  
Data Frame: df  

------------------- ------------ ------------ --------------- ---------------
                      c_kaprekar            0            6174           Total
        schnapszahl                                                          
  Keine Schnapszahl                0 (  0.0%)   8991 (100.0%)   8991 (100.0%)
        Schnapszahl                9 (100.0%)      0 (  0.0%)      9 (100.0%)
              Total                9 (  0.1%)   8991 ( 99.9%)   9000 (100.0%)
------------------- ------------ ------------ --------------- ---------------

Antworten