标签: frequency-distribution

如何在R中生成给定的分布,均值,SD,偏斜和峰度?

是否有可能在R中生成均值,SD,偏斜和峰度的分布?到目前为止,似乎最好的方法是创建随机数并相应地转换它们.如果有一个专门用于生成可以调整的特定分布的包,我还没有找到它.谢谢

statistics r frequency-distribution skew

37
推荐指数
4
解决办法
4万
查看次数

高效地计算python中的单词频率

我想计算文本文件中所有单词的频率.

>>> countInFile('test.txt')
Run Code Online (Sandbox Code Playgroud)

{'aaa':1, 'bbb': 2, 'ccc':1}如果目标文本文件如下,则应返回:

# test.txt
aaa bbb ccc
bbb
Run Code Online (Sandbox Code Playgroud)

我在一些帖子之后用纯python实现了它.但是,由于文件大小(> 1GB),我发现纯python方式不足.

我认为借用sklearn的力量是一个候选人.

如果你让CountVectorizer计算每一行的频率,我猜你会通过总结每一列来获得字频率.但是,这听起来有点间接的方式.

使用python计算文件中单词的最有效和直接的方法是什么?

更新

我的(非常慢)代码在这里:

from collections import Counter

def get_term_frequency_in_file(source_file_path):
    wordcount = {}
    with open(source_file_path) as f:
        for line in f:
            line = line.lower().translate(None, string.punctuation)
            this_wordcount = Counter(line.split())
            wordcount = add_merge_two_dict(wordcount, this_wordcount)
    return wordcount

def add_merge_two_dict(x, y):
    return { k: x.get(k, 0) + y.get(k, 0) for k in set(x) | set(y) }
Run Code Online (Sandbox Code Playgroud)

python nlp word-count frequency-distribution scikit-learn

31
推荐指数
2
解决办法
2万
查看次数

获取因子频率的直方图(摘要)

我有一个有很多不同价值观的因素.如果执行summary(factor)输出,则列出不同的值及其频率.像这样:

A B C D
3 3 1 5
Run Code Online (Sandbox Code Playgroud)

我想制作频率值的直方图,即X轴包含发生的不同频率,Y轴包含具有此特定频率的因子数.完成这样的事情的最佳方法是什么?

编辑:感谢下面的答案,我发现我能做的就是从表中得到频率因子,然后在表格中得到它,然后绘制图形,这看起来像(如果f是因素):

plot(factor(table(f)))
Run Code Online (Sandbox Code Playgroud)

plot r histogram frequency-distribution

17
推荐指数
1
解决办法
5万
查看次数

R中加权数据的频率表

我需要按年龄和婚姻状况计算个人的频率,所以通常我会使用:

    table(age, marital_status)
Run Code Online (Sandbox Code Playgroud)

然而,每个人在采样数据后具有不同的权重.如何将其合并到我的频率表中?

r frequency-distribution weighted

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

确定数据集的"晃动" - Python

我正在开发一个需要实现一组数据摆动的软件.这是我将收到的输入样本,与每个垂直像素带的亮度图合并: 替代文字

很容易看出左边距确实很晃动(即有一吨最小/最大值),我想生成一组图像的关键点.我已经对数据应用了高斯平滑函数~10次,但它开始时看起来很晃动.

有任何想法吗?

这是我的原始代码,但它不会产生非常好的结果(为了摆动):

def local_maximum(list, center, delta):
  maximum = [0, 0]

  for i in range(delta):
    if list[center + i] > maximum[1]: maximum = [center + i, list[center + i]]
    if list[center - i] > maximum[1]: maximum = [center - i, list[center - i]]

  return maximum

def count_maxima(list, start, end, delta, threshold = 10):
      count = 0

  for i in range(start + delta, end - delta):
    if abs(list[i] - local_maximum(list, i, delta)[1]) < threshold: count += 1

  return …
Run Code Online (Sandbox Code Playgroud)

python statistics list frequency-distribution frequency-analysis

13
推荐指数
1
解决办法
755
查看次数

在C#中计算数组频率分布的最快方法是什么?

我只是想知道这个计算的最佳方法是什么.假设我有一个值的输入数组和边界数组 - 我想计算/ bucketize边界数组中每个段的频率分布.

使用桶搜索是不是一个好主意?

实际上我发现这个问题用.Net/C#计算集合的频率分布

