根据频率更改R中数据帧的值

根据频率更改R中数据帧的值,r,dataframe,replace,R,Dataframe,Replace,我试图将R中数据帧的字符值重新编码为: freq(prueba$frutas, sort = "dec") n % val% BANANA 36793 61.9 66.3 UVA 5206 8.8 9.4 FRESA 3153 5.3 5.7 CEREZA 2883 4.9 5.2 MANZANA

我试图将R中数据帧的字符值重新编码为:

freq(prueba$frutas, sort = "dec")

                       n    % val%
BANANA             36793 61.9 66.3
UVA                 5206  8.8  9.4
FRESA               3153  5.3  5.7
CEREZA              2883  4.9  5.2
MANZANA             2748  4.6  4.9
MANGO               1680  2.8  3.0
MELON               1063  1.8  1.9
SANDIA              1061  1.8  1.9
OTROS                766  1.3  1.4
PERA                  97  0.2  0.2
KIWI                  72  0.1  0.1
BROCOLI                1  0.0  0.0
NA                  3877  6.5   NA
因此,我想替换数据帧中频率低于6%的“其他”的所有“字符”值,因此结果将是:

freq(prueba$frutas, sort = "dec")

                        n    % val%
BANANA              36793 61.9 66.3
OTHER               13524 22.8 24.3
UVA                  5206  8.8  9.4
NA                   3877  6.5   NA
通常我使用
replace
替换值,如下图所示,但我想知道是否有更好的方法使用6%的值进行替换

prueba$frutas <- replace(prueba$frutas, which(prueba$frutas != c("BANANA","UVAS")) , "OTHER")

prueba$frutas缺少您的数据和我可以提供的更多信息
forcats::fct\u lump\u prop
。下面是一个使用来自
questionr
的数据集的示例,我相信您是从中获得
freq
函数的

库(提问者)
图书馆(供猫用)
数据(hdv2003)
频率(hdv2003$qualif,sort=“dec”)
#>n%val%
#>雇员594 29.7 35.9
#>欧夫里埃资格29214.617.7
#>干部260 13.0 15.7
#>Ouvrier专业203 10.2 12.3
#>职业中介人160 8.0 9.7
#>技术员86 4.3 5.2
#>Autre 58 2.9 3.5
#>NA 347 17.3 NA
hdv2003$newqualif n%val%
#>雇员594 29.7 35.9
#>欧夫里埃资格29214.617.7
#>干部260 13.0 15.7
#>Ouvrier专业203 10.2 12.3
#>职业中介人160 8.0 9.7
#>其他144 7.2 8.7
#>NA 347 17.3 NA
您可以添加
dput(prueba)
?还包括哪个软件包
freq