首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >蜂温图数据输入

蜂温图数据输入
EN

Stack Overflow用户
提问于 2013-12-10 19:24:39
回答 1查看 1.1K关注 0票数 1

我正试图用我的特定数据集在R中创建一个蜂巢式的地块。我不是R专家。我的数据如下:

代码语言:javascript
运行
复制
group    p1    p2    p3    p4
A       .01    .1    n/a   1.9
A       2.0    n/a   n/a   .05
A       n/a    n/a   n/a   .3
B       .05    .1    1.0   .5
B       1.0    .02   .054  .01
B       .05    n/a   3.1   .8

我想看到的是带有p1、p2、p3和p4列的蜂巢式地块,对于每一列,它都显示不同的组,颜色由不同的组(例如,红色表示'A‘,蓝色表示'B’)。在y轴上,我想看到实际的数据点/测量值。

如果这样做更容易的话,我也可以按组将数据分离出来--这样就会有一个表表示'A‘,一个表表示'B’,我可以在同一幅图上重叠。

我只是不知道如何使列与p1、p2等相关联,并根据输入数据在列中覆盖不同的度量。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-01-23 15:04:46

我不太确定您的数据如何,因为您没有提供我可以使用的示例数据。以"n/a“作为缺少的值指示符,您可能仍然会遇到一些问题。

无论如何,这里有一个方法可以实现它。

让我们生成一个样本数据集,类似于您的:

代码语言:javascript
运行
复制
 set.seed(3)
x <- data.frame(p1 = rnorm(5,10,4), p2 = rnorm(5, 40, 10),
            p3=rnorm(5,1,3), p4=rnorm(5,6,4),
            group=sample(c("A", "B"), 5, replace = TRUE))

注意,gouping变量位于第五列中。现在,我们可以通过以下方法轻松地生成蜂群(因为它是按列自动分组的):

代码语言:javascript
运行
复制
library("beeswarm")
beeswarm(x[,-5])

列5被排除在外,因为它包含我们的分组而不包含数据。

现在是颜色了。我能想到的最简单的方法是使用蜂巢函数的pwcol参数。为此,我们首先要创建一个颜色向量。也许有一个更好的方法来做这一切,但这是可行的。

在列5中创建颜色向量,当组为"A“时包含2,而非A.2和3则任意选择;这些是颜色的值(此处为红色和绿色)。col喜欢的任何值都可以选择。

代码语言:javascript
运行
复制
colors=ifelse(x$group=="A", 2,3) 

由于向量只有5长,它只能用于着色蜂巢的第一列,因此我们必须扩大它(我们需要一个颜色值每个数据点)。

代码语言:javascript
运行
复制
colors=rep(colors, ncol(x[,-5]))
beeswarm(x[,-5], pwcol=colors)

祝你的数据好运!

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20503441

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档