r - 在 ggplot 中使用 aes_string
问题描述
library(dplyr)
library(ggplot2)
library(gridExtra)
df <- data.frame(type = rep(c("cons", "dyn"), each = 15),
rain = sample(1:40, 30, replace = T),
tmax = sample(20:40, 30, replace = T),
tmin = sample(1:10, 30, replace = T))
pdf("plot.pdf")
for(i in 2:ncol(df)){
variable.name <- names(df)[i]
p1 <- ggplot(df, aes_string(variable.name)) + geom_histogram() + facet_wrap(~type)
# I want to plot `variable.name` of `cons` and `dyn` against each other
p2 <- ggplot(df, aes_string(x = variable.name[type == "cons"], y = variable.name[type == "dyn"])) + geom_point()
grid.arrange(p1, p2)
}
dev.off()
目前,p2
绘图不起作用,这是因为我无法对列进行子集化。
解决方案
推荐阅读
- r - 仅使用数字的堆积条形图
- json - JSONata:提取最小/最大温度,包括时间戳
- javascript - Vue:在选择下拉列表中有一个 v-model 会清除其他输入值
- javascript - 当我想使用纱线时出错
- c# - ASP.Net 控制器不正确地反序列化嵌套的对象列表
- javascript - 使用 JavaScript 从 html 表中删除表列
- python - 尝试通过 Tweepy 和 Twitter API 创建推文
- html - 为什么我的下拉选项不起作用,我使用简单的 css
- php - 如何将下拉菜单中的选项插入数据库
- kubernetes - kubernetes coredns 的解析系统性地失败了