How to Interpret Significance Codes in R

Spread the love

When you run statistical tests or models in R, the output often contains “significance codes” represented by asterisks or other symbols. These codes serve as a quick guide to understanding the results of your statistical analysis. However, interpreting these symbols correctly is crucial for making valid inferences. This article aims to provide a comprehensive understanding of how to interpret these significance codes in R.

Understanding p-values

Before delving into significance codes, it’s essential to understand what a p-value is. In simple terms, a p-value is the probability of observing a test statistic as extreme or more extreme than the one calculated from your data, assuming that the null hypothesis is true. Lower p-values indicate stronger evidence against the null hypothesis, while higher p-values suggest weaker evidence.

What are Significance Codes?

Significance codes are shorthand representations of p-values. They allow researchers to quickly gauge the level of statistical significance for each variable or test in the output. For example, a variable in a regression output might be accompanied by one, two, or three asterisks, each representing different levels of significance.

The Star System in R

In R, the star system is quite common, especially in the output of linear models (lm), generalized linear models (glm), and other statistical tests. The mapping is generally as follows:

  • ***: Highly significant (p-value < 0.001)
  • **: Very significant (p-value < 0.01)
  • *: Significant (p-value < 0.05)
  • .: Marginally significant (p-value < 0.1)
  • : Not significant (p-value >= 0.1)

Customizing Significance Levels

Although these are the standard levels, it’s possible to customize them depending on the specific needs of your research or discipline standards.

Interpretation in Various Types of Analysis

Linear Regression

In linear regression, each predictor variable has an associated p-value and, consequently, a significance code. If the p-value is low (and the significance code indicates this with asterisks), it suggests that the variable is a meaningful addition to your model and should not be omitted.


In Analysis of Variance (ANOVA), the significance codes help you understand whether the means across different groups are the same. If you find a low p-value (high significance), this would suggest that at least one group’s mean is different from the others.

Chi-square tests

In chi-square tests, significance codes can tell you whether the observed distribution of categorical variables is consistent with the expected distribution.

Common Misunderstandings and Pitfalls

Misinterpreting Significance as Importance

One common mistake is equating statistical significance with practical or scientific importance. A variable can be statistically significant but have a minuscule effect size, making it practically insignificant.

Multiple Comparisons Problem

If you are running multiple tests, bear in mind that you are increasing the chance of finding at least one significant result just by chance. Adjustments such as the Bonferroni correction may be necessary.

Relying Solely on p-values

Another pitfall is relying solely on p-values (and by extension, significance codes) to interpret your results. They are just one piece of the puzzle. Other metrics like confidence intervals, effect sizes, or domain-specific considerations are also important.


Significance codes in R offer a convenient way to interpret the p-values in the output of various statistical tests and models. However, it’s essential to understand what these codes mean and, more importantly, what they don’t mean. By understanding the significance codes and their limitations, you can make more informed, accurate conclusions from your R analyses.

Understanding how to interpret these codes can save you time and prevent incorrect inferences. Therefore, while these shorthand notations are handy, they should be used as part of a broader toolkit for statistical interpretation and not as a substitute for a thorough analysis.

Posted in RTagged

Leave a Reply