QualCoder | Qualitative data analysis for text , images , audio , video | Machine Learning library

 by   ccbogel Python Version: 3.2 License: MIT

kandi X-RAY | QualCoder Summary

QualCoder is a Python library typically used in Artificial Intelligence, Machine Learning, Deep Learning, Tensorflow, Keras applications. QualCoder has no vulnerabilities, it has build file available, it has a Permissive License and it has low support. However QualCoder has 7 bugs. You can download it from GitHub.
QualCoder is a qualitative data analysis application written in python3 (python 3.6 or newer versions) and pyqt5. Text files can be typed in manually or loaded from txt, odt, docx, html, htm, epub and pdf files. Images, video and audio can also be imported for coding. Codes can be assigned to text, images and a/v selections and grouped into categories in hierarchical fashion. Various types of reports can be produced including visual coding graphs, coder comparisons and coding frequencies. This project has been tested under Ubuntu 20.04 and Windows 10. It has been used on MacOS and various Linux distros. Instructions and other information are available here: and on the Github Wiki. NOTE Transcriptions created with QualCoder 2.8 and newer will have a .txt file ending. These transcription files will not be recoginsed in older QualCoder versions (2.7 and earlier). You will have to change the transcription name ending from '.txt' to '.transcribed' before opening any audio/video files to view or code if opening the project in older versions. In Sql Statements run this to have older versions recognise transcriptions (replace video.mp4 with the actual filename you have): update source set name='video.mp4.transcribed' where name='video.mp4.txt'.
    Support
      Quality
        Security
          License
            Reuse
            Support
              Quality
                Security
                  License
                    Reuse

                      kandi-support Support

                        summary
                        QualCoder has a low active ecosystem.
                        summary
                        It has 208 star(s) with 46 fork(s). There are 16 watchers for this library.
                        summary
                        There were 1 major release(s) in the last 6 months.
                        summary
                        There are 9 open issues and 637 have been closed. On average issues are closed in 17 days. There are no pull requests.
                        summary
                        It has a neutral sentiment in the developer community.
                        summary
                        The latest version of QualCoder is 3.2
                        QualCoder Support
                          Best in #Machine Learning
                            Average in #Machine Learning
                            QualCoder Support
                              Best in #Machine Learning
                                Average in #Machine Learning

                                  kandi-Quality Quality

                                    summary
                                    QualCoder has 7 bugs (5 blocker, 0 critical, 2 major, 0 minor) and 1436 code smells.
                                    QualCoder Quality
                                      Best in #Machine Learning
                                        Average in #Machine Learning
                                        QualCoder Quality
                                          Best in #Machine Learning
                                            Average in #Machine Learning

                                              kandi-Security Security

                                                summary
                                                QualCoder has no vulnerabilities reported, and its dependent libraries have no vulnerabilities reported.
                                                summary
                                                QualCoder code analysis shows 0 unresolved vulnerabilities.
                                                summary
                                                There are 35 security hotspots that need review.
                                                QualCoder Security
                                                  Best in #Machine Learning
                                                    Average in #Machine Learning
                                                    QualCoder Security
                                                      Best in #Machine Learning
                                                        Average in #Machine Learning

                                                          kandi-License License

                                                            summary
                                                            QualCoder is licensed under the MIT License. This license is Permissive.
                                                            summary
                                                            Permissive licenses have the least restrictions, and you can use them in most projects.
                                                            QualCoder License
                                                              Best in #Machine Learning
                                                                Average in #Machine Learning
                                                                QualCoder License
                                                                  Best in #Machine Learning
                                                                    Average in #Machine Learning

                                                                      kandi-Reuse Reuse

                                                                        summary
                                                                        QualCoder releases are available to install and integrate.
                                                                        summary
                                                                        Build file is available. You can build the component from source.
                                                                        summary
                                                                        Installation instructions are not available. Examples and code snippets are available.
                                                                        summary
                                                                        QualCoder saves you 13007 person hours of effort in developing the same functionality from scratch.
                                                                        summary
                                                                        It has 39553 lines of code, 1890 functions and 107 files.
                                                                        summary
                                                                        It has high code complexity. Code complexity directly impacts maintainability of the code.
                                                                        QualCoder Reuse
                                                                          Best in #Machine Learning
                                                                            Average in #Machine Learning
                                                                            QualCoder Reuse
                                                                              Best in #Machine Learning
                                                                                Average in #Machine Learning
                                                                                  Top functions reviewed by kandi - BETA
                                                                                  kandi has reviewed QualCoder and discovered the below as its top functions. This is intended to give you an instant insight into QualCoder implemented functionality, and help decide if they suit your requirements.
                                                                                  • Updates the positions of the text
                                                                                    • Highlight the text
                                                                                    • Removes formatting
                                                                                    • Update annotation annotations
                                                                                  • Import project data
                                                                                    • Convert a datetime into a datetime object
                                                                                    • Write INI file
                                                                                  • Setup the UI
                                                                                    • Translates the UI text
                                                                                  • Update the positions of the text
                                                                                    • Highlight the document
                                                                                  • Creates the text edit menu for the given position
                                                                                  • Loads text from file
                                                                                  • Performs a search on a document
                                                                                  • Creates a table
                                                                                  • Creates a text edit menu
                                                                                  • Generate a picture
                                                                                  • Setup UI
                                                                                  • Export the project
                                                                                  • Populate the table menu
                                                                                  • Updates the positions in the text editor
                                                                                  • Save the current graph
                                                                                  • Import project
                                                                                  • Select attribute names
                                                                                  • Select attributes
                                                                                  • Overrides drop event
                                                                                  • Make a heatmap
                                                                                  Get all kandi verified functions for this library.
                                                                                  Get all kandi verified functions for this library.

                                                                                  QualCoder Key Features

                                                                                  Qualitative data analysis for text, images, audio, video. Cross platform. Python 3.7 or newer and PyQt6.

                                                                                  QualCoder Examples and Code Snippets

                                                                                  No Code Snippets are available at this moment for QualCoder.
                                                                                  Community Discussions

                                                                                  Trending Discussions on QualCoder

                                                                                  R: Output columns as text
                                                                                  chevron right

                                                                                  Trending Discussions on QualCoder

                                                                                  QUESTION

                                                                                  R: Output columns as text
                                                                                  Asked 2021-Sep-05 at 15:09

                                                                                  Background: I have survey results in an SPSS .sav file. Some of the survey questions were open, where respondents could type their own responses. In SPSS, I can just select one or more columns, and the responses will be output as a text file, with the responses grouped by each question (column contents), and each response separated by a blank line. This text file can then be used for thematic analysis by assigning code to phrases or sentences in the text.

                                                                                  I can't seem to find an easy way of doing the same thing in R. All the usual export formats output as a table. Selecting the columns in RStudio gives text output where each the responses are grouped by respondent rather than by column.

                                                                                  Toy example:

                                                                                  library(labelled)
                                                                                  library(tidyverse)
                                                                                  
                                                                                  comments<-tibble(
                                                                                    shakey=as.character(c("To be or not to be", "", "Alas poor Yorick", "", "Is this a dagger that I see before me?", "A rose by any other name")), 
                                                                                    versey=as.character(c("", "The boy stood on the burning deck", "", "Oft in the stilly night", "", "Lars Porsena of Clusium, by the nine gods he swore"))
                                                                                    )
                                                                                  
                                                                                  var_label(comments$shakey)<-"Can you quote some Shakespeare?"
                                                                                  var_label(comments$versey)<-"Can you quote some poetry?"
                                                                                  

                                                                                  The output I want from this is:

                                                                                  *Can you quote some Shakespeare?*
                                                                                  
                                                                                  To be or not to be
                                                                                  
                                                                                  Alas poor Yorick
                                                                                  
                                                                                  Is this a dagger that I see before me?
                                                                                  
                                                                                  A rose by any other name
                                                                                  
                                                                                  *Can you quote some poetry?*
                                                                                  
                                                                                  The boy stood on the burning deck
                                                                                  
                                                                                  Oft in the stilly night
                                                                                  
                                                                                  Lars Porsena of Clusium, by the nine gods he swore
                                                                                  

                                                                                  with the column label as the heading and each column's non-blank responses listed one after the other, separated by a blank line.

                                                                                  The closest I've come so far is:

                                                                                  comlong<-pivot_longer(comments, everything(),
                                                                                                       names_to="question",
                                                                                                       values_to="response") %>%
                                                                                    arrange(question) %>% 
                                                                                    filter(response!="")
                                                                                  

                                                                                  but while that gets all the responses in one column, it needs a bit of editing to get it into the desired format above, which is non-trivial on more extensive data.

                                                                                  Final result:

                                                                                  Akrun's additional summarise line is, I think, the most elegant. Tweaking that gives output very similar to SPSS:

                                                                                  comments %>%
                                                                                    summarise(across(everything(), ~ c(paste0(sprintf('**%s**', cur_column()), "\n\n", sprintf('*%s*', var_label(.))), .))) %>%
                                                                                    pivot_longer(cols = everything(), 
                                                                                                 names_to = 'question', 
                                                                                                 values_to = 'response') %>% 
                                                                                    arrange(question) %>% 
                                                                                    filter(response != '') %>% 
                                                                                    select(response) %>% 
                                                                                    write.table("comments.md",quote=FALSE, eol="\n\n", row.names=FALSE, col.names=FALSE)
                                                                                  

                                                                                  This inserts the column name as well as the label (because I found that sometimes the labels are not sufficiently descriptive), and outputs it as a markdown file, which can be ingested for thematic coding in (eg) Qualcoder. Running:

                                                                                  pandoc comments.md -o comments.odt
                                                                                  

                                                                                  will also produce word-processor output if you need it.

                                                                                  ANSWER

                                                                                  Answered 2021-Sep-05 at 15:09

                                                                                  We could use summarise with across first to extract the var_label and append by concatenating, then use pivot_longer

                                                                                  library(labelled)
                                                                                  library(dplyr)
                                                                                  library(tidyr)
                                                                                  comments %>% 
                                                                                      summarise(across(everything(), ~ c(var_label(.), .))) %>% 
                                                                                      pivot_longer(cols = everything(), names_to = 'question', 
                                                                                          values_to = 'response') %>% 
                                                                                      arrange(question) %>% 
                                                                                      filter(response != '')
                                                                                  

                                                                                  -output

                                                                                  # A tibble: 9 x 2
                                                                                    question response                                          
                                                                                                                                     
                                                                                  1 shakey   Can you quote some Shakespeare?                   
                                                                                  2 shakey   To be or not to be                                
                                                                                  3 shakey   Alas poor Yorick                                  
                                                                                  4 shakey   Is this a dagger that I see before me?            
                                                                                  5 shakey   A rose by any other name                          
                                                                                  6 versey   Can you quote some poetry?                        
                                                                                  7 versey   The boy stood on the burning deck                 
                                                                                  8 versey   Oft in the stilly night                           
                                                                                  9 versey   Lars Porsena of Clusium, by the nine gods he swore
                                                                                  

                                                                                  or if we are first reshapeing first, there is an option as well i.e. do a group by 'question' and subset the first value of 'question' to extract the var_label from the original data and concatenate

                                                                                  pivot_longer(comments, everything(),
                                                                                                       names_to="question",
                                                                                                       values_to="response") %>%
                                                                                    arrange(question) %>% 
                                                                                    filter(response!="") %>% 
                                                                                    group_by(question) %>% 
                                                                                    summarise(response = c(var_label(comments[[first(question)]]), 
                                                                                       response), .groups = 'drop')
                                                                                  

                                                                                  -output

                                                                                  # A tibble: 9 x 2
                                                                                    question response                                          
                                                                                                                                     
                                                                                  1 shakey   Can you quote some Shakespeare?                   
                                                                                  2 shakey   To be or not to be                                
                                                                                  3 shakey   Alas poor Yorick                                  
                                                                                  4 shakey   Is this a dagger that I see before me?            
                                                                                  5 shakey   A rose by any other name                          
                                                                                  6 versey   Can you quote some poetry?                        
                                                                                  7 versey   The boy stood on the burning deck                 
                                                                                  8 versey   Oft in the stilly night                           
                                                                                  9 versey   Lars Porsena of Clusium, by the nine gods he swore
                                                                                  

                                                                                  Source https://stackoverflow.com/questions/69058628

                                                                                  Community Discussions, Code Snippets contain sources that include Stack Exchange Network

                                                                                  Vulnerabilities

                                                                                  No vulnerabilities reported

                                                                                  Install QualCoder

                                                                                  You can download it from GitHub.
                                                                                  You can use QualCoder like any standard Python library. You will need to make sure that you have a development environment consisting of a Python distribution including header files, a compiler, pip, and git installed. Make sure that your pip, setuptools, and wheel are up to date. When using pip it is generally recommended to install packages in a virtual environment to avoid changes to the system.

                                                                                  Support

                                                                                  For any new features, suggestions and bugs create an issue on GitHub. If you have any questions check and ask questions on community page Stack Overflow .
                                                                                  Find more information at:
                                                                                  Find, review, and download reusable Libraries, Code Snippets, Cloud APIs from over 650 million Knowledge Items
                                                                                  Find more libraries
                                                                                  Explore Kits - Develop, implement, customize Projects, Custom Functions and Applications with kandi kits​
                                                                                  Save this library and start creating your kit
                                                                                  CLONE
                                                                                • HTTPS

                                                                                  https://github.com/ccbogel/QualCoder.git

                                                                                • CLI

                                                                                  gh repo clone ccbogel/QualCoder

                                                                                • sshUrl

                                                                                  git@github.com:ccbogel/QualCoder.git

                                                                                • Share this Page

                                                                                  share link

                                                                                  Reuse Pre-built Kits with QualCoder

                                                                                  Consider Popular Machine Learning Libraries

                                                                                  tensorflow

                                                                                  by tensorflow

                                                                                  youtube-dl

                                                                                  by ytdl-org

                                                                                  models

                                                                                  by tensorflow

                                                                                  pytorch

                                                                                  by pytorch

                                                                                  keras

                                                                                  by keras-team

                                                                                  Compare Machine Learning Libraries with Highest Support

                                                                                  youtube-dl

                                                                                  by ytdl-org

                                                                                  scikit-learn

                                                                                  by scikit-learn

                                                                                  models

                                                                                  by tensorflow

                                                                                  tensorflow

                                                                                  by tensorflow

                                                                                  keras

                                                                                  by keras-team

                                                                                  Find, review, and download reusable Libraries, Code Snippets, Cloud APIs from over 650 million Knowledge Items
                                                                                  Find more libraries
                                                                                  Explore Kits - Develop, implement, customize Projects, Custom Functions and Applications with kandi kits​
                                                                                  Save this library and start creating your kit