0
我正在PHP腳本中運行R中的迴歸模型。事實上,我在執行迴歸...使用if條件在R上執行向量轉換
fit <- lm(VIEWS ~ TREND + STUNDE + WOCHENTAG + MONAT * JAHR)
...然後對結果應用盒子 - 考克斯改造,獲取有意義在我的情況一定範圍內的「最佳」拉姆達。
bc <- boxcox(fit, lambda = seq(0, 0.5, 0.005))
lambda <- bc$x[which.max(bc$y)]
如果LAMDA不爲0,我申請的實際轉換,一切工作正常:
VIEWS_BOX <- VIEWS^lambda - 1
我通過VIEWS_BOX更換VIEWS重複迴歸。
我的問題: 我需要爲lambda = 0的情況編寫一個if條件,我讀了很多東西,並嘗試了很多東西,但它不起作用。例如。我試過了:
VIEWS_BOX <- ifelse(rep(lambda = 0, length(VIEWS)), ln(VIEWS), VIEWS^lambda - 1)
任何人都可以幫我嗎?提前致謝!
感謝您的支持,斯文,但仍不能正常工作,我想'VIEWS_BOX < - 如果(拉姆達)的意見^拉姆達 - 1個,否則LN(視圖)'還'VIEWS_BOX < - if(lambda == 0)ln(VIEWS)else VIEWS^lambda - 1',但是R的執行仍然在這一行停止......! – bezoo
我發現這個解決方案:'VIEWS_BOX < - if(lambda == 0)log(VIEWS)else VIEWS^lambda-1' work fine,there is no function'ln(x)'in R:'log(x) '返回自然對數! – bezoo
@bezoo對。我剛剛採用了你的代碼,並假設你已經創建了一個'ln'函數。 –