繁体   English   中英

如何使用循环通过R中的几个变量计算出一个model

[英]How to use a loop to work out a model through several variables in R

这是我的提升数据

 new=structure(list(B1 = c(6914L, 6914L, 6914L, 6958L, 6958L, 6958L, 
    6958L, 6914L, 6914L, 6914L, 6914L, 5672L, 6014L, 6014L, 6014L, 
    6014L, 6014L, 6958L, 6958L, 6958L, 6958L, 6958L, 6958L, 6914L, 
    6914L, 6914L, 6914L, 6092L, 6092L, 6092L, 6092L, 6092L, 6239L, 
    6239L, 6239L, 6239L, 6239L, 6239L, 6615L, 6615L, 6615L, 6615L, 
    6615L, 7038L, 7038L, 7038L, 7038L, 7038L, 7038L, 6602L, 8136L, 
    8136L, 7369L, 8136L, 8136L, 7369L, 8136L, 8136L, 8136L, 7369L, 
    7369L, 8136L, 8136L, 8136L, 8136L, 7369L, 7369L, 8136L, 8136L, 
    8136L, 8136L, 8317L, 8317L, 8317L, 8821L, 8821L, 8821L, 8821L, 
    8821L, 8317L, 8317L, 8821L, 8821L, 8821L, 8821L, 8821L, 8821L, 
    8317L, 8821L, 8821L, 8821L, 8821L, 8821L, 8821L, 8821L, 8821L, 
    8821L, 8821L, 8821L, 9245L), B2 = c(5560L, 5380L, 5644L, 5088L, 
    5280L, 5200L, 5472L, 5568L, 5560L, 5424L, 5404L, 4784L, 4696L, 
    4820L, 4588L, 4544L, 4452L, 4716L, 5048L, 5236L, 5416L, 5584L, 
    5824L, 5800L, 5932L, 5980L, 6112L, 4796L, 4860L, 5396L, 5900L, 
    5968L, 5968L, 5776L, 5440L, 5248L, 4884L, 4760L, 4796L, 4860L, 
    4776L, 4664L, 4716L, 4952L, 5168L, 5316L, 5548L, 5768L, 5900L, 
    5948L, 5796L, 5756L, 5912L, 5956L, 6000L, 6196L, 6044L, 6164L, 
    6268L, 6588L, 6508L, 6460L, 6608L, 6592L, 6600L, 7100L, 7016L, 
    6988L, 6952L, 6800L, 6644L, 7308L, 7340L, 7528L, 7492L, 7304L, 
    6928L, 6748L, 6764L, 7492L, 7648L, 7580L, 7416L, 7108L, 6864L, 
    7056L, 7164L, 7744L, 7720L, 7360L, 7188L, 7204L, 7280L, 7236L, 
    7520L, 7352L, 7352L, 7376L, 7320L, 7428L), B3 = c(4768L, 4840L, 
    4936L, 4320L, 4388L, 4572L, 4640L, 4704L, 4696L, 4488L, 4396L, 
    4002L, 4030L, 3960L, 3684L, 3680L, 3896L, 4212L, 4364L, 4508L, 
    4732L, 4896L, 4848L, 4872L, 4960L, 5052L, 4848L, 4308L, 4800L, 
    5216L, 5224L, 5248L, 5136L, 4720L, 4428L, 4120L, 3918L, 4052L, 
    4058L, 3806L, 3802L, 3930L, 4092L, 4324L, 4476L, 4604L, 4768L, 
    4980L, 5080L, 5288L, 4840L, 4936L, 5096L, 5040L, 5096L, 5292L, 
    5280L, 5360L, 5480L, 5584L, 5528L, 5524L, 5700L, 5736L, 5732L, 
    6136L, 5980L, 5884L, 5904L, 5820L, 5864L, 6488L, 6572L, 6476L, 
    6256L, 6024L, 5844L, 5884L, 6100L, 6684L, 6596L, 6376L, 6188L, 
    5952L, 6044L, 6212L, 6268L, 6668L, 6484L, 6336L, 6164L, 6332L, 
    6432L, 6396L, 6592L, 6548L, 6500L, 6464L, 6460L, 7008L), B4 = c(4960L, 
    4964L, 4540L, 4164L, 4412L, 4608L, 4628L, 4588L, 4416L, 4312L, 
    4372L, 3806L, 3652L, 3570L, 3480L, 3708L, 3886L, 4188L, 4284L, 
    4344L, 4704L, 4776L, 4772L, 4980L, 5000L, 4852L, 4508L, 4916L, 
    5356L, 5400L, 5268L, 5156L, 4620L, 4324L, 4016L, 3884L, 3854L, 
    3854L, 3770L, 3562L, 3708L, 3854L, 4084L, 4228L, 4440L, 4532L, 
    4784L, 5008L, 5292L, 5464L, 4868L, 4996L, 4908L, 4932L, 5060L, 
    5136L, 5280L, 5444L, 5492L, 5500L, 5560L, 5604L, 5704L, 5660L, 
    5716L, 5892L, 5844L, 5796L, 5752L, 5816L, 5892L, 6500L, 6488L, 
    6212L, 5928L, 5796L, 5876L, 6084L, 6284L, 6660L, 6424L, 6088L, 
    6004L, 6044L, 6268L, 6336L, 6664L, 6500L, 6308L, 6152L, 6288L, 
    6424L, 6376L, 6860L, 6464L, 6500L, 6508L, 6468L, 7144L, 7652L
    ), B5 = c(5554L, 5554L, 4782L, 4736L, 4736L, 5018L, 5018L, 4968L, 
    4968L, 4677L, 4677L, 3814L, 3667L, 3667L, 3594L, 3975L, 3975L, 
    4348L, 4348L, 4736L, 4736L, 5018L, 5018L, 4968L, 4968L, 4677L, 
    4677L, 4930L, 5524L, 5524L, 5229L, 5229L, 4424L, 4424L, 4113L, 
    4113L, 4069L, 4069L, 3857L, 3932L, 3932L, 4228L, 4228L, 4591L, 
    4591L, 4918L, 4918L, 5324L, 5324L, 5543L, 5327L, 5327L, 5301L, 
    5471L, 5471L, 5301L, 5471L, 5471L, 5846L, 5977L, 5977L, 5899L, 
    5899L, 6099L, 6099L, 5977L, 5977L, 5899L, 5899L, 6099L, 6099L, 
    6857L, 6517L, 6517L, 6220L, 6220L, 6418L, 6418L, 6969L, 6517L, 
    6517L, 6220L, 6220L, 6418L, 6418L, 6969L, 6969L, 6861L, 6581L, 
    6581L, 6729L, 6729L, 7265L, 7265L, 6581L, 6729L, 6729L, 7265L, 
    7265L, 8025L), B6 = c(5249L, 5249L, 4428L, 4553L, 4553L, 4832L, 
    4832L, 4741L, 4741L, 4428L, 4428L, 3736L, 3464L, 3464L, 3509L, 
    3894L, 3894L, 4270L, 4270L, 4553L, 4553L, 4832L, 4832L, 4741L, 
    4741L, 4428L, 4428L, 5030L, 5441L, 5441L, 4926L, 4926L, 4146L, 
    4146L, 3907L, 3907L, 3910L, 3910L, 3721L, 3831L, 3831L, 4201L, 
    4201L, 4509L, 4509L, 4871L, 4871L, 5235L, 5235L, 5217L, 5207L, 
    5207L, 5087L, 5290L, 5290L, 5087L, 5290L, 5290L, 5777L, 5721L, 
    5721L, 5746L, 5746L, 5982L, 5982L, 5721L, 5721L, 5746L, 5746L, 
    5982L, 5982L, 6504L, 6116L, 6116L, 5946L, 5946L, 6257L, 6257L, 
    6916L, 6116L, 6116L, 5946L, 5946L, 6257L, 6257L, 6916L, 6916L, 
    6407L, 6293L, 6293L, 6545L, 6545L, 7197L, 7197L, 6293L, 6545L, 
    6545L, 7197L, 7197L, 7998L), B7 = c(4893L, 4893L, 4138L, 4527L, 
    4527L, 4681L, 4681L, 4505L, 4505L, 4170L, 4170L, 3629L, 3388L, 
    3388L, 3545L, 3982L, 3982L, 4288L, 4288L, 4527L, 4527L, 4681L, 
    4681L, 4505L, 4505L, 4170L, 4170L, 5127L, 5268L, 5268L, 4703L, 
    4703L, 3996L, 3996L, 3775L, 3775L, 3713L, 3713L, 3594L, 3813L, 
    3813L, 4166L, 4166L, 4462L, 4462L, 4836L, 4836L, 5277L, 5277L, 
    4910L, 5235L, 5235L, 5001L, 5241L, 5241L, 5001L, 5241L, 5241L, 
    5688L, 5539L, 5539L, 5599L, 5599L, 5988L, 5988L, 5539L, 5539L, 
    5599L, 5599L, 5988L, 5988L, 6278L, 5864L, 5864L, 5931L, 5931L, 
    6177L, 6177L, 6896L, 5864L, 5864L, 5931L, 5931L, 6177L, 6177L, 
    6896L, 6896L, 6212L, 6159L, 6159L, 6382L, 6382L, 7383L, 7383L, 
    6159L, 6382L, 6382L, 7383L, 7383L, 7856L), B8 = c(4836L, 4840L, 
    5044L, 4074L, 4236L, 4404L, 4592L, 4668L, 4796L, 4628L, 4632L, 
    3914L, 3896L, 3796L, 3580L, 3598L, 3596L, 3830L, 4096L, 4320L, 
    4460L, 4648L, 4904L, 4980L, 4940L, 5148L, 5180L, 4164L, 4628L, 
    5304L, 5512L, 5592L, 5500L, 5216L, 4732L, 4380L, 4036L, 4008L, 
    3994L, 3784L, 3660L, 3650L, 3794L, 4018L, 4212L, 4296L, 4516L, 
    4648L, 4908L, 5148L, 4876L, 4828L, 4936L, 4992L, 5052L, 5236L, 
    5236L, 5336L, 5380L, 5708L, 5648L, 5624L, 5580L, 5724L, 5796L, 
    6280L, 6156L, 6012L, 5876L, 5864L, 5868L, 6488L, 6636L, 6752L, 
    6612L, 6268L, 5924L, 5968L, 6092L, 6752L, 6876L, 6764L, 6484L, 
    6176L, 6108L, 6300L, 6460L, 6924L, 6724L, 6528L, 6484L, 6352L, 
    6500L, 6600L, 6784L, 6876L, 6676L, 6616L, 6732L, 6896L), B8A = c(4679L, 
    4679L, 4098L, 4524L, 4524L, 4643L, 4643L, 4460L, 4460L, 3987L, 
    3987L, 3413L, 3294L, 3294L, 3490L, 3840L, 3840L, 4140L, 4140L, 
    4524L, 4524L, 4643L, 4643L, 4460L, 4460L, 3987L, 3987L, 5232L, 
    5152L, 5152L, 4421L, 4421L, 3863L, 3863L, 3697L, 3697L, 3561L, 
    3561L, 3558L, 3788L, 3788L, 4110L, 4110L, 4493L, 4493L, 4894L, 
    4894L, 5032L, 5032L, 4606L, 5209L, 5209L, 4889L, 5233L, 5233L, 
    4889L, 5233L, 5233L, 5787L, 5324L, 5324L, 5492L, 5492L, 6018L, 
    6018L, 5324L, 5324L, 5492L, 5492L, 6018L, 6018L, 5872L, 5544L, 
    5544L, 5876L, 5876L, 6279L, 6279L, 6963L, 5544L, 5544L, 5876L, 
    5876L, 6279L, 6279L, 6963L, 6963L, 6134L, 6187L, 6187L, 6547L, 
    6547L, 7280L, 7280L, 6187L, 6547L, 6547L, 7280L, 7280L, 7968L
    ), B9 = c(6752L, 6752L, 6752L, 7098L, 7098L, 7098L, 7098L, 6752L, 
    6752L, 6752L, 6752L, 4997L, 5626L, 5626L, 5626L, 5626L, 5626L, 
    7098L, 7098L, 7098L, 7098L, 7098L, 7098L, 6752L, 6752L, 6752L, 
    6752L, 5698L, 5698L, 5698L, 5698L, 5698L, 5408L, 5408L, 5408L, 
    5408L, 5408L, 5408L, 5685L, 5685L, 5685L, 5685L, 5685L, 6352L, 
    6352L, 6352L, 6352L, 6352L, 6352L, 5794L, 8407L, 8407L, 7048L, 
    8407L, 8407L, 7048L, 8407L, 8407L, 8407L, 7048L, 7048L, 8407L, 
    8407L, 8407L, 8407L, 7048L, 7048L, 8407L, 8407L, 8407L, 8407L, 
    8487L, 8487L, 8487L, 9610L, 9610L, 9610L, 9610L, 9610L, 8487L, 
    8487L, 9610L, 9610L, 9610L, 9610L, 9610L, 9610L, 8487L, 9610L, 
    9610L, 9610L, 9610L, 9610L, 9610L, 9610L, 9610L, 9610L, 9610L, 
    9610L, 10128L), B10 = c(4170L, 4170L, 3407L, 3301L, 3301L, 3612L, 
    3612L, 3600L, 3600L, 3352L, 3352L, 2502L, 2388L, 2388L, 2403L, 
    2659L, 2659L, 2979L, 2979L, 3301L, 3301L, 3612L, 3612L, 3600L, 
    3600L, 3352L, 3352L, 3856L, 4192L, 4192L, 3840L, 3840L, 3187L, 
    3187L, 2782L, 2782L, 2634L, 2634L, 2501L, 2562L, 2562L, 2792L, 
    2792L, 3068L, 3068L, 3405L, 3405L, 3816L, 3816L, 3858L, 3343L, 
    3343L, 3188L, 3438L, 3438L, 3188L, 3438L, 3438L, 3774L, 3543L, 
    3543L, 3653L, 3653L, 3934L, 3934L, 3543L, 3543L, 3653L, 3653L, 
    3934L, 3934L, 4224L, 3999L, 3999L, 3881L, 3881L, 4162L, 4162L, 
    4724L, 3999L, 3999L, 3881L, 3881L, 4162L, 4162L, 4724L, 4724L, 
    4293L, 4161L, 4161L, 4380L, 4380L, 5052L, 5052L, 4161L, 4380L, 
    4380L, 5052L, 5052L, 5756L), B11 = c(3124L, 3124L, 2514L, 2969L, 
    2969L, 3137L, 3137L, 2922L, 2922L, 2487L, 2487L, 1850L, 1822L, 
    1822L, 2014L, 2309L, 2309L, 2600L, 2600L, 2969L, 2969L, 3137L, 
    3137L, 2922L, 2922L, 2487L, 2487L, 3753L, 3535L, 3535L, 2823L, 
    2823L, 2296L, 2296L, 2151L, 2151L, 1974L, 1974L, 1924L, 2100L, 
    2100L, 2386L, 2386L, 2731L, 2731L, 3087L, 3087L, 3380L, 3380L, 
    3006L, 2740L, 2740L, 2443L, 2800L, 2800L, 2443L, 2800L, 2800L, 
    3228L, 2669L, 2669L, 2935L, 2935L, 3338L, 3338L, 2669L, 2669L, 
    2935L, 2935L, 3338L, 3338L, 3049L, 2893L, 2893L, 3087L, 3087L, 
    3550L, 3550L, 4235L, 2893L, 2893L, 3087L, 3087L, 3550L, 3550L, 
    4235L, 4235L, 3184L, 3242L, 3242L, 3774L, 3774L, 4487L, 4487L, 
    3242L, 3774L, 3774L, 4487L, 4487L, 5217L), B = c(20L, 20L, 20L, 
    20L, 20L, 20L, 20L, 20L, 20L, 20L, 20L, 20L, 20L, 20L, 20L, 20L, 
    20L, 20L, 20L, 20L, 20L, 20L, 20L, 20L, 20L, 20L, 20L, 20L, 20L, 
    20L, 20L, 20L, 20L, 20L, 20L, 20L, 20L, 20L, 20L, 20L, 20L, 20L, 
    20L, 20L, 20L, 20L, 20L, 20L, 20L, 20L, 50L, 50L, 50L, 50L, 50L, 
    50L, 50L, 50L, 50L, 50L, 50L, 50L, 50L, 50L, 50L, 50L, 50L, 50L, 
    50L, 50L, 50L, 50L, 50L, 50L, 50L, 50L, 50L, 50L, 50L, 50L, 50L, 
    50L, 50L, 50L, 50L, 50L, 50L, 50L, 50L, 50L, 50L, 50L, 50L, 50L, 
    50L, 50L, 50L, 50L, 50L, 50L), E = c(20L, 20L, 20L, 20L, 20L, 
    20L, 20L, 20L, 20L, 20L, 20L, 20L, 20L, 20L, 20L, 20L, 20L, 20L, 
    20L, 20L, 20L, 20L, 20L, 20L, 20L, 20L, 20L, 20L, 20L, 20L, 20L, 
    20L, 20L, 20L, 20L, 20L, 20L, 20L, 20L, 20L, 20L, 20L, 20L, 20L, 
    20L, 20L, 20L, 20L, 20L, 20L, 30L, 30L, 30L, 30L, 30L, 30L, 30L, 
    30L, 30L, 30L, 30L, 30L, 30L, 30L, 30L, 30L, 30L, 30L, 30L, 30L, 
    30L, 30L, 30L, 30L, 30L, 30L, 30L, 30L, 30L, 30L, 30L, 30L, 30L, 
    30L, 30L, 30L, 30L, 30L, 30L, 30L, 30L, 30L, 30L, 30L, 30L, 30L, 
    30L, 30L, 30L, 30L), C = c(20L, 20L, 20L, 20L, 20L, 20L, 20L, 
    20L, 20L, 20L, 20L, 20L, 20L, 20L, 20L, 20L, 20L, 20L, 20L, 20L, 
    20L, 20L, 20L, 20L, 20L, 20L, 20L, 20L, 20L, 20L, 20L, 20L, 20L, 
    20L, 20L, 20L, 20L, 20L, 20L, 20L, 20L, 20L, 20L, 20L, 20L, 20L, 
    20L, 20L, 20L, 20L, 10L, 10L, 10L, 10L, 10L, 10L, 10L, 10L, 10L, 
    10L, 10L, 10L, 10L, 10L, 10L, 10L, 10L, 10L, 10L, 10L, 10L, 10L, 
    10L, 10L, 10L, 10L, 10L, 10L, 10L, 10L, 10L, 10L, 10L, 10L, 10L, 
    10L, 10L, 10L, 10L, 10L, 10L, 10L, 10L, 10L, 10L, 10L, 10L, 10L, 
    10L, 10L), OC = c(30L, 30L, 30L, 30L, 30L, 30L, 30L, 30L, 30L, 
    30L, 30L, 30L, 30L, 30L, 30L, 30L, 30L, 30L, 30L, 30L, 30L, 30L, 
    30L, 30L, 30L, 30L, 30L, 30L, 30L, 30L, 30L, 30L, 30L, 30L, 30L, 
    30L, 30L, 30L, 30L, 30L, 30L, 30L, 30L, 30L, 30L, 30L, 30L, 30L, 
    30L, 30L, 10L, 10L, 10L, 10L, 10L, 10L, 10L, 10L, 10L, 10L, 10L, 
    10L, 10L, 10L, 10L, 10L, 10L, 10L, 10L, 10L, 10L, 10L, 10L, 10L, 
    10L, 10L, 10L, 10L, 10L, 10L, 10L, 10L, 10L, 10L, 10L, 10L, 10L, 
    10L, 10L, 10L, 10L, 10L, 10L, 10L, 10L, 10L, 10L, 10L, 10L, 10L
    ), OLS = c(10L, 10L, 10L, 10L, 10L, 10L, 10L, 10L, 10L, 10L, 
    10L, 10L, 10L, 10L, 10L, 10L, 10L, 10L, 10L, 10L, 10L, 10L, 10L, 
    10L, 10L, 10L, 10L, 10L, 10L, 10L, 10L, 10L, 10L, 10L, 10L, 10L, 
    10L, 10L, 10L, 10L, 10L, 10L, 10L, 10L, 10L, 10L, 10L, 10L, 10L, 
    10L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 
    0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 
    0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 
    0L, 0L, 0L, 0L)), class = "data.frame", row.names = c(NA, -100L
    ))

