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,但这里可能不是正确的位置