Создать матрицу с (1) индикатор, (2) состояние и (3) переменной интереса хКак использовать функцию apply в столбце фильтрованной матрицы?
z<-rep(1:10,each=10)
set.seed(974); cond=rbinom(100,3,0.5)
set.seed(974) ; x=rnorm(100,1,10)
All<-cbind(z,cond,x) ; All
Используя весь набор данных можно вычислить количество интереса с colsums или применить. например Среднее на 10 строк.
colSums(matrix(as.numeric(All[,3]), nrow=10))/10
apply(matrix(as.numeric(All[,3]), nrow=10),2,mean)
# Filtered dataset.
AllFiltered<-All[All[,2]==1,]
Теперь, когда я выполняю фильтрацию, нить не постоянна, например. (1,2,3,3). Есть ли способ выполнить то же действие, что и выше, для каждой отдельной группы фильтрованных данных строк?
Пример Allfiltered
z cond x
[1,] 1 1 -10.5135290
[2,] 2 1 -10.9883098
[3,] 2 1 12.9269151
[4,] 3 1 5.1725988
[5,] 3 1 -1.5633754
[6,] 3 1 -1.3470068
[7,] 4 1 12.6646369
[8,] 4 1 -9.7694997
[9,] 4 1 4.8618008
хотел бы получить среднее для каждой группы строк, где количество строк после фильтрации не является постоянной и равной фиксированным числом (будет меняться в зависимости от состояния фильтр)
Исправленного спасибо! –
Основываясь на nrows каждого блока, вы делаете colMeans на каждые 3 строки? – akrun
Я не понимаю вопроса. Почему вы создали 'AllFiltered' для? Как это связано со средним значением на 10 строк? Как ваш желаемый результат связан со всем этим вместе? –