iris = read.csv("iris.csv")
iris
library(ggplot2)
ggplot(iris, aes(x = sepal.length)) + geom_histogram(binwidth = 0.1, fill = "lightblue", color = "black", alpha = 0.7)+ labs(title = "Histogram of Sepal Length", x= "Sepal Length (cm)", y = "Frequency") +xlim(0,8) + ylim (0,10) +theme_minimal()

To know labs e ki ki function ache

?labs

Correlation Matrix

selectig col cause correlation matrix can be done only between numerical variables/col, as here variety col is catagorical so not considering it

cor_mat = cor(iris[ , c(1,2,3,4)])
cor_mat
             sepal.length sepal.width petal.length petal.width
sepal.length    1.0000000  -0.1175698    0.8717538   0.8179411
sepal.width    -0.1175698   1.0000000   -0.4284401  -0.3661259
petal.length    0.8717538  -0.4284401    1.0000000   0.9628654
petal.width     0.8179411  -0.3661259    0.9628654   1.0000000

Another way: if more columns & last col is character var than col selection could be done with range

cor_mat = cor(iris[ , 1:4])
cor_mat
             sepal.length sepal.width petal.length petal.width
sepal.length    1.0000000  -0.1175698    0.8717538   0.8179411
sepal.width    -0.1175698   1.0000000   -0.4284401  -0.3661259
petal.length    0.8717538  -0.4284401    1.0000000   0.9628654
petal.width     0.8179411  -0.3661259    0.9628654   1.0000000

Description: Here sepal length and petal length are positively correlated(if SL increases PL also increases, if SL decreases PL also decreases) and relation type is strong , means they are strongly correlated as 87%(0.8717 near to 1). Again, SL and SW shows neg corr.( ekta barle arekta kome), and weak correlation as only 11%(0.1175 far from 1). Also diagoal wise SL ad SL (nijer sathe nijer corr) corr 1 means 100% correlated

Visualization of correlation

Heat map

library(ggcorrplot)
ggcorrplot(cor_mat)

Des: here 1 to -1 means Correlatio color strength, whitish color(0.0) means negative weak relation(ex: between sepal length & width), light bluish (-.5) means negative srong relation, deep red (1)means positive strong relation # Here in correlation, if (ex: similar sepal length & sepal length corr 1 means diagonal)diagonal er upor r niche same info(corr) . mane uper & lower triangle same hoy. pulication or presentation e ekta triangle e easily dekhate chaile

Lower tiangle (standard way)

ggcorrplot(cor_mat, type = "lower")

ggcorrplot(cor_mat, type = "upper")

if want to change color & add correlatio exact value

ggcorrplot(cor_mat, type = "upper", colors = c("green", "white", "pink"), lab = TRUE)

DES: to add value lab diye true dbo, bt default eta false thake

If do ot want to show code after upload chunk er upore echo false dbo

Pair plot

to show all attributes and plots like scatter plot, boxplot , histogram) together

library(GGally)
ggpairs(iris, aes(color = variety))

des: right side e boxplot show krce , 2nd,3rd,4th row te scatter plot show , last plot e histogram show hcche

Interactive plot ( 3D plot)

paper er kaje ggplot tai lage. iteractive plot drkr ni as 3d way te paper e dekhano jayna ggplot diye ja ja kora jay interactive plot diyeo sob kra jay

library(plotly)
plot_ly(data = iris, x = ~sepal.length, y = ~sepal.width, z = ~petal.length, color = ~variety, type = "scatter3d", mode = "markets" )

Des: 3d plot so 3 ta variable iye x,y,z nbo.type e kon plot chai ta dbo. R 3d plot ta zoom in out kre dekhte paro . each point e click krle dekhbo each type of flower er x,y,z mane j 3 ta var nilm.(x er por tilde sign shift diye 1 er left ta click)

3D violi plot

plot_ly(data = iris, y = ~sepal.length, type = "violin")

