【问题标题】:plot graph of results within in interval in R在R中的区间内绘制结果图
【发布时间】:2016-10-19 06:07:27
【问题描述】:
n=50
p=0.32
P=matrix( c(p, 1-p, 0, 0, 0, 0,
p, 0, 1-p, 0, 0, 0,
p, 0, 0, 1-p, 0, 0,
0, p, 0, 0, 1-p, 0,
0, 0, p, 0, 0, 1-p,
0, 0, 0, p, 0, 1-p),
ncol=6, nrow=6, byrow = T)    

X=2  
for(j in 1:n)
{Y=runif(1)      
k=P[X[j],]      
k=cumsum(k)   
if(Y<=k[1])     
{X[j+1]=1}
else if (Y<=k[2])
{X[j+1]=2}
else if (Y<=k[3])
{X[j+1]=3}
else if (Y<=k[4])
{X[j+1]=4}
else if (Y<=k[5])
{X[j+1]=5}
else {X[j+1]=6}}

mean(X)

x=c(1,2,3,4,5,6)
y=c(0.1,0.15,0.22,0.29,0.38,0.45)
approx(x,y,xout=mean(X))

我使用上面的代码通过具有固定 p 的线性插值来获得平均值(y)。 但是现在,如何更改代码以绘制均值(y)与 p[0:1] 的关系图??? 我一直只有一个意思(y),请帮助我。 p.s.我只需要大约$y,这就是我卡住的地方:(

【问题讨论】:

    标签: r graph linear-interpolation


    【解决方案1】:

    我认为将您的代码更改为function() 并与sapply(p.vector, ...) 一起使用会更好。

    功能
    func <- function(p) {
      P = matrix( c(p, 1-p, 0, 0, 0, 0,
                    p, 0, 1-p, 0, 0, 0,
                    p, 0, 0, 1-p, 0, 0,
                    0, p, 0, 0, 1-p, 0,
                    0, 0, p, 0, 0, 1-p,
                    0, 0, 0, p, 0, 1-p),
                  ncol=6, nrow=6, byrow = T)
      X = 2
      for(j in 1:n)
        {Y=runif(1)      
        k=P[X[j],]      
        k=cumsum(k)   
        if(Y<=k[1])     
        {X[j+1]=1}
        else if (Y<=k[2])
        {X[j+1]=2}
        else if (Y<=k[3])
        {X[j+1]=3}
        else if (Y<=k[4])
        {X[j+1]=4}
        else if (Y<=k[5])
        {X[j+1]=5}
        else {X[j+1]=6}}
      return(approx(x, y, xout = mean(X))$y)
    }
    
    将函数与 p[0:1] 一起使用
    p.vec <- seq(0, 1, 0.01)                     # preparation of p[0:1] as a vector
    n = 50                                       # defining other paramaters
    x = c(1, 2, 3, 4, 5, 6)
    y = c(0.1, 0.15, 0.22, 0.29, 0.38, 0.45)
    
    y.vec <- sapply(p.vec, func)                 # calculation of the y about p[0:1]
    
    plot(p.vec, y.vec, type="o")   # for example
    

    【讨论】:

      猜你喜欢
      • 2011-10-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-12-12
      • 2020-11-30
      • 1970-01-01
      • 1970-01-01
      • 2012-07-10
      相关资源
      最近更新 更多