R 向量中最常出现的值

R 向量中最常出现的值,r,vector,R,Vector,我有一个有1000个值的向量文件。所有值均使用0-1之间的随机函数生成 x <- runif(100,min=0,max=1) x [1] 0.84620011 0.82525410 0.31622827 0.08040362 0.12894525 0.23997187 0.57177296 0.91691368 0.65751720 [10] 0.39810175 0.60632205 0.26339035 0.93543618 0.09662383 0.35147739 0.51

我有一个有1000个值的向量文件。所有值均使用0-1之间的随机函数生成

x <- runif(100,min=0,max=1)
x
  [1] 0.84620011 0.82525410 0.31622827 0.08040362 0.12894525 0.23997187 0.57177296 0.91691368 0.65751720
 [10] 0.39810175 0.60632205 0.26339035 0.93543618 0.09662383 0.35147739 0.51731042 0.29151612 0.54411769
 [19] 0.73688309 0.26086586 0.37808273 0.19163366 0.62776847 0.70973345 0.31802726 0.69101574 0.50042561
 [28] 0.20768256 0.23555818 0.21015820 0.18221151 0.85593725 0.12916935 0.52222127 0.62269135 0.51267707
 [37] 0.60164023 0.30723904 0.81990231 0.61771762 0.02502631 0.47427724 0.21250040 0.88611710 0.88648546
 [46] 0.92586513 0.57015942 0.33454379 0.03572245 0.68120369 0.48692522 0.76587764 0.55214917 0.31137200
 [55] 0.47170307 0.48639510 0.68922858 0.73506033 0.23541740 0.81793240 0.17184666 0.06670039 0.55664270
 [64] 0.10030533 0.94620061 0.58572228 0.53333567 0.80887841 0.55015406 0.82491114 0.81251132 0.06038019
 [73] 0.10918904 0.84011824 0.33169617 0.03568364 0.07703029 0.15601158 0.31623253 0.25021777 0.77024833
 [82] 0.88588620 0.49044305 0.10165930 0.55494697 0.17455070 0.94458467 0.43135868 0.99313733 0.04482747
 [91] 0.53453604 0.52500493 0.35496966 0.06994880 0.11377845 0.71307042 0.35086237 0.04032254 0.23744845
[100] 0.81131033

x分析数字分布的一种可能性是绘制直方图并添加近似的概率密度分布。
这可以通过
ggplot2
库完成:

set.seed(123) # used here for reproducibility
x <- runif(100) # pseudo-random numbers between 0 and 1
library(ggplot2)
p <- ggplot(as.data.frame(x),aes(x=x, y=..density..)) + 
  geom_histogram(fill="lightblue",colour="grey60",bins=50) + 
  geom_density()

在这里,您还可以更改存储箱宽度(请参见
中断
),但默认值可能足以显示该概念

您可以确定此直方图中哪个箱子的条目最多

> hist(x)$mids[which.max(hist(x)$counts)]
#[1] 0.45
在这种情况下,这意味着大多数值出现在0.45附近(描述0.4和0.5之间范围的箱子中间)

希望这有帮助。

您可以这样做:

set.seed(12)
x <- runif(100,min=0,max=1)
n <- length(x)
x_cut<-cut(x, breaks = n/4)
which(table(x_cut)==max(table(x_cut)))
set.seed(12)

如果我只想要一个范围或数字作为结果,而不是绘图或直方图,该怎么办?提前感谢此值将取决于箱子的大小。通常,每个数字只出现一次,因此“哪个数字出现得最频繁”的问题没有答案。但如果您指定一个间隔(箱子大小),则一定数量的数字将属于该范围。@AkshayJangra请检查修订版。我希望它能回答你的问题。谢谢你修改的版本。我会在我的脚本中处理这个问题,然后再给你回复。我可以自动中断吗?根据观察的大小?是的,我更新了我的答案!只需将向量(n)的长度除以一些数字。我得到的结果是-(0.00084614,0.0009478]5你能解释一下结果吗?这意味着在这个区间中有5个值,这是值最多的区间。我能用这个向量中的概率分布得到期望的结果吗?
set.seed(12)
x <- runif(100,min=0,max=1)
n <- length(x)
x_cut<-cut(x, breaks = n/4)
which(table(x_cut)==max(table(x_cut)))