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