[英]Plot a CDF chart by Microsoft Excel
您可以使用NORMDIST
函數並將最后一個參數設置為 true:
例如,假設我有 20 個數據點,從 0.1 到 2.0,增量為 0.1,即 0.1、0.2、0.3...2.0。
現在假設該數據集的平均值為 1.0,標准差為 0.2。
要獲得 CDF 圖,我可以對每個值使用以下公式:
=NORMDIST(x, 1.0, 0.2, TRUE) -- where x is 0.1, 0.2, 0.3...2.0
要從您的數據中刪除重復條目並匯總相同的值,您可以使用以下代碼。
ALT + F11
打開 VBEInsert > Module
模塊在編輯器中放置一個模塊RemoveDuplicates
任意位置並按F5
運行代碼因此,您獨特的匯總結果將出現在您工作簿的 Sheet2 中。
Sub RemoveDuplicates()
Dim rng As Range
Set rng = Range("A1:B" & GetLastRow(Range("A1")))
rng.AdvancedFilter Action:=xlFilterCopy, CopyToRange:=Worksheets("Sheet2").Range("A1"), Unique:=True
Dim filteredRng As Range
Dim cl As Range
Set filteredRng = Worksheets("Sheet2").Range("A1:A" & GetLastRow(Worksheets("Sheet2").Range("A1")))
For Each cl In filteredRng
cl.Offset(0, 1) = Application.WorksheetFunction.SumIf(rng.Columns(1), cl.Value, rng.Columns(2))
Next cl
End Sub
Function GetLastRow(rng As Range) As Long
GetLastRow = rng.End(xlDown).Row
End Function
這個答案是如何創建“經驗分布函數”,這是許多人(包括我自己)在說 CDF 時真正想到的…… https://en.wikipedia.org/wiki/Empirical_distribution_function
假設樣本數據的第二列從單元格 B1 開始,在單元格 C1 中鍵入:
=SUM(IF($B$1:$B$14<=B1,1,0))/COUNT($B$1:$B$14)
然后按 Shift+Enter,將其作為數組公式輸入。 它現在在公式欄中看起來像這樣:
{=SUM(IF($B$1:$B$14<=B1,1,0))/COUNT($B$1:$B$14)}
向下復制單元格以覆蓋 C1:C14。 然后以 B1:B14 為 X,C1:C14 為 Y 繪制散點圖。它將顯示四個點。
讓我們看看我是否理解你的問題。 假設 Excel 2007 及更高版本。 假設您的數據在 A 列和 B 列中。
第 1 步
在單元格 C1 中使用此公式:
=B1*COUNTIF(A:A,A1)
而單元格 D1 中的這個公式:
=SUM($C$1:C1)
並將兩個公式復制到數據的末尾。
第 2 步
選擇四列。
在 Ribbon Data->Delete Duplicates 中選擇
取消選中 B、C 和 D 列
第 3 步
選擇A列和D列。在Ribbon Insert-> Scatter-> Line中選擇
這是您想要達到的目標嗎?
哼!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.