Category Archives: Presenting results

7 Easy Steps to Building your Own Shiny App from Scratch

Shiny is a powerful tool in R for you to show off your work to the world, without explaining all the complicated code behind your analysis. Because of its free and open-source development and deployment structure, sharing your methods or work online was never easier. For example, in our recent publication in the Journal of European Psychology Students my colleagues and me used Shiny to implement a network method in which we used the concept of network centrality to determine the most relevant articles in a research field. Because I believe there are a lot of benefits in sharing one’s methods, my hopes are that this blog post has the possibility to also inspire you to share your own work through Shiny. I will walk you though developing your own R Shiny application from scratch, tailoring it to your design choices, and publishing it online, in 7 easy steps. Together we will create an application that has a pleasant layout, allows the user to upload a data file, performs some calculations on selected variables and returns the output in a nice format. Code snippets will be given at every step along the way, which you can paste directly into R to see how the application develops from basic functionality to a fully functioning web app. The result can be found here.

Step 1: The Idea

The first step in any design process is thinking of an idea. This, for me, is also the most important step in the process. I that it helps me a great deal when the application and the features that I want in it are completely defined in my head. I will often draw the layout and the features that I have in mind on a piece of paper. The reason I do this is that, because you will build your Shiny application step-by-step, it would be a waste if you would have to go back and change things in the layout. So, I drew our imagined application on a piece of paper. I will make a one-page application that allows the user to upload some data, perform a correlation analysis and inspect the results.

Step 2: Launching Shiny

Shiny itself is an R package that works best in RStudio, which is the most used R environment among users. For RStudio to work properly, you need to separately install R on your computer. Once you open RStudio, in the new file menu, click the option to open a new Shiny Web App. RStudio will now prompt you with the screen below, asking you to specify the folder name for the application, whether you want a single file app or multiple file app, and the directory on your computer in which you want the app folder to be created. For ease of illustration we will create the application in a single file, but both options are okay to use. I am going to name the app directory “correlation” and it will go into one of my many folders, probably never to see the light of day again.

Tip. If you are familiar with Github, this is probably a good time to set up a repository in the application directory for version control.

Step 3: The Shiny Structure

Any Shiny application has two parts, the user interface (UI) function and the server function, which interact with each other. The UI function has an important visual task. It creates the html environment that allows the user to interact with the server function using buttons, sliders and other custom inputs while also rendering the visual output. All these components are placed in a layout in the UI function. The server function is responsible for all the calculations according to the input options that is receives from the UI function. The server function is where all the computational heavy-lifting is performed, like calculating the statistics for our correlation analysis. For example, if the user enables a checkbox (UI) that controls whether a regression line should be drawn in a scatter plot, the plot should be created (server) with a regression line and rendered in html (UI) to be displayed on the screen. The picture below shows how input and output are bounced around between the UI function and the server function and hopefully gives you an idea about the interaction between the two.

Tip. Try to get a feeling of the interaction between the UI and server functions. Ask questions like: what options should I have, and what should happen to the output when the user changes these options?

Step 4: Creating Your Layout

Let me say that there is a lot of packages out there that make shiny applications look pretty, and I agree that these downloadable add-ons can really improve the quality to your work and are worth looking into. Packages like Shiny Dashboard will make your applications look and feel fantastic. For now, I consider these topics advanced knowledge and I will provide you with a list of them at the end, so you can explore them yourself. However, they still require a basic understanding of Shiny concepts and therefore I will stick to the basics in this post.

When you first create a new Shiny app, R presents you with a default template application drawing a histogram. Check it out if you want, by pressing the “Run App” button in RStudio. However, the first step to any good and original app is to start from scratch. So, to start off, completely empty the pre-defined ui() and server() functions that R presents you with. We are going to make our own, better functions. All the information that I discuss here can also be found at the Shiny layout guide, which is a great resource when starting with Shiny.

