Hello Ulrik, Ashis and Petr Thank you for replying. I'll use dat[dat==0] <- NA.
Thanks 2016年1月11日(月) 16:17 PIKAL Petr <petr.pi...@precheza.cz>: > Hi > > as.matrix is rather dangerous, it converts all values to lowest mode > which, if there is text column, is character. > > And if I understand correctly original post was about removing all zero > columns. > > Using plain zero comparison can be dangerous due to possibility of > compensating negative and positive values. > > dat<-data.frame(a=c(-1,0,1), b=c(0,0,0), c=c(0,0,1)) > > dat > a b c > 1 -1 0 0 > 2 0 0 0 > 3 1 0 1 > > colSums(dat)==0 > a b c > TRUE TRUE FALSE > > Remove incorrectly first column too. > > I would proceed with NA substitution, which is safer. > > > dat[dat==0]<-NA > > colSums(is.na(dat))==nrow(dat) > a b c > FALSE TRUE FALSE > > > > And even this can be problematic if values in dat are not integers. > > Cheers > Petr > > > -----Original Message----- > > From: R-help [mailto:r-help-boun...@r-project.org] On Behalf Of Ulrik > > Stervbo > > Sent: Friday, January 08, 2016 6:06 PM > > To: Hiroyuki Sato; r-help@r-project.org > > Subject: Re: [R] [Q] It it possible to create the data frame only non- > > zero data column? > > > > Could you use rowsum and select rows larger then 0? > > > > Something like: > > > > result[rowsum(as.matrix(result) > 0, ] > > > > On Fri, 8 Jan 2016 at 18:00 Hiroyuki Sato <hiroys...@gmail.com> wrote: > > > > > Hello all. > > > > > > I re-post this question by e-mail. > > > (I posted via google-group. But It's not posted yet.) > > > > > > I'm newbie GNU R. > > > > > > I would like to compare two datas. > > > How to select columns which has non-zero datas?. > > > It it possible to create the data frame only VAL3(non-zero data) > > > column with command? > > > > > > Formatted sample. > > > https://gist.github.com/hiroyuki-sato/cb36584f6cd5845b6c3e > > > > > > sample1.txt > > > > > > ID,VAL1,VAL2,VAL3 > > > ID1,0,2,3 > > > ID2,0,2,3 > > > ID3,0,2,3 > > > > > > real data has 5000 columns. > > > > > > sample2.txt > > > > > > ID,VAL1,VAL2,VAL3 > > > ID1,0,2,3 > > > ID2,0,2,3 > > > ID3,0,2,2 > > > > > > The difference sample1 and sample2 is ID3/VAL3. > > > sample1: 3 > > > sample2: 2 > > > > > > R commands. > > > > > > sample1 <- read.table("sample1.txt",header=T,sep=',') > > > sample2 <- read.table("sample2.txt",header=T,sep=',') > > > > > > result <- sample1[,2:4] - sample2[,2:4] > > > result > > > VAL1 VAL2 VAL3 > > > 1 0 0 0 > > > 2 0 0 0 > > > 3 0 0 1 > > > > > > I would like to create data frame which has non-zero value columns. > > > Could you tell me how to do it? > > > > > > Best regards. > > > > > > -- > > > Hiroyuki Sato. > > > > > > [[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.