

R言語(version 3.3.1)でlowessを使っています。

lowess機能で少し変更をしたい点がありましたので、自作を行いたいです。

具体的には、Rのcommand lineでlowessとタイプしますと、以下のようなコードが出てきます。

[code]

    function (x, y = NULL, f = 2/3, iter = 3L, delta = 0.01 * diff(range(x))) 
    {
        xy <- xy.coords(x, y)
        o <- order(xy$x)
        x <- as.double(xy$x[o])
        list(x = x, y = .Call(C_lowess, x, as.double(xy$y[o]), f, 
            iter, delta))
    }
    <bytecode: 0x000000000caf1858>
    <environment: namespace:stats>
    
[/code]

ここでxに関してのorderをせずにlowessを行いたいです。  
まず初めにこのfunctionが機能するかを確かめるために、  
このlowessのfunction自体をコピーし、mylowessとして新たにfunctionを作成し、実行しました。その結果、

[code]

    Error: object 'C_lowess' not found
    
[/code]

というエラーメッセージが出てきました。

自分の理解では、Rの各functionを改変し、新にfunctionとして再利用することは可能だと思っていました。今までいつくものfunctionを作成できていました。しかし、今回このようなエラーが出てしまい、googleで調べましたが、ヒントらしきものがヒットされませんでしたので、ここで質問させていただいています。

もしこのようなエラーを解決する方法をご存じでしたら、ご教授をお願いします。  
よろしくお願いいたします。


CC BY-SA 3.0
2016-12-13T17:24:54.623
31129
2017-05-18T04:48:14.497
11048
question
r
Rのlowessfunctionについて


mylowess内の該当箇所を`stats:::C_lowess`に変更すると機能するかと思います。  
`C_lowess`関数を{stats}から明示的に取り出す、という記述です。


CC BY-SA 3.0
2016-12-14T00:53:03.273
31132
2016-12-14T00:53:03.273
19075
31129
answer