我想合并两个数据框,但合并后的数据框在其变量之一中只有“必要”数量的级别。像这样:
df1 <- data.frame(country=c("AA", "BB"))
df2 <- data.frame(country=c("AA", "BB", "CC"), name=c("Country A", "Country B", "Country C"))
df3 <- merge(df1, df2, by="country")
然后:
> df3
country name
1 AA Country A
2 BB Country B
这是我所期望的。
但是,如果只有 2 行数据,为什么因子“名称”有 3 个级别?
> str(df3)
'data.frame': 2 obs. of 2 variables:
$ country: Factor w/ 2 levels "AA","BB": 1 2
$ name : Factor w/ 3 levels "Country A","Country B",..: 1 2
如何摆脱 df3 中的“C 国”?
> table(df3)
name
country Country A Country B Country C
AA 1 0 0
BB 0 1 0