I. Likert scale data

We learn how to calculate likert data and create plots.

Refer to https://rcompanion.org/handbook/E_03.html

II. Import libraries and load sample data

# import libraries
library(dplyr)
library(tidyverse)
library(likert)
# load the data
qnn0 = read.csv('https://pastebin.com/raw/s4QVES8e')
head(qnn0)
##   res1 res2 res3      res4 res5 res6 res7 res8
## 1    5    5    5 difficult    5    5    5    5
## 2    4    4    4 difficult    4    4    4    4
## 3    5    5    4 very easy    5    5    4    5
## 4    5    5    5 difficult    4    3    4    4
## 5    5    4    4      easy    4    4    4    4
## 6    4    5    2  neautral    4    4    4    4

III. Columns of nembers

qnn1 <- qnn0 |>
  select(!res4)
head(qnn1)
##   res1 res2 res3 res5 res6 res7 res8
## 1    5    5    5    5    5    5    5
## 2    4    4    4    4    4    4    4
## 3    5    5    4    5    5    4    5
## 4    5    5    5    4    3    4    4
## 5    5    4    4    4    4    4    4
## 6    4    5    2    4    4    4    4

Convert columns to factors and specify levels.

qnn1$res1 <- factor(qnn1$res1,
                    levels = c("1", "2", "3", "4", "5"),
                    ordered = TRUE)
qnn1$res2 <- factor(qnn1$res2,
                    levels = c("1", "2", "3", "4", "5"),
                    ordered = TRUE)
qnn1$res3 <- factor(qnn1$res3,
                    levels = c("1", "2", "3", "4", "5"),
                    ordered = TRUE)  
qnn1$res5 <- factor(qnn1$res5,
                    levels = c("1", "2", "3", "4", "5"),
                    ordered = TRUE)
qnn1$res6 <- factor(qnn1$res6,
                    levels = c("1", "2", "3", "4", "5"),
                    ordered = TRUE)
qnn1$res7 <- factor(qnn1$res7,
                    levels = c("1", "2", "3", "4", "5"),
                    ordered = TRUE)
qnn1$res8 <- factor(qnn1$res8,
                    levels = c("1", "2", "3", "4", "5"),
                    ordered = TRUE)
# show the structure
str(qnn1)
## 'data.frame':    26 obs. of  7 variables:
##  $ res1: Ord.factor w/ 5 levels "1"<"2"<"3"<"4"<..: 5 4 5 5 5 4 3 4 5 5 ...
##  $ res2: Ord.factor w/ 5 levels "1"<"2"<"3"<"4"<..: 5 4 5 5 4 5 4 4 5 5 ...
##  $ res3: Ord.factor w/ 5 levels "1"<"2"<"3"<"4"<..: 5 4 4 5 4 2 5 4 5 5 ...
##  $ res5: Ord.factor w/ 5 levels "1"<"2"<"3"<"4"<..: 5 4 5 4 4 4 4 4 5 5 ...
##  $ res6: Ord.factor w/ 5 levels "1"<"2"<"3"<"4"<..: 5 4 5 3 4 4 5 4 5 4 ...
##  $ res7: Ord.factor w/ 5 levels "1"<"2"<"3"<"4"<..: 5 4 4 4 4 4 3 4 5 5 ...
##  $ res8: Ord.factor w/ 5 levels "1"<"2"<"3"<"4"<..: 5 4 5 4 4 4 4 5 5 5 ...

IV.Column of strings

qnn2 <- qnn0 |>
  select(res4) |> 
  drop_na()
qnn2
##              res4
## 1       difficult
## 2       difficult
## 3       very easy
## 4       difficult
## 5            easy
## 6        neautral
## 7       very easy
## 8        neautral
## 9        neautral
## 10      difficult
## 11       neautral
## 12      very easy
## 13      difficult
## 14 very difficult
## 15 very difficult
## 16 very difficult
## 17       neautral
## 18      very easy
## 19       neautral
## 20       neautral
## 21      difficult
## 22 very difficult
## 23      very easy
## 24 very difficult
## 25       neautral
## 26       neautral
# convert a column to factors and specify levels
qnn2$res4 <- factor(qnn2$res4,
                    levels = c("very easy", "easy", "neutral", "difficult", "very difficult"),
                    ordered = TRUE)
# create a graph
qnn2_likert <- likert(qnn2)
plot(qnn2_likert)