280.CAN SAS ANALYZE A FISH DATASET USING BASIC PROCS AND MACROS?

CAN SAS ANALYZE A FISH DATASET USING BASIC PROCS AND MACROS?

 /*Creating The Dataset Of Fishes In India*/

1.SAS Dataset Creation

options nocenter;

data indian_fish;

    length Fish_Name $30 Type $15 Scientific_Name $40 Region $30;

    input Fish_Name $ Type $ Scientific_Name $ Region $ Max_Length Avg_Weight 

          Market_Price;

    datalines;

Rawas Saltwater Polynemus_tetradactylum West_Coast 120 8 400

Rohu Freshwater Labeo_rohita Ganges_Basin 75 5 250

Catla Freshwater Catla_catla East_India 80 7 220

Bangda Saltwater Rastrelliger_kanagurta Western_Coast 35 0.25 200

Surmai Saltwater Scomberomorus_commerson South_India 100 10 500

Pomfret Saltwater Pampus_argenteus All_coasts 60 2 600

Hilsa Freshwater Tenualosa_ilisha East_India 50 1.2 700

Rani Freshwater Pristolepis_marginata Central_India 30 0.5 180

Flower_Prawn Saltwater Penaeus_semisulcatus Kerala 18 0.2 800

Mud_Crab Brackish Scylla_serrata South_India 20 1 900

;

run;

proc print data=indian_fish;

run;

Output:

ObsFish_NameTypeScientific_NameRegionMax_LengthAvg_WeightMarket_Price
1RawasSaltwaterPolynemus_tetradactylumWest_Coast1208.00400
2RohuFreshwaterLabeo_rohitaGanges_Basin755.00250
3CatlaFreshwaterCatla_catlaEast_India807.00220
4BangdaSaltwaterRastrelliger_kanagurtaWestern_Coast350.25200
5SurmaiSaltwaterScomberomorus_commersonSouth_India10010.00500
6PomfretSaltwaterPampus_argenteusAll_coasts602.00600
7HilsaFreshwaterTenualosa_ilishaEast_India501.20700
8RaniFreshwaterPristolepis_marginataCentral_India300.50180
9Flower_PrawnSaltwaterPenaeus_semisulcatusKerala180.20800
10Mud_CrabBrackishScylla_serrataSouth_India201.00900


2.Descriptive Statistics using PROC MEANS

proc means data=indian_fish;

    var Max_Length Avg_Weight Market_Price;

run;

Output:

The MEANS Procedure

VariableNMeanStd DevMinimumMaximum
Max_Length
Avg_Weight
Market_Price
10
10
10
58.8000000
3.5150000
475.0000000
34.6403746
3.6703050
266.0513735
18.0000000
0.2000000
180.0000000
120.0000000
10.0000000
900.0000000

3.Data Filtering using PROC SQL

proc sql;

    select Fish_Name, Type, Avg_Weight, Market_Price

    from indian_fish

    where Market_Price > 500;

quit;

Output:

Fish_NameTypeAvg_WeightMarket_Price
PomfretSaltwater2600
HilsaFreshwater1.2700
Flower_PrawnSaltwater0.2800
Mud_CrabBrackish1900


4.Frequency Distribution using PROC FREQ

proc freq data=indian_fish;

    tables Type;

run;

Output:

The FREQ Procedure

TypeFrequencyPercentCumulative
Frequency
Cumulative
Percent
Brackish110.00110.00
Freshwater440.00550.00
Saltwater550.0010100.00

5.Macro for Regional Analysis

%macro region_fish(region);

    proc sql;

        select Fish_Name, Market_Price

        from indian_fish

        where Region = "&region";

    quit;

%mend region_fish;


%region_fish(East_India);

Output:

Fish_NameMarket_Price
Catla220
Hilsa700

6.Sorting by Market Price

proc sort data=indian_fish out=sorted_fish;

    by descending Market_Price;

run;

proc print;run;

Output:

ObsFish_NameTypeScientific_NameRegionMax_LengthAvg_WeightMarket_Price
1Mud_CrabBrackishScylla_serrataSouth_India201.00900
2Flower_PrawnSaltwaterPenaeus_semisulcatusKerala180.20800
3HilsaFreshwaterTenualosa_ilishaEast_India501.20700
4PomfretSaltwaterPampus_argenteusAll_coasts602.00600
5SurmaiSaltwaterScomberomorus_commersonSouth_India10010.00500
6RawasSaltwaterPolynemus_tetradactylumWest_Coast1208.00400
7RohuFreshwaterLabeo_rohitaGanges_Basin755.00250
8CatlaFreshwaterCatla_catlaEast_India807.00220
9BangdaSaltwaterRastrelliger_kanagurtaWestern_Coast350.25200
10RaniFreshwaterPristolepis_marginataCentral_India300.50180


7.Generating Report

proc report data=sorted_fish nowd;

    columns Fish_Name Region Type Market_Price;

run;

Output:

Fish_NameRegionTypeMarket_Price
Mud_CrabSouth_IndiaBrackish900
Flower_PrawnKeralaSaltwater800
HilsaEast_IndiaFreshwater700
PomfretAll_coastsSaltwater600
SurmaiSouth_IndiaSaltwater500
RawasWest_CoastSaltwater400
RohuGanges_BasinFreshwater250
CatlaEast_IndiaFreshwater220
BangdaWestern_CoastSaltwater200
RaniCentral_IndiaFreshwater180


8.PROC UNIVARIATE for Distribution Study

proc univariate data=indian_fish;

    var Avg_Weight;

run;

Output:

The UNIVARIATE Procedure

Variable: Avg_Weight

