Hello,
Inline.
Em 15-04-2014 18:02, Monaly Mistry escreveu:
Hi,
I have a data frame with 15 different years and each year has a different
sample size. I'm having trouble writing a for loop to have a t-test done
for each year for two of the columns. Thus far I have been able to loop
over the years but the output is the same t-test 15 times. I'm new to
writing loops and functions, and am trying to figure out a way to use them
together (if there are any general rules to follow, I would be great-full
to know)
for(year in 1998:2012){
b <-t.test(tr$adj_ind_pop_dif, tr$ind_nei_dif, paired=TRUE)
print(b)
}
The problem with this loop is that you don't use the variable 'year' in
it. It just repeats the same test 15 times.
the other way I did it was to take subsets of the dataframe and then do a
separate t-test for each
ab<-subset(tr, BroedJaar =="1999")
t.test(ab$ind_nei_dif, ab$adj_ind_pop_dif, paired=TRUE)
So BroedJaar is a character variable? Try
for(year in 1998:2012){
ab <- subset(tr, BroedJaar == as.character(year))
b <- t.test(ab$adj_ind_pop_dif, ab$ind_nei_dif, paired=TRUE)
print(b)
}
Note however that this won't store the results of the t-tests, all but
the last one will be lost. (The last one is stored in 'b'.)
If you want the results of the 15 tests you can do
result <- lapply(1998:2012, function(year){
ab <- subset(tr, BroedJaar == as.character(year))
t.test(ab$adj_ind_pop_dif, ab$ind_nei_dif, paired=TRUE)
})
names(result) <- 1998:2012
Then you can access the results with something like
result[[1]] # first test
result[["1998"]] # equivalent
Hope this helps,
Rui Barradas
Best,
Monaly.
[[alternative HTML version deleted]]
______________________________________________
R-help@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.
______________________________________________
R-help@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.