R語言+AI提示詞:貝葉斯廣義線性混合效應模型GLMM生物學Meta分析

全文鏈接:https://tecdat.cn/?p=40797

本文旨在幫助0基礎或只有簡單編程基礎的研究學者,通過 AI 的提示詞工程,使用 R 語言完成元分析,包括數據處理、模型構建、評估以及結果解讀等步驟點擊文末“閱讀原文”獲取完整代碼、數據、文檔)。

主要介紹了元分析的概念、工作原理、固定效應與隨機效應元分析的區別,以及模型的語法、輸出結果解讀、先驗知識的應用等內容,還探討了如何控制測量誤差和處理不同的方差結構。

一、引言

元分析是對多個相似主題的單個研究結果進行的統計分析,它能提供比單個研究更可靠的估計,還能揭示研究間的模式和趨勢。在生物研究中,我們常常尋找生物對不同處理或環境響應的預測因子,元分析是實現這一目標的有效方法。
在貝葉斯統計框架下,使用馬爾可夫鏈蒙特卡羅(MCMC)方法擬合廣義線性混合效應模型(GLMM)。即使不完全理解貝葉斯統計和混合建模的復雜概念,也可以使用該包進行分析。

二、元分析的概念

元分析是對眾多關于相似主題的單個研究結果的統計分析。與單個研究相比,它能提供更穩健的估計,還能在控制單個研究中固有的非獨立性和測量誤差來源的同時,揭示研究間的模式和趨勢。
例如,當比較來自不同位置(如緯度、海拔、半球、氣候區)、不同物種(如具有不同行為或生活史特征)或不同時間段(如研究的時間和持續時間)的研究時,會引入非獨立性來源,在估計所有研究的平均效應時需要控制這些來源。
然而,這些非獨立性來源也可能是我們感興趣的。比如,在控制緯度時,可能會發現它能解釋我們所關注的響應中研究間的很大一部分方差,從而可以說緯度是該響應的一個良好預測因子。
作為生物學家,我們經常尋找生物對不同處理或環境等響應的預測因子(如上述提到的位置差異、物種或時間段),元分析是實現這一目標的好方法。

三、MCMCglmm介紹

MCMCglmm使用馬爾可夫鏈蒙特卡羅(MCMC)方法,在貝葉斯統計框架下擬合廣義線性混合效應模型(GLMM)。貝葉斯統計聽起來可能很復雜,但實際上比頻率統計更直觀。
以拋硬幣為例,頻率統計認為拋硬幣出現正面的概率是0.5,這是在大量拋硬幣實驗中正面出現的頻率,即基于一組參數值觀察數據的概率。而貝葉斯統計認為,如果硬幣已經拋出但未讓你看到結果,你說出現正面的概率是0.5,是因為你不知道實際結果,硬幣要么是正面要么是反面,概率為0或1,貝葉斯統計的基礎是存在一個真實的參數值,但你不知道它是什么,它考慮的是基于觀察數據的一組參數值的概率,表征了對真實值的主觀不確定性。
在貝葉斯統計中,我們基于對先前情況的了解,在模型中納入先驗概率。此時,數據是固定的,而參數根據我們的先驗知識以及我們對某種結果發生可能性的判斷而改變。模型的輸出是一個后驗分布,它是數據、先驗知識和似然函數的組合。

四、固定效應與隨機效應元分析

在貝葉斯分析中,固定效應和隨機效應沒有根本區別,關鍵在于理解每種類型的分析如何處理方差。
固定效應元分析假設任何觀察間的方差僅由抽樣誤差引起(即當精度趨于無窮大時,漏斗圖會收斂到一個點)。在組合實驗研究時特別有用,例如在分析大量個體處理的元分析中,如果我們想明確回答“雄性或雌性對某種處理的反應更有效嗎”這樣的問題,可以將性別作為固定效應。當我們將一個效應視為固定效應時,認為其他效應的知識不會提供關于我們關注效應的可能大小的信息。
隨機效應元分析則會利用這些信息,認為抽樣誤差可能導致極端估計,因此這些估計應被給予較少的統計權重。此外,觀察間的一些方差被認為是真實的并被估計。在處理來自野外系統的數據時特別有用,因為我們假設存在自然變異,并希望找到有助于解釋它的模式。
例如,在研究候鳥到達繁殖地的時間是否與過去幾十年大致相同,或者由于氣候變化現在是更早還是更晚到達的問題中,我們收集了來自許多不同已發表研究的數據,這些數據包含了不同物種、國家、緯度等信息。我們可以使用包含這些信息的數據集,通過元分析計算所有種群的平均天數差異,同時將物種作為隨機效應,以了解物種間的方差,并估計每個物種的平均響應。

