Hard to disentangle your code in the non-HTML world of r-help. Please use
plain text in the future. Below is one approach you could try.
Jean
# response variables
resp_vars <- runif(20)
names(resp_vars) <- paste0("sample_", seq(20))
# independent variables
ind_vars <- matrix(sample(c("A", "B"), 2000, TRUE),
ncol=20,
dimnames=list(paste0("obs_", seq(100)), names(resp_vars)))
# save the t-test results to a list
t_fit <- apply(ind_vars, 1, function(obs) t.test(resp_vars ~ obs))
# grab the estimates from each t-test and put it in a data frame
library(broom)
t_est <- do.call(rbind, lapply(t_fit, tidy))
names(t_est) <- c("diff", "meanA", "meanB",
"t", "p.value", "df",
"conf.low", "conf.high")
head(t_est)
On Sat, Mar 7, 2015 at 10:05 AM, White Sky <bluebarbarossa at hotmail.com>
wrote:
> I'd like to perform a t-test between groups 'A' and
'B'. The difficulty is
> that although there is only one response variable, there are many
> observations, and the grouping (A or B) differs with each observation. My
> code for generating the input data is shown below.
> I'd like to know how to approach doing the test, ideally so that the
> t-test results for each observation are presented in a table. I'm not
sure
> where to start as other searches have been futile... something along the
> lines of t.test(ind_vars ~ resp_vars) , maybe using rapply, and separating
> groups by A and B each time...
> # Matrix for response variableN_samples <- 20resp_vars <-
> matrix(runif(n=N_samples, min=0, max=1))sample_names <-
paste0("sample_",
> 1:N_samples )rownames(x=resp_vars) <- sample_namescolnames(x=resp_vars)
<-
> "resp"resp_vars [1:5,]
> # Matrix for independent variablesN_observations <- 100ind_vars <-
> matrix(NA, N_observations, N_samples)ind_vars <- apply(ind_vars, c(1,2),
> function(x) sample(c("A", "B"),1))ind_var_names <-
paste0("obs_",
> 1:N_observations)rownames(x=ind_vars) <-
ind_var_namescolnames(x=ind_vars)
> <- sample_namesind_vars[1:3,1:5]
> [[alternative HTML version deleted]]
>
> ______________________________________________
> R-help at r-project.org mailing list -- To UNSUBSCRIBE and more, see
> 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.
>
[[alternative HTML version deleted]]