Bird
Raised Fist0
R Programmingprogramming~10 mins

t-test in R Programming - Step-by-Step Execution

Choose your learning style10 modes available
Concept Flow - t-test
Start
↓
Prepare data samples
↓
Calculate sample means and variances
↓
Compute t-statistic
↓
Calculate degrees of freedom
↓
Find p-value from t-distribution
↓
Compare p-value with significance level
↓
Decide to reject or not reject null hypothesis
↓
End
The t-test compares the means of two groups by calculating a t-statistic and p-value to decide if the difference is significant.
Execution Sample
R Programming
x <- c(5, 7, 8, 6, 9)
y <- c(10, 12, 11, 14, 13)
t.test(x, y)
This code runs a t-test comparing two small samples x and y to check if their means differ significantly.
Execution Table
StepActionEvaluationResult
1Prepare sample xx = c(5,7,8,6,9)x = [5,7,8,6,9]
2Prepare sample yy = c(10,12,11,14,13)y = [10,12,11,14,13]
3Calculate mean of xmean(x)7
4Calculate mean of ymean(y)12
5Calculate variance of xvar(x)2.5
6Calculate variance of yvar(y)2.5
7Calculate sample sizeslength(x), length(y)5, 5
8Compute t-statistict = (7 - 12) / sqrt(2.5/5 + 2.5/5)-5
9Calculate degrees of freedomdf approx8
10Calculate p-value2 * pt(-abs(t), df)0.0015
11Compare p-value with 0.050.0015 < 0.05Reject null hypothesis
12ConclusionMeans differ significantlyEnd
💡 p-value is less than 0.05, so we reject the null hypothesis that means are equal.
Variable Tracker
VariableStartAfter Step 1After Step 2After Step 3After Step 4After Step 5After Step 6After Step 7After Step 8After Step 9After Step 10Final
xundefined[5,7,8,6,9][5,7,8,6,9][5,7,8,6,9][5,7,8,6,9][5,7,8,6,9][5,7,8,6,9][5,7,8,6,9][5,7,8,6,9][5,7,8,6,9][5,7,8,6,9][5,7,8,6,9]
yundefinedundefined[10,12,11,14,13][10,12,11,14,13][10,12,11,14,13][10,12,11,14,13][10,12,11,14,13][10,12,11,14,13][10,12,11,14,13][10,12,11,14,13][10,12,11,14,13][10,12,11,14,13]
mean_xundefinedundefinedundefined777777777
mean_yundefinedundefinedundefinedundefined1212121212121212
var_xundefinedundefinedundefinedundefinedundefined2.52.52.52.52.52.52.5
var_yundefinedundefinedundefinedundefinedundefinedundefined2.52.52.52.52.52.5
n_xundefinedundefinedundefinedundefinedundefinedundefinedundefined55555
n_yundefinedundefinedundefinedundefinedundefinedundefinedundefined55555
t_statundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefined-5-5-5-5
dfundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefined888
p_valueundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefined0.00150.0015
decisionundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedReject null hypothesis
Key Moments - 3 Insights
Why is the t-statistic negative in the execution table?
Because the mean of x (7) is less than the mean of y (12), the numerator (mean_x - mean_y) is negative, resulting in a negative t-statistic as shown in step 8.
Why do we compare the p-value to 0.05 in step 11?
0.05 is a common significance level threshold; if p-value is less than 0.05, it means the observed difference is unlikely by chance, so we reject the null hypothesis as shown in step 11.
What does degrees of freedom (df) represent in the t-test?
Degrees of freedom approximate the amount of independent information in the data; it affects the shape of the t-distribution used to find the p-value, calculated in step 9.
Visual Quiz - 3 Questions
Test your understanding
Look at the execution table at step 8. What is the value of the t-statistic?
A0
B5
C-5
D12
💡 Hint
Check the 'Result' column in step 8 of the execution_table.
At which step does the p-value get calculated?
AStep 7
BStep 10
CStep 5
DStep 12
💡 Hint
Look for the step labeled 'Calculate p-value' in the execution_table.
If the p-value was 0.1 instead of 0.0015, what would be the decision at step 11?
AAccept null hypothesis
BReject null hypothesis
CCannot decide
DRun test again
💡 Hint
Compare p-value to 0.05 threshold in step 11 of the execution_table.
Concept Snapshot
t.test(x, y) compares means of two samples.
Calculates t-statistic = difference of means / standard error.
Degrees of freedom affect p-value calculation.
If p-value < 0.05, reject null hypothesis.
Used to check if two groups differ significantly.
Full Transcript
This visual execution traces an R t-test comparing two samples x and y. First, the samples are prepared. Then their means and variances are calculated. Using these, the t-statistic is computed as the difference of means divided by the combined standard error. Degrees of freedom are approximated to determine the shape of the t-distribution. The p-value is found from this distribution. Finally, the p-value is compared to 0.05 to decide if the difference in means is statistically significant. Here, the p-value is very small (0.0015), so the null hypothesis that the means are equal is rejected.