五、熟悉MCMCglmm的語法和模型輸出

準備工作

  1. 安裝軟件:確保你已經安裝了 R 語言環境。你可以從 R 官方網站(https://www.r-project.org/)下載并安裝適合你操作系統的版本。

  2. 安裝相關包:打開 R 語言環境,運行以下代碼安裝本教程所需的包:

  3. 數據準備:準備好你的數據文件,本教程中使用的示例數據文件名為“metadata.csv”,請確保數據文件的格式正確且包含所需的變量(如 Predictor、Slope、SE、Species、Location、Study 等),并將其放置在你指定的工作目錄中。

AI 工具選擇

你可以選擇使用各種支持自然語言生成代碼的 AI 工具,如 deepseek、ChatGPT等。在本教程中,我們將以通用的方式介紹提示詞工程,你可以根據自己的喜好選擇合適的 AI 工具。

提示詞工程步驟

  1. 啟動 AI 工具并輸入基本提示:打開你選擇的 AI 工具,輸入以下提示詞,讓 AI 了解我們的任務背景:
    “我是一個研究學者,想使用 R 語言進行元分析,數據已經準備好,存儲在名為‘metadata.csv’的文件中,數據包含 Predictor、Slope、SE、Species、Location、Study 等變量,你能逐步指導我完成這個元分析過程嗎?”

  1. 數據導入與初步查看:根據 AI 的回復,你會得到類似以下的代碼及解釋,按照提示在 R 語言中運行代碼:

在進行分析時,首先需要下載數據并導入到R中,加載所需的包。通過設置工作目錄來指定數據所在的文件夾,可以使用setwd("your-filepath")代碼(將your-filepath替換為實際文件路徑),或者通過點擊Session/Set working directory/Choose directory來選擇文件夾。

#?加載包
library("dplyr")?#?用于數據操作
migrata?<-?read.csv("metadata.csv",?header?=?T)?#?導入數據集
View(migrata)?#?查看數據集。檢查Predictor變量。有兩個,時間和溫度

查看數據集后,為了專注于研究的第一部分,我們可以篩選出Predictor為“year”的行,即僅關注隨時間測量的年度到達日期的數據。

此時,AI 會解釋說,library()函數用于加載所需的包,read.csv()函數用于讀取 CSV 格式的數據文件,View()函數可以讓你在數據查看器中直觀地查看數據內容。

  1. 數據篩選:繼續向 AI 提問,例如:“我只想分析 Predictor 為‘year’的數據,該怎么做?” AI 會給出以下代碼:

migrata%>%filter(Predictor?==?"year")?->?migrationtime?#?這將數據集簡化為一個預測變量,時間

在開始建模之前,繪制數據是很有幫助的。漏斗圖通常用于可視化元分析的數據,通過將預測變量與每個數據點的1/標準誤差繪制在一起,根據精度對每個研究進行加權,標準誤差高的研究權重較低。

并解釋dplyr包中的filter()函數用于根據條件篩選數據,這里篩選出了 Predictor 變量值為“year”的行,并將結果存儲在migrationtime變量中。

  1. 數據可視化(漏斗圖繪制):詢問 AI 如何繪制漏斗圖來可視化數據,AI會回復:


從漏斗圖中可以看出,數據似乎在零附近聚集,并且正值和負值都有很好的表示,說明該研究沒有受到發表偏倚的影響。進一步放大查看,可以更清楚地看到真實值似乎在零的左側聚集,并且周圍有相當大的變化。


點擊標題查閱往期內容

圖片

R語言用Rshiny探索lme4廣義線性混合模型(GLMM)和線性混合模型(LMM)

outside_default.png

左右滑動查看更多

outside_default.png

01

圖片

02

圖片

03

圖片

04

圖片

解釋plot()函數用于繪制圖形,這里將Slope變量作為 x 軸,1/SE(精度)作為 y 軸繪制了漏斗圖,以根據精度對每個研究進行加權。
如果你想進一步調整圖形的范圍,如 x 軸和 y 軸的范圍,可以繼續向 AI 提問:我希望你能扮演一名數據分析師。我有一個名為‘midata’的數據集,包含‘Slope’和‘SE’列。請繪制一個散點圖,x 軸為‘Slope’,y 軸為‘1/SE’,并添加圖表標題和軸標簽,AI 會給出:?


接下來,我們運行一個隨機效應模型,僅將截距作為固定效應。截距將估計所有數據點的到達日期的平均變化,隨機效應將估計截距周圍是否存在真實變化,以及有多少變化可以由物種、位置或研究的效應來解釋。

  1. 模型構建(隨機效應模型):向 AI 詢問如何構建一個僅包含截距作為固定效應的隨機效應模型,AI 會提供:

運行模型后,我們得到了一個估計參數的分布,因為運行了13000次模型迭代,并采樣了1000次以提供后驗分布。通過查看summary(randomtest)的摘要統計信息,我們可以看到每個效應的后驗均值、分布的95%可信區間(不是置信區間)、有效樣本大小以及固定效應的pMCMC值。
有效樣本大小應該相當高(通常目標是1000-2000),更復雜的模型通常需要更多的迭代來達到可比的有效樣本大小。

六、模型評估

(一)顯著性評估

對于固定效應,當可信區間不跨越零時,我們可以認為該固定效應是顯著的,因為如果后驗分布跨越零,我們就不能確定它不是零。雖然會報告pMCMC值,但更應關注可信區間。理想情況下,后驗分布應該很窄,表明該參數值被精確估計。
對于隨機效應,我們估計方差。由于方差不能為零或負數,當方差的分布不接近零時,我們認為隨機效應是顯著的。可以通過繪制每個后驗分布的直方圖來檢查這一點。

解釋函數用于構建模型,Slope ~ 1表示只有截距作為固定效應,random = ~Species + Location + Study指定了隨機效應為SpeciesLocationStudydata = migrationtime指定了使用的數據集。summary()函數用于查看模型的摘要統計信息。

  1. 模型評估 - 顯著性評估:詢問 AI 如何評估模型中固定效應和隨機效應的顯著性,AI 會回復:


從直方圖中可以看出,位置和物種的方差分布接近零,對于隨機效應要顯著,我們希望其尾部遠離零。

(二)模型收斂評估

檢查模型收斂需要分別對固定效應和隨機效應進行。對于固定效應,可以繪制randomtest$Sol來查看截距的軌跡和密度估計。軌跡類似于模型運行時的時間序列,可用于評估混合(或收斂)情況,而密度類似于模型每次迭代產生的后驗分布估計的平滑直方圖。

解釋對于固定效應,當可信區間不跨越零時,認為該固定效應顯著;對于隨機效應,通過繪制方差的后驗分布直方圖來評估,當方差的分布不接近零時,認為隨機效應顯著。上述代碼使用par()函數設置繪圖布局,hist()函數繪制直方圖,mcmc()函數用于處理模型的輸出數據。

  1. 模型評估 - 收斂評估:AI 會給出:


為了確保模型已經收斂,軌跡圖應該看起來像一只模糊的毛毛蟲,從圖中可以看出截距的混合情況良好。
如果懷疑存在過多的自相關,可以采取以下措施:

  1. 增加迭代次數,默認值為13000(例如nitt = 60000,對于更復雜的模型,可能需要使用幾十萬次迭代)。

  2. 增加燃燒期,默認情況下MCMCglmm會忽略前3000次迭代,因為此時模型尚未收斂,可以增加這個值(例如burnin = 5000)。

  3. 增加抽樣間隔,默認值為10(例如thin = 30)。

  4. 考慮使用更強的先驗。
    對于隨機效應的方差,同樣繪制randomtest$VCV進行檢查。根據電腦和屏幕的情況,可能會收到繪圖太大無法顯示的錯誤消息,可以通過向上和向左拖動繪圖面板來擴大它,以便繪圖有足夠的空間顯示。


從圖中可以看出,一些隨機效應的方差混合得不太好,有效樣本大小也很小。可能需要增加迭代次數,但由于鏈似乎停留在零附近,看起來需要使用比默認值更強的先驗。

七、先驗知識

貝葉斯分析中最困難的部分是如何擬合正確的先驗。先驗是對我們認為參數的均值和/或方差可能是什么的先驗知識的數學量化。我們為每個固定效應、隨機效應和殘差分別擬合一個先驗。
先驗可以用來告知模型我們認為后驗分布將采取的形狀。先驗的信息性可以有所不同,弱信息先驗用于我們沒有太多先驗知識并且希望數據自己說話的情況,它不會將后驗分布從數據表明可能的參數值上拉開。信息性先驗提供對模型估計至關重要的信息,并會在很大程度上影響后驗分布的形狀。
每個先驗都遵循類似的公式,其是強信息還是弱信息取決于所包含的值。需要注意的是,沒有完全無信息的先驗。
默認先驗假設固定效應的后驗分布為正態分布,方差非常大,而對于隨機效應的方差,實現了逆Wishart先驗。逆Wishart先驗包含方差矩陣V和置信度參數nu
隨著模型變得更加復雜,更有可能最終收到錯誤消息,或者模型從一開始就無法混合。在這種情況下,我們應該使用自己的參數擴展先驗。參數擴展意味著先驗不再是逆Wishart先驗,而是縮放F先驗(如果不理解也不用擔心)。這不一定是壞事,因為參數擴展先驗比逆Wishart先驗更不容易指定錯誤。

八、參數擴展先驗和測量誤差

我們再次運行模型,但這次為隨機效應使用參數擴展先驗,通過包含prior = prior1。每個隨機效應由一個G表示,殘差由R表示。參數擴展是指我們包含了先驗均值(alpha.mu)和(協)方差矩陣(alpha.V)以及Vnu

先驗知識與參數擴展先驗:向 AI 詢問,AI 會提供以下代碼示例及解釋:?

這里增加了迭代次數到60000,以改善混合和有效樣本大小。由于MCMC的隨機性,每次重新運行模型時,輸出都會略有不同,因此即使在模型中使用相同的效應,結果也會與這里打印的內容略有不同。
檢查有效樣本大小,發現現在有效樣本大小大了很多,這是一個好跡象。再次繪制隨機效應的方差圖,發現模型的混合情況也更好了。
在進行模型檢查之前,我們希望在模型中控制抽樣誤差,這是使用MCMCglmm進行元分析而不是其他程序或包的關鍵原因之一。通過擬合idh(SE):units作為隨機效應并將相關方差固定為1,可以使用一個計算技巧來實現這一點。

控制測量誤差:AI 會給出:?

檢查摘要統計信息,可以看到包含測量誤差后,我們的估計更加保守,標準誤差較高的研究被賦予了較低的統計權重。
為了進行模型檢查,我們根據相同的參數值(方差/協方差結構(先驗))模擬新數據,然后將其與實際數據進行繪圖,以確保它們重疊。

模型檢查:AI 會回復:?


從圖中可以看出,模擬數據與實際數據的擬合情況還算合理,盡管模擬數據可能稍微向左傾斜。
這里的問題比較復雜,但我們可以嘗試分析一下。問題在于,低精度估計的抽樣方差實際上高于SE2SE2(即元分析的假設不成立)。這意味著a) 仍然對低精度研究給予了過多的權重;b) 一些生物變異(單位方差)被高估了;c) 如果發表偏倚在低精度研究中更有可能發生,那么平均效應大小可能會有偏差。
一個快速的解決方案是查看觀察間方差是否隨著報告的標準誤差的增加而比預期更快地增加。為此,我們可以估計方差,而不是假設它為1,并查看估計值是否大于1。
讓我們重新運行模型,但這次更改測量誤差的先驗,使其不再固定為1。

