243.COMPREHENSIVE TOXICOLOGICAL DATA ANALYSIS OF DIVERSE POISONS USING PROC PRINT | PROC SORT | PROC MEANS | PROC FREQ | PROC SQL | SAS MACROS | IN A CLINICAL AND PUBLIC HEALTH CONTEXT

COMPREHENSIVE TOXICOLOGICAL DATA ANALYSIS OF DIVERSE POISONS USING PROC PRINT | PROC SORT | PROC MEANS | PROC FREQ | PROC SQL | SAS MACROS | IN A CLINICAL AND PUBLIC HEALTH CONTEXT

 /*Creating the dataset different types of poisons*/

Step 1: Creating the Dataset - Types of Poisons

options nocenter;

data poisons_dataset;

  length Poison_ID $5 Name $25 Source $20 Type $15 Symptoms $50 Toxicity_Level $10 Antidote $30 Fatal_Dose_mg 8;

  input Poison_ID $ Name $ Source $ Type $ Symptoms $ Toxicity_Level $ Antidote $ Fatal_Dose_mg;

  datalines;

P001 Arsenic Mineral Inorganic Vomiting/Diarrhea High Dimercaprol 70

P002 Cyanide Industrial Inorganic Seizures/Coma Very_High Hydroxocobalamin 200

P003 Ricin Plant Protein-based Vomiting/Seizure Very_High No_known_cure 1

P004 Strychnine Plant Alkaloid Muscle_spasms High Activated_Charcoal 50

P005 Methanol Alcohol Organic Nausea/Blindness Medium Ethanol/Fomepizole 30000

P006 Mercury Metal Inorganic Tremors/Memory_loss High Chelation_Therapy 500

P007 Lead Metal Inorganic Anemia/Abdominal_Pain High EDTA 1000

P008 Belladonna Plant Alkaloid Dry_mouth/Hallucinations Medium Physostigmine 20

P009 CarbonMonoxide Air Gas Headache/Nausea Medium Oxygen_Therapy 1500

P010 Chloroform Industrial Halocarbon Dizziness/Unconsciousness Medium None 10000

P011 Nicotine Plant Alkaloid Vomiting/Seizures High Activated_Charcoal 60

P012 DDT Pesticide Organochlorine Tremors/Nausea Medium None 2500

P013 VX_NerveGas Chemical Nerve_Agent Convulsions/Paralysis Very_High Atropine 0.01

P014 Sarin Chemical Nerve_Agent Seizures/Resp_failure Very_High Atropine/2-PAM 0.05

P015 Amatoxin Mushroom Cyclic_peptide Liver_failure Very_High Silibinin 0.1

P016 Methamphetamine Synthetic Stimulant Anxiety/Seizure Medium Sedatives 100

P017 EthyleneGlycol Antifreeze Alcohol Nausea/Seizure Medium Fomepizole 10000

P018 Antimony Metal Inorganic Vomiting/Dizziness Medium Chelation 900

P019 Aconitine Plant Alkaloid Numbness/Arrhythmia High No_known_antidote 5

P020 Batrachotoxin Animal Neurotoxin Muscle_paralysis Very_High No_antidote 0.002

P021 Thallium Metal Inorganic Hair_loss/Neuropathy High Prussian_Blue 15

P022 Hemlock Plant Alkaloid Respiratory_failure High Activated_Charcoal 100

P023 Dioxin Industrial Organic Skin_lesions/Liver_damage Medium No_antidote 50

P024 Formaldehyde Industrial Aldehyde Throat_irritation/Nausea Medium Supportive_Therapy 5000

P025 SnakeVenom Animal Protein-based Paralysis/Death Very_High Antivenom 0.05

P026 BotulinumToxin Bacterial Neurotoxin Muscle_weakness/Paralysis Very_High Antitoxin 0.0001

;

run;

proc print;run;

Output:

