如何在 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)
输入:
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)