Cleans text stored in a data frame. Function is tailored for German texts.
Usage
clean_text(
df,
text_field = "text",
clean_field = "text",
tolower = T,
remove_punct = T,
simplify_punct = F,
replace_emojis = T,
replace_numbers = T,
remove_stopwords = F,
store_uncleaned = T,
count = T
)
Arguments
- df
A data frame.
- text_field
character. Default is 'text'. Name of a column in
df
that contains text that should be cleaned. Default is 'text'.- clean_field
character. Default is 'text'. Name given to a new column in
df
that will contain the cleaned text.- tolower
logical. Lowercase text? Default is TRUE.
- remove_punct
logical. Remove punctuation? Default TRUE.
- simplify_punct
logical. Replace all !, :, ?, ... by a single . Default FALSE.
- replace_emojis
logical. Replace a list of emojis by German words for certain emotions ('wut', 'angst', 'freude'). Default TRUE.
- replace_numbers
logical. Replace numbers by German words for those numbers. Default TRUE.
- remove_stopwords
logical. Remove German stopwords from the 'nltk' list with the exception of some words defined by the author. Default FALSE.
- store_uncleaned
logical. Save uncleaned text as 'uncleaned_text' column? Default TRUE.
- count
logical. Count number of words and strings after cleaning? Will create the columns 'n_words' and 'n_chars'. Default TRUE.
Value
A data.frame with the same columns as the df. The cleaned text is in the
column specified by text_field
or, if not specified in 'text.
Examples
tw_data %<>% head(10) %>% clean_text(text_field = 'full_text')
tw_data$text
#> [1] "es geht bei dieser richtungswahl um die frage bleiben wir auf einem kurs der mitte und der stabilität oder bekommen wir ein rot grün rotes abenteuer mit unabsehbaren konsequenzen für arbeitsplätze den wohlstand unseres landes und die zukunft unserer kinder tm merzmail"
#> [2] "aus vielen veranstaltungen der letzten wochen nehme ich den eindruck mit die stimmung für cdu und csu ist besser als die umfragen darin liegt jetzt unsere chance bitte gehen sie alle morgen wählen und geben sie beide stimmen der union tm merzmail unionstärkstekraft"
#> [3] "sendung verpasst sehen sie hier die diskussion zwischen friedrich merz und hubertus heil bei sandra maischberger in der ard mediathek ab ca neunzehn tm"
#> [4] "ich bin mir nicht sicher ob wir corona einschränkungen wie die maskenpflicht noch brauchen wir sehen in ländern die rascher gelockert haben niedrige inzidenzen und hospitalisierungsquoten und wir sehen wie viel gesellschaftlichen dissens die maßnahmen verursachen tm"
#> [5] "frau nahles hatte recht der mechanismus der mindestlohnkommission ist wichtig damit der mindestlohn kein wahlkampfthema wird der vorschlag für zwölf euro mindestlohn ist rein populistisch jetzt startet ein politischer überbietungswettbewerb zwischen spd und linkspartei tm"
#> [6] "ich war immer für den mindestlohn die entscheidende frage ist wer ihn in zukunft festlegt die tarifvertragsparteien oder der gesetzgeber aus meiner sicht sollte dieses thema in der mindestlohnkommission bleiben und gehört nicht in den bundestag tm merz maischberger"
#> [7] "die oberen zehn der steuerpflichtigen bezahlen mehr als fünfzig des einkommenssteueraufkommens zu behaupten dass sich diese menschen nicht genug an der finanzierung des gemeinwesens beteiligen ist unseriös wir haben die höchsten steuern und abgaben in europa tm maischberger"
#> [8] "die vollständige abschaffung des solidaritätszuschlags ist eine frage des respekts und der fairness gegenüber all denjenigen die dreißig jahre lang die deutsche einheit finanziert haben alles andere ist ein gebrochenes versprechen des steuergesetzgebers tm maischberger merz"
#> [9] "die cdu hat damals als oppositionspartei der agenda tausende der spd zugestimmt wir sehen es mit bedauern dass diese reformen von den sozialdemokraten schritt für schritt wieder zurückgenommen werden wir müssen zurückkehren zum prinzip fördern und fordern tm maischberger"
#> [10] "von analog tausende zu digital tausende schauen sie mal was mein team und ich heute zum abschluss des wahlkampfes im hochsauerlandkreis online gestellt haben leiten sie das video auch gerne an freunde und bekannte weiter hier geht s zum download"