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

Add a Comment

O seu endereço de email não será publicado. Campos obrigatórios marcados com *