Concatene colunas e adicione-as ao início do Data Frame

Noob aqui para R. Tentando descobrir algo. Eu preciso criar uma função que adiciona uma nova coluna ao início de um conjunto de dados. Essa nova coluna é uma concatenação dos valores em outras colunas especificadas pelo usuário.

Imagine que este é o conjunto de dados chamado myDataSet:

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

O usuário poderia usar a função da seguinte maneira:

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

para obter o resultado de um novo conjunto de dados com as colunas 1, 3 e 4 concatenadas em uma coluna chamada ID e adicionada ao início, da seguinte forma:

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

Este é o script em que estou trabalhando, mas o encaro há tanto tempo que acho que cometi alguns erros. Não consigo descobrir como obter os números das colunas dos argumentos na função colar corretamente.

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
}

Qualquer ajuda seria muito apreciada. Muito obrigado

questionAnswers(3)

yourAnswerToTheQuestion