Hi Petr, I think that Duncan suggests something like this:
x<- c(rep(10,20), rep(300,5), rep(100, 10)) tx <- table(x) prop.x <- tx / sum(tx) vx <- as.integer(names(tx)) prop.wx <- tx * vx / sum(tx * vx) plot(ecdf(x)) plot(vx, cumsum(prop.x), ylim = 0:1) plot(vx, cumsum(prop.wx), ylim = 0:1) Best regards, Thierry ir. Thierry Onkelinx Statisticus / Statistician Vlaamse Overheid / Government of Flanders INSTITUUT VOOR NATUUR- EN BOSONDERZOEK / RESEARCH INSTITUTE FOR NATURE AND FOREST Team Biometrie & Kwaliteitszorg / Team Biometrics & Quality Assurance thierry.onkel...@inbo.be Kliniekstraat 25, B-1070 Brussel www.inbo.be /////////////////////////////////////////////////////////////////////////////////////////// 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 /////////////////////////////////////////////////////////////////////////////////////////// Van 14 tot en met 19 december 2017 verhuizen we uit onze vestiging in Brussel naar het Herman Teirlinckgebouw op de site Thurn & Taxis. Vanaf dan ben je welkom op het nieuwe adres: Havenlaan 88 bus 73, 1000 Brussel. /////////////////////////////////////////////////////////////////////////////////////////// 2017-11-24 14:30 GMT+01:00 PIKAL Petr <petr.pi...@precheza.cz>: > Hi Duncan > > I tried Ecdf and/or wtd.quantile from Hmisc and it is working (probably). > Ecdf(x, q=.5) > Ecdf(x, weights=xw,col=2, add=T, q=.5) > wtd.quantile(x) > 0% 25% 50% 75% 100% > 10 10 10 100 300 > wtd.quantile(x, weights=xw, type="i/n") > 0% 25% 50% 75% 100% > 10.0000 138.8667 192.5778 246.2889 300.0000 > > But could you please be more specific in this? > >> But you seem to be asking about a >> definition rather than a function: it is obtained simply by normalizing the >> weights to sum to 1, then evaluating cumulative sums of them. > > Actually, when I correctly calculate weights > > xw <- (x^3)/sum(x^3) > sum(xw) equals to 1 > > but how can I plot ecdf with volume weighted data. Obviously > > ecdf(x*xw) or ecdf(x^3*xw) is not correct. > > Cheers > Petr > >> -----Original Message----- >> From: Duncan Murdoch [mailto:murdoch.dun...@gmail.com] >> Sent: Friday, November 24, 2017 12:36 PM >> To: PIKAL Petr <petr.pi...@precheza.cz>; r-help@r-project.org >> Subject: Re: [R] number to volume weighted distribution >> >> On 24/11/2017 6:27 AM, PIKAL Petr wrote: >> > Dear all >> > >> > Strictly speaking it is not R question but as you are the most capable >> > persons I >> know I give it a try. >> > >> > I am strugling with recalculation of number weighted to volume weighted >> distribution. >> > >> > Suppose I have objects (cubes) with size >> > >> > x<- c(rep(10,20), rep(100, 10), rep(300,5)) I can get >> > >> > plot(ecdf(x)) >> > >> > or the number weighted average >> > >> > mean(x) >> > [1] 77.14286 >> > >> > or volume weighted average >> > weighted.mean(x, (x/sum(x^3))) >> > [1] 204.4444 >> > >> > However I am struggling with volume weighted ecdf. >> > >> > Can you please give me some hints? >> >> I believe base R doesn't have a function for this, but Google says it exists >> in a >> couple of packages: spatstat, Hmisc. But you seem to be asking about a >> definition rather than a function: it is obtained simply by normalizing the >> weights to sum to 1, then evaluating cumulative sums of them. >> >> Duncan Murdoch > > ________________________________ > 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. > ______________________________________________ > 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. ______________________________________________ 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.