0
爲了計算非參數IV迴歸,我已經從Stata中的一個.dta
文件中讀取了我用於工作的文件。然後我子集我的向量y
(依賴),z
(其中y內源的),和w
(儀器爲Z) - 使用y
作爲一個例子:R中的npregiv:尺寸錯誤
y = data.frame(data$y)
,然後以類似的方式我的多元外源X矩陣。執行
model = npregiv(y, z, w, x)
我期待的東西的工作,爲y爲NX1,Z爲NX1,W爲NX1,x是NX4。在npregiv
中,允許z,w和x是多變量,並且y必須是單變量(它是)。但是,我得到錯誤信息執行命令後:
Error in tww[, , 1] : incorrect number of dimensions
什麼是tww[.]
?
請提供一個小的,可重現的數據和您正在運行的代碼的示例。我的猜測是你的一個變量('data $ *')沒有輸入到'npregiv'所需的維度。 – 2012-04-25 11:14:28
您還需要說明這個函數來自哪裏。 (你的第一行幾乎肯定是錯誤的開始方式,迴歸調用中可能會有'dfrm < - data.frame(y = y,z = z,w = w)'後面緊跟'data = dfrm' 。) – 2012-04-25 14:14:30
@CarlWitthoft:就一個例子而言,創建形式爲'a = c(1,2,3,4,5)','a = data.frame(a)'的形式的任何向量用於y,z, w和x。對於y,文檔要求它是一個一維矢量,但我仍然使用data.frame,因爲如果ncol(y)不在數據框中,它將返回NULL。沒有數據框R返回「錯誤:訓練和評估數據具有不同數量的列」。否則,運行'model = npregiv(y = y,z = z,w = w,x = x)'給出tww [。]錯誤。 @DWin,'data = dfrm'不適合我。命令是否要求分別輸入y,z,w,x數據? – kirk 2012-04-26 13:35:31