R 如何创建显示特定离子的时间范围或确切时间的图表?

R 如何创建显示特定离子的时间范围或确切时间的图表?,r,graph,chemistry,R,Graph,Chemistry,我试图通过展示特定化合物及其保留时间来可视化我的初步数据。我想要的是一个图表,它能够显示x轴上的保留时间和y轴上的离子质量。有些离子在分析仪器中有准确的保留时间或洗脱时间范围 在下面的示例数据框中,QIon是离子质量,RT是时间框(如果有),RT_Center是准确的保留时间。一些化合物因质量相同而重叠,但保留时间不同,因此在图表上,时间框架可能在相同的y轴上,但在x轴上不同。如果您需要任何其他信息,请告诉我 Compound QIon RT RT_Center Bi

我试图通过展示特定化合物及其保留时间来可视化我的初步数据。我想要的是一个图表,它能够显示x轴上的保留时间和y轴上的离子质量。有些离子在分析仪器中有准确的保留时间或洗脱时间范围

在下面的示例数据框中,QIon是离子质量,RT是时间框(如果有),RT_Center是准确的保留时间。一些化合物因质量相同而重叠,但保留时间不同,因此在图表上,时间框架可能在相同的y轴上,但在x轴上不同。如果您需要任何其他信息,请告诉我

Compound       QIon   RT      RT_Center

Biphenyl       154    30-32
Fluorene       166            37.1
Dibenzofuran   168    31-34
Acenaphthene   154            34.14

我以我比较熟悉的方式编写了这段代码,但我可能也会在这里添加一些其他方式

我加载了整个库
tidyverse
,但我使用的是
ggplot2
tidyr

library(tidyverse) # Or ggplot2 and tidyr

chem %>%
  separate(col = RT, sep = "-", into = c("Beginning", "End"), convert = TRUE) %>%
  ggplot(aes(y = QIon))+
  geom_point(aes(x = RT_Center))+
  geom_errorbar(aes(xmin = Beginning, xmax = End))+
  theme_minimal()
更多的定制取决于您

它的意思是:首先,我将列
RT
分为开头和结尾。这样,我可以使用这些列创建范围和点(检查
?geom_errorbar
查看其他
geom
s)

我相信这就是你的意思。因为有范围和单点,我认为两者都使用是最合适的。如果这不是你想要的,尽管说吧

这里有一种不用管道的方法,如果它能让你更舒服的话:

library(ggplot2)

chem2 <- tidyr::separate(chem, col = RT, sep = "-", into = c("Beginning", "End"), convert = TRUE)
ggplot(chem2, aes(y = QIon))+
  geom_point(aes(x = RT_Center))+
  geom_errorbar(aes(xmin = Beginning, xmax = End))+
  theme_minimal()
库(ggplot2)

chem2你熟悉ggplot2吗?是的,我熟悉ggplot2,但不确定如何创建代码来完成我想要的任务,因为RT有一个短划线指示时间范围。顺便说一下,值得研究一下TIBLE。它们是tidyverse改进的数据帧,解决了很多问题,比如奇怪的列名。它们变得正常。此外,以
dput()
输出的格式显示数据通常会有所帮助;这使得导入更容易。这很有效!正是我想要的,谢谢!不客气!你能接受这个答案吗?