小编Sco*_*ons的帖子

Java 中具有参数定义行为的传递函数

在 Java 中,我想定义一个规范化函数,该函数将一个数字作为输入,但其行为由多个参数定义。

本质上,在 Lisp 中的 Java 等价物是:

(define (normalizeVal min max floor ceiling)
  (lambda (x) (/ (* (- ceiling floor) (- x min)) (+ (- max min) floor))))
Run Code Online (Sandbox Code Playgroud)

在伪代码中,我想:

function parsing(data, normalizeValFunc) {
   for (datum in data):
      normalizeValFunc(datum);
}

var input = userData;
var min, max, floor, ceiling = /* Calculate min, max, floor, and ceiling */
var output = parsing(input, normalizeValFunc(min, max, floor, ceiling));
Run Code Online (Sandbox Code Playgroud)

在 Java 中将函数作为参数传递可能很棘手,因为函数在 Java 中不是一等对象。(也许 Java 8 Lambda 表达式会改变这一点?)其他问题解决了在 Java …

java lambda function-pointers function parameter-passing

2
推荐指数
1
解决办法
1669
查看次数

在 R 中绘制一列数据的频率分布

我有一系列值(即一列数据),我想创建一个图,其中包含 x 轴上的数据值范围和每个值在 y 轴上的数据集中出现的频率.

我想要的是非常接近核密度图

# Kernel Density Plot
d <- density(mtcars$mpg) # returns the density data 
plot(d) # plots the results
Run Code Online (Sandbox Code Playgroud)

R在 stackoverflow 上的频率分布

但是,我想要y 轴上的频率(而不是密度)。

具体来说,我正在处理网络度分布,并且想要一个带有开放圆形点的双对数比例,即这个图像

我已经对相关资源和问题进行了研究,但还没有找到我想要的:

R's Plotting 分布的食谱接近我想要的,但不准确。我想用直方图示例中定义的“计数”替换其密度曲线示例中的 y 轴。

ecdf()R 中的函数(即这个问题)可能是我想要的,但我想要观察到的频率,而不是 y 轴上 0 和 1 之间的归一化值。

这个问题与频率分布有关,但我想要点,而不是条。

编辑:

数据是标准的幂律分布,即

dat <- c(rep(1, 1000), rep(10, 100), rep(100, 10), 100)
Run Code Online (Sandbox Code Playgroud)

plot r distribution frequency points

0
推荐指数
1
解决办法
9665
查看次数