| Properties' Summary |
long
FrameHeightAbsolute |
contains the metric height value of the frame.
|
long
FrameWidthAbsolute |
contains the metric width value of the frame.
|
byte
FrameWidthPercent |
specifies a width relative to the width of the
surrounding text.
|
byte
FrameHeightPercent |
specifies a width relative to the width of the
surrounding text.
|
boolean
FrameIsAutomaticHeight |
If "AutomaticHeight" is set, then the object grows if it is required
by the frame content.
|
short
SizeType |
determines the interpretation of the height and relative
height properties.
|
boolean
EditInReadonly |
[ OPTIONAL ]
determines if the text frame should be editable in a read-only document.
(This is usually used in forms.)
|
short
WidthType |
[ OPTIONAL ]
determines the interpretation of the width and relative
width properties.
|
short
WritingMode |
[ OPTIONAL ]
contains the writing direction, as represented by the
WritingMode2 constants
|
boolean
IsFollowingTextFlow |
[ OPTIONAL ]
controls, if the frame follows the text flow or can leave its layout environment
|
| Properties' Details |
FrameHeightAbsolute
long FrameHeightAbsolute;
- Description
- contains the metric height value of the frame.
|
|
FrameWidthAbsolute
long FrameWidthAbsolute;
- Description
- contains the metric width value of the frame.
|
|
FrameWidthPercent
byte FrameWidthPercent;
- Description
- specifies a width relative to the width of the
surrounding text.
If the value for "WidthPercent" is 0, the absolute value from
is used.
|
|
FrameHeightPercent
byte FrameHeightPercent;
- Description
- specifies a width relative to the width of the
surrounding text.
If the value for "HeightPercent" is 0, the absolute value from
is used.
|
|
FrameIsAutomaticHeight
boolean FrameIsAutomaticHeight;
- Description
- If "AutomaticHeight" is set, then the object grows if it is required
by the frame content.
|
|
SizeType
short SizeType;
- Description
- determines the interpretation of the height and relative
height properties.
- See also
- SizeType
|
|
EditInReadonly
boolean EditInReadonly;
- Usage Restrictions
- optional
- Description
- determines if the text frame should be editable in a read-only document.
(This is usually used in forms.)
|
|
WidthType
short WidthType;
- Usage Restrictions
- optional
- Description
- determines the interpretation of the width and relative
width properties.
- Since
- OOo 2.4
- See also
- SizeType
|
|
WritingMode
short WritingMode;
- Usage Restrictions
- optional
- Description
- contains the writing direction, as represented by the
WritingMode2 constants
|
|
IsFollowingTextFlow
boolean IsFollowingTextFlow;
- Usage Restrictions
- optional
- Description
- controls, if the frame follows the text flow or can leave its layout environment
If set, the frame follows the text flow and doesn't leaves the layout
environment, which is given by its anchor, above and below.
E.g.: Anchor resides in the document body then the frame doesn't leave
the document body above and below and follows the text flow through
the document bodies of the different pages.
If not set, the frame doesn't follow the text flow and stays on the page,
on which its anchor is found, but it may leave the layout environment,
which is given by its anchor.
E.g.: Anchor resides in the document body then the frame stays on page,
where this document body is, but it could leave the document body above
and below, e.g. overlapping with the page header.
Note: The areas for the vertical orientation relation at page areas are
interpreted in dependence to this property (
- See also
- BaseFrameProperties.VertOrientRelation).
If property is set, the page area is interpreted as the layout environment,
given by its anchor. E.g.: Anchor resides in the page header then the
page header determines the page area. If property isn't set, the page area is
determined by the document page, the anchor is on. E.g.: Anchor resides
in the page header then the document page, the page header is on, determines
the page area.
An exception of this interpretation rule is applied, if the anchor resides
in a table cell. In this situation the page area is always detemined by
the table cell.
|
|
Copyright © 2013, The Apache Software Foundation, Licensed under the Apache License, Version 2.0. Apache, the Apache feather logo, Apache OpenOffice and OpenOffice.org are trademarks of The Apache Software Foundation. Other names may be trademarks of their respective owners.


