Giter Club home page Giter Club logo

c3w4's Introduction

Analysis for UCI smartphones data set

This repository contains R code to analyze UCI smartphones data set.

Processing steps

  1. Merges the training and the test sets to create one data set.
# read test  & train X data with column names and add activity col
trainX <- read.csv(file.path(getwd(), "UCI HAR Dataset/train/X_train.txt"), 
                  sep="", 
                  header = FALSE)  

testX <- read.csv(file.path(getwd(), "UCI HAR Dataset/test/X_test.txt"), 
                  sep="", 
                  header = FALSE)
                

# Merges the training and the test sets to create one data set.
mergedX <- rbind(trainX, testX)
  1. Extracts only the measurements on the mean and standard deviation for each measurement.
# extract features names from file
features <- 
    readLines(file.path(getwd(), "UCI HAR Dataset/features.txt")) %>%
    lapply(function(x) strsplit(x, split=" ")[[1]][[2]]) %>%
    unlist

# extract only mean / std measurements
extractedX <- mergedX[, grep("-(std|mean)\\(\\)", features)]
  1. Uses descriptive activity names to name the activities in the data set
# extract activity factors from file
activities <-  
    readLines(file.path(getwd(), "UCI HAR Dataset/activity_labels.txt")) %>%
    lapply(function(x) strsplit(x, split=" ")[[1]][[2]]) %>%
    unlist %>%
    factor
    
# parse activity labels as factors
trainY <- readLines(file.path(getwd(), "UCI HAR Dataset/train/y_train.txt")) 
testY <- readLines(file.path(getwd(), "UCI HAR Dataset/test/y_test.txt")) 
mergedY <- c(trainY, testY) %>% sapply(function(x) activities[as.numeric(x)])
    
  1. Appropriately labels the data set with descriptive variable names.
names(extractedX) <- features[grep("-(std|mean)\\(\\)", features)]
  1. From the data set in step 4, creates a second, independent tidy data set with the average of each variable for each activity and each subject.
extractedX  %>% 
    mutate(activity=mergedY, subject=mergedSub, .before="tBodyAcc-mean()-X") %>%
    group_by(activity, subject) %>%
    summarise_all(mean) %>%
    write.table(file.path(getwd(), "analysis-output.txt"), row.name = FALSE)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.