Eu carreguei em um console R diferentes tipos de objetos. Posso removê-los todos usando
rm(list=ls())
ou remova apenas as funções (mas não as variáveis) usando
rm(list=lsf.str())
Minha pergunta é: existe uma maneira de remover todas as variáveis, exceto as funções
rm(list=setdiff(ls(all.names=TRUE), lsf.str(all.names=TRUE)))
.
Para ver do que estou falando, tente.j <- 5; ls(); ls(all.names=TRUE)
A
setdiff
resposta postada é boa. Eu apenas pensei em postar esta função relacionada que escrevi há um tempo. Sua utilidade fica por conta do leitor :-).fonte
ls.str()
qual, no entanto, testa omode
em vez dotypeof
de objetos. (Em uma nota lateral, será certeiro se conseguir descobrir a diferença entre os dois de sua documentação).Você pode usar o seguinte comando para limpar TODAS as variáveis. Tenha cuidado porque você não pode obter suas variáveis de volta.
fonte
Aqui está uma função muito conveniente que peguei em algum lugar e ajustei um pouco. Pode ser bom manter no diretório.
fonte
Escrevi isso para remover todos os objetos, exceto funções do ambiente atual (a linguagem de programação usada é R com IDE R-Studio):
Notas-
O argumento "lista" em rm (lista =) deve ser um vetor de caracteres.
O nome de um objeto na posição i do ambiente atual é retornado de ls () [i] e o próprio objeto de get (ls () [i]). Portanto, a classe de um objeto é retornada da classe (get (ls () [i]))
fonte