Obs Poison_ID Name Source Type Symptoms Toxicity_Level Antidote Fatal_Dose_mg
1 P001 Arsenic Mineral Inorganic Vomiting/Diarrhea High Dimercaprol 70.00
2 P002 Cyanide Industrial Inorganic Seizures/Coma Very_High Hydroxocobalamin 200.00
3 P003 Ricin Plant Protein-based Vomiting/Seizure Very_High No_known_cure 1.00
4 P004 Strychnine Plant Alkaloid Muscle_spasms High Activated_Charcoal 50.00
5 P005 Methanol Alcohol Organic Nausea/Blindness Medium Ethanol/Fomepizole 30000.00
6 P006 Mercury Metal Inorganic Tremors/Memory_loss High Chelation_Therapy 500.00
7 P007 Lead Metal Inorganic Anemia/Abdominal_Pain High EDTA 1000.00
8 P008 Belladonna Plant Alkaloid Dry_mouth/Hallucinations Medium Physostigmine 20.00
9 P009 CarbonMonoxide Air Gas Headache/Nausea Medium Oxygen_Therapy 1500.00
10 P010 Chloroform Industrial Halocarbon Dizziness/Unconsciousness Medium None 10000.00
11 P011 Nicotine Plant Alkaloid Vomiting/Seizures High Activated_Charcoal 60.00
12 P012 DDT Pesticide Organochlorine Tremors/Nausea Medium None 2500.00
13 P013 VX_NerveGas Chemical Nerve_Agent Convulsions/Paralysis Very_High Atropine 0.01
14 P014 Sarin Chemical Nerve_Agent Seizures/Resp_failure Very_High Atropine/2-PAM 0.05
15 P015 Amatoxin Mushroom Cyclic_peptide Liver_failure Very_High Silibinin 0.10
16 P016 Methamphetamine Synthetic Stimulant Anxiety/Seizure Medium Sedatives 100.00
17 P017 EthyleneGlycol Antifreeze Alcohol Nausea/Seizure Medium Fomepizole 10000.00
18 P018 Antimony Metal Inorganic Vomiting/Dizziness Medium Chelation 900.00
19 P019 Aconitine Plant Alkaloid Numbness/Arrhythmia High No_known_antidote 5.00
20 P020 Batrachotoxin Animal Neurotoxin Muscle_paralysis Very_High No_antidote 0.00
21 P021 Thallium Metal Inorganic Hair_loss/Neuropathy High Prussian_Blue 15.00
22 P022 Hemlock Plant Alkaloid Respiratory_failure High Activated_Charcoal 100.00
23 P023 Dioxin Industrial Organic Skin_lesions/Liver_damage Medium No_antidote 50.00
24 P024 Formaldehyde Industrial Aldehyde Throat_irritation/Nausea Medium Supportive_Therapy 5000.00
25 P025 SnakeVenom Animal Protein-based Paralysis/Death Very_High Antivenom 0.05
26 P026 BotulinumToxin Bacterial Neurotoxin Muscle_weakness/Paralysis Very_High Antitoxin 0.00


Step 2: PROC PRINT - View Full Dataset

proc print data=poisons_dataset;

  title "Full Poisons Dataset Overview";

run;

Output:

Full Poisons Dataset Overview

Obs Poison_ID Name Source Type Symptoms Toxicity_Level Antidote Fatal_Dose_mg
1 P001 Arsenic Mineral Inorganic Vomiting/Diarrhea High Dimercaprol 70.00
2 P002 Cyanide Industrial Inorganic Seizures/Coma Very_High Hydroxocobalamin 200.00
3 P003 Ricin Plant Protein-based Vomiting/Seizure Very_High No_known_cure 1.00
4 P004 Strychnine Plant Alkaloid Muscle_spasms High Activated_Charcoal 50.00
5 P005 Methanol Alcohol Organic Nausea/Blindness Medium Ethanol/Fomepizole 30000.00
6 P006 Mercury Metal Inorganic Tremors/Memory_loss High Chelation_Therapy 500.00
7 P007 Lead Metal Inorganic Anemia/Abdominal_Pain High EDTA 1000.00
8 P008 Belladonna Plant Alkaloid Dry_mouth/Hallucinations Medium Physostigmine 20.00
9 P009 CarbonMonoxide Air Gas Headache/Nausea Medium Oxygen_Therapy 1500.00
10 P010 Chloroform Industrial Halocarbon Dizziness/Unconsciousness Medium None 10000.00
11 P011 Nicotine Plant Alkaloid Vomiting/Seizures High Activated_Charcoal 60.00
12 P012 DDT Pesticide Organochlorine Tremors/Nausea Medium None 2500.00
13 P013 VX_NerveGas Chemical Nerve_Agent Convulsions/Paralysis Very_High Atropine 0.01
14 P014 Sarin Chemical Nerve_Agent Seizures/Resp_failure Very_High Atropine/2-PAM 0.05
15 P015 Amatoxin Mushroom Cyclic_peptide Liver_failure Very_High Silibinin 0.10
16 P016 Methamphetamine Synthetic Stimulant Anxiety/Seizure Medium Sedatives 100.00
17 P017 EthyleneGlycol Antifreeze Alcohol Nausea/Seizure Medium Fomepizole 10000.00
18 P018 Antimony Metal Inorganic Vomiting/Dizziness Medium Chelation 900.00
19 P019 Aconitine Plant Alkaloid Numbness/Arrhythmia High No_known_antidote 5.00
20 P020 Batrachotoxin Animal Neurotoxin Muscle_paralysis Very_High No_antidote 0.00
21 P021 Thallium Metal Inorganic Hair_loss/Neuropathy High Prussian_Blue 15.00
22 P022 Hemlock Plant Alkaloid Respiratory_failure High Activated_Charcoal 100.00
23 P023 Dioxin Industrial Organic Skin_lesions/Liver_damage Medium No_antidote 50.00
24 P024 Formaldehyde Industrial Aldehyde Throat_irritation/Nausea Medium Supportive_Therapy 5000.00
25 P025 SnakeVenom Animal Protein-based Paralysis/Death Very_High Antivenom 0.05
26 P026 BotulinumToxin Bacterial Neurotoxin Muscle_weakness/Paralysis Very_High Antitoxin 0.00

