单行创建data.frame并且列相互依赖

Ari*_*man 2 r dataframe

生成data.frames(特别是对于不可再现的SO问题)的一种非常罕见的情况是当一列依赖于另一列的(通常是随机的)值时.例如,如果想要一个data.frame来测试回归,那么产生一些噪声线性依赖会很好:

n <- 100
x <- runif(n)
dat <- data.frame( x=x, y=x+runif(n) )
plot(y~x,data=dat)
Run Code Online (Sandbox Code Playgroud)

y vs x

但是,我想在一行中完成(上面将计为两行,第一行创建x,第二行使用data.frame赋值中的x),理想情况下不会在全局环境中存放任何内容.

Sve*_*ein 5

这是一个简单的解决方案within:

within(data.frame(x = runif(n)), y <- x + runif(n))
Run Code Online (Sandbox Code Playgroud)

该命令没有分配y给全球环境(或父框架).