为了账号安全,请及时绑定邮箱和手机立即绑定

R将变量列索引传递给ggplot2

R将变量列索引传递给ggplot2

慕斯王 2019-11-14 10:45:40
我试图将列索引传递给ggplot,这是我将反复使用的函数的一部分。喜欢:myplot <- function(df){    ggplot(df, aes(df[, 1], df[, 2])) + geom_point()}我将始终将第一列用作我的x变量,将第二列用作我的y变量,但是列名在数据集之间变化。我到处搜索了。有什么想法吗?编辑:这是我使用的答案:require(ggplot2)myplot <- function(df){   ggplot(df, aes_string(colnames(df)[1], colnames(df)[2])) + geom_point()}
查看完整描述

3 回答

?
慕慕森

TA贡献1856条经验 获得超17个赞

aes_string(colnames(df)[1], colnames(df)[2])

查看完整回答
反对 回复 2019-11-14
?
白衣染霜花

TA贡献1796条经验 获得超10个赞

我已经链接了一种方法(根本不用列名)。如果您坚持使用列名,请尝试以下操作:set.seed(45); df <- data.frame(x=gl(5,5), y=runif(25)); myplot2 = function(df, col1, col2) { ggplot(df, aes(x = get(names(df)[col1]), y = get(names(df)[col2])), environment = environment()) + geom_point() }。由此可以很容易地更改此函数以将列名作为参数。

查看完整回答
反对 回复 2019-11-14
  • 3 回答
  • 0 关注
  • 674 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信