x <- 1:50durch3-durch5
R
challenge
string
Aufgabe
Gegeben sei ein Vektor x:
Schreiben Sie R-Code, der “durch3” ausgibt, wenn x durch 3 teilbar ist und (auch) “durch5” ausgibt, wenn x durch5 teilbar ist.
Hinweise:
- Orientieren Sie sich im Übrigen an den allgemeinen Hinweisen des Datenwerks.
Lösung
library(tidyverse)d <-
tibble(
x = 1:50,
txt = ""
) %>%
mutate(txt = case_when(
(x %% 3) == 0 ~ str_c(txt, "_durch_3"),
TRUE ~ txt)
) %>%
mutate(txt = case_when(
(x %% 5) == 0 ~ str_c(txt, "_durch_5"),
TRUE ~ txt
))So sieht die Tabelle aus:
d| x | txt |
|---|---|
| 1 | |
| 2 | |
| 3 | _durch_3 |
| 4 | |
| 5 | _durch_5 |
| 6 | _durch_3 |
| 7 | |
| 8 | |
| 9 | _durch_3 |
| 10 | _durch_5 |
| 11 | |
| 12 | _durch_3 |
| 13 | |
| 14 | |
| 15 | _durch_3_durch_5 |
| 16 | |
| 17 | |
| 18 | _durch_3 |
| 19 | |
| 20 | _durch_5 |
| 21 | _durch_3 |
| 22 | |
| 23 | |
| 24 | _durch_3 |
| 25 | _durch_5 |
| 26 | |
| 27 | _durch_3 |
| 28 | |
| 29 | |
| 30 | _durch_3_durch_5 |
| 31 | |
| 32 | |
| 33 | _durch_3 |
| 34 | |
| 35 | _durch_5 |
| 36 | _durch_3 |
| 37 | |
| 38 | |
| 39 | _durch_3 |
| 40 | _durch_5 |
| 41 | |
| 42 | _durch_3 |
| 43 | |
| 44 | |
| 45 | _durch_3_durch_5 |
| 46 | |
| 47 | |
| 48 | _durch_3 |
| 49 | |
| 50 | _durch_5 |
So kann man sich dann den Text ausgeben lassen:
d$txt [1] "" "" "_durch_3" ""
[5] "_durch_5" "_durch_3" "" ""
[9] "_durch_3" "_durch_5" "" "_durch_3"
[13] "" "" "_durch_3_durch_5" ""
[17] "" "_durch_3" "" "_durch_5"
[21] "_durch_3" "" "" "_durch_3"
[25] "_durch_5" "" "_durch_3" ""
[29] "" "_durch_3_durch_5" "" ""
[33] "_durch_3" "" "_durch_5" "_durch_3"
[37] "" "" "_durch_3" "_durch_5"
[41] "" "_durch_3" "" ""
[45] "_durch_3_durch_5" "" "" "_durch_3"
[49] "" "_durch_5"
Oder so:
d$txt %>% discard(\(x) x == "") [1] "_durch_3" "_durch_5" "_durch_3" "_durch_3"
[5] "_durch_5" "_durch_3" "_durch_3_durch_5" "_durch_3"
[9] "_durch_5" "_durch_3" "_durch_3" "_durch_5"
[13] "_durch_3" "_durch_3_durch_5" "_durch_3" "_durch_5"
[17] "_durch_3" "_durch_3" "_durch_5" "_durch_3"
[21] "_durch_3_durch_5" "_durch_3" "_durch_5"
Categories:
- r
- challenge
- string