如何在R中的数据帧中添加抖动
输入:如何在R中的数据帧中添加抖动,r,jitter,R,Jitter,输入: df=data.frame(col1=1:5,col2=5:9) 行名(df)只是添加随机数 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_jitjitter是一个将数值作为输入的函数。您不能简单地在整个data.frame上运行jitter。您需要
df=data.frame(col1=1:5,col2=5:9)
行名(df)只是添加随机数
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_jitjitter
是一个将数值
作为输入的函数。您不能简单地在整个data.frame
上运行jitter
。您需要在列之间循环。你可以做:
df_jit <- df + matrix(rnorm(nrow(df) * ncol(df), sd = 0.1), ncol = ncol(df))
抖动
应用于数值向量,而不是数据帧。
如果要对所有列应用抖动,应执行以下操作:
data.frame(lapply(df, jitter))
这是不安全的。不要在数据帧上使用apply()
,除非您希望将其强制到所有列都属于同一类型的to矩阵。您知道如何排除缺失或NA
值时的jitter
?我试图避免删除任何缺少或NA
值的行(例如df[complete.cases(df),]
)。
apply(df, 2, jitter)