如何打印 tidyverse 的函数(如 filter 或 drop_na)删除的观察数?
对于不同的分析,我使用不同的样本,但我需要弄清楚样本是如何产生的。
每次删除命令后,Stata 都会向我显示“XX 观测值被删除”。有没有办法让 R 打印通过“tidyverse 风格”样本选择删除的观察值的数量(见下文)?
在此示例中,我想在控制台中查看 filter
和 drop_na
函数删除了多少个观测值。
我试过:
summarise_all(~sum(is.na(.)))
但没有成功。
capmkt_df <- stata_df %>%
filter(change != 1 & reg_mkt == 1) %>%
select(any_of(capmkt_vars)) %>%
mutate_at(vars(country, year), factor) %>%
drop_na()
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
由于您正在使用
tidyverse
软件包,因此一个好的资源是tidylog
,该软件包为大量didyverse
提供了其他信息(包括dplyr
和tidyr
)功能。例如,使用
drop_na
,您将获得一个消息drop_na:删除x行
。带有基本rairquality
数据集的插图:Since you're using
tidyverse
packages, a good resource istidylog
, a package that provides additional information for a lot oftidyverse
(includingdplyr
andtidyr
) functions.For example, using
drop_na
, you'll get a messagedrop_na: removed X rows
. An illustration with the base Rairquality
dataset:一个选项是在删除
na
值之前打印一个不完整的总和
。在这里,我们可以使用magrittr
的Tee Pipe(%T&gt;%
)来打印结果。输出
因此,您将看到2行被删除,因为它们都有
na
s。因此,对于您的代码,您可以编写:
数据
One option is to print a sum of not
complete.cases
before dropping theNA
values. Here, we can use the tee pipe (%T>%
) frommagrittr
to print the results along the way.Output
So, you will see that 2 rows were dropped, as they both had
NA
s.So, for your code, you could write:
Data