您好我正在使用R studio过滤掉在数据集中出现少于5000次的各种葡萄酒。
我已经运行了以下功能 -
#create new data frame with varities greater than 5000
wineVar <- setDT(wineNew)[, if(.N > 5000) .SD, by = variety]
#list the unique varieties to show theres only 5
unique(wineVar$variety)
然而,当我试图查看有多少级别时,我仍然可以获得其他632个值。
[1] Cabernet Sauvignon Pinot Noir Chardonnay
[4] Bordeaux-style Red Blend Red Blend
632 Levels: Žilavka Agiorgitiko Aglianico Aidani Airen Albana AlbarÃn ... Zweigelt
是否有办法彻底删除这些因为它导致我的训练集出现问题 - 即训练集仍然看到值但没有丢弃变种的数据。
答案 0 :(得分:1)
我认为你在寻找的是这个。你快到了。
wineVar <- setDT(wineNew)
wineVar <- wineVar[, .SD[.N > 5000], by = variety]
wineVar[, Variety:=as.factor(as.character(Variety))]