从R内输出新的R代码

时间:2014-09-19 01:09:05

标签: r

我正在为演示分发R代码脚本,需要编辑脚本中嵌入的原始数据。数据被输入到一系列数字向量中,这些向量被加载到数据帧中。问题是,原始数据也是我的实验数据,我宁愿不传播它。

一旦将数据加载到R中,就很容易对数据进行转换。但是,我想以一种格式输出转换后的数据,我可以轻松地将其复制/粘贴回原始源代码中以代替原始数据。我想我可以通过在forloop迭代数据框内的paste()和gsub()的组合来做到这一点,但我想知道是否有更简单的方法。 This thread让我看看dump()函数,但我还没弄明白如何让它工作。还有其他想法吗?谢谢!

如图所示,这是我的代码所在的格式:

> dat1<-c(4,6,7,8,2,4,5,9)
> dat2<-c(7,7,6,7,8,5,5,4)
> df<-data.frame(dat1,dat2)
> df
  dat1 dat2
1    4    7
2    6    7
3    7    6
4    8    7
5    2    8
6    4    5
7    5    5
8    9    4

转换数据后,我需要以我可以插入源代码的格式输出df的内容,而不是dat1<-c(4,6,7,8,2,4,5,9)

1 个答案:

答案 0 :(得分:1)

dput“写入R对象的ASCII文本表示”

> dput(df)
structure(list(dat1 = c(4, 6, 7, 8, 2, 4, 5, 9), dat2 = c(7, 
7, 6, 7, 8, 5, 5, 4)), .Names = c("dat1", "dat2"), row.names = c(NA, 
-8L), class = "data.frame")

> rm(df)
> df <- structure(list(dat1 = c(4, 6, 7, 8, 2, 4, 5, 9), dat2 = c(7, 
+ 7, 6, 7, 8, 5, 5, 4)), .Names = c("dat1", "dat2"), row.names = c(NA, 
+ -8L), class = "data.frame")
> df
  dat1 dat2
1    4    7
2    6    7
3    7    6
4    8    7
5    2    8
6    4    5
7    5    5
8    9    4