Lightweight Qualitative Coding (2024)

Lightweight package to conduct qualitative coding.

tl;dr

To test with some sample data:

install.packages("remotes")remotes::install_github("ropenscilabs/qcoder")library(qcoder)create_qcoder_project("my_qcoder_project", sample = TRUE)import_project_data(project = "my_qcoder_project")qcode()

Click “Select project folder” and “my_qcoder_project.”
There are two ways to add codes. To use an existing code, highlight the text to be coded, select the code, click “Add selected code” and then “Save changes.” Text to be assigned a new (or existing) code should be surrounded by (QCODER) (/QCODER) tags. The closing tag is followed immediately by the code enclosed in curly brackets and prefixed with a # for example {#samplecode}

Installation

To install the latest development version, run

install.packages("remotes")remotes::install_github("ropenscilabs/qcoder")library(qcoder)

Please note that this is not a release-ready version and should be considered experimental and subject to changes. Still, we encourage you to install and send us feedback on our issue tracker.

Motivation

The motivation stems from the need for a free, open source option for analyzing textual qualitative data. Textual qualitative data refers to text from interview transcripts, observation notes, memos, jottings and primary source/archival documents. A detailed discussion of the motivation and other software can be found in our motivation document.

Using QCoder

QCoder is designed to be easy to use and to require minimal knowledge of computer systems and code. Like all software, including other applications for QDA there will be a learning period, but as we develop Qcoder our goal will be to keep the interface simple and steadily improve it. Currently we have a very minimal prototype.

Once you have installed QCoder, load it with the library command.

library(qcoder)

This readme file is going to use sample data to illustrate basic QCoder functionality. We will be using the simplest approach which is to use the QCoder defaults for file names and folders. If you follow those same patterns and conventions with your data you can use QCoder in the same way. A full vignette will explain how to use non standard names and file locations.

To begin we will create a QCoder project with sample data. (To create an empty project leave out the sample option.)

This will create one main folder and four subfolders. Unless you specified otherwise it will be in your current working directory (you can find this with the getwd() command at the console). If you have a specific location where you want to put the folder change your working directory.

These will hold the documents to be coded, information about the codes, unit information and the r data frames that will be the core of the analysis. For this example the folder and file structures for the sample data will look similar to this.

Lightweight Qualitative Coding (1)

Documents

In our example we’ve already placed our documents into the “documents” folder. At this point we only have tested support for txt files. If you have documents in other formats you can use “Save As” to convert to txt. If you have doc, docx, html, pdf, rtf or some other formats these can be processed if you install the textreadr package. For many users this will simply require

install.packages("textreadr")

However for other users, particularly those on linux systems, additional steps are required. Please follow the installation instructions for pdftools.

Codes

QCoder has the option to import a list of predefined codes from a CSV file (if you have this in a spreadsheet you can “Save As” csv). This file should have exactly 3 columns with headings:

  • code_id (A unique number for each code)
  • code (One word description, can use underscores or hyphens)
  • code.description (Longer description of the code, must be enclosed in quotation marks.)

To use project defaults, this file should be called codes.csv. Here are the contents of the sample data csv file that comes with QCoder.

 code_id,code,code.description1,"harassment","define or describes harassing behavior"2,"person_talk","naming a specific person to talk to if there are violations"3,"gender","mentions gender"4,"gender_id","mentions gender identity or expression"5,"consequences","Detailing what happens if someone violates the code of conduct"6,"license","The license for this code of conduct"

You are not restricted to using the listed codes in the csv file, but this file allows you to produce a detailed codebook including descriptions. (Creating a user interface for adding new codes is high priority item on the project road map.)

Units

Units represent the unit of analysis data are about. Often this is individual people, but it may also be organizations, events or locations. Units may be associated with multiple documents. In the sample data a minimum units file is used, but additional columns can be used to assign attribute data.

The default file name is units.csv; if stored in a spreadsheet this can be created by using “Save As” csv.

(Treatment of units is a work in progress and subject to change.)

Filename,unit_id,Name1,"rOpenSci"2,"LIBD Rstats Club"3,"Carpentries"4,"Rladies

