次のデータを検討してください
set.seed(123)
example.df <- data.frame(
gene = sample(c("A", "B", "C", "D"), 100, replace = TRUE),
treated = sample(c("Yes", "No"), 100, replace = TRUE),
resp=rnorm(100, 10,5), effect = rnorm (100, 25, 5))
遺伝子のレベルで比較され、治療によってグループ化されたときに、すべての変数の最大値を取得しようとしています。このように遺伝子の組み合わせを作ることができます。
combn(sort(unique(example.df$gene)), 2, simplify = T)
# [,1] [,2] [,3] [,4] [,5] [,6]
#[1,] A A A B B c
#[2,] B c D c D D
#Levels: A B c D
編集:私が探している出力は、このようなデータフレームです
comparison group max.resp max.effect
A-B no value1 value2
....
C-D no valueX valueY
A-B yes value3 value4
....
C-D yes valueXX valueYY
治療によってグループ化された個々の遺伝子レベルごとに最大値を取得できますが...
max.df <- example.df %>%
group_by(treated, gene) %>%
nest() %>%
mutate(mod = map(data, ~summarise_if(.x, is.numeric, max, na.rm = TRUE))) %>%
select(treated, gene, mod) %>%
unnest(mod) %>%
arrange(treated, gene)
1 日以上この問題に取り組もうとしても、2 レベルの遺伝子 比較 ( A 対 B、A 対 C、A 対 D、B 対 C、B 対D、および C vs D ) によってグループ化され、扱います。
どんな助けでも大歓迎です。ありがとう。