[R] Warning message: NAs introduced by coercion

N Meriam meri@m@nef @ending from gm@il@com
Tue Jan 8 20:37:50 CET 2019


Here's a portion of what my data looks like (text file format attached).
When running in R, it gives me this:

> df4 <- read.csv(file = "mydata.csv", header = TRUE)
> require(SNPRelate)
> library(gdsfmt)
> myd <- df4
> myd <- df4
> names(myd)[-1]
[1] "marker" "X88"    "X9"     "X17"    "X25"
> myd[,1]
[1]  3  4  5  6  8 10
# the data must be 0,1,2 with 3 as missing so you have r
> sample.id <- names(myd)[-1]
> snp.id <- myd[,1]
> snp.position <- 1:length(snp.id) # not needed for ibs
> snp.chromosome <- rep(1, each=length(snp.id)) # not needed for ibs
> snp.allele <- rep("A/G", length(snp.id)) # not needed for ibs
# genotype data must have - in 3
> genod <- myd[,-1]
> genod[is.na(genod)] <- 3
> genod[genod=="0"] <- 0
> genod[genod=="1"] <- 2
> genod2 <- as.matrix(genod)
> head(genod2)
         marker                                             X88   X9
 X17   X25
[1,]  "100023173|F|0-47:G>A-47:G>A"     "0"    "3"    "3"     "3"
[2,]  "1043336|F|0-7:A>G-7:A>G"             "2"    "0"    "3"     "0"
[3,]  "1212218|F|0-49:A>G-49:A>G"         "0"    "0"    "0"     "0"
[4,]  "1019554|F|0-14:T>C-14:T>C"           "0"   "0"    "3"     "0"
[5,]  "100024550|F|0-16:G>A-16:G>A"     "3"    "3"    "3"     "3"
[6,]  "1106702|F|0-8:C>A-8:C>A"              "0"   "0"     "0"     "0"
> class(genod2) <- "numeric"
Warning message: In class(genod2) <- "numeric" : NAs introduced by coercion
> head(genod2)
        marker   X88  X9   X17  X25