現在我們可以再次模擬新數據,并將其與我們收集的數據進行繪圖。


這些參數似乎更適合我們的數據。

九、其他內容

其他分析(固定效應、計算后驗均值、非高斯族、協方差結構等):根據你的具體需求,向 AI 提問關于其他分析的問題,例如:

  • “如何在模型中添加固定效應?”

  • “如何計算隨機效應的后驗均值?”

  • “如何處理非高斯族數據?”

  • “如何構建協方差結構?”
    AI 會根據你的問題提供相應的代碼和解釋,你只需按照提示在 R 語言中運行代碼并理解其含義即可。

(一)固定效應

除了隨機效應,還可以擬合固定效應。MCMCglmm估計隨機效應的方式與固定效應類似,但在隨機效應元分析中,分析師通常關注的是方差。

需要注意的是,對于固定效應,可能需要根據具體項目研究是否需要更改先驗。

(二)計算隨機效應的后驗均值

MCMCglmm估計隨機效應的方差和每個類別內的真實效應大小,但報告隨機效應的方差比報告每個效應大小更有信息性。當使用summary()時,R會報告隨機效應的方差和可信區間,但不會報告效應大小。然而,可以保存這些效應大小的后驗模式并在工作中報告,但絕不能對其進行進一步的統計分析,并始終確保讓讀者知道預測的來源。

