Para facilitar a vida de um usuário leigo, eu criei uma função para excluir as colunas de uma tabela, conforme código abaixo:
- remove.variables <- function(dataset.name, vars.to.remove)
- {
- # scan the variables to be removed
- for (x in 1 : length(vars.to.remove))
- {
- # transform command.Remove in "data$variable <- NULL"
- command.Remove <- paste(dataset.name,"$",vars.to.remove[x], " <- NULL",sep="")
- # execute the command
- command.Remove <- eval(parse(text=command.Remove))
- } # for (x in 1 : length(vars.to.remove))
- } # remove.variables <- function(dataset.name, vars.to.remove)
Fazendo um teste local, ou seja, executando o procedimento abaixo com as variáveis
dataset.name, vars.to.remove carregadas respectivamente com o nome do meu data frame "data" e com o nome de duas variáveis "var1" e "var5" a serem removidas e executando da linha 2 a 11 tudo tunciona bem e as colunas são removidas.
vars.to.remove<-c("var1", "var5")
No entanto se carrego a função e executo os procedimentos abaixo em outro script, a função é executada sem erro, mas não remove nenhuma coluna do data frame:
vars.to.remove = c("var1", "var5")
Eu acredito que tem a ver com o ambiente, acesso global algo assim mas não estou achando a solução.
Agradeço se aguem puder me ajudar.