【发布时间】:2022-02-04 12:01:33
【问题描述】:
我有一个大数据框。前 n 列代表我的因变量,其余 m=(N-n) 列代表我的解释变量。
我需要进行变量选择,即我想运行一个线性模型,其中一个因变量与一组解释变量相对应。
我使用下面的代码,但它不起作用。
structure(list(y1 = c(-0.159526983540257, 2.16892194367082, 0.695539528415267,
-0.841375527728487, 0.146186718603554), y2 = c(0.843930369507526,
1.15189158283099, -0.162651238219114, 0.384543148695671, -0.768095169822086
), y3 = c(0.676606087565373, -1.54403120779262, 0.309217049561983,
-1.35994467980478, 0.025666048887934), x1 = c(-0.462318888988991,
0.637219370641707, 0.169306615605319, 0.773825637643689, -1.80512938432685
), x2 = c(0.420644990269304, 0.168496378157891, -0.288787457624397,
-1.8207116669123, -1.04563859296061), x3 = c(0.529585006756937,
-0.69696010268217, 0.72760512189806, 1.27475852051601, 0.0547933726620265
), x4 = c(0.995548762574541, -1.42396489630791, 1.34343306027338,
1.14879495559021, 1.11600859581743), x5 = c(-0.989878720668274,
-0.823824983427361, -1.58910626627862, -0.987929834373281, -1.75551410908407
), x6 = c(-0.206995723222616, -0.712762437418153, -0.516370544799284,
0.124635650806358, 1.08149368199072), x7 = c(-0.409575294823497,
1.5077513417679, -1.17700768734441, -0.159607245758965, 1.11768048557717
)), class = "data.frame", row.names = c(NA, -5L))
index=c(5,8,9)
model = lm(df[,1] ~ df[,c(index)])
是否可以以类似的方式对数据框进行子集化?我真的很想避免使用列名,因为我可能会运行多个不同的模型。
编辑:c(index) 的长度可能每次都不同。
【问题讨论】:
-
请按照r标签页面顶部的要求提供一个完整的可重现示例,以便其他人可以使用复制粘贴到他们的R会话中轻松运行代码。
标签: r subset linear-regression lm