(三)非高斯族

本教程基于使用高斯分布,但MCMCglmm也可以處理非高斯族。通過指定family=來選擇正確的分布。

(四)計算95%可信區間

可以使用interval(mcmc())來繪制或報告模型的可信區間,而無需直接從摘要中提取數字。

上述代碼的結果應該與查看摘要時截距的后驗分布的95%可信區間的數值相似。當想要組合效應時,interval特別有用。例如,若想知道來自歐洲的短距離遷徙者的后驗分布的均值以及上下95%可信區間,可以像下面這樣操作:

這些數值隨后可用于繪圖、報告等用途。

(五)(協)方差結構

到目前為止,我們了解到對于模型中的每個隨機效應和殘差,MCMCglmm會估計該效應內的方差,即方差在一個1x1的矩陣 - [_V_]中。然而,如果我們有需求,可以重新構建隨機效應和殘差內的方差矩陣。
舉個例子,在之前的模型中,我們假設所有到達日期的測量方式都是相同的,但實際上,它有三種不同的測量方式:首先是到達的平均日期和中位數日期,峰值到達也作為一個類別包含在內,不過沒有包含該類別的行。

因此,我們的殘差方差是異質的,需要在模型中考慮到這一點。我們可以通過在rcov中使用idh():units函數來實現。由于我們希望分別估計每個水平的方差,所以必須更改殘差先驗的方差結構。在這種情況下,我們使用一個3x3的方差矩陣,因為有三種類型的響應。