Step 3: PROC SORT - Sorting by Fatal Dose

proc sort data=poisons_dataset out=sorted_poison;

  by Fatal_Dose_mg;

run;


proc print data=sorted_poison;

  title "Poisons Sorted by Increasing Fatal Dose (mg)";

run;

Output:

Poisons Sorted by Increasing Fatal Dose (mg)

Obs Poison_ID Name Source Type Symptoms Toxicity_Level Antidote Fatal_Dose_mg
1 P026 BotulinumToxin Bacterial Neurotoxin Muscle_weakness/Paralysis Very_High Antitoxin 0.00
2 P020 Batrachotoxin Animal Neurotoxin Muscle_paralysis Very_High No_antidote 0.00
3 P013 VX_NerveGas Chemical Nerve_Agent Convulsions/Paralysis Very_High Atropine 0.01
4 P014 Sarin Chemical Nerve_Agent Seizures/Resp_failure Very_High Atropine/2-PAM 0.05
5 P025 SnakeVenom Animal Protein-based Paralysis/Death Very_High Antivenom 0.05
6 P015 Amatoxin Mushroom Cyclic_peptide Liver_failure Very_High Silibinin 0.10
7 P003 Ricin Plant Protein-based Vomiting/Seizure Very_High No_known_cure 1.00
8 P019 Aconitine Plant Alkaloid Numbness/Arrhythmia High No_known_antidote 5.00
9 P021 Thallium Metal Inorganic Hair_loss/Neuropathy High Prussian_Blue 15.00
10 P008 Belladonna Plant Alkaloid Dry_mouth/Hallucinations Medium Physostigmine 20.00
11 P004 Strychnine Plant Alkaloid Muscle_spasms High Activated_Charcoal 50.00
12 P023 Dioxin Industrial Organic Skin_lesions/Liver_damage Medium No_antidote 50.00
13 P011 Nicotine Plant Alkaloid Vomiting/Seizures High Activated_Charcoal 60.00
14 P001 Arsenic Mineral Inorganic Vomiting/Diarrhea High Dimercaprol 70.00
15 P016 Methamphetamine Synthetic Stimulant Anxiety/Seizure Medium Sedatives 100.00
16 P022 Hemlock Plant Alkaloid Respiratory_failure High Activated_Charcoal 100.00
17 P002 Cyanide Industrial Inorganic Seizures/Coma Very_High Hydroxocobalamin 200.00
18 P006 Mercury Metal Inorganic Tremors/Memory_loss High Chelation_Therapy 500.00
19 P018 Antimony Metal Inorganic Vomiting/Dizziness Medium Chelation 900.00
20 P007 Lead Metal Inorganic Anemia/Abdominal_Pain High EDTA 1000.00
21 P009 CarbonMonoxide Air Gas Headache/Nausea Medium Oxygen_Therapy 1500.00
22 P012 DDT Pesticide Organochlorine Tremors/Nausea Medium None 2500.00
23 P024 Formaldehyde Industrial Aldehyde Throat_irritation/Nausea Medium Supportive_Therapy 5000.00
24 P010 Chloroform Industrial Halocarbon Dizziness/Unconsciousness Medium None 10000.00
25 P017 EthyleneGlycol Antifreeze Alcohol Nausea/Seizure Medium Fomepizole 10000.00
26 P005 Methanol Alcohol Organic Nausea/Blindness Medium Ethanol/Fomepizole 30000.00

