Como trabalhar com tabelas de pesquisa em R

Às vezes fazer uma junção completa dos dados em R não é exatamente o que você quer. Nestes casos, pode ser mais apropriado para coincidir com os valores numa tabela de pesquisa. Para fazer isso, você pode usar o partida()

ou %dentro% função.

Como encontrar um fósforo

o partida() função retorna as posições correspondentes de dois vetores ou, mais especificamente, as posições dos primeiros jogos de um vector no segundo vector. Por exemplo, para descobrir quais estados grande também ocorrem no quadro de dados cold.states, você pode fazer o seguinte:

> index lt; - fósforo (cold.states $ Nome, large.states $ Nome)> índice [1] 1 4 5 NA NA 6 NA NA NA NA NA

Como você pode ver, o resultado é um vetor que indica partidas foram encontrados em posições um, quatro, cinco e seis. Você pode usar esse resultado como um índice para encontrar todos os grandes estados que também são estados frios.

Tenha em mente que você precisa para remover o N / D primeiro, usando valores na.omit ():

> Large.states [na.omit (index),] Nome Area2 Alaska 5.664.326 Colorado 10.376.626 14.558.728 Montana Nevada 109889

Como fazer sentido de% em%

Uma alternativa muito conveniente para partida() é a função %dentro%, que retorna um vetor lógico que indica se há uma correspondência.

o %dentro% função é um tipo especial de função de chamada de operador binário. Isto significa que você usá-lo, colocando-o entre dois vetores, ao contrário da maioria outras funções onde os argumentos estão entre parênteses:

> index lt; - cold.states $ Nome% em% large.states $ Name> índice [1] FALSO FALSO VERDADEIRO FALSO VERDADEIRO VERDADEIRO VERDADEIRO FALSO FALSO FALSO FALSO

Se você comparar este com o resultado de partida(), você vê que você tem um VERDADE valor para cada valor não falta no resultado de partida(). Ou, para colocá-lo em código R, o operador %dentro% faz o mesmo que o seguinte código:

>! Is.na (jogo (cold.states $ Nome, large.states $ Name)) [1] FALSO FALSO VERDADEIRO FALSO VERDADEIRO VERDADEIRO VERDADEIRO FALSO FALSO FALSO FALSO

o partida() função retorna os índices dos jogos da segundo argumento para os valores na primeiro argumento. Por outro lado, %dentro% retornos VERDADE para cada valor no primeiro argumento que corresponde a um valor no segundo argumento. A ordem dos argumentos é importante aqui.

Porque %dentro% retorna um vetor lógico, você pode usá-lo diretamente para os valores de índice em um vetor.

> Cold.states [índice,] Nome Frost2 Alaska 1526 Colorado 16626 Montana 15528 Nevada 188

Como mencionado anteriormente, o %dentro% função é um exemplo de um operador binário na R. Isto significa que a função é utilizada, colocando-o entre dois valores, como você faria para outros operadores, como a + (Mais) e - (menos). Ao mesmo tempo, %dentro% é em operador infixo. Um operador infix em R é identificável pelos sinais de porcentagem em torno do nome da função.

Se você quer saber como %dentro% é definido, olhar para a seção detalhes da sua página de Ajuda. Mas note que você tem que colocar aspas em torno do nome da função para obter a página de Ajuda, como este: ?"%dentro%".

menu