Объединить столбцы и добавить их в начало фрейма данных

Нуб здесь для Р. Пытаюсь что-то выяснить. Мне нужно построить функцию, которая добавляет новый столбец в начало набора данных. Этот новый столбец представляет собой объединение значений в других столбцах, указанных пользователем.

Представьте, что это набор данных с именем myDataSet:

col_1    col_2    col_3    col_4
bat      red      1        a
cow      orange   2        b
dog      green    3        c

Пользователь может использовать функцию следующим образом:

addPrimaryKey(myDataSet, cols=c(1,3,4))

чтобы получить результат нового набора данных со столбцами 1, 3 и 4, объединенными в столбец с именем ID и добавленными в начало, вот так:

ID        col_1    col_2    col_3    col_4
bat1a     bat      red      1        a
cow2b     cow      orange   2        b
dog4c     dog      green    3        c

Это сценарий, над которым я работал, но я так долго на него смотрел, думаю, что допустил несколько ошибок. Я не могу понять, как правильно получить номера столбцов из аргументов в функции вставки.

addPrimaryKey <- function(df, cols=NULL){

  newVector = rep(NA, length(cols)) ##initialize vector to length of columns

  colsN <- as.numeric(cols)

  df <- cbind(ID=paste(
    for(i in 1:length(colsN)){
      holder <- df[colsN[i]]
      holder
    }
  , sep=""), df) ##concatenate the selected columns and add as ID column to df
df
}

Любая помощь будет принята с благодарностью. Спасибо

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

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