Zahlen ersetzen durch Buchstaben im dataframe

Wie erweitere ich R um eigene Funktionen oder Pakete? Welches Paket ist passend für meine Fragestellung?

Moderatoren: EDi, jogo

Antworten
christin_56

Zahlen ersetzen durch Buchstaben im dataframe

Beitrag von christin_56 »

Hallo!

Ich habe einen dataframe mit 70 Zeilen und 54600 Spalten. Ich möchte nun im gesamten dataframe jede Zahl "0" durch die Buchstaben "BB" ersetzen. Versucht habe ich es mit

Code: Alles auswählen

data <- replace(data, data == "0", "BB")
Dann wird aber leider jede "0" durch ein "NA" ersetzt.

Die Spalten sind alle als character definiert.

Hat jemand eine Idee? Danke :)
jogo
Beiträge: 2085
Registriert: Fr Okt 07, 2016 8:25 am

Re: Zahlen ersetzen durch Buchstaben im dataframe

Beitrag von jogo »

Hallo Christin,

willkommen im Forum!
Kannst Du biite den Output liefern von:

Code: Alles auswählen

str(data[,1:10])
damit wir wenigstens einen Anhaltspunkt dafür haben, mit was für Daten Du hantierst :?:

Eigentlich müsstest Du schon das Wort Zahl in Anführungsstriche setzen, wenn es sich wirklich um "0" handelt, denn "0" ist kein numerisches Objekt:

Code: Alles auswählen

is.numeric("0")
Wenn alles so ist, wie Du schreibst, kannst Du folgendes versuchen:

Code: Alles auswählen

data[] <- lapply(data, function(x) ifelse(x=="0", "BB", x))
Oder auch:

Code: Alles auswählen

set.seed(42)
data <- as.data.frame(matrix(sample(c("0", "A", "CC", "d", "42"), 50, repl=TRUE), 10))
data=="0"
data[] <- ifelse(data=="0", "BB", as.matrix(data))
Gruß, Jörg
christin_56

Re: Zahlen ersetzen durch Buchstaben im dataframe

Beitrag von christin_56 »

Hallo Jörg!

Vielen Dank für deine Hilfe!

Mit

Code: Alles auswählen

data[] <- lapply(data, function(x) ifelse(x=="0", "BB", x))

hat es funktioniert!
Danke!
Antworten