The number of pages or tabs of your application will be defined by one of the page functions. Page functions are the top level of your UI function. For an application with multiple tab-pages, you can assign the navbarPage() function to the UI object. However, the default page equals a fluidPage() layout, which gives you a single page to work with. Since our application requires only one tab, let’s keep the default page function. The page will be assigned to the UI function. You can check out code snippet #1 for how I applied this in R. Remember you can check the application at any time by running the app through RStudio.

We are now going to further layout our page, since it still empty. In my applications, I often use a sidebar to indicate the difference between the input (options) and the output (result). With a sidebar, the application is divided in two parts; the sidebar for the input options and the main panel for the output display. The sidebar layout can be set by inserting the sidebarLayout() function into the fluid page. Since this layout can include a sidebar and a main panel, we will insert them into the sidebar layout by calling their appropriate layout functions as well, see code snippet #2. Finally, a title panel can be inserted above the sidebar layout with titlePanel(“Correlation”).

This skeleton will be the framework of the application. We will fill these layouts with drop-down menus, upload buttons, tables and plots. Remember that at this point, the server() function is still empty. We don’t need it yet, since we want to build up the entire user-interface first.

The Sidebar

Let’s start with filling the sidebar. Shiny is rendered in an html environment and uses recognizable html functions for text rendering. For example, we can display our intro text with the p() function, displaying regular text. However, if we would like to adjust the font size of the text, we could also use one of h1() through h6() to enlarge the font size. We can add our first interactive element, the upload button, by inserting the fileInput() function in the sidebar. Every interactive UI element has an inputId argument, which basically names the element. This name is used to refer to the element in the server function and should always be filled. For our data input, inputid=”datafile” will be an appropriate name. The file input allows the user to browse their computer for a file to upload to your application. The two drop-down menu’s for selecting variables can be inserted via the selectInput() function. We’ll leave the choices argument in these functions empty for now, I’m going to show you a neat little trick I’ve come across to automatically read in the variable names from the uploaded data set. Going down, we are going to insert a bold title for the plot header with p(strong(“Plot”)). Underneath this header there are two checkboxes, one for the regression line and one for the residuals, for which we use checkboxInput(). We repeat this process for the table header. Lastly, we add an update button using the actionButton() function. I find these buttons working very nicely, as they allow the application to only perform a calculation when all options are set correctly by the user. This saves computation time and makes your application faster, and easier to work with.

The Main Panel

The main panel is where we are going to display the output of our correlation analysis, namely the plot and the results table. It basically works the same as filling the sidebar panel. First, we want to display a header for the results which is slightly larger than regular text, so we’ll use h3(“Result”) for that. Adding plots and tables is extremely easy in Shiny and is done by output functions. These functions reserve a spot for the specific output in the main panel. The plot is reserved with the plotOutput() function and the table with tableOutput(). Remember that we have to give them appropriate input id’s. The result when we run our application is now a nice and clean layout, visually and in code.

Tip Online resources are your friend. Try to use them as much as possible, as they will increase your understanding of the process of making a Shiny application. Look for YouTube clips and blog posts to clarify the material for you.

Step 5: Creating Functionality

Let’s give the application some functionality by filling in the server function. The first logical step is to make sure that the data is read in correctly. For this purpose, we are going to make the drop-down menus recognize the variable names by performing a neat little trick in the server function. When we insert the following code snippet in our server function and run the application, you can see that it now recognizes our variable names in the data file as inputs.

