我正在尝试计算多列的中位数,但是我的数据有些问题。它看起来像以下示例。
例如,对于ID = 1.
我正在尝试计算多列的中位数,但是我的数据有些问题。它看起来像以下示例。
library(data.table)
dt <- data.table("ID" = c(1,2,3,4),"none" = c(0,5,5,3),
"ten" = c(3,2,5,4),"twenty" = c(0,2,3,1))
ID none ten twenty
1: 1 0 3 0
2: 2 5 2 2
3: 3 5 5 3
4: 4 3 4 1
在表格中,每一列代表该值出现的次数。我想要计算中位数出现次数。例如,对于ID = 1.
median(c(10, 10, 10))
我想要创建的计算公式。
对于ID = 2
median(c(0, 0, 0, 0, 0, 10, 10, 20, 20))
我尝试过使用rep()
和lapply()
,但成功有限,并且需要关于如何实现的清晰指导。我知道像rep()
这样的函数需要硬编码来重复值(例如rep(0,2)
或rep(10,2)
),这也是我期望的。我只是不知道如何创建一个包含每列重复次数的列表或向量。
median(0,0,0,0,0,10,10,20,20)
。 - Uwe