A second file (and data frame once imported) connects units to documents.
Our framework allows each unit to be associated with multiple documents and each document with multiple units. (Note that the sample data is designed to allow you to add more unit-document links and hence does not link each unit to a document.)

doc_path,unit_idCoC_Example1_mod_MU.txt,1CoC_Example1_MU.txt,2CoC_Example3_MU.txt,3CoC_Example4_MU.txt,4

Importing the data

To import this data into Qcode user the import_project_data() function.

import_project_data(project = "my_qcoder_project")

Now the data_frames folder will contain the imported files. Lightweight Qualitative Coding (2)

Now it’s time to start coding.

Coding uses a “Shiny App” to provide a user interface to the data. To launch the app use the function qcode().

qcode()

Which will launch this application. If your current working directory is not the location of your project, use the use_wd = FALSE option. However, on Windows this will not work unless you have set a HOME or R_USER.

Coding

Once you have selected your project there will be a drop down menu on the “Add codes to text” tab to allow you to pick a specific document to code. This will pull a document into the editor.

Lightweight Qualitative Coding (3)

Select your project folder.

Lightweight Qualitative Coding (4)

Once you have a project, use the drop down menu to select a particular document to code. This will open in an editor. When done coding (instructions below), click Save changes.

Select your project folder.

Lightweight Qualitative Coding (5)

Switching to the “Codes” tab a list of codes from the codes file is displayed.

Lightweight Qualitative Coding (6)

Our sample data already has some coding done, and the code-text data is displayed on the “Coded data” tab.

Lightweight Qualitative Coding (7)

Coding the data

To add codes to the documents uses a tagging system. Text to be assigned a code should be surrounded by (QCODER) (/QCODER) tags. The closing tag is followed immediately by the code enclosed in curly brackets and prefixed with a # for example {#samplecode}