但是我不明白如何使用桶来达到这个目的,因为每个桶的大小在我的情况下可能会有所不同.

编辑:在所有的讨论之后我有内部/外部循环解决方案,但是我仍然希望在这种情况下消除带有字典的内部循环以获得O(n)性能,如果我理解正确的话我需要将输入值散列到存储桶索引中.所以我们需要某种具有O(1)复杂度的哈希函数?有什么想法怎么做?

c# algorithm design-patterns frequency-distribution data-structures

12
推荐指数
1
解决办法
4647
查看次数

R中的缩放/加权密度图

我想生成观察到的温度的密度图,该密度图通过每个温度数据点观察到的事件数量来缩放.我的数据包含两列:温度和数量[观察结果].

现在,我有一个密度图,只根据以下内容包含温度频率:

plot(density(Temperature, na.rm=T), type="l", bty="n")
Run Code Online (Sandbox Code Playgroud)

如何根据每个温度下的观测数量来调整此密度?例如,我希望能够看到温度密度图缩放,以显示在较高/较低温度下每个温度是否有更多/更少的观测值.

我想我正在寻找可以加重温度的东西?

r frequency-distribution

9
推荐指数
2
解决办法
8924
查看次数

解释numpy.fft.fft2输出

我的目标是获得一个具有图像空间频率的图 - 有点像对它进行傅里叶变换.我不关心频率为f的特征图像上的位置(例如); 我想要一个图形告诉我每个频率有多少(频带的幅度可以用与该频率的对比度的总和来表示).

我试图通过该numpy.fft.fft2功能来做到这一点.

这是一个描述我的用例的最小示例的链接.

事实证明,我只得到明显更大的值frequencies[:30,:30],其中绝对最高值是frequencies[0,0].我怎么解释这个?

  • 每个值的幅度到底意味着什么?
  • 我的最高价值在于frequency[0,0]什么是0 Hz频率是什么意思?
  • 我可以以某种方式对值进行合并,以便我的频谱与方向无关吗?

python numpy fft frequency-distribution

9
推荐指数
1
解决办法
1万
查看次数

频率表,包括data.table上未使用值的零

我有一个数据集如下:

library(data.table)

test <- data.table(structure(list(Issue.Date = structure(c(16041, 16056, 16042,15990, 15996, 16001, 15995, 15981, 15986, 15996, 15996, 16002,16015, 16020, 16025, 16032, 16023, 16084, 16077, 16102, 16104,16107, 16112, 16113, 16115, 16121, 16125, 16128, 16104, 16132,16133, 16135, 16139, 16146, 16151), class = "Date"), 
    Complaint = structure(c(1L,4L, 4L, 4L, 4L, 4L, 4L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 1L,5L, 3L, 1L, 3L, 1L, 4L, 4L, 3L, 3L, 3L, 3L, 3L, 2L, 2L, 1L, 3L,3L, 3L), .Label = c("A", "B", "C", "D", …
Run Code Online (Sandbox Code Playgroud)

r frequency-distribution data.table

8
推荐指数
2
解决办法
1464
查看次数

在Oracle中创建直方图/频率分布的最佳方法?

我有一个events包含两列eventkey(唯一,主键)的表createtime,它将事件的创建时间存储为自1970年1月1日以来的一NUMBER列中的毫秒数.

我想创建一个"直方图"或频率分布,向我展示过去一周每小时创建的事件数量.

这是使用该width_bucket()函数在Oracle中编写此类查询的最佳方法吗?是否可以使用其他Oracle分析函数之一导出落入每个存储桶的行数,而不是使用width_bucket确定每行所属的存储桶编号并执行count(*)此操作?

-- 1305504000000 = 5/16/2011 12:00am GMT
-- 1306108800000 = 5/23/2011 12:00am GMT
select 
timestamp '1970-01-01 00:00:00' + numtodsinterval((1305504000000/1000 + (bucket * 60 * 60)), 'second') period_start,
numevents
from (
  select bucket, count(*) as events from (
    select eventkey, createtime, 
    width_bucket(createtime, 1305504000000, 1306108800000, 24 * 7) bucket
    from events 
    where createtime between 1305504000000 and 1306108800000
  ) group by bucket
) 
order by period_start
Run Code Online (Sandbox Code Playgroud)

sql oracle histogram frequency-distribution

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