Commit f7bb2d06 authored by O'Reilly Media, Inc's avatar O'Reilly Media, Inc
Browse files

Initial commit

parents
Loading
Loading
Loading
Loading

NMRpackage/DESCRIPTION

0 → 100755
+13 −0
Changes for NMRpackage/DESCRIPTION: 13 added lines, 0 removed lines.
Original line number Diff line number Diff line
Package: NMRpackage
Maintainer: John Verzani <jverzani@gmail.com>
License: GPL-3
Title: Functions for Naked Mole Rat analysis
Depends: zoo, ggplot2
Type: Package
LazyLoad: yes
Author: John Verzani
Description: Package containing function for naked mole rat data
Version: 1.0.1
Date: 2011-06-25
Collate: 'process.R' 'visualize.R'
Packaged: 2012-02-22 22:47:59 UTC; verzani

NMRpackage/NAMESPACE

0 → 100755
+4 −0
Changes for NMRpackage/NAMESPACE: 4 added lines, 0 removed lines.
Original line number Diff line number Diff line
export(readNMRData)
export(createZooObjects)
export(createStateMatrix)
export(nmrTsPlot)

NMRpackage/NEWS

0 → 100755
+13 −0
Changes for NMRpackage/NEWS: 13 added lines, 0 removed lines.
Original line number Diff line number Diff line
NEWS for NMR package

Changes for 1.0.1
-----------------

* added rtf data file 

Changes for 1.0
-------------------

* Added functions

* Added roxygen documentation
 No newline at end of file
+10 −0
Changes for NMRpackage/NMRpackage.Rproj: 10 added lines, 0 removed lines.
Original line number Diff line number Diff line
Version: 1.0

RestoreWorkspace: Default
SaveWorkspace: Default
AlwaysSaveHistory: Default

EnableCodeIndexing: Yes
UseSpacesForTab: Yes
NumSpacesForTab: 2
Encoding: UTF-8

NMRpackage/R/process.R

0 → 100755
+64 −0
Changes for NMRpackage/R/process.R: 64 added lines, 0 removed lines.
Original line number Diff line number Diff line
##' Function to read in nmr data from txt csv-like file
##' 
##' @param x file containing data
##' @return data frame with time component being of POSIXct class
##' @seealso \code{\link{createZooObjects}}, \code{\link{createStateMatrix}}
##' @export
##' @examples
##' ## f <- "~/NMRpackage/inst/sampledata/degas.txt"
##' f <- system.file("sampledata","degas.txt", package="NMRpackage")
##' a <- readNMRData(f)
##' b <- createZooObjects(a)
##' m <-  createStateMatrix(b)
##' nmrTsPlot(m[, 1:4])
readNMRData <- function (f) {
  x <- read.table(f, sep=";", comment.char="\\")
  x[5] <- NULL
  names(x) <- c("ID","date", "time","gate")
  x$datetime <- paste(x$date, x$time)
  x$time <- as.POSIXct(x$datetime, format="%m/%d/%Y %H:%M:%S")
  x
}

##' Create zoo objects per mole rat from data frame
##'
##' @param matrix produced by readNMRData
##' @param list of zoo objects, one for reach ID in data set
##' @export  
createZooObjects <- function (x) {
  
  l <- split(x, x$ID)
  
  lapply(l, function(i) {
      trimmed <- i[duplicated(i),]
      ## adjust times now 
      trimmed$time <- trimmed$time + (1:nrow(trimmed))/(1000*nrow(trimmed))
  
      ## now map gate to bubble. The gate are a crossing
      trimmed$bubble <- numeric(nrow(trimmed))
      trimmed$bubble[1] <- trimmed$gate[1]
      ## assume bubbles 1,2,3,4 gates 1,2,3 in gate, bubble, gate, bubble, gate
      for(row in 2:nrow(trimmed)) {
        trimmed$bubble[row] <- trimmed$gate[row] + 
          as.numeric(trimmed$gate[row] >= trimmed$bubble[row-1])
      }
      
      ## convert to zoo
      z <- zoo(trimmed$bubble, trimmed$time)
      z
  })

}

##' Create state matrix (one row per time holding bubble for each mole rat
##' 
##' @param x list of zoo objects from createZooObjects
##' @return a multivariate zoo object
##' @export
createStateMatrix <- function (x) {
  m <- do.call(merge, x)
  m <- na.locf(m, na.rm=FALSE)
  m
}
 
  
 No newline at end of file
Loading