如何在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+ 次瀏覽

啟動您的職業生涯

完成課程後獲得認證

開始
廣告