[R-sig-DB] crash with RMySQL
christophe dutang
dut@ngc @end|ng |rom gm@||@com
Sun Apr 5 12:47:55 CEST 2009
Dear all,
I'm using R 2.8.1 with MySQL 5.1.33, RMySQL 0.7-3 (built against MySQL 5.1.3
version), DBI 0.2-4 on windows XP.
I'm trying to do a basic SQL statement
SELECT AVG(mycolumnA), COUNT(mycolumnA), mycolumnB FROM mytable GROUP BY
mycolumnB;
directly from R using DBI functions. But it just crashes R with no explicit
reason. If I do manually this statement in MySQL (exactly
SELECT AVG(mycolumnA), COUNT(mycolumnA), mycolumnB FROM mydb.mytable GROUP
BY mycolumnB; ), it works and produces the following output :
+----------------+------------------+-----------+
| avg(mycolumnA) | count(mycolumnA) | mycolumnB |
+----------------+------------------+-----------+
| 0.5262 | 669 | 1 |
| 0.2242 | 455 | 2 |
| 0.3347 | 505 | 3 |
| 0.2416 | 389 | 4 |
| 0.5857 | 1038 | 5 |
| 0.3250 | 523 | 6 |
| 0.1935 | 310 | 7 |
| 0.3574 | 333 | 8 |
| 0.4132 | 167 | 9 |
| 0.3529 | 136 | 10 |
| 0.4043 | 282 | 11 |
| 0.0000 | 2 | 12 |
+----------------+------------------+-----------+
12 rows in set (0.03 sec)
I have a reproductible example (this time). See the R file and the csv file.
Originally I worked with R 2.7.2 version and MySQL 5.0.67, RMySQL 0.6-1, DBI
0.2-4, and got the same crash.
Does anyone idea of what I'm doing wrong? or encounter similar problems?
Thanks in advance
Christophe
PS : I copy/paste my files, in the case attachments are not permitted.
---------------------------------------------------------------- mycode.R
library(RODBC)
library(DBI)
library(RMySQL)
library(MASS)
options("max.print"=1000)
options(show.error.messages = TRUE)
checkMySQLreservedname <- function(name2check)
{
# reserved name by MySQL cf.
http://dev.mysql.com/doc/mysqld-version-reference/en/mysqld-version-reference-reservedwords-5-1.html
thelist <- c("ACCESSIBLE","ADD","ALL", "ALTER","ANALYZE","AND",
"AS","ASC","ASENSITIVE",
"BEFORE","BETWEEN","BIGINT", "BINARY","BLOB","BOTH",
"BY","CALL","CASCADE",
"CASE","CHANGE","CHAR", "CHARACTER","CHECK","COLLATE",
"COLUMN","CONDITION","CONNECTION",
"CONSTRAINT","CONTINUE","CONVERT",
"CREATE","CROSS","CURRENT_DATE",
"CURRENT_TIME","CURRENT_TIMESTAMP","CURRENT_USER",
"CURSOR","DATABASE","DATABASES",
"DAY_HOUR","DAY_MICROSECOND","DAY_MINUTE", "DAY_SECOND","DEC","DECIMAL",
"DECLARE","DEFAULT","DELAYED", "DELETE","DESC","DESCRIBE",
"DETERMINISTIC","DISTINCT","DISTINCTROW",
"DIV","DOUBLE","DROP", "DUAL","EACH","ELSE",
"ELSEIF","ENCLOSED","ESCAPED",
"EXISTS","EXIT","EXPLAIN", "FALSE","FETCH","FLOAT",
"FLOAT4","FLOAT8","FOR",
"FORCE","FOREIGN","FROM", "FULLTEXT","GOTO","GRANT",
"GROUP","HAVING","HIGH_PRIORITY",
"HOUR_MICROSECOND","HOUR_MINUTE","HOUR_SECOND",
"IF","IGNORE","IN", "INDEX","INFILE","INNER",
"INOUT","INSENSITIVE","INSERT", "INT","INT1","INT2",
"INT3","INT4","INT8",
"INTEGER","INTERVAL","INTO", "IS","ITERATE","JOIN",
"KEY","KEYS","KILL",
"LABEL","LEADING","LEAVE", "LEFT","LIKE","LIMIT",
"LINEAR","LINES","LOAD",
"LOCALTIME","LOCALTIMESTAMP","LOCK", "LONG","LONGBLOB","LONGTEXT",
"LOOP","LOW_PRIORITY","MASTER_SSL_VERIFY_SERVER_CERT",
"MATCH","MEDIUMBLOB","MEDIUMINT",
"MEDIUMTEXT","MIDDLEINT","MINUTE_MICROSECOND",
"MINUTE_SECOND","MOD","MODIFIES",
"NATURAL","NOT","NO_WRITE_TO_BINLOG", "NULL","NUMERIC","ON",
"OPTIMIZE","OPTION","OPTIONALLY",
"OR","ORDER","OUT", "OUTER","OUTFILE","PRECISION",
"PRIMARY","PROCEDURE","PURGE",
"RANGE","READ","READS", "READ_ONLY","READ_WRITE","REAL",
"REFERENCES","REGEXP","RELEASE",
"RENAME","REPEAT","REPLACE", "REQUIRE","RESTRICT","RETURN",
"REVOKE","RIGHT","RLIKE",
"SCHEMA","SCHEMAS","SECOND_MICROSECOND",
"SELECT","SENSITIVE","SEPARATOR", "SET","SHOW","SMALLINT",
"SPATIAL","SPECIFIC","SQL",
"SQLEXCEPTION","SQLSTATE","SQLWARNING",
"SQL_BIG_RESULT","SQL_CALC_FOUND_ROWS","SQL_SMALL_RESULT",
"SSL","STARTING","STRAIGHT_JOIN", "TABLE","TERMINATED","THEN",
"TINYBLOB","TINYINT","TINYTEXT",
"TO","TRAILING","TRIGGER", "TRUE","UNDO","UNION",
"UNIQUE","UNLOCK","UNSIGNED",
"UPDATE","UPGRADE","USAGE", "USE","USING","UTC_DATE",
"UTC_TIME","UTC_TIMESTAMP","VALUES",
"VARBINARY","VARCHAR","VARCHARACTER", "VARYING","WHEN","WHERE",
"WHILE","WITH","WRITE",
"XOR","YEAR_MONTH","ZEROFILL")
name2change <- name2check %in% thelist | name2check %in%
tolower(thelist)
name2change <- name2check[name2change]
if(length(name2change) == 0)
{
return(NULL)
}else
return(name2change)
}
changeName <- function(name)
{
result <- sapply(name, FUN = function(x) paste("my__", x, sep=""))
result
}
#-------------------------------------------------------
MyDirectory <- "C:/Documents and Settings/chris/Bureau/essai"
mytablename <- "mytable"
dbname <- "mydb"
print.log <- TRUE
csvtype <- ";"
#-------------------------------------------------------
drv <- dbDriver("MySQL")
if(print.log) print(summary(drv))
con <- dbConnect(drv)
if(print.log) print(summary(con))
dbSendQuery(con, paste("CREATE DATABASE IF NOT EXISTS ", dbname))
con <- dbConnect(drv, dbname=dbname) #as anonymous
if(print.log) print(summary(con))
if(!is.character(mytablename))
stop("internal error wrong table name")
if(dbExistsTable(con, mytablename))
dbRemoveTable(con, mytablename)
dbefore <- getwd()
setwd(MyDirectory)
lfile <- list.files()
lfile <- lfile[grep(".csv",lfile)]
resExport <- matrix("",length(lfile),4)
colnames(resExport) <- c("input file name", "nb row imported","nb column
imported", "var name changed")
exporttoDB <- function(file, table, toappend, endofline="\r\n")
{
#dimension checking
if(csvtype == ",")
{ firstrow <- read.csv(file, nrows=1)
}else if(csvtype == ";")
{ firstrow <- read.csv2(file, nrows=1)
}else
{ stop("wrong csv value separator, neither comma nor semi colon")
}
zecolname <- colnames(firstrow)
nbcolumn <- length(zecolname)
if(nbcolumn > 1)
{ mask <- c(NA, rep("NULL",nbcolumn-1))
}else
{ mask <- NA
}
if(csvtype == ",")
{ firstcolumn <- read.csv(file, colClasses=mask)
}else if(csvtype == ";")
{ firstcolumn <- read.csv2(file, colClasses=mask)
}else
{ stop("wrong csv value separator, neither comma nor semi colon")
}
nbrow <- NROW(firstcolumn)
need2Change <- checkMySQLreservedname(zecolname)
if(!is.null(need2Change))
{
newname <- changeName(need2Change)
zecolname[zecolname %in% need2Change] <- newname
}else
{
newname <- ""
}
if(print.log) print("dimension")
if(print.log) print(nbrow)
if(print.log) print(nbcolumn)
# can be loaded directly into R
if(nbrow*nbcolumn <= 10*10^6)
{
if(csvtype == ",")
{ data <- read.csv(file)
}else if(csvtype == ";")
{ data <- read.csv2(file)
}else
{ stop("wrong csv value separator, neither comma nor semi colon")
}
print(head(data))
colnames(data) <- zecolname
dbWriteTable(con, table, data, append=toappend, eol=endofline)
nbrowread <- NROW(data)
}else
{
# must be splitted
nbpart <- ceiling(nbrow*nbcolumn/(10*10^6))
nbrow2read <- ceiling(nbrow/nbpart)
if(csvtype == ",")
{ data <- read.csv(file, nrows=nbrow2read-1, skip=0,
header=TRUE)
}else if(csvtype == ";")
{ data <- read.csv2(file, nrows=nbrow2read-1, skip=0,
header=TRUE)
}else
{ stop("wrong csv value separator, neither comma nor semi colon")
}
colnames(data) <- zecolname
dbWriteTable(con, table, data, append=toappend, eol=endofline)
nbrowread <- NROW(data)
for(i in 2:nbpart)
{
if(csvtype == ",")
{ data <- read.csv(file, nrows=nbrow2read,
skip=(i-1)*nbrow2read, header=FALSE)
}else if(csvtype == ";")
{ data <- read.csv2(file, nrows=nbrow2read,
skip=(i-1)*nbrow2read, header=FALSE)
}else
{ stop("wrong csv value separator, neither comma nor semi
colon")
}
colnames(data) <- zecolname
dbWriteTable(con, table, data, append=TRUE, eol=endofline)
nbrowread <- nbrowread + NROW(data)
}
}
c(nbrowread, nbcolumn, newname)
}
tryexport <- function(...)
{
as.character(try(exporttoDB(...)))
#!(is.character(try(exporttoDB(...))))
}
for (i in 1:length(lfile))
{
resExport[i,1] <- lfile[i]
cat(lfile[i],"\n")
resExport[i,2:4] <- tryexport(lfile[i], mytablename, ifelse(i==1, FALSE,
TRUE))
}
setwd(dbefore)
if(print.log)
{
cat("check database\n")
print(dbListFields(con, mytablename))
print(dbListTables(con))
print(resExport)
}
sumdrv <- NULL
test.try <- try(sumdrv <- summary(drv))
if( !any(class(test.try) == "try-error" ))
{
test.try <- try(all_cons <- dbListConnections(drv))
if( any(class(test.try) == "try-error" ))
traceback()
if(length(all_cons) > 0)
{
for(i in 1:length(all_cons))
{
test.try <- try(all_res <- dbListResults(all_cons[[i]]))
if(length(all_res) > 0)
{
for(j in 1:length(all_res))
test.try <- try( dbClearResult(all_res[[j]]) )
}
test.try <- try( dbDisconnect(all_cons[[i]]) )
}
}
test.try <- try( dbUnloadDriver(drv) )
}
#-------------------------------------------------------
dodescriptive <- TRUE
dbname <- "mydb"
tablenametodescribe <- "mytable"
desciptvar <- "mycolumnA"
whereSQLcondition3 <- ""
groupbySQLvar <- "mycolumnB"
havingSQLcondition3 <- ""
print.log <- TRUE
#-------------------------------------------------------
# launch scripts
#open DBI connections
beginopen <- proc.time()[3]
if(dodescriptive )
{
drv <- dbDriver("MySQL")
if(print.log) print(summary(drv))
print("---")
con <- dbConnect(drv, dbname=dbname) #as anonymous
if(print.log) print(summary(con))
print("---")
}
endopen <- proc.time()[3]
#compute MCA
begindescribe <- proc.time()[3]
if(dodescriptive )
{
interestvar <- paste("AVG(",desciptvar,"), COUNT(",desciptvar, "),
",groupbySQLvar, sep="")
SQLDescribe <- paste("SELECT ", interestvar ,"FROM", tablenametodescribe,
sep=" ")
if(nchar(whereSQLcondition3) != 0)
{
SQLDescribe<- paste(SQLDescribe, "WHERE", whereSQLcondition3, sep=" ")
}
if(nchar(groupbySQLvar) != 0)
{
SQLDescribe <- paste(SQLDescribe, "GROUP BY", groupbySQLvar, sep=" ")
}
if(nchar(havingSQLcondition3) != 0)
{
SQLDescribe <- paste(SQLDescribe, "HAVING", havingSQLcondition3, sep="
")
}
print(SQLDescribe )
#get info on the database
options(show.error.messages = FALSE)
test.try <- try(resSQL <- dbSendQuery(con, SQLDescribe))
if(class(test.try) == "try-error")
{
print("------ traceback")
traceback()
print("------ message")
print(test.try[1])
stop("SQL query failed.")
}
print("---")
print(summary(con))
print("--->>>>")
print(resSQL)
print(summary(resSQL))
print("<<<<---")
options(show.error.messages = TRUE)
#if(print.log) print(summary(resSQL))
#
#resfetched <- fetch(resSQL, n=-1)
#print(summary(resfetched))
#
#datadescribe <- data.frame(resfetched, stringsAsFactors=TRUE)
#
#if(print.log) print(whatis(datadescribe))
#
#
#
}
enddescribe <- proc.time()[3]
#close DBI connections
beginclose <- proc.time()[3]
if(dodescriptive )
{
options(show.error.messages = FALSE)
sumdrv <- NULL
test.try <- try(sumdrv <- summary(drv))
if( !any(class(test.try) == "try-error" ))
{
test.try <- try(all_cons <- dbListConnections(drv))
if( any(class(test.try) == "try-error" ))
traceback()
if(length(all_cons) > 0)
{
for(i in 1:length(all_cons))
{
test.try <- try(all_res <- dbListResults(all_cons[[i]]))
if(length(all_res) > 0)
{
for(j in 1:length(all_res))
test.try <- try( dbClearResult(all_res[[j]]) )
}
test.try <- try( dbDisconnect(all_cons[[i]]) )
}
}
test.try <- try( dbUnloadDriver(drv) )
}
options(show.error.messages = TRUE)
}
if(print.log) cat("database closing done\n")
endclose <- proc.time()[3]
timeopen <- significativeNumbers(4)(endopen-beginopen)
timedescribe <- significativeNumbers(4)(enddescribe - begindescribe)
timeclose <- significativeNumbers(4)(endclose-beginclose)
time <- timeopen +begindescribe +timeclose
---------------------------------------------------------------- essai.csv
mycolumnA;mycolumnB
1;7
1;11
1;10
1;11
1;11
1;11
1;11
1;11
1;9
1;11
1;6
1;6
1;6
1;6
1;6
1;6
1;6
1;6
1;6
1;6
1;6
1;11
1;11
1;10
1;11
1;5
1;11
1;11
1;5
1;5
1;5
1;5
1;5
1;5
1;5
1;5
1;5
1;5
1;5
1;5
1;5
1;5
1;11
1;4
1;4
1;4
1;4
1;4
1;4
1;4
1;4
1;4
1;4
1;10
1;5
1;11
1;4
1;8
1;8
1;8
1;8
1;8
1;8
1;8
1;8
1;9
1;4
1;10
1;10
1;8
1;8
1;8
1;8
1;10
1;10
1;7
1;5
1;10
1;10
1;8
1;3
1;8
1;8
1;11
1;10
1;10
1;8
1;11
1;10
1;9
1;11
1;9
1;11
1;11
1;9
1;9
1;2
1;9
1;9
1;11
1;11
1;11
1;6
1;11
1;9
1;9
1;7
1;4
1;10
1;10
1;8
1;11
1;2
1;9
1;9
1;11
1;9
1;9
1;11
1;7
1;11
1;11
1;8
1;11
1;8
1;7
1;8
1;11
1;9
1;11
1;1
1;11
1;11
1;7
1;11
1;10
1;10
0;8
0;10
0;6
1;10
0;10
1;10
0;10
1;10
0;10
1;10
0;10
1;10
0;10
1;10
1;10
0;10
1;10
0;10
1;10
0;10
1;10
0;10
1;10
1;10
0;10
0;10
1;10
0;10
1;10
0;8
0;8
0;7
0;7
0;7
0;6
0;6
0;6
0;10
0;10
0;5
0;5
0;5
0;5
0;5
0;5
1;5
1;5
0;5
1;5
1;5
1;5
0;5
1;5
1;5
0;5
0;4
0;4
0;4
0;4
0;4
0;4
0;4
0;4
0;3
0;3
0;3
0;3
0;2
0;2
0;2
0;2
0;9
0;9
0;10
0;10
0;1
0;1
0;1
0;1
0;1
0;1
0;1
0;1
0;5
1;10
1;7
1;7
1;7
1;7
1;7
1;6
1;6
1;6
1;6
1;6
1;6
1;6
1;6
1;6
1;6
0;11
1;8
1;4
1;4
1;4
1;4
0;11
1;11
1;11
1;8
0;8
0;8
0;8
0;8
0;8
0;8
0;8
0;8
0;8
0;8
0;8
0;8
0;8
0;8
0;8
0;8
0;8
0;8
0;8
0;8
0;8
0;8
0;8
1;8
1;8
1;8
0;8
0;8
0;8
0;8
0;8
0;8
0;8
0;8
0;8
0;8
0;8
0;8
0;8
0;8
0;8
1;8
1;8
1;8
1;8
1;8
1;8
1;8
0;8
0;8
0;8
0;8
0;8
0;8
0;8
0;7
0;7
0;7
0;7
0;7
0;7
0;7
0;7
0;7
0;7
0;7
0;7
0;6
0;6
0;6
0;6
0;6
0;6
0;6
0;6
0;6
0;6
0;6
0;6
0;6
0;6
0;6
0;6
0;5
0;5
0;5
0;5
0;5
0;5
0;5
0;5
1;5
0;5
0;5
0;5
0;5
0;5
0;8
0;8
0;8
0;8
0;8
0;8
0;4
0;6
0;4
0;8
0;4
0;4
0;3
0;3
0;3
0;3
0;3
0;3
0;3
0;3
0;8
0;8
0;2
0;2
0;2
0;2
0;2
0;2
0;2
0;8
0;7
0;8
0;6
0;1
0;1
0;1
0;1
0;1
0;1
0;1
0;1
0;1
0;1
0;1
0;1
0;1
0;1
0;1
0;1
0;1
0;1
0;1
0;1
0;1
0;1
0;1
0;1
1;9
0;11
0;11
0;5
0;11
0;11
0;11
0;11
0;11
0;11
0;11
1;11
0;11
0;10
1;5
0;2
0;2
1;3
0;12
0;12
1;3
1;3
1;3
1;2
1;2
1;2
0;7
0;7
0;6
0;6
0;6
0;6
0;6
0;6
0;6
0;6
0;6
0;6
0;6
0;6
0;6
0;6
0;6
0;6
0;6
0;6
0;6
0;6
0;6
0;6
0;6
0;6
0;6
0;6
0;6
0;6
0;6
0;6
0;6
0;6
0;6
0;6
0;6
0;6
0;6
0;6
0;6
0;6
0;6
0;6
0;6
0;6
0;6
0;6
0;6
0;6
0;6
0;6
0;6
0;6
0;6
0;6
0;6
0;6
0;6
0;6
0;6
0;6
0;6
0;6
0;6
0;6
0;6
0;6
0;6
0;6
0;6
1;6
1;6
1;6
0;6
0;6
1;6
1;6
0;6
1;6
0;6
1;6
0;6
0;6
0;6
0;6
1;6
0;6
0;6
1;6
1;6
0;6
0;6
1;6
0;6
1;6
0;6
1;6
1;6
1;6
0;6
0;6
1;6
0;6
1;6
1;6
1;6
0;6
0;6
1;6
1;6
1;6
1;6
0;6
1;6
0;6
1;6
1;6
1;6
0;6
0;6
1;6
0;6
0;6
1;6
1;6
1;6
0;6
1;6
0;6
0;6
1;6
1;6
1;6
1;6
1;6
1;6
1;6
1;6
1;6
1;6
1;6
1;6
1;6
1;6
1;6
1;6
1;6
1;6
1;6
1;6
1;6
1;6
1;6
1;6
1;6
1;6
1;6
1;6
1;6
1;6
1;6
1;6
1;6
1;6
1;6
1;6
1;6
1;6
1;6
1;6
1;6
1;6
1;6
1;6
1;6
1;6
1;6
1;6
1;6
1;6
1;6
1;6
1;6
1;6
1;6
1;6
1;6
1;6
1;6
1;6
1;6
1;6
1;6
1;6
1;6
1;6
1;6
0;6
1;6
1;6
1;6
0;6
0;6
1;6
1;6
1;6
0;6
1;6
1;6
1;6
1;6
1;6
1;6
1;6
1;8
0;8
1;8
0;8
1;8
1;8
1;8
1;8
1;7
0;8
0;7
0;9
1;7
1;7
1;7
1;11
1;11
1;11
1;11
1;8
1;8
1;8
1;8
1;8
1;8
1;8
1;8
0;5
0;5
0;5
0;5
0;5
0;5
0;5
0;5
0;5
0;10
0;9
0;9
0;6
0;7
0;7
0;7
0;7
0;5
0;7
0;7
0;7
0;7
0;7
0;7
0;7
0;7
0;7
0;7
0;11
0;8
0;8
0;8
0;8
0;10
0;6
0;5
0;5
0;5
0;5
0;5
0;5
0;5
0;5
0;5
0;5
0;5
0;5
0;5
0;5
0;5
0;5
0;5
0;5
0;5
0;5
0;5
0;5
0;8
0;11
0;8
0;8
0;9
0;5
0;5
0;5
0;5
0;5
0;5
1;5
0;5
0;5
0;5
0;5
0;5
0;5
0;5
0;5
0;5
0;5
0;5
0;5
0;5
0;5
0;5
0;5
0;5
0;5
0;5
0;5
0;5
0;5
0;5
0;5
0;4
0;4
0;4
0;4
0;4
0;4
0;4
0;4
0;4
0;4
0;4
0;4
0;4
0;4
0;4
0;4
0;4
0;4
0;4
0;4
0;4
0;4
0;4
0;4
0;4
0;4
0;4
0;4
0;4
0;4
0;4
0;4
0;4
0;4
0;4
0;4
0;4
0;4
0;4
0;4
0;4
0;4
0;4
0;4
0;4
0;4
0;4
0;4
0;4
0;4
0;4
0;4
0;4
0;4
0;4
0;4
0;4
0;4
0;4
0;4
0;4
0;4
0;4
0;4
0;4
0;4
0;4
0;4
0;4
0;4
0;4
0;4
0;4
0;4
0;4
0;4
0;4
0;4
0;4
0;4
0;4
0;4
0;4
0;4
0;4
0;4
0;4
0;4
0;4
0;4
0;4
0;4
0;4
0;4
0;4
0;4
0;4
0;4
0;4
0;4
0;4
0;4
0;4
0;4
0;4
0;4
0;4
0;4
0;4
0;4
0;4
0;4
0;4
0;4
0;4
0;4
0;4
0;4
0;4
0;4
0;4
0;4
0;4
0;4
0;4
0;4
0;4
0;4
0;4
0;4
0;4
0;4
0;4
0;4
0;4
0;4
0;4
0;4
0;4
0;7
0;5
0;9
0;7
0;11
0;10
0;7
0;6
0;6
0;6
0;6
0;6
0;6
0;6
0;6
0;6
0;6
0;8
0;9
0;9
0;9
0;9
0;9
0;9
0;9
0;9
0;9
0;9
0;9
0;9
0;9
0;9
0;9
0;9
1;9
0;8
0;8
0;9
0;7
0;7
0;6
0;8
0;8
0;8
0;6
0;6
0;6
0;6
0;8
0;6
0;6
0;9
0;3
0;3
0;3
0;3
0;3
0;3
0;3
0;3
0;3
0;3
0;3
0;3
0;3
0;3
0;3
0;3
0;3
0;3
0;3
0;3
0;3
0;3
0;3
0;3
0;3
1;3
0;3
0;3
0;3
0;3
0;3
0;3
0;3
0;3
0;3
0;3
0;3
0;3
0;3
0;3
0;3
0;3
0;3
0;3
0;3
0;3
0;3
0;3
0;3
0;3
0;3
0;3
0;3
0;3
0;3
0;3
0;3
0;3
0;3
0;3
0;3
0;3
0;3
0;3
0;3
0;3
0;3
0;3
0;3
0;3
0;3
0;3
0;3
0;3
0;3
0;3
0;3
0;3
0;3
0;3
0;3
0;3
0;3
0;3
0;3
0;3
0;3
0;3
0;3
0;3
0;3
0;3
0;3
0;3
0;3
0;3
0;3
0;3
0;3
0;3
0;3
0;3
0;3
0;3
0;3
0;3
0;3
0;3
0;3
0;3
0;3
0;3
0;3
0;3
0;3
0;3
0;3
0;3
0;3
0;3
0;3
0;3
0;3
0;3
0;3
0;3
0;3
0;3
0;3
0;3
0;3
0;3
0;3
0;3
0;3
0;3
0;3
0;3
0;3
0;3
0;3
0;3
0;3
0;3
0;3
0;3
0;3
0;3
0;3
0;3
0;3
0;3
0;3
0;3
0;3
0;3
0;3
0;3
0;3
0;3
0;3
0;3
0;3
0;3
0;3
0;3
0;3
0;11
0;9
0;6
0;6
0;7
0;6
0;8
0;8
0;8
0;8
0;8
0;8
0;9
0;9
0;9
0;9
0;11
0;11
0;3
0;3
0;3
0;3
1;3
0;3
0;3
0;3
0;3
0;3
0;3
0;3
0;3
0;3
0;3
0;3
0;3
0;3
0;3
0;3
0;3
0;3
0;3
0;3
0;3
0;3
0;3
0;3
0;3
0;3
0;3
0;3
0;3
0;3
0;3
0;3
0;3
0;3
0;3
0;3
0;3
0;3
0;3
0;3
0;3
0;3
0;3
0;3
0;3
0;3
0;3
0;3
0;6
0;9
0;6
0;6
0;8
0;8
0;3
0;3
0;3
0;3
0;3
0;3
0;3
0;3
0;3
0;3
0;3
0;3
0;3
0;3
0;3
0;3
0;3
0;3
0;3
0;3
0;3
0;3
0;3
0;3
0;3
0;3
0;3
0;3
0;3
0;3
0;3
0;3
0;3
0;3
0;3
0;3
0;3
0;3
0;3
0;3
1;3
0;3
0;3
0;3
0;3
0;5
0;5
0;5
0;6
0;7
0;7
0;7
0;7
0;6
0;5
0;5
0;10
0;7
0;7
0;7
0;10
0;6
0;10
0;3
0;10
0;3
0;4
0;3
0;3
0;7
0;3
0;3
0;9
0;7
0;9
0;9
0;9
0;9
0;9
0;9
0;9
0;8
0;8
0;8
0;8
0;8
0;7
0;7
0;8
0;6
0;10
0;10
0;8
0;7
0;8
0;2
0;5
0;8
0;7
0;8
0;6
0;6
0;7
0;8
0;7
0;7
0;10
0;5
0;6
0;7
0;7
0;6
0;7
0;7
0;7
0;6
0;7
0;6
0;6
0;7
0;7
0;10
0;10
0;8
0;8
0;8
0;8
0;8
0;8
0;8
0;8
0;7
0;7
0;7
0;7
0;7
0;7
0;7
0;7
0;7
0;7
0;7
0;7
0;7
0;7
0;7
0;2
0;2
0;2
0;2
0;2
0;2
0;2
0;2
0;2
0;2
0;2
0;2
0;7
0;7
0;10
0;6
0;8
0;8
0;8
0;8
0;8
0;8
0;8
0;7
0;8
0;7
0;5
0;7
0;7
0;5
0;5
0;3
0;7
0;7
0;6
0;7
0;6
0;9
0;6
0;6
0;6
0;6
0;6
0;6
0;5
0;5
0;5
0;5
0;2
0;10
0;10
0;10
0;10
0;10
0;10
0;10
0;10
0;8
0;8
0;8
0;8
0;8
0;8
0;8
0;7
0;7
0;7
0;7
0;7
0;7
0;7
0;2
0;7
0;7
0;7
0;7
0;7
0;7
0;6
0;5
0;5
0;5
0;5
0;5
0;5
0;5
0;5
0;10
0;5
0;5
0;5
0;5
0;7
0;7
0;7
0;7
0;8
0;9
0;11
0;9
0;9
0;7
0;7
0;7
0;7
0;7
0;6
0;6
0;2
0;6
0;6
0;2
0;2
0;2
0;2
0;2
0;2
0;2
0;2
0;2
0;2
0;2
0;2
0;6
0;10
0;5
0;5
0;5
0;5
0;5
0;5
0;5
0;5
0;6
0;6
0;7
0;10
0;7
0;9
0;9
0;9
0;9
0;9
0;9
0;8
0;9
0;7
0;9
0;10
0;10
0;6
0;8
0;11
0;6
0;6
0;6
0;6
0;6
0;6
0;6
0;6
0;6
0;6
0;6
0;6
0;6
0;6
0;6
0;6
0;6
0;6
0;6
0;6
0;6
0;6
0;5
0;6
0;5
0;6
0;6
0;6
0;6
1;10
1;9
0;10
0;6
1;11
1;9
1;6
0;6
1;6
0;7
1;7
1;7
1;9
1;6
1;6
1;10
1;6
1;6
1;11
1;6
1;6
0;7
1;6
0;5
0;3
0;6
1;6
1;6
1;6
1;6
1;6
1;6
0;6
1;6
1;1
1;6
1;6
1;6
1;6
1;6
1;6
1;6
1;6
0;6
1;6
0;6
1;6
0;6
1;6
1;6
0;5
0;7
0;10
0;5
1;1
1;1
1;1
1;1
1;1
1;1
1;1
1;1
1;1
1;1
1;1
1;1
1;1
1;1
0;1
0;1
0;1
0;1
0;1
0;1
0;11
0;2
1;11
1;11
0;3
1;5
1;5
1;3
1;3
1;3
0;2
0;2
0;2
0;2
0;2
0;2
0;2
0;2
0;2
0;2
0;2
0;2
0;2
0;2
0;2
0;2
0;2
0;2
0;2
0;2
0;2
0;2
0;2
0;2
0;2
0;2
0;2
0;2
0;2
0;2
0;2
0;2
1;2
1;2
1;2
1;2
1;2
0;2
0;1
0;1
0;1
0;1
0;1
0;1
0;1
1;11
1;11
1;11
1;11
1;11
1;11
1;8
1;8
1;8
1;8
1;11
1;11
1;11
1;11
1;11
1;11
1;11
1;11
1;11
1;11
1;8
1;11
1;11
0;1
0;1
0;1
0;1
0;1
0;1
0;1
0;1
0;1
0;1
0;1
0;1
0;1
0;1
1;11
0;1
0;1
0;1
0;1
0;1
0;9
0;11
0;11
0;11
0;7
1;7
0;7
0;7
0;7
0;7
0;5
0;5
0;5
0;9
0;5
0;9
0;5
0;5
0;4
0;11
0;6
0;8
0;8
0;4
0;4
0;4
0;11
0;11
0;11
0;8
0;8
0;11
0;3
0;11
0;11
0;2
0;2
0;2
0;9
0;11
0;2
0;2
0;1
0;1
0;1
0;1
0;1
0;1
0;1
0;1
0;1
1;1
1;5
1;5
1;5
1;5
1;5
1;5
1;5
1;5
1;5
1;5
1;5
1;5
1;5
1;5
1;5
1;5
1;5
1;5
1;5
1;5
1;5
1;5
1;5
1;5
1;5
1;5
1;5
1;5
1;5
1;5
1;5
1;5
1;5
1;5
1;5
1;5
1;5
1;5
1;5
1;5
0;5
0;5
0;5
0;5
0;5
0;5
0;5
0;5
0;5
0;5
0;5
0;5
0;5
0;5
0;5
0;5
0;5
0;5
0;5
0;5
0;5
0;5
0;5
1;5
0;5
1;5
0;5
0;5
0;5
0;5
0;5
0;5
0;5
0;5
0;5
0;5
0;5
0;5
0;5
0;5
0;5
0;5
0;5
0;5
0;5
0;5
0;5
0;5
0;5
0;4
0;4
0;4
0;4
0;4
0;5
0;2
0;2
0;2
0;2
0;2
0;2
0;2
0;2
0;1
0;1
0;1
0;1
0;1
0;1
0;1
0;1
0;1
1;5
1;5
1;5
1;5
1;5
1;5
1;5
1;5
1;5
1;5
1;5
1;5
1;5
1;5
1;5
1;5
1;5
1;5
1;5
1;5
1;5
1;2
1;2
1;2
1;6
0;7
0;6
1;6
1;6
0;6
1;5
1;5
1;5
1;5
1;5
0;5
1;5
1;5
1;5
1;5
1;5
1;5
1;5
1;5
1;5
1;5
1;5
1;5
1;5
1;5
1;5
1;5
1;5
1;5
1;5
1;5
1;5
1;5
1;5
1;5
1;5
1;5
1;5
1;5
1;5
1;5
1;5
1;5
1;5
1;5
1;5
1;5
1;5
1;5
1;5
1;5
1;5
1;5
1;5
1;5
1;5
1;5
1;5
1;5
1;5
1;5
1;5
1;5
1;5
1;5
1;5
1;5
1;5
0;5
1;5
1;5
1;5
1;5
1;5
0;5
1;5
0;5
1;5
1;5
1;5
1;5
1;5
1;5
1;5
1;5
1;5
1;5
1;5
1;5
1;5
1;5
1;5
1;5
1;5
1;5
1;5
1;5
0;5
1;5
1;5
1;5
1;5
1;5
1;5
1;5
1;5
1;5
1;5
1;5
1;5
1;5
1;5
0;4
0;4
0;4
0;4
0;4
0;4
0;4
0;4
0;4
0;4
0;4
0;4
0;4
0;4
0;4
0;4
0;4
0;4
0;7
0;3
0;3
0;3
0;3
0;3
0;3
0;3
0;3
0;3
0;3
0;3
0;3
0;3
0;3
0;3
0;3
0;3
0;3
0;2
0;2
0;2
0;2
0;2
0;2
0;2
1;2
0;2
0;2
0;2
0;2
0;2
0;2
0;2
0;2
0;2
0;2
0;2
0;2
0;2
0;2
0;2
0;2
0;2
0;2
0;2
0;2
0;2
0;2
0;2
0;2
0;2
0;2
0;2
0;2
0;2
0;2
0;2
0;2
0;2
0;2
0;2
0;2
0;2
0;2
0;2
0;2
0;2
0;2
0;2
0;2
0;2
0;2
0;2
0;2
0;2
0;2
0;2
0;2
0;2
0;2
0;2
0;2
0;2
0;2
0;2
0;2
0;2
0;2
0;2
0;2
0;2
0;2
0;2
0;2
0;2
0;2
0;2
0;2
0;2
0;2
0;2
0;2
0;2
0;2
0;2
0;2
0;2
0;2
0;2
0;2
0;2
0;2
0;2
0;2
0;2
0;2
0;2
0;2
0;2
0;2
0;2
0;2
0;2
0;2
0;2
0;2
0;2
0;2
0;2
0;2
0;2
0;2
0;2
0;2
0;2
0;2
0;2
0;2
0;2
0;2
0;2
0;2
0;2
--
Christophe DUTANG
Ph. D. student at ISFA
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://stat.ethz.ch/pipermail/r-sig-db/attachments/20090405/90348b13/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: essai.csv
Type: application/octet-stream
Size: 10993 bytes
Desc: not available
URL: <https://stat.ethz.ch/pipermail/r-sig-db/attachments/20090405/90348b13/attachment.obj>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: mycode.R
Type: application/octet-stream
Size: 10628 bytes
Desc: not available
URL: <https://stat.ethz.ch/pipermail/r-sig-db/attachments/20090405/90348b13/attachment-0001.obj>
More information about the R-sig-DB
mailing list