I got this error for my code
Error in t.test.default(dat$Value, x[[i]][[2]]) :
not enough 'y' observations
I think the reason I got this error is because I'm doing a t.test for data that only has one value (so there wouldnt be a mean or an sd) vs data that has 20 values..is there a way I can get around this.. is there a way I can ignore the data that doesn't have enough y observations??? like an if loop might work...pls help
So my code that does the t.test is
t<- lapply(1:length(x), function(i) t.test(dat$Value,x[[i]][[2]]))
where x is data in the form of cuts similar to
cut: [3:8)
Number Value
3 15 8
4 16 7
5 17 6
6 19 2.3
this data goes on
cut:[9:14)
Number Value
7 21 15
cut:[13:18) etc
Number Value
8 22 49
9 23 15
10 24 13
How can I ignore 'cuts' that have only 1 value in them like the example above where in 'cut[9:14)' theres only one value....
All standard variants of t-test use sample variances in their formulas, and you cannot compute that from one observation as you are dividing with n-1, where n is sample size.
This would probably be the easiest modification, although I cannot test it as you did not provide sample data (you could
dput
your data to your question):Another option would be to modify the indices which are used in
lapply
:Here's an example of the first case with artificial data: