输入:
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
预期输出: jitter 将被添加到df
. 谢谢!
jitter
numeric
是一个作为输入的函数。你不能简单地jitter
在整体上运行data.frame
。您需要遍历列。你可以做:
data.frame(lapply(df, jitter))
Jitter
将应用于数值向量,而不是数据框。如果要将 Jitter 应用于所有列,应该这样做:
apply(df, 2, jitter)
只是添加随机数?
df_jit <- df + matrix(rnorm(nrow(df) * ncol(df), sd = 0.1), ncol = ncol(df))