use*_*092 1 regression r dataset
如果我有一个包含4137个观测值的数据集,并且我想在hsperc上进行colga的回归,并且仅使用前2070个观测值进行坐标,我该怎么办?
我尝试过类似的东西:
# loading data
GPA2 <- read.table("GPA2.raw", header=TRUE, na.strings=".")
# fitting model
mfit1 <- lm( formula = colgpa ~ hsperc + sat, data=GPA2, subset=(rownum<2071) )
Run Code Online (Sandbox Code Playgroud)
但是subset使用rownum失败了.有什么建议??
我没有一个计算行数的变量,我有这个吗?在那种情况下,我该怎么做?
一个简单,可重复的例子:
dat = data.frame(A = runif(100), B = runif(100))
lm(A~B, dat)
Run Code Online (Sandbox Code Playgroud)
你发现这失败了:
> lm(A~B, dat, subset = (rownum < 50))
Error in eval(expr, envir, enclos) : object 'rownum' not found
Run Code Online (Sandbox Code Playgroud)
那是因为rownum您的数据中没有列.有两种解决方案:
添加一rownum列:
dat[["rownum"]] = 1:nrow(dat)
Run Code Online (Sandbox Code Playgroud)或者在分析之前执行子集操作:
dat_subset = dat[1:2070,]
lm(A~B, dat_subset)
Run Code Online (Sandbox Code Playgroud)正如评论者提到的那样,选择2可能是最好的.