我想用這個數據做一個直方圖的例子,用ggplot2來創建圖形,然後我發現我不能做這個直方圖使用qplot命令的方面,我已經做了這種與另一個數據的情節,但現在我再次嘗試這個具體的數據,我不能這樣做。錯誤使用qplot facet?
這是代碼:
library(ggplot2)
qplot(x = diamonds$price,
geom = "histogram",
facets = .~diamonds$cut)
正如你看到的其實是非常簡單的,但它給我的錯誤:
Error: value for ‘cut’ not found
,如果你做一個快速的研究你會發現,有價格值爲每個級別的切割因子。
diamonds$price[diamonds$cut=="Fair"]
diamonds$price[diamonds$cut=="Good"]
diamonds$price[diamonds$cut=="Very Good"]
diamonds$price[diamonds$cut=="Premium"]
diamonds$price[diamonds$cut=="Ideal"]
我不明白什麼是錯的。
這是另一個例子。但這是行得通的。
x <- rnorm(120,20,20)
y <- as.factor(c(rep("yo",60),rep("tu",60)))
df <- data.frame(x,y)
qplot(x = df$x, geom = "histogram", facets = .~df$y)
這個數據有什麼不同?我看不到。
這告訴我,類變量在這個兩個示例相同
is.numeric(diamonds$price)
[1] TRUE
is.numeric(x)
[1] TRUE
is.factor(diamonds$cut)
[1] TRUE
is.factor(y)
[1] TRUE
請幫忙。
這個問題似乎在'qplot'使用美元符號符號來幹。使用data參數來定義數據集,而不是'data = diamonds'。然後直接引用變量名稱,例如'facets =。〜cut'。 – aosmith
qplot實際上支持使用$ simbol在數據框內使用矢量。我將編輯帖子以顯示該信息。 –
你的解決方案實際上給我的情節,但我仍然不明白什麼是錯的代碼,爲什麼與第二個例子,但不是第一個?謝謝你的幫助。 –