如果只是在R控制臺中運行prior4,應該能夠更輕松地可視化殘差先驗的矩陣。

現在,當我們打印摘要時可以看到,已經為所有三種到達測量方式估計了殘差方差,這是一個成功的結果。
最后,除了使用方差矩陣,還可以使用協方差矩陣,將idh()替換為us()。在這種情況下,需要更新效應的先驗。例如,如果有三個水平,則需要將矩陣的大小增加到3。

十、結論

本論文詳細介紹了使用R+AI提示詞工程進行元分析的相關內容,從元分析的基本概念、基于貝葉斯框架的工作原理,到模型的構建、運行、評估以及各種高級應用,如先驗的選擇、測量誤差的控制和方差結構的處理等。

e740175048d25aaed83f42bd89cf0cd7.jpeg

本文中分析的完整數據、代碼、文檔分享到會員群,掃描下面二維碼即可加群!?

b3e60184a6a1e74854cff9f1839532ba.png


資料獲取

在公眾號后臺回復“領資料”,可免費獲取數據分析、機器學習、深度學習等學習資料。

6cd4b85bf972a8411d9a62645cb8cd08.jpeg

點擊文末“閱讀原文”

獲取完整代碼、數據、文檔。

本文選自《R語言+AI提示詞:貝葉斯廣義線性混合效應模型GLMM生物學Meta分析》。

