Средневзвешенное значение (R) - PullRequest
0 голосов
/ 24 августа 2018

У меня проблемы с частью моего кода. Я хочу выполнить взвешенное среднее, но полученное значение не является значением, которое я получу, если сам вычислю среднее взвешенное значение.

Вот как я кодирую взвешенное среднее:

weighted.mean(x = dataset$A[rows], weights = weights) 

Переменная «набор данных $ A», и строки, которые я использую для взвешенного среднего, перечислены в «строках» (есть 2 строки). Веса указаны в «весах».

Вот как я сам это вычисляю:

dataset$A_MEAN[rows[1]]*weights[1] + dataset$A_MEAN[rows[2]]*weights[2]

Почему есть разница с этими двумя строками кода? Я пробовал со следующими значениями:

dataset$A = [45792.76, 64984.67] 
weights = [0.3253927, 0.6746073]

Возвращается первая строка кода: 55388.71 Вторая строка кода возвращает: 58739,76

Спасибо большое! Я уверен, что это что-то незначительное, но это сводит меня с ума!

1 Ответ

0 голосов
/ 24 августа 2018

Проверьте использование weighted.mean

Аргументы weights должны быть w:

weighted.mean(x = dataset$A[rows], w = weights) должны дать вам то, что вы хотите.

Когдавызывая функцию, вы можете убедиться, что используете правильные имена переменных, прочитав документацию по функции с ?weighted.mean

...