Seite 1 von 1

Zahlen ersetzen durch Buchstaben im dataframe

Verfasst: Fr Okt 06, 2017 9:15 am
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 :)

Re: Zahlen ersetzen durch Buchstaben im dataframe

Verfasst: Fr Okt 06, 2017 9:57 am
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

Re: Zahlen ersetzen durch Buchstaben im dataframe

Verfasst: Fr Okt 06, 2017 10:19 am
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!