[R-br] Função para remover colunas
salah
salah3.1416 em gmail.com
Segunda Fevereiro 29 11:01:09 BRT 2016
Olá
O colega já lhe deu a solução, mas se é pra facilitar a vida do usuário
leigo segue sugestão
(df = data.frame( a=letters[10], b=LETTERS[10], c=seq(10),
d=letters[1:10], e=letters[1:10] ))
## -------- exemplo1 ----------------
remove.var = function(dataname, vars)
{
dataname[vars] <- list(NULL)
return(dataname)
}##end function
vars = c("a", "b")
remove.var(df, vars)
## -------- exemplo2 ----------------
remove.var = function(dataname, vars)
{
return(dataname[, ! names(dataname) %in% vars, drop = FALSE])
}##end function
vars = c("a", "b")
remove.var(df, vars)
saudações
Em 28/02/2016 08:55, Elias Carvalho escreveu:
> Ola Pessoal
>
> 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:
>
> 1. remove.variables <- function(dataset.name <http://dataset.name/>,
> vars.to.remove)
> 2. {
> 3. # scan the variables to be removed
> 4. for (x in 1 : length(vars.to.remove))
> 5. {
> 6. # transform command.Remove in "data$variable <- NULL"
> 7. command.Remove <- paste(dataset.name
> <http://dataset.name/>,"$",vars.to.remove[x], " <- NULL",sep="")
> 8. # execute the command
> 9. command.Remove <- eval(parse(text=command.Remove))
> 10. } # for (x in 1 : length(vars.to.remove))
> 11. } # remove.variables <- function(dataset.name
> <http://dataset.name/>, vars.to.remove)
>
>
> Fazendo um teste local, ou seja, executando o procedimento abaixo com
> as variáveisdataset.name <http://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.
>
> dataset.name <http://dataset.name/> <- "data"
> 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")
> dataset.name <http://dataset.name/> = "data"
>
> remove.variables(dataset.name <http://dataset.name/>, vars.to.remove)
>
> 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.
>
> --
> Best regards... 8^)
>
> “The mind that is open to new ideas never come back
> to its original size” /Albert Einstein/
>
>
> _____________________________________________
> Prof. Elias César Araújo de Carvalho
> CV: http://lattes.cnpq.br/4248328961021251
>
>
> _______________________________________________
> R-br mailing list
> R-br em listas.c3sl.ufpr.br
> https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br
> Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forne�a c�digo m�nimo reproduz�vel.
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://listas.inf.ufpr.br/pipermail/r-br/attachments/20160229/4a80c85e/attachment.html>
Mais detalhes sobre a lista de discussão R-br