尝试将 Perl Statistics::Regression 代码解码并重新编码为 R

Trying to decode and recode Perl Statistics::Regression code to R

我有一些我正在尝试理解的 perl 代码。我能弄清楚其中的大部分。我在翻译成 R 时遇到问题的部分是我的 @theta = $reg->theta(); theta 部分是什么,我如何从 R 代码中得到它?

foreach my $id (keys(%$row_col_values)) {
    my $reg = Statistics::Regression->new( "title", [ "intercept", "slope"] );
    foreach my $row (keys(%$row_ids)) {
        foreach my $col (keys(%$col_ids)) {
            # Add data points
            if ($row_col_testplot_means->{$id}{$row}{$col} && $row_col_values->{$id}{$row}{$col}) {
                $reg->include( $row_col_testplot_means->{$id}{$row}{$col}, [ 1.0, $row_col_values->{$id}{$row}{$col}]);
            }
        }
    }
    my @theta = $reg->theta();

如果您查看 Statistics::Regression 的手册:

https://metacpan.org/pod/Statistics::Regression

您会发现 theta 很可能是模型的 R coef()(系数)。

另请参阅定义 theta 方法的来源:

https://metacpan.org/release/Statistics-Regression/source/Regression.pm#L448

它直截了当地说它是系数。

根据 Peter Flom 的回答here,希腊字母 theta 用于表示普通最小二乘回归的估计参数集。