點擊標題查閱往期內容

R語言廣義線性混合模型GLMMs在生態學中應用可視化2實例合集|附數據代碼

R語言用潛類別混合效應模型(Latent Class Mixed Model ,LCMM)分析老年癡呆年齡數據

R語言貝葉斯廣義線性混合(多層次/水平/嵌套)模型GLMM、邏輯回歸分析教育留級影響因素數據

R語言估計多元標記的潛過程混合效應模型(lcmm)分析心理測試的認知過程

R語言因子實驗設計nlme擬合非線性混合模型分析有機農業施氮水平

R語言非線性混合效應 NLME模型(固定效應&隨機效應)對抗哮喘藥物茶堿動力學研究

R語言用線性混合效應(多水平/層次/嵌套)模型分析聲調高低與禮貌態度的關系

R語言LME4混合效應模型研究教師的受歡迎程度

R語言nlme、nlmer、lme4用(非)線性混合模型non-linear mixed model分析藻類數據實例

R語言混合線性模型、多層次模型、回歸模型分析學生平均成績GPA和可視化

R語言線性混合效應模型(固定效應&隨機效應)和交互可視化3案例

R語言用lme4多層次(混合效應)廣義線性模型(GLM),邏輯回歸分析教育留級調查數據

R語言 線性混合效應模型實戰案例

R語言混合效應邏輯回歸(mixed effects logistic)模型分析肺癌數據

R語言如何用潛類別混合效應模型(LCMM)分析抑郁癥狀

R語言基于copula的貝葉斯分層混合模型的診斷準確性研究

R語言建立和可視化混合效應模型mixed effect model

R語言LME4混合效應模型研究教師的受歡迎程度

R語言 線性混合效應模型實戰案例

R語言用Rshiny探索lme4廣義線性混合模型(GLMM)和線性混合模型(LMM)

R語言基于copula的貝葉斯分層混合模型的診斷準確性研究

R語言如何解決線性混合模型中畸形擬合(Singular fit)的問題

基于R語言的lmer混合線性回歸模型

R語言用WinBUGS 軟件對學術能力測驗建立層次(分層)貝葉斯模型

R語言分層線性模型案例

R語言用WinBUGS 軟件對學術能力測驗(SAT)建立分層模型

使用SAS,Stata,HLM,R,SPSS和Mplus的分層線性模型HLM

R語言用WinBUGS 軟件對學術能力測驗建立層次(分層)貝葉斯模型

SPSS中的多層(等級)線性模型Multilevel linear models研究整容手術數據

用SPSS估計HLM多層(層次)線性模型模型?

c46f48a2cce7d6735ccfe0717ae1ddb7.jpeg

9ad7e7a2889f17fa571d20931df78a1c.png

593c2674f43c238a31ea83073e40d92b.png

a90706749e363979ecf443dfe06fb415.jpeg

319d30ee38be80e86946af687559f467.png

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/72218.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/72218.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/72218.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

iOS UICollectionViewCell 點擊事件自動化埋點

iOS 中經常要進行埋點&#xff0c;我們這里支持 UICollectionViewCell. 進行自動化埋點&#xff0c;思路&#xff1a; 通過hook UICollectionViewCell 的setSelected:方法&#xff0c; 則新的方法中執行埋點邏輯&#xff0c;并調用原來的方法 直接上代碼 implementation UICol…

課程《MIT Introduction to Deep Learning》

