2017-02-16 41 views
-1

我在R中有一个数据框(ID变量除外)只有0-1的值。用指定范围内的随机值替换数据帧中的所有值

实施例:

v_11_01  v_11_02  v_11_03  v_11_04  v_11_05 
0.759670859 0.630213804 0.674940162 0.711895064 0.719449533 
0.759670859 0.630213804 0.69626758 0.712106042 0.787841507 
0.759670859 0.630213804 0.69626758 0.712106042 0.787841507 
0.759670859 0.630213804 0.69626758 0.713579989 0.787841507 

我想要替换的所有值(与ID变量除外)与0-1之间随机产生的值。这样做的最佳方法是什么?

+1

试试'DF1 [] < - lapply(DF1,runif)' – akrun

+0

谢谢。这样可行。 – Joe

+3

'runif'是矢量化的。你可以做'df [] < - runif(prod(dim(df)))'' –

回答

0

我们可以遍历列并从统一分布中获取值。默认情况下,minmax分别为0和1。

df1[] <- lapply(df1, runif) 

或者使用tidyverse

library(tidyverse) 
df1 %>% 
    mutate_each(funs(runif))