On 2010-07-22 11:28, Arne Schulz wrote:
Dear list,
I'd like to do several t-test within a for loop. Example follows:

data1<- rnorm(1:25)
data2<- rnorm(1:25)
vars<- c("data1", "data2")

for (i in vars) {
        t.test(i)       
}

Unfortunately, it does not work because of the quotes in the vars-vector 
(running t.test(data1) by hand works).

How can I remove the quotes before performing the test?
>
> Sincerely,
> Arne Schulz
>

Here are two ways:

# 1. use get()
for (i in vars) {
        print(t.test(get(i)))
}

# 2. put your data into a list (or dataframe); then use lapply();
L <- list(data1 = data1, data2 = data2)
lapply(L, t.test)

  -Peter Ehlers

______________________________________________
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.

Reply via email to