首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Facet_wrap on data.frame,它看起来像融化的数据

Facet_wrap on data.frame,它看起来像融化的数据
EN

Stack Overflow用户
提问于 2018-10-18 12:16:54
回答 1查看 223关注 0票数 1

我有一个数据集(A.plot),由于数据是或多或少的,它看起来像是用熔体熔化了。第1列称为Prov (9个样本名称每个重复10次),第2列称为step,称为Steg (1:10复制10次),第3:30列是不同的金属。样本和步骤本身是不唯一的,但是如果连接在一起,就会得到真正的唯一示例名。我已经创建了一个包含所有金属名称的向量,名为Element

代码语言:javascript
运行
复制
str(A.plot)
Classes ‘tbl_df’, ‘tbl’ and 'data.frame':   99 obs. of  31 variables:
 $ Prov: chr  "A-HCl" "A-HCl" "A-HCl" "A-HCl" ...
 $ Steg: num  0 1 2 3 4 5 6 7 8 9 ...
 $ Li  : num  1.51 4.22 4.76 5.3 8.89 ...
 $ Be  : num  0.204 0.559 0.802 0.841 0.295 ...
 $ Na  : num  6097217 5991299 5819005 5921011 6042524 ...
 $ Mg  : num  405 22524 333229 553882 879715 ...
 $ Al  : num  446 459 525 508 503 ...
 $ K   : num  549282 505039 500718 515440 535693 ...

只需使用以下代码绘制一种金属:

代码语言:javascript
运行
复制
A.test.plot <- A.plot[ , c( 1:2, 12) ] 
colnames(A.test.plot) <- c("Prov", "Steg", "value")

library(ggplot2)
library(tidyr)
ggplot(A.test.plot, aes(x=Steg, y=value, colour=Prov, group=Prov)) +
  geom_line()

我可以得到我想要的每一种金属的显示方式的情节:

问题是,我希望所有的金属都在一个facet_wrap中。我以前使用facet_wrap ()来处理几个金属,但是每个金属(每个面板)只有一组数据/值。现在我有了几组(9)值要输入到每个面板中,看来我给gather()的方式是错误的。

我试过:

代码语言:javascript
运行
复制
A.test.plot1 <- A.plot 
colnames(A.test.plot1) <- c("Prov", "Steg", Element)

gather(A.test.plot1, key = Element, value, -"Steg", -"Prov")

ggplot(gather(A.test.plot1, key=Element, value="value", -"Steg", -"Prov"), aes(x=Steg, y=Element, colour=Prov, group=Prov) ) + 
  geom_point() + 
  facet_wrap(~ Element, scales = 'free') 

但它似乎“聚集了很多”:

我还尝试过将Steg/Element/Prov从集合函数和ggplot中移除的几种组合,但这只会使我离目标更远。

我错过了什么/做错了什么?

我已经看过this question了,但是数据集已经从链接中消失了,我没有足够的技术来为我的数据复制解决方案。我也看过another question,但我认为lubridate包在这里不适用。

编辑:示例数据应请求:YggTSTON3swP0tSehurLQqtFrt8/edit?usp=sharing注意,它是巨大的,因为许多小数。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-10-19 07:46:46

这是为我工作的:

代码语言:javascript
运行
复制
library(ggplot2)
library(tidyr)
gather(A.test.plot1, key=Element, value="value", -"Steg", -"Prov") %>% 
  ggplot(aes(x=Steg, y=as.numeric(value), colour=Prov, group=Prov) ) + 
  geom_line() + 
  facet_wrap(~ Element, scales = 'free') 

问题是对aes()的调用中的规范aes()

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

https://stackoverflow.com/questions/52873825

复制
相关文章

相似问题

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