在Youtubu上&#xff0c;MIT Introduction to Deep Learning (2024) | 6.S191 共8節課&#xff1a; (1) MIT Introduction to Deep Learning (2024) | 6.S191 (2) MIT 6.S191: Recurrent Neural Networks, Transformers, and Attention (3) MIT 6.S191: Convolutional Neural N…

Docker 學習(一)

一、Docker 核心概念 Docker 是一個開源的容器化平臺&#xff0c;允許開發者將應用及其所有依賴&#xff08;代碼、運行時、系統工具、庫等&#xff09;打包成一個輕量級、可移植的“容器”&#xff0c;實現 “一次構建&#xff0c;隨處運行”。 1、容器&#xff08;Container…

007 訂單支付超時自動取消訂單(rabbitmq死信隊列 mybatis)

文章目錄 死信隊列RabbitMQ 配置類 RabbitMQConfig.java生產者 OrderTimeoutProducer.java消費者 OrderTimeoutConsumer.java應用配置 application.ymlpom.xml 依賴實體類 Order.java&#xff08;不變&#xff09;Mapper 接口 OrderMapper.java&#xff08;不變&#xff09;服務…

計算機畢業設計SpringBoot+Vue.js智慧圖書管理系統(源碼+文檔+PPT+講解)

溫馨提示&#xff1a;文末有 CSDN 平臺官方提供的學長聯系方式的名片&#xff01; 溫馨提示&#xff1a;文末有 CSDN 平臺官方提供的學長聯系方式的名片&#xff01; 溫馨提示&#xff1a;文末有 CSDN 平臺官方提供的學長聯系方式的名片&#xff01; 作者簡介&#xff1a;Java領…

《論數據分片技術及其應用》審題技巧 - 系統架構設計師

論數據分片技術及其應用寫作框架 一、考點概述 本論題“論數據分片技術及其應用”主要考察的是軟件工程中數據分片技術的理解、應用及其實際效果分析。考點涵蓋以下幾個方面&#xff1a; 首先&#xff0c;考生需對數據分片的基本概念有清晰的認識&#xff0c;理解數據分片是…

【每日學點HarmnoyOS Next知識】web加載pdf、Toggle禁用、Grid多次渲染問題、Web判斷是否存在title、 List側滑欄關閉

【每日學點HarmnoyOS Next知識】web加載pdf、Toggle禁用、Grid多次渲染問題、Web判斷是否存在title、 List側滑欄關閉 1、HarmonyOS Web組件加載本地pdf文件后&#xff0c;默認顯示標題和下載按鈕&#xff0c;可以隱藏或者有對應的操作這個title的API嗎&#xff1f; 隱藏PDF操…

下載 MindSpore 配置 PyTorch環境

以下是下載 MindSpore 并配置 PyTorch 環境的詳細步驟&#xff0c;適用于常見的 Linux/Windows 系統&#xff08;以 NVIDIA GPU 為例&#xff09;&#xff1a; 一、環境準備 1. 硬件與軟件檢查 GPU 支持&#xff1a;確保使用 NVIDIA 顯卡&#xff0c;通過 nvidia-smi 查看驅動…

三、數據提取

利用 requests 可以獲取網站頁面數據&#xff0c;但是 requests 返回的數據中包含了一些冗余數據&#xff0c;我們需要在這些數據集中提取自己需要的信息。所以我們要學會在數據集中提取自己需要的數據。 需要掌握的知識點如下&#xff1a; json 數據提取 jsonpath 語法 靜態…

Qt | 實戰繼承自QObject的IOThread子類實現TCP客戶端(安全銷毀)

點擊上方"藍字"關注我們 01、QThread >>> start() 啟動線程,調用后會執行 run() 方法。 run() 線程的入口點,子類化 QThread 時需要重寫此方法以定義線程的執行邏輯。 quit() 請求線程退出,線程會在事件循環結束后終止。 exit(int returnCode = 0) 退出…

int new_pos = (pos + delta + 9) % 9 化曲為直算法

