![]() |
1
347
另外一个解决方案,适用于数字和字符/因子数据:
在我的小型机器上,它可以在大约半秒钟内生成并找到10米整数向量的模式。
如果您的数据集可能有多个模式,那么上述解决方案采用的方法与
|
![]() |
2
60
有包裹
有关详细信息,请参阅 this page |
![]() |
3
53
在R邮件列表中找到了这个,希望有帮助。不管怎样,这也是我的想法。您需要对数据进行table(),排序,然后选择名字。这是一种黑客行为,但应该有效。
|
![]() |
4
42
我发现上面的ken williams帖子很棒,我添加了几行来解释na值,并使其成为一个简单的函数。
|
![]() |
5
28
一种快速而肮脏的方法来估算你认为来自连续单变量分布(如正态分布)的数字矢量的模式,它定义并使用以下函数:
然后得到模式估计:
|
![]() |
6
13
以下功能有三种形式:
method=“mode”[默认值]:计算单模向量的模式,否则返回na
|
![]() |
7
10
这里,另一个解决方案:
|
![]() |
8
9
我还不能投票,但拉斯穆斯的回答是我正在寻找的。 但是,我会稍微修改它,允许反向分布,例如,对于0和1之间的值。
我们知道您可能不想约束所有的分布,然后将从=-“大数字”设置为“大数字” |
![]() |
9
7
为了生成模式,我编写了以下代码。
让我们试试看:
|
![]() |
10
7
对Ken Williams的答案做了小修改,添加了可选参数
不同于答案依赖
要显示它与可选参数一起工作并维护数据类型,请执行以下操作:
感谢@frank的简化。 |
![]() |
11
6
这个黑客应该可以正常工作。提供模式的值和计数:
|
![]() |
12
5
基于@chris的函数来计算模式或相关度量,但是使用ken williams的方法来计算频率。这一个解决方案可以解决根本没有模式的情况(所有元素都同样频繁),以及一些可读性更强的
|
![]() |
13
3
r有如此多的附加包,其中一些包可能很好地提供数字列表/序列/向量的[统计]模式。 然而,R本身的标准库似乎没有这样的内置方法!解决此问题的一种方法是使用如下结构(如果经常使用…,则将其转换为函数):
对于更大的示例列表,应该考虑为max(tabsmpl)值使用一个临时变量(我不知道r会自动优化这个值)。
参考:见“中位数和模式如何?”在这
KickStarting R lesson
|
![]() |
14
3
这个很好用
|
![]() |
15
3
以下是查找模式的函数:
|
![]() |
16
2
虽然我喜欢ken williams的简单函数,但我想检索多个模式(如果存在的话)。考虑到这一点,我使用下面的函数返回模式列表(如果是多个模式或单个模式)。
|
![]() |
17
2
我查看了所有这些选项,开始怀疑它们的相对特性和性能,所以我做了一些测试。如果其他人对此感兴趣,我将在这里分享我的结果。
我不想为这里发布的所有函数操心,而是选择了一个基于以下几个标准的示例:函数应该同时处理字符、因子、逻辑和数字向量,它应该适当地处理NAS和其他有问题的值,并且输出应该是“合理的”,即没有数字作为字符或其他类似的sillineSS/
我还添加了一个我自己的函数,它基于与Chrispy的相同的
|
![]() |
18
2
下面的代码可以用来找到R中向量变量的模式。
|
![]() |
19
2
为此提供了多种解决方案。我检查了第一个,然后写了我自己的。如果它对任何人都有帮助,请在此处发布:
让我们用几个例子来测试它。我正在接受
你可以验证它是正确的。 现在虹膜数据集(物种)中唯一的非数字字段没有模式。让我们用自己的例子来测试
编辑如注释中所述,用户可能希望保留输入类型。在这种情况下,模式功能可以修改为:
函数的最后一行只是将最终模式值强制为原始输入的类型。 |
![]() |
20
2
模式不能在任何情况下都有用。所以函数应该处理这种情况。尝试以下功能。
输出,
|
![]() |
21
1
另一个简单的选项是使用
|
![]() |
22
1
我将使用密度()函数来确定(可能是连续的)分布的平滑最大值:
其中x是数据收集。注意 调整 用于调节平滑度的密度函数的参数。 |
![]() |
23
1
另一个可能的解决方案:
用途:
输出:
|
![]() |
24
0
可以尝试以下功能:
|
![]() |
25
0
计算模式主要是在因子变量的情况下,然后我们可以使用
HouseVotes84是“MLBench”软件包中提供的数据集。 它将给出最大标签值。在不编写函数的情况下,内置函数本身更容易使用。 |
![]() |
26
0
这建立在jprockbell的答案基础上,通过增加极短向量的速度。这在将模式应用于包含大量小组的data.frame或datatable时非常有用:
|
![]() |
27
-1
对不起,我可能觉得太简单了,但这不是工作吗?(对于我的机器上的1E6值,以1.3秒为单位):
你只需要用向量替换“圆形(RNORM(1E6),2)”。 |
![]() |
28
-1
您还可以计算实例在集合中发生的次数,并找到最大次数。例如
|
![]() |
29
-3
计算包含离散值的向量“v”的模式的一个简单方法是:
|
![]() |
Madison Ell · R列表不断返回NAs,我该如何修复? 2 年前 |
![]() |
Crawford Patten · 如何获得整数列表的四分位数 2 年前 |
![]() |
Caledonian26 · 向qnorm图中添加直线 2 年前 |
![]() |
remo · R:带子集的T-统计量 2 年前 |
![]() |
chiuki · 具有上限的int列表的再分配 2 年前 |
![]() |
Hamid · 从Javascript(节点)调用R函数 6 年前 |