R 将数据点添加到现有散射图

R 将数据点添加到现有散射图,r,ggplot2,R,Ggplot2,我有一个现有的ggplot2散点图,它显示了正常数据库中参数的结果。然后,我想在这个图中添加两个额外的点,作为命令行参数传递给我的脚本scriptage value1 value2。我想将这些点显示为红色,每个点上方有一个r和l geom_文本。到目前为止,我有以下代码,但不知道如何添加收尾工作 pkgLoad <- function(x) { if (!require(x,character.only = TRUE)) { install.packages

我有一个现有的ggplot2散点图,它显示了正常数据库中参数的结果。然后,我想在这个图中添加两个额外的点,作为命令行参数传递给我的脚本
scriptage value1 value2
。我想将这些点显示为红色,每个点上方有一个r和l geom_文本。到目前为止,我有以下代码,但不知道如何添加收尾工作

pkgLoad <- function(x)
  {
    if (!require(x,character.only = TRUE))
    {
      install.packages(x,dep=TRUE, repos='http://star-www.st-andrews.ac.uk/cran/')
      if(!require(x,character.only = TRUE)) stop("Package not found")
    }

  }

pkgLoad("ggplot2")
#load current normals database
df<-data.frame(read.csv("dat_normals.txt", sep='\t', header=T))

args<-commandArgs(TRUE)

#specify what each argument is
age <- args[1]
rSBR <- args[2]
lSBR <- args[3]

# RUN REGRESSION AND APPEND PREDICTION INTERVALS
lm_fit = lm(SBR ~ Age, data = df)
sbr_with_pred = data.frame(df, predict(lm_fit, interval='prediction'))




p <- ggplot(sbr_with_pred, aes(x=Age, y=SBR)) + 
          geom_point(shape=19, alpha=1/4) +
          geom_smooth(method = 'lm', aes(fill = 'confidence'), alpha = 0.5) +
          geom_ribbon(aes(y = fit, ymin = lwr, ymax = upr, 
                         fill = 'prediction'), alpha = 0.2) + 
          scale_fill_manual('Interval', values = c('green', 'blue')) +
          theme_bw() + 
          theme(legend.position = "none") 


ggsave(filename=paste("/home/data/wolf/FV_DAT/dat_results.png",sep=""))
browseURL(paste("/home/data/wolf/FV_DAT/dat_results.png",sep""))

pkgLoad您的示例不可复制。创建数据和可复制的示例是非常有建设性的。这不是浪费时间。对于解决方案,我写下评论中的内容。可以使用新数据添加新图层

  newdata <- data.frame(Age = args[1],
                        SBR = c(args[2],args[3]))
  p + geom_point(data=newdata,colour="red",size=10)

newdata为什么会有这些细节?请你再简洁一点好吗。我错过了一些东西,但您想添加一个新的图层和一个新的数据。frame?我想添加两个新的数据点,并将这些结果与普通数据库进行比较。这些点是否在95%置信区间(即正常范围)内?我认为您只需执行
p+geom_点(data=newdata,color=“red”)
即可,其中
newdata
是与原始数据集格式相同的数据框(即匹配列名)。请注意,您当前的示例不可复制。。。对不起,我不明白。在什么意义上,数据是不可复制的?sbr_with_pred data_框架是根据之前的测量结果而非随机样本得出的。蓝色带应该包括95%的数据点。编辑:正常-我的意思是这些结果是从没有我们正在研究的诊断的患者身上测量的。它是不可复制的。在传感器中,我不能在我的机器中复制你的图。即使它们是测量数据,您也可以对它们进行采样,并为我们提供一个可复制的示例。有关更多详细信息,请参阅。
p <- ggplot(sbr_with_pred, aes(x=Age, y=SBR)) + 
  geom_point(shape=19, alpha=1/4) +
  geom_smooth(method = 'lm', aes(fill = 'confidence'), alpha = 0.5) 

  args <- c(20,rnorm(1),rnorm(2))
  newdata <- data.frame(Age = args[1],
                        SBR = c(args[2],args[3]))
  p + geom_point(data=newdata,colour="red",size=10)