Step 4: PROC MEANS - Fatal Dose Statistics

proc means data=poisons_dataset min max mean median;

  var Fatal_Dose_mg;

  title "Summary Statistics of Fatal Dose (mg)";

run;

Output:

Summary Statistics of Fatal Dose (mg)

The MEANS Procedure

Analysis Variable : Fatal_Dose_mg
Minimum Maximum Mean Median
0.000100000 30000.00 2387.35 65.0000000

Step 5: PROC FREQ - Frequency of Poison Types

proc freq data=poisons_dataset;

  tables Type Source Toxicity_Level / nocum nopercent;

  title "Frequency Distribution of Poison Types, Sources, and Toxicity";

run;

Output:

Frequency Distribution of Poison Types, Sources, and Toxicity

The FREQ Procedure

Type Frequency
Alcohol 1
Aldehyde 1
Alkaloid 5
Cyclic_peptide 1
Gas 1
Halocarbon 1
Inorganic 6
Nerve_Agent 2
Neurotoxin 2
Organic 2
Organochlorine 1
Protein-based 2
Stimulant 1

Source Frequency
Air 1
Alcohol 1
Animal 2
Antifreeze 1
Bacterial 1
Chemical 2
Industrial 4
Metal 4
Mineral 1
Mushroom 1
Pesticide 1
Plant 6
Synthetic 1

Toxicity_Level Frequency
High 8
Medium 10
Very_High 8

Step 6: PROC SQL - Key Insights Using Queries

a)Poisons with Fatal Dose < 10 mg

proc sql;

  select Name, Fatal_Dose_mg, Toxicity_Level

  from poisons_dataset

  where Fatal_Dose_mg < 10;

quit;

Output:

Name Fatal_Dose_mg Toxicity_Level
Ricin 1 Very_High
VX_NerveGas 0.01 Very_High
Sarin 0.05 Very_High
Amatoxin 0.1 Very_High
Aconitine 5 High
Batrachotoxin 0.002 Very_High
SnakeVenom 0.05 Very_High
BotulinumToxin 0.0001 Very_High

b)Count of Each Type

proc sql;

  select Type, count(*) as Count

  from poisons_dataset

  group by Type;

quit;

Output:

Type Count
Alcohol 1
Aldehyde 1
Alkaloid 5
Cyclic_peptide 1
Gas 1
Halocarbon 1
Inorganic 6
Nerve_Agent 2
Neurotoxin 2
Organic 2
Organochlorine 1
Protein-based 2
Stimulant 1

c)Top 5 Most Toxic Poisons

proc sql outobs=5;

  select Name, Fatal_Dose_mg, Toxicity_Level

  from poisons_dataset

  order by Fatal_Dose_mg;

quit;

Output:

Name Fatal_Dose_mg Toxicity_Level
BotulinumToxin 0.0001 Very_High
Batrachotoxin 0.002 Very_High
VX_NerveGas 0.01 Very_High
SnakeVenom 0.05 Very_High
Sarin 0.05 Very_High

Step 7: MACRO for Filtering Poisons by Source

%macro filter_by_source(source_type);

  proc sql;

    title "Poisons from Source: &source_type";

    select Poison_ID, Name, Type, Fatal_Dose_mg

    from poisons_dataset

    where Source = "&source_type";

  quit;

%mend filter_by_source;


%filter_by_source(Plant);

Output:

Poisons from Source: Plant

Poison_ID Name Type Fatal_Dose_mg
P003 Ricin Protein-based 1
P004 Strychnine Alkaloid 50
P008 Belladonna Alkaloid 20
P011 Nicotine Alkaloid 60
P019 Aconitine Alkaloid 5
P022 Hemlock Alkaloid 100

%filter_by_source(Metal);

Output:

Poisons from Source: Metal

Poison_ID Name Type Fatal_Dose_mg
P006 Mercury Inorganic 500
P007 Lead Inorganic 1000
P018 Antimony Inorganic 900
P021 Thallium Inorganic 15

%filter_by_source(Industrial);

Output:

Poisons from Source: Industrial

Poison_ID Name Type Fatal_Dose_mg
P002 Cyanide Inorganic 200
P010 Chloroform Halocarbon 10000
P023 Dioxin Organic 50
P024 Formaldehyde Aldehyde 5000

