Sas: a diferença entre put e input
Você pode usar as funções PUT e INPUT no SAS para converter variáveis em diferentes tipos de dados.
Aqui está a diferença entre as duas funções:
A função PUT recebe variáveis de caracteres ou numéricas como entrada e sempre gera variáveis de caracteres .
A função INPUT aceita apenas variáveis de caracteres como entrada e pode gerar variáveis de caracteres ou numéricas .
Os exemplos a seguir mostram duas maneiras comuns de usar as funções PUT e INPUT na prática.
Exemplo 1: Usando PUT para converter uma variável numérica em uma variável de caractere
Digamos que temos o seguinte conjunto de dados no SAS que mostra o total de vendas realizadas por uma loja durante 10 dias consecutivos:
/*create dataset*/ data original_data; input day sales; datalines ; 1 7 2 12 3 15 4 14 5 13 6 11 7 10 8 16 9 18 10 24 ; run ; /*view dataset*/ proc print data = original_data;
Podemos usar o conteúdo do procedimento para exibir o tipo de dados de cada variável no conjunto de dados:
/*display data type for each variable*/
proc contents data =original_data;
Podemos ver que o dia e as vendas são variáveis numéricas.
Podemos usar a função PUT para converter a variável do dia de numérico para caractere:
/*create new dataset where 'day' is character*/
data new_data;
set original_data;
char_day = put (day, 8.);
drop day;
run ;
/*view new dataset*/
proc print data =new_data;
Podemos novamente usar o conteúdo de proc para verificar o tipo de dados de cada variável no novo conjunto de dados:
/*display data type for each variable in new dataset*/
proc contents data =new_data;
Usamos com sucesso a função PUT para converter a variável day de numérica para uma nova variável de caractere chamada char_day .
Exemplo 2: Usando INPUT para converter uma variável de caractere em uma variável numérica
Digamos que temos o seguinte conjunto de dados no SAS que mostra o total de vendas realizadas por uma loja durante 10 dias consecutivos:
/*create dataset*/ data original_data; input day $sales; datalines ; 1 7 2 12 3 15 4 14 5 13 6 11 7 10 8 16 9 18 10 24 ; run ; /*view dataset*/ proc print data = original_data;
Podemos usar o conteúdo do procedimento para exibir o tipo de dados de cada variável no conjunto de dados:
/*display data type for each variable*/
proc contents data =original_data;
Podemos ver que dia é uma variável de caractere e vendas é uma variável numérica.
Podemos usar a função INPUT para converter a variável do dia de caractere para numérico:
/*create new dataset where 'day' is numeric*/
data new_data;
set original_data;
numeric_day = input (day, comma9.);
drop day;
run ;
/*view new dataset*/
proc print data =new_data;
Podemos novamente usar o conteúdo de proc para verificar o tipo de dados de cada variável no novo conjunto de dados:
/*display data type for each variable in new dataset*/
proc contents data = new_data;
Usamos com sucesso a função INPUT para converter a variável day de uma variável de caractere para uma nova variável numérica chamada numeric_day .
Recursos adicionais
Os tutoriais a seguir explicam como executar outras tarefas comuns no SAS:
SAS: Como converter uma variável de caractere em numérica
SAS: Como converter uma variável numérica em caractere
SAS: Como converter uma variável de caractere em uma data
SAS: Como converter uma variável numérica em uma data