
R語言的一個小范例:數(shù)值模擬和繪圖_數(shù)據(jù)分析師培訓
下午上課,要給經(jīng)濟工程專業(yè)的本科生簡要介紹一下用于統(tǒng)計分析和繪圖的R語言??紤]到他們所在的年級并沒有系統(tǒng)的學完統(tǒng)計學和計量經(jīng)濟學,打算不從回歸分析入手,先教他們對R的基本操作有個了解。寫了如下這段代碼,準備課上帶同學們做一下。順便發(fā)到網(wǎng)上,供大家參考。
背景:
假定是一個由
決定的量,滿足關(guān)系
問在
的取值空間內(nèi),
值的走勢如何,以及最大值出現(xiàn)在什么地方,并繪圖說明。
talk is cheap. show me the code (廢話少說,放碼過來)
一點一點寫,并適當做說明
qiu <- function(alpha){(alpha / (1-alpha))^{-alpha}}
這段代碼的意思是,定義一個名為qiu的function,輸入值alpha之后,會自動求得對應的值。比如
> qiu(0.67)
[1] 0.622206
現(xiàn)在我們來搞alpha。
x <- seq(0.001,0.99, by=0.001)
定義一個數(shù)組x,取值從0.01開始,每次增加0.001單位,直到0.999。然后看看x這個數(shù)組的情況吧
x
length(x)
結(jié)果就不貼出來了。現(xiàn)在,把x的值交給qiu來處理,生成的一系列值,我們定義為y。
y <- qiu(x)
畫個草圖來看看分布情況如何
plot(y~x)
顯然,隨著x從0到1, y并不是單調(diào)變化的:先增大,后減小。那么,y的最高值是多少?對應的x值是多大?
max(y)
x[which.max(y)]
第一行告訴你y的最大值1.3211
第二行的which.max(y)告訴你當y值最大時,所對應的編號是218。把218帶入x中,找到對應的x的值:x[218]=0.218
schx=c(x[which.max(y)])
schy=c(max(y))
分別將y值最大時的x和y值,定義為schx和schy,供下文使用。
重新畫張圖,前面那張?zhí)罅?/span>
dev.off()
plot(y~x, ylim=c(0,1.5), xlim=c(0,1), type="l", ylab=expression(beta), xlab=expression(alpha))
第一行dev.off()告訴R的繪圖程序,關(guān)閉此前的圖。第二行的ylim和xlim定義x和y軸的取值范圍。type是告訴plot程序,散點圖以line的形式呈現(xiàn)。ylab和xlab是x和y軸的名稱:由于我們需要使用希臘字母,因此需要使用expression(alpha)和expression(beta)來打出與
。
比原來那張圖看著帥一些了是吧。繼續(xù)調(diào)整。
par(new=TRUE)
plot(max(y)~x[which.max(y)], pch=2, lty=3, col="red",ylim=c(0,1.5), xlim=c(0,1), ylab="", xlab="")
第一行告訴繪圖程序,我下面要在原有那張圖的基礎(chǔ)上,繼續(xù)添加內(nèi)容,不要覆蓋原圖。
第二行中,把y最大值時的點標出來,pch表示這個點的形狀(1是空心圓,2是空心三角,等等,你們自己試試看從1到20吧)。col="red",將這個點畫成紅色。ylab和xlab設為空,ylim和xlim和上文的值相同,使得兩張圖x軸、y軸重合。
差不多行了。如果你想繼續(xù)和我一樣騷包一點的話,跟我向下繼續(xù)設置。
text(schx, schy-0.2, substitute(paste("(", xx ,", ", yy, ")"), list(xx=schx,yy=schy)))
這行代碼的作用是,在途中加入一段文字。語法text(a,b,c)的意思是,a代表橫坐標的位置,b代表縱坐標的位置,c代表所需要加入的語言。a和b加在一起,告訴plot()需要把一段文字c放在(a,b)這個地方。
c需要做進一步的說明。"(", 以及 ")", 表示這其中是有純文字部分的,plot()直接把它們打出來即可(注意逗號是要保留的)。加在兩個小括號中間的是xx和yy,這是兩個值。
substitute(paste(),list()):
substitute()中包括兩部分,一部分是paste(),一部分是list()。paste告訴plot()要加入這段東西了,其中包括兩個待賦值的xx和yy。list()為它們分別賦值。
看看效果吧。
看起來還可以。要是能把 這個式子也寫上去就更完美了。
text(0.4, 0.5,
substitute(
paste(beta == (frac(alpha, 1-alpha))^{-alpha},
",",
"0<", alpha, "<1")
)
)
收工。這張圖看起來還是有些難看。。。。不過基本信息都已經(jīng)有了。
數(shù)據(jù)分析咨詢請掃描二維碼
若不方便掃碼,搜微信號:CDAshujufenxi
訓練與驗證損失驟升:機器學習訓練中的異常診斷與解決方案 在機器學習模型訓練過程中,“損失曲線” 是反映模型學習狀態(tài)的核心指 ...
2025-09-19解析 DataHub 與 Kafka:數(shù)據(jù)生態(tài)中兩類核心工具的差異與協(xié)同 在數(shù)字化轉(zhuǎn)型加速的今天,企業(yè)對數(shù)據(jù)的需求已從 “存儲” 轉(zhuǎn)向 “ ...
2025-09-19CDA 數(shù)據(jù)分析師:讓統(tǒng)計基本概念成為業(yè)務決策的底層邏輯 統(tǒng)計基本概念是商業(yè)數(shù)據(jù)分析的 “基礎(chǔ)語言”—— 從描述數(shù)據(jù)分布的 “均 ...
2025-09-19CDA 數(shù)據(jù)分析師:表結(jié)構(gòu)數(shù)據(jù) “獲取 - 加工 - 使用” 全流程的賦能者 表結(jié)構(gòu)數(shù)據(jù)(如數(shù)據(jù)庫表、Excel 表、CSV 文件)是企業(yè)數(shù)字 ...
2025-09-19SQL Server 中 CONVERT 函數(shù)的日期轉(zhuǎn)換:從基礎(chǔ)用法到實戰(zhàn)優(yōu)化 在 SQL Server 的數(shù)據(jù)處理中,日期格式轉(zhuǎn)換是高頻需求 —— 無論 ...
2025-09-18MySQL 大表拆分與關(guān)聯(lián)查詢效率:打破 “拆分必慢” 的認知誤區(qū) 在 MySQL 數(shù)據(jù)庫管理中,“大表” 始終是性能優(yōu)化繞不開的話題。 ...
2025-09-18DSGE 模型中的 Et:理性預期算子的內(nèi)涵、作用與應用解析 動態(tài)隨機一般均衡(Dynamic Stochastic General Equilibrium, DSGE)模 ...
2025-09-17Python 提取 TIF 中地名的完整指南 一、先明確:TIF 中的地名有哪兩種存在形式? 在開始提取前,需先判斷 TIF 文件的類型 —— ...
2025-09-17CDA 數(shù)據(jù)分析師:解鎖表結(jié)構(gòu)數(shù)據(jù)特征價值的專業(yè)核心 表結(jié)構(gòu)數(shù)據(jù)(以 “行 - 列” 規(guī)范存儲的結(jié)構(gòu)化數(shù)據(jù),如數(shù)據(jù)庫表、Excel 表、 ...
2025-09-17Excel 導入數(shù)據(jù)含缺失值?詳解 dropna 函數(shù)的功能與實戰(zhàn)應用 在用 Python(如 pandas 庫)處理 Excel 數(shù)據(jù)時,“缺失值” 是高頻 ...
2025-09-16深入解析卡方檢驗與 t 檢驗:差異、適用場景與實踐應用 在數(shù)據(jù)分析與統(tǒng)計學領(lǐng)域,假設檢驗是驗證研究假設、判斷數(shù)據(jù)差異是否 “ ...
2025-09-16CDA 數(shù)據(jù)分析師:掌控表格結(jié)構(gòu)數(shù)據(jù)全功能周期的專業(yè)操盤手 表格結(jié)構(gòu)數(shù)據(jù)(以 “行 - 列” 存儲的結(jié)構(gòu)化數(shù)據(jù),如 Excel 表、數(shù)據(jù) ...
2025-09-16MySQL 執(zhí)行計劃中 rows 數(shù)量的準確性解析:原理、影響因素與優(yōu)化 在 MySQL SQL 調(diào)優(yōu)中,EXPLAIN執(zhí)行計劃是核心工具,而其中的row ...
2025-09-15解析 Python 中 Response 對象的 text 與 content:區(qū)別、場景與實踐指南 在 Python 進行 HTTP 網(wǎng)絡請求開發(fā)時(如使用requests ...
2025-09-15CDA 數(shù)據(jù)分析師:激活表格結(jié)構(gòu)數(shù)據(jù)價值的核心操盤手 表格結(jié)構(gòu)數(shù)據(jù)(如 Excel 表格、數(shù)據(jù)庫表)是企業(yè)最基礎(chǔ)、最核心的數(shù)據(jù)形態(tài) ...
2025-09-15Python HTTP 請求工具對比:urllib.request 與 requests 的核心差異與選擇指南 在 Python 處理 HTTP 請求(如接口調(diào)用、數(shù)據(jù)爬取 ...
2025-09-12解決 pd.read_csv 讀取長浮點數(shù)據(jù)的科學計數(shù)法問題 為幫助 Python 數(shù)據(jù)從業(yè)者解決pd.read_csv讀取長浮點數(shù)據(jù)時的科學計數(shù)法問題 ...
2025-09-12CDA 數(shù)據(jù)分析師:業(yè)務數(shù)據(jù)分析步驟的落地者與價值優(yōu)化者 業(yè)務數(shù)據(jù)分析是企業(yè)解決日常運營問題、提升執(zhí)行效率的核心手段,其價值 ...
2025-09-12用 SQL 驗證業(yè)務邏輯:從規(guī)則拆解到數(shù)據(jù)把關(guān)的實戰(zhàn)指南 在業(yè)務系統(tǒng)落地過程中,“業(yè)務邏輯” 是連接 “需求設計” 與 “用戶體驗 ...
2025-09-11塔吉特百貨孕婦營銷案例:數(shù)據(jù)驅(qū)動下的精準零售革命與啟示 在零售行業(yè) “流量紅利見頂” 的當下,精準營銷成為企業(yè)突圍的核心方 ...
2025-09-11