Как удалить символ в кадре данных с помощью пакета stringi?

В настоящее время у меня есть набор данных ключевых показателей эффективности, и я хотел бы удалить символ "$" из данных. Тем не менее, я могу использовать только одну строку кода в дополнение к обязательному использованию пакета stringi. Глядя на документацию, " stri_replace_all_fixed " была той функцией, которая мне понравилась, но после запуска этой функции мой фрейм данных потерял свое форматирование. Я попытался скомбинировать функции lapply и stri_replace_all_fixed безрезультатно. Указатели о том, как решить эту проблему, будут высоко оценены.

3 ответа

Решение

С library(stringi)

yourdataframe[] <- lapply(yourdataframe, stri_replace_all_regex,"\\$", "")
# Dummy data
dta <- data.frame(group = rep(LETTERS[1:5], 10)) %>%
    mutate(value = sample(1:10, 50, replace = TRUE) %>% paste("$"))

# scrub a dub (using dplyr)
dta %>% mutate_all(funs(stri_replace_all_fixed(., "$", "")))

и это тоже один из самых быстрых подходов: замена гонок

Обновление (по состоянию на ноябрь 2022 г.) на ответе @leerssej asfuns()устарело:

      # Dummy data
dta <- data.frame(group = rep(LETTERS[1:5], 10)) %>%
    mutate(value = sample(1:10, 50, replace = TRUE) %>% paste("$"))

# scrub a dub (using dplyr)
dta %>% mutate_all(~stringi::stri_replace_all_fixed(., "$", ""))
Другие вопросы по тегам