首页 > 解决方案 > 现在到 ggplot N-th 变量?

问题描述

如何按列索引执行 ggplot data.frame 列?当列名相同或有 10000 列时,需要这样做。例如,如何绘制下面第二列的直方图?

dt <- data.table(cars); names(dt) <- c("A", "A") 
ggplot(dt) + geom_histogram(aes(A))

标签: rggplot2data.table

解决方案


首先,您永远不应该拥有具有相同列名的数据集(数据表等...)。数据框结构有充分的理由阻止您这样做。

现在,要按列名或索引指定,您可以使用.data符号。例如

library(ggplot2)
library(data.table)
dt <- data.table(cars)
ggplot(dt) + geom_histogram(aes(.data[[names(dt)[1]]]))

推荐阅读