【发布时间】:2014-04-10 05:26:41
【问题描述】:
直奔问题。假设我有以下数据框:
> head(temp)
Gender Age Agegroup
2 Male 63 61+
3 Male 60 50-60
4 Male 55 50-60
5 Male 36 30-39
7 Male 39 30-39
8 Male 63 61+
调用汇总函数:
> summary(temp)
Gender Age Agegroup
Male :864692 Min. :25.00 25-29:0
Female: 0 1st Qu.:35.00 30-39:205237
Median :45.00 40-49:235622
Mean :44.48 50-60:250977
3rd Qu.:54.00 61+ : 68807
Max. :64.00
如您所见,女性因子和 25-29 因子水平的观测值为零。结果,我不需要那些级别。我使用以下代码删除它们:
temp$Gender<-factor(temp$Gender)
temp$Agegroup<-factor(temp$Agegroup)
我的问题是:我将如何使用 apply 函数之一来执行我用来删除关卡的代码?看起来像:
# Pseudo code just to illustrate my purpose
temp[,c(1,3)]<-apply(temp[,c(1,3)],FUN=factor)
如果我需要更新数据框的许多列的级别,它会很方便。谢谢。如果您需要更多说明,请告诉我。
【问题讨论】: