Использование синтаксически сложных строк в качестве имен столбцов во фрейме данных

Я работаю с фреймом данных, похожим на приведенную ниже выдержку:

df <- data.frame(A=c("Some messy string to be used",222,0), 
                 B=c("Very important ? indicator from 2001", 888, 44),
                 C=c("001 This variable / makes no sense", 888, 44),
                 D=c("Geography", 1, 2))

Я хотел бы использовать значения в первой строке в качестве имен столбцов, я использую код ниже:

names(df) <- make.names(df[1,])

К сожалению, синтаксис генерирует имена в форматеXn, как показано ниже:

> names(df)
[1] "X3" "X3" "X1" "X3"

Я понимаю, что используемые строки должны быть грязными дляmake.names быть осмысленно обращенным.Как я могу заставить R использовать эти грязные строки более эффективным способом? Как правило, я хотел бы:

Сохраняйте цифры (они соответствуют времени)Сохраните хотя бы несколько первых слов из текстаУбедитесь, что имена являются уникальнымиВсе решение должно быть довольно общим, так как существует многомусор в первом ряду (обычно пустые пробелы или специальные символы).

Ответы на вопрос(2)

Ваш ответ на вопрос