删除标准的因素

Har*_*eno 2 r

我正在处理KDD 2010数据https://pslcdatashop.web.cmu.edu/KDDCup/downloads.jsp 在R中,如何删除具有较低实例总数的因子的行.

我尝试了以下内容:为学生姓名因素创建一个表格

studenttable <- table(data$Anon.Student.Id)
Run Code Online (Sandbox Code Playgroud)

返回一个表

l5eh0S53tB Qwq8d0du28 tyU2s0MBzm dvG32rxRzQ i8f2gg51r5 XL0eQIoG72 
  9890       7989       7665       7242       6928       6651 
Run Code Online (Sandbox Code Playgroud)

然后我可以得到一个表格,告诉我给定因子水平是否有超过1000个数据点

biginstances <- studenttable>1000
Run Code Online (Sandbox Code Playgroud)

然后我尝试在这个查询上制作一个数据子集

bigdata <- subset(data, (biginstances[Anon.Student.Id]))
Run Code Online (Sandbox Code Playgroud)

但是我得到了奇怪的子集,它仍然具有原始数量的因子级别作为完整集.我只是想删除那些在数据集中没有很好地表示的因子的行.

Das*_*son 5

有可能更有效的方法来做到这一点,但这应该得到你想要的.我没有使用你使用的名字,但你应该能够很好地遵循逻辑(希望!)

# Create some fake data
dat <- data.frame(id = rep(letters[1:5], 1:5), y = rnorm(15))
# tabulate the id variable
tab <- table(dat$id)
# Get the names of the ids that we care about.
# In this case the ids that occur >= 3 times
idx <- names(tab)[tab >=3]
# Only look at the data that we care about
dat[dat$id %in% idx,]
Run Code Online (Sandbox Code Playgroud)