我有一個簡單的任務,但我無法解決我的問題。R中新列中的綜合因子
我有一個巨大的數據幀,並希望執行KNN,但不能這樣做,因爲我得到以下錯誤:
Error: factor predictors must have at most 32 levels
到目前爲止好。我的想法是聚集列,因此我得到更少的因素。
str(only_savings_medium$MaterialGroupCode)
Factor w/ 40 levels "1A","1B","1C",..: 11 11 11 15 15 15 15 15 15 15 ...
有40個級別 「代碼」 的在 「1A」 的形式, 「1B」,..., 「2B」, 「2D」,..., 「3A」,...「 3D「,」4B「,」4C「,...,」5A「,...,」5Z「。基本上我想檢查因素是否包含一個1,2,3,4或5並將其分配給新列。帶有1(任何字母)的所有代碼將被分配爲1,2(任意字母)至2,依此類推。最後,應該有一個只有5個因素的新專欄,每個專欄包含所有較小的因素。我不確定如何解釋,並希望您瞭解我的問題。
編輯:我會盡量擴大我的解釋。這裏是S數據幀的一部分:
正如你所看到的,有不同的材料組碼一欄。有40個級別。我需要:爲此數據框創建新列。此列包含5個級別(1,2,3,4或5)。如果我們以我的屏幕截圖爲例 - 我們將有一個新的庫侖,其級別如下:2,2,2,2,2,1,1,1,1,1,1,3,3,3,3,3 ...,3。基本上每1A - 1Z,被分配到新列的級別1,每2A - 2Z被分配到2,依此類推。
不是。錯誤是您有一個或多個因子(列)的許多級別。你應該減少關卡的數量。以'cut'爲例。 – agstudy
我們可以刪除字母,並更新因子水平。 – zx8754
@agstudy是的,這就是我想要做的。減少級別的數量,從40到5. – Pixelements