Des: here vilion plot e ekta var thake so only y nlm. eta diye kothay kto value exact dekha jay also density(kde) ,mane for exmpl y=5.8 e kde 1 mane 5.8 size er sepal length er poriman sob cheye beshi , so median 5.8 show hcche mane jekahne info distibution sob theke beshi setai median . # if so gulo chai variety

plot_ly(data = iris, y = ~sepal.length, type = "violin", x = ~variety)

Boxplot

plot_ly(data = iris, y= ~sepal.length, x= ~variety, type= "box" )

Des: for exp here in virginia median 6.5 means sepal length size 6.5 beshi ae flower e , mane distribution beshi q1, q3 mane 25% er size 6.2, 6.9 r median 50% er size 6.5

Limitatios of 3d plot

using 3d plot we can not show more than 3 feature/variables . so to show more features we can use PCA. PCA diye koekta feature k convert koire 2 ta mportant feature hisee show krte pari

PCA(principle component analysis)

library(stats)
iris_pca = prcomp(iris[ , 1:4], center = TRUE, scale = TRUE)
iris_pca
Standard deviations (1, .., p=4):
[1] 1.7083611 0.9560494 0.3830886 0.1439265

Rotation (n x k) = (4 x 4):
                    PC1         PC2        PC3        PC4
sepal.length  0.5210659 -0.37741762  0.7195664  0.2612863
sepal.width  -0.2693474 -0.92329566 -0.2443818 -0.1235096
petal.length  0.5804131 -0.02449161 -0.1421264 -0.8014492
petal.width   0.5648565 -0.06694199 -0.6342727  0.5235971

TO COMPAre easily doing centaring( full distribution k zero te niye ashe) and scaling( range-1 to 1 e niye asbe) # in Statistical analysis summary is important , not exact value. so running summary

library(stats)
iris_pca = prcomp(iris[ , 1:4])
summary(iris_pca)
Importance of components:
                          PC1     PC2    PC3     PC4
Standard deviation     2.0563 0.49262 0.2797 0.15439
Proportion of Variance 0.9246 0.05307 0.0171 0.00521
Cumulative Proportion  0.9246 0.97769 0.9948 1.00000

des: here POV means 92% data can be represented with PC1, pc2 represent 5.3% data(so etar importance kom, aste aste komte thake ) CP means 1 ta pca nile 92% data represent kra jay 2 ta nile 97% and so on . normally min 2 ta PC niye kaj kri or max 3 ta (depend on task )

#Now will convert to data frame and do 2D plot

pc_score= as.data.frame(iris_pca$x[ , c(1,2)])
pc_score

#to show data info adding one new col named variety

pc_data = cbind(pc_score, variety = iris$variety)
pc_data
library(ggplot2)
ggplot(pc_data,aes(PC1,PC2 ,color = variety))+
  geom_point()+
  theme_minimal()

des: here pc1 & pc2 both center in 0 as we did centering, setosa nature is different from other 2 variety so pca is needed to convert from high dimensio into low dimension

