如何将函数的代码写入字符串?

时间:2019-07-24 15:16:14

标签: r

假设我有

test <- function(x) x + 1
test
function(x)
  x + 1

我想以某种方式保存通过调用test到字符串(即函数声明)而产生的输出,但是想不出一种方法。

3 个答案:

答案 0 :(得分:6)

您正在寻找capture.output

> z=paste(capture.output(test), collapse = " ")
> z
[1] "function(x) x + 1"

答案 1 :(得分:6)

我们可以使用1 2 3 9.84 round to two digits if there is decimal part 7.32 8

df = dx

print(df["Collection_End_Date"])


df['Date_Modified'] =  pd.to_datetime(df['Collection_End_Date']).dt.strftime('%m/%y')

print(df["Date_Modified"])

0       25/02/2019
1       06/01/2019
2       10/02/2019
3       17/01/2019
4       18/03/2019
           ...    
1149    27/01/2019
1150    04/03/2019
1151    10/02/2019
1152    10/03/2019
1153    24/02/2019
Name: Collection_End_Date, Length: 1154, dtype: object
0       02/19
1       06/19
2       10/19
3       01/19
4       03/19
        ...  
1149    01/19
1150    04/19
1151    10/19
1152    10/19
1153    02/19
Name: Date_Modified, Length: 1154, dtype: object

此外,如果我们需要提取函数的组件,请使用deparse

paste(deparse(test), collapse = " ")
#[1] "function (x)  x + 1"

或将其拆分为body

body(test)

答案 2 :(得分:2)

另一种可能性?

dput(test,textConnection("test_txt",open="w"))

或与dump()

相同