如何在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

更新于:2021年11月2日

1K+ 次浏览

启动您的职业生涯

完成课程后获得认证

开始
广告