paste()
, substr()
, nchar()
stringr
readLines(con=,encoding=)
kan användas för att läsa in en text. Varje rad i texten blir då ett element i en vektor.
Icke-engelska symboler/tecken text kräver encoding (ex. för å,ä och ö).
Vi ändrar med encoding = "latin1"
i readLines()
.
Vanligast är latin1
och UTF8
(men Windows can ha egna encodings)
str_
stringr | base | Användning |
---|---|---|
str_sub() |
substr() |
substring, välja ut en del av en sträng (regex) |
str_c() |
paste() , paste0() |
slår ihop strängelement |
str_split() |
strsplit() |
dela upp en sträng i flera element (regex) |
str_length() |
nchar() |
beräknar antalet tecken |
str_trim() |
- | tar bort mellanslag (före/efter textelement) |
str_pad() |
- | lägger till mellanslag (före/efter textelement) |
In computing, regular expressions provide a concise and flexible means for identifying strings of text of interest, such as particular characters, words, or patterns of characters.
Tecken | Betydelse |
---|---|
. |
samtliga tecken (exkl. det “tomma” tecknet “”) |
^ |
det “tomma” tecknet i början av en text |
$ |
det “tomma” tecknet i slutet text |
* |
föregående tecken 0 eller fler gånger |
+ |
föregående tecken 1 eller fler gånger |
? |
föregående tecken är valfritt |
{n,m} |
föregående tecken n eller max m gånger |
[...] |
teckenlista (character list) |
| | ELLER |
(...) |
Gruppering |
\ |
Används för att “undvika” metatecken/specialtecken. |
Obs! I R krävs: \\
[ ]
skapas en lista över tänkbara tecken, en s.k. teckenklass (eng. character class)Tecken | Betydelse | Exempel |
---|---|---|
- |
tecken | A-Z a-z 0-9 |
^ |
ICKE | ^0-9 |
\ |
specialtecken | \t\n |
Obs! I R krävs: \\
Vanliga fördefinierade klasser är… (kolla ?regexp
)
[:digit:]
Nummer[:lower:]
gemener[:upper:]
VERSALER[:punct:]
tecken, ej bokstäver eller siffror [:space:]
mellanslag, tab, ny rad m.m.
I R behöver vi ange att det är en teckenklass: [[:space:]]
pattern
är ett regular expression i Rstringr | base | Användning |
---|---|---|
str_detect() |
grepl() |
identifierar pattern, returnerar en logisk vektor |
str_locate() |
gregexpr() |
identifierar pattern, returnerar positionen i texten |
str_replace() |
gsub() |
identifierar pattern, och ersätter detta med ny text |
str_extract_all |
- | Plocka ut alla strängar som uppfyller pattern |
z <- a %>%
fun1(b) %>%
fun3()
är detsamma som
x <- fun(a, b)
z <- fun3(x)
messy data %>%
tidy data %>%
analys
tbl_df
till data.frame
verb | beskrivning |
---|---|
select() |
välj kolumn |
filter() |
filtrera rader |
arrange() |
arrangera rader |
mutate() |
skapa nya kolumner |
summarise() |
aggregera rader över grupp |
group_by() |
gruppera för “split-apply-combine”/aggregera |
join |
kombindera olika dataset |
bind_rows |
kombindera dataset “på höjden” |
bind_cols |
kombindera dataset “på bredden” |
funktion | beskrivning |
---|---|
left_join() |
slå ihop efter variabel, behåll obs. i vänstra data.frame |
right_join() |
slå ihop efter variabel, behåll obs. i högra data.frame |
full_join() |
slå ihop efter variabel, behåll alla obs. |
anti_join() |
slå ihop efter variabel, behåll obs. som inte finns i båda |