2014-01-26 6 views
0

речь идет о Р.R - фактор, взвешенные значения в

В кадре данных (Df) у меня есть переменная, которая указывает область (фактор) и другие, что весовые коэффициенты каждого наблюдения. Если я хочу знать, сколько наблюдений есть в каждом регионе, я просто использую summary (df $ region). Я хотел бы знать, как я могу понять, каков будет размер каждого региона с учетом веса каждого наблюдения?

Заранее спасибо

ответ

0

Вы можете использовать tapply просуммировать веса по регионам (я думаю, что это то, что вы имеете в виду, но, пожалуйста, уточнить, если я неправильно понял):

> df <- data.frame(region=sample(levels(state.region), 200, rep=T), weight=runif(200)) 
> summary(df$region) 
North Central  Northeast   South   West 
55   46   49   50 
> with(df, tapply(weight, region, sum)) 
North Central  Northeast   South   West 
27.73835  23.23487  24.71656  26.11786 

Если вы на самом деле хотите, чтобы некоторые metric * weight, вы можете просто изменить оператор tapply как weight * metric вместо weight для первого аргумента.