<- 1:50 x
durch3-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(
%% 3) == 0 ~ str_c(txt, "_durch_3"),
(x TRUE ~ txt)
%>%
) mutate(txt = case_when(
%% 5) == 0 ~ str_c(txt, "_durch_5"),
(x 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:
$txt d
[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:
$txt %>% discard(\(x) x == "") d
[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