[R] Convert to integers all entries of a table (for DESeq2)

arun smartpink111 at yahoo.com
Thu May 15 03:42:30 CEST 2014



Hi,

I remember I got the same error when I used:
 setAs("numeric", "NumerictoInteger", function(from) as.integer(from))
##Using the same dataset

datx1 <- read.table(text=a, header=TRUE, stringsAsFactors=FALSE, colClasses=c("character",rep("NumerictoInteger",11)))
#Error in methods::as(data[[i]], colClasses[i]) : 
#  no method or default for coercing “character” to “NumerictoInteger”

#Changing "numeric" to "character" gives me:
 setAs("character", "NumerictoInteger", function(from) as.integer(from))  ##though 
 datx1 <- read.table(text=a, header=TRUE, stringsAsFactors=FALSE, colClasses=c("character",rep("NumerictoInteger",11)))


 str(datx1)
'data.frame':    9 obs. of  12 variables:
 $ transcript_ID: chr  "c101054_g1_i2" "c96583_g1_i2" "c19380_g1_i1" "c102980_g1_i10" ...
 $ C3           : int  15 0 0 0 0 0 0 0 0
 $ C4           : int  231 10 9 0 6 29 0 2 0
 $ CRL_2APR10   : int  131 6 0 0 65 2 0 0 0
 $ CRL_1_15JUL11: int  218 8 1 0 0 0 54 1 0
 $ CRL_2_15JUL11: int  16 0 0 0 0 0 0 0 0
 $ C1           : int  0 0 0 0 0 0 1 0 0
 $ CRL_6OCT11c  : int  587 29 0 0 40 29 0 0 0
 $ CRL_3DEC11   : int  0 0 0 0 0 0 0 0 0
 $ CRL_13DEC11b : int  624 90 0 0 55 338 0 0 0
 $ LRV_A        : int  10 0 0 0 0 0 0 0 0
 $ LRV_B        : int  6 0 0 0 0 0 0 0 1


A.K.


On Wednesday, May 14, 2014 2:46 PM, Alicia R. Pérez-Porro <alicia.r.perezporro at gmail.com> wrote:

Sorry, I am pretty new using R.

Here is my code to read the table:

library("DESeq2")
setwd("~/Dropbox/TESIS/DGEA_2.0/Chapter_4_thesis/DE_analysis/DESeq2")
matrix = read.table (file.choose(), header=TRUE, row.names=1)

CeleDesign <- data.frame(
  row.names = colnames(matrix),
  condition = factor(c("SP", "SP", "EB", "EB")))
dds <- DESeqDataSetFromMatrix(countData = matrix,
                              colData = CeleDesign,
                              design = ~ condition)

By typing:

> setwd("~/Dropbox/TESIS/DGEA_2.0/Chapter_4_thesis/DE_analysis/DESeq2")
> setClass("NumerictoInteger")
> setAs("numeric", "NumerictoInteger", function(from) as.integer(from))
> matrix <- read.table(file.choose(), header=TRUE, , row.names=1, stringsAsFactors=FALSE,
+ colClasses=c("character",rep("NumerictoInteger",11)))
Error in methods::as(data[[i]], colClasses[i]) : 
  no method or default for coercing “character” to “NumerictoInteger”

My table has 12 columns and 138519 rows.
Any extra suggestion?

Thanks,
Alicia





--Alicia R. Pérez-Porro
PhD candidate

Giribet lab
Department of Organismic and Evolutionary Biology
MCZ labs
Harvard University
26 Oxford St, Cambridge MA 02138
phone: +1 617-496-5308
fax: +1 617-495-5667
www.oeb.harvard.edu/faculty/giribet/

Department of Marine Ecology
Center for Advanced Studies of Blanes (CEAB-CSIC)
C/Accés Cala St. Francesc 14 
17300 Blanes, Girona, SPAIN
phone: +34 972 336 101
fax: +34 972 337 806
www.ceab.csic.es


On Mon, May 12, 2014 at 9:57 PM, arun <smartpink111 at yahoo.com> wrote:

Hi,
>
>You may also try using 'colClasses' while reading the data.
>setClass("NumerictoInteger")
>setAs("numeric", "NumerictoInteger", function(from) as.integer(from))
>datx1 <- read.table(text=a, header=TRUE, stringsAsFactors=FALSE, colClasses=c("character",rep("NumerictoInteger",11)))
>
>##David's result
>  dati <- data.frame(transcript_ID=datx$transcript_ID, sapply(datx[,-1], as.integer),
>         stringsAsFactors=FALSE)
>
> all.equal(dati, datx1)
>#[1] TRUE
>
>A.K.
>
>
>
>On Monday, May 12, 2014 4:35 PM, David L Carlson <dcarlson at tamu.edu> wrote:
>a <- "transcript_ID C3 C4 CRL_2APR10 CRL_1_15JUL11 CRL_2_15JUL11 C1 CRL_6OCT11c CRL_3DEC11  CRL_13DEC11b LRV_A LRV_B
>c101054_g1_i2 15.53 231.47 131.86 218.69 16.70 0.00 587.79 0.00 624.32 10.00 6.00
>c96583_g1_i2 0.00 10.60 6.30 8.87 0.00 0.00 29.00 0.00 90.94 0.00 0.00
>c19380_g1_i1 0.00 9.00 0.00 1.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
>c102980_g1_i10 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
>c91905_g1_i3 0.00 6.66 65.11 0.00 0.00 0.00 40.92 0.00 55.37 0.00 0.00
>c108262_g1_i3 0.00 29.65 2.44 0.00 0.00 0.00 29.33 0.00 338.89 0.00 0.00
>c27948_g1_i1 0.00 0.00 0.00 54.00 0.00 1.00 0.00 0.00 0.00 0.00 0.00
>c14898_g1_i1 0.00 2.00 0.00 1.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
>c105146_g1_i2 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 1.00"
>datx <- read.table(text=a, header=TRUE, stringsAsFactors=FALSE)
>
>dati <- data.frame(datx$transcript_ID, sapply(datx[,-1], as.integer),
>        stringsAsFactors=FALSE)
>
>-------------------------------------
>David L Carlson
>Department of Anthropology
>Texas A&M University
>College Station, TX 77840-4352
>
>
>-----Original Message-----
>From: r-help-bounces at r-project.org [mailto:r-help-bounces at r-project.org] On Behalf Of Alicia R. Pérez-Porro
>Sent: Monday, May 12, 2014 10:38 AM
>To: r-help at r-project.org
>Subject: [R] Convert to integers all entries of a table (for DESeq2)
>
>Dear R users,
>
>I have a .txt table that looks like:
>
>transcript_ID C3        C4      CRL_2APR10      CRL_1_15JUL11
>CRL_2_15JUL11   C1      CRL_6OCT11c     CRL_3DEC11      CRL_13DEC11b
>LRV_A LRV_B
>c101054_g1_i2 15.53 231.47 131.86 218.69 16.70 0.00 587.79 0.00 624.32 10.00
>6.00
>c96583_g1_i2 0.00 10.60 6.30 8.87 0.00 0.00 29.00 0.00 90.94 0.00 0.00
>c19380_g1_i1 0.00 9.00 0.00 1.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
>c102980_g1_i10 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
>c91905_g1_i3 0.00 6.66 65.11 0.00 0.00 0.00 40.92 0.00 55.37 0.00 0.00
>c108262_g1_i3 0.00 29.65 2.44 0.00 0.00 0.00 29.33 0.00 338.89 0.00 0.00
>c27948_g1_i1 0.00 0.00 0.00 54.00 0.00 1.00 0.00 0.00 0.00 0.00 0.00
>c14898_g1_i1 0.00 2.00 0.00 1.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
>c105146_g1_i2 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 1.00
>
>I need to convert all the numeric entries into integers to be able to use
>DESeq2, e.g.:
>
>C3 C4 CRL2APR10 CRL_1_15JUL11 CRL_2_15JUL11 C1 CRL_6OCT11c CRL3DEC11
>CRL13DEC11b LRV_A LRV_B
>c101054_g1_i2 15 231 131 218 16 0 587 0 624 10 6
>c96583_g1_i2 0 10 6 8 0 0 29 0 90 0 0
>c19380_g1_i1 0 9 0 1 0 0 0 0 0 0 0
>c102980_g1_i10 0 0 0 0 0 0 0 0 0 0 0
>c91905_g1_i3 0 6 65 0 0 0 40 0 55 0 0
>c108262_g1_i3 0 29 2 0 0 0 29 0 338 0 0
>c27948_g1_i1 0 0 0 54 0 1 0 0 0 0 0
>c14898_g1_i1 0 2 0 1 0 0 0 0 0 0 0
>c105146_g1_i2 0 0 0 0 0 0 0 0 0 0 1
>
>​Any help will be welcome.
>Thanks in advance,
>
>Alicia​
>
>--
>Alicia R. Pérez-Porro
>PhD candidate
>
>Giribet lab
>Department of Organismic and Evolutionary Biology
>MCZ labs
>Harvard University
>26 Oxford St, Cambridge MA 02138
>phone: +1 617-496-5308
>fax: +1 617-495-5667
>www.oeb.harvard.edu/faculty/giribet/
>
>Department of Marine Ecology
>Center for Advanced Studies of Blanes (CEAB-CSIC)
>C/Accés Cala St. Francesc 14
>17300 Blanes, Girona, SPAIN
>phone: +34 972 336 101
>fax: +34 972 337 806
>www.ceab.csic.es
>
>    [[alternative HTML version deleted]]
>
>______________________________________________
>R-help at r-project.org mailing list
>https://stat.ethz.ch/mailman/listinfo/r-help
>PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
>and provide commented, minimal, self-contained, reproducible code.
>



More information about the R-help mailing list