[1,]     NA         0      3     3       3
[2,]     NA         2      0     3       0
[3,]     NA         0      0     0       0
[4,]     NA         0      0     3       0
[5,]     NA         3      3     3       3
[6,]     NA         0      0     0       0
> class(genod2) <- "numeric"
> class(genod2)
[1] "matrix"
# read data
> filn <-"simTunesian.gds"
> snpgdsCreateGeno(filn, genmat = genod,
+                  sample.id = sample.id, snp.id = snp.id,
+                  snp.chromosome = snp.chromosome,
+                  snp.position = snp.position,
+                  snp.allele = snp.allele, snpfirstdim=TRUE)
Error in snpgdsCreateGeno(filn, genmat = genod, sample.id = sample.id,
 :   is.matrix(genmat) is not TRUE

Can't find a solution to my problem...my guess is that the problem
comes from converting the column 'marker' factor to numerical.

Best,
Meriam

On Tue, Jan 8, 2019 at 11:28 AM Michael Dewey <lists using dewey.myzen.co.uk> wrote:
>
> Dear Meriam
>
> Your csv file did not come through as attachments are stripped unless of
> certain types and you post is very hard to read since you are posting in
> HTML. Try renaming the file to ????.txt and set your mailer to send
> plain text then people may be able to help you better.
>
> Michael
>
> On 08/01/2019 15:35, N Meriam wrote:
> > I see...
> > Here's a portion of what my data looks like (csv file attached).
> > I run again and here are the results:
> >
> > df4 <- read.csv(file = "mydata.csv", header = TRUE)
> >
> >> require(SNPRelate)> library(gdsfmt)> myd <- df4> myd <- df4> names(myd)[-1][1] "marker" "X88"    "X9"     "X17"    "X25"
> >
> >> myd[,1][1]  3  4  5  6  8 10
> >
> >
> >> # the data must be 0,1,2 with 3 as missing so you have r> sample.id <- names(myd)[-1]> snp.id <- myd[,1]> snp.position <- 1:length(snp.id) # not needed for ibs> snp.chromosome <- rep(1, each=length(snp.id)) # not needed for ibs> snp.allele <- rep("A/G", length(snp.id)) # not needed for ibs> # genotype data must have - in 3> genod <- myd[,-1]> genod[is.na(genod)] <- 3> genod[genod=="0"] <- 0> genod[genod=="1"] <- 2
> >
> >> genod2 <- as.matrix(genod)> head(genod2)     marker                        X88 X9  X17 X25
> > [1,] "100023173|F|0-47:G>A-47:G>A" "0" "3" "3" "3"
> > [2,] "1043336|F|0-7:A>G-7:A>G"     "2" "0" "3" "0"
> > [3,] "1212218|F|0-49:A>G-49:A>G"   "0" "0" "0" "0"
> > [4,] "1019554|F|0-14:T>C-14:T>C"   "0" "0" "3" "0"
> > [5,] "100024550|F|0-16:G>A-16:G>A" "3" "3" "3" "3"
> > [6,] "1106702|F|0-8:C>A-8:C>A"     "0" "0" "0" "0"
> >
> >> class(genod2) <- "numeric"Warning message:In class(genod2) <- "numeric" : NAs introduced by coercion> head(genod2)
> >
> >   marker X88 X9 X17 X25
> > [1,]     NA   0  3   3   3
> > [2,]     NA   2  0   3   0
> > [3,]     NA   0  0   0   0
> > [4,]     NA   0  0   3   0
> > [5,]     NA   3  3   3   3
> > [6,]     NA   0  0   0   0
> >
> >> class(genod2) <- "numeric"> class(genod2)[1] "matrix"
> >
> >> # read data > filn <-"simTunesian.gds"> snpgdsCreateGeno(filn, genmat = genod,+                  sample.id = sample.id, snp.id = snp.id,+                  snp.chromosome = snp.chromosome,+                  snp.position = snp.position,+                  snp.allele = snp.allele, snpfirstdim=TRUE)Error in snpgdsCreateGeno(filn, genmat = genod, sample.id = sample.id,  :
> >    is.matrix(genmat) is not TRUE
> >
> > Thanks,
> > Meriam
> >
> > On Tue, Jan 8, 2019 at 9:02 AM PIKAL Petr <petr.pikal using precheza.cz> wrote:
> >
> >> Hi
> >>
> >> see in line
> >>
> >>> -----Original Message-----
> >>> From: R-help <r-help-bounces using r-project.org> On Behalf Of N Meriam
> >>> Sent: Tuesday, January 8, 2019 3:08 PM
> >>> To: r-help using r-project.org
> >>> Subject: [R] Warning message: NAs introduced by coercion
> >>>
> >>> Dear all,
> >>>
> >>> I have a .csv file called df4. (15752 obs. of 264 variables).
> >>> I apply this code but couldn't continue further other analyses, a warning
> >>> message keeps coming up. Then, I want to determine max and min
> >>> similarity values,
> >>> heat map plot, cluster...etc
> >>>
> >>>> require(SNPRelate)
> >>>> library(gdsfmt)
> >>>> myd <- read.csv(file = "df4.csv", header = TRUE)
> >>>> names(myd)[-1]
> >>> myd[,1]
> >>>> myd[1:10, 1:10]
> >>>   # the data must be 0,1,2 with 3 as missing so you have r
> >>>> sample.id <- names(myd)[-1]
> >>>> snp.id <- myd[,1]
> >>>> snp.position <- 1:length(snp.id) # not needed for ibs
> >>>> snp.chromosome <- rep(1, each=length(snp.id)) # not needed for ibs
> >>>> snp.allele <- rep("A/G", length(snp.id)) # not needed for ibs
> >>> # genotype data must have - in 3
> >>>> genod <- myd[,-1]
> >>>> genod[is.na(genod)] <- 3
> >>>> genod[genod=="0"] <- 0
> >>>> genod[genod=="1"] <- 2
> >>>> genod[1:10,1:10]
> >>>> genod <- as.matrix(genod)
> >>
> >> matrix can have only one type of data so you probaly changed it to
> >> character by such construction.
> >>
> >>>> class(genod) <- "numeric"
> >>
> >> This tries to change all "numeric" values to numbers but if it cannot it
> >> sets it to NA.
> >>
> >> something like
> >>
> >>> head(iris)
> >>    Sepal.Length Sepal.Width Petal.Length Petal.Width Species
> >> 1          5.1         3.5          1.4         0.2  setosa
> >> 2          4.9         3.0          1.4         0.2  setosa
> >> 3          4.7         3.2          1.3         0.2  setosa
> >> 4          4.6         3.1          1.5         0.2  setosa
> >> 5          5.0         3.6          1.4         0.2  setosa
> >> 6          5.4         3.9          1.7         0.4  setosa
> >>> ir <-head(iris)
> >>> irm <- as.matrix(ir)
> >>> head(irm)
> >>    Sepal.Length Sepal.Width Petal.Length Petal.Width Species
> >> 1 "5.1"        "3.5"       "1.4"        "0.2"       "setosa"
> >> 2 "4.9"        "3.0"       "1.4"        "0.2"       "setosa"
> >> 3 "4.7"        "3.2"       "1.3"        "0.2"       "setosa"
> >> 4 "4.6"        "3.1"       "1.5"        "0.2"       "setosa"
> >> 5 "5.0"        "3.6"       "1.4"        "0.2"       "setosa"
> >> 6 "5.4"        "3.9"       "1.7"        "0.4"       "setosa"
> >>> class(irm) <- "numeric"
> >> Warning message:
> >> In class(irm) <- "numeric" : NAs introduced by coercion
> >>> head(irm)
> >>    Sepal.Length Sepal.Width Petal.Length Petal.Width Species
> >> 1          5.1         3.5          1.4         0.2      NA
> >> 2          4.9         3.0          1.4         0.2      NA
> >> 3          4.7         3.2          1.3         0.2      NA
> >> 4          4.6         3.1          1.5         0.2      NA
> >> 5          5.0         3.6          1.4         0.2      NA
> >> 6          5.4         3.9          1.7         0.4      NA
> >>>
> >>
> >> Cheers
> >> Petr
> >>
> >>
> >>>
> >>>
> >>> *Warning message:In class(genod) <- "numeric" : NAs introduced by
> >> coercion*
> >>>
> >>> Maybe I could illustrate more with details so I can be more specific?
> >>> Please, let me know.
> >>>
> >>> I would appreciate your help.
> >>> Thanks,
> >>> Meriam
> >>>
> >>> [[alternative HTML version deleted]]
> >>>
> >>> ______________________________________________
> >>> R-help using r-project.org mailing list -- To UNSUBSCRIBE and more, see
> >>> 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.
> >> Osobní údaje: Informace o zpracování a ochraně osobních údajů obchodních
> >> partnerů PRECHEZA a.s. jsou zveřejněny na:
> >> https://www.precheza.cz/zasady-ochrany-osobnich-udaju/ | Information
> >> about processing and protection of business partner’s personal data are
> >> available on website:
> >> https://www.precheza.cz/en/personal-data-protection-principles/
> >> Důvěrnost: Tento e-mail a jakékoliv k němu připojené dokumenty jsou
> >> důvěrné a podléhají tomuto právně závaznému prohláąení o vyloučení
> >> odpovědnosti: https://www.precheza.cz/01-dovetek/ | This email and any
> >> documents attached to it may be confidential and are subject to the legally
> >> binding disclaimer: https://www.precheza.cz/en/01-disclaimer/
> >>
> >>
> >
>
> --
> Michael
> http://www.dewey.myzen.co.uk/home.html



-- 
Meriam Nefzaoui
MSc. in Plant Breeding and Genetics
Universidade Federal Rural de Pernambuco (UFRPE) - Recife, Brazil

-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: mydata.txt
URL: <https://stat.ethz.ch/pipermail/r-help/attachments/20190108/e922ba8a/attachment.txt>


More information about the R-help mailing list