The problem is that your grouping variable has more than two levels, when the t.test requires that you cannot have more than two levels.
Here is a reproduction of your error:
library(tidyverse)
##This will reproduce your error
##Create some fake data
data_test <- tibble(measure = c(rnorm(100,30,5),rnorm(100,15,5)),
group = factor(rep(c("A","B","C"),c(95,95,10))))
table(data_test$group) ##Notice that you have three levels
#Try to run the test
t.test(measure~group, data = data_test, paired = TRUE)
Here is an example that will run
##This will not result in a error, because you only have two groups
data_test2 <- tibble(measure = c(rnorm(100,30,5),rnorm(100,15,5)),
group = factor(rep(c("A","B"),c(100,100))))
table(data_test$group) ##Notice that you have the required two levels
t.test(measure~group, data = data_test2,paired = TRUE) ##Test will now run
Takeaway: Check the number of levels in your data. If there are more than two, recode or delete them.
data
argument, you should just useType ~ Method
, since it's already clear what dataframe those columns are in – camillet.test
to see how you should be calling this function. The formula isn't the data argument, it's the formula argument – camille