ฉันกำลังวางแผนตัวแปรเด็ดขาดและแทนที่จะแสดงจำนวนสำหรับค่าหมวดหมู่แต่ละรายการ
ฉันกำลังมองหาวิธีที่จะได้รับggplot
การแสดงร้อยละของค่าในหมวดหมู่นั้น แน่นอนว่ามันเป็นไปได้ที่จะสร้างตัวแปรอื่นด้วยเปอร์เซ็นต์ที่คำนวณได้และพล็อตที่หนึ่ง แต่ฉันต้องทำหลายสิบครั้งและฉันหวังว่าจะบรรลุเป้าหมายนั้นในคำสั่งเดียว
ฉันกำลังทดลองกับสิ่งที่ชอบ
qplot(mydataf) +
stat_bin(aes(n = nrow(mydataf), y = ..count../n)) +
scale_y_continuous(formatter = "percent")
แต่ฉันต้องใช้มันอย่างไม่ถูกต้องเนื่องจากฉันพบข้อผิดพลาด
ในการทำซ้ำการตั้งค่าได้ง่ายนี่คือตัวอย่างง่าย ๆ :
mydata <- c ("aa", "bb", NULL, "bb", "cc", "aa", "aa", "aa", "ee", NULL, "cc");
mydataf <- factor(mydata);
qplot (mydataf); #this shows the count, I'm looking to see % displayed.
ในกรณีจริงฉันอาจใช้ggplot
แทนqplot
แต่วิธีที่ถูกต้องในการใช้stat_binยังคงหลบเลี่ยงฉันอยู่
ฉันได้ลองวิธีทั้งสี่นี้แล้ว:
ggplot(mydataf, aes(y = (..count..)/sum(..count..))) +
scale_y_continuous(formatter = 'percent');
ggplot(mydataf, aes(y = (..count..)/sum(..count..))) +
scale_y_continuous(formatter = 'percent') + geom_bar();
ggplot(mydataf, aes(x = levels(mydataf), y = (..count..)/sum(..count..))) +
scale_y_continuous(formatter = 'percent');
ggplot(mydataf, aes(x = levels(mydataf), y = (..count..)/sum(..count..))) +
scale_y_continuous(formatter = 'percent') + geom_bar();
แต่ทั้ง 4 ให้:
Error: ggplot2 doesn't know how to deal with data of class factor
ข้อผิดพลาดเดียวกันปรากฏขึ้นสำหรับกรณีง่าย ๆ ของ
ggplot (data=mydataf, aes(levels(mydataf))) +
geom_bar()
ดังนั้นจึงเป็นเรื่องที่ชัดเจนเกี่ยวกับการggplot
โต้ตอบกับเวกเตอร์เดียว ฉันเกาหัวของฉัน googling สำหรับข้อผิดพลาดที่ให้เพียงครั้งเดียวผล