R ggplot2饼图错误

R ggplot2饼图错误,r,ggplot2,sqldf,R,Ggplot2,Sqldf,我使用以下代码创建了一个带有ggplot2的饼图,其中包含两个相邻的饼图:每个“MotT”值对应一个饼图。每个饼图需要显示每个“模型”的比例。这是我的密码: library(ggplot2) library(sqldf) df <- data.frame("MorT" = c(1,2,1,2), "Model" = c(1,1,2,2), "Values" = c(length(outOfTime1withIns[,1]),

我使用以下代码创建了一个带有ggplot2的饼图,其中包含两个相邻的饼图:每个“MotT”值对应一个饼图。每个饼图需要显示每个“模型”的比例。这是我的密码:

library(ggplot2)
library(sqldf)


df <- data.frame("MorT" = c(1,2,1,2), "Model" = c(1,1,2,2),
             "Values" = c(length(outOfTime1withIns[,1]), 
                          length(outOfMem1withIns[,1]),
                          length(outOfTime1noIns[,1]),
                          length(outOfMem1noIns[,1])))



df=sqldf("select Values,
     CASE WHEN MorT==1 THEN 'Insuficient Time'
          WHEN MorT==2 THEN 'Insuficient Memory'
     END MorT,
     CASE WHEN Model==1 THEN '1) FSM1 with Insertion Dominance' 
          WHEN Model==2 THEN '2) FSM1 without Insertion Dominance' 
     END Model from df")

p = ggplot(data=df, 
       aes(x=factor(1),
           y=Summary,
           fill = factor(Model)
       )
)
当然p是空的。我明白了

Error: No layers in plot
如果我试着叫它


任何帮助都将不胜感激!谢谢,正如错误所述,SQL语句有语法错误。此外,ggplot2错误来自未添加几何图形的事实,例如,
geom_点

p = ggplot(data=df, 
       aes(x=factor(1),
           y=Summary,
           fill = factor(Model)
       )
) + geom_point()

如错误所述,SQL语句有语法错误。此外,ggplot2错误来自未添加几何图形的事实,例如,
geom_点

p = ggplot(data=df, 
       aes(x=factor(1),
           y=Summary,
           fill = factor(Model)
       )
) + geom_point()

“Values”是SQL中的关键字,因此不能将其用作变量名。将其更改为“value”或数据框中的其他内容,这将对SQL错误进行排序

看起来您正在遵循上的示例

首先,在ggplot中有y=Summary,需要将代码的y=Summary更新为“value”

接下来,您使用的数据似乎有问题(我没有outOfMem1noIns,所以我制作了测试数据),但您应该确保每个MorT的值总和为1


然后教程页面上的代码应该可以工作(可能带有一些警告消息…

'Values'是SQL中的一个关键字,因此不能将其用作变量名。将其更改为“value”或数据框中的其他内容,这将对SQL错误进行排序

看起来您正在遵循上的示例

首先,在ggplot中有y=Summary,需要将代码的y=Summary更新为“value”

接下来,您使用的数据似乎有问题(我没有outOfMem1noIns,所以我制作了测试数据),但您应该确保每个MorT的值总和为1


然后教程页面上的代码应该可以工作(可能会有一些警告消息…

谢谢你的回答,我意识到语法中有错误,但我不知道它是什么。添加+geom_point()会导致错误:不知道如何为groupGenericFunction类型的对象自动拾取比例。默认为data.frame中的连续错误(x=1L,y=function(x,…,na.rm=FALSE):参数意味着不同的行数:1、0、4下次,最好创建一个测试数据集来重现您的问题。感谢您的回答,我意识到语法中有错误,但我不知道是什么。添加+geom_point()错误结果:不知道如何为groupGenericFunction类型的对象自动选择比例。默认为数据中的连续错误。frame(x=1L,y=function(x,…,na.rm=FALSE):参数意味着不同的行数:1、0、4下次,最好创建一个重现问题的测试数据集。