【发布时间】:2019-07-04 20:51:00
【问题描述】:
我对 R 比较陌生,需要一些帮助。
我想生成一个 2x2 列联表,并始终按如下方式比较连续两天:您从第一行开始并取值的中位数,在我的示例中,在 2019-02-11 行中,这将是值15 来自 x4。现在所有高于中位数的值都是“赢家”,低于中位数的都是“输家”。
在第二步中,您对 2019-02-12 行执行相同操作,例如,如果 x1 在两个期间都是“赢家”,则它应计入列联表中的“赢家/赢家”字段。对于所有连续日期,“loser/loser”、“winner/loser”、“loser/winner”等都是相同的。
我有一个包含大约 200 列的数据框,因此正在寻找一种有效的方法来执行此操作。
我的代码如下所示:
set.seed(123)
d <- data.frame(Time = rep(seq.Date( Sys.Date(), length=30, by="day" )),
x1 = rep(sample(10:30, 10), 3),
x2 = rep(sample(10:30, 10), 3),
x3 = rep(sample(10:30, 10), 3),
x4 = rep(sample(10:30, 10), 3),
x5 = rep(sample(10:30, 10), 3))
非常感谢。
【问题讨论】:
标签: r contingency