- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在 pramca
R 包(v. 2.1.1 ).我正在使用 R 3.4.3 x64 窗口。
我想要识别可能有两个重复值的峰值的函数,我相信选项 peakpat
是我可以做到这一点的方法。
这个问题已经asked before ,但是我还没有找到一个例子来说明如何实现 Hans 所指的选项。这看起来很基础,而且在编码方面我也是一个初学者。在help file online , 它说了以下关于 peakpat 的内容:
define a peak as a regular pattern, such as the default pattern ``[+]1,[-]1,''; if a pattern is provided, the parameters
nups
andndowns
are not taken into account."
我在解释 "[+]1,[-]1"
的含义时遇到问题。有任何想法吗?我已经尝试过我认为这意味着什么的变体,但每次尝试都会导致 NULL
。请参阅下面的示例,非常感谢任何帮助/见解。
# Example:
install.packages("pracma")
library(pracma)
subset = c(570,584,500,310,261,265,272,313,314,315,330,360,410,410,360,365,368,391,390,414)
# Plots
plot(subset)
lines(subset)
# findpeaks without defining repeated values;
# the result does not identify the peak at subset[13:14] (repeated 'peak' values)
result = findpeaks(subset)
pks1 = data.matrix(result[,1])
locs1 = data.matrix(result[,2])
# findpeaks with my futile attempt at defining peakpat
result = findpeaks(subset, nups=2, ndowns=nups, zero = "0", peakpat="[+]2,[-]2,")
result = findpeaks(subset, nups=1, ndowns=nups, zero = "0", peakpat="[+]1,[-]1,")
result = findpeaks(subset, nups=1, ndowns=nups, zero = "0", peakpat="[+]{,1},[-]{,1}")
result = findpeaks(subset, nups=1, ndowns=nups, zero = "0", peakpat="[+]{1,},[-]{1,}")
result = findpeaks(subset, nups=2, ndowns=nups, zero = "0", peakpat="[2],[2]")
result = findpeaks(subset, nups=2, ndowns=nups, zero = "0", peakpat="[1],[1]")
# all of the above results in NULL
谢谢!
最佳答案
文档在这种情况下没有太大帮助,但您可以通过检查函数体获得一些线索。
在控制台中输入函数名称可以让您检查其源代码。无需详细介绍,这一行很有帮助:
peakpat <- sprintf("[+]{%d,}[-]{%d,}", nups, ndowns)
这向我们展示了默认参数对应于 "[+]{1,}[-]{1,}"
的峰值.
如果您指定 peakpat
,这也应该强化为什么,您无需为 nups
指定任何内容和 ndowns
.
针对两个重复值的峰值执行您所追求的模式:
result <- findpeaks(subset, peakpat = "[+]{1,}[0]{1,}[-]{1,}")
逗号指定一个间隔。因此,如果您想将搜索限制为重复值最多为 3 的峰:
result <- findpeaks(subset, peakpat = "[+]{1,}[0]{1,2}[-]{1,}")
该函数的工作原理是将您的数据转换为字符串并应用正则表达式,因此应适用正则表达式的常用规则。
关于r - 使用 pracma::findpeaks 识别持续峰值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47914035/
我有一个名为“endata”的大型数据集 - 590 万个数据点。这表示超过 90 天的数据。数据集是单个向量。前五个数据点如下所示: 0.0171365458527622 0.01745772805
我想知道如何让 findpeak 函数检测负峰而不是正峰,它检测下图中显示的红色峰,我需要检测蓝色峰..任何想法?? 非常感谢。 最佳答案 如前所述,您必须使用-data。 这是一个例子, x = 0
编辑:其实这不是意外行为,但我仍然需要一个解决方案。findpeaks 将数据的每个元素与其相邻值进行比较。 我的数据包含我用函数 findpeaks 检测到的峰来自信号处理工具箱。有时函数似乎无法正
我在 pramca R 包(v. 2.1.1 ).我正在使用 R 3.4.3 x64 窗口。 我想要识别可能有两个重复值的峰值的函数,我相信选项 peakpat 是我可以做到这一点的方法。 这个问题已
我正在尝试将 Matlab 提供的 findpeaks 方法应用于 Python 项目以获得相同的结果。在 Internet 上,我检索了许多算法来查找 python 中的峰值,但我发现的最佳来源是以
我使用函数 findpeaks来自 MATLAB 的信号处理工具箱。但每次该函数找不到任何峰值时,我都会收到警告: Warning: No peaks found. > In findpeaks at
这个问题在这里已经有了答案: 关闭 10 年前。 Possible Duplicate: Peak-finding algorithm for Python/SciPy 我正在寻找 float 向量
我想根据我拥有的 .WAV 格式的样本在 MATLAB 中生成我自己的 Kick、Clap、Snare 和 Hi-Hat 声音样本。 现在它听起来根本不正确,我想知道我的代码是否没有意义?或者,如果是
我正在使用 scipy 函数寻求帮助 Find_Peaks在 pandas.Series.Rolling.apply 功能中。我抛出 TypeError: only size-1 arrays can
我是一名优秀的程序员,十分优秀!