Step 8: MACRO for Toxicity Summary

%macro toxicity_summary(tox_level);

  proc sql;

    title "Poisons with Toxicity Level: &tox_level";

    select Name, Type, Source, Fatal_Dose_mg

    from poisons_dataset

    where Toxicity_Level = "&tox_level";

  quit;

%mend toxicity_summary;


%toxicity_summary(High);

Output:

Poisons with Toxicity Level: High

Name Type Source Fatal_Dose_mg
Arsenic Inorganic Mineral 70
Strychnine Alkaloid Plant 50
Mercury Inorganic Metal 500
Lead Inorganic Metal 1000
Nicotine Alkaloid Plant 60
Aconitine Alkaloid Plant 5
Thallium Inorganic Metal 15
Hemlock Alkaloid Plant 100

%toxicity_summary(Very_High);

Output:

Poisons with Toxicity Level: Very_High

Name Type Source Fatal_Dose_mg
Cyanide Inorganic Industrial 200
Ricin Protein-based Plant 1
VX_NerveGas Nerve_Agent Chemical 0.01
Sarin Nerve_Agent Chemical 0.05
Amatoxin Cyclic_peptide Mushroom 0.1
Batrachotoxin Neurotoxin Animal 0.002
SnakeVenom Protein-based Animal 0.05
BotulinumToxin Neurotoxin Bacterial 0.0001

Step 9: Special Queries for Research Insights

a)Poisons with No Antidote

proc sql;

  select Name, Source, Type, Toxicity_Level

  from poisons_dataset

  where Antidote contains 'No';

quit;

Output:

Name Source Type Toxicity_Level
Ricin Plant Protein-based Very_High
Chloroform Industrial Halocarbon Medium
DDT Pesticide Organochlorine Medium
Aconitine Plant Alkaloid High
Batrachotoxin Animal Neurotoxin Very_High
Dioxin Industrial Organic Medium

b)Top 3 Deadliest Poisons from Plants

proc sql outobs=3;

  select Name, Fatal_Dose_mg

  from poisons_dataset

  where Source='Plant'

  order by Fatal_Dose_mg;

quit;

Output:

Name Fatal_Dose_mg
Ricin 1
Aconitine 5
Belladonna 20

Step 10: Exporting to External CSV

proc export data=poisons_dataset

  outfile="poisons_analysis.csv"

  dbms=csv

  replace;

run;

Log:

NOTE: The file 'poisons_analysis.csv' is:

      Filename=C:\sas folder\SASFoundation\9.4\poisons_analysis.csv,

      RECFM=V,LRECL=32767,File Size (bytes)=0,

      Last Modified=17 July 2025 19:20:47,

      Create Time=17 July 2025 19:20:47


NOTE: 27 records were written to the file 'poisons_analysis.csv'.

      The minimum record length was 62.

      The maximum record length was 93.

NOTE: There were 26 observations read from the data set WORK.POISONS_DATASET.

NOTE: DATA statement used (Total process time):

      real time           0.18 seconds

      cpu time            0.06 seconds


26 records created in poisons_analysis.csv from POISONS_DATASET.


NOTE: "poisons_analysis.csv" file was successfully created.

NOTE: PROCEDURE EXPORT used (Total process time):

      real time           2.26 seconds

      cpu time            0.28 seconds



To Visit My Previous Online Streaming Flatform Dataset:Click Here
To Visit My Previous Statistical Evaluation Of Clinical Trials:Click Here
To Visit My Previous Unlocking Retail Insights Dataset:Click Here
To Visit My Previous Sas Interview Questions-1:Click Here





--->PLEASE FOLLOW OUR BLOG FOR MORE INFORMATION.
--->PLEASE DO COMMENTS AND SHARE OUR BLOG.

PLEASE FOLLOW OUR TELEGRAM CHANNEL CLICK HERE

PLEASE FOLLOW OUR FACEBOOK PAGE  CLICK HERE

PLEASE FOLLOW OUR INSTAGRAM PAGE CLICK HERE




Comments

Popular posts from this blog

409.Can We Build a Reliable Emergency Services Analytics & Fraud Detection System in SAS While Identifying and Fixing Intentional Errors?

397.If a satellite has excellent signal strength but very high latency, can it still deliver good quality communication? Why or why not?A Sas Study

401.How Efficient Are Global Data Centers? A Complete SAS Analytics Study