例如,我有一个这样的矢量:
a <- c(4, 8, 9, 15, 21, 21, 24, 25, 26, 28, 29, 34)
我想这样做:
步骤1:
划分为等频(等深)
垃圾箱:
第2步:
通过bin平滑意味着:
输出:
9,9,9,9,23,23,23,23,29,29,29,29
我们可以通过将length
的a
除以相同数量的箱子来创建组,并使用ave
来计算每组中的圆形mean
。
no_of_bins <- 4
round(ave(a, rep(1:length(a), each = no_of_bins, length.out = length(a))))
#[1] 9 9 9 9 23 23 23 23 29 29 29 29
PS -
ave
具有mean
的默认功能,因此尚未明确应用。试试这个(将Orange $ age预定义的R变量作为输入,10是bin大小)
v=split(Orange$age, ceiling(seq_along(Orange$age)/10))
lapply(v, function(item){rep(mean(item), length(item))})