Я хочу вычислить новый столбец, используя квантили другого столбца (непрерывную переменную), включая план выборки сложного обследования. Идея состоит в том, чтобы создать в кадре данных новую переменную, которая указывает, в какую группу квантилей попадает каждое наблюдение.
Вот как я реализую идею без включения образца дизайна, чтобы вы могли понять, к чему я стремлюсь.
# Load Data
data(api)
# Convert data to data.table format (mostly to increase speed of the process)
apiclus1 <- as.data.table(apiclus1)
# Create deciles variable
apiclus1[, decile:=cut(api00,
breaks=quantile(api00,
probs=seq(0, 1, by=0.1), na.rm=T),
include.lowest= TRUE, labels=1:10)]
Я пробовал использовать svyquantile
из пакета survey
, но не мог разобраться в этой проблеме. Этот код не возвращает группы квантилей в качестве вывода, который я могу передать в новую переменную. Есть мысли по этому поводу?
# Load Package
library(survey)
# create survey design
dclus1 <- svydesign(id=~dnum, weights=~pw, data=apiclus1, fpc=~fpc)
# What I've tried to do
svyquantile(~api00, design = dclus1, quantiles = seq(0, 1, by=0.1), method = "linear", ties="rounded")