Zmień nazwę kolumn ramki danych, przeszukując nazwę kolumny

Piszę opakowanie do ggplot, aby tworzyć wiele wykresów na podstawie różnych zestawów danych. Gdy przekazuję nazwy kolumn do funkcji, muszę zmienić nazwy kolumn, aby ggplot mógł zrozumieć odniesienie.

Jednak walczę z przemianowaniem kolumn ramki danych

oto ramka danych:

df <- data.frame(col1=1:3,col2=3:5,col3=6:8)

oto moje nazwy kolumn do wyszukiwania:

col1_search <- "col1"
col2_search <- "col2"
col3_search <- "col3"

a oto nazwy kolumn, które mają zostać zastąpione:

col1_replace <- "new_col1"
col2_replace <- "new_col2"
col3_replace <- "new_col3"

gdy szukam nazw kolumn, R sortuje indeksy kolumn i ignoruje lokalizację wyszukiwania.

na przykład, kiedy uruchomię następujący kod, spodziewałem się, że nowe nagłówki będą nowe_col1, new_col2 i new_col3, zamiast tego nowe nazwy kolumn to: new_col3, new_col2 i new_col1

colnames(df)[names(df) %in% c(col3_search,col2_search,col1_search)] <- c(col3_replace,col2_replace,col1_replace)

Czy ktoś ma rozwiązanie, w którym mogę wyszukiwać nazwy kolumn i zastępować je w tej kolejności?

questionAnswers(4)

yourAnswerToTheQuestion