Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/81.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在R中的数据帧中添加抖动_R_Jitter - Fatal编程技术网

如何在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_jit
jitter
是一个将
数值
作为输入的函数。您不能简单地在整个
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)