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