lag() Média Móvel (Bônus: Código SAS e função lag)
Veja o exemplo completo que você pode simular e acompanhar o passo a passo explicado acima:
**** Parte 1: Cria uma base de clientes ****; data base_clientes; input nome $ carro $ DtCompra mmddyy8.; cards; Andre Onix 02/05/15 Andre Palio 12/10/13 Andre Uno 01/05/14 Paulo Idea 10/06/15 Jose Vectra 01/04/16 Jose Eco 12/05/16 28 Maria Corsa 10/25/14 Maria Celta 02/01/16 Renata Onix 02/09/12 Renata Palio 06/05/11 Renata Fit 02/11/16 Renata Civic 05/22/14 Michael Fit 07/13/15 Bianca Clio 09/05/15 Thais March 08/05/16 Renan Palio 11/05/13 Renan Gol 11/05/14 ; run; **** Parte 2: Trata a variavel data ****; data base_clientes_v2; set base_clientes; format DtCompra date9.; run; **** Parte 3: Ordena pelo nome do cliente e data da compra do veiculo ****; proc sort data= base_clientes_v2; by nome DtCompra; run; **** Parte 4: Cria um contador do numero de carros = conta qtas vezes o nome aparece****; data base_clientes_v3; set base_clientes_v2; by nome; primeiro = first.nome; ultimo = last.nome; if primeiro = 1 then conta_carro = 1; else conta_carro+1; run; **** Parte 5: Cria uma coluna com o valor da linha seguinte da coluna conta_carro ****; data base_clientes_v4; recno=_n_+1; set base_clientes_v3 end=last; if not last then set base_clientes_v3 (keep=conta_carro rename=(conta_carro=next_conta_carro)) point=recno; else call missing(next_conta_carro); run; **** Parte 6: Mantem apenas quem tem conta_carro = 1 e que a proxima linha eh 1 tb ****; data clientes_com_um_carro; set base_clientes_v4; if conta_carro = 1 and next_conta_carro = 1; run;
Olá, como vai?
gostaria de saber qual a sintaxe utilizar para transformação de dados. Gerencio um banco de dados de animais com seus pai e suas mães, e gostaria de vez de constar o nome/registro desses animais estivesse aparecendo seus id.
ex.
id animal pai mae
1 verson 0 0
2 clara 0 0
3 hendra verson clara
como eu gostaria que ficasse
animal pai mae
1 0 0
2 0 0
3 1 2
qual o procedimento mais adequado para esse caso?
Ah me desculpe. Falei besteira. Você quer renomear a coluna 1 e “derrubar” a coluna 2. O que você vai fazer vai ser data tabela_nova; set tabela_velha (drop=animal); rename id = animal; run;