Heutiger Testraketenstart - Stufe 1a
Heute versuche ich mal das folgende:
RStudio-1.2.5019.exe RStudio - RStudio
Crashkurs Datenanalyse mit R – Sebastian Sauer Stats Blog
Part-of-Speech Tagging with R | Martin Schweinberger
R-3.6.1-win.exe The Comprehensive R Archive Network
Ein kurzer Video-Installationsanleitungs-Gruil:
Ich bin heute auf der Win10Home-Maschine unterwegs, btw..
Beginnen tue ich mit dem Crash-Course - möge ich nicht schon damit crashen!
Wichtig!
Vor der Installation der zwei Packages - wie in dem Crash-Course beschrieben - sollten die RTools installiert sein: https://cran.rstudio.com/bin/windows/Rtools/
(bei mir waren sie es noch nicht, die Warnung kam, aber die Installation lief weiter - toi, toi, toi, daß noch nicht alles vermurkst ist!)
{ die RTools-Installation dauert etwas, da habe ich Gelegenheit, hier zu verkünden, daß ich erst vor einer Stunde in der Badewanne beschlossen habe, heute mal Grundkenntnisse in R zu erwerben - mit Gründen, die z.B. etwas mit dem Python-Modul textrank zu tun haben könnten (sowie aus weiteren, zum Beispiel Spass-Gründen, lol }
So, nach dem Beispiel mit den 7 Brücken geht es gleich ins Eingemachte. So, wie ich sehe, trennen mich von meinen eigentlichen Zielen noch einige, viele Meter. Aber ich werde mich da heute abend noch durchbeissen!
Zunächst versuche ich das Einlesen einer Excel-Tabelle, die ich aus der Wikipedia nach LibreOfficeCalc kopiere. Und zwar eine Auflistung der kognitiven Biase in englischer Sprache, hier eine Grafik von der Wikipedia (für die ich diesen Monat sogar mal gespendet habe - tut dies bitte auch!):
By design: John Manoogian III
categories and descriptions: Buster Benson
implementation: TilmannR - This file was derived from: The Cognitive Bias Codex - 180+ biases, designed by John Manoogian III (jm3).png: , CC BY-SA 4.0, Link
So, das Importieren hat geklappt, ich weiß jetzt, wo ich hinklicken muss. Was sonst noch zu beachten ist, war mir großteils bereits geläufig. Die Daten sollten in sog. Normalform vorliegen, als tidy-data, die Spaltennamen müssen das. Okay, auch das habe ich verstanden. Weiter kann ich nun leider noch nix mit meiner Tabelle anfangen, aber macht auch nix.
Bis zu den "logischen Variablen" ist alles selbsterklärend, es sind halt ggf. noch einige Einzelschrittchen notwendig, um die importierten (oder sonstwie gewonnenen) Daten für die Weiterverarbeitung aufzubereiten.
Und nun zu den "logischen Variablen":
In R (Studio) ist ein Datensatz namens mtcars implementiert, mit dem fim spielen darf. Gibt fim in der Konsole ein summary(mtcars) ein, erscheint dieses:
RStudio-1.2.5019.exe RStudio - RStudio
Crashkurs Datenanalyse mit R – Sebastian Sauer Stats Blog
Part-of-Speech Tagging with R | Martin Schweinberger
R-3.6.1-win.exe The Comprehensive R Archive Network
Ein kurzer Video-Installationsanleitungs-Gruil:
Ich bin heute auf der Win10Home-Maschine unterwegs, btw..
Beginnen tue ich mit dem Crash-Course - möge ich nicht schon damit crashen!
Wichtig!
Vor der Installation der zwei Packages - wie in dem Crash-Course beschrieben - sollten die RTools installiert sein: https://cran.rstudio.com/bin/windows/Rtools/
(bei mir waren sie es noch nicht, die Warnung kam, aber die Installation lief weiter - toi, toi, toi, daß noch nicht alles vermurkst ist!)
{ die RTools-Installation dauert etwas, da habe ich Gelegenheit, hier zu verkünden, daß ich erst vor einer Stunde in der Badewanne beschlossen habe, heute mal Grundkenntnisse in R zu erwerben - mit Gründen, die z.B. etwas mit dem Python-Modul textrank zu tun haben könnten (sowie aus weiteren, zum Beispiel Spass-Gründen, lol }
So, nach dem Beispiel mit den 7 Brücken geht es gleich ins Eingemachte. So, wie ich sehe, trennen mich von meinen eigentlichen Zielen noch einige, viele Meter. Aber ich werde mich da heute abend noch durchbeissen!
Zunächst versuche ich das Einlesen einer Excel-Tabelle, die ich aus der Wikipedia nach LibreOfficeCalc kopiere. Und zwar eine Auflistung der kognitiven Biase in englischer Sprache, hier eine Grafik von der Wikipedia (für die ich diesen Monat sogar mal gespendet habe - tut dies bitte auch!):
By design: John Manoogian III
categories and descriptions: Buster Benson
implementation: TilmannR - This file was derived from: The Cognitive Bias Codex - 180+ biases, designed by John Manoogian III (jm3).png: , CC BY-SA 4.0, Link
So, das Importieren hat geklappt, ich weiß jetzt, wo ich hinklicken muss. Was sonst noch zu beachten ist, war mir großteils bereits geläufig. Die Daten sollten in sog. Normalform vorliegen, als tidy-data, die Spaltennamen müssen das. Okay, auch das habe ich verstanden. Weiter kann ich nun leider noch nix mit meiner Tabelle anfangen, aber macht auch nix.
Bis zu den "logischen Variablen" ist alles selbsterklärend, es sind halt ggf. noch einige Einzelschrittchen notwendig, um die importierten (oder sonstwie gewonnenen) Daten für die Weiterverarbeitung aufzubereiten.
Und nun zu den "logischen Variablen":
In R (Studio) ist ein Datensatz namens mtcars implementiert, mit dem fim spielen darf. Gibt fim in der Konsole ein summary(mtcars) ein, erscheint dieses:
> summary(mtcars) mpg cyl disp hp drat Min. :10.40 Min. :4.000 Min. : 71.1 Min. : 52.0 Min. :2.760 1st Qu.:15.43 1st Qu.:4.000 1st Qu.:120.8 1st Qu.: 96.5 1st Qu.:3.080 Median :19.20 Median :6.000 Median :196.3 Median :123.0 Median :3.695 Mean :20.09 Mean :6.188 Mean :230.7 Mean :146.7 Mean :3.597 3rd Qu.:22.80 3rd Qu.:8.000 3rd Qu.:326.0 3rd Qu.:180.0 3rd Qu.:3.920 Max. :33.90 Max. :8.000 Max. :472.0 Max. :335.0 Max. :4.930 wt qsec vs am gear Min. :1.513 Min. :14.50 Min. :0.0000 Min. :0.0000 Min. :3.000 1st Qu.:2.581 1st Qu.:16.89 1st Qu.:0.0000 1st Qu.:0.0000 1st Qu.:3.000 Median :3.325 Median :17.71 Median :0.0000 Median :0.0000 Median :4.000 Mean :3.217 Mean :17.85 Mean :0.4375 Mean :0.4062 Mean :3.688 3rd Qu.:3.610 3rd Qu.:18.90 3rd Qu.:1.0000 3rd Qu.:1.0000 3rd Qu.:4.000 Max. :5.424 Max. :22.90 Max. :1.0000 Max. :1.0000 Max. :5.000 carb Min. :1.000 1st Qu.:2.000 Median :2.000 Mean :2.812 3rd Qu.:4.000 Max. :8.000
Und eine logische Variable wird (so sagt der Crash-Kurs) z.B. so erzeugt:
mtcars$Spass <- mtcars$hp > 200
Dadurch ist am Ende der Tabelle etwas dazugekommen:
Mean :3.217 Mean :17.85 Mean :0.4375 Mean :0.4062 Mean :3.688
3rd Qu.:3.610 3rd Qu.:18.90 3rd Qu.:1.0000 3rd Qu.:1.0000 3rd Qu.:4.000
Max. :5.424 Max. :22.90 Max. :1.0000 Max. :1.0000 Max. :5.000
carb Spass
Min. :1.000 Mode :logical
1st Qu.:2.000 FALSE:25
Median :2.000 TRUE :7
Mean :2.812
3rd Qu.:4.000
Max. :8.000
Diese Befehlszeile des Kurses
favstats(mtcars$Spass)
generiert leider folgendes:> favstats(mtcars$Spass) Fehler in favstats(mtcars$Spass) : konnte Funktion "favstats" nicht finden
Offenbar fehlt noch eine Package-Installation. Lassen wir das mal links liegen, den neuen Eintrag hat ja auch die summary-Funktion gezeigt. Der Befehl
help(mtcars)
zeigt folgendes auf:
mtcars {datasets} R Documentation Motor Trend Car Road Tests
Description
The data was extracted from the 1974 Motor Trend US magazine, and comprises fuel consumption and 10 aspects of automobile design and performance for 32 automobiles (1973–74 models).Usage
mtcars
Format
A data frame with 32 observations on 11 (numeric) variables.
[, 1] mpg Miles/(US) gallon [, 2] cyl Number of cylinders [, 3] disp Displacement (cu.in.) [, 4] hp Gross horsepower [, 5] drat Rear axle ratio [, 6] wt Weight (1000 lbs) [, 7] qsec 1/4 mile time [, 8] vs Engine (0 = V-shaped, 1 = straight) [, 9] am Transmission (0 = automatic, 1 = manual) [,10] gear Number of forward gears [,11] carb Number of carburetors Note
Henderson and Velleman (1981) comment in a footnote to Table 1: ‘Hocking [original transcriber]'s noncrucial coding of the Mazda's rotary engine as a straight six-cylinder engine and the Porsche's flat engine as a V engine, as well as the inclusion of the diesel Mercedes 240D, have been retained to enable direct comparisons to be made with previous analyses.’Source
Henderson and Velleman (1981), Building multiple regression models interactively. Biometrics, 37, 391–411.Examples
require(graphics) pairs(mtcars, main = "mtcars data", gap = 1/4) coplot(mpg ~ disp | as.factor(cyl), data = mtcars, panel = panel.smooth, rows = 1) ## possibly more meaningful, e.g., for summary() or bivariate plots: mtcars2 <- within(mtcars, { vs <- factor(vs, labels = c("V", "S")) am <- factor(am, labels = c("automatic", "manual")) cyl <- ordered(cyl) gear <- ordered(gear) carb <- ordered(carb) }) summary(mtcars2)
[Package datasets version 3.6.1 Index]
Das ist doch ganz nett als Info. Jetzt bin ich neugierig, was help(favstats) an Output gebiert:
help(favstats)
No documentation for ‘favstats’ in specified packages and libraries:
you could try ‘??favstats’
| |
So etwas in der Art ließ sich ja erwarten. Fein, fein.
Und da das nächste Beispiel auch wieder favstats usedte, habe ich mich schlau gemacht ...aha! mosaic muss als Package nicht nur installiert, sondern auch ausgewählt sein, dann klappert es wie folgt:
Und nun gelingt auch das:help(favstats)
mean_ {mosaic} R Documentation Aggregating functions
Description
Themosaic
package makes several summary statistic functions (likemean
andsd
) formula aware.Usage
mean_(x, ..., data = NULL, groups = NULL, na.rm = getOption("na.rm", FALSE)) mean(x, ...) median(x, ..., data = NULL, groups = NULL, na.rm = getOption("na.rm", FALSE)) range(x, ..., data = NULL, groups = NULL, na.rm = getOption("na.rm", FALSE)) sd(x, ..., data = NULL, groups = NULL, na.rm = getOption("na.rm", FALSE)) max(x, ..., data = NULL, groups = NULL, na.rm = getOption("na.rm", FALSE)) min(x, ..., data = NULL, groups = NULL, na.rm = getOption("na.rm", FALSE)) sum(x, ..., data = NULL, groups = NULL, na.rm = getOption("na.rm", FALSE)) IQR(x, ..., data = NULL, groups = NULL, na.rm = getOption("na.rm", FALSE)) fivenum(x, ..., data = NULL, groups = NULL, na.rm = getOption("na.rm", FALSE)) iqr(x, ..., data = NULL, groups = NULL, na.rm = getOption("na.rm", FALSE)) prod(x, ..., data = NULL, groups = NULL, na.rm = getOption("na.rm", FALSE)) sum(x, ..., data = NULL, groups = NULL, na.rm = getOption("na.rm", FALSE)) favstats(x, ..., data = NULL, groups = NULL, na.rm = TRUE) quantile(x, ..., data = NULL, groups = NULL, na.rm = getOption("na.rm", FALSE)) var(x, y = NULL, na.rm = getOption("na.rm", FALSE), ..., data = NULL) cor(x, y = NULL, ..., data = NULL) cov(x, y = NULL, ..., data = NULL)
Arguments
x
a numeric vector or a formula...
additional argumentsdata
a data frame in which to evaluate formulas (or bare names). Note that the default isdata = parent.frame()
. This makes it convenient to use this function interactively by treating the working environment as if it were a data frame. But this may not be appropriate for programming uses. When programming, it is best to use an explicitdata
argument – ideally supplying a data frame that contains the variables mentioned.groups
a grouping variable, typically a name of a variable indata
na.rm
a logical indicating whetherNA
s should be removed before computingy
a numeric vector or a formulaDetails
Many of these functions mask core R functions to provide an additional formula interface. Old behavior should be unchanged. But if the first argument is a formula, that formula, together withdata
are used to generate the numeric vector(s) to be summarized. Formulas of the shapex ~ a
or~ x | a
can be used to produce summaries ofx
for each subset defined bya
. Two-way aggregation can be achieved using formulas of the formx ~ a + b
orx ~ a | b
. See the examples.Note
Earlier versions of these functions supported a "bare name + data frame" interface. This functionality has been removed since it was (a) ambiguous in some cases, (b) unnecessary, and (c) difficult to maintain.Examples
mean(HELPrct$age) mean( ~ age, data = HELPrct) mean( ~ drugrisk, na.rm = TRUE, data = HELPrct) mean(age ~ shuffle(sex), data = HELPrct) mean(age ~ shuffle(sex), data = HELPrct, .format = "table") # wrap in data.frame() to auto-convert awkward variable names data.frame(mean(age ~ shuffle(sex), data = HELPrct, .format = "table")) mean(age ~ sex + substance, data = HELPrct) mean( ~ age | sex + substance, data = HELPrct) mean( ~ sqrt(age), data = HELPrct) sum( ~ age, data = HELPrct) sd(HELPrct$age) sd( ~ age, data = HELPrct) sd(age ~ sex + substance, data = HELPrct) var(HELPrct$age) var( ~ age, data = HELPrct) var(age ~ sex + substance, data = HELPrct) IQR(width ~ sex, data = KidsFeet) iqr(width ~ sex, data = KidsFeet) favstats(width ~ sex, data = KidsFeet) cor(length ~ width, data = KidsFeet) cov(length ~ width, data = KidsFeet) tally(is.na(mcs) ~ is.na(pcs), data = HELPmiss) cov(mcs ~ pcs, data = HELPmiss) # NA because of missing data cov(mcs ~ pcs, data = HELPmiss, use = "complete") # ignore missing data # alternative approach using filter explicitly cov(mcs ~ pcs, data = HELPmiss %>% filter(!is.na(mcs) & !is.na(pcs)))
[Package mosaic version 1.5.0 Index]
favstats(mtcars$Spass)
min Q1 median Q3 max mean sd n missing
0 0 0 0 1 0.21875 0.4200134 32 0
Warnmeldung:
In fav_stats(x, ..., na.rm = na.rm) : Auto-converting logical to numeric.
| |||||
|
favstats(mtcars$mpg)
min Q1 median Q3 max mean sd n missing
10.4 15.425 19.2 22.8 33.9 20.09062 6.026948 32 0
Sowie das:
favstats(mpg ~ cyl, data = mtcars)
cyl min Q1 median Q3 max mean sd n missing
1 4 21.4 22.80 26.0 30.40 33.9 26.66364 4.509828 11 0
2 6 17.8 18.65 19.7 21.00 21.4 19.74286 1.453567 7 0
3 8 10.4 14.40 15.2 16.25 19.2 15.10000 2.560048 14 0
Was tun wir da? Nun, es nennt sich deskriptive Statistik - so ich denn richtig gelesen habe ... mom! Ja, korrekt, und zwar mit numerischen Variablen.
Dasselbe in grün, mit nominellen Variabiliiis:
my_cars <- mtcars
>
> my_cars$cyl_f <- factor(mtcars$cyl)
> my_cars$Spass <- my_cars$hp > 200
> table(my_cars$cyl_f)
4 6 8
11 7 14
| |
|
Kommentare
Kommentar veröffentlichen