如何在 R 中的数据帧中添加抖动

How to add jitter in a data frame in R

输入:

df = data.frame(col1 = 1:5, col2 = 5:9)
rownames(df) <- letters[1:5]


#add jitter
jitter(df) #Error in jitter(df) : 'x' must be numeric

预期输出:抖动将添加到 df 的列中。谢谢!

只是添加随机数?

df_jit <- df + matrix(rnorm(nrow(df) * ncol(df), sd = 0.1), ncol = ncol(df))

jitter 是一个以 numeric 作为输入的函数。你不能简单地 运行 jitter 整个 data.frame。您需要遍历列。你可以这样做:

data.frame(lapply(df, jitter))

Jitter 应用于数值向量,而不是数据帧。 如果您想将抖动应用于所有列,应该这样做:

apply(df, 2, jitter)