PubMed2Go was renamed to PubMedPortable. It is available via the old and the new URLs:
The title and abstract part of requested PubMed XML documents can be accessed with PubMedPortable:
The PubMedPortable documentation shows how to download a data set and build a PostgreSQL relational database. Follow the installation instructions. The part describing how to build a Xapian full text index is not needed here:
The script download_articles.py reads the PubMed IDs in the file pubmed_result.txt. Four randomly selected abstracts with the PubMed IDs 10025831, 23215050, 24622518, and 24842107 were selected from the PostgreSQL database and saved in the folder downloaded_abstracts in pseudo XML format using this script.
- The script can be run with “python download_articles.py” and modified with the name of the database, output folder, and input file (use “python download_articles.py -h” for more information).
NXML is a data structure used in BioCreAtIvE III and the example on the GeneTUKit homepage refers to this document:
In this pipeline, the GeneTUKit installation with the default MySQL version was tested. Therefore, the GeneTUKit config file does not have to be changed.
- It is possible to connect to a MySQL database via command-line with “mysql -u root -p”.
GeneTUKit is using CRF++ for NER (Name Entity Recognition), but the link provided by the just mentioned GeneTUKit page leads to a repository requiring a password. It’s also possible to use BANNER for this purpose. Running GeneTUKit with a single NXML file (with BANNER) works as follows:
- java -Djava.library.path=. -jar genetukit.jar -x downloaded_abstracts/23215050.nxml -banner
If you want to process multiple files at ones, use the batch mode by providing the folder name instead of a file name:
- java -Djava.library.path=. -jar genetukit.jar -x downloaded_abstracts -banner
With “>”, the output is piped to the output file gtk_output.csv and the Java library path can probably be omitted:
- java -jar genetukit.jar -x downloaded_abstracts -banner > gtk_output.csv
From the output given by GeneTUKit (e.g. GeneTUKit/gtk_output.csv), the required values PubMed ID, gene ID, and the synonyms are saved in a new CSV file named pmid_geneid_syn.csv (“python filter_out_genetukit_output.py”, executed from the original GitHub project folder GeneTUKit-Pipeline)
- The default parameters can be shown with parameter “-h”.
Each gene ID provided by GeneTUKit has to be mapped to its respective UniProt ID. Using UniProt IDs brings up the advantage of being able to access their sequenes (http://www.uniprot.org). The UniProt IDs are contained in idmapping.dat.gz. This file has to be extracted in the main project folder (GeneTUKit-Pipeline) and can be downloaded here:
- ftp://ftp.ebi.ac.uk/pub/databases/uniprot/current_release/knowledgebase/idmapping/
- The file idmapping.dat.gz also contains some unrelated information. By running filter_idmapping.py with the option “-t”, only the related gene IDs and UniProt IDs from pmid_geneid_syn.csv are saved in “filtered_idmapping.csv”. The converted file is also saved in the main directory.
- The option of using the test case with a small number of gene IDs was used to complete the example presented in this documentation. In general, all gene IDs are needed to extract the appropriate UniProt ID from idmapping.dat.
The script reads the file filtered_idmapping.csv by importing the script map_to_dict.py, which creates a dictionary data structure, containing the gene IDs as keys and the UniProt IDs as values.
- This dictionary is used to create the output file merged_file.csv with one line per synonym (tab-separated): PubMed ID, gene ID, synonym, UniProt ID(s).
- The script also creates a second file is which is a dictionary of dictionaries from PubMed IDs, containing all synonyms of an abstract as keys with all UniProt IDs as values. This output is stored as the Python pickle file “save.p” to be used within the next pipeline step.
The script can be run without additional parameters:
- python map_geneid_to_uniprotid.py
The gene/protein tags are added to the provided XML files with the following command:
- python annotate_abstracts.py -i downloaded_abstracts
Please, write an e-mail, if you have questions, feedback, improvements, or new ideas:
If you are interested in related projects, visit our working group’s homepage:


Web Site Terms and Conditions of Use
1. Terms
By accessing this web site, you are agreeing to be bound by these
web site Terms and Conditions of Use, all applicable laws and regulations,
and agree that you are responsible for compliance with any applicable local
laws. If you do not agree with any of these terms, you are prohibited from
using or accessing this site. The materials contained in this web site are
protected by applicable copyright and trade mark law.
2. Use License
-
Permission is granted to temporarily download one copy of the materials
(information or software) on Expofruta S.A.'s web site for personal,
non-commercial transitory viewing only. This is the grant of a license,
not a transfer of title, and under this license you may not:
- modify or copy the materials;
- use the materials for any commercial purpose, or for any public display (commercial or
non-commercial);
- attempt to decompile or reverse engineer any software contained on Expofruta S.A.'s web site;
- remove any copyright or other proprietary notations from the materials; or
- transfer the materials to another person or "mirror" the materials on any other server.
-
This license shall automatically terminate if you violate any of these restrictions and may be
terminated by
Expofruta S.A. at any time. Upon terminating your viewing of these materials or upon the termination of
this
license, you must destroy any downloaded materials in your possession whether in electronic or printed
format.
3. Disclaimer
-
The materials on Expofruta S.A.'s web site are provided "as is". Expofruta S.A. makes no warranties,
expressed
or implied, and hereby disclaims and negates all other warranties, including without limitation, implied
warranties or conditions of merchantability, fitness for a particular purpose, or non-infringement of
intellectual property or other violation of rights. Further, Expofruta S.A. does not warrant or make any
representations concerning the accuracy, likely results, or reliability of the use of the materials on
its
Internet web site or otherwise relating to such materials or on any sites linked to this site.
4. Limitations
In no event shall Expofruta S.A. or its suppliers be liable for any damages (including, without limitation,
damages
for loss of data or profit, or due to business interruption,) arising out of the use or inability to use the
materials on Expofruta S.A.'s Internet site, even if Expofruta S.A. or a Expofruta S.A. authorized
representative
has been notified orally or in writing of the possibility of such damage. Because some jurisdictions do not
allow
limitations on implied warranties, or limitations of liability for consequential or incidental damages,
these
limitations may not apply to you.
5. Revisions and Errata
The materials appearing on Expofruta S.A.'s web site could include technical, typographical, or photographic
errors.
Expofruta S.A. does not warrant that any of the materials on its web site are accurate, complete, or
current.
Expofruta S.A. may make changes to the materials contained on its web site at any time without notice.
Expofruta
S.A. does not, however, make any commitment to update the materials.
6. Links
Expofruta S.A. has not reviewed all of the sites linked to its Internet web site and is not responsible for
the
contents of any such linked site. The inclusion of any link does not imply endorsement by Expofruta S.A. of
the
site. Use of any such linked web site is at the user's own risk.
7. Site Terms of Use Modifications
Expofruta S.A. may revise these terms of use for its web site at any time without notice. By using this web
site
you
are agreeing to be bound by the then current version of these Terms and Conditions of Use.
8. Governing Law
Any claim relating to Expofruta S.A.'s web site shall be governed by the laws of the State of Honduras
without
regard to its conflict of law provisions.
General Terms and Conditions applicable to Use of a Web Site.
Privacy Policy
Your privacy is very important to us. Accordingly, we have developed this Policy in order for you to
understand how
we collect, use, communicate and disclose and make use of personal information. The following outlines our
privacy
policy.
-
Before or at the time of collecting personal information, we will identify the purposes for which
information is
being collected.
-
We will collect and use of personal information solely with the objective of fulfilling those purposes
specified
by us and for other compatible purposes, unless we obtain the consent of the individual concerned or as
required
by law.
-
We will only retain personal information as long as necessary for the fulfillment of those purposes.
-
We will collect personal information by lawful and fair means and, where appropriate, with the knowledge
or
consent of the individual concerned.
-
Personal data should be relevant to the purposes for which it is to be used, and, to the extent
necessary for
those purposes, should be accurate, complete, and up-to-date.
-
We will protect personal information by reasonable security safeguards against loss or theft, as well as
unauthorized access, disclosure, copying, use or modification.
-
We will make readily available to customers information about our policies and practices relating to the
management of personal information.
We are committed to conducting our business in accordance with these principles in order to ensure that the
confidentiality of personal information is protected and maintained.


E learning website
It's a resource for every newbie developer where students can find their basic things.
Embellish
This repository contains different styled components in html, css, js, jquery which can be used in any website.
Wizard-Of-Docs
An open source project to bring all the data structures and algorithms docs under one repository.
- Data structures and algorithm
Frontend-owls
An open source project to bring all front end documentation under one repository.


this web page usesd for devanagari languages Hindi and Marathi.
Hindi/marathi to Braille Converter.
About Braille Translator
Hello! my name is Avinash Pudale!
this is Braille Translator for Indian languages using the Bharati Braille standard.
This tool instantly translates Hindi/marathi/devnagari into Braille code and used with brailleRapSp.
I am soon going to add more Indian scripts here.
I welcome your suggestions for improvements. Please let me know if you find any errors. Email me on avinash.pudale@gmail.com


Your Contact Info
Your Name
Phone Number
-
-
Address
Skills and Interests
Course
Select One
Front-End
Back-End
Visual Design
User Experience
Past Experience
Anything Else?
Referral
None
Friend
Instructor
Online
Comments
Save Draft
Submit


Driver monitoring & analytics is a growing area of research in computer vision and is widely
regarded as an effective tool in checking the high rates of mortality that are associated with
accidents that occur on roads majoritarily due to driver inattentiveness. Our attempt is to use
computer vision techniques to detect signs of fatigue in drivers.
Input:
The input datasets contains face images with 70 facial feature annotations in text files.
The dataset contains augmented mirrored images as well as seen on the one on the right
Work Done:
Multiple Face Detection and its bounding boxes
68 point facial landmark detection using dlib library
Trained ensemble of trees model for 70 point facial landmark detection which detects the pupils in the eyes as well


{% extends "base.html" %} {% load staticfiles %} {% block content %} {% block extra_head_tags %}
While using the services offered by Taste Tours Ltd, we will only ever request the minimum amount of personal information to deliver our services or improve upon such services and will NEVER sell personal information to a 3rd party. Bookings are processed and hosted via Pretix.eu and a Data Processing Agreement between our companies is in place. Payments are processed via Stripe and no sensitive payment informaton (such as credit card numbers) are shared with Taste Tours Ltd. Please refer to the Stripe Privacy Terms (https://stripe.com/us/privacy)
Within this policy, “personal information” refers to information that can be used to identify an individual including the individual’s email and/or cellphone e-mail address(es), and given name. Including any contact directly with Taste Tours Ltd.
We at Taste Tours Ltd recognize both the importance of personal data and the need to ensure its security. This is why we carefully manage any personal data we obtain by taking every precaution against unauthorized access, alteration, leakage, loss, and/or destruction. However, in the event of a data breech, we will endevour to quickly notify our customers to minimize any potential impact caused.
When you use Taste Tours Ltd services, or make a purchase from a site run by Taste Tours Ltd, it may be necessary for you to provide personal information such as your name, email address (minimum required) and cell/mobile number. You may also be asked to fill out a survey that may require other personally identifiable information. Please be advised that it may not be possible to use Taste Tours Ltd services should you wish to decline to provide the "minumum required" information.
Upon entering an online booking users are requested to review and confirm the terms and conditions in the "Confirmations" section. By checking the box a user is providing consent to the processing of the personal information provided in the booking.
The main uses are as follows:
The handling of personal information received from prospective employees during the application and screening stages of the employment process are as follows. Except in cases specified by law, we will notify and obtain permission from the applicant before using this personal information for any additional purposes.
Personal information:
Specific personal information:
We request that all individuals under the age of eighteen obtain permission from their parent(s) or guardian(s) before using our services. Please be advised that if you do not provide us with certain personal information or if you falsify said information, you may be unable to use our services.
We will control and safeguard the personal information we collect from you for the duration that you use our services. It is held in an encripted format on Pretix.eu servers held in the EU. You can make requests for disclosure regarding this information; however, we will only disclose information after confirming your identity in order to prevent the leaking of personal information to 3rd parties.
We will delete or correct personal data upon request provided that we can confirm your identity.
Cookies are small data text files that can be stored in your web browser. By enabling cookies, any preferences that you may have set and so on will be saved.
In order to protect your personal information, this website supports SSL (Secure Sockets Layer). When you use a web browser that supports a security function such as Chrome, Microsoft Internet Explorer, etc., personal data such as your name, or cell / mobile number is automatically encrypted before transmission.
Taste Tours Ltd takes every possible precaution to prevent unauthorized access of our network and access to our management server from outside our network. Along with ensuring the safety of your personal information, we take appropriate measures to maintain the accuracy of these precautions when transmitting personal information.
Please be advised that Taste Tours Ltd may change or modify this privacy policy in the future based on changes to our services or advances in telecommunications technology.
The items outlined in this policy apply only to dealings between Taste Tours Ltd and its customers.
Please use the "contact us" form


TOY STORY 2 (Disney/Pixar) Voices: Tom Hanks, Tim Allen, Joan Cusack, Kelsey Grammer, Wayne Knight, Don Rickles, Jim Varney, Wallace Shawn, John Ratzenberger. Screenplay: Andrew Stanton, Rita Hsiao, Doug Chamberlin & Chris Webb. Producers: Helene Plotkin and Karen Robert Jackson. Co-Directors: Lee Unkrich and Ash Brannon. Director: John Lasseter. MPAA Rating: G Running Time: 85 minutes. Reviewed by Scott Renshaw.
There is no finer comic filmmaker working today than John Lasseter. No one better understands how to choreograph an elaborate sight gag; no one better nails the timing of comic dialogue. He mixes the wild visual sensibility of the Coen brothers, the anarchic pack-the-margins madness of the Zucker brothers, and the sly wit/broad buffoonery tag team of the Marx Brothers. Combine these elements with a genuine warmth and love of character, and you have one of the closest things we have to a pop culture genius in American cinema circa 1999.
Incidentally, John Lasseter directs computer-generated films. If you think that qualification renders such praise moot, shame on you for your short-sightedness. Movies just don't get much more blissfully, intelligently entertaining than TOY STORY and A BUG'S LIFE, and I didn't think it would be possible for a sequel to approach TOY STORY's heights of savvy family filmmaking. Once again, Lasseter has broadened my thinking. His plaything creations soar again in a story that finds Woody (voice of Tom Hanks) kidnapped from a yard sale by unscrupulous toy store owner and collector Al McWhiggin (Wayne Knight). It turns out Woody is a toy connected to a popular 1950s kiddie television series, and the last item Big Al needs to complete a set including Woody's gal pal Jessie (Joan Cusack) and Prospector Stinky Pete (Kelsey Grammer). A future behind glass in a Tokyo museum awaits Woody unless Buzz Lightyear (Tim Allen) and company can rescue him.
When you're dealing with a film like TOY STORY 2, it's easy to spend far too much time talking about the technology and the referrential gags. Yes, the technology has improved by orders of magnitude even over the original TOY STORY, making human characters like Al an even more seamless part of the film, and making possible some dizzying, dazzling action sequences. And yes, you could spend multiple viewings of TOY STORY 2 looking for the inside jokes: Tour Guide Barbie (Jodi Benson) admonishing passengers bilingually a la Disneyland to "remain seated please" in a toy car; high-speed channel surfing including Pixar shorts like TIN TOY and LUXO JR.; a toy repair expert (Jonathan Harris) whose face recycles the star of the Oscar-winning short GERI'S GAME; genial pokes at TRON, JURASSIC PARK and THE EMPIRE STRIKES BACK. It's a film that easily could have cruised on its cutting edge, its hipness and the good will of familiar faces.
Lasseter and his writers, fortunately, appear incapable of cruising. TOY STORY soared not because it was revolutionary, but because it was a marvelously told film story -- a more human story than 90% of all films actually involving humans. That human touch continues here, from the splendid continuing voice characterizations of Woody and Buzz by Tom Hanks and Tim Allen, to Jessie's mournful recollection of how long it has been since a child played with her and loved her. The kidnap/rescue structure of TOY STORY 2 may seem familiar, but this film may actually be a bit more resonant than the original. Leave it to Lasseter to turn a family film into a meditation on love: Behind the pure entertainment, there's a story about broken hearts and the risks of potentially transient relationships.
 The snippets from old episodes of "Woody's Roundup" are a hiliarious homage to Howdy Doody; the toys' adventure crossing an intersection while hiding beneath orange traffic cones approaches Buster Keaton brilliance. It's true that TOY STORY 2 is somewhat busier than the original, with a few too many characters to keep up with. Some of the additional story elements -- like Buzz encountering a naive, fresh-out-of-the-box version of himself in the toy store -- are fun but occasionally distracting. This may not be the instant classic TOY STORY was, but it's too close to quibble. There is so much here that's delightful in so many ways, you begin to realize what movies are supposed to be, yet so rarely are: transporting experiences. I'm sure many filmmakers would love the absolute control over their movie universe -- every blink, every blade of grass -- that John Lasseter has over his. I'm equally sure most of them wouldn't have a clue what to do with it. A computer, as the cliche goes, is just a tool. It takes a visionary like John Lasseter to turn it into a magic wand.
On the Renshaw scale of 0 to 10 best Pixars: 9.
Visit Scott Renshaw's Screening Room http://www.inconnect.com/~renshaw/ *** Subscribe to receive new reviews directly by email! See the Screening Room for details, or reply to this message with subject "Subscribe".
The review above was posted to the
rec.arts.movies.reviews newsgroup (de.rec.film.kritiken for German reviews).
The Internet Movie Database accepts no responsibility for the contents of the
review and has no editorial control. Unless stated otherwise, the copyright
belongs to the author.
Please direct comments/criticisms of the review to relevant newsgroups.
Broken URLs inthe reviews are the responsibility of the author.
The formatting of the review is likely to differ from the original due
to ASCII to HTML conversion.
Related links: index of all rec.arts.movies.reviews reviews


A student-organized group dedicated to the theory and application of emerging technologies such as: blockchain, IoT, AI, VR, etc.
Sign UpWe believe it is crucial to investigate and develop a community around emerging technologies that have the potential to affect various industries in the upcoming future. We offer training, education, and collaboration for early-adopters of these technologies.
Learn about how these tools will influence the future.
Contribute to collaborative practical applications.
Engage in conversation with industry and academia about tech.
Interested in getting involved? Join the email list and we'll get back to you as soon as possible.


General Information
HostDB is a functional genomic resource with the goal of providing users with tools to access and query host response to pathogen infection. This resource is part of the EuPathDB
family of databases.
|
Citing Data Providers
Data in HostDB is provided by independent researchers. For a list of the data integrated into HostDB and the related publications see Data Sources. Please cite the authors/providers when you use their data. |
|
Funding
HostDB is a member of pathogen-databases that are housed under
the NIAID-funded EuPathDB
Bioinformatics Resource Center (BRC) umbrella. The EuPathDB team is
mainly distributed between the University of Pennsylvania in
Philadelphia, Pennsylvania and the University of Georgia in Athens,
Georgia. |
|
Data Access Policy
The data at this site is provided freely for public use, through
the contributions of many researchers including those involved in
generating the genome sequences. The data is not guaranteed to be
accurate as it often reflects the results of ongoing research.
When using data obtained from any EuPathDB project, it is important to cite
the original publications and contributors of that data.
Please see Citing HostDB below. |
|
Website Privacy Policy
We do not use or share any of your personal information for any
purpose unrelated to the functionality of the websites; however,
we do collect some information to help us understand how our
sites are being used and to improve community support. See the
Website Privacy Policy for details. |
|
Citing HostDB
Data in HostDB is provided by independent researchers. Please cite them if you use their data. For a list of the data integrated into HostDB and the related publications please see Data Sets.
When citing EuPathDB itself, please use:
EuPathDB: the eukaryotic pathogen genomics database resource.
2016 Nov 29. pii: gkw1105. [Epub ahead of print] Aurrecoechea C, et al.
|
|


Come join the world’s influencers and get answers.
No teams, individual participants only.
It's a free event for all, no registartion charge.
This event is restricted to only ITER students.
Remote Event
Top 3 Winners
Top 50 participants


Most people do know when their birthdays are,
but some might not know what day of the week they were born.
Luckily for us,
there are ways to calculate the day of the week from a specific date.
Let's make it fun! Enter your date of birth and we shall give you Akan name.
Akan names are derived from Ghanaian culture.
Frequently in Ghana, children are given their first name as a 'day name'
which corresponds to the day in the week they were born.


{% extends 'base-app-alt.html' %} {% load breaktag %} {% load staticfiles %} {% load breaktag %} {% block headers_css %} {% endblock %} {% block content %}
Make a pledge for each course.
Time for you to put in the work. Do whatever it takes to reach your goal. Remember, you’ll be rewarded for your hard work.
See how you stack up against your friends and online classmates. Invite others to follow you to keep you motivated.
Once the course ends, we collect all of the pledges of students who did not reach their goal, and divide it amongst all those who completed their goal.
Once your reward account is over $10, you can cash out through paypal. Enjoy your hard-earned cash!


Jairam Ramesh slams govt after special mention on privatisation of PSUs disallowed
The Rajya Sabha MP appealed to the government not to go ahead with the privatisation of profit-making PSUs.
by PTISenior Congress leader Jairam Ramesh on Wednesday said he was not allowed to make a special mention in Parliament on privatisation of strategic PSUs like Indian Oil and Bharat Petroleum. He also took a swipe at the government, saying "this is de'modi'cracy".
The Rajya Sabha MP appealed to the government not to go ahead with the privatisation of profit-making PSUs.
"Parliament is meant for debate & discussion. But what does one do when issues of public importance cannot be raised?" he tweeted.
"This morning I was informed that my special mention on privatisation of strategic, profit-making PSUs like IOC & BPCL has been disallowed. This is de'modi'cracy!" Ramesh said.


Posted by 2015-03-06
1999
Eighth Annual Juried Exhibition,
Athenaeum Music & Arts Library, La Jolla, California.


|
SAC Effects
v1.0
|
SAC bitstream class. More...
#include <SACBitstream.h>
Classes | |
| struct | ChannelType |
| It specifies the channel type. More... | |
Public Member Functions | |
| SACBitstream () | |
| Bitstream constructor. | |
| SACBitstream (std::string filename) | |
| Bitstream constructor. | |
| ~SACBitstream () | |
| Bitstream destructor. | |
| long | getVariable (int position, int length) |
| It gets the value of a bitstream variable. More... | |
| void | load () |
| It loads variables from bitstream file. | |
Public Attributes | |
| int | fs |
| std::vector< ChannelType::channeltype > | channels |
| double | gain_surround |
| double | gain_LFE |
| double | gain_downmix |
Definition at line 16 of file SACBitstream.h.
| long int SACBitstream::getVariable | ( | int | position, |
| int | length | ||
| ) |
| position | position in bits |
| length | number of bits |
Definition at line 43 of file SACBitstream.cpp.
| std::vector<ChannelType::channeltype> SACBitstream::channels |
channels order
Definition at line 36 of file SACBitstream.h.
| int SACBitstream::fs |
signal sampling frequencye
Definition at line 35 of file SACBitstream.h.
| double SACBitstream::gain_downmix |
gain of downmix
Definition at line 39 of file SACBitstream.h.
| double SACBitstream::gain_LFE |
downmix of LFE channels
Definition at line 38 of file SACBitstream.h.
| double SACBitstream::gain_surround |
downmix of surround channels
Definition at line 37 of file SACBitstream.h.


if you host on heroku you dont need this just change http://yourapp.herokuapp.com/ to https://yourapp.herokuapp.com/. but if you use this elsewhere where you dont have ssl you might use this. also i guess salsforce would allow to redirect to http://localhost without ssl
I have found an insecure solution for Salesforce requirement to redirect only to https url problem, which is irrelevan if you develop for testing only. I have developed a redirect mechanizm using JavaScript that preserves the hash after the redirect. if you host your application on an http server. you can use the result url as oauth redirect url. put it in your application and in oauth settings.
there is a hosted version of this at https://salesforce-jsforce-proxy.herokuapp.com/hashredirect.html
type url here:result:


Academic Career
Secondary Education Maheswari Public School, Jaipur - 9.4 CGPA 2013
Post Secondary Education Maheswari Public School, Jaipur - 78% - PCM - 2015
Undergraduation JECRC - IT Major - 2015-19
Professional Career
Blogger,Website (2012-13)Created music and video sharing site and then switched to blogging to earn part time income.
Freelancer 2012-14
Software Developer Sept, 2015Offered job as Software Developer at Voylla. Declined due to better oppurtunity.
2015-CurrentlyCEO and founder of Gamestream and Tapnar.
Research & Publication
Working on implementing doppler thru Javascript and recongnize hand recognition.


Devdap is an elegant, modern and fully customizable App Landing, SaaS Landing, WebApp, SEO Landing, Startup Landing & Product Landing Multi-Purpose HTML template
Explore Demos Buy Now - $0Unique Landing Demo
Creative Inner Pages
Reusable Elements
HTML Pages
A great collection of beautiful landing page templates for your need.
Choose the best suitable landing pages and start customizing it.
Develop your pages by copy and pasting ready blocks. You need to build a unique website in minutes with zero coding.
Your website will work on any type device. even in 320px device
You can easily read, edit, and write your own code, or change everything.
100+ unique eliments. so you have freedom to make any type of page
You can find our code well organized, commented and readable.
Top notch support team is available 24 hours a day, 7 days a week.
When you purchase this template, you'll freely receive future updates.
You are at the right step now


Last Name
First Name
Address
City
State
Zip/Postal/Copy
Country
Bulgaria
Croatia
England
France
Germany
Phone(country code, area code, number)
(+
)
-
E-mail
Birth date
Month
Day
Year (4 digit)
Gender
Male
Female
Starting date
Spring 2015
Summer 2015
Comments/Questions


New ‘lower cost’ charter airline operating out of a Metro Vancouver regional airport
by Richmond NewsMetro Vancouverites now have a new option for flights to destinations in B.C. and Alberta.
Air West Charters, which flies out of Delta’s Boundary Bay Airport, began offering chartered flights in June.
The airline operates a 6-passenger plane known as the King Air 90, which has lower operating costs than other chartered jets. This, along with flying slower than other jets, means passengers will pay less.
“Essentially, we can offer passengers the ability to save thousands of dollars in exchange for it costing them a moderate amount of extra time in the air,” said the airline’s chief pilot, Mark Watkins.
The company, however, wouldn’t disclose what airfares cost, but did say flights typically cost thousands rather than hundreds.
But, said Watkins, Air West offers flights for approximately 40 to 50 per cent of what jet aircraft charters charge.
The planes flown by Air West have a range of 600 nautical miles (approximately 1,100 kilometres).
The company currently flies to more than 80 airports across B.C. and Alberta, and is planning on offering flights to U.S. cities – such as Seattle, Portland or Great Falls, Montana – in early 2020.
Because the aircraft is capable of landing on shorter runways, according to Watkins, it is able to access a much greater number of airports than many other jet charter aircraft.
“That also helps reduce travel times because passengers can get closer to their intended destination without having to rely on ground transportation as much,” said Watkins.
Boundary Bay Airport is located around seven kilometres south of the Massey Tunnel, and, due to its smaller size, allows for easier and faster boarding.
According to Air West, passengers will be in the air within 20 minutes of arriving at the airport.


Blog
Book Reviews
Valley of Numbers
Projects
CV
Contact
{{content}}
Created by
Sagar Ghai
using
Bootstrap
and
Jekyll
. Hosted at
Github


js-- test 3
console
canvas
robot
Step
Extras
Compile to JS
Compile to "safe" JS
View parse tree
Show canvas mirror
View node list
Run unit tests
Run stress test


To login to the application please enter your email address and password. If you do no have an account you can create one here.
Please enter your current email address.
Please create a password.
Email or Password invalid, please verify
The ID is
The content is


|
EOS.IO
DAWN3.0.1
|
#include <eoslib/preprocessor/arithmetic/dec.hpp>
#include <eoslib/preprocessor/arithmetic/inc.hpp>
#include <eoslib/preprocessor/array/elem.hpp>
#include <eoslib/preprocessor/array/size.hpp>
#include <eoslib/preprocessor/cat.hpp>
#include <eoslib/preprocessor/slot/slot.hpp>
#include <eoslib/preprocessor/tuple/elem.hpp>
Go to the source code of this file.
Macros | |
| #define | BOOST_PP_ITERATION_DEPTH() 0 |
| #define | BOOST_PP_ITERATION() BOOST_PP_CAT(BOOST_PP_ITERATION_, BOOST_PP_ITERATION_DEPTH()) |
| #define | BOOST_PP_ITERATION_START() BOOST_PP_CAT(BOOST_PP_ITERATION_START_, BOOST_PP_ITERATION_DEPTH()) |
| #define | BOOST_PP_ITERATION_FINISH() BOOST_PP_CAT(BOOST_PP_ITERATION_FINISH_, BOOST_PP_ITERATION_DEPTH()) |
| #define | BOOST_PP_ITERATION_FLAGS() (BOOST_PP_CAT(BOOST_PP_ITERATION_FLAGS_, BOOST_PP_ITERATION_DEPTH())()) |
| #define | BOOST_PP_FRAME_ITERATION(i) BOOST_PP_CAT(BOOST_PP_ITERATION_, i) |
| #define | BOOST_PP_FRAME_START(i) BOOST_PP_CAT(BOOST_PP_ITERATION_START_, i) |
| #define | BOOST_PP_FRAME_FINISH(i) BOOST_PP_CAT(BOOST_PP_ITERATION_FINISH_, i) |
| #define | BOOST_PP_FRAME_FLAGS(i) (BOOST_PP_CAT(BOOST_PP_ITERATION_FLAGS_, i)()) |
| #define | BOOST_PP_RELATIVE_ITERATION(i) BOOST_PP_CAT(BOOST_PP_RELATIVE_, i)(BOOST_PP_ITERATION_) |
| #define | BOOST_PP_RELATIVE_0(m) BOOST_PP_CAT(m, BOOST_PP_ITERATION_DEPTH()) |
| #define | BOOST_PP_RELATIVE_1(m) BOOST_PP_CAT(m, BOOST_PP_DEC(BOOST_PP_ITERATION_DEPTH())) |
| #define | BOOST_PP_RELATIVE_2(m) BOOST_PP_CAT(m, BOOST_PP_DEC(BOOST_PP_DEC(BOOST_PP_ITERATION_DEPTH()))) |
| #define | BOOST_PP_RELATIVE_3(m) BOOST_PP_CAT(m, BOOST_PP_DEC(BOOST_PP_DEC(BOOST_PP_DEC(BOOST_PP_ITERATION_DEPTH())))) |
| #define | BOOST_PP_RELATIVE_4(m) BOOST_PP_CAT(m, BOOST_PP_DEC(BOOST_PP_DEC(BOOST_PP_DEC(BOOST_PP_DEC(BOOST_PP_ITERATION_DEPTH()))))) |
| #define | BOOST_PP_RELATIVE_START(i) BOOST_PP_CAT(BOOST_PP_RELATIVE_, i)(BOOST_PP_ITERATION_START_) |
| #define | BOOST_PP_RELATIVE_FINISH(i) BOOST_PP_CAT(BOOST_PP_RELATIVE_, i)(BOOST_PP_ITERATION_FINISH_) |
| #define | BOOST_PP_RELATIVE_FLAGS(i) (BOOST_PP_CAT(BOOST_PP_RELATIVE_, i)(BOOST_PP_ITERATION_FLAGS_)()) |
| #define | BOOST_PP_ITERATE() BOOST_PP_CAT(BOOST_PP_ITERATE_, BOOST_PP_INC(BOOST_PP_ITERATION_DEPTH())) |
| #define | BOOST_PP_ITERATE_1 <eoslib/preprocessor/iteration/detail/iter/forward1.hpp> |
| #define | BOOST_PP_ITERATE_2 <eoslib/preprocessor/iteration/detail/iter/forward2.hpp> |
| #define | BOOST_PP_ITERATE_3 <eoslib/preprocessor/iteration/detail/iter/forward3.hpp> |
| #define | BOOST_PP_ITERATE_4 <eoslib/preprocessor/iteration/detail/iter/forward4.hpp> |
| #define | BOOST_PP_ITERATE_5 <eoslib/preprocessor/iteration/detail/iter/forward5.hpp> |
| #define BOOST_PP_FRAME_FINISH | ( | i | ) | BOOST_PP_CAT(BOOST_PP_ITERATION_FINISH_, i) |
| #define BOOST_PP_FRAME_FLAGS | ( | i | ) | (BOOST_PP_CAT(BOOST_PP_ITERATION_FLAGS_, i)()) |
| #define BOOST_PP_FRAME_ITERATION | ( | i | ) | BOOST_PP_CAT(BOOST_PP_ITERATION_, i) |
| #define BOOST_PP_FRAME_START | ( | i | ) | BOOST_PP_CAT(BOOST_PP_ITERATION_START_, i) |
| #define BOOST_PP_ITERATE | ( | ) | BOOST_PP_CAT(BOOST_PP_ITERATE_, BOOST_PP_INC(BOOST_PP_ITERATION_DEPTH())) |
| #define BOOST_PP_ITERATE_1 <eoslib/preprocessor/iteration/detail/iter/forward1.hpp> |
| #define BOOST_PP_ITERATE_2 <eoslib/preprocessor/iteration/detail/iter/forward2.hpp> |
| #define BOOST_PP_ITERATE_3 <eoslib/preprocessor/iteration/detail/iter/forward3.hpp> |
| #define BOOST_PP_ITERATE_4 <eoslib/preprocessor/iteration/detail/iter/forward4.hpp> |
| #define BOOST_PP_ITERATE_5 <eoslib/preprocessor/iteration/detail/iter/forward5.hpp> |
| #define BOOST_PP_ITERATION | ( | ) | BOOST_PP_CAT(BOOST_PP_ITERATION_, BOOST_PP_ITERATION_DEPTH()) |
| #define BOOST_PP_ITERATION_DEPTH | ( | ) | 0 |
| #define BOOST_PP_ITERATION_FINISH | ( | ) | BOOST_PP_CAT(BOOST_PP_ITERATION_FINISH_, BOOST_PP_ITERATION_DEPTH()) |
| #define BOOST_PP_ITERATION_FLAGS | ( | ) | (BOOST_PP_CAT(BOOST_PP_ITERATION_FLAGS_, BOOST_PP_ITERATION_DEPTH())()) |
| #define BOOST_PP_ITERATION_START | ( | ) | BOOST_PP_CAT(BOOST_PP_ITERATION_START_, BOOST_PP_ITERATION_DEPTH()) |
| #define BOOST_PP_RELATIVE_0 | ( | m | ) | BOOST_PP_CAT(m, BOOST_PP_ITERATION_DEPTH()) |
| #define BOOST_PP_RELATIVE_1 | ( | m | ) | BOOST_PP_CAT(m, BOOST_PP_DEC(BOOST_PP_ITERATION_DEPTH())) |
| #define BOOST_PP_RELATIVE_2 | ( | m | ) | BOOST_PP_CAT(m, BOOST_PP_DEC(BOOST_PP_DEC(BOOST_PP_ITERATION_DEPTH()))) |
| #define BOOST_PP_RELATIVE_3 | ( | m | ) | BOOST_PP_CAT(m, BOOST_PP_DEC(BOOST_PP_DEC(BOOST_PP_DEC(BOOST_PP_ITERATION_DEPTH())))) |
| #define BOOST_PP_RELATIVE_4 | ( | m | ) | BOOST_PP_CAT(m, BOOST_PP_DEC(BOOST_PP_DEC(BOOST_PP_DEC(BOOST_PP_DEC(BOOST_PP_ITERATION_DEPTH()))))) |
| #define BOOST_PP_RELATIVE_FINISH | ( | i | ) | BOOST_PP_CAT(BOOST_PP_RELATIVE_, i)(BOOST_PP_ITERATION_FINISH_) |
| #define BOOST_PP_RELATIVE_FLAGS | ( | i | ) | (BOOST_PP_CAT(BOOST_PP_RELATIVE_, i)(BOOST_PP_ITERATION_FLAGS_)()) |
| #define BOOST_PP_RELATIVE_ITERATION | ( | i | ) | BOOST_PP_CAT(BOOST_PP_RELATIVE_, i)(BOOST_PP_ITERATION_) |
| #define BOOST_PP_RELATIVE_START | ( | i | ) | BOOST_PP_CAT(BOOST_PP_RELATIVE_, i)(BOOST_PP_ITERATION_START_) |


 Will initiate plays
Shy. Will wait until play is initiated
Not active. Would play for less than 15 minutes
A little active. Would play for 15 minutes
Active. Would play for 15-30 minutes
Very active, never gets bored. Could play for 30-60 minutes


Company profile - Canadian Company Capabilities
Third-Party Information Liability Disclaimer
Some of the information on this Web page has been provided by external sources. The Government of Canada is not responsible for the accuracy, reliability or currency of the information supplied by external sources. Users wishing to rely upon this information should consult directly with the source of the information. Content provided by external sources is not subject to official languages, privacy and accessibility requirements.
Interfacing Technologies Corporation
Legal/Operating Name:
Interfacing Technologies Corporation
Mailing Address:
450-1255 Robert-Bourassa BlvdMONTRÉAL, Quebec
H3B 3B6
Location Address:
450-1255 Robert-Bourassa BlvdMONTRÉAL, Quebec
H3B 3B6
Tel.:<PHONE_NUMBER>
Fax:<PHONE_NUMBER>
Company Profile
Interfacing Technologies Corp.(ITC) is a Montreal-based Canadian
software company that provides world-class business process
management solutions. ITC's products and services are geared to
equip enterprises with the ability to successfully implement
processes that enable enterprise goals.
Interfacing Technologies Corporation provides business process
management tools and services to world-class enterprises around
the globe. Its award-winning state-of-the-art solutions for
modeling, analyzing and simulating current and future processes
have gained Interfacing Technologies a leadership position in
business-enabling tools and methods.
The FirstSTEP Tool Set developed and marketed by Interfacing
Technologies includes components that can operate in an
integrated fashion or independently to address a wide spectrum
of enterprise business process needs. FirstSTEP Designer is the
complete modeling, analysis, simulation and reporting tool; its
award-winning Unicenter TNG option adds process monitoring and
management. FirstSTEP Charter provides Visio® users the ability
to map processes in hierarchial and swim-lane fashion and
prepare them for analysis.
The EPC is a web-based portal that provides structured and
simplified access to the enterprise processes, process-related
content, projects and applications. The Enterprise Process
Center is designed to manage and promote collaboration within
the enterprise between employees, managers and process owners,
but also between the enterprise and its clients/suppliers.
Originally focused on consulting services and software solutions
to the manufacturing sector, ITC has evolved into a leading-edge
Business Process Management and Reengineering Software company.
ITC is interested in increasing its worldwide market share
through partnerships with value added resellers, distributors and
management consultants. The company would also entertain
strategic partnering arrangements with technology and service
providers.
Full profile
Full profile
Contact information
Company description
611420 - Computer Training
Product / Service / Licensing
management tool giving business architects and managers the
power to design, document, stimulate, analyze, refine, improve
and reengineer business processes. Business professionals can
now create results by modeling their most important business
knowledge, information and hierarchically represented models
using FirstSTEP Designer 4.5.
exchange. Bi-directional import/export functionality through
PDL standard files (Compliant with Workflow Management Coalition
(WfMC)standards5 lets you define workflow models in FirstSTEP
and then transfer them to your workflow tools.
allows users across an enterprise to cooperatively create, view,
edit and publish structured process models. FirstSTEP Charter
incorporates such enhancements as new team-based enterprise
model creation and sharing, multi-language maps, model
validation, plus much more. Version 4.51, Charter's latest
version has even more enhanced installation features.
simplified access to the enterprise processes, process-related
content, projects and applications. From their EPC web browser
on the desktop, users can easily access their Enterprise Process
Framework and navigate in the process hierarchies to view;
the corresponding maps and process workflows; relevant data
(process and activity attributes as requested for specific
implementations); and related documentation (forms, procedures,
plans, work instructions, etc.). Users can also access
dedicated content areas for project, client and document
management.
The Enterprise Process Center is designed to manage and promote
collaboration within the enterprise between employees, managers
and process owners, but also between the enterprise and its
clients/suppliers.
management tool giving business architects the power to design,
document, analyze, refine, incrementally improve and reengineer
any business process. Developed using state of the art object
technology, FirstSTEP gives the user the power to create a
flexible working model of an enterprise that may be dynamically
simulated to evaluate performance, visualize current operations,
identify alternative process designs and opportunities for
improvement and test the impact of change.
FirstSTEP enables organizations to test changes and fine tune
processes through "what if" scenarios enabling quick reactions
to changing market conditions to maintain a competitive edge.
The organization can simulate the implementation of both new and
proven technologies, evaluate associated risks, determine
capacity requirements for changing market needs and make the
best process improvement decision.
management to any private or public sector organizations
involved in Business Process Management Improvement as well as
major companies and independent management consultants. ITC also
has strategic alliances with management consultant firms.
defining requirements, designing implementation systems for
manufacturing and financial institutions involved in improving
their processes or implementing new systems.
defining requirements, designing implementation systems for
manufacturing and financial institutions involved in improving
their processes or implementing new systems.
Our domain of expertise include: client/server, EDI, MRP,
object-oriented software development
defining requirements, designing implementation systems for
manufacturing and financial institutions involved in improving
their processes or implementing new systems.
Our domain of expertise include: object-oriented software
development.
management tool giving business architects the power to design,
document, analyze, refine, incrementally improve and reengineer
any business process. Developed using state of the art object
technology, FirstSTEP gives the user the power to create a
flexible working model of an enterprise that may be dynamically
simulated to evaluate performance, visualize current operations,
identify alternative process designs and opportunities for
improvement and test the impact of change.
FirstSTEP enables organizations to test changes and fine tune
processes through "what if" scenarios enabling quick reactions
to changing market conditions to maintain a competitive edge.
The organization can simulate the implementation of both new and
proven technologies, evaluate associated risks, determine
capacity requirements for changing market needs and make the
best process improvement decision.
improvement in reengineering using FirstSTEP.
ITC offers two and three-day workshops for business analysts and
users. The approach taken in te training provides a clear
understanding of FirstSTEP's role within an ongoing process
improvement strategy. Participants become familiar with all
important components and principles of FirstSTEP. Through
problem-solving techniques and hands-on modeling and exercises,
participants gain the initial experience necessary to create and
analyze their process and enterprise models upon completion of
the course. ITC offers project mentoring, facilitation and
consulting. FirstSTEP users and consultants can benefit from
these services in their initial projects to ensure successful
process modeling, simulation and analysis results. This service
is provided by ITC directly and through a network of consultants
and business partners world-wide
broad spectrum of enterprise consulting and project services
that include enterprise transformation, process management and
knowledge sharing. At ITC we refer to the methodology
underpinning these products and services as Enterprise and
Business Process Management (BPM). This methodology maintains a
clear focus on the value delivered to the client through a range
of value-added services; including:
- clarifying organizational vision from the enterprise level to
the process and task levels
- business process education and management
- capturing and sharing knowledge
- modeling and redesigning business processes
- mentoring and assistance for continuous process improvement
- implementing supporting technologies and procedures
- developing custom software applications, if required
The EBPM methodology is realized through a scaleable framework
in four phases: Focus, Describe, Innovate, and Implement.
Together, these four phases help you understand and control
process behavior and generate desired results from radical
reinvention to incremental improvement, through new procedures,
new technology and/or resource remaining. Whatever phase your
organization has reached in your renewal project, ITC's
experience with industry-leading enterprises brings clarity and
results.
In applying its approach, ITC's aim always to have its clients
become self-sufficient by mastering the competencies that are
key to their sucess.
Market profile
Alliances:
- Financial
- Sales/Marketing
- Technology
Strategic alliances:
Transforming Technology company into a thriving global productbusiness.
Leveraging Strategic Alliances:
VARs, Management Consultants, OEMs
Integration to workflow, CASE, OLAP, Databases, flowcharting,
document management
Large growth potential for investment firms.
Geographic markets:
Export experience:
- Australia
- Brazil
- Chile
- Cuba
- Czech Republic
- Germany
- Guatemala
- India
- Ireland
- Israel
- Italy
- Jamaica
- Mexico
- Russian Federation
- South Africa
- Thailand
- United Arab Emirates
- United Kingdom
- United States
- Venezuela, Bolivarian Republic of
Actively pursuing:
- Algeria
- France
- Japan
Third-Party Information Liability Disclaimer
Some of the information on this Web page has been provided by external sources. The Government of Canada is not responsible for the accuracy, reliability or currency of the information supplied by external sources. Users wishing to rely upon this information should consult directly with the source of the information. Content provided by external sources is not subject to official languages, privacy and accessibility requirements.
Contacts
Contact information
Description
Company description
611420 - Computer Training
Products, services and licensing
Product / Service / Licensing
management tool giving business architects and managers the
power to design, document, stimulate, analyze, refine, improve
and reengineer business processes. Business professionals can
now create results by modeling their most important business
knowledge, information and hierarchically represented models
using FirstSTEP Designer 4.5.
exchange. Bi-directional import/export functionality through
PDL standard files (Compliant with Workflow Management Coalition
(WfMC)standards5 lets you define workflow models in FirstSTEP
and then transfer them to your workflow tools.
allows users across an enterprise to cooperatively create, view,
edit and publish structured process models. FirstSTEP Charter
incorporates such enhancements as new team-based enterprise
model creation and sharing, multi-language maps, model
validation, plus much more. Version 4.51, Charter's latest
version has even more enhanced installation features.
simplified access to the enterprise processes, process-related
content, projects and applications. From their EPC web browser
on the desktop, users can easily access their Enterprise Process
Framework and navigate in the process hierarchies to view;
the corresponding maps and process workflows; relevant data
(process and activity attributes as requested for specific
implementations); and related documentation (forms, procedures,
plans, work instructions, etc.). Users can also access
dedicated content areas for project, client and document
management.
The Enterprise Process Center is designed to manage and promote
collaboration within the enterprise between employees, managers
and process owners, but also between the enterprise and its
clients/suppliers.
management tool giving business architects the power to design,
document, analyze, refine, incrementally improve and reengineer
any business process. Developed using state of the art object
technology, FirstSTEP gives the user the power to create a
flexible working model of an enterprise that may be dynamically
simulated to evaluate performance, visualize current operations,
identify alternative process designs and opportunities for
improvement and test the impact of change.
FirstSTEP enables organizations to test changes and fine tune
processes through "what if" scenarios enabling quick reactions
to changing market conditions to maintain a competitive edge.
The organization can simulate the implementation of both new and
proven technologies, evaluate associated risks, determine
capacity requirements for changing market needs and make the
best process improvement decision.
management to any private or public sector organizations
involved in Business Process Management Improvement as well as
major companies and independent management consultants. ITC also
has strategic alliances with management consultant firms.
defining requirements, designing implementation systems for
manufacturing and financial institutions involved in improving
their processes or implementing new systems.
defining requirements, designing implementation systems for
manufacturing and financial institutions involved in improving
their processes or implementing new systems.
Our domain of expertise include: client/server, EDI, MRP,
object-oriented software development
defining requirements, designing implementation systems for
manufacturing and financial institutions involved in improving
their processes or implementing new systems.
Our domain of expertise include: object-oriented software
development.
management tool giving business architects the power to design,
document, analyze, refine, incrementally improve and reengineer
any business process. Developed using state of the art object
technology, FirstSTEP gives the user the power to create a
flexible working model of an enterprise that may be dynamically
simulated to evaluate performance, visualize current operations,
identify alternative process designs and opportunities for
improvement and test the impact of change.
FirstSTEP enables organizations to test changes and fine tune
processes through "what if" scenarios enabling quick reactions
to changing market conditions to maintain a competitive edge.
The organization can simulate the implementation of both new and
proven technologies, evaluate associated risks, determine
capacity requirements for changing market needs and make the
best process improvement decision.
improvement in reengineering using FirstSTEP.
ITC offers two and three-day workshops for business analysts and
users. The approach taken in te training provides a clear
understanding of FirstSTEP's role within an ongoing process
improvement strategy. Participants become familiar with all
important components and principles of FirstSTEP. Through
problem-solving techniques and hands-on modeling and exercises,
participants gain the initial experience necessary to create and
analyze their process and enterprise models upon completion of
the course. ITC offers project mentoring, facilitation and
consulting. FirstSTEP users and consultants can benefit from
these services in their initial projects to ensure successful
process modeling, simulation and analysis results. This service
is provided by ITC directly and through a network of consultants
and business partners world-wide
broad spectrum of enterprise consulting and project services
that include enterprise transformation, process management and
knowledge sharing. At ITC we refer to the methodology
underpinning these products and services as Enterprise and
Business Process Management (BPM). This methodology maintains a
clear focus on the value delivered to the client through a range
of value-added services; including:
- clarifying organizational vision from the enterprise level to
the process and task levels
- business process education and management
- capturing and sharing knowledge
- modeling and redesigning business processes
- mentoring and assistance for continuous process improvement
- implementing supporting technologies and procedures
- developing custom software applications, if required
The EBPM methodology is realized through a scaleable framework
in four phases: Focus, Describe, Innovate, and Implement.
Together, these four phases help you understand and control
process behavior and generate desired results from radical
reinvention to incremental improvement, through new procedures,
new technology and/or resource remaining. Whatever phase your
organization has reached in your renewal project, ITC's
experience with industry-leading enterprises brings clarity and
results.
In applying its approach, ITC's aim always to have its clients
become self-sufficient by mastering the competencies that are
key to their sucess.
Market
Market profile
Alliances:
- Financial
- Sales/Marketing
- Technology
Strategic alliances:
Transforming Technology company into a thriving global productbusiness.
Leveraging Strategic Alliances:
VARs, Management Consultants, OEMs
Integration to workflow, CASE, OLAP, Databases, flowcharting,
document management
Large growth potential for investment firms.
Geographic markets:
Export experience:
- Australia
- Brazil
- Chile
- Cuba
- Czech Republic
- Germany
- Guatemala
- India
- Ireland
- Israel
- Italy
- Jamaica
- Mexico
- Russian Federation
- South Africa
- Thailand
- United Arab Emirates
- United Kingdom
- United States
- Venezuela, Bolivarian Republic of
Actively pursuing:
- Algeria
- France
- Japan


ngDrawer
This directives allows you to execute custom behavior, when an ngDrawer is tucked.
<ANY ng-drawer> ... </ANY>


Last updated: 2018-02-14
Code version: 4a4abb1
Setup as asked
## Install and load robustbase
# install.packages('robustbase')
library('robustbase')
## Simulation of 25 samples from normal population
simdat <- rnorm(n = 25, mean = 0, sd = 1)
## Estimate the population sd by the sample sd, MAD and Qn
est1 <- sd(simdat)
est2 <- mad(simdat)
est3 <- Qn(simdat)
Do this many times
## Specify the number of simulations
numsim <- 10000
## Create empty lists of size numsim
simdat <- vector(mode = "list", length = numsim)
est1 <- vector(mode = "list", length = numsim)
est2 <- vector(mode = "list", length = numsim)
est3 <- vector(mode = "list", length = numsim)
## Start for() loop
for(i in 1:numsim){
## Simulation of 25 samples from normal population
simdat[[i]] <- rnorm(n = 25, mean = 0, sd = 1)
## Estimate the population sd by the sample sd, MAD and Qn
est1[[i]] <- sd(simdat[[i]])
est2[[i]] <- mad(simdat[[i]])
est3[[i]] <- Qn(simdat[[i]])
## End for() loop
}
Transform workflow in to a function
## Start function
simfun1 <- function(
## Function parameters
numsim,
n = 25,
pop.mean = 0,
pop.sd = 1
){
## Create empty lists of size numsim
simdat <- vector(mode = "list", length = numsim)
est1 <- vector(mode = "list", length = numsim)
est2 <- vector(mode = "list", length = numsim)
est3 <- vector(mode = "list", length = numsim)
## Start for() loop
for(i in 1:numsim){
## Simulation of 25 samples from normal population
simdat[[i]] <- rnorm(n = n, mean = pop.mean, sd = pop.sd)
## Estimate the population sd by the sample sd, MAD and Qn
est1[[i]] <- sd(simdat[[i]])
est2[[i]] <- mad(simdat[[i]])
est3[[i]] <- Qn(simdat[[i]])
## End for() loop
}
## Save parameter specifications
pars.spec <- data.frame(numsim, n, pop.mean, pop.sd)
## Return the lists
list(pars.spec = pars.spec, simdat = simdat, est1 = est1, est2 = est2, est3 = est3)
## End function
}
To run
## Set random seed and run the function
set.seed(234878)
res1 <- simfun1(numsim = 10000)
Transform output lists to vectors
## Transform results from lists to vectors
est1.v <- unlist(res1$est1)
est2.v <- unlist(res1$est2)
est3.v <- unlist(res1$est3)
Visualize results
## Kernel-Density plots
plot(density(est1.v), xlim = c(0,2), ylim = c(0,3), main = 'Results simfun1')
lines(density(est2.v), col = 'blue')
lines(density(est3.v), col = 'green')
## Add means
abline(v = mean(est1.v))
abline(v = mean(est2.v), col = 'blue')
abline(v = mean(est3.v), col = 'green')
## Add true value
abline(v = res1$pars.spec$pop.sd, col = 'red')
## Add legend
legend('topright', c('Sample SD', 'MAD', 'Qn', 'True value'),
col = c('black', 'blue', 'green', 'red'), lty = 1)
Both SD and Qn seem to be centered at the true value, sample SD is more peaked so this is the most efficient of the three.
In numbers:
## Bias (= mean(estimates) - the true population value)
mean(est1.v) - res1$pars.spec$pop.sd
[1] -0.01315561
mean(est2.v) - res1$pars.spec$pop.sd
[1] -0.02903609
mean(est3.v) - res1$pars.spec$pop.sd
[1] -0.000401699
## Standard error (= standard deviation of estimates)
sd(est1.v)
[1] 0.144101
sd(est2.v)
[1] 0.2326601
sd(est3.v)
[1] 0.1769283
## Mean squared error (= bias^2 + standard error^2)
(mean(est1.v) - res1$pars.spec$pop.sd)^2 + sd(est1.v)^2
[1] 0.02093816
(mean(est2.v) - res1$pars.spec$pop.sd)^2 + sd(est2.v)^2
[1] 0.05497381
(mean(est3.v) - res1$pars.spec$pop.sd)^2 + sd(est3.v)^2
[1] 0.03130377
Looks like eye-balling was not perfect. Qn is closest to the true value (lowest biast), SD is second. SD has the lowest variance, as we saw. Mean squared error (including bias and variance) is best for SD
Mean squared error (including bias and variance) is best for SD
No, they do not chance much.
## Start function
simfun1_outlier <- function(
## Function parameters
numsim,
n = 25,
pop.mean = 0,
pop.sd = 1
){
## Create empty lists of size numsim
simdat <- vector(mode = "list", length = numsim)
est1 <- vector(mode = "list", length = numsim)
est2 <- vector(mode = "list", length = numsim)
est3 <- vector(mode = "list", length = numsim)
## Start for() loop
for(i in 1:numsim){
## Simulation of 25 samples from normal population
simdat[[i]] <- rnorm(n = n, mean = pop.mean, sd = pop.sd)
## generate an outlier that is 10 times as big as expected
simdat[[i]][1] <- 10*simdat[[i]][1]
## Estimate the population sd by the sample sd, MAD and Qn
est1[[i]] <- sd(simdat[[i]])
est2[[i]] <- mad(simdat[[i]])
est3[[i]] <- Qn(simdat[[i]])
## End for() loop
}
## Save parameter specifications
pars.spec <- data.frame(numsim, n, pop.mean, pop.sd)
## Return the lists
list(pars.spec = pars.spec, simdat = simdat, est1 = est1, est2 = est2, est3 = est3)
## End function
}
Run simulations
## Set random seed and run the function
set.seed(23487)
res1 <- simfun1_outlier(numsim = 10000)
## Transform results from lists to vectors
est1.v <- unlist(res1$est1)
est2.v <- unlist(res1$est2)
est3.v <- unlist(res1$est3)
Evaluate estimators
## Bias (= mean(estimates) - the true population value)
mean(est1.v) - res1$pars.spec$pop.sd
[1] 0.9749472
mean(est2.v) - res1$pars.spec$pop.sd
[1] 0.01192038
mean(est3.v) - res1$pars.spec$pop.sd
[1] 0.07743757
## Standard error (= standard deviation of estimates)
sd(est1.v)
[1] 1.025812
sd(est2.v)
[1] 0.2396044
sd(est3.v)
[1] 0.1911491
## Mean squared error (= bias^2 + standard error^2)
(mean(est1.v) - res1$pars.spec$pop.sd)^2 + sd(est1.v)^2
[1] 2.002813
(mean(est2.v) - res1$pars.spec$pop.sd)^2 + sd(est2.v)^2
[1] 0.05755238
(mean(est3.v) - res1$pars.spec$pop.sd)^2 + sd(est3.v)^2
[1] 0.04253454
Now both Qn and MAD are clearly preferable to SD.
Qn seems best in terms of bias and variance
The Student’s t-test is used to compare the locations of two samples. One of the assumptions of this test is that the samples come from normal distributions. If this assumption is thought to be violated, the Wilcoxon-Mann-Whitney (WMW) test is often used as an alternative, since this test does not assume a specific distribution. In this simulation exercise, we will assess the performance (in terms of the power) of both tests when used for normal and non-normal data.
Start by writing a function that draws a sample of size n.s1 from a normal population distribution with mean equal to mean.s1 and standard deviation equal to sd.s1. Then, draw a second sample of size n.s2 from a normal population distribution with mean equal to mean.s2 and standard deviation equal to sd.s2. Compare the two samples using t.test(x = s1, y = s2, var.equal = TRUE). Specify that the function repeats these steps numsim times, each time storing the data and the t-test results in a list. Let the function return these lists. If you want, you can use the same general function structure as was used in simfun1().
simfun_2.1 <- function(
n.s1, n.s2, mean.s1, mean.s2, sd.s1, sd.s2,
nsim = 10000
) {
dat <- vector(mode = "list", length = nsim)
t_results <- vector(mode = "list", length = nsim)
for (i in seq(nsim)) {
s1 <- rnorm(n = n.s1, mean = mean.s1, sd = sd.s1)
s2 <- rnorm(n = n.s2, mean = mean.s2, sd = sd.s2)
dat[[i]] <- data.frame(s1, s2)
t_results[[i]] <- t.test(s1, s2, var.equal = T)
}
params <- data.frame(n.s1, n.s2, mean.s1, mean.s2, sd.s1, sd.s2, nsim)
list(parameters = params, simdat = dat, t.test = t_results)
}
Specify the function’s parameters as n.s1 = 10, n.s2 = 10, mean.s1 = 0, mean.s2 = 0.5, sd.s1 = 1, sd.s2 = 1 and numsim = 10000. Run the function. From the results (i.e. the list of t-test objects), extract the p-values (see the hint below), and calculate the power of the test (using α=0.05). Note that the power of a test is the probability that the test will reject the null hypothesis when the null hypothesis is false. Here, the null hypothesis is false (since the population means of s1 and s2 differ). The power is then calculated as the proportion of results that were significant.
Hint: One way to extract the p-values from the list of t-test objects is by using the sapply() function: for example, for a list named listname, sapply(1:length(listname), FUN = function(i) listname[[i]]$p.value) will return a vector of p values.
Run simulation
set.seed(12345)
simres <- simfun_2.1(n.s1 = 10, n.s2 = 10, mean.s1 = 0, mean.s2 = 0.5,
sd.s1 = 1, sd.s2 = 1, nsim = 10000)
Grab p-values. Note that there is a handy package called broom
that helps grabbing important coefficients from a model fit and puts them in a data.frame. Use the map
function from purrr
to apply broom::tidy
to each element of a list. Use map_df
to give back a data.frame
require(broom)
require(purrr)
simres_df <- simres$t.test %>%
map_df(tidy)
head(simres_df)
estimate1 estimate2 statistic p.value parameter conf.low
1 -0.13294415 0.7859778 -2.4820583 0.02315475 18 -1.696737
2 0.08338741 1.2243200 -2.1344299 0.04681359 18 -2.263954
3 -0.06290978 0.7732625 -1.4158291 0.17389675 18 -2.076952
4 0.02338804 0.9408656 -1.7655418 0.09443027 18 -2.009238
5 0.84250712 0.4741175 0.7989617 0.43472903 18 -0.600315
6 -0.11120045 0.7128092 -1.8482949 0.08105760 18 -1.760646
conf.high method alternative
1 -0.14110645 Two Sample t-test two.sided
2 -0.01791121 Two Sample t-test two.sided
3 0.40460791 Two Sample t-test two.sided
4 0.17428296 Two Sample t-test two.sided
5 1.33709431 Two Sample t-test two.sided
6 0.11262663 Two Sample t-test two.sided
dim(simres_df)
[1] 10000 9
Now see how many times the p-value is below 0.05
table(simres_df$p.value < 0.05)
FALSE TRUE
8150 1850
So the t-test found a significant group difference in 1850 out of 10000 simulations, this means a power of 18.5%
Include the WMW-test (see ?wilcox.test) in your simulation function. Would you perform the two tests on the same data in each run or would you draw new data before each test? Using the function, perform a simulation study investigating the power of both tests for n = 10, 20, 40 and 80 in each group. Use numsim = 10000. Do not adjust the other parameters, and make the simulation replicable. From the output, create a table like the one below. Furthermore, generate a plot of the results, with the sample size on the x-axis and the power on the y-axis. Is numsim sufficiently large?
Yes you would evaluate both tests on each simulated datasets, to reduce variance
Write function
simfun_2.3 <- function(
n.s1, n.s2, mean.s1, mean.s2, sd.s1, sd.s2,
nsim = 10000
) {
dat <- vector(mode = "list", length = nsim)
t_results <- vector(mode = "list", length = nsim)
w_results <- vector(mode = "list", length = nsim)
for (i in seq(nsim)) {
s1 <- rnorm(n = n.s1, mean = mean.s1, sd = sd.s1)
s2 <- rnorm(n = n.s2, mean = mean.s2, sd = sd.s2)
dat[[i]] <- data.frame(s1, s2)
t_results[[i]] <- t.test(s1, s2, var.equal = T)
w_results[[i]] <- wilcox.test(x = s1, y = s2)
}
params <- data.frame(n.s1, n.s2, mean.s1, mean.s2, sd.s1, sd.s2, nsim)
list(parameters = params, simdat = dat, t.test = t_results, w.test = w_results)
}
Use function on a range of values
set.seed(123456)
sim_10 <- simfun_2.3(n.s1 = 10, n.s2 = 10, mean.s1 = 0, mean.s2 = 0.5,
sd.s1 = 1, sd.s2 = 1, nsim = 10000)
sim_20 <- simfun_2.3(n.s1 = 20, n.s2 = 20, mean.s1 = 0, mean.s2 = 0.5,
sd.s1 = 1, sd.s2 = 1, nsim = 10000)
sim_40 <- simfun_2.3(n.s1 = 40, n.s2 = 40, mean.s1 = 0, mean.s2 = 0.5,
sd.s1 = 1, sd.s2 = 1, nsim = 10000)
sim_80 <- simfun_2.3(n.s1 = 80, n.s2 = 80, mean.s1 = 0, mean.s2 = 0.5,
sd.s1 = 1, sd.s2 = 1, nsim = 10000)
Get p-values
Let’s only grab the p-values now, we can also do this with map.
Use map_dbl
to return a double vector (which is computer language for ‘numeric with double precision’, where double stands for the number of digits that are recorded)
df_10_t <- sim_10$t.test %>% map_dbl("p.value")
df_10_w <- sim_10$w.test %>% map_dbl("p.value")
df_20_t <- sim_20$t.test %>% map_dbl("p.value")
df_20_w <- sim_20$w.test %>% map_dbl("p.value")
df_40_t <- sim_40$t.test %>% map_dbl("p.value")
df_40_w <- sim_40$w.test %>% map_dbl("p.value")
df_80_t <- sim_80$t.test %>% map_dbl("p.value")
df_80_w <- sim_80$w.test %>% map_dbl("p.value")
Calculate power
df <- data.frame(
test = rep(c("t", "w"), 4),
sample_size = rep(c(10, 20, 40, 80), each = 2),
power = map_dbl(list(df_10_t, df_10_w, df_20_t, df_20_w, df_40_t, df_40_w,
df_80_t, df_80_w), function(x) mean(x < 0.05))
)
df
test sample_size power
1 t 10 0.1832
2 w 10 0.1627
3 t 20 0.3348
4 w 20 0.3206
5 t 40 0.5931
6 w 40 0.5743
7 t 80 0.8829
8 w 80 0.8641
Put in a table
xtabs(power~sample_size+test, data = df)
test
sample_size t w
10 0.1832 0.1627
20 0.3348 0.3206
40 0.5931 0.5743
80 0.8829 0.8641
The result for sample size 10 for the t-test is consistent with our previous simulation, so it seems that nsim is large enough
Plot it
require(ggplot2)
df %>%
ggplot(aes(x = sample_size, y = power, col = test)) +
geom_line()
The t-test seems to have a consistently higher power for these normal distributed data.
Perform the same simulations on non-normal data using rlnorm(). Use meanlog = 0 and sdlog = 1 for s1 and meanlog = 0.5 and sdlog = 1 for s2.
This is a generic function for simulating data from any distribution built in to R that takes a location and spread parameter, and returning alongside the data, the results of a t-test and a wilcoxon-mann-whitney test.
This only works because many of the functions r..
where ..
is the distribution work with the same argument order (n, mean, sd). (like rnorm
and rlnorm
)
two_group_location_sim <- function(
n.s1, n.s2, mean.s1, mean.s2, sd.s1, sd.s2,
nsim = 10000,
distribution_function = "rnorm"
) {
dat <- vector(mode = "list", length = nsim)
t_results <- vector(mode = "list", length = nsim)
w_results <- vector(mode = "list", length = nsim)
for (i in seq(nsim)) {
s1 <- do.call(distribution_function, list(n.s1, mean.s1, sd.s1))
s2 <- do.call(distribution_function, list(n.s2, mean.s2, sd.s2))
dat[[i]] <- data.frame(s1, s2)
t_results[[i]] <- t.test(s1, s2, var.equal = T)
w_results[[i]] <- wilcox.test(x = s1, y = s2)
}
params <- data.frame(n.s1, n.s2, mean.s1, mean.s2, sd.s1, sd.s2,
nsim, distribution_function)
list(parameters = params, simdat = dat, t.test = t_results, w.test = w_results)
}
Now let’s try to evaluate this function a little more systematically
sample_sizes <- list(10, 20, 40, 80)
set.seed(12345678)
sims <- map(sample_sizes, function(n) {
two_group_location_sim(n.s1 = n, n.s2 = n, mean.s1 = 0, mean.s2 = 0.5,
sd.s1 = 1, sd.s2 = 1, nsim = 10000,
distribution_function = "rlnorm")
})
Grab t-tests and w-tests for each sample size setting
This gets a little complicated since we’re mapping on different levels of the list (remember this is now a list of 4 sample sizes, each consisting of 4 lists (“parameters”, “simdat”, “t.test”, “w.test”)), of which the last two are lists of length 10000, containing the test results
pvals_t <- sims %>%
map("t.test") %>%
map(~map_dbl(.x, "p.value"))
pvals_w <- sims %>%
map("w.test") %>%
map(~map_dbl(.x, "p.value"))
Calculate powers
df <- data.frame(
test = rep(c("t.test", "wilcox.test"), each = 4),
sample_size = rep(unlist(sample_sizes), 2),
power = c(map_dbl(pvals_t, function(x) mean(x<0.05)),
map_dbl(pvals_w, function(x) mean(x<0.05)))
)
Create table
xtabs(power~sample_size+test, data = df)
test
sample_size t.test wilcox.test
10 0.1237 0.1673
20 0.2343 0.3240
40 0.4303 0.5813
80 0.7032 0.8712
Plot
require(ggplot2)
df %>%
ggplot(aes(x = sample_size, y = power, col = test)) +
geom_line()
Now it looks like the wilcox.test is the clear winner.
Briefly discuss your findings.
So for the log-normal distribution, the wilcoxon-mann-whitney test seems to have better power than the t-test, whereas for normally distributed samples, the t-test has more power.
This will be skipped, since it is the graded quiz question
In cluster randomized trials, randomization is performed on clusters of patients (e.g. hospitals or GP’s), instead of on individual patients. There are multiple possible reasons for choosing such a design, but important ones are (1) logistic efficiency and (2) avoiding treatment group contamination.
Suppose that we aim to perform a randomized trial to study the effect of a certain (dichotomous) intervention X on a continuous outcome Y, and to avoid treatment group contamination we will randomize hospitals, not individual patients. Further suppose that two strategies are considered:
including 10 hospitals, with 10 patients each including 50 hospitals, with 2 patients each Perform a simulation study in which you compare these strategies. More specifically, focus on the bias, the standard error, and the MSE of the estimate of the effect of X. In order to deal with the clustering in the data, fit a random intercept model using lmer() (from the lme4 package). Let the true model equal
\[E(Y_{ij})=2+η_i−3X_{ij}+ϵ_{ij}\]
where \(η_i∼N(mean=0,sd=0.5)\) and \(ϵ_{ij}∼N(mean=0,sd=1)\) for patient \(j\) in hospital \(i\).
Note that, due to the complexity of the model, convergence may not be reached in every simulation run. A convenient function to use in such cases is tryCatch.W.E() from the package simsalapar. This function, which can be ‘wrapped’ around a model specification (e.g. fit1 <- tryCatch.W.E(lm(Y~X))), produces a list with objects value and warning. fit1\(value contains the fitted model, if no error occurred. Warnings or errors, if they occurred, are stored in fit1\)warning. This is convenient in a for loop, since it enables us to retrospectively see where exactly something went wrong (as opposed to only seeing warning messages after running the loop, or errors causing the loop to stop).
Make sure that the data and fitted models are stored, and that the results are replicable. Use system.time() to estimate how many simulations can be performed given the time you have, but make sure you performed enough runs so that replicating the simulations does not affect your conclusions.
Create simulation function
sim_clust_rand <- function(
nhospital = 10,
npatients = 100 / nhospital,
nsim = 10000,
true_intercept = 2,
true_effect = -3,
random_intercept_sd = 0.5,
residual_sd = 1
) {
# grab parameters
params = c(as.list(environment())) # grabs all function parameters
# check validity
if (nhospital %% 2 > 0) stop("please provide an even number of participating hospitals")
# initialize lists
simdat = vector(mode = "list", length = nsim)
fits = vector(mode = "list", length = nsim)
# create progress indicator to preserve sanity
progress_times <- round(seq(from = 1, to = nsim, length.out = 100))
for (i in seq(nsim)) {
if (i %in% progress_times) cat(i, "\r")
hospital = rep(1:nhospital, each = npatients)
x = rep(c(1,0), each = (nhospital / 2) * npatients)
random_intercept = rep(rnorm(n = nhospital, 0, random_intercept_sd),
each = npatients)
y = true_intercept + random_intercept + true_effect * x +
rnorm(nhospital * npatients, 0, residual_sd)
simdat[[i]] <- data.frame(hospital, x, random_intercept, y)
fits[[i]] <- simsalapar::tryCatch.W.E(
lme4::lmer(y~x + (1|hospital))
)
}
list(parameters = as.data.frame(params),
simdat = simdat,
fits = fits)
}
Generate 100 simulations to estimate time per simulation
system.time({
sims_1 <- sim_clust_rand(nhospital = 10, nsim = 100)
})
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
user system elapsed
3.389 0.035 3.429
So about 1.8 second per 100 simulations. 10000 should take 3 around minutes.
nsim = 10000
nhospital = 10
npatients = 100 / nhospital
true_intercept = 2
true_effect = -3
random_intercept_sd = 0.5
residual_sd = 1
set.seed(345678)
system.time({
sims_1 <- sim_clust_rand(nhospital = 10, nsim = nsim)
sims_2 <- sim_clust_rand(nhospital = 50, nsim = nsim)
})
1
102
203
304
405
506
607
708
809
910
1011
1112
1213
1314
1415
1516
1617
1718
1819
1920
2021
2122
2223
2324
2425
2526
2627
2728
2829
2930
3031
3132
3233
3334
3435
3536
3637
3738
3839
3940
4041
4142
4243
4344
4445
4546
4647
4748
4849
4950
5051
5152
5253
5354
5455
5556
5657
5758
5859
5960
6061
6162
6263
6364
6465
6566
6667
6768
6869
6970
7071
7172
7273
7374
7475
7576
7677
7778
7879
7980
8081
8182
8283
8384
8485
8586
8687
8788
8889
8990
9091
9192
9293
9394
9495
9596
9697
9798
9899
10000
1
102
203
304
405
506
607
708
809
910
1011
1112
1213
1314
1415
1516
1617
1718
1819
1920
2021
2122
2223
2324
2425
2526
2627
2728
2829
2930
3031
3132
3233
3334
3435
3536
3637
3738
3839
3940
4041
4142
4243
4344
4445
4546
4647
4748
4849
4950
5051
5152
5253
5354
5455
5556
5657
5758
5859
5960
6061
6162
6263
6364
6465
6566
6667
6768
6869
6970
7071
7172
7273
7374
7475
7576
7677
7778
7879
7980
8081
8182
8283
8384
8485
8586
8687
8788
8889
8990
9091
9192
9293
9394
9495
9596
9697
9798
9899
10000
user system elapsed
390.394 1.400 392.147
(actually it took 6-7 minutes for 10000)
We want to grab the estimate of the effect of \(X\).
Let’s see what the result of a single fit looks like
fit1 <- sims_1$fits[[1]]
fit1
$value
Linear mixed model fit by REML ['lmerMod']
Formula: y ~ x + (1 | hospital)
REML criterion at convergence: 299.5013
Random effects:
Groups Name Std.Dev.
hospital (Intercept) 0.665
Residual 1.000
Number of obs: 100, groups: hospital, 10
Fixed Effects:
(Intercept) x
1.764 -2.964
$warning
NULL
Since we used the function simsalapar::tryCatch.W.E()
, the actual fit is put in an element called value
See if we can get effects easily
coef(sims_1$fits[[1]]$value)
$hospital
(Intercept) x
1 0.9180298 -2.964095
2 2.0255223 -2.964095
3 2.6275698 -2.964095
4 1.9457281 -2.964095
5 1.3049497 -2.964095
6 1.6636971 -2.964095
7 2.5211763 -2.964095
8 1.5520048 -2.964095
9 1.1036267 -2.964095
10 1.9812948 -2.964095
attr(,"class")
[1] "coef.mer"
No, this gives us the random effects
What if we try broom
broom::tidy(fit1$value)
term estimate std.error statistic group
1 (Intercept) 1.7643599 0.3293271 5.357470 fixed
2 x -2.9640955 0.4657388 -6.364287 fixed
3 sd_(Intercept).hospital 0.6650088 NA NA hospital
4 sd_Observation.Residual 1.0002244 NA NA Residual
Yes! Someone made sure there is a method for the function lmer
for broom::tidy
Now all we have to do is create a vectorized way of grabbing the coefficients Since we want to know the effect of x, we will focus on that.
broom::tidy(fit1$value) %>% .[.$term == "x", "estimate"]
[1] -2.964095
or
require(broom)
x_hats_1 <- sims_1$fits %>%
map("value") %>%
map(tidy) %>%
map("estimate") %>%
map_dbl(2)
x_hats_2 <- sims_2$fits %>%
map("value") %>%
map(tidy) %>%
map("estimate") %>%
map_dbl(2)
We can create a data.frame to store the estimated effects
require(dplyr)
df <- data.frame(
x_estimate = c(x_hats_1, x_hats_2),
nhospitals = rep(c(10, 50), each = nsim)
)
df %>%
group_by(nhospitals) %>%
# calculate bias, standard error and coverage for both situations
summarize(
bias = mean(x_estimate) - true_effect,
se = sd(x_estimate)
) %>%
ungroup() %>%
# from these, calculate z-score and MSE
mutate(
se_bias = se / sqrt(nsim),
z_score_bias = bias / se_bias,
mse = bias^2 + se^2
)
# A tibble: 2 x 6
nhospitals bias se se_bias z_score_bias mse
<dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
1 10.0 0.00141 0.381 0.00381 0.370 0.145
2 50.0 -0.000481 0.242 0.00242 -0.198 0.0587
We observe that both methods have low bias. Bias is lowest for 50 hospitals, and the variance too MSE is best for 50 hospitals.
50 hospitals seems preferable
sessionInfo()
R version 3.4.3 (2017-11-30)
Platform: x86_64-apple-darwin15.6.0 (64-bit)
Running under: macOS Sierra 10.12.6
Matrix products: default
BLAS: /Library/Frameworks/R.framework/Versions/3.4/Resources/lib/libRblas.0.dylib
LAPACK: /Library/Frameworks/R.framework/Versions/3.4/Resources/lib/libRlapack.dylib
locale:
[1] en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8
attached base packages:
[1] stats graphics grDevices utils datasets methods base
other attached packages:
[1] bindrcpp_0.2 dplyr_0.7.4 ggplot2_2.2.1 purrr_0.2.4
[5] broom_0.4.3 robustbase_0.92-8
loaded via a namespace (and not attached):
[1] Rcpp_0.12.14 nloptr_1.0.4 DEoptimR_1.0-8 compiler_3.4.3
[5] pillar_1.1.0 git2r_0.20.0 plyr_1.8.4 bindr_0.1
[9] tools_3.4.3 lme4_1.1-15 digest_0.6.14 evaluate_0.10.1
[13] tibble_1.4.1 nlme_3.1-131 gtable_0.2.0 lattice_0.20-35
[17] pkgconfig_2.0.1 rlang_0.1.6 Matrix_1.2-12 psych_1.7.8
[21] cli_1.0.0 yaml_2.1.16 parallel_3.4.3 stringr_1.2.0
[25] knitr_1.18 rprojroot_1.2 grid_3.4.3 glue_1.2.0
[29] R6_2.2.2 foreign_0.8-69 rmarkdown_1.8 minqa_1.2.4
[33] tidyr_0.7.2 reshape2_1.4.3 magrittr_1.5 MASS_7.3-47
[37] splines_3.4.3 backports_1.1.2 scales_0.5.0 htmltools_0.3.6
[41] assertthat_0.2.0 mnormt_1.5-5 colorspace_1.3-2 labeling_0.3
[45] utf8_1.1.3 stringi_1.1.6 lazyeval_0.2.1 munsell_0.4.3
[49] crayon_1.3.4
This R Markdown site was created with workflowr