У меня есть 7 кадров данных экспериментов, каждый из которых подразделяется на 15 повторений (или итераций). Меня интересует все переменная x
для расчета позже в анализе.Как извлечь 105 переменных для вычисления в R
Представьте, что вы имеете следующее dataframes рандомизированных чисел и, для простоты, делают вид, что все dataframes содержат различные номера:
set.seed(2)
a <- runif(100, -1.5, 1.5)
b <- pnorm(rnorm(100))
c <- rnorm(100)
d <- rnorm(100)
e <- dnorm(rnorm(100))
iteration <- sort(sample(1:7, 100, replace=T), decreasing=F)
x <- f <- sample(1:1000, 100, replace=T)
df1 <- data.frame(a,b,c,d,e,iteration,x)
df2 <- data.frame(a,b,c,d,e,iteration,x)
df3 <- data.frame(a,b,c,d,e,iteration,x)
df4 <- data.frame(a,b,c,d,e,iteration,x)
df5 <- data.frame(a,b,c,d,e,iteration,x)
df6 <- data.frame(a,b,c,d,e,iteration,x)
df7 <- data.frame(a,b,c,d,e,iteration,x)
Как я могу сломать все 105 переменной x
комбинацию (df1$x of iteration 1
, df1$x of iteration 2
, ..., df7$x of iteration 7
), чтобы я мог рассчитать следующее примерное уравнение бессмыслицы для всех 105 переменных комбинаций?
mean(df1$x of iteration 1) - sd(df1$x of iteration 1)
mean(df1$x of iteration 2) - sd(df1$x of iteration 2)
...
mean(df7$x of iteration 7) - sd(df7$x of iteration 7)
Я имею следующую команду для того, чтобы «извлечь» переменной df1$x of iteration 1
но это будет связано с более 208 линий, чтобы прийти для остальных переменных:
df_1 <- df1[which(df1$iteration=='1'),]
df_1_final <- df_1[grepl("1", df_1$iteration), c(6, 7)]
ли это смысл? Нет ли лучшего способа сделать это в Gnu R?
Попробуйте 'd1 <- expand.grid (id = paste0 ('df', 1: 7), iteration = 1: 15); sapply (seq_len (nrow (d1)), function (i) {x1 <- подмножество (get (as.character (d1 [i, 1])), итерация == d1 [i, 2], select = x), mean (x1 [, 1]) - sd (x1 [, 1])}) ' – akrun