Get Your Answer Fast Within An Hour
First time here? Checkout the FAQs!
x

*Math Image Search only works best with zoomed in and well cropped math screenshots. Check DEMO

1 like 0 dislike
247 views
How will you create scatterplot matrices in R language?
in Data Science & Statistics by Platinum (129,882 points) | 247 views

1 Answer

0 like 0 dislike
Best answer
  1. Launch RStudio as described here: Running RStudio and setting up your working directory

  2. Prepare your data as described here: Best practices for preparing your data and save it in an external .txt tab or .csv files

  3. Import your data into R 

Data

iris data is used in the following examples. iris data set gives the measurements in centimeters of the variables sepal length and width, and petal length and width, respectively, for 50 flowers from each of 3 species of iris. The species are Iris setosa, versicolor, and virginica.

head(iris)

 

R base scatter plot matrices: pairs()

  • Basic plots:
pairs(iris[,1:4], pch = 19)

 

  • Show only upper panel:
pairs(iris[,1:4], pch = 19, lower.panel = NULL)

 

  • Color points by groups (species)
my_cols <- c("#00AFBB", "#E7B800", "#FC4E07")  
pairs(iris[,1:4], pch = 19,  cex = 0.5,
      col = my_cols[iris$Species],
      lower.panel=NULL)

 

  • Add correlations on the lower panels: The size of the text is proportional to the correlations.
# Correlation panel
panel.cor <- function(x, y){
    usr <- par("usr"); on.exit(par(usr))
    par(usr = c(0, 1, 0, 1))
    r <- round(cor(x, y), digits=2)
    txt <- paste0("R = ", r)
    cex.cor <- 0.8/strwidth(txt)
    text(0.5, 0.5, txt, cex = cex.cor * r)
}
# Customize upper panel
upper.panel<-function(x, y){
  points(x,y, pch = 19, col = my_cols[iris$Species])
}
# Create the plots
pairs(iris[,1:4], 
      lower.panel = panel.cor,
      upper.panel = upper.panel)

 

  • Add correlations on the scatter plots:
# Customize upper panel
upper.panel<-function(x, y){
  points(x,y, pch=19, col=c("red", "green3", "blue")[iris$Species])
  r <- round(cor(x, y), digits=2)
  txt <- paste0("R = ", r)
  usr <- par("usr"); on.exit(par(usr))
  par(usr = c(0, 1, 0, 1))
  text(0.5, 0.9, txt)
}
pairs(iris[,1:4], lower.panel = NULL, 
      upper.panel = upper.panel)

 

Use the R package psych

The function pairs.panels [in psych package] can be also used to create a scatter plot of matrices, with bivariate scatter plots below the diagonal, histograms on the diagonal, and the Pearson correlation above the diagonal.

library(psych)
pairs.panels(iris[,-5], 
             method = "pearson", # correlation method
             hist.col = "#00AFBB",
             density = TRUE,  # show density plots
             ellipses = TRUE # show correlation ellipses
             )

 

 

by Platinum (129,882 points)

Related questions

0 like 0 dislike
0 answers
asked Mar 12, 2019 in Data Science & Statistics by MathsGee Platinum (129,882 points) | 134 views
0 like 0 dislike
0 answers
asked Mar 12, 2019 in Data Science & Statistics by MathsGee Platinum (129,882 points) | 138 views
0 like 0 dislike
0 answers
1 like 0 dislike
1 answer
0 like 0 dislike
0 answers
0 like 0 dislike
0 answers
asked Mar 11, 2019 in Data Science & Statistics by Edzai Zvobwo Bronze Status (9,350 points) | 145 views
0 like 0 dislike
0 answers
asked Mar 12, 2019 in Data Science & Statistics by MathsGee Platinum (129,882 points) | 110 views
0 like 0 dislike
0 answers
1 like 0 dislike
1 answer
1 like 0 dislike
1 answer
asked Mar 12, 2019 in Data Science & Statistics by MathsGee Platinum (129,882 points) | 163 views
0 like 0 dislike
0 answers
asked Mar 11, 2019 in Data Science & Statistics by Edzai Zvobwo Bronze Status (9,350 points) | 102 views
0 like 0 dislike
0 answers

Join the MathsGee Study Questions & Answers Club where you get study and financial support for success from our community. SEARCH - ASK - LEARN


On the MathsGee Study Questions & Answers, you can:


1. Ask questions


2. Answer questions


3. Vote on Questions and Answers


4. Tip your favourite community member(s)


5. Create Live Video Tutorials (Paid/Free)


6. Join Live Video Tutorials (Paid/Free)


7. Earn points for participating



Posting on the MathsGee Study Questions & Answers


1. Remember the human


2. Behave like you would in real life


3. Look for the original source of content


4. Search for duplicates before posting


5. Read the community's rules




Q&A RULES


1. Answers to questions will be posted immediately after moderation


2. Questions will be queued for posting immediately after moderation


3. Depending on how many posts we receive, you could be waiting up to 24 hours for your post to appear. But, please be patient as posts will appear after they pass our moderation.


MathsGee Android Q&A