Hi dear all, Yes, your solution all are correct! it was my mistake and I found it.
Thanks On Thu, Aug 13, 2015 at 1:07 AM, PIKAL Petr <petr.pi...@precheza.cz> wrote: > Hi > > > > the error is not caused by missing 2 > > > > > set.seed(333) > > > x<-sample(0:1, 12, rep=T) > > > dim(x)<-c(3,4) > > > x[2,2]<-NA > > > cbind(x, idx=(rowSums(x==2, na.rm=TRUE)>0)*1) > > idx > > [1,] 0 1 1 0 0 > > [2,] 0 NA 0 0 0 > > [3,] 1 1 0 0 0 > > > > As Sarah pointed out, you are the only one observing such error. Without > more information – at least structure of your data > > > > see ?str > > > > but preferably part of your data causing error and a code you hardly get > any sensible advice. > > > > Cheers > > Petr > > *From:* Lida Zeighami [mailto:lid.z...@gmail.com] > *Sent:* Wednesday, August 12, 2015 6:23 PM > *To:* PIKAL Petr > > *Subject:* Re: [R] add an idx column to the matrix > > > > Dear Petr, > > > > I use your code in a loop function, but in some matrix there isn't any 2 > so I got the below error: > > > > Error in rowSums(lofGT_met == 2, na.rm = T) : > 'x' must be an array of at least two dimensions > > > > would you please let me know how to correct it? > > Thanks, > > Lida > > > > On Tue, Aug 11, 2015 at 1:40 AM, PIKAL Petr <petr.pi...@precheza.cz> > wrote: > > Hi > > here is another approach. > > > cbind(mydata, idx=(rowSums(mydata==2, na.rm=T)>0)*1) > X125 X255 X558 X2366 X177 X255.1 idx > aa 0 1 0 NA 0 0 0 > bb 1 1 0 NA 0 1 0 > cs 2 1 2 1 0 0 1 > de 0 1 0 NA 0 0 0 > gh 2 0 0 0 0 0 1 > > It shall be faster if this is an issue. > > Cheers > Petr > > > > > -----Original Message----- > > From: R-help [mailto:r-help-boun...@r-project.org] On Behalf Of Thierry > > Onkelinx > > Sent: Monday, August 10, 2015 10:29 PM > > To: Lida Zeighami > > Cc: r-help@r-project.org > > Subject: Re: [R] add an idx column to the matrix > > > > Dear Lida, > > > > Here is a solution. Please don't post in HTML. And provide an easy to > > use > > example of the data. E.g. the output of dput(mydata) > > > > set.seed(1234) > > mydata <- matrix( > > sample( > > c(0, 1, 2, NA), > > size = 30, > > replace = TRUE, > > prob = c(2, 1, 1, 1) > > ), > > ncol = 6 > > ) > > > > idx <- apply(mydata, 1, function(x){any(x == 2)}) > > idx[is.na(idx)] <- FALSE > > cbind(mydata, idx) > > > > > > > > ir. Thierry Onkelinx > > Instituut voor natuur- en bosonderzoek / Research Institute for Nature > > and > > Forest > > team Biometrie & Kwaliteitszorg / team Biometrics & Quality Assurance > > Kliniekstraat 25 > > 1070 Anderlecht > > Belgium > > > > To call in the statistician after the experiment is done may be no more > > than asking him to perform a post-mortem examination: he may be able to > > say > > what the experiment died of. ~ Sir Ronald Aylmer Fisher > > The plural of anecdote is not data. ~ Roger Brinner > > The combination of some data and an aching desire for an answer does > > not > > ensure that a reasonable answer can be extracted from a given body of > > data. > > ~ John Tukey > > > > 2015-08-10 22:11 GMT+02:00 Lida Zeighami <lid.z...@gmail.com>: > > > > > Hi there, > > > > > > I have a matrix contain 0,1,2, NA elements. > > > I want to add a column to this matrix with name of "idx" . then for > > each > > > row, I should put 1 in this column (idx) if there is at least one 2 > > in that > > > row otherwise I should put 0 in this column! > > > > > > for example mydata: > > > > > > 125 255 558 2366 177 255 > > > aa 0 1 0 NA 0 0 > > > bb 1 1 0 NA 0 1 > > > cs 2 1 2 1 0 0 > > > de 0 1 0 NA 0 0 > > > gh 2 0 0 0 0 0 > > > > > > > > > my output should be: > > > > > > > > > 125 255 558 2366 177 255 idx > > > aa 0 1 0 NA 0 0 0 > > > bb 1 1 0 NA 0 1 0 > > > cs 2 1 2 1 0 0 1 > > > de 0 1 0 NA 0 0 0 > > > gh 2 0 0 2 0 2 1 > > > > > > Thank you for your help. > > > > > > [[alternative HTML version deleted]] > > > > > > ______________________________________________ > > > R-help@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. > > > > > > > [[alternative HTML version deleted]] > > > > ______________________________________________ > > R-help@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. > > > > ------------------------------ > Tento e-mail a jakékoliv k němu připojené dokumenty jsou důvěrné a jsou > určeny pouze jeho adresátům. > Jestliže jste obdržel(a) tento e-mail omylem, informujte laskavě > neprodleně jeho odesílatele. Obsah tohoto emailu i s přílohami a jeho kopie > vymažte ze svého systému. > Nejste-li zamýšleným adresátem tohoto emailu, nejste oprávněni tento email > jakkoliv užívat, rozšiřovat, kopírovat či zveřejňovat. > Odesílatel e-mailu neodpovídá za eventuální škodu způsobenou modifikacemi > či zpožděním přenosu e-mailu. > > V případě, že je tento e-mail součástí obchodního jednání: > - vyhrazuje si odesílatel právo ukončit kdykoliv jednání o uzavření > smlouvy, a to z jakéhokoliv důvodu i bez uvedení důvodu. > - a obsahuje-li nabídku, je adresát oprávněn nabídku bezodkladně přijmout; > Odesílatel tohoto e-mailu (nabídky) vylučuje přijetí nabídky ze strany > příjemce s dodatkem či odchylkou. > - trvá odesílatel na tom, že příslušná smlouva je uzavřena teprve > výslovným dosažením shody na všech jejích náležitostech. > - odesílatel tohoto emailu informuje, že není oprávněn uzavírat za > společnost žádné smlouvy s výjimkou případů, kdy k tomu byl písemně zmocněn > nebo písemně pověřen a takové pověření nebo plná moc byly adresátovi tohoto > emailu případně osobě, kterou adresát zastupuje, předloženy nebo jejich > existence je adresátovi či osobě jím zastoupené známá. > > This e-mail and any documents attached to it may be confidential and are > intended only for its intended recipients. > If you received this e-mail by mistake, please immediately inform its > sender. Delete the contents of this e-mail with all attachments and its > copies from your system. > If you are not the intended recipient of this e-mail, you are not > authorized to use, disseminate, copy or disclose this e-mail in any manner. > The sender of this e-mail shall not be liable for any possible damage > caused by modifications of the e-mail or by delay with transfer of the > email. > > In case that this e-mail forms part of business dealings: > - the sender reserves the right to end negotiations about entering into a > contract in any time, for any reason, and without stating any reasoning. > - if the e-mail contains an offer, the recipient is entitled to > immediately accept such offer; The sender of this e-mail (offer) excludes > any acceptance of the offer on the part of the recipient containing any > amendment or variation. > - the sender insists on that the respective contract is concluded only > upon an express mutual agreement on all its aspects. > - the sender of this e-mail informs that he/she is not authorized to enter > into any contracts on behalf of the company except for cases in which > he/she is expressly authorized to do so in writing, and such authorization > or power of attorney is submitted to the recipient or the person > represented by the recipient, or the existence of such authorization is > known to the recipient of the person represented by the recipient. > [[alternative HTML version deleted]] ______________________________________________ R-help@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.