Now it’s time to create the true functionality within the app, namely creating a scatter plot of two user-specified variables, inserting an optional regression line and residuals, and creating a table of the results. As stated in the previous paragraphs, an action button is ideal for monitoring user actions. Only when this button is clicked, the output will be updated. Monitoring buttons is done with the observeEvent() function, which links functionality to an event. In our case, the event is the click on the action button and the functionality is all that I mentioned above. The functionality will only get activated when the action button is clicked by the user. The code for what happens when the button is clicked is inside the second part of the observeEvent() function. This way of thinking makes Shiny a very intuitive and chronological way of working for me. For example, when the button is clicked, the following happens in order (see code snippet #4): 1) a data frame is made with both variables in it, 2) the correlation analysis is run, 3) the output data frame is made, 4) the table is rendered, 5) the plot is created, 6) the additional elements are drawn conditionally and, 7) the plot is rendered. Code snippet #4 shows this chronological order within the server function. Check out how it works by running the app locally if you feel like it.

Tip Programming in Shiny will be a lot of trial-and-error when you do it for the first couple of times. Refresh the browser page in which you are running the application to see the effect of your code changes immediately, instead of closing and opening it each time.

Step 6: Fine-tuning

When the functionality of your application is finished, it is time for the most fun part: making your Shiny app pretty. For example, use shinycssloaders to display some pretty graphics as plots are being created within the server function. It is extremely easy to use, just put withSpinner() around the plotOutput() part of code in the UI function. Other R packages that are be very useful for making your app beautiful are Shinyjs for JavaScript features like showing and hiding options, ShinyWidgets for upgraded and additional widgets, like turning checkboxes into toggle switches (picture below) and ShinyBS to add bootstrap html elements to your app. It is important to remember to load additional packages into your application by calling the library() function at the top of your R file.

Step 7: Publishing Your App

When every component of your application is finished, you are ready to publish your shiny app online. Next to the “Run App” button in RStudio you find a little blue icon   which, when clicked, brings you to the next screen:

If you do not have an account on, create one as it is needed for publishing your application, and connect it to RStudio. When this is done, life gets easy. You just have to click the “Publish” button and all work will be done for you. The application will be uploaded to the shiny server and is accessible from your account, but also from a specific URL. The URL for my application for example, is Share your work and enjoy!

Continue reading

Koen Derks

Koen Derks is a PhD student at Nyenrode Business University. Before he started researching Bayesian statistics in financial auditing, he studied psychological methods at the University of Amsterdam (UvA), where his interests for statistics and programming developed itself. Today, he is still collaborating with the UvA to develop software tools for students and practitioners to make data analysis fun and intuitive.

More Posts


Open online education: Research findings and methodological challenges

With a reliable internet connection comes access to the enormous World Wide Web. Being so large, we rely on tools like Google to search and filter all this information. Additional filters can be found in sites like Wikipedia, offering a library style access to curated knowledge, but it too is enormous. In more recent years, open online courses has rapidly become a highly popular method of gaining easy access to curated, high quality, as well as pre-packaged knowledge. A particularly popular variety is the Massive Open Online Course, or MOOC, which are found on platforms like Coursera and edX. The promise – global and free access to high quality education – has often been applauded. Some have heralded the age of the MOOC as the death of campus based teaching. Others are more critical, often citing the high drop-out rates as a sign of failure, or argue that MOOCs do not or cannot foster ‘real’ learning (e.g., Zemsky, 2014; Pope, 2014). Continue reading

Tim van der Zee

Skeptical scientist. I study how people learn from educational videos in open online courses, and how we can help them learn better. PhD student at Leiden University (the Netherlands), but currently a visiting scholar at MIT and UMass Lowell. You can follow me on Twitter: @Research_Tim and read my blog at

More Posts - Website

Follow Me:


The Mind-the-Mind Campaign: Battling the Stigma of Mental Disorders

People suffering from mental disorders face great difficulties in their daily lives and deserve all possible support from their social environment. However, their social milieus are often host to stigmatizing behaviors that actually serve to increase the severity of their mental disorders: People diagnosed with a mental disorder are often believed to be dangerous and excluded from social activities. Individuals who receive treatment are seen as being “taken care of” and social support is extenuated. Concerned friends, with all their best intentions, might show apprehensiveness when it comes to approaching someone with a diagnosis, and end up doing nothing (Corrigan & Watson, 2002). These examples are not of exceptional, sporadic situations—according to the World Health Organisation, nine out of ten people with a diagnosis report suffering from stigmatisation (WHO, 2016). Continue reading

Jonas Haslbeck

Jonas Haslbeck

Jonas is a Senior Editor at the Journal of European Psychology Students. He is currently a PhD student in psychological methods at the University of Amsterdam, The Netherlands. For further info see

More Posts


Introducing JASP: A free and intuitive statistics software that might finally replace SPSS

Are you tired of SPSS’s confusing menus and of the ugly tables it generates? Are you annoyed by having statistical software only at university computers? Would you like to use advanced techniques such as Bayesian statistics, but you lack the time to learn a programming language (like R or Python) because you prefer to focus on your research?

While there was no real solution to this problem for a long time, there is now good news for you! A group of researchers at the University of Amsterdam are developing JASP, a free open-source statistics package that includes both standard and more advanced techniques and puts major emphasis on providing an intuitive user interface.

The current version already supports a large array of analyses, including the ones typically used by researchers in the field of psychology (e.g. ANOVA, t-tests, multiple regression).

In addition to being open source, freely available for all platforms, and providing a considerable number of analyses, JASP also comes with several neat, distinctive features, such as real-time computation and display of all results. For example, if you decide that you want not only the mean but also the median in the table, you can tick “Median” to have the medians appear immediately in the results table. For comparison, think how this works in SPSS: First, you must navigate a forest of menus (or edit the syntax), then, you execute the new syntax. A new window appears and you get a new (ugly) table.


In JASP, you get better-looking tables in no time. Click here to see a short demonstration of this feature. But it gets even better—the tables are already in APA format and you can copy and paste them into Word. Sounds too good to be true, doesn’t it? It does, but it works!

Interview with lead developer Jonathon Love

Where is this software project coming from? Who pays for all of this? And what plans are there for the future? There is nobody who could answer these questions better than the lead developer of JASP, Jonathon Love, who was so kind as to answer a few questions about JASP.

How did development on JASP start? How did you get involved in the project?

All through my undergraduate program, we used SPSS, and it struck me just how suboptimal it was. As a software designer, I find poorly designed software somewhat distressing to use, and so SPSS was something of a thorn in my mind for four years. I was always thinking things like, “Oh, what? I have to completely re-run the analysis, because I forgot X?,” “Why can’t I just click on the output to see what options were used?,” “Why do I have to read this awful syntax?,” or “Why have they done this like this? Surely they should do this like that!”

At the same time, I was working for Andrew Heathcote, writing software for analyzing response time data. We were using the R programming language and so I was exposed to this vast trove of statistical packages that R provides. On one hand, as a programmer, I was excited to gain access to all these statistical techniques. On the other hand, as someone who wants to empower as many people as possible, I was disappointed by the difficulty of using R and by the very limited options to provide a good user interface with it.

So I saw that there was a real need for both of these things—software providing an attractive, free, and open statistics package to replace SPSS, and a platform for methodologists to publish their analyses with rich, accessible user interfaces. However, the project was far too ambitious to consider without funding, and so I couldn’t see any way to do it.

Then I met E.J. Wagenmakers, who had just received a European Research Council grant to develop an SPSS-like software package to provide Bayesian methods, and he offered me the position to develop it. I didn’t know a lot about Bayesian methods at the time, but I did see that our goals had a lot of overlap.

So I said, “Of course, we would have to implement classical statistics as well,” and E.J.’s immediate response was, “Nooooooooooo!” But he quickly saw how significant this would be. If we can liberate the underlying platform that scientists use, then scientists (including ourselves) can provide whatever analyses we like.

And so that was how the JASP project was born, and how the three goals came together:

  • to provide a liberated (free and open) alternative to SPSS
  • to provide Bayesian analyses in an accessible way
  • to provide a universal platform for publishing analyses with accessible user interfaces


What are the biggest challenges for you as a lead developer of JASP?

Remaining focused. There are hundreds of goals, and hundreds of features that we want to implement, but we must prioritize ruthlessly. When will we implement factor analysis? When will we finish the SEM module? When will data entry, editing, and restructuring arrive? Outlier exclusion? Computing of variables? These are all such excellent, necessary features; it can be really hard to decide what should come next. Sometimes it can feel a bit overwhelming too. There’s so much to do! I have to keep reminding myself how much progress we’re making.

Maintaining a consistent user experience is a big deal too. The JASP team is really large, to give you an idea, in addition to myself there’s:

  • Ravi Selker, developing the frequentist analyses
  • Maarten Marsman, developing the Bayesian ANOVAs and Bayesian linear regression
  • Tahira Jamil, developing the classical and Bayesian contingency tables
  • Damian Dropmann, developing the file save, load functionality, and the annotation system
  • Alexander Ly, developing the Bayesian correlation
  • Quentin Gronau, developing the Bayesian plots and the classical linear regression
  • Dora Matzke, developing the help system
  • Patrick Knight, developing the SPSS importer
  • Eric-Jan Wagenmakers, coming up with new Bayesian techniques and visualizations

With such a large team, developing the software and all the analyses in a consistent and coherent way can be really challenging. It’s so easy for analyses to end up a mess of features, and for every subsequent analysis we add to look nothing like the last. Of course, providing as elegant and consistent a user-experience is one of our highest priorities, so we put a lot of effort into this.


How do you imagine JASP five years from now?

JASP will provide the same, silky, sexy user experience that it does now. However, by then it will have full data entering, editing, cleaning, and restructuring facilities. It will provide all the common analyses used through undergraduate and postgraduate psychology programs. It will provide comprehensive help documentation, an abundance of examples, and a number of online courses. There will be textbooks available. It will have a growing community of methodologists publishing the analyses they are developing as additional JASP modules, and applied researchers will have access to the latest cutting-edge analyses in a way that they can understand and master. More students will like statistics than ever before.


How can JASP stay up to date with state-of-the-art statistical methods? Even when borrowing implementations written in R and the like, these always have to be implemented by you in JASP. Is there a solution to this problem?

Well, if SPSS has taught us anything, you really don’t need to stay up to date to be a successful statistical product, ha-ha! The plan is to provide tools for methodologists to write add-on modules for JASP—tools for creating user interfaces and tools to connect these user interfaces to their underlying analyses. Once an add-on module is developed, it can appear in a directory, or a sort of “App Store,” and people will be able to rate the software for different things: stability, user-friendliness, attractiveness of output, and so forth. In this way, we hope to incentivize a good user experience as much as possible.

Some people think this will never work—that methodologists will never put in all that effort to create nice, useable software (because it does take substantial effort). But I think that once methodologists grasp the importance of making their work accessible to as wide an audience as possible, it will become a priority for them. For example, consider the following scenario: Alice provides a certain analysis with a nice user interface. Bob develops an analysis that is much better than Alice’s analysis, but everyone uses Alice’s, because hers is so easy and convenient to use. Bob is upset because everyone uses Alice’s instead of his. Bob then realizes that he has to provide a nice, accessible user experience for people to use his analysis.

I hope that we can create an arms race in which methodologists will strive to provide as good a user experience as possible. If you develop a new method and nobody can use it, have you really developed a new method? Of course, this sort of add-on facility isn’t ready yet, but I don’t think it will be too far away.


You mention on your website that many more methods will be included, such as structural equation modeling (SEM) or tools for data manipulation. How can you both offer a large amount of features without cluttering the user interface in the future?

Currently, JASP uses a ribbon arrangement; we have a “File” tab for file operations, and we have a “Common” tab that provides common analyses. As we add more analyses (and as other people begin providing additional modules), these will be provided as additional tabs. The user will be able to toggle on or off which tabs they are interested in. You can see this in the current version of JASP: we have a proof-of-concept SEM module that you can toggle on or off on the options page. JASP thus provides you only with what you actually need, and the user interface can be kept as simple as you like.


Students who are considering switching to JASP might want to know whether the future of JASP development is secured or dependent on getting new grants. What can you tell us about this?

JASP is currently funded by a European Research Council (ERC) grant, and we’ve also received some support from the Centre for Open Science. Additionally, the University of Amsterdam has committed to providing us a software developer on an ongoing basis, and we’ve just run our first annual Bayesian Statistics in JASP workshop. The money we charge for these workshops is plowed straight back into JASP’s development.

We’re also developing a number of additional strategies to increase the funding that the JASP project receives. Firstly, we’re planning to provide technical support to universities and businesses that make use of JASP, for a fee. Additionally, we’re thinking of simply asking universities to contribute the cost of a single SPSS license to the JASP project. It would represent an excellent investment; it would allow us to accelerate development, achieve feature parity with SPSS sooner, and allow universities to abandon SPSS and its costs sooner. So I don’t worry about securing JASP’s future, I’m thinking about how we can expand JASP’s future.

Of course, all of this depends on people actually using JASP, and that will come down to the extent that the scientific community decides to use and get behind the JASP project. Indeed, the easiest way that people can support the JASP project is by simply using and citing it. The more users and the more citations we have, the easier it is for us to obtain funding.

Having said all that, I’m less worried about JASP’s future development than I’m worried about SPSS’s! There’s almost no evidence that any development work is being done on it at all! Perhaps we should pass the hat around for IBM.


What is the best way to get started with JASP? Are there tutorials and reproducible examples?

For classical statistics, if you’ve used SPSS, or if you have a book on statistics in SPSS, I don’t think you’ll have any difficulty using JASP. It’s designed to be familiar to users of SPSS, and our experience is that most people have no difficulty moving from SPSS to JASP. We also have a video on our website that demonstrates some basic analyses, and we’re planning to create a whole series of these.

As for the Bayesian statistics, that’s a little more challenging. Most of our effort has been going in to getting the software ready, so we don’t have as many resources for learning Bayesian statistics ready as we would like. This is something we’ll be looking at addressing in the next six to twelve months. E.J. has at least one (maybe three) books planned.

That said, there are a number of resources available now, such as:

  • Alexander Etz’s blog
  • E.J.’s website provides a number of papers on Bayesian statistics (his website also serves as a reminder of what the internet looked like in the ’80s)
  • Zoltan Dienes book is a great for Bayesian statistics as well

However, the best way to learn Bayesian statistics is to come to one of our Bayesian Statistics with JASP workshops. We’ve run two so far and they’ve been very well received. Some people have been reluctant to attend—because JASP is so easy to use, they didn’t see the point of coming and learning it. Of course, that’s the whole point! JASP is so easy to use, you don’t need to learn the software, and you can completely concentrate on learning the Bayesian concepts. So keep an eye out on the JASP website for the next workshop. Bayes is only going to get more important in the future. Don’t be left behind!


Jonas Haslbeck

Jonas Haslbeck

Jonas is a Senior Editor at the Journal of European Psychology Students. He is currently a PhD student in psychological methods at the University of Amsterdam, The Netherlands. For further info see

More Posts


Why Would Researchers Skip Peer-Review? Media Reports of Unpublished Findings

‘You love your iPhone. Literally.’ ‘This is your brain on politics.’ ‘Overclock your brain using transcranial Direct Current Stimulation (tDCS).’ There are many other claims in psychology which have been publicised by the media, yet remain unchecked by academic experts. Peer-reviewed publications – papers which have been checked by researchers of similar expertise to the authors – are produced very slowly and only occasionally make instant impacts outside the walls of academia. In contrast, media publications are produced very quickly and provoke immediate reactions from the general public. Continue reading

Robert Blakey

Robert Blakey

Robert Blakey is a third year undergraduate student of Experimental Psychology at the University of Oxford and was a member of the 2012-2013 cohort of EFPSA's Junior Researcher Programme. He is currently carrying out a research project on the effect of interaction on estimation accuracy and writing a dissertation on consumer neuroscience. He is also interested in social cognition and specifically, public perceptions of influences on behaviour.

More Posts


How to Design Effective Figures for Journal Articles

graphsGraphics and figures we design are the first thing editors and other readers look at when browsing through our paper. Hence, it is prominent to be efficient in conveying complex information so the included data would be more concise and clear than the descriptive text itself. If you do it right, not only your chances for publication will increase, but it will as well help your audience to understand your ideas, objectives and results in a better way. So, in short, keep them interested. Want to know how to do it? I bet that the answer is yes. So, follow meContinue reading

Magdalena Kossowska

Magdalena Kossowska

Magdalena Eliza Kossowska is a Psychologist, Project Manager, and Recruiter. She has volunteered for various NGOs (including EFPSA, AEGEE, Polish Psychologists Association), and participated in scholarships in Prague, Czech Republic; Tromso, Norway; and London, United Kingdom. She is interested in organisational, cross cultural, as well as cognitive psychology.

More Posts


A Change of View: Using Visual Methods to Explore Experience in Qualitative Research


The topic of this bulletin arose from a talk given by Dr. Anna Bagnoli, who had used a variety of visual methods in addition to verbal interviews in order to holistically study young people’s identities.  Intrigued by the question of how such data could be collected and analysed to contribute to understandings of psychological topics, the author of this post recently carried out an interview with Dr. Bagnoli on behalf of the Open University Psychological Society (Rouse, 2013).  In this bulletin post the author will share what she has learnt from this interview and by researching the use of visual methods to explore experience and meaning.

Continue reading

Lorna Rouse

Lorna Rouse

Lorna graduated from the Open University in 2009 with a BSc (honours) in psychology and is currently studying for an MSc in Psychological Research Methods at Anglia Ruskin University. Lorna has worked as a Research Assistant at the University of Cambridge, providing support for studies investigating recovery from traumatic brain injury. In her spare time she organises events for the Cambridge branch of the Open University Psychological Society. She is particularly interested in qualitative research methods and intellectual disabilities.

More Posts


Confessions of a Research Blog Editor

I can’t keep secrets. I’m not referring to my friend’s hush-hushes or any information that may harm others in any shape or form. I am talking about lessons and experiences in life that are worth sharing with others. For example, when I made a mistake of choosing an overly complex research question for my dissertation, I decided to write an article to tell everyone about it, so that others won’t make the same mistake as I did. This habit of mine, I suspect, comes from having been immersing myself in the world of scientific research for almost a decade. You see, the very basis of a researcher’s job is to develop new knowledge that contributes towards human’s understanding of the world, and to share these new information with everyone.

Continue reading


Why Are Most Research Findings Incorrect?

Some of you might have asked themselves this question a couple of times when checking out the literature of a specific field. Imagine the following situation: You have completed your research and now you want to compare your results to research done previously. You finally found the suitable article, have the necessary effect sizes/power and can start comparing. But wait: Who actually tells you that the reported results are correct? Would you happen to notice if the results had been influenced by factors which are sometimes not even visible to the authors themselves? The probability of you detecting them, are tiny, especially as you only have certain information of how the study has been done and what elements have been removed. It is hard to digest, but most research findings, even those reported in high quality journals, are incorrect. Try to imagine the impact this situation has on your education and your research such as research in general.

In the following post I want to discuss multiple factors of why and how research results can be false and want to outline some aspects of how the situation might be improved. The main aspects are thereby retrieved from Ioannidis essay (2005). Continue reading


Say again?: Scientific writing and publishing in non-English speaking countries

In the scientific world, there is an unspoken rule that researchers must be fluent in English in order to obtain international recognition for their work. Even if one does not speak fluent English, the researcher should at least possess a certain level of understanding in the language in order to access and read scientific literature, which are usually only available in English. In fact, it has become one of the main characteristics that employers actively seek for in young research talents. As a result, it is common for scholars to publish their academic work in English, even though English is not their native language, whereas scientists who are not fluent in English struggle to gain recognition for their work, or even survive in the ever increasingly competitive world of academia.

While having an international scientific language allows for better communication among researchers from all around the world, there are two caveats in applying this readily-accepted rule: 1) What happens to research findings that are published in languages other than English? 2) How do researchers readily apply knowledge and insights gained from scientific research findings published in English in non-English-speaking countries?

Continue reading