R 基于列生成数字

R 基于列生成数字,r,R,我想创建一列“y”,它的值在x和1之间。例如,x的前十个值是0。因此y值可以介于0和1之间。如果x值为0.5,则y值介于0.5和1之间。有什么建议吗?x和y是数据框中的列 库(dplyr) x=rep(seq(0,0.9,0.1),10)%>%排序 x #> [1] 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 #> [19] 0.1 0.1 0.2 0.2 0.2 0.2 0.2 0.2 0

我想创建一列“y”,它的值在x和1之间。例如,x的前十个值是0。因此y值可以介于0和1之间。如果x值为0.5,则y值介于0.5和1之间。有什么建议吗?x和y是数据框中的列

库(dplyr)
x=rep(seq(0,0.9,0.1),10)%>%排序
x
#>   [1] 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1
#>  [19] 0.1 0.1 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.3 0.3 0.3 0.3 0.3 0.3
#>  [37] 0.3 0.3 0.3 0.3 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.5 0.5 0.5 0.5
#>  [55] 0.5 0.5 0.5 0.5 0.5 0.5 0.6 0.6 0.6 0.6 0.6 0.6 0.6 0.6 0.6 0.6 0.7 0.7
#>  [73] 0.7 0.7 0.7 0.7 0.7 0.7 0.7 0.7 0.8 0.8 0.8 0.8 0.8 0.8 0.8 0.8 0.8 0.8
#>  [91] 0.9 0.9 0.9 0.9 0.9 0.9 0.9 0.9 0.9 0.9

你有很多方法可以做到这一点,例如

x + runif(length(x)) * (1 - x)

尝试
runif(长度(x),x,1)
runif(length(x),x,1)