具有相关变量的五列(B、E、C、OC、OLS)。 我必须执行 5 个增强模型。 简单我可以做到。 拿这个脚本,只需更改目标变量 5 次(任何 dep var ~.)

# train GBM model
gbm.fit.final109 <- gbm(
  formula = Value ~ .,
  distribution = "gaussian",
  data = new,
  n.trees = 483,
  interaction.depth = 5,
  shrinkage = 0.1,
  n.minobsinnode = 5,
  bag.fraction = .65, 
  train.fraction = 1,
  n.cores = NULL, # will use all cores by default
  verbose = FALSE
)  

但是,是否可以创建某种循环,将列表中带有依赖变量的列替换到脚本中? 例如(mylistwithdepended_vars=c((B,E,C,OC,OLS) ),IEwe 取每个因变量,一旦它在循环中计算出来,我们就从列表中替换另一个,直到通过这个循环我们计算出所有列。

我该怎么做。 作为 output 我只想要 5 个型号

 gbm.fit.finalB
gbm.fit.finalE
gbm.fit.finalC
gbm.fit.finalOC
gbm.fit.finalOLS

始终感谢您的帮助,谢谢。

您是否正在寻找类似以下内容的内容?

library(gbm)
#> Loaded gbm 2.1.8

dependend <- c("B", "E", "C", "OC", "OLS")
mylistwithdepended_vars <- mget(dependend, envir = as.environment(new))

fun <- function(Value){
  gbm.fit.final109 <- gbm(
    formula = Value ~ .,
    distribution = "gaussian",
    data = new,
    n.trees = 483,
    interaction.depth = 5,
    shrinkage = 0.1,
    n.minobsinnode = 5,
    bag.fraction = .65, 
    train.fraction = 1,
    n.cores = NULL, # will use all cores by default
    verbose = FALSE
  )  
}


gbm_models <- Map(fun, mylistwithdepended_vars)

old_par <- par(mfrow = c(1, 5))
mapply(summary, gbm_models, main = names(gbm_models))

#>         B            E            C            OC           OLS         
#> var     character,17 character,17 character,17 character,17 character,17
#> rel.inf numeric,17   numeric,17   numeric,17   numeric,17   numeric,17
par(old_par)

reprex package (v2.0.1) 创建于 2022-03-11

接受的解决方案适合一组神秘的 5 个模型(而不是 OP 考虑的模型),因为不清楚公式Value ~. .

最好明确说明模型、响应和预测变量是什么。

library("gbm")
#> Loaded gbm 2.1.8
library("tidyverse")

data <- tibble(new)

# Let's define a function to fit a model ...
model_fn <- function(formula, data) {
  # Generalized Boosted Regression
  gbm(
    formula = formula,
    distribution = "gaussian",
    data = data,
    n.trees = 483,
    interaction.depth = 5,
    shrinkage = 0.1,
    n.minobsinnode = 5,
    bag.fraction = .65,
    train.fraction = 1,
    n.cores = NULL, # will use all cores by default
    verbose = FALSE
  )
}
# ... as well as a function to extract information from the fitted model.
summary_fn <- function(fit) {
  # Generalized Boosted Regression
  summary(fit, plotit = FALSE) %>%
    as_tibble()
}

model_summaries <-
  data %>%
  pivot_longer(
    # We want to fit 5 models, one for each of the following responses:
    c(B, C, E, OC, OLS),
    names_to = "response",
    values_to = "y"
  ) %>%
  nest_by(response) %>%
  mutate(
    fit = list(model_fn(
      # For each response we want to use variables B1 through B11 as predictors.
      y ~ B1 + B2 + B3 + B4 + B5 + B6 + B7 + B8 + B9 + B10 + B11,
      data = data
    ))
  ) %>%
  summarise(
    summary_fn(fit)
  )
#> `summarise()` has grouped output by 'response'. You can override using the
#> `.groups` argument.
model_summaries
#> # A tibble: 55 × 3
#> # Groups:   response [5]
#>    response var    rel.inf
#>    <chr>    <chr>    <dbl>
#>  1 B        B1    1   e+ 2
#>  2 B        B2    4.11e-29
#>  3 B        B8    1.17e-29
#>  4 B        B3    8.67e-30
#>  5 B        B4    6.88e-30
#>  6 B        B11   5.43e-30
#>  7 B        B5    2.85e-30
#>  8 B        B7    6.14e-31
#>  9 B        B10   3.82e-31
#> 10 B        B6    1.84e-31
#> # … with 45 more rows

附言。 gbm 模型非常适合您的数据。 您确定响应是高斯响应吗? 很容易检查每个响应是否采用两个唯一值,并且每个值都被恰好观察了 50 次。

data %>%
  pivot_longer(
    # We want to fit 5 models, one for each of the following responses:
    c(B, C, E, OC, OLS),
    names_to = "response",
    values_to = "y"
  ) %>%
  count(
    response, y
  )
#> # A tibble: 10 × 3
#>    response     y     n
#>    <chr>    <int> <int>
#>  1 B           20    50
#>  2 B           50    50
#>  3 C           10    50
#>  4 C           20    50
#>  5 E           20    50
#>  6 E           30    50
#>  7 OC          10    50
#>  8 OC          30    50
#>  9 OLS          0    50
#> 10 OLS         10    50

reprex package (v2.0.1) 创建于 2022-03-12

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM