R如何知道我没有某种类型的条目

Nik*_*nov 2 r subset dataframe

我有一张表,其中一个变量是注册国家.

table(df$reg_country)
Run Code Online (Sandbox Code Playgroud)

收益:

   AR    BR    ES    FR    IT
  123   202   578   642   263
Run Code Online (Sandbox Code Playgroud)

现在,如果我将原始表格分组以排除其中一个国家/地区

df_subset<-subset(df, reg_country!='AR')
table(df_subset$reg_country)
Run Code Online (Sandbox Code Playgroud)

收益:

   AR    BR    ES    FR    IT
    0   202   578   642   263
Run Code Online (Sandbox Code Playgroud)

第二个结果对我来说非常令人惊讶,因为R似乎神奇地知道我已经从AR中删除了条目.

为什么会这样?

它是否会影响第二个数据框(df_subset)的大小?如果"是" - 是否有更有效的方法来进行子集以最小化尺寸?

Rol*_*and 7

df$reg_country是一个因子变量,它包含levels属性中所有可能级别的信息.检查levels(df_subset$reg_country).

如果您拥有大量数据,则因子级别仅会对数据大小产生重大影响.我不希望是这样的.但是,您可以使用droplevels(df_subset$reg_country)删除未使用的级别.