如何在ggplot中正确使用变量?

时间:2017-12-17 22:31:19

标签: r variables ggplot2 aesthetics

我发现了一个问题,我无法理解。有人可以指出解释吗?

在ggplot中,如果我使用/不使用带变量名的“$”,它会给出不同的结果。请参阅下面的示例,

library(ggplot2)
df <- read.csv("pseudo_facebook.tsv", sep = '\t')

# Without $ sign
ggplot(data = df, aes(x = friend_count)) + geom_histogram(binwidth = 25) +
  scale_x_continuous(limits = c(1, 1000), breaks = seq(0, 1000, 25)) + 
  facet_grid(~df$gender)

Without $ in the variable name

# With $ sign
ggplot(data = df, aes(x = df$friend_count)) + geom_histogram(binwidth = 25) +
  scale_x_continuous(limits = c(1, 1000), breaks = seq(0, 1000, 25)) + 
  facet_grid(~df$gender)

enter image description here

1 个答案:

答案 0 :(得分:0)

我不确定这是否是导致您行为的原因,但在第一个示例中,df$公式中仍然有facet_grid。如果您将裸列名称与数据框指定的列名称混合在一起,那么可能会出现一些偷偷摸摸的评估问题。

如果您使用网址在read.csv中切换出该文件名,那么您将有一个我可以测试的代表