LS0tCnRpdGxlOiAiUiBOb3RlYm9vayIKb3V0cHV0OiBodG1sX25vdGVib29rCi0tLQpgYGB7cn0KaXJpcyA9IHJlYWQuY3N2KCJpcmlzLmNzdiIpCmlyaXMKYGBgCgpgYGB7cn0KbGlicmFyeShnZ3Bsb3QyKQpnZ3Bsb3QoaXJpcywgYWVzKHggPSBzZXBhbC5sZW5ndGgpKSArIGdlb21faGlzdG9ncmFtKGJpbndpZHRoID0gMC4xLCBmaWxsID0gImxpZ2h0Ymx1ZSIsIGNvbG9yID0gImJsYWNrIiwgYWxwaGEgPSAwLjcpKyBsYWJzKHRpdGxlID0gIkhpc3RvZ3JhbSBvZiBTZXBhbCBMZW5ndGgiLCB4PSAiU2VwYWwgTGVuZ3RoIChjbSkiLCB5ID0gIkZyZXF1ZW5jeSIpICt4bGltKDAsOCkgKyB5bGltICgwLDEwKSArdGhlbWVfbWluaW1hbCgpCmBgYAojIFRvIGtub3cgbGFicyBlIGtpIGtpIGZ1bmN0aW9uIGFjaGUKYGBge3J9Cj9sYWJzCmBgYAojIENvcnJlbGF0aW9uIE1hdHJpeAojIyBzZWxlY3RpZyBjb2wgY2F1c2UgY29ycmVsYXRpb24gbWF0cml4IGNhbiBiZSBkb25lIG9ubHkgYmV0d2VlbiBudW1lcmljYWwgdmFyaWFibGVzL2NvbCwgYXMgaGVyZSB2YXJpZXR5IGNvbCBpcyBjYXRhZ29yaWNhbCBzbyBub3QgY29uc2lkZXJpbmcgaXQgCmBgYHtyfQpjb3JfbWF0ID0gY29yKGlyaXNbICwgYygxLDIsMyw0KV0pCmNvcl9tYXQKYGBgCiMjIEFub3RoZXIgd2F5OiBpZiBtb3JlIGNvbHVtbnMgJiBsYXN0IGNvbCBpcyBjaGFyYWN0ZXIgdmFyIHRoYW4gY29sIHNlbGVjdGlvbiBjb3VsZCBiZSBkb25lIHdpdGggcmFuZ2UKYGBge3J9CmNvcl9tYXQgPSBjb3IoaXJpc1sgLCAxOjRdKQpjb3JfbWF0CmBgYApEZXNjcmlwdGlvbjogSGVyZSBzZXBhbCBsZW5ndGggYW5kIHBldGFsIGxlbmd0aCBhcmUgcG9zaXRpdmVseSBjb3JyZWxhdGVkKGlmIFNMIGluY3JlYXNlcyBQTCBhbHNvIGluY3JlYXNlcywgaWYgU0wgZGVjcmVhc2VzIFBMIGFsc28gZGVjcmVhc2VzKSAgYW5kIHJlbGF0aW9uIHR5cGUgaXMgc3Ryb25nICwgbWVhbnMgdGhleSBhcmUgc3Ryb25nbHkgY29ycmVsYXRlZCBhcyA4NyUoMC44NzE3IG5lYXIgdG8gMSkuCkFnYWluLCBTTCBhbmQgU1cgc2hvd3MgbmVnIGNvcnIuKCBla3RhIGJhcmxlIGFyZWt0YSBrb21lKSwgYW5kIHdlYWsgY29ycmVsYXRpb24gYXMgb25seSAxMSUoMC4xMTc1IGZhciBmcm9tIDEpLiBBbHNvIGRpYWdvYWwgd2lzZSBTTCBhZCBTTCAobmlqZXIgc2F0aGUgbmlqZXIgY29ycikgY29yciAxIG1lYW5zIDEwMCUgY29ycmVsYXRlZAoKIyBWaXN1YWxpemF0aW9uIG9mIGNvcnJlbGF0aW9uCiMjIEhlYXQgbWFwCmBgYHtyfQpsaWJyYXJ5KGdnY29ycnBsb3QpCmdnY29ycnBsb3QoY29yX21hdCkKYGBgCkRlczogaGVyZSAxIHRvIC0xIG1lYW5zIENvcnJlbGF0aW8gY29sb3Igc3RyZW5ndGgsIHdoaXRpc2ggY29sb3IoMC4wKSBtZWFucyBuZWdhdGl2ZSB3ZWFrIHJlbGF0aW9uKGV4OiBiZXR3ZWVuIHNlcGFsIGxlbmd0aCAmIHdpZHRoKSwgbGlnaHQgYmx1aXNoICgtLjUpIG1lYW5zIG5lZ2F0aXZlIHNyb25nIHJlbGF0aW9uLCBkZWVwIHJlZCAoMSltZWFucyBwb3NpdGl2ZSBzdHJvbmcgcmVsYXRpb24KIyBIZXJlIGluIGNvcnJlbGF0aW9uLCBpZiAoZXg6IHNpbWlsYXIgc2VwYWwgbGVuZ3RoICYgc2VwYWwgbGVuZ3RoIGNvcnIgMSBtZWFucyBkaWFnb25hbClkaWFnb25hbCBlciB1cG9yIHIgbmljaGUgc2FtZSBpbmZvKGNvcnIpIC4gbWFuZSB1cGVyICYgbG93ZXIgdHJpYW5nbGUgc2FtZSBob3kuIHB1bGljYXRpb24gb3IgcHJlc2VudGF0aW9uIGUgZWt0YSB0cmlhbmdsZSBlIGVhc2lseSBkZWtoYXRlIGNoYWlsZQoKIyBMb3dlciB0aWFuZ2xlIChzdGFuZGFyZCB3YXkpCmBgYHtyfQpnZ2NvcnJwbG90KGNvcl9tYXQsIHR5cGUgPSAibG93ZXIiKQpgYGAKCmBgYHtyfQpnZ2NvcnJwbG90KGNvcl9tYXQsIHR5cGUgPSAidXBwZXIiKQpgYGAKIyBpZiB3YW50IHRvIGNoYW5nZSBjb2xvciAmIGFkZCBjb3JyZWxhdGlvIGV4YWN0IHZhbHVlIApgYGB7cn0KZ2djb3JycGxvdChjb3JfbWF0LCB0eXBlID0gInVwcGVyIiwgY29sb3JzID0gYygiZ3JlZW4iLCAid2hpdGUiLCAicGluayIpLCBsYWIgPSBUUlVFKQpgYGAKREVTOiB0byBhZGQgdmFsdWUgbGFiIGRpeWUgdHJ1ZSBkYm8sIGJ0IGRlZmF1bHQgZXRhIGZhbHNlIHRoYWtlCgojIElmIGRvIG90IHdhbnQgdG8gc2hvdyBjb2RlIGFmdGVyIHVwbG9hZCBjaHVuayBlciB1cG9yZSBlY2hvIGZhbHNlIGRibwoKYGBge3IsIGVjaG89RkFMU0V9CmdnY29ycnBsb3QoY29yX21hdCwgdHlwZSA9ICJ1cHBlciIsIGNvbG9ycyA9IGMoImdyZWVuIiwgIndoaXRlIiwgInBpbmsiKSwgbGFiID0gVFJVRSkKYGBgCiMgUGFpciBwbG90CnRvIHNob3cgYWxsIGF0dHJpYnV0ZXMgYW5kIHBsb3RzIGxpa2Ugc2NhdHRlciBwbG90LCBib3hwbG90ICwgaGlzdG9ncmFtKSB0b2dldGhlcgpgYGB7cn0KbGlicmFyeShHR2FsbHkpCmdncGFpcnMoaXJpcywgYWVzKGNvbG9yID0gdmFyaWV0eSkpCmBgYAoKZGVzOiByaWdodCBzaWRlIGUgYm94cGxvdCBzaG93IGtyY2UgLCAybmQsM3JkLDR0aCByb3cgdGUgc2NhdHRlciBwbG90IHNob3cgLCBsYXN0IHBsb3QgZSBoaXN0b2dyYW0gc2hvdyBoY2NoZQoKIyBJbnRlcmFjdGl2ZSBwbG90ICggM0QgcGxvdCkKcGFwZXIgZXIga2FqZSBnZ3Bsb3QgdGFpIGxhZ2UuIGl0ZXJhY3RpdmUgcGxvdCBkcmtyIG5pIGFzIDNkIHdheSB0ZSBwYXBlciBlIGRla2hhbm8gamF5bmEKZ2dwbG90IGRpeWUgamEgamEga29yYSBqYXkgaW50ZXJhY3RpdmUgcGxvdCBkaXllbyBzb2Iga3JhIGpheQoKYGBge3J9CmxpYnJhcnkocGxvdGx5KQpwbG90X2x5KGRhdGEgPSBpcmlzLCB4ID0gfnNlcGFsLmxlbmd0aCwgeSA9IH5zZXBhbC53aWR0aCwgeiA9IH5wZXRhbC5sZW5ndGgsIGNvbG9yID0gfnZhcmlldHksIHR5cGUgPSAic2NhdHRlcjNkIiwgbW9kZSA9ICJtYXJrZXRzIiApCmBgYApEZXM6IDNkIHBsb3Qgc28gMyB0YSB2YXJpYWJsZSBpeWUgeCx5LHogbmJvLnR5cGUgZSBrb24gcGxvdCBjaGFpIHRhIGRiby4gUiAzZCBwbG90IHRhIHpvb20gaW4gb3V0IGtyZSBkZWtodGUgcGFybyAuIGVhY2ggcG9pbnQgZSBjbGljayBrcmxlIGRla2hibyBlYWNoIHR5cGUgb2YgZmxvd2VyIGVyIHgseSx6IG1hbmUgaiAzIHRhIHZhciBuaWxtLih4IGVyIHBvciB0aWxkZSBzaWduIHNoaWZ0IGRpeWUgMSBlciBsZWZ0IHRhIGNsaWNrKSAKCiMgM0QgdmlvbGkgcGxvdApgYGB7cn0KcGxvdF9seShkYXRhID0gaXJpcywgeSA9IH5zZXBhbC5sZW5ndGgsIHR5cGUgPSAidmlvbGluIikKYGBgCkRlczogaGVyZSB2aWxpb24gcGxvdCBlIGVrdGEgdmFyIHRoYWtlIHNvIG9ubHkgeSBubG0uIGV0YSBkaXllIGtvdGhheSBrdG8gdmFsdWUgZXhhY3QgZGVraGEgamF5IGFsc28gZGVuc2l0eShrZGUpICxtYW5lIGZvciBleG1wbCB5PTUuOCBlIGtkZSAxIG1hbmUgNS44IHNpemUgZXIgc2VwYWwgbGVuZ3RoIGVyIHBvcmltYW4gc29iIGNoZXllIGJlc2hpICwgc28gbWVkaWFuIDUuOCBzaG93IGhjY2hlIG1hbmUgamVrYWhuZSBpbmZvIGRpc3RpYnV0aW9uIHNvYiB0aGVrZSBiZXNoaSBzZXRhaSBtZWRpYW4gLgojIGlmIHNvIGd1bG8gY2hhaSB2YXJpZXR5CmBgYHtyfQpwbG90X2x5KGRhdGEgPSBpcmlzLCB5ID0gfnNlcGFsLmxlbmd0aCwgdHlwZSA9ICJ2aW9saW4iLCB4ID0gfnZhcmlldHkpCmBgYAoKCiMgQm94cGxvdApgYGB7cn0KcGxvdF9seShkYXRhID0gaXJpcywgeT0gfnNlcGFsLmxlbmd0aCwgeD0gfnZhcmlldHksIHR5cGU9ICJib3giICkKYGBgCkRlczogZm9yIGV4cCBoZXJlIGluIHZpcmdpbmlhIG1lZGlhbiA2LjUgbWVhbnMgc2VwYWwgbGVuZ3RoIHNpemUgNi41IGJlc2hpICBhZSBmbG93ZXIgZSAsIG1hbmUgZGlzdHJpYnV0aW9uIGJlc2hpIHExLCBxMyBtYW5lIDI1JSBlciBzaXplIDYuMiwgNi45IHIgbWVkaWFuIDUwJSBlciBzaXplIDYuNQoKCiMjIExpbWl0YXRpb3Mgb2YgM2QgcGxvdAp1c2luZyAzZCBwbG90IHdlIGNhbiBub3Qgc2hvdyBtb3JlIHRoYW4gMyBmZWF0dXJlL3ZhcmlhYmxlcyAuIHNvIHRvIHNob3cgbW9yZSBmZWF0dXJlcyB3ZSBjYW4gdXNlIFBDQS4gUENBIGRpeWUga29la3RhIGZlYXR1cmUgayBjb252ZXJ0IGtvaXJlIDIgdGEgbXBvcnRhbnQgZmVhdHVyZSBoaXNlZSBzaG93IGtydGUgcGFyaQoKIyMgUENBKHByaW5jaXBsZSBjb21wb25lbnQgYW5hbHlzaXMpCmBgYHtyfQpsaWJyYXJ5KHN0YXRzKQppcmlzX3BjYSA9IHByY29tcChpcmlzWyAsIDE6NF0sIGNlbnRlciA9IFRSVUUsIHNjYWxlID0gVFJVRSkKaXJpc19wY2EKYGBgClRPIENPTVBBcmUgZWFzaWx5IGRvaW5nIGNlbnRhcmluZyggZnVsbCBkaXN0cmlidXRpb24gayB6ZXJvIHRlIG5peWUgYXNoZSkgYW5kIHNjYWxpbmcoIHJhbmdlLTEgdG8gMSBlIG5peWUgYXNiZSkKIyBpbiBTdGF0aXN0aWNhbCBhbmFseXNpcyBzdW1tYXJ5IGlzIGltcG9ydGFudCAsIG5vdCBleGFjdCB2YWx1ZS4gc28gcnVubmluZyBzdW1tYXJ5CmBgYHtyfQpsaWJyYXJ5KHN0YXRzKQppcmlzX3BjYSA9IHByY29tcChpcmlzWyAsIDE6NF0pCnN1bW1hcnkoaXJpc19wY2EpCmBgYApkZXM6IGhlcmUgUE9WIG1lYW5zIDkyJSBkYXRhIGNhbiBiZSByZXByZXNlbnRlZCB3aXRoIFBDMSwgcGMyIHJlcHJlc2VudCA1LjMlIGRhdGEoc28gZXRhciBpbXBvcnRhbmNlIGtvbSwgYXN0ZSBhc3RlIGtvbXRlIHRoYWtlICApCkNQIG1lYW5zIDEgdGEgcGNhIG5pbGUgOTIlIGRhdGEgcmVwcmVzZW50IGtyYSBqYXkgMiB0YSBuaWxlIDk3JSBhbmQgc28gb24gLiBub3JtYWxseSBtaW4gMiB0YSBQQyBuaXllIGthaiBrcmkgb3IgbWF4IDMgdGEgKGRlcGVuZCBvbiB0YXNrICkKCiNOb3cgd2lsbCBjb252ZXJ0IHRvIGRhdGEgZnJhbWUgYW5kIGRvIDJEIHBsb3QKYGBge3J9CnBjX3Njb3JlPSBhcy5kYXRhLmZyYW1lKGlyaXNfcGNhJHhbICwgYygxLDIpXSkKcGNfc2NvcmUKYGBgCiN0byBzaG93IGRhdGEgaW5mbyBhZGRpbmcgb25lIG5ldyBjb2wgbmFtZWQgdmFyaWV0eQpgYGB7cn0KcGNfZGF0YSA9IGNiaW5kKHBjX3Njb3JlLCB2YXJpZXR5ID0gaXJpcyR2YXJpZXR5KQpwY19kYXRhCmBgYApgYGB7cn0KbGlicmFyeShnZ3Bsb3QyKQpnZ3Bsb3QocGNfZGF0YSxhZXMoUEMxLFBDMiAsY29sb3IgPSB2YXJpZXR5KSkrCiAgZ2VvbV9wb2ludCgpKwogIHRoZW1lX21pbmltYWwoKQoKYGBgCmRlczogaGVyZSBwYzEgJiBwYzIgYm90aCBjZW50ZXIgaW4gMCBhcyB3ZSBkaWQgY2VudGVyaW5nLCBzZXRvc2EgbmF0dXJlIGlzIGRpZmZlcmVudCBmcm9tIG90aGVyIDIgdmFyaWV0eSAKc28gcGNhIGlzIG5lZWRlZCB0byBjb252ZXJ0IGZyb20gaGlnaCBkaW1lbnNpbyBpbnRvIGxvdyBkaW1lbnNpb24g