我正在尝试计算多列的中值,但是我的数据有点古怪。它看起来像下面的例子。
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
表中的 to 列表示该值的出现次数。我想计算出现的中位数。
例如对于 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)
or rep(10,2)
),这就是我所期望的。我只是在努力创建一个包含每列重复的列表或向量。