我想用R自动分析我一直在做的Graphpad Prism,但显然它比我想象的要难。
我有电压~时间数据,我想对其进行积分和绘图。在Graphpad Prism中,这是由分析和集成->创建积分来执行的。
在这里,我绘制了棱镜中的数据,并绘制了从plot Integral命令获得的轨迹。


我怎么才能用R做到这一点呢?
我使用的数据类似于以下内容:
Time <- seq(1,100,1)
Voltage <- sample(1:1000,100, replace = F)我尝试过integrate(),但它需要一个函数来集成,而我没有这个函数,并且只给出了一个数字。我尝试了approxfun(),我可以为我的数据创建一个函数,但同样,当我应用'integrate()‘时,我只得到了一个值。
您对Graphpad Prism函数的作用以及如何将其转换为R有什么想法吗?
谢谢你的帮助!
发布于 2017-12-09 00:10:44
对于离散值,您可以使用cumsum:
set.seed(1)
Time <- seq(1,100,1)
Voltage <- sample(1:1000,100, replace = F)
df = data.frame(Time, Voltage)
library(ggplot2)
p1 <- ggplot(data = df)+
geom_line(aes(x = Time, y = Voltage))
p2 <- ggplot(data = df)+
geom_line(aes(x = Time, y = cumsum(Voltage)))
library(gridExtra)
grid.arrange(p1, p2)][1]][1]

对于间隔不均匀的时间值,您需要计算:
cumsum(df$Voltage[1:(nrow(df)-1)]) * diff(df$Time)https://stackoverflow.com/questions/47718011
复制相似问题