Ho una variabile stringa contenente alfabeto [a-z], spazio [] e apostrofo ['], ad es. x <- "a'b c"
Voglio sostituire apostrofo ['] con vuoto [], e sostituire lo spazio [] con il carattere di sottolineatura [_].Sostituisci più stringhe in una istruzione gsub() o chartr() in R?
x <- gsub("'", "", x)
x <- gsub(" ", "_", x)
Funziona in modo assoluto, ma quando ho molte condizioni, il codice diventa brutto. Pertanto, voglio utilizzare chartr()
, ma chartr()
non può occuparsi di vuoto, ad es.
x <- chartr("' ", "_", x)
#Error in chartr("' ", "_", "a'b c") : 'old' is longer than 'new'
C'è un modo per risolvere questo problema? Grazie!
L'hai già risolto con i due gsub. Se sembra troppo brutto, puoi creare la tua funzione di wrapper che è "più carina", suppongo. Ma non puoi usare 'chartr' perché" vuoto "non è un personaggio, è la mancanza di un personaggio. – MrFlick