r - 使用 ggplot 根据另一列中的值绘制两个变量
问题描述
我正在处理一个包含几列的数据集,例如大陆、经济状况和识字率。我正在寻找一种根据亚洲国家的经济状况和识字率绘制散点图的方法:
economy <- data$Economic status
literacy <- data$literacy rate
ggplot(data = subset(data, Continent == 'Asian countries'), aes(x = economy, y = literacy)) +
geom_point()
但我不断收到一条错误消息,即美学与数据的长度不同。我只是不确定在使用该代码之前是否必须以某种方式按大陆修剪数据,或者以某种方式将经济/识字变量更改为仅来自代码中的亚洲国家。
谢谢你!
解决方案
您的data = subset...
术语告诉 ggplot 您想使用更短的版本,即data
仅使用 Continent 为 Asia 的行。那么您的aes
映射指的是原始数据(包括所有大陆)长度的向量。ggplot
需要这些具有相同的长度;他们不是的事实表明他们没有引用相同的数据。
我认为这样的事情应该有效:
ggplot(data = subset(data, Continent == 'Asian countries'),
aes(x =`Economic status`, y = `literacy rate`)) +
geom_point()
推荐阅读
- haskell - userError 和 isUserError 函数的用途是什么?
- reactjs - 用 axios 发布数据,没有数据键
- javascript - Blazor RenderTreeBuilder 构建器调整大小
- javascript - 如何在 Google App Script 中处理大数字(int64 / bigInt)?
- webpack - Vuetify-loader 和 markdown loader
- c# - 从html(.aspx)页面传递参数时,如何在asp.net Url路由中用连字符'-'替换空格
- postgresql - 在 HSTORE 上创建检查约束以维护特定的数据连续性
- angular - 使用 Angular 和 Typescript 的策略模式
- php - PHP) mysqli_prepare 在 if 语句中不起作用
- ios - 每次关闭应用程序后 Xcode Firebase 身份验证都会注销