Как использовать внешний класс в YII2 Шаг за шагом [закрыто]

Функция DMwR::unscale(vals, norm.data, col.ids) требует, чтобы norm.data имела число столбцов, большее, чем число vals. Я предлагаю рассмотреть следующую измененную версию unscale:

myunscale <- function (vals, norm.data, col.ids)  {
    cols <- if (missing(col.ids)) 1:NCOL(vals) else col.ids
    if (length(cols) > NCOL(vals)) 
        stop("Incorrect dimension of data to unscale.")
    centers <- attr(norm.data, "scaled:center")[cols]
    scales <- attr(norm.data, "scaled:scale")[cols]
    unvals <- scale(vals[,col.ids], center = (-centers/scales), scale = 1/scales)
    unvals <- cbind(unvals,vals[,-col.ids])
    attr(unvals, "scaled:center") <- attr(unvals, "scaled:scale") <- NULL
    unvals
}

set.seed(1)
x <- matrix(2*rnorm(4000) + 1, ncol = 4)
x2 <- matrix(9*rnorm(2000), ncol = 2)
x_unsc <- myunscale(cbind(scale(x), x2), scale(x) , 1:4)

. Средние значения и стандартные отклонения x_unsc:

apply(x_unsc, 2, mean)
# [1]  0.9767037  0.9674762  1.0306181  1.0334445 -0.1805717 -0.1053083

apply(x_unsc, 2, sd)
# [1] 2.069832 2.079963 2.062214 2.077307 8.904343 8.810420
-3
задан Muhammad Omer Aslam 19 January 2019 в 21:01
поделиться

1 ответ

С некоторыми изменениями вы можете использовать любой пользовательский класс в качестве вспомогательного компонента. Вы должны использовать операторы namespace и use для имеющегося у вас класса, см. Ниже

<?php
namespace app\components;

class Response
{

    /**
     * @var array
     */
    private static $response = array
        (
        '9999' => array('description' => "Unexpected Response", 'definite' => true, 'status' => "Indeterminate"),
        '00' => array('description' => "Success", 'definite' => true, 'status' => "Success"),
        'NNC_AUTH_01' => array('description' => /*"Status unknown, please wait for settlement report"*/"System Error", 'definite' => true, 'status' => "Failure"),
        'NNC_VTU_01' => array('description' => "Ttimed out", 'definite' => false, 'status' => "Indeterminate"),
        'NNC_VTU_02' => array('description' => "Exceeded max number of requests for Phone number per time period", 'definite' => true, 'status' => "Failure"),
        'NNC_VTU_03' => array('description' => "Invalid target MSISDN supplied", 'definite' => true, 'status' => "Failure"),
        '-1' => array('description' => "Not successful", 'definite' => false, 'status' => "Failure")
    );

    /**
     * @param $respCode
     */
    public static function getResponseByCode($respCode)
    {
        if (isset(self::$response[$respCode])) {
            return self::$response[$respCode];
        }

        return self::$response['9999'];
    }

}

Сохраните класс Above в файле с именем Response.php в папке app\components, если используете [ 115] или common\components, если вы используете advanced-app, но не забудьте изменить namespace в коде.

Затем можно вызвать функцию getResponseByCode() как app\components\Response::getResponseByCode($responseCode) или common\components\Response::getResponseByCode($responseCode)

.
0
ответ дан Muhammad Omer Aslam 19 January 2019 в 21:01
поделиться
Другие вопросы по тегам:

Похожие вопросы: