我希望在我的ggplot2条形图上按所有条形图的平均值设置一条水平线:
ggplot(bar_graph, aes(x=V1, y=numBridges)) +
geom_bar(stat = "identity")+
xlab("Agreement")+
ylab("Number of Nodes")+
geom_hline(yintercept=15)不幸的是,这段代码给了我错误消息:
Error in is.finite(x) : default method not implemented for type 'list'这非常奇怪,因为15不是一个列表。这也更奇怪,因为,为了检查一下,我运行了下面的代码来创建一条垂直行--这很好用:
ggplot(bar_graph, aes(x=V1, y=numBridges)) +
geom_bar(stat = "identity")+
xlab("Agreement")+
ylab("Number of Bridge Nodes")+
geom_vline(xintercept=5)几年前,ggplot2中有一个错误,只能通过直接从github安装来解决,因此,如果这仍然是我运行的问题:
remove.packages('ggplot2')
devtools::install_github('hadley/ggplot2')但这也不起作用。
关于麦克蒙特雷:
packageVersion("ggplot2")
[1] ‘3.3.6.9000’有人有什么想法或解决办法吗?会非常感谢您的帮助!
发布于 2022-07-12 23:29:10
感谢neilfws指出,我数据中的列确实是一个列表。我只是做了bar_graph$numBridges %>% unlist()来修复它。
我想一个很好的提醒,一个数据可能是一个聪明的隐藏列表!
https://stackoverflow.com/questions/72959138
复制相似问题