第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

具有動態(tài)變量數(shù)的公式

具有動態(tài)變量數(shù)的公式

喵喵時光機 2019-08-27 13:00:41
具有動態(tài)變量數(shù)的公式假設(shè)有一些data.frame foo_data_frame,并且想要找到某些其他列的目標列Y的回歸。為此目的,通常使用一些公式和模型。例如:linear_model <- lm(Y ~ FACTOR_NAME_1 + FACTOR_NAME_2, foo_data_frame)如果公式是靜態(tài)編碼的話,這確實很有效。如果希望使用常數(shù)的因變量(例如2)對多個模型進行根處,則可以這樣處理:for (i in seq_len(factor_number)) {   for (j in seq(i + 1, factor_number)) {     linear_model <- lm(Y ~ F1 + F2, list(Y=foo_data_frame$Y,                                          F1=foo_data_frame[[i]],                                          F2=foo_data_frame[[j]]))     # linear_model further analyzing...   }}我的問題是當程序運行期間變量的數(shù)量動態(tài)變化時,如何做同樣的影響?for (number_of_factors in seq_len(5)) {    # Then root over subsets with #number_of_factors cardinality.    for (factors_subset in all_subsets_with_fixed_cardinality) {      # Here I want to fit model with factors from factors_subset.      linear_model <- lm(Does R provide smth to write here?)    }}
查看完整描述

3 回答

?
偶然的你

TA貢獻1841條經(jīng)驗 獲得超3個贊

參見?as.formula,例如:


factors <- c("factor1", "factor2")

as.formula(paste("y~", paste(factors, collapse="+")))

# y ~ factor1 + factor2

其中factors是一個字符向量,其中包含要在模型中使用的因子的名稱。這可以粘貼到lm模型中,例如:


set.seed(0)

y <- rnorm(100)

factor1 <- rep(1:2, each=50)

factor2 <- rep(3:4, 50)

lm(as.formula(paste("y~", paste(factors, collapse="+"))))


# Call:

# lm(formula = as.formula(paste("y~", paste(factors, collapse = "+"))))


# Coefficients:

# (Intercept)      factor1      factor2  

#    0.542471    -0.002525    -0.147433


查看完整回答
反對 回復(fù) 2019-08-27
?
收到一只叮咚

TA貢獻1821條經(jīng)驗 獲得超5個贊

一個經(jīng)常被遺忘的功能是reformulate。來自?reformulate

reformulate 從字符向量創(chuàng)建公式。


一個簡單的例子:

listoffactors <- c("factor1","factor2")reformulate(termlabels = listoffactors, response = 'y')

將產(chǎn)生這個公式:

y ~ factor1 + factor2


雖然沒有明確記錄,但您也可以添加交互術(shù)語:

listofintfactors <- c("(factor3","factor4)^2")reformulate(termlabels = c(listoffactors, listofintfactors), 
    response = 'y')

會產(chǎn)生:

y ~ factor1 + factor2 + (factor3 + factor4)^2


查看完整回答
反對 回復(fù) 2019-08-27
?
RISEBY

TA貢獻1856條經(jīng)驗 獲得超5個贊

另一種選擇可能是在公式中使用矩陣:

Y = rnorm(10)foo = matrix(rnorm(100),10,10)factors=c(1,5,8)lm(Y ~ foo[,factors])


查看完整回答
反對 回復(fù) 2019-08-27
  • 3 回答
  • 0 關(guān)注
  • 562 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號