如何在R语言中为数据集添加更强的Jitter扰动?
解决Jitter扰动强度及代码运行问题
你出错的核心原因是apply的参数使用逻辑不对:apply的第三个参数需要传入函数本身,但你直接写jitter(red, factor = 5)会先执行这个调用,把整个数据框red传给jitter,这和apply按列处理数据的逻辑冲突,所以代码无法运行。
要给jitter指定factor参数增强扰动强度,正确写法是用匿名函数包装jitter,让它按列接收数据:
red <- apply(red, 2, function(x) jitter(x, factor = 5))
额外补充:jitter的factor参数是用来放大默认扰动幅度的,默认值为1,设为5后扰动强度会是默认的5倍。如果需要更精准控制,还可以直接用amount参数指定固定扰动幅度,比如:
red <- apply(red, 2, function(x) jitter(x, amount = 0.2))
内容的提问来源于stack exchange,提问作者Antonio
相关产品推荐
相关产品推荐

