aboutsummaryrefslogtreecommitdiff
path: root/R/drdata.R
diff options
context:
space:
mode:
Diffstat (limited to 'R/drdata.R')
-rw-r--r--R/drdata.R39
1 files changed, 39 insertions, 0 deletions
diff --git a/R/drdata.R b/R/drdata.R
new file mode 100644
index 0000000..9da7d96
--- /dev/null
+++ b/R/drdata.R
@@ -0,0 +1,39 @@
+drdata <- function(substances, experimentator = "%", db = "cytotox",
+ celltype="IPC-81",enzymetype="AChE",
+ organism="Vibrio fischeri",endpoint="Luminescence",whereClause="1",
+ ok="'ok','no fit'")
+{
+ library(RODBC)
+ channel <- odbcConnect(db,uid="cytotox",pwd="cytotox",case="tolower")
+ slist <- paste(substances,collapse="','")
+ if (db == "cytotox") {
+ responsetype <- "viability"
+ testtype <- "celltype"
+ type <- celltype
+ } else {
+ if (db == "enzymes") {
+ responsetype <- "activity"
+ testtype <- "enzyme"
+ type <- enzymetype
+ } else {
+ responsetype <- "response"
+ testtype <- "organism"
+ type <- organism
+ }
+ }
+
+ query <- paste("SELECT conc,",responsetype,",unit,experimentator,substance,",testtype,
+ ",ok FROM ", db, " WHERE substance IN ('",
+ slist,"') AND experimentator LIKE '",
+ experimentator,"' AND ",testtype," LIKE '",
+ type,"' AND ",
+ whereClause," AND ok in (",
+ ok,")",sep="")
+ if (db == "ecotox") query <- paste(query," AND type LIKE '",endpoint,"'",sep="")
+ data <- sqlQuery(channel,query)
+ odbcClose(channel)
+ names(data)[[1]] <- "dose"
+ names(data)[[2]] <- "response"
+ data$substance <- factor(data$substance,levels=substances)
+ return(data)
+}

Contact - Imprint