Moments
N10Sum Weights10
Mean3.515Sum Observations35.15
Std Deviation3.67030501Variance13.4711389
Skewness0.78123341Kurtosis-1.0719786
Uncorrected SS244.7925Corrected SS121.24025
Coeff Variation104.41835Std Error Mean1.16065235
Basic Statistical Measures
LocationVariability
Mean3.515000Std Deviation3.67031
Median1.600000Variance13.47114
Mode.Range9.80000
  Interquartile Range6.50000
Tests for Location: Mu0=0
TestStatisticp Value
Student's tt3.028469Pr > |t|0.0143
SignM5Pr >= |M|0.0020
Signed RankS27.5Pr >= |S|0.0020
Quantiles (Definition 5)
LevelQuantile
100% Max10.000
99%10.000
95%10.000
90%9.000
75% Q37.000
50% Median1.600
25% Q10.500
10%0.225
5%0.200
1%0.200
0% Min0.200
Extreme Observations
LowestHighest
ValueObsValueObs
0.20926
0.25452
0.50873
1.001081
1.207105

9.Using PROC PRINT for Quick Data View

proc print data=indian_fish;

    where Type = 'Freshwater';

run;

Output:

ObsFish_NameTypeScientific_NameRegionMax_LengthAvg_WeightMarket_Price
2RohuFreshwaterLabeo_rohitaGanges_Basin755.0250
3CatlaFreshwaterCatla_catlaEast_India807.0220
7HilsaFreshwaterTenualosa_ilishaEast_India501.2700
8RaniFreshwaterPristolepis_marginataCentral_India300.5180


10.Macro for Automated Summaries Across Regions

%macro summary_by_region;

    proc sql noprint;

        select distinct Region into :regions separated by ' '

        from indian_fish;

    quit;

    %let num = %sysfunc(countw(&regions));

    %do i=1 %to #

        %let r=%scan(&regions, &i);

        proc means data=indian_fish n min max mean;

            where Region="&r";

            var Max_Length Market_Price;

            title "Summary Statistics for &r";

        run;

    %end;

%mend summary_by_region;


%summary_by_region

Output:

Summary Statistics for All_coasts

The MEANS Procedure

VariableNMinimumMaximumMean
Max_Length
Market_Price
1
1
60.0000000
600.0000000
60.0000000
600.0000000
60.0000000
600.0000000

Summary Statistics for Central_India

The MEANS Procedure

VariableNMinimumMaximumMean
Max_Length
Market_Price
1
1
30.0000000
180.0000000
30.0000000
180.0000000
30.0000000
180.0000000

Summary Statistics for East_India

The MEANS Procedure

VariableNMinimumMaximumMean
Max_Length
Market_Price
2
2
50.0000000
220.0000000
80.0000000
700.0000000
65.0000000
460.0000000

Summary Statistics for Ganges_Basin

The MEANS Procedure

VariableNMinimumMaximumMean
Max_Length
Market_Price
1
1
75.0000000
250.0000000
75.0000000
250.0000000
75.0000000
250.0000000

Summary Statistics for Kerala

The MEANS Procedure

VariableNMinimumMaximumMean
Max_Length
Market_Price
1
1
18.0000000
800.0000000
18.0000000
800.0000000
18.0000000
800.0000000

Summary Statistics for South_India

The MEANS Procedure

VariableNMinimumMaximumMean
Max_Length
Market_Price
2
2
20.0000000
500.0000000
100.0000000
900.0000000
60.0000000
700.0000000

Summary Statistics for West_Coast

The MEANS Procedure

VariableNMinimumMaximumMean
Max_Length
Market_Price
1
1
120.0000000
400.0000000
120.0000000
400.0000000
120.0000000
400.0000000

Summary Statistics for Western_Coast

The MEANS Procedure

VariableNMinimumMaximumMean
Max_Length
Market_Price
1
1
35.0000000
200.0000000
35.0000000
200.0000000
35.0000000
200.0000000

11.Creating New Variables with DATA Step

data fish_value;

    set indian_fish;

    Value_Class = (Market_Price >= 500);

run;

proc print;run;

Output:

ObsFish_NameTypeScientific_NameRegionMax_LengthAvg_WeightMarket_PriceValue_Class
1RawasSaltwaterPolynemus_tetradactylumWest_Coast1208.004000
2RohuFreshwaterLabeo_rohitaGanges_Basin755.002500
3CatlaFreshwaterCatla_catlaEast_India807.002200
4BangdaSaltwaterRastrelliger_kanagurtaWestern_Coast350.252000
5SurmaiSaltwaterScomberomorus_commersonSouth_India10010.005001
6PomfretSaltwaterPampus_argenteusAll_coasts602.006001
7HilsaFreshwaterTenualosa_ilishaEast_India501.207001
8RaniFreshwaterPristolepis_marginataCentral_India300.501800
9Flower_PrawnSaltwaterPenaeus_semisulcatusKerala180.208001
10Mud_CrabBrackishScylla_serrataSouth_India201.009001






To Visit My Previous E-Commerce Dataset:Click Here
To Visit My Previous Length,Input,Retain Statements:Click Here
To Visit My Previous Urban Traffic Dataset:Click Here
To Visit My Previous Home Energy Consumption Dataset:Click Here



Follow Us On : 


 


--- FOLLOW OUR BLOG FOR MORE INFORMATION.

--->PLEASE DO COMMENTS AND SHARE OUR BLOG.


Comments

Popular posts from this blog

412.Can We Build And Clean A University Course Analytics & Fraud Detection System In Sas Using Only Macros While Intentionally Creating And Fixing Errors?

420.Can We Detect Errors, Prevent Fraud, And Optimize Biometric Access System Security Using Advanced SAS Programming?

418.Can We Design, Debug, Detect Fraud, And Optimize A Smart Parking System Using Advanced SAS Programming Techniques?