(QCODE)This is the text that is being assigned a code.(/QCODE){#instructions}

One pair of {} can contain multiple codes, each with at # and separated by commas.

Alternatively, to use an existing code, highlight the text to be coded, select the code or codes, click “Add selected code.”

When you have finished coding a document press the “Save changes” button.

Cautions and known issues

Each time you save, Qcoder makes a backup copy of your documents data frame. This is for safety and reproducability. This can end up with a lot of files if you save often. You may want to periodically delete some backups to save storage space. An important goal is to move to using git for this purpose.

Currently when you create a new code while coding, this code will be displayed on the Coded data tab, but not on the Codes or Summary tabs. You must go to the first tab of the the qcode application to update those displays. This is a high priority development item.

Road map

QCoder can be used right now for coding. However, we are not yet ready for release.

Our immediate goal is to create a somewhat more advanced minimum viable product. Please see the issue tracker for a list of short-term and longer-term goals. These goals include interoperability with other QDA packages.

The most important thing is to have more people try qcoder and give us feedback! We do not want to release and then discover that our testing has missed problems that are obvious to our intended user base.

Lightweight Qualitative Coding (2024)

FAQs

What are the three types of coding used in qualitative research? ›

Open coding, axial coding, and selective coding for grounded theory is just one approach of many ways to analyze qualitative research. To read more about other types of coding, read our Essential Guide to Coding Qualitative Data.

How to use QDA Miner Lite for coding? ›

Step-by-step instructions for using QDA Miner Lite
  1. Begin your project by creating a new project from existing documents.
  2. Add variables from an Excel spreadsheet. ...
  3. Code your data. ...
  4. Analyze your data by... ...
  5. You can export data to be used in other programs such as Excel and SPSS.
Oct 24, 2023

How much is QDA Miner Lite? ›

QDA Miner Lite is a free and easy-to-use version of our popular computer-assisted qualitative analysis software.

How to code qualitative data quickly? ›

Here's how inductive coding works:
  1. Break your qualitative dataset into smaller samples.
  2. Read a sample of the data.
  3. Create codes that will cover the sample.
  4. Reread the sample and apply the codes.
  5. Read a new sample of data, applying the codes you created for the first sample.

What are the 4 most common forms of qualitative methods? ›

There are several types of qualitative research, including:
  • Action research. In action research, the researcher participates in a situation and collects data on it. ...
  • Phenomenological. ...
  • Ethnographic. ...
  • Case study. ...
  • Focus groups.
Feb 3, 2023

How long does it take to code qualitative data? ›

For a 60-minute-long interview, you might plan for an hour to create clean and detailed notes or two hours to transcribe an audio recording of the interview. Plan to take 30 minutes to code the notes or transcript.

What are the 5 methods of qualitative analysis? ›

In this article, we will explore five commonly used qualitative analysis methods: content analysis, narrative analysis, discourse analysis, grounded theory, and thematic analysis.

What are the three qualitative methodologies? ›

These are some of the most common qualitative methods: Observations: recording what you have seen, heard, or encountered in detailed field notes. Interviews: personally asking people questions in one-on-one conversations. Focus groups: asking questions and generating discussion among a group of people.

Why use QDA? ›

The use of QDA can potentiate quality strategies in qualitative research, particularly improving researcher's coherence and benefiting criteria such as confirmability and credibility. However, a disadvantage of using QDA is the potential distance between the researcher and the data .

What is a QDA Miner? ›

QDA Miner is an easy-to-use qualitative data analysis software for organizing, coding, annotating, retrieving, and analyzing collections of documents and images.

How is data coded in NVivo? ›

NVivo provides the following ways to code your files: Select and code content using the options in the Coding group on the menu. Drag and drop selected content on a node in List View. You can customize your workspace to make the most of drag and drop coding—list the nodes on the left and display your file on the right.

Is QDA Miner safe? ›

QDA Miner is highly accurate and trustworthy for code-based qualitative analysis, excelling in mixed methods with WordStat and SimStat, surpassing others in quantitative and statistical analysis capabilities.

Is there a free qualitative data analysis software? ›

Taguette is a free and open-source tool for qualitative research.

What are the advantages of QDA Miner? ›

QDA Miner integrates statistical and visualization tools such as clustering, multidimensional scaling, heatmaps, correspondence analysis and sequence analysis. It can also compute statistical tests such as Chi Square, Pearson Correlation and so on, to help you identify the strongest relationships.

What are the 3 methods used in qualitative approach? ›

The three most common qualitative methods, explained in detail in their respective modules, are participant observation, in-depth interviews, and focus groups.

What are the 3 basic research approaches in qualitative research? ›

Qualitative scholars develop their work from these beliefs—usually post-positivist or constructivist—using different approaches to conduct their research. In this Rip Out, we describe 3 different qualitative research approaches commonly used in medical education: grounded theory, ethnography, and phenomenology.

What are the 3 main techniques that are often used by a qualitative researcher? ›

These are some of the most common qualitative methods:
  • Observations: recording what you have seen, heard, or encountered in detailed field notes.
  • Interviews: personally asking people questions in one-on-one conversations.
  • Focus groups: asking questions and generating discussion among a group of people.
Jun 19, 2020

What are the three level coding methods? ›

The Glaserian Grounded Theory method uses three levels of coding – open coding, selective coding, and theoretical coding (Figure 26). Open coding is the initial phase of grounded theory analysis (Glaser and Strauss, 1967; Strauss and Corbin, 1990).

Top Articles
Latest Posts
Article information

Author: Francesca Jacobs Ret

Last Updated:

Views: 6286

Rating: 4.8 / 5 (48 voted)

Reviews: 87% of readers found this page helpful

Author information

Name: Francesca Jacobs Ret

Birthday: 1996-12-09

Address: Apt. 141 1406 Mitch Summit, New Teganshire, UT 82655-0699

Phone: +2296092334654

Job: Technology Architect

Hobby: Snowboarding, Scouting, Foreign language learning, Dowsing, Baton twirling, Sculpting, Cabaret

Introduction: My name is Francesca Jacobs Ret, I am a innocent, super, beautiful, charming, lucky, gentle, clever person who loves writing and wants to share my knowledge and understanding with you.