Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Zeilenumbruch in Konsole mit R

262 views
Skip to first unread message

Patrick Rudin

unread,
Nov 25, 2023, 11:39:27 AM11/25/23
to
Im Zweifel poste ich mal hier, da ich nicht so sicher bin, wo genau das
Problem liegt. Die Konsole macht automatisch einen Zeilenumbruch, den
ich nicht will.

Wer selber ausprobieren möchte installiere sich das Paket
c-cran-tidyverse. Mit R starten.

Dann:

library(tidyverse)

Es beinhaltet unter anderem ein Testdatenset namens starwars, welches
ich hier verwende:

starwars

# A tibble: 87 × 14
name height mass hair_color skin_color eye_color birth_year sex
gender
<chr> <int> <dbl> <chr> <chr> <chr> <dbl>
<chr> <chr>
1 Luke Sk… 172 77 blond fair blue 19
male mascu…
2 C-3PO 167 75 NA gold yellow 112
none mascu…
3 R2-D2 96 32 NA white, bl… red 33
none mascu…
4 Darth V… 202 136 none white yellow 41.9
male mascu…
5 Leia Or… 150 49 brown light brown 19
fema… femin…
6 Owen La… 178 120 brown, gr… light blue 52
male mascu…
7 Beru Wh… 165 75 brown light blue 47
fema… femin…
8 R5-D4 97 32 NA white, red red NA
none mascu…
9 Biggs D… 183 84 black light brown 24
male mascu…
10 Obi-Wan… 182 77 auburn, w… fair blue-gray 57 male
mascu…
# ℹ 77 more rows
# ℹ 5 more variables: homeworld <chr>, species <chr>, films <list>,
# vehicles <list>, starships <list>
# ℹ Use `print(n = ...)` to see more rows

Mein Thunderbird bricht das hier vermutlich ungeschickt um. Jedenfalls
sind das neumodische Tibbles (neuseeländisch für tables...), die
netterweise nicht die ganze Konsole zumüllen, sondern per Default nur
die ersten zehn Einträge zeigen. Kann man übersteuern, punkto Zeilen
klappt das auch problemlos:

starwars %>% print(n=30)

zeigt beispielsweise 30 Einträge.

Nun das Problem: Ich will in einem breiten Fenster meiner Monitore alle
Variablen auf einer Zeile sehen, und das klappt nicht. Der folgende
Befehl gibt nur den ersten Eintrag mit allen Variablen aus:

starwars %>% slice(1) %>% print(width=Inf)
# A tibble: 1 × 14
name height mass hair_color skin_color eye_color
birth_year sex
<chr> <int> <dbl> <chr> <chr> <chr>
<dbl> <chr>
1 Luke Skywalker 172 77 blond fair blue 19
male
gender homeworld species films vehicles starships
<chr> <chr> <chr> <list> <list> <list>
1 masculine Tatooine Human <chr [5]> <chr [2]> <chr [2]>

Da sind zwar alle Variablen drin, aber es wird trotz genügend
horizontalem Platz für alle Inhalte auf zwei Zeilen umgebrochen. Hat
hier jemand ein anderes Ergebnis?

Das macht er sowohl im Gnome-Terminal als auch wenn ich per
<ctrl>+<alt>+<Fx> auf eine Konsole wechsle. Normalerweise führe ich
meine Skripts in der integrierten Umgebung rkward (gleichnamiges Paket,
allenfalls noch kate nachinstallieren) aus, weil dort Skript und Konsole
schön getrennt sind, aber das Ergebnis ist dasselbe. Das nervt.

In den üblichen Gruppen wird zumeist Rstudio/Posit unter Windows als
integrierte Umgebung verwendet, dort scheint das Problem nicht aufzutreten.

Tipps?


Grüsse

Patrick

Patrick Rudin

unread,
Nov 25, 2023, 11:52:51 AM11/25/23
to
Patrick Rudin wrote:
> Wer selber ausprobieren möchte installiere sich das Paket
> c-cran-tidyverse. Mit R starten.

Äh, sorry, das Paket heisst natürlich

r-cran-tidyverse

Nicht c. C ist für nerds ;-)


Grüsse

Patrick

Stefan Möding

unread,
Nov 26, 2023, 5:24:09 AM11/26/23
to
Patrick Rudin <tax...@gmx.ch> writes:

> Nun das Problem: Ich will in einem breiten Fenster meiner Monitore
> alle Variablen auf einer Zeile sehen, und das klappt nicht. Der
> folgende Befehl gibt nur den ersten Eintrag mit allen Variablen aus:

Es gibt eine Option für die Breite der normalen Ausgabe (keine Ahnung ob
die von Tidyverse berücksichtigt wird). Ändert sich die Ausgabe hiermit:

options(width=10000)

--
Stefan

Patrick Rudin

unread,
Nov 26, 2023, 8:48:02 AM11/26/23
to
Stefan Möding wrote:
> Es gibt eine Option für die Breite der normalen Ausgabe (keine Ahnung ob
> die von Tidyverse berücksichtigt wird).

Ja, laut Doku wäre etwa options(tibble.width=500) die Einstellung, die
bei der tibble-Klasse den Default ändert. Das führt aber zum selben
Ergebnis wie mein Beispiel mit dem angehängten print-Befehl: Es kommen
alle Variablen, aber dennoch auf zwei Zeilen.

> Ändert sich die Ausgabe hiermit:
>
> options(width=10000)

Wow, danke, so bricht er tatsächlich nicht mehr um, alles schön sauber
auf einer Zeile.


Gruss

Patrick
0 new messages