@@ -359,24 +359,24 @@ output_table <- cbind(output_table, res_df)
359
359
output_table$All.mean <- rowMeans(normCounts, na.rm = TRUE)
360
360
output_table$All.stdev <- matrixStats::rowSds(as.matrix(normCounts), na.rm = TRUE, useNames = FALSE)
361
361
output_table$LRT.p.value <- res_lrt@listData$padj
362
- ## Calculate group statistics
363
- tcounts <- as.data.frame(t(normCounts))
364
- tcounts$group <- names(group)
365
362
# Calculate group means and standard deviations
366
- agg_means <- aggregate(. ~ group, data = tcounts, mean)
367
- agg_stdev <- aggregate(. ~ group, data = tcounts, sd)
363
+ # Transpose normalized counts
364
+ tcounts <- as.data.frame(t(normCounts))
365
+ # Assign group labels based on `sampleTable`
366
+ tcounts$group <- sampleTable$condition[match(rownames(tcounts), rownames(sampleTable))]
367
+ # Aggregate group means and standard deviations
368
+ agg_means <- aggregate(. ~ group, data = tcounts, FUN = mean, na.rm = TRUE)
369
+ agg_stdev <- aggregate(. ~ group, data = tcounts, FUN = sd, na.rm = TRUE)
370
+ # Extract group names
368
371
group_names <- agg_means$group
369
- # Remove the 'group' column and transpose the data
370
- group_means <- t(agg_means[-1])
371
- group_stdev <- t(agg_stdev[-1])
372
- # Assign the unique group names to the columns
373
- colnames(group_means) <- group_names
374
- colnames(group_stdev) <- group_names
375
- # Add stats to output table
376
- for (group_name in group_names) {
377
- output_table[[paste0("Group.Mean_(", group_name, ")")]] <- group_means[, group_name]
378
- output_table[[paste0("Group.Stdev_(", group_name, ")")]] <- group_stdev[, group_name]
379
- }
372
+ # Remove the 'group' column and transpose to match expected structure
373
+ group_means <- as.data.frame(t(agg_means[-1]))
374
+ group_stdev <- as.data.frame(t(agg_stdev[-1]))
375
+ # Assign column names based on group names
376
+ colnames(group_means) <- paste0("Group.Mean_(", group_names, ")")
377
+ colnames(group_stdev) <- paste0("Group.Stdev_(", group_names, ")")
378
+ # Add computed group means and standard deviations to output_table
379
+ output_table <- cbind(output_table, group_means, group_stdev)
380
380
```
381
381
382
382
``` {r output-dge-related-files}
0 commit comments