R 将数据列转换为矢量以绘制图形

R 将数据列转换为矢量以绘制图形,r,database,statistics,R,Database,Statistics,我想有一个棒棒糖图使用数据导入Excel。我的数据.train1如下 data.strain1data.strain1$x正如@r2evans所指出的,当数据集只包含一列时,第一个问题是select(DF,2)。另外,ggplot调用可能需要更改,使其更像棒棒糖 data.strain1$ID <- seq_len(nrow(data.strain1)) library(ggplot2) ggplot(data.strain1, aes(color = Discrimination_ra

我想有一个棒棒糖图使用数据导入Excel。我的
数据.train1
如下


data.strain1
data.strain1$x正如@r2evans所指出的,当数据集只包含一列时,第一个问题是
select(DF,2)
。另外,
ggplot
调用可能需要更改,使其更像棒棒糖

data.strain1$ID <- seq_len(nrow(data.strain1))

library(ggplot2)
ggplot(data.strain1, aes(color = Discrimination_ratio > ID)) +
  geom_point(aes(x = LETTERS[ID], y = Discrimination_ratio))+
  geom_abline(slope = 1)+
  geom_segment(aes(x = LETTERS[ID], xend = LETTERS[ID]
                   , y = ID, yend = Discrimination_ratio))
data.train1$ID))+
几何点(aes(x=字母[ID],y=辨别率))+
geom_abline(坡度=1)+
geom_段(aes(x=字母[ID],xend=字母[ID]
,y=ID,yend=Discrimination_比率)

您的数据辨别率中的逗号是小数点吗?或者同一列中有两个值吗?小数位:)请不要发布代码/数据/错误的图像:无法复制或搜索(SEO),它会破坏屏幕阅读器,并且可能不适合某些移动设备。参考:(和)。请直接包括代码或数据(例如,
dput(头(x))
data.frame(…)
)。(我手工转录了这些数字,请检查以防我做得不正确。此外,您引用了该数据中的多个列,但只显示了一列,因此您的
select(data.strain1,2)
无法正常工作。)
select
返回的是完整帧,而不是向量(请测试并查看)。因此,如果您查看
toplot.strain1
,您将看到您尝试分配给
y=
的任务被忽略。将对
y
(在绘图代码中)的引用替换为
Discrimination\u ratio
或手动重命名。或者将
select(data.strain1,2)
替换为
data.strain1[[2]]
,这将是一个向量。要详细说明@r2evans关于获取向量的说法:(假设您使用的
select
来自
dplyr
)查看
dplyr::select
的文档:它返回一个与您提供给它的对象具有相同类的对象。因此,在数据帧上调用
select
,将返回数据帧,而不是向量。
data.strain1$x <- LETTERS[1:nrow(data.strain1)]

ggplot(data.strain1, aes(x, Discrimination_ratio)) + 
  geom_point() +
  geom_segment(aes(x=min(x),  y=min(Discrimination_ratio), xend=max(x), 
                yend=max(Discrimination_ratio)))
data.strain1$ID <- seq_len(nrow(data.strain1))

library(ggplot2)
ggplot(data.strain1, aes(color = Discrimination_ratio > ID)) +
  geom_point(aes(x = LETTERS[ID], y = Discrimination_ratio))+
  geom_abline(slope = 1)+
  geom_segment(aes(x = LETTERS[ID], xend = LETTERS[ID]
                   , y = ID, yend = Discrimination_ratio))