Eventuali duplicati:
apply a function over groups of columnsmedia ogni 16 colonne in r
Ho un data.frame
con 30 righe e tante colonne (1000+), ma ho bisogno di media ogni 16 colonne insieme. Ad esempio, il frame di dati sarà simile a questa (I troncare per renderlo più facile ..):
Col1 Col2 Col3 Col4........
4.176 4.505 4.048 4.489
6.167 6.184 6.359 6.444
5.829 5.739 5.961 5.764
.
.
.
Pertanto, non posso aggregare (non ho una lista) e ho provato:
a <- data.frame(rowMeans(my.df[,1:length(my.df)]))
che mi dà la media di tutti i 1000+ colonne, ma c'è un modo per dire che voglio farlo ogni 16 colonne fino alla fine? (Sono multipli di 16 il numero totale di colonne).
Un punto secondario, meno importante, ma sarebbe utile per risolvere anche questo. I nomi col sono nella seguente struttura:
XXYY4ZZZ.txt
Una volta che in media le colonne ho solo bisogno di un nuovo nome col solo XXYY
come il resto sarà una media fuori. So che potrei usare gsub ma c'è un modo ottimale per fare la media e questa operazione in un colpo solo?
Sono ancora relativamente nuovo a R e quindi non sono sicuro di dove e come trovare la risposta.
concordato con @Joran, le risposte alla mia domanda a cui ci si collega dovrebbero essere prontamente adattabili per rispondere a questa domanda. – Ben