item_analysis: Item Analysis

View source: R/DBERlibR.R

item_analysisR Documentation

Item Analysis

Description

This function automatically reads and cleans the data (e.g., converting missing values to "0"), and calculates difficulty and discriminant scores.

Usage

item_analysis(
  score_csv_data,
  m_cutoff = 0.15,
  m_choice = FALSE,
  key_csv_data = NULL
)

Arguments

score_csv_data

This function requires a csv data file. Its name (e.g., "data_treat_pre.csv") can be passed as an argument. Make sure to set the folder with the data file(s) as the working directory.

m_cutoff

This package will treat skipped answers as incorrect. However, too many skipped answers may skew the results of the data analysis. User can can provide a cutoff for the proportion of skipped answers. For example, if the user enters 0.1, students who skipped more than 10 percent of the answers will be excluded from the data analysis to prevent skewed results. The default of 0.15 is commonly applied as a rule of thumb.

m_choice

This package is capable of handling multiple-choice answers for the convenience of users. If users want to use a csv data file with multiple-choice answers, they should put m_choice = TRUE and provide another csv file that contains answer keys using the argument of key_csv_data.

key_csv_data

This function requires a csv file that contains answer keys if m_choice = TRUE. The loaded answer keys will change the multiple- choice answers to a binary format of 1 (correct) and 0 (incorrect).

Value

This function returns a tibble() including the following information:

  • n_students_deleted: Number of students deleted from the data for analysis based on the percentage obtained via the argument of m_cutoff

  • difficulty_index: Calculated difficulty scores

  • difficulty_index_plot: Plot of difficulty scores in the ascending order

  • too_difficulty_items: List of items of which difficulty score is less than 0.2

  • discrimination_index: Calculated discrimination scores

  • discrimination_index_plot: Plot of discrimination scores in the ascending order

  • non_discrimination_items: List of items of which discrimination score is less than 0.2

Examples

# Run the following codes directly in the console panel. The plots
# generated through the link above may be displaced depending on the screen
# resolution.
item_analysis(score_csv_data =
         system.file("extdata", "data_treat_pre.csv", package = "DBERlibR"),
         m_cutoff = 0.15, m_choice = FALSE, key_csv_data = NULL)


HelikarLab/DBERlibR documentation built on Sept. 20, 2023, 12:37 p.m.