公式 int new_pos (pos delta 9) % 9; 是一個常見的 循環數組索引計算 方法&#xff0c;用于處理圓圈排列中的位置計算。這個公式可以總結出一個普遍的規律&#xff0c;適用于任何循環數組或圓圈排列的場景。 普遍規律 假設有一個長度為 ( n ) 的循環數組&#xff08;或圓圈…

生成一個日期時間序列,從‘2024-12-03‘開始,每小時遞增 oracle 轉為達夢

-------------------------------生成一個日期時間序列&#xff0c;從2024-12-03開始&#xff0c;每小時遞增---------------------------- ---原oracle : SELECT to_date(2024-12-03, yyyy-mm-dd) (ROWNUM - 1) / 24 data_time FROM dual CO…

前端學習——HTML

VSCode常用快捷鍵 代碼格式化&#xff1a;ShiftAltF 向上或向下移動一行&#xff1a;AltUp或AltDown 快速復制一行代碼&#xff1a;ShiftAltUp或者ShiftAltDown 快速替換&#xff1a;CtrlH HTML標簽 文本標簽 定義著重文字 定義粗體文字 定義斜體文字 加重語氣 刪除字 無特…

Hadoop之02:MR-圖解

1、不是所有的MR都適合combine 1.1、map端統計出了不同班級的每個學生的年齡 如&#xff1a;(class1, 14)表示class1班的一個學生的年齡是14歲。 第一個map任務&#xff1a; class1 14 class1 15 class1 16 class2 10第二個map任務&#xff1a; class1 16 class2 10 class…

C++核心編程之STL

STL初識&#xff1a;從零開始的奇幻冒險 1 STL的誕生&#xff1a;一場代碼復用的革命 很久很久以前&#xff0c;在編程的世界里&#xff0c;開發者們每天都在重復造輪子。無論是數據結構還是算法&#xff0c;每個人都得從頭開始寫&#xff0c;仿佛在無盡的沙漠中尋找綠洲。直到…

【Python】OpenCV算法使用案例全解

OpenCV算法使用案例全解 前言 OpenCV&#xff08;Open Source Computer Vision Library&#xff09;是一個開源的計算機視覺和機器學習軟件庫&#xff0c;它提供了大量的圖像和視頻處理功能。從簡單的圖像濾波到復雜的三維重建&#xff0c;OpenCV涵蓋了計算機視覺領域的眾多算…

Redis的持久化-RDBAOF

文章目錄 一、 RDB1. 觸發機制2. 流程說明3. RDB 文件的處理4. RDB 的優缺點 二、AOF1. 使用 AOF2. 命令寫?3. 文件同步4. 重寫機制5 啟動時數據恢復 一、 RDB RDB 持久化是把當前進程數據生成快照保存到硬盤的過程&#xff0c;觸發 RDB 持久化過程分為手動觸發和自動觸發。 …

Python Cookbook-2.29 帶版本號的文件名

任務 如果你想在改寫某文件之前對其做個備份&#xff0c;可以在老文件的名字后面根據慣例加上三個數字的版本號。 解決方案 我們需要編寫一個函數來完成備份工作: def VersionFile(file_spec, vtypecopy):import os,shutilif os.path.isfile(file_spec):#檢查vtype參數if v…

CCF-CSP認證 202104-1灰度直方圖

題目描述 思路 首先輸入矩陣長度、矩陣寬度和灰度范圍&#xff0c;結果數組長度可固定&#xff0c;其中的元素要初始化為0。在輸入灰度值的時候&#xff0c;結果數組中以該灰度值為索引的元素值1&#xff0c;即可統計每個灰度值的數量。 代碼 C版&#xff1a; #include <…

水果識別系統 | BP神經網絡水果識別系統,含GUI界面(Matlab)

使用說明 代碼下載&#xff1a;BP神經網絡水果識別系統&#xff0c;含GUI界面&#xff08;Matlab&#xff09; BP神經網絡水果識別系統 一、引言 1.1、研究背景及意義 在當今科技迅速發展的背景下&#xff0c;人工智能技術尤其是在圖像識別領域的應用日益廣泛。水果識別作為…