Como a atravessar as fronteiras em r
Video: ATRAVESSANDO A FRONTEIRA DO EUA DE CARRO | VIAGEM | Romulo e Mirella | T3. Ep.1
Conteúdo
Ao trabalhar com funções em R, às vezes, você trabalha com alguns objetos que você não criem em primeiro lugar na área de trabalho. Você usa os argumentos X, mult, e DIVERSÃO como se fossem objetos, e você criar um objeto por cento dentro da função que você não pode encontrar de volta no espaço de trabalho depois de usar a função. Então o que está acontecendo?
Criar um caso de teste
Vamos descobrir através de um pequeno exemplo. Primeiro, crie um objeto X e uma pequena teste() funcionar como este:
X lt; - 1: 5test lt; - função (x) {gato ("Este é x:", X, "n") Rm (x) gato ("Este é x, depois de removê-lo:", X,"n")}
o teste() função não fazer muito. Leva um argumento X, imprime-lo para o console, remove-lo, e tenta imprimi-lo novamente. Você pode pensar que esta função irá falhar, porque X desaparece após a linha RM (x). Mas não, se você tentar esta função ele funciona muito bem, como mostrado no exemplo a seguir:
gt; teste (5: 1) Trata-se de x: 5 4 3 2 1 Esta é x após a sua remoção: 1 2 3 4 5
Mesmo após a remoção X, R ainda pode encontrar outra X que pode imprimir. Se você olhar um pouco mais de perto, você verá que o X impresso na segunda linha não é realmente o que você deu como um argumento, mas o X você criou antes no espaço de trabalho. Por quê?
Procurar o caminho
Se você usar uma função, a função cria pela primeira vez um temporária ambiente local. Este ambiente local é aninhados dentro do ambiente global, o que significa que, a partir desse ambiente local, você também pode acessar qualquer objeto do ambiente global. Assim que a função termina, o ambiente local é destruída juntamente com todos os objetos nele.
Para ser completamente correto, a função sempre cria um ambiente dentro do ambiente é chamado de, chamado de ambiente pai. Se você chamar uma função a partir do espaço de trabalho através de um script ou usando a linha de comando, este ambiente pai passa a ser o meio ambiente global.
Se R vê qualquer nome do objeto mencionado em nenhum código na função, ele primeiro procura o meio ambiente local. Porque ele encontra um objeto X lá, ele usa esse para o primeiro gato() declaração. Na linha seguinte, R remove esse objecto X. Assim, quando R alcança a terceira linha, não pode encontrar um objeto X no ambiente local mais. Sem problemas. R move para cima a pilha de ambientes e verificações para ver se encontra alguma coisa parecendo um X no ambiente global. Porque ele pode encontrar um X lá, ele usa que um no segundo gato() declaração.
Video: Tutorial GTA 3:Como passar para outra cidade sem fazer missao ( SEM CHEAT )
Se você usar RM () dentro de uma função, RM () irá, por padrão, excluir apenas os objetos dentro dessa função. Dessa forma, você pode evitar a falta de memória quando você escrever funções que têm de trabalhar em grandes conjuntos de dados. Você pode remover imediatamente grandes objetos temporários em vez de esperar para a função de fazê-lo no final.