[R] [Q] It it possible to create the data frame only non-zero data column?

Hiroyuki Sato hiroysato at gmail.com
Tue Jan 12 03:37:12 CET 2016


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.pikal at 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-bounces at r-project.org] On Behalf Of Ulrik
> > Stervbo
> > Sent: Friday, January 08, 2016 6:06 PM
> > To: Hiroyuki Sato; r-help at 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 <hiroysato at 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 at 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 at 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]]



More information about the R-help mailing list