apply2dfo: applies a function to a 'databel' object

Description Usage Arguments Value Author(s) Examples

View source: R/apply2dfo.R

Description

An iterator applying a user-defined function to an object of 'databel-class'.

Usage

1
2
apply2dfo(..., dfodata, anFUN = "lm", MAR = 2, procFUN,
  outclass = "matrix", outfile, type = "DOUBLE", transpose = TRUE)

Arguments

...

arguments passed to the anFUN

dfodata

'databel' object which is iterated over

anFUN

user-defined analysis function

MAR

which margin to iterate over (default = 2, usually these are 'columns' used to store SNP data)

procFUN

function to process the output and present that as a fixed-number-of-columns matrix or fixed-length vector. Can be missing if standard functions listed below are used. Pre-defined processors included are "process_lm_output" (can process functions "lm", "glm", "coxph") and "process_simple_output" (process output from "sum", "prod", "sum_not_NA" [no. non-missing obs], "sum_NA" [no. missing obs.])

outclass

output to ("matrix" or "databel")

outfile

if output class is "databel", the generated object is bound to the outfile

type

if output class is "databel", what data type to use for storage

transpose

whether to transpose the output

Value

A matrix (or 'databel'-matrix) containing results of applying the function

Author(s)

Yurii Aulchenko

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
a <- matrix(rnorm(50), 10, 5)
rownames(a) <- paste("id", 1:10, sep="")
colnames(a) <- paste("snp", 1:5, sep="")
b <- as(a, "databel")
apply(a, FUN="sum", MAR=2)
apply2dfo(SNP, dfodata=b, anFUN="sum")
tA <- apply2dfo(SNP, dfodata=b, anFUN="sum",
                outclass="databel", outfile="tmpA")
tA
as(tA, "matrix")
apply2dfo(SNP, dfodata=b, anFUN="sum", transpose=FALSE)
tB <- apply2dfo(SNP, dfodata=b, anFUN="sum", transpose=FALSE,
                outclass="databel", outfile="tmpB")
tB
as(tB, "matrix")

sex <- 1*(runif(10)>.5)
trait <- rnorm(10) + sex + as(b[, 2], "vector") +
         as(b[, 2], "vector") * sex * 5
apply2dfo(trait~SNP*sex, dfodata=b, anFUN="lm")
tC <- apply2dfo(trait ~ SNP * sex, dfodata=b, anFUN="lm",
                outclass="databel", outfile="tmpC")
tC
as(tC, "matrix")
apply2dfo(trait ~ SNP * sex, dfodata=b, anFUN="lm", transpose=FALSE)
tD <- apply2dfo(trait ~ SNP * sex, dfodata=b, anFUN="lm",
                transpose=FALSE, outclass="databel", outfile="tmpD")
tD
as(tD, "matrix")
rm(tA, tB, tC, tD)
gc()
unlink("tmp*")

DatABEL documentation built on May 30, 2017, 3:23 a.m.