根据频率更改R中数据帧的值
我试图将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
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
?