Hlavní navigace

Názor k článku Programovací jazyk R: práce s datovými rámci, jednoduché grafy od Nuphar - Já ho prásknu, on také učí erko. :-) S...

  • 25. 9. 2020 14:51

    Nuphar

    Já ho prásknu, on také učí erko. :-)

    S tím výběrem z datového rámce bych ukázal příklad s testovacími daty:

    > languages <- data.frame(
    +    id = c (1:9),
    +    name = c("C", "Java", "Python", "C++", "C#", "Visual Basic", "JavaScript", "PHP", "R"),
    +    usage = c(15.95, 13.48, 10.47, 7.11, 4.58, 4.12, 2.54, 2.49, 2.37),
    +    change = c(0.74, -3.18, 0.59, 1.48, 1.18, 0.83, 0.41, 0.62, 1.33),
    +    stringsAsFactors = FALSE
    + )
    > languages # Všimněte si, že to neobaluji do print(...) :-)
      id         name usage change
    1  1            C 15.95   0.74
    2  2         Java 13.48  -3.18
    3  3       Python 10.47   0.59
    4  4          C++  7.11   1.48
    5  5           C#  4.58   1.18
    6  6 Visual Basic  4.12   0.83
    7  7   JavaScript  2.54   0.41
    8  8          PHP  2.49   0.62
    9  9            R  2.37   1.33
    > class(languages["name"])
    [1] "data.frame" # datový rámec jako původní zdroj
    > class(languages$name)
    [1] "character" # vektor
    > class(languages[2])
    [1] "data.frame" # datový rámec jako původní zdroj
    > languages[3]
      usage
    1 15.95
    2 13.48
    3 10.47
    4  7.11
    5  4.58
    6  4.12
    7  2.54
    8  2.49
    9  2.37
    > languages["name"]
              name
    1            C
    2         Java
    3       Python
    4          C++
    5           C#
    6 Visual Basic
    7   JavaScript
    8          PHP
    9            R
    > languages$name
    [1] "C"            "Java"         "Python"       "C++"          "C#"
    [6] "Visual Basic" "JavaScript"   "PHP"          "R"
    > languages[2]
              name
    1            C
    2         Java
    3       Python
    4          C++
    5           C#
    6 Visual Basic
    7   JavaScript
    8          PHP
    9            R

    Možná bych ještě zdůraznil, že ty faktory jsou děsně užitečné, protože se dají snadno použít na třídění, třeba pro krabicové grafy:

    langs <- data.frame(languages["name"], languages["usage"])
    > langs <- rbind(data.frame(langs$name, jitter(langs$usage)),
    data.frame(langs$name, jitter(langs$usage)),
    data.frame(langs$name, jitter(langs$usage)),
    data.frame(langs$name, jitter(langs$usage)),
    data.frame(langs$name, jitter(langs$usage)))
    > langs
         langs.name jitter.langs.usage.
    1             C           15.948595
    2          Java           13.487646
    3        Python           10.473382
    4           C++            7.117757
    5            C#            4.574903
    6  Visual Basic            4.119771
    7    JavaScript            2.533762
    8           PHP            2.481331
    9             R            2.378226
    10            C           15.955915
    11         Java           13.484478
    12       Python           10.472911
    13          C++            7.103522
    14           C#            4.583332
    15 Visual Basic            4.129590
    16   JavaScript            2.530045
    17          PHP            2.496101
    18            R            2.366824
    19            C           15.955425
    20         Java           13.488209
    21       Python           10.477087
    22          C++            7.112658
    23           C#            4.583441
    24 Visual Basic            4.119844
    25   JavaScript            2.531923
    26          PHP            2.491034
    27            R            2.362223
    28            C           15.943325
    29         Java           13.488028
    30       Python           10.461460
    31          C++            7.110751
    32           C#            4.578946
    33 Visual Basic            4.121060
    34   JavaScript            2.534422
    35          PHP            2.486563
    36            R            2.379705
    37            C           15.949777
    38         Java           13.484966
    39       Python           10.461877
    40          C++            7.110917
    41           C#            4.574754
    42 Visual Basic            4.113257
    43   JavaScript            2.540743
    44          PHP            2.494350
    45            R            2.366082
    boxplot(langs$jitter.langs.usage.~langs$langs.name)

    Je to poněkud humpolácké, ale jako ukázka to snad stačí. :-)