【问题标题】:Basic hexbin with R?带有 R 的基本 hexbin?
【发布时间】:2010-10-24 12:56:40
【问题描述】:

我有一项调查的结果。我正在尝试创建一个显示两个变量关系的图形:“Q1”和“Q9.1”。 “Q1”是独立的,“Q9.1”是依赖的。这两个变量都有来自类似规模问题的响应:-2,-1,0,1,2。一个典型的情节将答案放在一起——不是很有趣或信息量不大。我在想 hexbin 将是要走的路。数据在 lpp 中。 我无法对 x 和 y 使用“Q1”和“Q9.1”。然而:

> is.numeric("Q1")
[1] FALSE
q1.num <- as.numeric("Q1")
Warning message:
NAs introduced by coercion 

Q1 的值是(数百个实例):-2,-1,0,1,2

如何使用这些数据制作 hexbin 图表? 我应该考虑另一个图表吗?

到目前为止的错误消息:

Warning messages:
1: In xy.coords(x, y, xl, yl) : NAs introduced by coercion
2: In xy.coords(x, y, xl, yl) : NAs introduced by coercion
3: In min(x) : no non-missing arguments to min; returning Inf
4: In max(x) : no non-missing arguments to max; returning -Inf
5: In min(x) : no non-missing arguments to min; returning Inf
6: In max(x) : no non-missing arguments to max; returning -Inf

【问题讨论】:

  • 提供一些示例数据可能会有所帮助,以便我们了解它当前的结构。一个有用的函数是 dput(...) 它输出可用于重新创建对象的描述。
  • @Donnied;您需要先整理数据。这里有些不对劲;当您强制转换为数字时,您正在引入 NA,在绘图期间,xy.coords() 正在创建 NA,这样您就没有非 NA 数据。查看str(Q1) 等所有数据的输出 - 它们是否存储为数字?最后,你的前两行 R 是错误的;您不能通过 quoted 名称引用对象。如果您想查看Q1 是否为数字,您可以查看is.numeric(Q1)。您所做的是询问字符串 "Q1" 是否为数字,这不可避免地是 FALSE。你在plot() 通话中没有这样做吗?
  • 我很抱歉。我刚刚开始使用 R。我有一个 csv 文件,我将其作为数据读入。 “Q1”是列标题/变量之一。
  • 类似这样的东西:d
  • 被识别为一个对象。但是,我不确定如何明确引用这些列或将它们用作对象。我正在阅读 R,但我知道和需要知道的内容存在巨大缺陷。

标签: r scatter-plot hexagonal-tiles


【解决方案1】:

采取稍微不同的方法怎么样?将您的回答视为因素而不是数字如何?然后,您可以使用这样的东西来获得数据的潜在有用表示:

# 为测试目的模拟数据 q1 = 样本(c(-2,-1,0,1,2),100,replace=TRUE) q9 = 样本(c(-2,-1,0,1,2),100,replace=TRUE) dat = data.frame(q1=因子(q1),q9=因子(q9)) 图书馆(ggplot2) # 生成堆积条形图 ggplot(dat,aes(q1,fill=q9)) + geom_bar()

您可能想要切换上面的 q1 和 q9,具体取决于您想要的数据视图。

【讨论】:

  • 我很抱歉...效果很好!谢谢。
【解决方案2】:

也许 ggplot2 的 stat_binhex 可以为您排序?

另外,我发现scale_alpha 对处理过度绘图很有用。

【讨论】:

  • 我真的很喜欢 stat_binhex。我找不到如何添加标题。 labs、xl 和 yl 不起作用。
  • 标记 x 轴您可以尝试:qplot(x, y, data = data, xlab = "my label") 或:ggplot(data, aes(x, y)) + geom_point() + scale_x_continuous("我的标签")
  • ylab()xlab() 函数还添加了轴标签,例如ggplot(data, aes(x, y)) + geom_point() + ylab("my label")
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-05-19
  • 1970-01-01
  • 2012-04-10
  • 1970-01-01
相关资源
最近更新 更多