2012-04-19 80 views
1

新的R和有一個非常簡單的任務的問題!我已經將幾列.csv數據讀入R,其中的內容包含自然數加上零的變量,並且缺少值。嘗試使用非參數化包之後,我遇到了兩個問題:首先,如果使用簡單命令bw=npregbw(ydat=y, xdat=x, na.omit),其中x和y是列向量,則會出現「迴歸數據和響應數據數量不匹配」的錯誤。爲什麼我得到這個,因爲我在每個矢量中有相同數量的元素?使用NP包進行帶寬選擇

第二,我想調用數據命令並告訴npregbw這個,使用命令bw=npregbw(ydat=y, xdat=ordered(x))。當我這樣做時,我得到的錯誤是x必須是sort.list的原子。但是x怎麼不是原子的,它只是一個具有自然數和NA的向量?

任何澄清將不勝感激!

回答

1

1)您可能在y和x中有不同數量的NA。

2)不能確定這一點,因爲沒有例子。如果是以下類型:

x <- c(3,4,NA,2) 

然後ordered(x)應該可以正常工作。請提供一個案例。編輯:你當然試過bw=npregbw(ydat=y, xdat=x)ordered()讓您的載體有序因子(見?ordered),這是不是一個原子載體(參見2.1.1 link?factor

EDIT2:所以問題是子集數據的方式。注意不同的子集劃分方式。數據$ x和數據[,i](其中i =列x的列號)給出向量,而數據[c(「x」)]和數據[i]給出數據幀。函數需要向量,除非他們要求數據=(你的數據)。在那種情況下,他們使用列名

+0

1)我已經嘗試了一些診斷。我從我的數據中清除了所有NA,然後嘗試npregbw,使用x和y向量,它們都具有摘要長度:6903,class:-none-,mode:numeric。我仍然得到迴歸數據的數量與響應數據不匹配的錯誤。其次,我創建了兩個小的,簡單的向量來使用包含NA的npregbw,並且它工作正常。 2)我也試着訂購這些生成的向量,如上所述,這也很好。 我想這是一個數據問題?問題是,我沒有看到創建的向量和我的實際數據之間的差異。 – kirk 2012-04-20 09:03:48

+0

這很奇怪。它必須是你的向量的類或子集的東西。你的載體是哪一種方法的子集?數據$ X?您也可以嘗試數字(y)有序(x)組合(以防問題出現在類中)。我想嘗試的另一件事是npregbw(y〜ordered(x)) – Mikko 2012-04-20 12:35:11

+0

那麼,那就是修復。謝謝。使用數據$ x進行子集設置的訣竅。解決了錯誤與不同長度的數據,以及讓我打電話給有序()。 – kirk 2012-04-20 14:31:46