Practice

(1/5)
1.

What does a t-test primarily compare in two groups?

easy
A. The difference between their medians
B. The difference between their averages
C. The total number of observations
D. The variance of each group

Solution

  1. Step 1: Understand the purpose of a t-test

    A t-test is used to compare the means (averages) of two groups to see if they are different.
  2. Step 2: Identify what is compared

    The test focuses on the average values, not medians, counts, or variances.
  3. Final Answer:

    The difference between their averages -> Option B
  4. Quick Check:

    t-test compares means = A [OK]
Hint: Remember: t-test checks averages, not medians or counts [OK]
Common Mistakes:
  • Confusing mean with median
  • Thinking it compares counts
  • Assuming it compares variances
2.

Which of the following is the correct way to run a t-test in R comparing two numeric vectors x and y?

easy
A. t_test(x, y)
B. ttest(x, y)
C. t.test(x, y)
D. test.t(x, y)

Solution

  1. Step 1: Recall the correct function name in R

    The built-in function for t-test in R is t.test().
  2. Step 2: Check the syntax for comparing two vectors

    Using t.test(x, y) compares the two numeric vectors correctly.
  3. Final Answer:

    t.test(x, y) -> Option C
  4. Quick Check:

    Correct function is t.test() = A [OK]
Hint: Use exact function name t.test() with dot [OK]
Common Mistakes:
  • Misspelling the function name
  • Using underscores instead of dots
  • Confusing function with other test names
3.

What will be the output of this R code snippet?

group1 <- c(5, 7, 8, 6, 9)
group2 <- c(10, 12, 11, 13, 14)
test <- t.test(group1, group2)
round(test$p.value, 3)
medium
A. 0.001
B. 0.05
C. 0.5
D. 1.0

Solution

  1. Step 1: Understand the data groups

    Group1 has smaller values around 5-9, Group2 has larger values around 10-14, so means differ.
  2. Step 2: Interpret the p-value from t.test()

    Since the groups differ clearly, the p-value will be very small, close to 0.001 after rounding.
  3. Final Answer:

    0.001 -> Option A
  4. Quick Check:

    Distinct groups give low p-value = B [OK]
Hint: Big difference in groups means very small p-value [OK]
Common Mistakes:
  • Assuming p-value is large for different groups
  • Confusing p-value with test statistic
  • Ignoring rounding in output
4.

Identify the error in this R code for a t-test:

data1 <- c(4, 5, 6)
data2 <- c(7, 8, 9)
test <- t.test(data1 + data2)
medium
A. t.test() cannot compare numeric vectors
B. Missing parentheses in t.test()
C. Vectors data1 and data2 must be data frames
D. Using '+' instead of ',' to separate vectors

Solution

  1. Step 1: Check the function call syntax

    The t.test() function expects two separate vectors as arguments separated by a comma.
  2. Step 2: Identify the mistake in argument passing

    The code uses '+' to add vectors instead of separating them with a comma, which is incorrect.
  3. Final Answer:

    Using '+' instead of ',' to separate vectors -> Option D
  4. Quick Check:

    Arguments must be comma-separated = D [OK]
Hint: Separate vectors with comma, not plus sign [OK]
Common Mistakes:
  • Adding vectors instead of passing separately
  • Confusing function arguments syntax
  • Thinking t.test needs data frames
5.

You have two groups of exam scores: before and after a training program. Which t-test is best to check if the training improved scores?

hard
A. Paired t-test using t.test(before, after, paired=TRUE)
B. Two-sample t-test using t.test(before, after)
C. One-sample t-test using t.test(after)
D. Variance test using var.test(before, after)

Solution

  1. Step 1: Understand the data relationship

    Scores are from the same students before and after training, so data are paired.
  2. Step 2: Choose the correct t-test type

    A paired t-test compares matched pairs to see if scores changed after training.
  3. Final Answer:

    Paired t-test using t.test(before, after, paired=TRUE) -> Option A
  4. Quick Check:

    Paired data needs paired=TRUE = C [OK]
Hint: Use paired=TRUE for before-after same subjects [OK]
Common Mistakes:
  • Using two-sample test for paired data
  • Using one-sample test incorrectly
  • Confusing variance test with t-test
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard