5

输入:

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. 谢谢!

4

3 回答 3

9

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

data.frame(lapply(df, jitter))
于 2016-06-26T11:09:48.003 回答
4

Jitter将应用于数值向量,而不是数据框。如果要将 Jitter 应用于所有列,应该这样做:

apply(df, 2, jitter)
于 2016-06-26T11:09:55.870 回答
2

只是添加随机数?

df_jit <- df + matrix(rnorm(nrow(df) * ncol(df), sd = 0.1), ncol = ncol(df))
于 2016-06-26T11:09:23.493 回答