2

まず第一に、私は R とコーディング自体について手がかりがないと言いたいです。学士論文のためにクラスター化された標準誤差を使用して回帰を行う必要があるだけで、Excel ではそれを行うことができません。クラスター化された標準誤差を使用して線形回帰を行うことができましたが、(クラスター化を行わなくても) 重回帰を実行すると、「サイズ 4.7gb のベクトルを割り当てることができません」というエラー メッセージが表示されます。8 GB RAM を搭載した PC で 64 ビットの Windows 7 バージョンを実行しています。これらの 8 GB も R によって考慮されます。
> memory.limit() [1] 8168

これは私が使用する関数であり、エラーメッセージRが吐き出します:

mregt=biglm(GAAP.ETR~TIME+ADVERTISING.EXPENSE+INTANGIBLE.ASSETS+LEVERAGE+LOG.ASSETS+PP.E+R.D.EXPENSE+SPECIAL.ITEMS,data=Control.Variables)
Error: cannot allocate vector of size 4.7 Gb
In addition: Warning messages:
1: In array(c(rep.int(c(1, numeric(n)), n - 1L), 1), d, dn) :
  Reached total allocation of 8168Mb: see help(memory.size)
2: In array(c(rep.int(c(1, numeric(n)), n - 1L), 1), d, dn) :
  Reached total allocation of 8168Mb: see help(memory.size)
3: In array(c(rep.int(c(1, numeric(n)), n - 1L), 1), d, dn) :
  Reached total allocation of 8168Mb: see help(memory.size)
4: In array(c(rep.int(c(1, numeric(n)), n - 1L), 1), d, dn) :
  Reached total allocation of 8168Mb: see help(memory.size)

関数でわかるように、私はすでに big.memory パッケージを使用しようとしていますが、間違っているか (非常に可能性が高い)、うまくいかないかのどちらかです。

私が使用しているデータベースには、10列の38104の観測があります=> 38104 * 10

単純回帰のクラスタリングに使用した関数は次のとおりです。

function(dat,fm, cluster1, cluster2){
attach(dat, warn.conflicts = F)
library(sandwich);library(lmtest)
cluster12 = paste(cluster1,cluster2, sep="")
M1  <- length(unique(cluster1))
M2  <- length(unique(cluster2))   
M12 <- length(unique(cluster12))
N   <- length(cluster1)          
K   <- fm$rank             
dfc1  <- (M1/(M1-1))*((N-1)/(N-K))  
dfc2  <- (M2/(M2-1))*((N-1)/(N-K))  
dfc12 <- (M12/(M12-1))*((N-1)/(N-K))  
u1j   <- apply(estfun(fm), 2, function(x) tapply(x, cluster1,  sum)) 
u2j   <- apply(estfun(fm), 2, function(x) tapply(x, cluster2,  sum)) 
u12j  <- apply(estfun(fm), 2, function(x) tapply(x, cluster12, sum)) 
vc1   <-  dfc1*sandwich(fm, meat=crossprod(u1j)/N )
vc2   <-  dfc2*sandwich(fm, meat=crossprod(u2j)/N )
vc12  <- dfc12*sandwich(fm, meat=crossprod(u12j)/N)
vcovMCL <- vc1 + vc2 - vc12
coeftest(fm, vcovMCL)}

私と一緒に:

mcl(All,regt,All$Company.Name,All$Data.Year...Fiscal)

ここや他のサイトでいくつかの投稿をチェックしました。いくつか試してみましたが、同じエラーメッセージが表示されます。繰り返しますが、私は R とコーディングについてまったく手がかりがないので、これを行うための最も簡単な方法が本当に必要です :D

4

0 に答える 0