我使用這樣的事情來篩選我的數據幀:無法過濾數據框?
d1 = data.frame(data[data$ColA == "ColACat1" & data$ColB == "ColBCat2", ])
當我打印d1
,它按預期工作。但是,當我鍵入d1 $ ColB時,它仍會打印原始數據框中的所有內容。
> print(d1)
ColA ColB
-----------------
ColACat1 ColBCat2
ColACat1 ColBCat2
> print(d1$ColA)
Levels: ColACat1 ColACat2
也許這是預期,但是當我通過d1
到ggplot,它攪亂了我的圖形,並且不使用過濾器。是否有反正我可以過濾數據幀,並得到只有匹配過濾器的記錄?我想d1
不知道data
的存在。
+1非常感謝你的解釋。我不明白的是,爲什麼ggplot最終使用了不存在的級別。可能是他們有自己的理由。我在R和ggplot中都是一個完整的初學者,所以我最終花了一個多小時的時間試圖瞭解發生了什麼:) – Legend
考慮因素水平的處理(即保留它們,儘管缺少數據),例如在分面時數據世界中的'正常',但它使大多數其他人失去知覺。理由是,如果缺少某些東西,你希望明確地顯示它缺失,例如通過顯示一個沒有數據的方面。 – joran