如何从'with`“回归环境”

时间:2017-12-22 20:26:11

标签: r

我正在使用R来清理数据。我有一个包含1,000列的数据集,所有这些都有一些修改。我发现import pyodbc conn_str = pyodbc.connect( Trusted_Connection='Yes', Driver='{ODBC Driver 11 for SQL Server}', Server='SERVER_NAME,PORT_NUMBER', Database='DATABASE_NAME' ) connection = pyodbc.connect(conn_str) 运算符使我的代码不可读。我喜欢使用$命令执行数据步骤,以便数据框的所有元素都是本地范围的(原谅我几乎完全忽略了计算机科学)。但是,在完成所有操作后,我想返回我在with步骤中编写的所有变量,并可能覆盖我之前提取的任何变量。我注意到with命令只查看ls()步骤中定义的变量,但是如何将它们连接到数据帧?

作为期望输出的示例:

with

2 个答案:

答案 0 :(得分:6)

像这样使用within

set.seed(123)
myDat <- data.frame('x'=rnorm(3))

within(myDat, {
  xgt0 <- x > 0
  x2 <- x^2
})

,并提供:

           x         x2  xgt0
1 -0.5604756 0.31413295 FALSE
2 -0.2301775 0.05298168 FALSE
3  1.5587083 2.42957161  TRUE

答案 1 :(得分:1)

 transform(myDat,xgt0=x > 0,x2= x^2)
           x  xgt0         x2
1 -0.5604756 FALSE 0.31413295
2 -0.2301775 FALSE 0.05298168
3  1.5587083  TRUE 2.42957161