对于小于1e-10的数字,我有一个y缩放的问题:它们都出现在同一水平线上.
这是一个可重复的例子:
file <- structure(list(I = c(-7.254574e-11, -5.649333e-11, -5.015416e-11,
-4.228137e-11, -3.287486e-11, -2.714915e-11, -2.203692e-11, -1.784489e-11,
-1.150574e-11, -1.058553e-11, -6.189018e-12, -3.735149e-12, -2.303724e-12,
6.610914e-13, 1.274374e-12, -3.610768e-13, 5.465134e-12, 6.691699e-12,
8.020478e-12, 1.139353e-11, 1.537988e-11, 1.926399e-11, 2.130825e-11,
2.45791e-11, 3.204071e-11, 3.582262e-11, 4.287535e-11, 4.624839e-11,
5.16657e-11, 6.035387e-11), V = c(-2, -1.867, -1.733, -1.6, -1.467,
-1.333, -1.2, -1.067, -0.933, -0.8, -0.667, -0.533, -0.4, -0.267,
-0.133, 0, 0.133, 0.267, 0.4, 0.533, 0.667, 0.8, 0.933, 1.067,
1.2, 1.333, 1.467, 1.6, 1.733, 1.867)), .Names = c("I", "V"), class = "data.frame", row.names = c(NA,
-30L))
plot(file$V,file$I) …Run Code Online (Sandbox Code Playgroud) 我正在尝试生成组合n个高斯的函数,并使用从nls运行中检索的值.我gsub用来替换nls使用反向引用的原始系数.但是,似乎[在datafame评估之前\\1.
这是一个MWE:
nls <- data.frame(Estimate = seq(1,3))
row.names(nls) <- c("a","b","c")
gsub("(a|b|c)",paste0(" ",nls["\\1","Estimate"]," "),"a + b*x + c*x^2")
Run Code Online (Sandbox Code Playgroud)
如您所见,替换是NA,而对nls数据帧的调用似乎是有效的:
gsub("(a|b|c)",paste0(" ","\\1","Estimate"," "),"a + b*x + c*x^2")
Run Code Online (Sandbox Code Playgroud)
任何延迟评估的想法[?
谢谢 !
编辑:为了清楚起见,这里是完整功能现在工作得很好(它需要峰值数,一个峰的公式,公式中的参数,变量,常量布尔值和nls结果作为参数,并返回使用的公式in ggplot:s stat_function():
Generate_func <- function(peakNb,peakForm,peakParams, peakVar, constBool,nls){
res <- as.data.frame(summary(nls)$coefficients, optional = T)
rhs <- strsplit(peakForm, "~")[[1]][[2]]
regex <- paste0("([*+-/\\^\\(\\)[:space:]]|^)(",paste0(peakParams, collapse = "|"),")([*+-/\\^\\(\\)[:space:]]|$)")
exp_names <- paste0(sapply(seq(1,peakNb),function(i){
paste0(sapply(peakParams, function(j){
paste0(j,i)
}))
}))
if(constBool){exp_names <- c("C", exp_names)}
func_text <- …Run Code Online (Sandbox Code Playgroud) 我想加一个注释:E\perp c using ggplot2 annotate("text", label = ...).
我在网上搜索得相当彻底,但只是设法使用了一个单独的符号annotate("text", label = "symbol('\136')", parse = T).
有没有人有办法解决吗 ?