我试图将列索引传递给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贡献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() }。由此可以很容易地更改此函数以将列名作为参数。
- 3 回答
- 0 关注
- 723 浏览
添加回答
举报
0/150
提交
取消