Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/video/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 因子指数曲线_R_Ggplot2_Exponential - Fatal编程技术网

R 因子指数曲线

R 因子指数曲线,r,ggplot2,exponential,R,Ggplot2,Exponential,我有以下数据集: head(long_format_female) SampleID variable value R1 Week7 0.0000 R1 Week9 478.8631 R1 Week11 14412.3013 R1 Week13 146708.1029 R1 Week15 265801.9593 R1 Week17 518708.257

我有以下数据集:

head(long_format_female)

SampleID  variable       value
      R1     Week7      0.0000
      R1     Week9    478.8631
      R1    Week11  14412.3013
      R1    Week13 146708.1029
      R1    Week15 265801.9593
      R1    Week17 518708.2570
      R1    Week19 978497.0982
      R1    Week21          NA
      R2     Week7      0.0000
      R2     Week9      0.0000
      R2    Week11      0.0000
      R2    Week13      0.0000
      R2    Week15      0.0000
      R2    Week17    440.5659
      R2    Week19   1551.0876
      R2    Week21  12523.7732
我想绘制单个指数曲线(每个
SampleID
一条线)来显示性状在几周内的生长情况。我尝试过这段代码,它给出了预期的输出图,其中显示了geom_点,但没有geom_线

ggplot(long_format_female, aes(x = variable, y = value, colour = factor(SampleID))) + 
  geom_point() + 
  geom_line() +
  stat_smooth(method = 'nls', formula = y ~ a*exp(b *x), aes(colour = 'Exponential'), se = FALSE, start = list(a=1,b=1)) + xlab("Time(weeks)") +
  ylab("Trait") + 
  theme(panel.border = element_blank(),
        axis.title=element_text(size=16), 
        panel.grid.major = element_blank(), 
        panel.grid.minor = element_blank(), 
        axis.line = element_line(colour = "black")) 
我还收到以下两条信息:

geom_smooth: Only one unique x value each group.Maybe you want aes(group = 1)?
geom_path: Each group consist of only one observation. Do you need to adjust the group aesthetic?

如何将
geom_线
添加到绘图中?

根据我的经验,如果要使用
geom_线
geom_点
对因子的容忍度要高得多

注:在与Heroka讨论后,我们注意到
geom_line
适用于“分组因子”(即,如果您在绘图中指定了一个分组参数),但不喜欢将其解组、投诉和不划线

我真的不知道你想用平滑做什么,我可能需要更好的数据。在任何情况下,当前GGPROT22.0.0<代码> Stista Stase中没有<代码>启动> /代码>参数,因此您可能需要在继续之前考虑更新GGPROT2。p> 这是一个开始:

# fake some data
set.seed(1235)
weeks <- sprintf("week%d",1:9)
nsid <- 5
nwk <- 8
k <- 1
lst <- list()
slst <- list()
for (i in 1:nsid){
  sid <- sprintf("R%d",i)
  for (j in 1:nwk){
    wk <- sprintf("week%d",j)
    v <- round(i*rnorm(1,200,1) + rnorm(1,3,0.2)^j,1)
    lst[[k]] <- list(sid,i,wk,j,v)
    k <- k+1
  }
}
df <- lapply(data.frame(do.call(rbind,lst)),unlist) # combine then flatten
names(df) <- c("s","i","w","j","v")
long_format_female <- data.frame(SampleID=df$s,variable=df$w,value=df$v)

# need a numeric version of this factor
long_format_female$nvariable <- as.numeric(long_format_female$variable)

ggplot(long_format_female, aes(x = variable, y = value, colour = SampleID)) + 
  geom_point() + 
  geom_smooth(aes(x = nvariable, y = value)) +

  xlab("Time(weeks)") +
  ylab("Trait") + 
  scale_y_log10() +
  theme(panel.border = element_blank(),
        axis.title=element_text(size=16), 
        panel.grid.major = element_blank(), 
        panel.grid.minor = element_blank(), 
        axis.line = element_line(colour = "black"))
#伪造一些数据
种子集(1235)

周根据我的经验,如果要使用
geom_线
geom_点
对因子的容忍度要高得多

注:在与Heroka讨论后,我们注意到
geom_line
适用于“分组因子”(即,如果您在绘图中指定了一个分组参数),但不喜欢将其解组、投诉和不划线

我真的不知道你想用平滑做什么,我可能需要更好的数据。在任何情况下,当前GGPROT22.0.0<代码> Stista Stase中没有<代码>启动> /代码>参数,因此您可能需要在继续之前考虑更新GGPROT2。p> 这是一个开始:

# fake some data
set.seed(1235)
weeks <- sprintf("week%d",1:9)
nsid <- 5
nwk <- 8
k <- 1
lst <- list()
slst <- list()
for (i in 1:nsid){
  sid <- sprintf("R%d",i)
  for (j in 1:nwk){
    wk <- sprintf("week%d",j)
    v <- round(i*rnorm(1,200,1) + rnorm(1,3,0.2)^j,1)
    lst[[k]] <- list(sid,i,wk,j,v)
    k <- k+1
  }
}
df <- lapply(data.frame(do.call(rbind,lst)),unlist) # combine then flatten
names(df) <- c("s","i","w","j","v")
long_format_female <- data.frame(SampleID=df$s,variable=df$w,value=df$v)

# need a numeric version of this factor
long_format_female$nvariable <- as.numeric(long_format_female$variable)

ggplot(long_format_female, aes(x = variable, y = value, colour = SampleID)) + 
  geom_point() + 
  geom_smooth(aes(x = nvariable, y = value)) +

  xlab("Time(weeks)") +
  ylab("Trait") + 
  scale_y_log10() +
  theme(panel.border = element_blank(),
        axis.title=element_text(size=16), 
        panel.grid.major = element_blank(), 
        panel.grid.minor = element_blank(), 
        axis.line = element_line(colour = "black"))
#伪造一些数据
种子集(1235)

使用“group=sampleID”是否解决了您的问题?值得注意的是,在执行此操作时,请确保因子级别的顺序正确。使用“group=sampleID”是否解决了您的问题?值得注意的是,在执行此操作时,请确保因子级别的顺序正确。Geom_线与x轴上的因子完美配合,但是OP的问题需要一个分组变量(我已经用他们的数据进行了测试),这不是我测试时得到的,而是我回来后会看看发生了什么。我正在做一些事情并添加了它:)-也许你现在不需要它。尽管如此,你仍然认为你是在老阴谋中。@Heroka想和你谈谈这些因素
geom_线
据我所知不适用于x轴上的因子。@MikeWise OK,但这里可能不是正确的位置geom_线适用于x轴上的因子,但OP的问题需要一个分组变量(我已经用他们的数据进行了测试)不是我测试时得到的,但回来后会看看发生了什么。我正在做一些事情并添加了它:)-也许你现在不需要它。尽管如此,你仍然认为你是在老阴谋中。@Heroka想和你谈谈这些因素<代码>几何线
就我所知不适用于x轴上的因子。@MikeWise OK,但这里可能不是正确的位置