分类条形图“ x”对于“ sort.list”必须是原子的

时间:2018-09-04 06:37:00

标签: r ggplot2

我正在学习R中的可视化,并且遇到了一些问题,试图从我从R中的.xlsx文件提取的数据中创建分类条形图。

输入有很多列,我用图表所需的两列创建了一个数据框。当我在R中运行以下命令时,出现错误

"Error in sort.list(y) : 'x' must be atomic for 'sort.list'
Have you called 'sort' on a list?"

这是我的脚本:

df<-read_excel("C:\\..\\excel.xlsx", sheet="Sheet1")
unique_df<-unique(mis[c("Vegetables", "Fruits")])

ggplot(data = unique_df, mapping = aes(x = as.factor(unique_df["Vegetables"]),
y = unique_df["Fruits"])) + geom_bar(stat = "identity") +
labs(x = "Vegetables", y="Fruits", title="Number of Codes", subtitle="Vegetables wise number of fruits")

这类似于我需要通过以下方式进行可视化的数据框(unique_df):

x             y
Red           Mango
Red           Apple
Red           Banana
Blue          Mango
Blue          Banana
Blue          Banana
Blue          Apple
Yellow        Pineapple
Green         Mango
Yellow        Pineapple
Yellow        Pineapple
Green         Apple

str(unique_df)的输出

Classes ‘tbl_df’, ‘tbl’ and 'data.frame':   219 obs. of  2 variables:
x: chr "Red" "Red" "Red" "Blue" "Blue"...
y: chr "Mango" "Apple" "Banana" "Mango"...

1 个答案:

答案 0 :(得分:0)

假设df-数据帧,“ a”和“ b”为列。 尝试下面的代码-并附上图的图像。 ggplot(data = df,aes(x=df$a,fill=df$b))+geom_bar() enter image description here