as_survey_rep()
now has an argumentdegf
, corresponding to the same argument in the survey functionsvrepdesign()
. This argument can be useful for large data sets, since specifying a value fordegf
avoids a calculation which can be slow for very large data sets, (#171, @bschneidr).- Speed improvements for summarize when there are many groups (#168, thanks @etiennebacher)
- Improvements to printing (#166, thanks @szimmer)
- Fix for situations where filtering a calibrated/PPS survey design when filtering 0 rows (#159, @bschneidr)
- Fix for anonymous functions in
rename_with()
(#172, thanks @josiahg2) - Fix for chaining filter & group_by in database backed surveys (#173, thanks @jamgreen)
- Fix for comma separated filters in database backed surveys (#173, thanks @jamgreen)
- Fix for survey_prop when 0 observations are found in a group (#156, thanks @yannsay-impact)
- groups are now preserved when
as_survey
and related functions are called on a grouped_df (#178, thanks @rossellhayes). - Fix so that
.by
argument works like it does for dplyr insummarize
andmutate
(#179, thanks @szimmer) - mutate now by default unpacks srvyr summary statistics like
survey_mean()
instead of leaving them packed
survey_prop()
now uses proportions as the default, which should confidence interval improve coverage, but does mean results may slightly change (#141, #142, thanks @szimmer)- New function
survey_corr()
calculates the correlation between 2 variables, (#150, #151, thanks @szimmer & @bschneidr) - Added method for
dplyr::reframe
for srvyr's objects - The function
as_survey_rep()
now acceptstype="ACS"
andtype="successive-difference"
for user-supplied replicate weights. (#153, thanks @bschneidr) - Squashed some deprecation warnings introduced by dplyr 1.1.0 (which is now the minimum version)
- Fix for upcoming version of tidyselect (#147, thanks @hadley)
- Add function
cur_svy_wts()
to access the survey weights (#136, #139, thanks @ray-p144 and @bschneidr) - Allow access to survey context functions like
cur_svy()
andcur_svy_wts()
inmutate
andfilter
(#138, #139, thanks @ray-p144 and @bschneidr) - Improve behavior of
interact()
when usingcascade()
(#133, thanks @szimmer) - Fix a bug with non-standard names of grouping variables (like
1234
) in cascade (#132, thanks @szimmer)
- Uses the new quantile functions provided in version 4.1 of the survey package. The old survey quantile functions can be accessed with
survey_old_quantile()
andsurvey_old_median()
- Adds a new function
interact
that makes it easier to calculate proportions among interacted groups - "Filering joins" (
anti_join
andsemi_join
) are now available for srvyr objects. You must put thetbl_svy
object first. (#65, #120, @bschneidr) - Auto-unpacking of data.frames works even inside of a named data.frame column (like one created by
dplyr::across
). (#129) - Miscellaneous documentation improvements (#119, #126, #127)
survey_mean()
with nox
no longer errors when there are no grouping variables (#117)
-
summarize
has been rearchitected,- main user facing improvements are:
dplyr::across()
now works within it- dplyr functions like
dplyr::cur_group()
,dplyr::cur_group_id()
,dplyr::cur_data()
work in it (as well as new analogous functions srvyr-specificcur_svy()
andcur_svy_full()
)
- The only known breaking change is:
- objects in the
summarize
will refer to the output ofsummarize
before the input. Meaning code that looks like this:will now error because it calculates the mean ofdstrata %>% summarize(api99 = survey_mean(api99), api_diff = survey_mean(api00 - api99))
api99
before using it inside of the calculation forapi_diff
. This behavior better matchesdplyr
's so will likely be kept.
- objects in the
- main user facing improvements are:
-
Support for
group_map()
/group_walk()
/group_map_dfr()
,group_split()
,group_nest()
andnest_by()
were added fortbl_svy
objects. -
Support
drop_na
from tidyr (#107). -
as_survey()
andas_survey_()
are now idempotent: given asrvyr
survey object (atbl_srv
), they return it unchanged. If extra arguments are provided, they are ignored with a warning (#97, thanks @krivit). -
rename_with()
now works with surveys (#96, thanks @krivit).
-
Fix to ensure that ordered factors can be used as grouping variables or as inputs to
survey_count
andsurvey_tally
(#92, thanks for reporting @szimmer & @walkerke & for fixing @bschneidr). -
Fix to ensure that numeric values can be used in grouping variables (#78 & #74, thanks for reporting @tzoltak & fix @bschneidr)
-
Some improvements for dplyr 1.0 (#79)
transmute()
now works (thanks for reporting @caayala),summarise()
's.groups
argument is respected, and multi-row returns tosummarise()
work. (Unfortunately the newacross()
function isn't quite supported insummarise()
yet, it will hopefully come soon)
- Another fix for upcoming dplyr
- Fix in vignette for changes to vardpoor package
- Fix for upcoming version of dplyr (thanks @romainfrancois)
-
unweighted
now evaluates in the right context and so will provide correct error when an incorrectly interpolated function is used (#70, thanks for reporting @tlmcmurry) -
filter_at
works now, (#57, thanks for reporting @dcaseykc & helping @bschneidr). -
Fix for upcoming version of tibble (#72).
-
filter
ing on grouped survey designs now works correctly (#54, thanks for reporting @dcaseykc) -
Added function
pull
(#63, thanks @dcaseykc) -
df
parameter now set to be degrees of freedom of survey for quantiles and variance to match other functions. -
Updated tests to work with upcoming version of survey (#66).
-
Small update to quasiquotation syntax inside
unweighted
to improve consistency with recent rlang updates (#54). -
Added functions
survey_tally()
andsurvey_count()
(#53)
-
New functions survey_var and survey_sd to calculate population variance and standard deviaton.
-
Computation of standard errors in all survey_ functions can be suppressed by setting vartype=NULL (#45, thanks @tzoltak).
-
Fixed an issue where you'd get an error when summarize components returned different lengths of data - usually when factor levels were not present in the data (#49).
-
Removed references to MonetDBLite since it has been removed from CRAN.
-
Small updates to replace soft-deprecated dplyr functions with their tibble and tidyselect equivalents (#52, thanks @bschneidr).
-
survey_mean/survey_total allow
deff="replace"
like their survey package forbearers. (#46, thanks @mandes95) -
Fixes for new release of dplyr
-
Add warning to explain that design effects cannot be calculated on proportions. (#39, thanks @mlaviolet)
-
Remove dependency on stringr in tests and add DBI to suggests so that test dependencies are correctly specified (#40, thanks CRAN!)
- Bug fix for calculating multiple quantiles on grouped data (#38, thanks @iantperry)
-
When converting from a survey db-backed survey to a srvyr one srvyr now tries to capture the updates you've already sent. If dbplyr can convert the function, then it will bring the update. If it can't it will warn you (#35).
-
Small bug fixes, mostly having to do with CRAN checks, running on CI services, or for upstream rev dep checks.
-
srvyr now uses tidy evaluation from rlang. The "underscore" functions have been soft deprecated in favor of quosure splicing. See dplyr's vignette "programming" for more details. In almost all cases, the old syntax will still work, with one exception: the standard evaluation function
as_survey_twophase_()
had to be changed slightly so that the entire list is inside quotation. -
Datbase support has been rewritten. It should be faster now and doesn't require a unique identifier. You also can now convert survey db-backed surveys to srvyr with as_survey.
-
srvyr now has a pkgdown site, check it out at http://gdfe.co/srvyr/
- Remove test blocking survey update
-
Added support for dplyr mutate_at/_if/_all and summarize_at/_if/_all for srvyr surveys.
-
Fixed a few bugs introduced with dplyr 0.6. This version of srvyr will work with both old versions of dplyr and 0.6, but may be full of warnings if you update dplyr. Full support for the new dplyr is coming soon.
- Added support for database backed surveys, using dplyr's handling of DBI. Because of problems interacting with the survey package twophase designs do not work.
-
Fixed a problem with confidence levels not being passed into quantiles
-
Added deff parameter to
survey_mean()
,survey_total()
andsurvey_median()
, and a df parameter to those functions andsurvey_quantile()
/survey_median()
. -
summarize
andmutate
match dplyr's behavior when arguments aren't named (usesdplyr::auto_name()
)
-
New function
cascade
summarizes groups, and cascades to create summary statistics of groups of groups. -
Fixed a bug for confidence intervals for
survey_total()
on groups. -
Fixed some issues with the upcoming version of dplyr.