如何在R中找到频率数据的中位数?

如果我们有频率数据,那么我们首先需要通过重复值直到每个值对应的频率来找到总数据或完整数据,然后我们可以对这个完整数据应用中值函数。

例如,如果我们有一个名为 df 的数据框,其中包含两列 X 和频率,那么我们可以使用以下命令找到总数据 -

Total_data<-rep(X,Frequency)

现在将使用以下命令找到中位数 -

median(Total_data)

示例 1

以下代码段创建了一个示例数据框 -

x<-rpois(20,20)
frequency<-sample(1:10,20,replace=TRUE)
df1<-data.frame(x,frequency)
df1

创建了以下数据框

    x frequency
1  21   9
2  16   8
3  24   7
4  12   6
5  15   10
6  20   9
7  28   1
8  16   8
9  25   7
10 22   10
11 20   7
12 17   3
13 20   2
14 23   2
15 29   7
16 20   7
17 25   9
18 20   3
19 15  10
20 14   2

要在上面创建的数据框中找到 df1 中的总数据,请将以下代码添加到上面的代码段中 -

x<-rpois(20,20)
frequency<-sample(1:10,20,replace=TRUE)
df1<-data.frame(x,frequency)
Total_data1<-rep(df1$x,df1$frequency)
Total_data1
输出结果

如果您将上述所有给定的片段作为单个程序执行,它会生成以下输出 -

[1] 21 21 21 21 21 21 21 21 21 16 16 16 16 16 16 16 16 24 24 24 24 24 24 24 12
[26] 12 12 12 12 12 15 15 15 15 15 15 15 15 15 15 20 20 20 20 20 20 20 20 20 28
[51] 16 16 16 16 16 16 16 16 25 25 25 25 25 25 25 22 22 22 22 22 22 22 22 22 22
[76] 20 20 20 20 20 20 20 17 17 17 20 20 23 23 29 29 29 29 29 29 29 20 20 20 20
[101] 20 20 20 25 25 25 25 25 25 25 25 25 20 20 20 15 15 15 15 15 15 15 15 15 15
[126] 14 14

要在上面创建的数据框中找到 Total_data1 的中位数,请将以下代码添加到上面的代码段中 -

x<-rpois(20,20)
frequency<-sample(1:10,20,replace=TRUE)
df1<-data.frame(x,frequency)
Total_data1<-rep(df1$x,df1$frequency)
median(Total_data1)
输出结果

如果您将上述所有给定的片段作为单个程序执行,它会生成以下输出 -

[1] 20

示例 2

以下代码段创建了一个示例数据框 -

y<-rpois(20,20)
count<-sample(1:10,20,replace=TRUE)
df2<-data.frame(y,count)
df2

创建了以下数据框

    y count
1  21 10
2  17 10
3  28  4
4  24  5
5  15  3
6  25  7
7  23  6
8  15  7
9  21  7
10 21  7
11 26  5
12 19 10
13 15  9
14 31  9
15 20  4
16 19  6
17 21  9
18 19  6
19 25  7
20 21  9

要在上面创建的数据框中的 df2 中查找总数据,请将以下代码添加到上面的代码段中 -

y<-rpois(20,20)
count<-sample(1:10,20,replace=TRUE)
df2<-data.frame(y,count)
Total_data2<-rep(df2$y,df2$count)
Total_data2
输出结果

如果您将上述所有给定的片段作为单个程序执行,它会生成以下输出 -

[1] 21 21 21 21 21 21 21 21 21 21 17 17 17 17 17 17 17 17 17 17 28 28 28 28 24
[26] 24 24 24 24 15 15 15 25 25 25 25 25 25 25 23 23 23 23 23 23 15 15 15 15 15
[51] 15 15 21 21 21 21 21 21 21 21 21 21 21 21 21 21 26 26 26 26 26 19 19 19 19
[76] 19 19 19 19 19 19 15 15 15 15 15 15 15 15 15 31 31 31 31 31 31 31 31 31 20
[101] 20 20 20 19 19 19 19 19 19 21 21 21 21 21 21 21 21 21 19 19 19 19 19 19 25
[126] 25 25 25 25 25 25 21 21 21 21 21 21 21 21 21

要在上面创建的数据框中找到 Total_data2 的中位数,请将以下代码添加到上面的代码段中 -

y<-rpois(20,20)
count<-sample(1:10,20,replace=TRUE)
df2<-data.frame(y,count)
Total_data2<-rep(df2$y,df2$count)
median(Total_data2)
输出结果

如果您将上述所有给定的片段作为单个程序执行,它会生成以下输出 -

[1] 21

示例 3

以下代码段创建了一个示例数据框 -

z<-sample(1:2,20,replace=TRUE)
count<-sample(1:10,20,replace=TRUE)
df3<-data.frame(z,count)
df3

创建了以下数据框

   z count
1  2 3
2  1 1
3  1 6
4  1 7
5  1 7
6  1 4
7  2 9
8  1 7
9  2 10
10 2 6
11 1 4
12 1 6
13 2 6
14 1 7
15 1 9
16 1 4
17 2 4
18 2 4
19 2 8
20 2 2

要在上面创建的数据框中的 df3 中查找总数据,请将以下代码添加到上面的代码段中 -

z<-sample(1:2,20,replace=TRUE)
count<-sample(1:10,20,replace=TRUE)
df3<-data.frame(z,count)
Total_data3<-rep(df3$z,df3$count)
Total_data3
输出结果

如果您将上述所有给定的片段作为单个程序执行,它会生成以下输出 -

[1] 2 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2
[38] 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 2 2 2 2
[75] 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2
[112] 2 2 2

要在上面创建的数据框中找到 Total_data3 的中位数,请将以下代码添加到上面的代码段中 -

z<-sample(1:2,20,replace=TRUE)
count<-sample(1:10,20,replace=TRUE)
df3<-data.frame(z,count)
Total_data3<-rep(df3$z,df3$count)
median(Total_data3)
输出结果

如果您将上述所有给定的片段作为单个程序执行,它会生成以下输出 -

[1] 1

猜你喜欢