1

4137 個の観測を含むデータ セットがあり、最初の 2070 個の観測のみを使用して hsperc と sat で colga の回帰を実行したい場合、どうすればよいですか?

私は次のようなことを試しました:

# loading data
GPA2 <- read.table("GPA2.raw", header=TRUE, na.strings=".")

# fitting model 
mfit1 <- lm( formula = colgpa ~ hsperc + sat, data=GPA2, subset=(rownum<2071) )

しかし、subset使用rownumは失敗します。助言がありますか??

行数をカウントする変数がありません。その場合、どうすればいいですか?

4

1 に答える 1

5

簡単で再現可能な例:

dat = data.frame(A = runif(100), B = runif(100))
lm(A~B, dat)

あなたが知っているように、これは失敗します:

> lm(A~B, dat, subset = (rownum < 50))
Error in eval(expr, envir, enclos) : object 'rownum' not found

rownumこれは、データに列がないためです。次の 2 つの解決策があります。

  1. 列を追加しrownumます。

    dat[["rownum"]] = 1:nrow(dat)
    
  2. または、分析の前にサブセット操作を実行します。

    dat_subset = dat[1:2070,]
    lm(A~B, dat_subset)
    

コメント者が述べたように、オプション 2 を選択するのがおそらく最善です。

于 2012-10-18T10:09:58.350 に答える