prefmod软件包希望采用以下形式的成对比较:
(AB)(AC)(BC)(AD)(BD)(CD)...等
我试图弄清楚如何有效地将长格式的数据帧转换为这种格式。即:
dat <- combn(c("A","B","C","D"),2) %>% t() %>%
as.data.frame() %>%
mutate(V3=round(runif(6)))
我想将其转换为表格形式(例如)
AB AC BC AD BD CD
V3 0 1 0 0 1 0
我正在努力解决的主要问题是一个习惯用法,可以正确地对数据进行排序。如果我可以重新排列数据框dat的外观,例如:
V1 V2 V3
A B 0
A C 1
B C 0
A D 0
B D 1
C D 0
...那我就可以去
dat %>% unite("V1V2",c("V1","V2")) %>%
column_to_rownames(var="V1V2") %>% t()
...但是我遇到的困难是,我找不到一个习惯来以prefmod希望的方式对数据帧的行进行重新排序。 (AB)(AC)(BC)(AD)(BD)(CD)的模式到底是什么,我该如何以编程方式生成该顺序?